Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Stokes <mogurijin@gmail.com>2011-07-29 10:32:30 +0400
committerMitchell Stokes <mogurijin@gmail.com>2011-07-29 10:32:30 +0400
commitb46d8955509e805f06b76a6fd800ecb4edee113b (patch)
tree7ed0b1a3b5d04ab48d3e9062ff02ce54961ecb06
parent6960127d2609620d52620539388ada5cb466bab2 (diff)
parent26589497529ca3c8da85391d4976d286a371e258 (diff)
Merging r36529-38806bge_components
-rw-r--r--CMakeLists.txt773
-rw-r--r--GNUmakefile29
-rw-r--r--SConstruct29
-rw-r--r--build_files/buildbot/config/user-config-i686.py9
-rw-r--r--build_files/buildbot/config/user-config-player-i686.py6
-rw-r--r--build_files/buildbot/config/user-config-player-x86_64.py6
-rw-r--r--build_files/buildbot/config/user-config-x86_64.py9
-rw-r--r--build_files/buildbot/master.cfg34
-rw-r--r--build_files/buildbot/master_unpack.py24
-rw-r--r--build_files/buildbot/slave_compile.py12
-rw-r--r--build_files/buildbot/slave_pack.py12
-rw-r--r--build_files/cmake/FindPythonLibsUnix.cmake72
-rw-r--r--build_files/cmake/Modules/FindFftw3.cmake70
-rw-r--r--build_files/cmake/Modules/FindJack.cmake70
-rw-r--r--build_files/cmake/Modules/FindJeMalloc.cmake70
-rw-r--r--build_files/cmake/Modules/FindOpenEXR.cmake92
-rw-r--r--build_files/cmake/Modules/FindOpenJPEG.cmake70
-rw-r--r--build_files/cmake/Modules/FindPythonLibsUnix.cmake121
-rw-r--r--build_files/cmake/Modules/FindSamplerate.cmake70
-rw-r--r--build_files/cmake/Modules/FindSndFile.cmake68
-rwxr-xr-x[-rw-r--r--]build_files/cmake/cmake_consistency_check.py184
-rw-r--r--build_files/cmake/cmake_consistency_check_config.py48
-rwxr-xr-xbuild_files/cmake/cmake_netbeans_project.py240
-rwxr-xr-x[-rw-r--r--]build_files/cmake/cmake_qtcreator_project.py224
-rwxr-xr-xbuild_files/cmake/example_scripts/cmake_linux_install.sh2
-rw-r--r--build_files/cmake/macros.cmake315
-rw-r--r--build_files/cmake/packaging.cmake2
-rwxr-xr-xbuild_files/cmake/project_info.py218
-rw-r--r--build_files/package_spec/rpm/blender.spec.in2
-rw-r--r--build_files/scons/config/aix4-config.py5
-rw-r--r--build_files/scons/config/linux2-config.py10
-rw-r--r--build_files/scons/config/win32-vc-config.py16
-rw-r--r--build_files/scons/config/win64-vc-config.py16
-rw-r--r--build_files/scons/tools/Blender.py102
-rw-r--r--build_files/scons/tools/btools.py53
-rwxr-xr-xdoc/blender_file_format/BlendFileDnaExporter_25.py4
-rw-r--r--doc/blender_file_format/BlendFileReader.py4
-rw-r--r--doc/doxygen/Doxyfile2
-rw-r--r--doc/doxygen/doxygen.source4
-rw-r--r--doc/manpage/blender.121
-rw-r--r--doc/python_api/blender-org/layout.html2
-rw-r--r--doc/python_api/epy/BGL.py1807
-rw-r--r--doc/python_api/examples/aud.py21
-rw-r--r--doc/python_api/examples/bge.constraints.py37
-rw-r--r--doc/python_api/examples/bge.texture.1.py39
-rw-r--r--doc/python_api/examples/bge.texture.py32
-rw-r--r--doc/python_api/examples/blf.py44
-rw-r--r--doc/python_api/examples/bpy.props.4.py21
-rw-r--r--doc/python_api/examples/bpy.types.BlendDataLibraries.load.py16
-rw-r--r--doc/python_api/examples/bpy.types.RenderEngine.py4
-rw-r--r--doc/python_api/examples/mathutils.Vector.py13
-rw-r--r--doc/python_api/rst/bge.constraints.rst199
-rw-r--r--doc/python_api/rst/bge.events.rst2
-rw-r--r--doc/python_api/rst/bge.logic.rst8
-rw-r--r--doc/python_api/rst/bge.texture.rst549
-rw-r--r--doc/python_api/rst/bge.types.rst6
-rw-r--r--doc/python_api/rst/bgl.rst1889
-rw-r--r--doc/python_api/rst/change_log.rst213
-rw-r--r--doc/python_api/sphinx_changelog_gen.py6
-rw-r--r--doc/python_api/sphinx_doc_gen.py256
-rwxr-xr-xdoc/python_api/sphinx_doc_gen.sh7
-rw-r--r--extern/binreloc/CMakeLists.txt14
-rw-r--r--extern/bullet2/CMakeLists.txt30
-rw-r--r--extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h4
-rw-r--r--extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp2
-rw-r--r--extern/glew/CMakeLists.txt12
-rw-r--r--extern/glew/include/GL/glew.h204
-rw-r--r--extern/glew/include/GL/glxew.h39
-rw-r--r--extern/glew/include/GL/wglew.h78
-rw-r--r--extern/glew/src/glew.c1436
-rw-r--r--extern/libopenjpeg/CMakeLists.txt10
-rw-r--r--extern/libredcode/CMakeLists.txt5
-rw-r--r--extern/lzma/CMakeLists.txt6
-rw-r--r--extern/lzo/CMakeLists.txt8
-rw-r--r--intern/CMakeLists.txt10
-rw-r--r--intern/audaspace/CMakeLists.txt96
-rw-r--r--intern/audaspace/OpenAL/AUD_OpenALDevice.cpp18
-rw-r--r--intern/audaspace/OpenAL/AUD_OpenALDevice.h2
-rw-r--r--intern/audaspace/SConscript2
-rw-r--r--intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp24
-rw-r--r--intern/boolop/CMakeLists.txt12
-rw-r--r--intern/bsp/CMakeLists.txt11
-rw-r--r--intern/bsp/SConscript2
-rw-r--r--intern/container/CMakeLists.txt6
-rw-r--r--intern/container/CTR_TaggedIndex.h10
-rw-r--r--intern/decimation/CMakeLists.txt7
-rw-r--r--intern/decimation/SConscript2
-rw-r--r--intern/elbeem/CMakeLists.txt9
-rw-r--r--intern/elbeem/extern/elbeem.h8
-rw-r--r--intern/elbeem/intern/simulation_object.cpp3
-rw-r--r--intern/elbeem/intern/solver_class.h3
-rw-r--r--intern/elbeem/intern/solver_init.cpp9
-rw-r--r--intern/elbeem/intern/solver_interface.h3
-rw-r--r--intern/ffmpeg/ffmpeg_compat.h133
-rw-r--r--intern/ghost/CMakeLists.txt91
-rw-r--r--intern/ghost/GHOST_Types.h5
-rw-r--r--intern/ghost/SConscript23
-rw-r--r--intern/ghost/intern/GHOST_Debug.h4
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerCocoa.mm2
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerNULL.h51
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerSDL.cpp93
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerSDL.h73
-rw-r--r--intern/ghost/intern/GHOST_EventPrinter.cpp121
-rw-r--r--intern/ghost/intern/GHOST_EventPrinter.h2
-rw-r--r--intern/ghost/intern/GHOST_ISystem.cpp12
-rw-r--r--intern/ghost/intern/GHOST_NDOFManager.cpp6
-rw-r--r--intern/ghost/intern/GHOST_SystemCocoa.h8
-rw-r--r--intern/ghost/intern/GHOST_SystemCocoa.mm70
-rw-r--r--intern/ghost/intern/GHOST_SystemNULL.h93
-rw-r--r--intern/ghost/intern/GHOST_SystemSDL.cpp555
-rw-r--r--intern/ghost/intern/GHOST_SystemSDL.h126
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.cpp30
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.h5
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.cpp168
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.h6
-rw-r--r--intern/ghost/intern/GHOST_Window.cpp3
-rw-r--r--intern/ghost/intern/GHOST_Window.h6
-rw-r--r--intern/ghost/intern/GHOST_WindowCarbon.cpp2
-rw-r--r--intern/ghost/intern/GHOST_WindowCocoa.h25
-rw-r--r--intern/ghost/intern/GHOST_WindowCocoa.mm59
-rw-r--r--intern/ghost/intern/GHOST_WindowNULL.h96
-rw-r--r--intern/ghost/intern/GHOST_WindowSDL.cpp628
-rw-r--r--intern/ghost/intern/GHOST_WindowSDL.h167
-rw-r--r--intern/ghost/intern/GHOST_WindowWin32.cpp11
-rw-r--r--intern/ghost/intern/GHOST_WindowX11.cpp7
-rw-r--r--intern/ghost/intern/GHOST_WindowX11.h14
-rw-r--r--intern/ghost/test/CMakeLists.txt155
-rw-r--r--intern/ghost/test/gears/GHOST_C-Test.c2
-rw-r--r--intern/ghost/test/gears/GHOST_Test.cpp4
-rw-r--r--intern/ghost/test/multitest/MultiTest.c49
-rw-r--r--intern/guardedalloc/CMakeLists.txt12
-rw-r--r--intern/iksolver/CMakeLists.txt6
-rw-r--r--intern/iksolver/intern/IK_QJacobian.cpp7
-rw-r--r--intern/iksolver/intern/IK_QJacobian.h3
-rw-r--r--intern/iksolver/intern/IK_QSegment.cpp11
-rw-r--r--intern/iksolver/intern/IK_QTask.cpp12
-rw-r--r--intern/itasc/CMakeLists.txt6
-rw-r--r--intern/itasc/ConstraintSet.cpp1
-rw-r--r--intern/memutil/CMakeLists.txt6
-rw-r--r--intern/mikktspace/CMakeLists.txt6
-rw-r--r--intern/mikktspace/mikktspace.c4
-rw-r--r--intern/moto/CMakeLists.txt6
-rw-r--r--intern/opennl/CMakeLists.txt6
-rw-r--r--intern/smoke/CMakeLists.txt11
-rw-r--r--intern/smoke/intern/Makefile.FFT44
-rw-r--r--intern/smoke/intern/Makefile.cygwin46
-rw-r--r--intern/smoke/intern/Makefile.linux46
-rw-r--r--intern/smoke/intern/Makefile.mac70
-rw-r--r--intern/smoke/intern/WAVELET_NOISE.h19
-rw-r--r--intern/string/CMakeLists.txt6
-rw-r--r--release/datafiles/splash.pngbin268962 -> 201866 bytes
-rw-r--r--release/environment-mswindows36
-rw-r--r--release/scripts/modules/addon_utils.py19
-rw-r--r--release/scripts/modules/bpy/__init__.py28
-rw-r--r--release/scripts/modules/bpy/ops.py20
-rw-r--r--release/scripts/modules/bpy/path.py15
-rw-r--r--release/scripts/modules/bpy/utils.py14
-rw-r--r--release/scripts/modules/bpy_extras/__init__.py (renamed from release/scripts/modules/image_utils.py)16
-rw-r--r--release/scripts/modules/bpy_extras/image_utils.py110
-rw-r--r--release/scripts/modules/bpy_extras/io_utils.py385
-rw-r--r--release/scripts/modules/bpy_extras/mesh_utils.py510
-rw-r--r--release/scripts/modules/bpy_extras/object_utils.py (renamed from release/scripts/modules/add_object_utils.py)30
-rw-r--r--release/scripts/modules/bpy_extras/view3d_utils.py128
-rw-r--r--release/scripts/modules/bpy_types.py177
-rw-r--r--release/scripts/modules/bpyml_ui.py1
-rw-r--r--release/scripts/modules/console/complete_namespace.py7
-rw-r--r--release/scripts/modules/console/intellisense.py23
-rw-r--r--release/scripts/modules/console_python.py2
-rw-r--r--release/scripts/modules/io_utils.py224
-rw-r--r--release/scripts/modules/mesh_utils.py69
-rw-r--r--release/scripts/modules/rna_prop_ui.py18
-rw-r--r--release/scripts/startup/bl_operators/add_mesh_torus.py21
-rw-r--r--release/scripts/startup/bl_operators/image.py37
-rw-r--r--release/scripts/startup/bl_operators/mesh.py33
-rw-r--r--release/scripts/startup/bl_operators/nla.py123
-rw-r--r--release/scripts/startup/bl_operators/object.py232
-rw-r--r--release/scripts/startup/bl_operators/object_align.py218
-rw-r--r--release/scripts/startup/bl_operators/object_quick_effects.py313
-rw-r--r--release/scripts/startup/bl_operators/object_randomize_transform.py89
-rw-r--r--release/scripts/startup/bl_operators/presets.py55
-rw-r--r--release/scripts/startup/bl_operators/screen_play_rendered_anim.py96
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_follow_active.py5
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_lightmap.py13
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_smart_project.py60
-rw-r--r--release/scripts/startup/bl_operators/wm.py106
-rw-r--r--release/scripts/startup/bl_ui/__init__.py35
-rw-r--r--release/scripts/startup/bl_ui/properties_animviz.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_data_armature.py3
-rw-r--r--release/scripts/startup/bl_ui/properties_data_camera.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_data_curve.py21
-rw-r--r--release/scripts/startup/bl_ui/properties_data_empty.py9
-rw-r--r--release/scripts/startup/bl_ui/properties_data_mesh.py21
-rw-r--r--release/scripts/startup/bl_ui/properties_data_metaball.py17
-rw-r--r--release/scripts/startup/bl_ui/properties_data_modifier.py13
-rw-r--r--release/scripts/startup/bl_ui/properties_material.py6
-rw-r--r--release/scripts/startup/bl_ui/properties_object.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_object_constraint.py21
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py11
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_fluid.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py386
-rw-r--r--release/scripts/startup/bl_ui/properties_texture.py12
-rw-r--r--release/scripts/startup/bl_ui/properties_world.py6
-rw-r--r--release/scripts/startup/bl_ui/space_image.py11
-rw-r--r--release/scripts/startup/bl_ui/space_info.py6
-rw-r--r--release/scripts/startup/bl_ui/space_node.py1
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py33
-rw-r--r--release/scripts/startup/bl_ui/space_text.py61
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py121
-rw-r--r--release/scripts/startup/bl_ui/space_userpref_keymap.py24
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py119
-rw-r--r--release/scripts/startup/bl_ui/space_view3d_toolbar.py31
-rw-r--r--release/scripts/startup/keyingsets_builtins.py2
-rw-r--r--release/scripts/templates/batch_export.py33
-rw-r--r--release/scripts/templates/operator_export.py2
-rw-r--r--release/scripts/templates/operator_mesh_add.py4
-rw-r--r--release/scripts/templates/ui_menu.py49
-rw-r--r--release/scripts/templates/ui_menu_simple.py26
-rw-r--r--release/scripts/templates/ui_panel_simple.py (renamed from release/scripts/templates/panel_simple.py)7
-rw-r--r--release/text/GPL-license.txt2
-rw-r--r--release/text/readme.html10
-rw-r--r--release/windows/installer/00.sconsblender.nsi496
-rw-r--r--source/blender/CMakeLists.txt4
-rw-r--r--source/blender/SConscript1
-rw-r--r--source/blender/avi/AVI_avi.h9
-rw-r--r--source/blender/avi/CMakeLists.txt6
-rw-r--r--source/blender/avi/SConscript2
-rw-r--r--source/blender/avi/intern/avi.c12
-rw-r--r--source/blender/avi/intern/options.c2
-rw-r--r--source/blender/blenfont/CMakeLists.txt15
-rw-r--r--source/blender/blenfont/intern/blf_dir.c3
-rw-r--r--source/blender/blenfont/intern/blf_internal.h2
-rw-r--r--source/blender/blenkernel/BKE_action.h2
-rw-r--r--source/blender/blenkernel/BKE_blender.h7
-rw-r--r--source/blender/blenkernel/BKE_brush.h7
-rw-r--r--source/blender/blenkernel/BKE_colortools.h1
-rw-r--r--source/blender/blenkernel/BKE_deform.h4
-rw-r--r--source/blender/blenkernel/BKE_depsgraph.h19
-rw-r--r--source/blender/blenkernel/BKE_displist.h5
-rw-r--r--source/blender/blenkernel/BKE_effect.h1
-rw-r--r--source/blender/blenkernel/BKE_global.h1
-rw-r--r--source/blender/blenkernel/BKE_icons.h8
-rw-r--r--source/blender/blenkernel/BKE_multires.h1
-rw-r--r--source/blender/blenkernel/BKE_node.h8
-rw-r--r--source/blender/blenkernel/BKE_object.h1
-rw-r--r--source/blender/blenkernel/BKE_particle.h5
-rw-r--r--source/blender/blenkernel/BKE_screen.h3
-rw-r--r--source/blender/blenkernel/BKE_sequencer.h6
-rw-r--r--source/blender/blenkernel/BKE_sketch.h6
-rw-r--r--source/blender/blenkernel/BKE_subsurf.h2
-rw-r--r--source/blender/blenkernel/BKE_text.h12
-rw-r--r--source/blender/blenkernel/BKE_texture.h2
-rw-r--r--source/blender/blenkernel/BKE_world.h1
-rw-r--r--source/blender/blenkernel/CMakeLists.txt78
-rw-r--r--source/blender/blenkernel/SConscript8
-rw-r--r--source/blender/blenkernel/depsgraph_private.h3
-rw-r--r--source/blender/blenkernel/intern/BME_tools.c2
-rw-r--r--source/blender/blenkernel/intern/action.c7
-rw-r--r--source/blender/blenkernel/intern/anim.c32
-rw-r--r--source/blender/blenkernel/intern/anim_sys.c11
-rw-r--r--source/blender/blenkernel/intern/armature.c8
-rw-r--r--source/blender/blenkernel/intern/blender.c64
-rw-r--r--source/blender/blenkernel/intern/boids.c6
-rw-r--r--source/blender/blenkernel/intern/brush.c101
-rw-r--r--source/blender/blenkernel/intern/bvhutils.c4
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c45
-rw-r--r--source/blender/blenkernel/intern/colortools.c58
-rw-r--r--source/blender/blenkernel/intern/constraint.c33
-rw-r--r--source/blender/blenkernel/intern/curve.c43
-rw-r--r--source/blender/blenkernel/intern/customdata.c3
-rw-r--r--source/blender/blenkernel/intern/deform.c4
-rw-r--r--source/blender/blenkernel/intern/depsgraph.c23
-rw-r--r--source/blender/blenkernel/intern/displist.c528
-rw-r--r--source/blender/blenkernel/intern/effect.c23
-rw-r--r--source/blender/blenkernel/intern/fcurve.c2
-rw-r--r--source/blender/blenkernel/intern/icons.c30
-rw-r--r--source/blender/blenkernel/intern/image.c9
-rw-r--r--source/blender/blenkernel/intern/key.c23
-rw-r--r--source/blender/blenkernel/intern/lattice.c2
-rw-r--r--source/blender/blenkernel/intern/material.c11
-rw-r--r--source/blender/blenkernel/intern/multires.c82
-rw-r--r--source/blender/blenkernel/intern/node.c27
-rw-r--r--source/blender/blenkernel/intern/object.c166
-rw-r--r--source/blender/blenkernel/intern/paint.c14
-rw-r--r--source/blender/blenkernel/intern/particle.c93
-rw-r--r--source/blender/blenkernel/intern/particle_system.c135
-rw-r--r--source/blender/blenkernel/intern/pointcache.c18
-rw-r--r--source/blender/blenkernel/intern/sca.c1
-rw-r--r--source/blender/blenkernel/intern/scene.c4
-rw-r--r--source/blender/blenkernel/intern/screen.c18
-rw-r--r--source/blender/blenkernel/intern/seqeffects.c95
-rw-r--r--source/blender/blenkernel/intern/sequencer.c175
-rw-r--r--source/blender/blenkernel/intern/shrinkwrap.c2
-rw-r--r--source/blender/blenkernel/intern/sketch.c2
-rw-r--r--source/blender/blenkernel/intern/smoke.c17
-rw-r--r--source/blender/blenkernel/intern/softbody.c118
-rw-r--r--source/blender/blenkernel/intern/sound.c143
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c21
-rw-r--r--source/blender/blenkernel/intern/text.c69
-rw-r--r--source/blender/blenkernel/intern/texture.c26
-rw-r--r--source/blender/blenkernel/intern/world.c30
-rw-r--r--source/blender/blenkernel/intern/writeavi.c7
-rw-r--r--source/blender/blenkernel/intern/writeffmpeg.c143
-rw-r--r--source/blender/blenkernel/intern/writeframeserver.c2
-rw-r--r--source/blender/blenlib/BLI_callbacks.h72
-rw-r--r--source/blender/blenlib/BLI_math_base.h4
-rw-r--r--source/blender/blenlib/BLI_math_color.h1
-rw-r--r--source/blender/blenlib/BLI_math_geom.h22
-rw-r--r--source/blender/blenlib/BLI_math_matrix.h2
-rw-r--r--source/blender/blenlib/BLI_math_vector.h2
-rw-r--r--source/blender/blenlib/BLI_path_util.h7
-rw-r--r--source/blender/blenlib/BLI_scanfill.h2
-rw-r--r--source/blender/blenlib/BLI_string.h10
-rw-r--r--source/blender/blenlib/BLI_utildefines.h6
-rw-r--r--source/blender/blenlib/BLI_winstuff.h9
-rw-r--r--source/blender/blenlib/CMakeLists.txt14
-rw-r--r--source/blender/blenlib/intern/BLI_kdopbvh.c4
-rw-r--r--source/blender/blenlib/intern/bpath.c321
-rw-r--r--source/blender/blenlib/intern/callbacks.c70
-rw-r--r--source/blender/blenlib/intern/edgehash.c2
-rw-r--r--source/blender/blenlib/intern/math_base.c2
-rw-r--r--source/blender/blenlib/intern/math_base_inline.c2
-rw-r--r--source/blender/blenlib/intern/math_color.c9
-rw-r--r--source/blender/blenlib/intern/math_geom.c268
-rw-r--r--source/blender/blenlib/intern/math_matrix.c6
-rw-r--r--source/blender/blenlib/intern/math_vector_inline.c15
-rw-r--r--source/blender/blenlib/intern/path_util.c64
-rw-r--r--source/blender/blenlib/intern/pbvh.c11
-rw-r--r--source/blender/blenlib/intern/rand.c6
-rw-r--r--source/blender/blenlib/intern/rct.c2
-rw-r--r--source/blender/blenlib/intern/scanfill.c21
-rw-r--r--source/blender/blenlib/intern/storage.c2
-rw-r--r--source/blender/blenlib/intern/string.c23
-rw-r--r--source/blender/blenlib/intern/uvproject.c12
-rw-r--r--source/blender/blenloader/BLO_readfile.h30
-rw-r--r--source/blender/blenloader/BLO_runtime.h (renamed from source/blender/blenlib/intern/BLI_callbacks.h)27
-rw-r--r--source/blender/blenloader/BLO_writefile.h2
-rw-r--r--source/blender/blenloader/CMakeLists.txt10
-rw-r--r--source/blender/blenloader/SConscript2
-rw-r--r--source/blender/blenloader/intern/readblenentry.c61
-rw-r--r--source/blender/blenloader/intern/readfile.c407
-rw-r--r--source/blender/blenloader/intern/readfile.h4
-rw-r--r--source/blender/blenloader/intern/runtime.c (renamed from source/blender/readblenfile/intern/BLO_readblenfile.c)91
-rw-r--r--source/blender/blenloader/intern/writefile.c154
-rw-r--r--source/blender/blenpluginapi/CMakeLists.txt12
-rw-r--r--source/blender/blenpluginapi/iff.h3
-rw-r--r--source/blender/collada/AnimationImporter.cpp9
-rw-r--r--source/blender/collada/ArmatureExporter.cpp11
-rw-r--r--source/blender/collada/ArmatureExporter.h2
-rw-r--r--source/blender/collada/ArmatureImporter.cpp6
-rw-r--r--source/blender/collada/CMakeLists.txt36
-rw-r--r--source/blender/collada/CameraExporter.cpp9
-rw-r--r--source/blender/collada/CameraExporter.h2
-rw-r--r--source/blender/collada/DocumentExporter.cpp29
-rw-r--r--source/blender/collada/DocumentExporter.h2
-rw-r--r--source/blender/collada/DocumentImporter.cpp56
-rw-r--r--source/blender/collada/DocumentImporter.h2
-rw-r--r--source/blender/collada/EffectExporter.cpp6
-rw-r--r--source/blender/collada/EffectExporter.h2
-rw-r--r--source/blender/collada/GeometryExporter.cpp4
-rw-r--r--source/blender/collada/GeometryExporter.h7
-rw-r--r--source/blender/collada/ImageExporter.cpp4
-rw-r--r--source/blender/collada/ImageExporter.h2
-rw-r--r--source/blender/collada/LightExporter.cpp27
-rw-r--r--source/blender/collada/LightExporter.h2
-rw-r--r--source/blender/collada/MaterialExporter.cpp34
-rw-r--r--source/blender/collada/MaterialExporter.h9
-rw-r--r--source/blender/collada/MeshImporter.cpp75
-rw-r--r--source/blender/collada/MeshImporter.h2
-rw-r--r--source/blender/collada/SkinInfo.cpp6
-rw-r--r--source/blender/collada/collada.cpp4
-rw-r--r--source/blender/collada/collada.h2
-rw-r--r--source/blender/collada/collada_internal.cpp2
-rw-r--r--source/blender/editors/CMakeLists.txt73
-rw-r--r--source/blender/editors/animation/CMakeLists.txt7
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c9
-rw-r--r--source/blender/editors/animation/anim_filter.c4
-rw-r--r--source/blender/editors/animation/anim_markers.c17
-rw-r--r--source/blender/editors/animation/anim_ops.c14
-rw-r--r--source/blender/editors/animation/keyframes_draw.c4
-rw-r--r--source/blender/editors/animation/keyframing.c1
-rw-r--r--source/blender/editors/animation/keyingsets.c5
-rw-r--r--source/blender/editors/armature/CMakeLists.txt7
-rw-r--r--source/blender/editors/armature/armature_intern.h6
-rw-r--r--source/blender/editors/armature/armature_ops.c24
-rw-r--r--source/blender/editors/armature/editarmature.c206
-rw-r--r--source/blender/editors/armature/editarmature_sketch.c22
-rw-r--r--source/blender/editors/armature/poseUtils.c2
-rw-r--r--source/blender/editors/armature/poselib.c4
-rw-r--r--source/blender/editors/armature/poseobject.c2
-rw-r--r--source/blender/editors/curve/CMakeLists.txt8
-rw-r--r--source/blender/editors/curve/editcurve.c30
-rw-r--r--source/blender/editors/datafiles/CMakeLists.txt96
-rw-r--r--source/blender/editors/datafiles/preview.blend.c28554
-rw-r--r--source/blender/editors/datafiles/splash.png.c14717
-rw-r--r--source/blender/editors/datafiles/startup.blend.c23190
-rw-r--r--source/blender/editors/gpencil/CMakeLists.txt7
-rw-r--r--source/blender/editors/gpencil/drawgpencil.c2
-rw-r--r--source/blender/editors/gpencil/gpencil_edit.c80
-rw-r--r--source/blender/editors/gpencil/gpencil_paint.c63
-rw-r--r--source/blender/editors/include/ED_armature.h2
-rw-r--r--source/blender/editors/include/ED_curve.h3
-rw-r--r--source/blender/editors/include/ED_gpencil.h2
-rw-r--r--source/blender/editors/include/ED_image.h3
-rw-r--r--source/blender/editors/include/ED_keyframing.h5
-rw-r--r--source/blender/editors/include/ED_mball.h2
-rw-r--r--source/blender/editors/include/ED_mesh.h12
-rw-r--r--source/blender/editors/include/ED_node.h3
-rw-r--r--source/blender/editors/include/ED_object.h2
-rw-r--r--source/blender/editors/include/ED_particle.h9
-rw-r--r--source/blender/editors/include/ED_screen.h3
-rw-r--r--source/blender/editors/include/ED_types.h4
-rw-r--r--source/blender/editors/include/ED_util.h6
-rw-r--r--source/blender/editors/include/ED_view3d.h177
-rw-r--r--source/blender/editors/include/UI_interface.h13
-rw-r--r--source/blender/editors/include/UI_interface_icons.h4
-rw-r--r--source/blender/editors/interface/CMakeLists.txt11
-rw-r--r--source/blender/editors/interface/interface.c267
-rw-r--r--source/blender/editors/interface/interface_draw.c37
-rw-r--r--source/blender/editors/interface/interface_handlers.c148
-rw-r--r--source/blender/editors/interface/interface_icons.c90
-rw-r--r--source/blender/editors/interface/interface_intern.h24
-rw-r--r--source/blender/editors/interface/interface_layout.c29
-rw-r--r--source/blender/editors/interface/interface_ops.c2
-rw-r--r--source/blender/editors/interface/interface_panel.c15
-rw-r--r--source/blender/editors/interface/interface_regions.c156
-rw-r--r--source/blender/editors/interface/interface_style.c2
-rw-r--r--source/blender/editors/interface/interface_templates.c151
-rw-r--r--source/blender/editors/interface/interface_widgets.c117
-rw-r--r--source/blender/editors/interface/resources.c17
-rw-r--r--source/blender/editors/interface/view2d.c16
-rw-r--r--source/blender/editors/interface/view2d_ops.c70
-rw-r--r--source/blender/editors/mesh/CMakeLists.txt9
-rw-r--r--source/blender/editors/mesh/editface.c6
-rw-r--r--source/blender/editors/mesh/editmesh_loop.c12
-rw-r--r--source/blender/editors/mesh/editmesh_mods.c32
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c27
-rw-r--r--source/blender/editors/mesh/mesh_data.c5
-rw-r--r--source/blender/editors/metaball/CMakeLists.txt8
-rw-r--r--source/blender/editors/metaball/mball_edit.c2
-rw-r--r--source/blender/editors/object/CMakeLists.txt10
-rw-r--r--source/blender/editors/object/object_add.c34
-rw-r--r--source/blender/editors/object/object_bake.c1254
-rw-r--r--source/blender/editors/object/object_edit.c22
-rw-r--r--source/blender/editors/object/object_hook.c32
-rw-r--r--source/blender/editors/object/object_lattice.c8
-rw-r--r--source/blender/editors/object/object_modifier.c71
-rw-r--r--source/blender/editors/object/object_relations.c20
-rw-r--r--source/blender/editors/object/object_shapekey.c47
-rw-r--r--source/blender/editors/object/object_transform.c1
-rw-r--r--source/blender/editors/object/object_vgroup.c169
-rw-r--r--source/blender/editors/physics/CMakeLists.txt9
-rw-r--r--source/blender/editors/physics/particle_edit.c419
-rw-r--r--source/blender/editors/physics/physics_fluid.c69
-rw-r--r--source/blender/editors/physics/physics_intern.h1
-rw-r--r--source/blender/editors/physics/physics_ops.c15
-rw-r--r--source/blender/editors/physics/physics_pointcache.c11
-rw-r--r--source/blender/editors/render/CMakeLists.txt20
-rw-r--r--source/blender/editors/render/render_intern.h11
-rw-r--r--source/blender/editors/render/render_internal.c438
-rw-r--r--source/blender/editors/render/render_opengl.c30
-rw-r--r--source/blender/editors/render/render_preview.c502
-rw-r--r--source/blender/editors/render/render_shading.c177
-rw-r--r--source/blender/editors/render/render_update.c238
-rw-r--r--source/blender/editors/render/render_view.c358
-rw-r--r--source/blender/editors/screen/CMakeLists.txt7
-rw-r--r--source/blender/editors/screen/area.c283
-rw-r--r--source/blender/editors/screen/screen_edit.c29
-rw-r--r--source/blender/editors/screen/screen_ops.c71
-rw-r--r--source/blender/editors/screen/screendump.c111
-rw-r--r--source/blender/editors/sculpt_paint/CMakeLists.txt11
-rw-r--r--source/blender/editors/sculpt_paint/paint_image.c235
-rw-r--r--source/blender/editors/sculpt_paint/paint_intern.h11
-rw-r--r--source/blender/editors/sculpt_paint/paint_ops.c85
-rw-r--r--source/blender/editors/sculpt_paint/paint_stroke.c15
-rw-r--r--source/blender/editors/sculpt_paint/paint_utils.c10
-rw-r--r--source/blender/editors/sculpt_paint/paint_vertex.c515
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c109
-rw-r--r--source/blender/editors/sound/CMakeLists.txt16
-rw-r--r--source/blender/editors/sound/sound_ops.c16
-rw-r--r--source/blender/editors/space_action/CMakeLists.txt7
-rw-r--r--source/blender/editors/space_action/action_select.c26
-rw-r--r--source/blender/editors/space_action/space_action.c1
-rw-r--r--source/blender/editors/space_api/CMakeLists.txt8
-rw-r--r--source/blender/editors/space_api/spacetypes.c3
-rw-r--r--source/blender/editors/space_buttons/CMakeLists.txt7
-rw-r--r--source/blender/editors/space_buttons/buttons_context.c9
-rw-r--r--source/blender/editors/space_buttons/buttons_header.c36
-rw-r--r--source/blender/editors/space_buttons/buttons_intern.h4
-rw-r--r--source/blender/editors/space_buttons/buttons_ops.c37
-rw-r--r--source/blender/editors/space_buttons/space_buttons.c3
-rw-r--r--source/blender/editors/space_console/CMakeLists.txt5
-rw-r--r--source/blender/editors/space_console/console_draw.c2
-rw-r--r--source/blender/editors/space_console/console_ops.c2
-rw-r--r--source/blender/editors/space_file/CMakeLists.txt11
-rw-r--r--source/blender/editors/space_file/file_draw.c34
-rw-r--r--source/blender/editors/space_file/file_intern.h8
-rw-r--r--source/blender/editors/space_file/file_ops.c18
-rw-r--r--source/blender/editors/space_file/filelist.c19
-rw-r--r--source/blender/editors/space_file/filesel.c28
-rw-r--r--source/blender/editors/space_file/space_file.c2
-rw-r--r--source/blender/editors/space_graph/CMakeLists.txt15
-rw-r--r--source/blender/editors/space_graph/graph_draw.c2
-rw-r--r--source/blender/editors/space_graph/graph_edit.c16
-rw-r--r--source/blender/editors/space_graph/graph_ops.c11
-rw-r--r--source/blender/editors/space_graph/graph_select.c44
-rw-r--r--source/blender/editors/space_graph/space_graph.c15
-rw-r--r--source/blender/editors/space_image/CMakeLists.txt15
-rw-r--r--source/blender/editors/space_image/SConscript3
-rw-r--r--source/blender/editors/space_image/image_buttons.c52
-rw-r--r--source/blender/editors/space_image/image_draw.c31
-rw-r--r--source/blender/editors/space_image/image_ops.c20
-rw-r--r--source/blender/editors/space_image/image_render.c179
-rw-r--r--source/blender/editors/space_image/space_image.c28
-rw-r--r--source/blender/editors/space_info/CMakeLists.txt7
-rw-r--r--source/blender/editors/space_info/info_report.c3
-rw-r--r--source/blender/editors/space_info/info_stats.c5
-rw-r--r--source/blender/editors/space_logic/CMakeLists.txt9
-rw-r--r--source/blender/editors/space_logic/logic_buttons.c1
-rw-r--r--source/blender/editors/space_logic/logic_window.c2
-rw-r--r--source/blender/editors/space_logic/space_logic.c13
-rw-r--r--source/blender/editors/space_nla/CMakeLists.txt7
-rw-r--r--source/blender/editors/space_nla/nla_channels.c8
-rw-r--r--source/blender/editors/space_nla/nla_select.c26
-rw-r--r--source/blender/editors/space_nla/space_nla.c17
-rw-r--r--source/blender/editors/space_node/CMakeLists.txt9
-rw-r--r--source/blender/editors/space_node/drawnode.c51
-rw-r--r--source/blender/editors/space_node/node_buttons.c4
-rw-r--r--source/blender/editors/space_node/node_draw.c127
-rw-r--r--source/blender/editors/space_node/node_edit.c404
-rw-r--r--source/blender/editors/space_node/node_header.c2
-rw-r--r--source/blender/editors/space_node/node_intern.h5
-rw-r--r--source/blender/editors/space_node/node_ops.c16
-rw-r--r--source/blender/editors/space_node/node_select.c27
-rw-r--r--source/blender/editors/space_node/node_state.c14
-rw-r--r--source/blender/editors/space_node/space_node.c25
-rw-r--r--source/blender/editors/space_outliner/CMakeLists.txt7
-rw-r--r--source/blender/editors/space_outliner/outliner.c256
-rw-r--r--source/blender/editors/space_script/CMakeLists.txt14
-rw-r--r--source/blender/editors/space_script/script_header.c6
-rw-r--r--source/blender/editors/space_sequencer/CMakeLists.txt15
-rw-r--r--source/blender/editors/space_sequencer/sequencer_add.c90
-rw-r--r--source/blender/editors/space_sequencer/sequencer_draw.c23
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c59
-rw-r--r--source/blender/editors/space_sequencer/sequencer_intern.h2
-rw-r--r--source/blender/editors/space_sequencer/sequencer_select.c24
-rw-r--r--source/blender/editors/space_sequencer/space_sequencer.c13
-rw-r--r--source/blender/editors/space_sound/CMakeLists.txt7
-rw-r--r--source/blender/editors/space_sound/sound_header.c6
-rw-r--r--source/blender/editors/space_text/CMakeLists.txt14
-rw-r--r--source/blender/editors/space_text/text_draw.c2
-rw-r--r--source/blender/editors/space_text/text_header.c14
-rw-r--r--source/blender/editors/space_text/text_ops.c52
-rw-r--r--source/blender/editors/space_text/text_python.c2
-rw-r--r--source/blender/editors/space_time/CMakeLists.txt7
-rw-r--r--source/blender/editors/space_time/space_time.c12
-rw-r--r--source/blender/editors/space_userpref/CMakeLists.txt8
-rw-r--r--source/blender/editors/space_view3d/CMakeLists.txt13
-rw-r--r--source/blender/editors/space_view3d/drawanimviz.c6
-rw-r--r--source/blender/editors/space_view3d/drawarmature.c28
-rw-r--r--source/blender/editors/space_view3d/drawmesh.c2
-rw-r--r--source/blender/editors/space_view3d/drawobject.c302
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c32
-rw-r--r--source/blender/editors/space_view3d/view3d_buttons.c8
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c273
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c519
-rw-r--r--source/blender/editors/space_view3d/view3d_fly.c19
-rw-r--r--source/blender/editors/space_view3d/view3d_header.c27
-rw-r--r--source/blender/editors/space_view3d/view3d_intern.h18
-rw-r--r--source/blender/editors/space_view3d/view3d_ops.c1
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c158
-rw-r--r--source/blender/editors/space_view3d/view3d_snap.c3
-rw-r--r--source/blender/editors/space_view3d/view3d_toolbar.c17
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c304
-rw-r--r--source/blender/editors/transform/CMakeLists.txt7
-rw-r--r--source/blender/editors/transform/transform.c102
-rw-r--r--source/blender/editors/transform/transform.h77
-rw-r--r--source/blender/editors/transform/transform_constraints.c10
-rw-r--r--source/blender/editors/transform/transform_conversions.c114
-rw-r--r--source/blender/editors/transform/transform_generics.c23
-rw-r--r--source/blender/editors/transform/transform_input.c47
-rw-r--r--source/blender/editors/transform/transform_manipulator.c69
-rw-r--r--source/blender/editors/transform/transform_ops.c22
-rw-r--r--source/blender/editors/transform/transform_snap.c44
-rw-r--r--source/blender/editors/util/CMakeLists.txt8
-rw-r--r--source/blender/editors/util/ed_util.c25
-rw-r--r--source/blender/editors/util/editmode_undo.c66
-rw-r--r--source/blender/editors/util/undo.c190
-rw-r--r--source/blender/editors/util/util_intern.h9
-rw-r--r--source/blender/editors/uvedit/CMakeLists.txt7
-rw-r--r--source/blender/editors/uvedit/uvedit_draw.c2
-rw-r--r--source/blender/editors/uvedit/uvedit_ops.c166
-rw-r--r--source/blender/editors/uvedit/uvedit_parametrizer.c4
-rw-r--r--source/blender/editors/uvedit/uvedit_unwrap_ops.c98
-rw-r--r--source/blender/gpu/CMakeLists.txt13
-rw-r--r--source/blender/gpu/GPU_buffers.h141
-rw-r--r--source/blender/gpu/GPU_draw.h5
-rw-r--r--source/blender/gpu/SConscript2
-rw-r--r--source/blender/gpu/intern/gpu_buffers.c2215
-rw-r--r--source/blender/gpu/intern/gpu_draw.c57
-rw-r--r--source/blender/gpu/intern/gpu_material.c18
-rw-r--r--source/blender/ikplugin/CMakeLists.txt18
-rw-r--r--source/blender/imbuf/CMakeLists.txt35
-rw-r--r--source/blender/imbuf/IMB_imbuf.h18
-rw-r--r--source/blender/imbuf/IMB_imbuf_types.h7
-rw-r--r--source/blender/imbuf/SConscript2
-rw-r--r--source/blender/imbuf/intern/IMB_anim.h2
-rw-r--r--source/blender/imbuf/intern/allocimbuf.c9
-rw-r--r--source/blender/imbuf/intern/anim_movie.c56
-rw-r--r--source/blender/imbuf/intern/cineon/CMakeLists.txt22
-rw-r--r--source/blender/imbuf/intern/cineon/cineon_dpx.c9
-rw-r--r--source/blender/imbuf/intern/cineon/cineonfile.h13
-rw-r--r--source/blender/imbuf/intern/cineon/cineonlib.c4
-rw-r--r--source/blender/imbuf/intern/cineon/logmemfile.c2
-rw-r--r--source/blender/imbuf/intern/dds/BlockDXT.cpp79
-rw-r--r--source/blender/imbuf/intern/dds/BlockDXT.h8
-rw-r--r--source/blender/imbuf/intern/dds/CMakeLists.txt9
-rw-r--r--source/blender/imbuf/intern/dds/Color.h2
-rw-r--r--source/blender/imbuf/intern/dds/ColorBlock.cpp188
-rw-r--r--source/blender/imbuf/intern/dds/ColorBlock.h21
-rw-r--r--source/blender/imbuf/intern/dds/Common.h8
-rw-r--r--source/blender/imbuf/intern/dds/DirectDrawSurface.cpp489
-rw-r--r--source/blender/imbuf/intern/dds/DirectDrawSurface.h22
-rw-r--r--source/blender/imbuf/intern/dds/Image.cpp7
-rw-r--r--source/blender/imbuf/intern/dds/Image.h2
-rw-r--r--source/blender/imbuf/intern/dds/PixelFormat.h34
-rw-r--r--source/blender/imbuf/intern/dds/Stream.cpp2
-rw-r--r--source/blender/imbuf/intern/dds/Stream.h2
-rw-r--r--source/blender/imbuf/intern/dds/dds_api.cpp24
-rw-r--r--source/blender/imbuf/intern/dds/dds_api.h2
-rw-r--r--source/blender/imbuf/intern/divers.c149
-rw-r--r--source/blender/imbuf/intern/filter.c281
-rw-r--r--source/blender/imbuf/intern/imageprocess.c2
-rw-r--r--source/blender/imbuf/intern/md5.h2
-rw-r--r--source/blender/imbuf/intern/openexr/CMakeLists.txt13
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_api.cpp24
-rw-r--r--source/blender/imbuf/intern/png.c18
-rw-r--r--source/blender/imbuf/intern/rectop.c17
-rw-r--r--source/blender/imbuf/intern/scaling.c11
-rw-r--r--source/blender/imbuf/intern/targa.c6
-rw-r--r--source/blender/imbuf/intern/tiff.c39
-rw-r--r--source/blender/imbuf/intern/util.c31
-rw-r--r--source/blender/makesdna/DNA_ID.h10
-rw-r--r--source/blender/makesdna/DNA_actuator_types.h2
-rw-r--r--source/blender/makesdna/DNA_camera_types.h14
-rw-r--r--source/blender/makesdna/DNA_image_types.h6
-rw-r--r--source/blender/makesdna/DNA_lattice_types.h2
-rw-r--r--source/blender/makesdna/DNA_material_types.h2
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h1
-rw-r--r--source/blender/makesdna/DNA_node_types.h4
-rw-r--r--source/blender/makesdna/DNA_object_fluidsim.h20
-rw-r--r--source/blender/makesdna/DNA_object_force.h2
-rw-r--r--source/blender/makesdna/DNA_object_types.h13
-rw-r--r--source/blender/makesdna/DNA_particle_types.h5
-rw-r--r--source/blender/makesdna/DNA_scene_types.h33
-rw-r--r--source/blender/makesdna/DNA_screen_types.h1
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h48
-rw-r--r--source/blender/makesdna/DNA_space_types.h28
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h8
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h34
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h6
-rw-r--r--source/blender/makesdna/intern/CMakeLists.txt7
-rw-r--r--source/blender/makesdna/intern/makesdna.c21
-rw-r--r--source/blender/makesrna/RNA_access.h10
-rw-r--r--source/blender/makesrna/RNA_define.h6
-rw-r--r--source/blender/makesrna/RNA_enum_types.h23
-rw-r--r--source/blender/makesrna/RNA_types.h13
-rw-r--r--source/blender/makesrna/SConscript4
-rw-r--r--source/blender/makesrna/intern/CMakeLists.txt34
-rw-r--r--source/blender/makesrna/intern/SConscript5
-rw-r--r--source/blender/makesrna/intern/makesrna.c174
-rw-r--r--source/blender/makesrna/intern/rna_ID.c16
-rw-r--r--source/blender/makesrna/intern/rna_access.c202
-rw-r--r--source/blender/makesrna/intern/rna_actuator.c19
-rw-r--r--source/blender/makesrna/intern/rna_animation.c10
-rw-r--r--source/blender/makesrna/intern/rna_armature.c23
-rw-r--r--source/blender/makesrna/intern/rna_brush.c29
-rw-r--r--source/blender/makesrna/intern/rna_camera.c21
-rw-r--r--source/blender/makesrna/intern/rna_cloth.c6
-rw-r--r--source/blender/makesrna/intern/rna_color.c8
-rw-r--r--source/blender/makesrna/intern/rna_constraint.c79
-rw-r--r--source/blender/makesrna/intern/rna_controller.c15
-rw-r--r--source/blender/makesrna/intern/rna_curve.c18
-rw-r--r--source/blender/makesrna/intern/rna_define.c24
-rw-r--r--source/blender/makesrna/intern/rna_fcurve.c4
-rw-r--r--source/blender/makesrna/intern/rna_fluidsim.c45
-rw-r--r--source/blender/makesrna/intern/rna_group.c2
-rw-r--r--source/blender/makesrna/intern/rna_image.c55
-rw-r--r--source/blender/makesrna/intern/rna_internal.h6
-rw-r--r--source/blender/makesrna/intern/rna_internal_types.h10
-rw-r--r--source/blender/makesrna/intern/rna_key.c2
-rw-r--r--source/blender/makesrna/intern/rna_lamp.c8
-rw-r--r--source/blender/makesrna/intern/rna_lattice.c2
-rw-r--r--source/blender/makesrna/intern/rna_main.c5
-rw-r--r--source/blender/makesrna/intern/rna_main_api.c42
-rw-r--r--source/blender/makesrna/intern/rna_material.c75
-rw-r--r--source/blender/makesrna/intern/rna_mesh.c50
-rw-r--r--source/blender/makesrna/intern/rna_mesh_api.c2
-rw-r--r--source/blender/makesrna/intern/rna_modifier.c155
-rw-r--r--source/blender/makesrna/intern/rna_nla.c4
-rw-r--r--source/blender/makesrna/intern/rna_nodetree.c15
-rw-r--r--source/blender/makesrna/intern/rna_object.c125
-rw-r--r--source/blender/makesrna/intern/rna_object_api.c60
-rw-r--r--source/blender/makesrna/intern/rna_object_force.c49
-rw-r--r--source/blender/makesrna/intern/rna_particle.c55
-rw-r--r--source/blender/makesrna/intern/rna_pose.c28
-rw-r--r--source/blender/makesrna/intern/rna_property.c10
-rw-r--r--source/blender/makesrna/intern/rna_render.c20
-rw-r--r--source/blender/makesrna/intern/rna_rna.c20
-rw-r--r--source/blender/makesrna/intern/rna_scene.c191
-rw-r--r--source/blender/makesrna/intern/rna_scene_api.c5
-rw-r--r--source/blender/makesrna/intern/rna_screen.c59
-rw-r--r--source/blender/makesrna/intern/rna_sculpt_paint.c12
-rw-r--r--source/blender/makesrna/intern/rna_sensor.c2
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c85
-rw-r--r--source/blender/makesrna/intern/rna_sequencer_api.c6
-rw-r--r--source/blender/makesrna/intern/rna_smoke.c4
-rw-r--r--source/blender/makesrna/intern/rna_space.c148
-rw-r--r--source/blender/makesrna/intern/rna_texture.c96
-rw-r--r--source/blender/makesrna/intern/rna_ui.c46
-rw-r--r--source/blender/makesrna/intern/rna_ui_api.c2
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c71
-rw-r--r--source/blender/makesrna/intern/rna_wm.c61
-rw-r--r--source/blender/makesrna/intern/rna_wm_api.c2
-rw-r--r--source/blender/makesrna/intern/rna_world.c18
-rw-r--r--source/blender/modifiers/CMakeLists.txt22
-rw-r--r--source/blender/modifiers/intern/MOD_armature.c16
-rw-r--r--source/blender/modifiers/intern/MOD_boolean.c49
-rw-r--r--source/blender/modifiers/intern/MOD_cast.c10
-rw-r--r--source/blender/modifiers/intern/MOD_cloth.c15
-rw-r--r--source/blender/modifiers/intern/MOD_displace.c28
-rw-r--r--source/blender/modifiers/intern/MOD_explode.c26
-rw-r--r--source/blender/modifiers/intern/MOD_fluidsim_util.c49
-rw-r--r--source/blender/modifiers/intern/MOD_hook.c22
-rw-r--r--source/blender/modifiers/intern/MOD_mask.c92
-rw-r--r--source/blender/modifiers/intern/MOD_meshdeform.c7
-rw-r--r--source/blender/modifiers/intern/MOD_none.c2
-rw-r--r--source/blender/modifiers/intern/MOD_simpledeform.c16
-rw-r--r--source/blender/modifiers/intern/MOD_smoke.c5
-rw-r--r--source/blender/modifiers/intern/MOD_smooth.c5
-rw-r--r--source/blender/modifiers/intern/MOD_solidify.c8
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c6
-rw-r--r--source/blender/modifiers/intern/MOD_util.c16
-rw-r--r--source/blender/modifiers/intern/MOD_util.h10
-rw-r--r--source/blender/modifiers/intern/MOD_uvproject.c10
-rw-r--r--source/blender/modifiers/intern/MOD_warp.c18
-rw-r--r--source/blender/modifiers/intern/MOD_wave.c8
-rw-r--r--source/blender/nodes/CMakeLists.txt13
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_blur.c2
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c1
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c16
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_glare.c1
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_image.c7
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_math.c7
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_rgb.c2
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_rotate.c1
-rw-r--r--source/blender/nodes/intern/CMP_util.c8
-rw-r--r--source/blender/nodes/intern/SHD_nodes/SHD_material.c82
-rw-r--r--source/blender/nodes/intern/SHD_util.c9
-rw-r--r--source/blender/nodes/intern/SHD_util.h1
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_texture.c18
-rw-r--r--source/blender/python/BPY_extern.h16
-rw-r--r--source/blender/python/CMakeLists.txt1
-rw-r--r--source/blender/python/SConscript11
-rw-r--r--source/blender/python/generic/CMakeLists.txt23
-rw-r--r--source/blender/python/generic/IDProp.c335
-rw-r--r--source/blender/python/generic/IDProp.h5
-rw-r--r--source/blender/python/generic/bgl.c522
-rw-r--r--source/blender/python/generic/bgl.h2
-rw-r--r--source/blender/python/generic/blf_py_api.c83
-rw-r--r--source/blender/python/generic/bpy_internal_import.c10
-rw-r--r--source/blender/python/generic/bpy_internal_import.h2
-rw-r--r--source/blender/python/generic/noise_py_api.c110
-rw-r--r--source/blender/python/generic/py_capi_utils.c70
-rw-r--r--source/blender/python/generic/py_capi_utils.h4
-rw-r--r--source/blender/python/intern/CMakeLists.txt20
-rw-r--r--source/blender/python/intern/bpy.c38
-rw-r--r--source/blender/python/intern/bpy.h2
-rw-r--r--source/blender/python/intern/bpy_app.c6
-rw-r--r--source/blender/python/intern/bpy_app.h2
-rw-r--r--source/blender/python/intern/bpy_app_handlers.c170
-rw-r--r--source/blender/python/intern/bpy_app_handlers.h (renamed from source/blender/readblenfile/test/test.c)34
-rw-r--r--source/blender/python/intern/bpy_driver.c15
-rw-r--r--source/blender/python/intern/bpy_interface.c38
-rw-r--r--source/blender/python/intern/bpy_intern_string.c57
-rw-r--r--source/blender/python/intern/bpy_intern_string.h37
-rw-r--r--source/blender/python/intern/bpy_library.c81
-rw-r--r--source/blender/python/intern/bpy_operator.c1
-rw-r--r--source/blender/python/intern/bpy_operator_wrap.c1
-rw-r--r--source/blender/python/intern/bpy_props.c593
-rw-r--r--source/blender/python/intern/bpy_props.h2
-rw-r--r--source/blender/python/intern/bpy_rna.c250
-rw-r--r--source/blender/python/intern/bpy_rna.h23
-rw-r--r--source/blender/python/intern/bpy_rna_anim.c7
-rw-r--r--source/blender/python/intern/bpy_rna_array.c159
-rw-r--r--source/blender/python/intern/bpy_util.c60
-rw-r--r--source/blender/python/mathutils/CMakeLists.txt (renamed from source/blender/readblenfile/CMakeLists.txt)40
-rw-r--r--source/blender/python/mathutils/mathutils.c (renamed from source/blender/python/generic/mathutils.c)73
-rw-r--r--source/blender/python/mathutils/mathutils.h (renamed from source/blender/python/generic/mathutils.h)4
-rw-r--r--source/blender/python/mathutils/mathutils_Color.c (renamed from source/blender/python/generic/mathutils_Color.c)354
-rw-r--r--source/blender/python/mathutils/mathutils_Color.h (renamed from source/blender/python/generic/mathutils_Color.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Euler.c (renamed from source/blender/python/generic/mathutils_Euler.c)98
-rw-r--r--source/blender/python/mathutils/mathutils_Euler.h (renamed from source/blender/python/generic/mathutils_Euler.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Matrix.c (renamed from source/blender/python/generic/mathutils_Matrix.c)466
-rw-r--r--source/blender/python/mathutils/mathutils_Matrix.h (renamed from source/blender/python/generic/mathutils_Matrix.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Quaternion.c (renamed from source/blender/python/generic/mathutils_Quaternion.c)165
-rw-r--r--source/blender/python/mathutils/mathutils_Quaternion.h (renamed from source/blender/python/generic/mathutils_Quaternion.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Vector.c (renamed from source/blender/python/generic/mathutils_Vector.c)441
-rw-r--r--source/blender/python/mathutils/mathutils_Vector.h (renamed from source/blender/python/generic/mathutils_Vector.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_geometry.c (renamed from source/blender/python/generic/mathutils_geometry.c)858
-rw-r--r--source/blender/python/mathutils/mathutils_geometry.h (renamed from source/blender/python/generic/mathutils_geometry.h)2
-rw-r--r--source/blender/quicktime/CMakeLists.txt47
-rw-r--r--source/blender/quicktime/apple/qtkit_export.m4
-rw-r--r--source/blender/readblenfile/BLO_readblenfile.h87
-rw-r--r--source/blender/readblenfile/SConscript8
-rw-r--r--source/blender/readblenfile/stub/BLO_readblenfileSTUB.c97
-rw-r--r--source/blender/render/CMakeLists.txt29
-rw-r--r--source/blender/render/SConscript2
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h35
-rw-r--r--source/blender/render/extern/include/RE_shader_ext.h5
-rw-r--r--source/blender/render/intern/include/rayobject.h2
-rw-r--r--source/blender/render/intern/include/render_types.h8
-rw-r--r--source/blender/render/intern/include/shading.h2
-rw-r--r--source/blender/render/intern/source/convertblender.c105
-rw-r--r--source/blender/render/intern/source/envmap.c1
-rw-r--r--source/blender/render/intern/source/imagetexture.c37
-rw-r--r--source/blender/render/intern/source/pipeline.c245
-rw-r--r--source/blender/render/intern/source/pixelshading.c25
-rw-r--r--source/blender/render/intern/source/pointdensity.c16
-rw-r--r--source/blender/render/intern/source/rayshade.c8
-rw-r--r--source/blender/render/intern/source/render_texture.c16
-rw-r--r--source/blender/render/intern/source/rendercore.c224
-rw-r--r--source/blender/render/intern/source/renderdatabase.c6
-rw-r--r--source/blender/render/intern/source/shadeinput.c26
-rw-r--r--source/blender/render/intern/source/shadeoutput.c4
-rw-r--r--source/blender/render/intern/source/strand.c10
-rw-r--r--source/blender/render/intern/source/sunsky.c6
-rw-r--r--source/blender/render/intern/source/volume_precache.c14
-rw-r--r--source/blender/render/intern/source/volumetric.c15
-rw-r--r--source/blender/render/intern/source/voxeldata.c9
-rw-r--r--source/blender/render/intern/source/zbuf.c23
-rw-r--r--source/blender/windowmanager/CMakeLists.txt47
-rw-r--r--source/blender/windowmanager/SConscript5
-rw-r--r--source/blender/windowmanager/WM_api.h18
-rw-r--r--source/blender/windowmanager/WM_types.h14
-rw-r--r--source/blender/windowmanager/intern/wm.c11
-rw-r--r--source/blender/windowmanager/intern/wm_apple.c8
-rw-r--r--source/blender/windowmanager/intern/wm_draw.c8
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c88
-rw-r--r--source/blender/windowmanager/intern/wm_files.c126
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c26
-rw-r--r--source/blender/windowmanager/intern/wm_keymap.c16
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c855
-rw-r--r--source/blender/windowmanager/intern/wm_window.c29
-rw-r--r--source/blender/windowmanager/wm.h2
-rw-r--r--source/blenderplayer/CMakeLists.txt12
-rw-r--r--source/blenderplayer/bad_level_call_stubs/CMakeLists.txt22
-rw-r--r--source/blenderplayer/bad_level_call_stubs/stubs.c8
-rw-r--r--source/creator/CMakeLists.txt260
-rw-r--r--source/creator/SConscript47
-rw-r--r--source/creator/creator.c55
-rw-r--r--source/darwin/blender.app/Contents/Info.plist106
-rw-r--r--source/darwin/blenderplayer.app/Contents/Info.plist106
-rw-r--r--source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp22
-rw-r--r--source/gameengine/BlenderRoutines/CMakeLists.txt62
-rw-r--r--source/gameengine/Converter/BL_ActionActuator.cpp2
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp22
-rw-r--r--source/gameengine/Converter/CMakeLists.txt69
-rw-r--r--source/gameengine/Converter/KX_BlenderSceneConverter.cpp4
-rw-r--r--source/gameengine/Converter/KX_ConvertActuators.cpp12
-rw-r--r--source/gameengine/Expressions/CMakeLists.txt12
-rw-r--r--source/gameengine/Expressions/PyObjectPlus.cpp43
-rw-r--r--source/gameengine/Expressions/PyObjectPlus.h3
-rw-r--r--source/gameengine/GameLogic/CMakeLists.txt30
-rw-r--r--source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp4
-rw-r--r--source/gameengine/GameLogic/SCA_2DFilterActuator.cpp6
-rw-r--r--source/gameengine/GameLogic/SCA_2DFilterActuator.h1
-rw-r--r--source/gameengine/GameLogic/SCA_PythonController.cpp9
-rw-r--r--source/gameengine/GamePlayer/common/CMakeLists.txt51
-rw-r--r--source/gameengine/GamePlayer/ghost/CMakeLists.txt54
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_Application.cpp1
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_ghost.cpp34
-rw-r--r--source/gameengine/GamePlayer/ghost/SConscript3
-rw-r--r--source/gameengine/Ketsji/BL_Material.h2
-rw-r--r--source/gameengine/Ketsji/BL_Texture.cpp6
-rw-r--r--source/gameengine/Ketsji/CMakeLists.txt79
-rw-r--r--source/gameengine/Ketsji/KXNetwork/CMakeLists.txt18
-rw-r--r--source/gameengine/Ketsji/KX_Camera.cpp8
-rw-r--r--source/gameengine/Ketsji/KX_CameraActuator.cpp9
-rw-r--r--source/gameengine/Ketsji/KX_CameraActuator.h6
-rw-r--r--source/gameengine/Ketsji/KX_GameObject.cpp2
-rw-r--r--source/gameengine/Ketsji/KX_KetsjiEngine.cpp6
-rw-r--r--source/gameengine/Ketsji/KX_PyConstraintBinding.cpp43
-rw-r--r--source/gameengine/Ketsji/KX_PyMath.h2
-rw-r--r--source/gameengine/Ketsji/KX_PythonInit.cpp10
-rw-r--r--source/gameengine/Ketsji/KX_SoundActuator.cpp6
-rw-r--r--source/gameengine/Ketsji/KX_SoundActuator.h5
-rw-r--r--source/gameengine/Ketsji/SConscript3
-rw-r--r--source/gameengine/Network/CMakeLists.txt8
-rw-r--r--source/gameengine/Network/LoopBackNetwork/CMakeLists.txt10
-rw-r--r--source/gameengine/Physics/Bullet/CMakeLists.txt25
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsController.cpp1
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsController.h58
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp4
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h2
-rw-r--r--source/gameengine/Physics/Dummy/CMakeLists.txt6
-rw-r--r--source/gameengine/Physics/common/CMakeLists.txt6
-rw-r--r--source/gameengine/Rasterizer/CMakeLists.txt17
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt25
-rw-r--r--source/gameengine/SceneGraph/CMakeLists.txt6
-rw-r--r--source/gameengine/VideoTexture/CMakeLists.txt104
-rw-r--r--source/gameengine/VideoTexture/SConscript1
-rw-r--r--source/gameengine/VideoTexture/VideoFFmpeg.cpp16
-rw-r--r--source/gameengine/VideoTexture/VideoFFmpeg.h8
-rw-r--r--source/icons/blender.exe.manifest20
-rw-r--r--source/tests/CMakeLists.txt36
-rw-r--r--source/tests/bl_load_py_modules.py11
-rw-r--r--source/tests/check_deprecated.py149
917 files changed, 63992 insertions, 55256 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a3baf582b9f..d4489a8c76b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,39 +49,32 @@ endif()
cmake_minimum_required(VERSION 2.8)
+if(NOT EXECUTABLE_OUTPUT_PATH)
+ set(FIRST_RUN "TRUE")
+endif()
+
# this starts out unset
-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/Modules/")
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/Modules")
+
+# avoid having empty buildtype
+set(CMAKE_BUILD_TYPE_INIT "Release")
# quiet output for Makefiles, 'make -s' helps too
# set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
-# ignore system set flag, use our own
-# must be before project(...)
-# if the user wants to add their own its ok after first run.
-if(DEFINED CMAKE_C_STANDARD_LIBRARIES)
- set(_reset_standard_libraries OFF)
-else()
- set(_reset_standard_libraries ON)
-endif()
+#-----------------------------------------------------------------------------
+# Load some macros.
+include(build_files/cmake/macros.cmake)
-project(Blender)
+#-----------------------------------------------------------------------------
+# Initialize project.
+blender_project_hack_pre()
-if (_reset_standard_libraries)
- # Must come after project(...)
- #
- # MINGW workaround for -ladvapi32 being included which surprisingly causes
- # string formatting of floats, eg: printf("%.*f", 3, value). to crash blender
- # with a meaningless stack trace. by overriding this flag we ensure we only
- # have libs we define and that cmake & scons builds match.
- set(CMAKE_C_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
- set(CMAKE_CXX_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
- mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES)
- mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES)
-endif()
-unset(_reset_standard_libraries)
+project(Blender)
+blender_project_hack_post()
enable_testing()
@@ -92,21 +85,20 @@ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE )
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE )
#-----------------------------------------------------------------------------
-# Load some macros.
-include(build_files/cmake/macros.cmake)
-
-#-----------------------------------------------------------------------------
# Set default config options
get_blender_version()
# Blender internal features
+option(WITH_BLENDER "Build blender (disable to build only the blender player)" ON)
+mark_as_advanced(WITH_BLENDER)
+
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default (recommend to leave off)" OFF)
mark_as_advanced(WITH_PYTHON) # dont want people disabling this unless they really know what they are doing.
-mark_as_advanced(WITH_PYTHON_SECURITY) # some distrobutions see this as a security issue, rather then have them patch it, make a build option.
+mark_as_advanced(WITH_PYTHON_SECURITY) # some distrobutions see this as a security issue, rather than have them patch it, make a build option.
option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some effeciency, only enable for development)." OFF)
option(WITH_PYTHON_MODULE "Enable building as a python module (experemental, only enable for development)" OFF)
@@ -116,6 +108,22 @@ option(WITH_FFTW3 "Enable FFTW3 support (Used for smoke and audio effect
option(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
option(WITH_GAMEENGINE "Enable Game Engine" ON)
option(WITH_PLAYER "Build Player" OFF)
+
+# GHOST Windowing Library Options
+option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF)
+mark_as_advanced(WITH_GHOST_DEBUG)
+
+option(WITH_GHOST_SDL "Enable building blender against SDL for windowing rather then the native APIs" OFF)
+mark_as_advanced(WITH_GHOST_SDL)
+
+# Misc...
+option(WITH_HEADLESS "Build without graphical support (renderfarm, server mode only)" OFF)
+mark_as_advanced(WITH_HEADLESS)
+
+option(WITH_AUDASPACE "Build with blenders audio library (only disable if you know what you're doing!)" ON)
+mark_as_advanced(WITH_AUDASPACE)
+
+
# (unix defaults to OpenMP On)
if(UNIX AND NOT APPLE)
option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON)
@@ -133,6 +141,7 @@ endif()
# Modifiers
option(WITH_MOD_FLUID "Enable Elbeem Modifier (Fluid Simulation)" ON)
+option(WITH_MOD_SMOKE "Enable Smoke Modifier (Smoke Simulation)" ON)
option(WITH_MOD_DECIMATE "Enable Decimate Modifier" ON)
option(WITH_MOD_BOOLEAN "Enable Boolean Modifier" ON)
option(WITH_MOD_CLOTH_ELTOPO "Enable Experemental cloth solver" OFF)
@@ -146,9 +155,10 @@ option(WITH_IMAGE_DDS "Enable DDS Image Support" ON)
option(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON)
option(WITH_IMAGE_HDR "Enable HDR Image Support" ON)
option(WITH_IMAGE_REDCODE "Enable RedCode Image Support" OFF)
+option(WITH_IMAGE_FRAMESERVER "Enable image FrameServer Support for rendering" ON)
# Audio/Video format support
-option(WITH_CODEC_FFMPEG "Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu)" OFF)
+option(WITH_CODEC_FFMPEG "Enable FFMPeg Support (http://ffmpeg.org)" OFF)
option(WITH_CODEC_SNDFILE "Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)" OFF)
if(APPLE OR (WIN32 AND NOT UNIX))
option(WITH_CODEC_QUICKTIME "Enable Quicktime Support" OFF)
@@ -175,6 +185,10 @@ if(UNIX AND NOT APPLE)
endif()
option(WITH_PYTHON_INSTALL "Copy system python into the blender install folder" ON)
+# disable for now, but plan to support on all platforms eventually
+option(WITH_MEM_JEMALLOC "Enable malloc replacement (http://www.canonware.com/jemalloc)" OFF)
+mark_as_advanced(WITH_MEM_JEMALLOC)
+
# Debug
option(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking (only enable for development)" OFF)
mark_as_advanced(WITH_CXX_GUARDEDALLOC)
@@ -198,15 +212,23 @@ if(APPLE)
option(WITH_LIBS10.5 "Use 10.5 libs (needed for 64bit builds)" OFF)
endif()
-# only for developers who want to make this functional
-# option(WITH_LCMS "Enable color correction with lcms" OFF)
+#-----------------------------------------------------------------------------
+# Check for conflicting/unsupported configurations
+
+if(NOT WITH_BLENDER AND NOT WITH_PLAYER)
+ message(FATAL_ERROR "At least one of WITH_BLENDER or WITH_PLAYER must be enabled, nothing to do!")
+endif()
if(NOT WITH_GAMEENGINE AND WITH_PLAYER)
message(FATAL_ERROR "WITH_PLAYER requires WITH_GAMEENGINE")
endif()
-if(NOT WITH_SAMPLERATE AND (WITH_OPENAL OR WITH_SDL OR WITH_JACK))
- message(FATAL_ERROR "WITH_OPENAL/WITH_SDL/WITH_JACK require WITH_SAMPLERATE")
+if(NOT WITH_AUDASPACE AND (WITH_OPENAL OR WITH_SDL OR WITH_JACK))
+ message(FATAL_ERROR "WITH_OPENAL/WITH_SDL/WITH_JACK/WITH_CODEC_FFMPEG require WITH_AUDASPACE")
+endif()
+
+if(NOT WITH_SDL AND WITH_GHOST_SDL)
+ message(FATAL_ERROR "WITH_GHOST_SDL requires WITH_SDL to be ON")
endif()
if(NOT WITH_IMAGE_OPENJPEG AND WITH_IMAGE_REDCODE)
@@ -222,8 +244,16 @@ if(WITH_PYTHON_MODULE AND WITH_PYTHON_INSTALL)
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF")
endif()
-# remove old vars
-unset(WITH_INSTALL CACHE)
+if(WITH_CODEC_QUICKTIME AND MINGW)
+ message(FATAL_ERROR "MINGW requires WITH_CODEC_QUICKTIME to be OFF "
+ "because it is currently unsupported, remove this "
+ "line if youre a developer who wants to add support.")
+endif()
+
+# may as well build python module without a UI
+if(WITH_PYTHON_MODULE)
+ set(WITH_HEADLESS ON)
+endif()
TEST_SSE_SUPPORT()
@@ -233,9 +263,25 @@ TEST_SSE_SUPPORT()
# linux only, not cached
set(WITH_BINRELOC OFF)
+# MAXOSX only, set to avoid uninitialized
+set(EXETYPE)
+
+# C/C++ flags
+set(PLATFORM_CFLAGS)
+
# these are added to later on.
-set(C_WARNINGS "")
-set(CXX_WARNINGS "")
+set(C_WARNINGS)
+set(CXX_WARNINGS)
+
+# libraries to link the binary with passed to target_link_libraries()
+# known as LLIBS to scons
+set(PLATFORM_LINKLIBS)
+
+# Added to linker flags in setup_liblinks
+# - CMAKE_EXE_LINKER_FLAGS
+# - CMAKE_EXE_LINKER_FLAGS_DEBUG
+set(PLATFORM_LINKFLAGS)
+set(PLATFORM_LINKFLAGS_DEBUG)
# disabled for now, not supported
@@ -245,13 +291,12 @@ set(CXX_WARNINGS "")
# On Unix:
# cmake ../blender \
# -D PYTHON_VERSION=3.2 \
-# -D PYTHON_INCLUDE_DIRS=/opt/py32/include/python3.2d \
-# -D PYTHON_LIBPATH=/opt/py32/lib \
-# -D PYTHON_LIBRARY=python3.2d
+# -D PYTHON_INCLUDE_DIR=/opt/py32/include/python3.2d \
+# -D PYTHON_LIBRARY=/opt/py32/lib/libpython3.2d.so
#
# On Macs:
# cmake ../blender \
-# -D PYTHON_INCLUDE_DIRS=/System/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2 \
+# -D PYTHON_INCLUDE_DIR=/System/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2 \
# -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config \
# -G Xcode
#
@@ -267,65 +312,48 @@ if(UNIX AND NOT APPLE)
set(CMAKE_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu;${CMAKE_LIBRARY_PATH}")
endif()
- if(WITH_OPENAL)
- find_package(OpenAL)
- if(NOT OPENAL_FOUND)
- set(WITH_OPENAL OFF)
- endif()
- endif()
+ find_package(JPEG REQUIRED)
+ find_package(PNG REQUIRED)
+ find_package(ZLIB REQUIRED)
+ find_package(Freetype REQUIRED)
- if(WITH_JACK)
- set(JACK /usr)
- set(JACK_INC ${JACK}/include/jack)
- set(JACK_LIB jack)
- set(JACK_LIBPATH ${JACK}/lib)
- endif()
+ if(WITH_PYTHON)
+ # No way to set py32. remove for now.
+ # find_package(PythonLibs)
- if(WITH_CODEC_SNDFILE)
- set(SNDFILE /usr)
- set(SNDFILE_INC ${SNDFILE}/include)
- set(SNDFILE_LIB sndfile)
- set(SNDFILE_LIBPATH ${SNDFILE}/lib)
+ # Use our own instead, since wothout py is such a rare case,
+ # require this package
+ find_package(PythonLibsUnix REQUIRED)
endif()
- if(WITH_INTERNATIONAL)
- find_library(INTL_LIBRARY
- NAMES intl
- PATHS
- /sw/lib
- )
- find_library(ICONV_LIBRARY
- NAMES iconv
- PATHS
- /sw/lib
- )
- mark_as_advanced(ICONV_LIBRARY)
- mark_as_advanced(INTL_LIBRARY)
-
- if(INTL_LIBRARY AND ICONV_LIBRARY)
- set(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
+ if(WITH_IMAGE_OPENEXR)
+ find_package(OpenEXR) # our own module
+ if(NOT OPENEXR_FOUND)
+ set(WITH_IMAGE_OPENEXR OFF)
endif()
endif()
- find_package(Freetype)
- # unset(FREETYPE_INCLUDE_DIRS CACHE) # cant use
-
-
- if(WITH_PYTHON)
- # No way to set py32. remove for now.
- # find_package(PythonLibs)
-
- # defines...
-
- # PYTHON_VERSION
- # PYTHON_INCLUDE_DIRS
- # PYTHON_LIBRARY
- # PYTHON_LIBPATH
- # PYTHON_LINKFLAGS
+ if(WITH_IMAGE_OPENJPEG)
+ find_package(OpenJPEG)
+ if(NOT OPENJPEG_FOUND)
+ set(WITH_IMAGE_OPENJPEG OFF)
+ endif()
+ endif()
- include(build_files/cmake/FindPythonLibsUnix.cmake)
+ if(WITH_IMAGE_TIFF)
+ find_package(TIFF)
+ if(NOT TIFF_FOUND)
+ set(WITH_IMAGE_TIFF OFF)
+ endif()
+ endif()
+ # Audio IO
+ if(WITH_OPENAL)
+ find_package(OpenAL)
+ if(NOT OPENAL_FOUND)
+ set(WITH_OPENAL OFF)
+ endif()
endif()
if(WITH_SDL)
@@ -340,109 +368,111 @@ if(UNIX AND NOT APPLE)
endif()
endif()
- if(WITH_IMAGE_OPENEXR)
- set(OPENEXR /usr CACHE FILEPATH "OPENEXR Directory")
- mark_as_advanced(OPENEXR)
- find_path(OPENEXR_INC
- ImfXdr.h
- PATHS
- ${OPENEXR}/include/OpenEXR
- /usr/local/include/OpenEXR
- /sw/include/OpenEXR
- /opt/local/include/OpenEXR
- /opt/csw/include/OpenEXR
- /opt/include/OpenEXR
- )
- mark_as_advanced(OPENEXR_INC)
-
- set(OPENEXR_LIB Half IlmImf Iex Imath)
-
- if(NOT OPENEXR_INC)
- set(WITH_IMAGE_OPENEXR OFF)
+ if(WITH_JACK)
+ find_package(Jack)
+ if(NOT JACK_FOUND)
+ set(WITH_JACK OFF)
endif()
endif()
- if(WITH_IMAGE_TIFF)
- find_package(TIFF)
- if(NOT TIFF_FOUND)
- set(WITH_IMAGE_TIFF OFF)
+ # Codecs
+ if(WITH_CODEC_SNDFILE)
+ find_package(SndFile)
+ if(NOT SNDFILE_FOUND)
+ set(WITH_CODEC_SNDFILE OFF)
endif()
endif()
- find_package(JPEG REQUIRED)
-
- find_package(PNG REQUIRED)
-
- find_package(ZLIB REQUIRED)
-
- if(WITH_LCMS)
- set(LCMS /usr CACHE FILEPATH "LCMS directory")
- set(LCMS_INCLUDE_DIR ${LCMS}/include)
- set(LCMS_LIBRARY lcms)
- set(LCMS_LIBPATH ${LCMS}/lib)
- endif()
-
if(WITH_CODEC_FFMPEG)
- set(FFMPEG /usr CACHE FILEPATH "FFMPEG Directory")
+ set(FFMPEG /usr CACHE PATH "FFMPEG Directory")
mark_as_advanced(FFMPEG)
- set(FFMPEG_INC ${FFMPEG}/include)
- set(FFMPEG_LIB avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
- mark_as_advanced(FFMPEG_LIB)
+ set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
+ set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
+ mark_as_advanced(FFMPEG_LIBRARIES)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
endif()
+ if(WITH_INTERNATIONAL)
+ find_library(INTL_LIBRARY
+ NAMES intl
+ PATHS
+ /sw/lib
+ )
+
+ find_library(ICONV_LIBRARY
+ NAMES iconv
+ PATHS
+ /sw/lib
+ )
+ mark_as_advanced(ICONV_LIBRARY)
+ mark_as_advanced(INTL_LIBRARY)
+
+ if(INTL_LIBRARY AND ICONV_LIBRARY)
+ set(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
+ endif()
+ endif()
+
if(WITH_FFTW3)
- set(FFTW3 /usr)
- set(FFTW3_INC ${FFTW3}/include)
- set(FFTW3_LIB fftw3)
- set(FFTW3_LIBPATH ${FFTW3}/lib)
+ find_package(Fftw3)
+ if(NOT FFTW3_FOUND)
+ set(WITH_FFTW3 OFF)
+ endif()
endif()
if(WITH_SAMPLERATE)
- set(LIBSAMPLERATE /usr)
- set(LIBSAMPLERATE_INC ${LIBSAMPLERATE}/include)
- set(LIBSAMPLERATE_LIB samplerate)
- set(LIBSAMPLERATE_LIBPATH ${LIBSAMPLERATE}/lib)
+ find_package(Samplerate)
+ if(NOT SAMPLERATE_FOUND)
+ set(WITH_SAMPLERATE OFF)
+ endif()
endif()
if(WITH_OPENCOLLADA)
- set(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
+ set(OPENCOLLADA /usr/local/opencollada CACHE PATH "OpenCollada Directory")
mark_as_advanced(OPENCOLLADA)
set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre ftoa buffer xml2)
- set(OPENCOLLADA_INC ${OPENCOLLADA})
+ set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre ftoa buffer xml2)
+ set(OPENCOLLADA_INCLUDE_DIR ${OPENCOLLADA})
- set(PCRE /usr CACHE FILEPATH "PCRE Directory")
+ set(PCRE /usr CACHE PATH "PCRE Directory")
mark_as_advanced(PCRE)
set(PCRE_LIBPATH ${PCRE}/lib)
set(PCRE_LIB pcre)
- set(EXPAT /usr CACHE FILEPATH "Expat Directory")
+ set(EXPAT /usr CACHE PATH "Expat Directory")
mark_as_advanced(EXPAT)
set(EXPAT_LIBPATH ${EXPAT}/lib)
set(EXPAT_LIB expat)
endif()
- find_package(X11 REQUIRED)
- find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH})
- mark_as_advanced(X11_XF86keysym_INCLUDE_PATH)
+ if(WITH_MEM_JEMALLOC)
+ find_package(JeMalloc)
+ if(NOT JEMALLOC_FOUND)
+ set(WITH_MEM_JEMALLOC OFF)
+ endif()
+ endif()
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
- set(LLIBS "-lutil -lc -lm -lpthread -lstdc++ ${X11_X11_LIB}")
+ set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++")
+
+ if((NOT WITH_HEADLESS) AND (NOT WITH_GHOST_SDL))
+ find_package(X11 REQUIRED)
+ find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH})
+ mark_as_advanced(X11_XF86keysym_INCLUDE_PATH)
- if(WITH_X11_XINPUT)
- list(APPEND LLIBS ${X11_Xinput_LIB})
+ list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB})
+
+ if(WITH_X11_XINPUT)
+ list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB})
+ endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
if(NOT WITH_PYTHON_MODULE)
# BSD's dont use libdl.so
- list(APPEND LLIBS -ldl)
-
+ list(APPEND PLATFORM_LINKLIBS -ldl)
# binreloc is linux only
- set(BINRELOC ${CMAKE_SOURCE_DIR}/extern/binreloc)
- set(BINRELOC_INC ${BINRELOC}/include)
+ set(BINRELOC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/binreloc/include)
set(WITH_BINRELOC ON)
endif()
endif()
@@ -495,16 +525,16 @@ elseif(WIN32)
if(WITH_INTERNATIONAL)
set(ICONV ${LIBDIR}/iconv)
- set(ICONV_INC ${ICONV}/include)
- set(ICONV_LIB iconv)
+ set(ICONV_INCLUDE_DIRS ${ICONV}/include)
+ set(ICONV_LIBRARIES iconv)
set(ICONV_LIBPATH ${ICONV}/lib)
endif()
if(WITH_SAMPLERATE)
- set(LIBSAMPLERATE ${LIBDIR}/samplerate)
- set(LIBSAMPLERATE_INC ${LIBSAMPLERATE}/include)
- set(LIBSAMPLERATE_LIB libsamplerate)
- set(LIBSAMPLERATE_LIBPATH ${LIBSAMPLERATE}/lib)
+ set(SAMPLERATE ${LIBDIR}/samplerate)
+ set(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE}/include)
+ set(SAMPLERATE_LIBRARIES libsamplerate)
+ set(SAMPLERATE_LIBPATH ${SAMPLERATE}/lib)
endif()
set(PNG "${LIBDIR}/png")
@@ -526,9 +556,9 @@ elseif(WIN32)
if(WITH_CODEC_SNDFILE)
set(SNDFILE ${LIBDIR}/sndfile)
- set(SNDFILE_INC ${SNDFILE}/include)
- set(SNDFILE_LIB libsndfile-1)
- set(SNDFILE_LIBPATH ${SNDFILE}/lib)
+ set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include)
+ set(SNDFILE_LIBRARIES libsndfile-1)
+ set(SNDFILE_LIBPATH ${SNDFILE}/lib) # TODO, deprecate
endif()
if(WITH_SDL)
@@ -540,8 +570,8 @@ elseif(WIN32)
if(WITH_CODEC_QUICKTIME)
set(QUICKTIME ${LIBDIR}/QTDevWin)
- set(QUICKTIME_INC ${QUICKTIME}/CIncludes)
- set(QUICKTIME_LIB qtmlClient)
+ set(QUICKTIME_INCLUDE_DIRS ${QUICKTIME}/CIncludes)
+ set(QUICKTIME_LIBRARIES qtmlClient)
set(QUICKTIME_LIBPATH ${QUICKTIME}/Libraries)
endif()
@@ -551,13 +581,15 @@ elseif(WIN32)
if(MSVC)
if(CMAKE_CL_64)
- set(LLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid )
+ set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid)
else()
- set(LLIBS kernel32 user32 gdi32 comdlg32 advapi32 shell32 ole32 oleaut32 uuid ws2_32 vfw32 winmm)
+ set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid)
endif()
-
- set(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4018 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE)
- set(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4018 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE)
+
+ add_definitions(/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_CONSOLE /D_LIB)
+
+ set(CMAKE_CXX_FLAGS "/nologo /J /W0 /Gd /wd4018 /wd4244 /wd4305 /wd4800 /wd4065 /wd4267 /we4013" CACHE STRING "MSVC MT C++ flags " FORCE)
+ set(CMAKE_C_FLAGS "/nologo /J /W0 /Gd /wd4018 /wd4244 /wd4305 /wd4800 /wd4065 /wd4267 /we4013 /EHsc" CACHE STRING "MSVC MT C++ flags " FORCE)
if(CMAKE_CL_64)
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
@@ -594,59 +626,67 @@ elseif(WIN32)
endif()
set(JPEG_LIBRARIES libjpeg)
- set(ZLIB ${LIBDIR}/zlib)
- set(ZLIB_INCLUDE_DIRS ${ZLIB}/include)
- set(ZLIB_LIBPATH ${ZLIB}/lib)
+ set(ZLIB_INCLUDE_DIRS ${LIBDIR}/zlib/include)
if(CMAKE_CL_64)
- set(ZLIB_LIBRARIES libz)
+ set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/libz.lib)
else()
- set(ZLIB_LIBRARIES zlib)
+ set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/zlib.lib)
endif()
- set(PTHREADS ${LIBDIR}/pthreads)
- set(PTHREADS_INC ${PTHREADS}/include)
- set(PTHREADS_LIBPATH ${PTHREADS}/lib)
- set(PTHREADS_LIB pthreadVC2)
-
+ set(PTHREADS_INCLUDE_DIRS ${LIBDIR}/pthreads/include)
+ set(PTHREADS_LIBRARIES ${LIBDIR}/pthreads/lib/pthreadVC2.lib)
+
set(FREETYPE ${LIBDIR}/freetype)
- set(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include ${FREETYPE}/include/freetype2)
- set(FREETYPE_LIBPATH ${FREETYPE}/lib)
- set(FREETYPE_LIBRARY freetype2ST)
+ set(FREETYPE_INCLUDE_DIRS
+ ${LIBDIR}/freetype/include
+ ${LIBDIR}/freetype/include/freetype2
+ )
+ set(FREETYPE_LIBRARY ${LIBDIR}/freetype/lib/freetype2ST.lib)
if(WITH_FFTW3)
set(FFTW3 ${LIBDIR}/fftw3)
- set(FFTW3_LIB libfftw)
- set(FFTW3_INC ${FFTW3}/include)
+ set(FFTW3_LIBRARIES libfftw)
+ set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
set(FFTW3_LIBPATH ${FFTW3}/lib)
endif()
if(WITH_OPENCOLLADA)
- set(OPENCOLLADA ${LIBDIR}/opencollada)
- set(OPENCOLLADA_INC ${OPENCOLLADA}/include)
- set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser xml2 buffer ftoa UTF)
- set(PCRE_LIB pcre)
- endif()
-
- if(WITH_LCMS)
- set(LCMS ${LIBDIR}/lcms)
- set(LCMS_INCLUDE_DIR ${LCMS}/include)
- set(LCMS_LIBPATH ${LCMS}/lib)
- set(LCMS_LIB lcms)
+ set(OPENCOLLADA_INCLUDE_DIR
+ ${LIBDIR}/opencollada/include
+ )
+ set(OPENCOLLADA_LIBRARIES
+ ${LIBDIR}/opencollada/lib/OpenCOLLADASaxFrameworkLoader.lib
+ ${LIBDIR}/opencollada/lib/OpenCOLLADAFramework.lib
+ ${LIBDIR}/opencollada/lib/OpenCOLLADABaseUtils.lib
+ ${LIBDIR}/opencollada/lib/OpenCOLLADAStreamWriter.lib
+ ${LIBDIR}/opencollada/lib/MathMLSolver.lib
+ ${LIBDIR}/opencollada/lib/GeneratedSaxParser.lib
+ ${LIBDIR}/opencollada/lib/xml2.lib
+ ${LIBDIR}/opencollada/lib/buffer.lib
+ ${LIBDIR}/opencollada/lib/ftoa.lib
+ ${LIBDIR}/opencollada/lib/UTF.lib
+ )
+ set(PCRE_LIB
+ ${LIBDIR}/opencollada/lib/pcre.lib
+ )
endif()
if(WITH_CODEC_FFMPEG)
- set(FFMPEG ${LIBDIR}/ffmpeg)
- set(FFMPEG_INC ${FFMPEG}/include ${FFMPEG}/include/msvc)
- set(FFMPEG_LIB avcodec-52 avformat-52 avdevice-52 avutil-50 swscale-0)
- set(FFMPEG_LIBPATH ${FFMPEG}/lib)
+ set(FFMPEG_INCLUDE_DIRS
+ ${LIBDIR}/ffmpeg/include
+ ${LIBDIR}/ffmpeg/include/msvc
+ )
+ set(FFMPEG_LIBRARIES
+ ${LIBDIR}/ffmpeg/lib/avcodec-52.lib
+ ${LIBDIR}/ffmpeg/lib/avformat-52.lib
+ ${LIBDIR}/ffmpeg/lib/avdevice-52.lib
+ ${LIBDIR}/ffmpeg/lib/avutil-50.lib
+ ${LIBDIR}/ffmpeg/lib/swscale-0.lib
+ )
endif()
if(WITH_IMAGE_OPENEXR)
- if(MSVC80)
- set(MSVC_LIB _vs2005)
- set(MSVC_INC)
- elseif(MSVC90)
+ if(MSVC90)
set(MSVC_LIB _vs2008)
set(MSVC_INC)
elseif(MSVC10)
@@ -656,53 +696,68 @@ elseif(WIN32)
set(MSVC_LIB msvc)
set(MSVC_INC)
endif()
- set(OPENEXR ${LIBDIR}/openexr)
- set(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
+ set(OPENEXR ${LIBDIR}/openexr)
set(OPENEXR_LIBPATH ${OPENEXR}/lib${MSVC_LIB})
+ set(OPENEXR_LIBRARIES
+ ${OPENEXR_LIBPATH}/Iex.lib
+ ${OPENEXR_LIBPATH}/Half.lib
+ ${OPENEXR_LIBPATH}/IlmImf.lib
+ ${OPENEXR_LIBPATH}/Imath.lib
+ ${OPENEXR_LIBPATH}/IlmThread.lib
+ )
set(OPENEXR_INCUDE ${OPENEXR}/include${MSVC_INC})
- set(OPENEXR_INC ${OPENEXR_INCUDE}/ ${OPENEXR_INCUDE}/IlmImf ${OPENEXR_INCUDE}/Iex ${OPENEXR_INCUDE}/Imath)
+ set(OPENEXR_INCLUDE_DIRS
+ ${OPENEXR_INCUDE}
+ ${OPENEXR_INCUDE}/IlmImf
+ ${OPENEXR_INCUDE}/Iex
+ ${OPENEXR_INCUDE}/Imath
+ )
+ unset(OPENEXR_INCUDE)
+ unset(OPENEXR_LIBPATH)
endif()
if(WITH_IMAGE_TIFF)
- set(TIFF ${LIBDIR}/tiff)
- set(TIFF_LIBRARY libtiff)
- set(TIFF_INCLUDE_DIR ${TIFF}/include)
- set(TIFF_LIBPATH ${TIFF}/lib)
+ set(TIFF_LIBRARY ${LIBDIR}/tiff/lib/libtiff.lib)
+ set(TIFF_INCLUDE_DIR ${LIBDIR}/tiff/include)
endif()
if(WITH_JACK)
- set(JACK ${LIBDIR}/jack)
- set(JACK_INC ${JACK}/include/jack ${JACK}/include)
- set(JACK_LIB libjack)
- set(JACK_LIBPATH ${JACK}/lib)
+ set(JACK_INCLUDE_DIRS
+ ${LIBDIR}/jack/include/jack
+ ${LIBDIR}/jack/include
+ )
+ set(JACK_LIBRARIES ${LIBDIR}/jack/lib/libjack.lib)
endif()
if(WITH_PYTHON)
- set(PYTHON ${LIBDIR}/python)
- set(PYTHON_VERSION 3.2)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY python) # not used yet
- set(PYTHON_LIBRARY python32)
- set(PYTHON_LIBPATH ${PYTHON}/lib)
+ # normally cached but not since we include them with blender
+ set(PYTHON_VERSION 3.2) # CACHE STRING)
+ set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") # CACHE PATH)
+ set(PYTHON_LIBRARY "${LIBDIR}/python/lib/python32.lib") #CACHE FILEPATH)
+
+ # uncached vars
+ set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+ set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
endif()
+ set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcmrt.lib /NODEFAULTLIB:msvcurt.lib /NODEFAULTLIB:msvcrtd.lib")
+
# MSVC only, Mingw doesnt need
if(CMAKE_CL_64)
- set(PLATFORM_LINKFLAGS "/MACHINE:X64 /NODEFAULTLIB:libc.lib /STACK:2097152 ")
+ set(PLATFORM_LINKFLAGS "/MACHINE:X64 /OPT:NOREF ${PLATFORM_LINKFLAGS}")
else()
- set(PLATFORM_LINKFLAGS "/NODEFAULTLIB:libc.lib /STACK:2097152 ")
+ set(PLATFORM_LINKFLAGS "/MACHINE:IX86 /LARGEADDRESSAWARE ${PLATFORM_LINKFLAGS}")
endif()
- set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:libcmt.lib;libc.lib ")
+ set(PLATFORM_LINKFLAGS_DEBUG "/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib")
else()
# keep GCC spesific stuff here
if(CMAKE_COMPILER_IS_GNUCC)
- set(LLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid")
+ set(PLATFORM_LINKLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid")
set(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
+ add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE)
endif()
add_definitions(-DFREE_WINDOWS)
@@ -726,9 +781,9 @@ elseif(WIN32)
set(ZLIB_LIBRARIES z)
set(PTHREADS ${LIBDIR}/pthreads)
- set(PTHREADS_INC ${PTHREADS}/include)
+ set(PTHREADS_INCLUDE_DIRS ${PTHREADS}/include)
set(PTHREADS_LIBPATH ${PTHREADS}/lib)
- set(PTHREADS_LIB pthreadGC2)
+ set(PTHREADS_LIBRARIES pthreadGC2)
set(FREETYPE ${LIBDIR}/gcc/freetype)
set(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include ${FREETYPE}/include/freetype2)
@@ -737,34 +792,31 @@ elseif(WIN32)
if(WITH_FFTW3)
set(FFTW3 ${LIBDIR}/gcc/fftw3)
- set(FFTW3_LIB fftw3)
- set(FFTW3_INC ${FFTW3}/include)
+ set(FFTW3_LIBRARIES fftw3)
+ set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
set(FFTW3_LIBPATH ${FFTW3}/lib)
endif()
if(WITH_OPENCOLLADA)
set(OPENCOLLADA ${LIBDIR}/gcc/opencollada)
- set(OPENCOLLADA_INC ${OPENCOLLADA}/include)
+ set(OPENCOLLADA_INCLUDE_DIR ${OPENCOLLADA}/include)
set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
+ set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
set(PCRE_LIB pcre)
endif()
if(WITH_CODEC_FFMPEG)
set(FFMPEG ${LIBDIR}/ffmpeg)
- set(FFMPEG_INC ${FFMPEG}/include ${FFMPEG}/include)
- set(FFMPEG_LIB avcodec-52 avformat-52 avdevice-52 avutil-50 swscale-0)
+ set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include ${FFMPEG}/include)
+ set(FFMPEG_LIBRARIES avcodec-52 avformat-52 avdevice-52 avutil-50 swscale-0)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
endif()
if(WITH_IMAGE_OPENEXR)
set(OPENEXR ${LIBDIR}/gcc/openexr)
- set(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/OpenEXR)
- set(OPENEXR_LIB Half IlmImf Imath IlmThread)
+ set(OPENEXR_INCLUDE_DIRS ${OPENEXR}/include/OpenEXR)
+ set(OPENEXR_LIBRARIES Half IlmImf Imath IlmThread Iex)
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
-
- # TODO, gives linking errors, force off
- set(WITH_IMAGE_OPENEXR OFF)
endif()
if(WITH_IMAGE_TIFF)
@@ -776,8 +828,8 @@ elseif(WIN32)
if(WITH_JACK)
set(JACK ${LIBDIR}/jack)
- set(JACK_INC ${JACK}/include/jack ${JACK}/include)
- set(JACK_LIB jack)
+ set(JACK_INCLUDE_DIRS ${JACK}/include/jack ${JACK}/include)
+ set(JACK_LIBRARIES jack)
set(JACK_LIBPATH ${JACK}/lib)
# TODO, gives linking errors, force off
@@ -785,12 +837,14 @@ elseif(WIN32)
endif()
if(WITH_PYTHON)
- set(PYTHON ${LIBDIR}/python)
- set(PYTHON_VERSION 3.2)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY python) # not used yet
- set(PYTHON_LIBRARY python32mw)
- set(PYTHON_LIBPATH ${PYTHON}/lib)
+ # normally cached but not since we include them with blender
+ set(PYTHON_VERSION 3.2) # CACHE STRING)
+ set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") # CACHE PATH)
+ set(PYTHON_LIBRARY "${LIBDIR}/python/lib/python32mw.lib") # CACHE FILEPATH)
+
+ # uncached vars
+ set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+ set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
endif()
set(PLATFORM_LINKFLAGS "--stack,2097152")
@@ -798,7 +852,7 @@ elseif(WIN32)
endif()
# used in many places so include globally, like OpenGL
- blender_include_dirs("${PTHREADS_INC}")
+ blender_include_dirs("${PTHREADS_INCLUDE_DIRS}")
elseif(APPLE)
@@ -829,39 +883,45 @@ elseif(APPLE)
if(WITH_JACK)
set(JACK /usr)
- set(JACK_INC ${JACK}/include/jack)
- set(JACK_LIB jack)
+ set(JACK_INCLUDE_DIRS ${JACK}/include/jack)
+ set(JACK_LIBRARIES jack)
set(JACK_LIBPATH ${JACK}/lib)
endif()
if(WITH_CODEC_SNDFILE)
set(SNDFILE ${LIBDIR}/sndfile)
- set(SNDFILE_INC ${SNDFILE}/include)
- set(SNDFILE_LIB sndfile FLAC ogg vorbis vorbisenc)
- set(SNDFILE_LIBPATH ${SNDFILE}/lib ${FFMPEG}/lib)
+ set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include)
+ set(SNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc)
+ set(SNDFILE_LIBPATH ${SNDFILE}/lib ${FFMPEG}/lib) # TODO, deprecate
endif()
- set(PYTHON_VERSION 3.2)
-
- if(PYTHON_VERSION MATCHES 3.2)
- # we use precompiled libraries for py 3.2 and up by default
-
- set(PYTHON ${LIBDIR}/python)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY "${PYTHON}/bin/python${PYTHON_VERSION}") # not used yet
- set(PYTHON_LIBRARY python${PYTHON_VERSION})
- set(PYTHON_LIBPATH "${PYTHON}/lib/python${PYTHON_VERSION}")
- # set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
- else()
- # otherwise, use custom system framework
-
- set(PYTHON /System/Library/Frameworks/Python.framework/Versions/)
+ if(WITH_PYTHON)
set(PYTHON_VERSION 3.2)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}${PYTHON_VERSION}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY ${PYTHON}${PYTHON_VERSION}/bin/python${PYTHON_VERSION}) # not used yet
- set(PYTHON_LIBRARY "")
- set(PYTHON_LIBPATH ${PYTHON}${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config)
- set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework System -framework Python")
+ if(PYTHON_VERSION MATCHES 3.2)
+ # we use precompiled libraries for py 3.2 and up by default
+
+ # normally cached but not since we include them with blender
+ set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}")
+ # set(PYTHON_BINARY "${LIBDIR}/python/bin/python${PYTHON_VERSION}") # not used yet
+ set(PYTHON_LIBRARY python${PYTHON_VERSION})
+ set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
+ # set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
+ else()
+ # otherwise, use custom system framework
+ # *not used but maintained incase some dev wants to*
+
+ set(PYTHON "/System/Library/Frameworks/Python.framework/Versions/" CACHE PATH)
+ set(PYTHON_INCLUDE_DIR "${PYTHON}${PYTHON_VERSION}/include/python${PYTHON_VERSION}" CACHE PATH)
+ # set(PYTHON_BINARY ${PYTHON}${PYTHON_VERSION}/bin/python${PYTHON_VERSION}) # not used yet
+ set(PYTHON_LIBRARY "" CACHE FILEPATH)
+ set(PYTHON_LIBPATH "${PYTHON}${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config" CACHE PATH)
+ set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework System -framework Python" CACHE STRING)
+ unset(PYTHON)
+ endif()
+
+ # uncached vars
+ set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+ set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
endif()
if(WITH_INTERNATIONAL)
@@ -870,11 +930,11 @@ elseif(APPLE)
set(GETTEXT_LIB intl iconv)
set(GETTEXT_LIBPATH ${GETTEXT}/lib)
endif()
-
+
if(WITH_FFTW3)
set(FFTW3 ${LIBDIR}/fftw3)
- set(FFTW3_INC ${FFTW3}/include)
- set(FFTW3_LIB fftw3)
+ set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
+ set(FFTW3_LIBRARIES fftw3)
set(FFTW3_LIBPATH ${FFTW3}/lib)
endif()
@@ -892,34 +952,27 @@ elseif(APPLE)
if(WITH_IMAGE_OPENEXR)
set(OPENEXR ${LIBDIR}/openexr)
- set(OPENEXR_INC ${OPENEXR}/include/OpenEXR ${OPENEXR}/include)
- set(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
+ set(OPENEXR_INCLUDE_DIRS ${OPENEXR}/include/OpenEXR)
+ set(OPENEXR_LIBRARIES Iex Half IlmImf Imath IlmThread)
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
endif()
- if(WITH_LCMS)
- set(LCMS ${LIBDIR}/lcms)
- set(LCMS_INCLUDE_DIR ${LCMS}/include)
- set(LCMS_LIBRARY lcms)
- set(LCMS_LIBPATH ${LCMS}/lib)
- endif()
-
if(WITH_CODEC_FFMPEG)
set(FFMPEG ${LIBDIR}/ffmpeg)
- set(FFMPEG_INC ${FFMPEG}/include)
- set(FFMPEG_LIB avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg)
+ set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
+ set(FFMPEG_LIBRARIES avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
endif()
if(WITH_SAMPLERATE)
- set(LIBSAMPLERATE ${LIBDIR}/samplerate)
- set(LIBSAMPLERATE_INC ${LIBSAMPLERATE}/include)
- set(LIBSAMPLERATE_LIB samplerate)
- set(LIBSAMPLERATE_LIBPATH ${LIBSAMPLERATE}/lib)
+ set(SAMPLERATE ${LIBDIR}/samplerate)
+ set(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE}/include)
+ set(SAMPLERATE_LIBRARIES samplerate)
+ set(SAMPLERATE_LIBPATH ${SAMPLERATE}/lib)
endif()
- set(LLIBS stdc++ SystemStubs)
+ set(PLATFORM_LINKLIBS stdc++ SystemStubs)
if(WITH_COCOA)
set(PLATFORM_CFLAGS "-pipe -funsigned-char -DGHOST_COCOA")
@@ -941,9 +994,9 @@ elseif(APPLE)
if(WITH_OPENCOLLADA)
set(OPENCOLLADA ${LIBDIR}/opencollada)
- set(OPENCOLLADA_INC ${OPENCOLLADA}/include)
+ set(OPENCOLLADA_INCLUDE_DIR ${OPENCOLLADA}/include)
set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB "OpenCOLLADASaxFrameworkLoader -lOpenCOLLADAFramework -lOpenCOLLADABaseUtils -lOpenCOLLADAStreamWriter -lMathMLSolver -lGeneratedSaxParser -lUTF -lxml2 -lbuffer -lftoa" )
+ set(OPENCOLLADA_LIBRARIES "OpenCOLLADASaxFrameworkLoader -lOpenCOLLADAFramework -lOpenCOLLADABaseUtils -lOpenCOLLADAStreamWriter -lMathMLSolver -lGeneratedSaxParser -lUTF -lxml2 -lbuffer -lftoa" )
#pcre is bundled with openCollada
#set(PCRE ${LIBDIR}/pcre)
#set(PCRE_LIBPATH ${PCRE}/lib)
@@ -995,6 +1048,12 @@ endif()
#-----------------------------------------------------------------------------
# Common.
+if(APPLE OR WIN32)
+ if(NOT EXISTS "${LIBDIR}/")
+ message(FATAL_ERROR "Apple and Windows require pre-compiled libs at: '${LIBDIR}'")
+ endif()
+endif()
+
if(WITH_RAYOPTIMIZATION)
if(CMAKE_COMPILER_IS_GNUCC)
if(SUPPORT_SSE_BUILD)
@@ -1013,13 +1072,9 @@ endif()
if(WITH_IMAGE_OPENJPEG)
if(UNIX AND NOT APPLE)
- set(OPENJPEG /usr)
- set(OPENJPEG_INC ${OPENJPEG}/include)
- set(OPENJPEG_LIB openjpeg)
- set(OPENJPEG_LIBPATH ${OPENJPEG}/lib)
+ # dealt with above
else()
- set(OPENJPEG ${CMAKE_SOURCE_DIR}/extern/libopenjpeg)
- set(OPENJPEG_INC ${OPENJPEG})
+ set(OPENJPEG_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/libopenjpeg")
endif()
endif()
@@ -1042,7 +1097,7 @@ endif()
#-----------------------------------------------------------------------------
# Configure OpenGL.
find_package(OpenGL)
-blender_include_dirs("${OPENGL_INCLUDE_DIR}")
+blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}")
# unset(OPENGL_LIBRARIES CACHE) # not compat with older cmake
# unset(OPENGL_xmesa_INCLUDE_DIR CACHE) # not compat with older cmake
@@ -1141,6 +1196,18 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
endif()
+# MSVC2010 fails to links C++ libs right
+if(MSVC10)
+ if(WITH_IMAGE_OPENEXR)
+ message(WARNING "MSVC 2010 does not support OpenEXR, disabling WITH_IMAGE_OPENEXR. To enable support use Use MSVC 2008")
+ set(WITH_IMAGE_OPENEXR OFF)
+ endif()
+ if(WITH_OPENCOLLADA)
+ message(WARNING "MSVC 2010 does not support OpenCollada, disabling WITH_OPENCOLLADA. To enable support use Use MSVC 2008")
+ set(WITH_OPENCOLLADA OFF)
+ endif()
+endif()
+
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(WITH_IK_ITASC OR WITH_MOD_FLUID)
message(WARNING "Using Clang as CXX compiler: disabling WITH_IK_ITASC and WITH_MOD_FLUID, these features will be missing.")
@@ -1149,15 +1216,29 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()
endif()
+
+# ensure python header is found since detection can fail, this could happen
+# with _any_ library but since we used a fixed python version this tends to
+# be most problematic.
+if(WITH_PYTHON)
+ if(NOT EXISTS "${PYTHON_INCLUDE_DIR}/Python.h")
+ message(FATAL_ERROR "Missing: \"${PYTHON_INCLUDE_DIR}/Python.h\",\n"
+ "Set the cache entry 'PYTHON_INCLUDE_DIR' to point "
+ "to a valid python include path. Containing "
+ "Python.h for python version \"${PYTHON_VERSION}\"")
+ endif()
+endif()
+
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PLATFORM_CFLAGS} ${C_WARNINGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PLATFORM_CFLAGS} ${CXX_WARNINGS}")
#-------------------------------------------------------------------------------
# Global Defines
-# better not define flags here but this is a debugging option thats off by default.
+# better not set includes here but this debugging option is off by default.
if(WITH_CXX_GUARDEDALLOC)
- set(CMAKE_CXX_FLAGS " -DWITH_CXX_GUARDEDALLOC -I${CMAKE_SOURCE_DIR}/intern/guardedalloc ${CMAKE_CXX_FLAGS}")
+ include_directories(${CMAKE_SOURCE_DIR}/intern/guardedalloc)
endif()
if(WITH_ASSERT_ABORT)
@@ -1177,7 +1258,9 @@ add_subdirectory(extern)
#-----------------------------------------------------------------------------
# Blender Application
-add_subdirectory(source/creator)
+if(WITH_BLENDER)
+ add_subdirectory(source/creator)
+endif()
#-----------------------------------------------------------------------------
@@ -1189,3 +1272,83 @@ endif()
#-----------------------------------------------------------------------------
# CPack for generating packages
include(build_files/cmake/packaging.cmake)
+
+
+#-----------------------------------------------------------------------------
+# Print Final Configuration
+
+if(FIRST_RUN)
+ set(_config_msg "\n* Blender Configuration *")
+ macro(info_cfg_option
+ _setting)
+ set(_msg " * ${_setting}")
+ string(LENGTH "${_msg}" _len)
+ while("28" GREATER "${_len}")
+ set(_msg "${_msg} ")
+ math(EXPR _len "${_len} + 1")
+ endwhile()
+
+ set(_config_msg "${_config_msg}\n${_msg}${${_setting}}")
+ endmacro()
+
+ macro(info_cfg_text
+ _text)
+ set(_config_msg "${_config_msg}\n\n ${_text}")
+
+
+ endmacro()
+
+ info_cfg_text("Build Options:")
+ info_cfg_option(WITH_GAMEENGINE)
+ info_cfg_option(WITH_PLAYER)
+ info_cfg_option(WITH_BULLET)
+ info_cfg_option(WITH_IK_ITASC)
+ info_cfg_option(WITH_OPENCOLLADA)
+ info_cfg_option(WITH_FFTW3)
+ info_cfg_option(WITH_INTERNATIONAL)
+
+ info_cfg_text("Compiler Options:")
+ info_cfg_option(WITH_BUILDINFO)
+ info_cfg_option(WITH_OPENMP)
+ info_cfg_option(WITH_RAYOPTIMIZATION)
+
+ info_cfg_text("System Options:")
+ info_cfg_option(WITH_INSTALL_PORTABLE)
+ info_cfg_option(WITH_X11_XINPUT)
+ info_cfg_option(WITH_BUILTIN_GLEW)
+
+ info_cfg_text("Image Formats:")
+ info_cfg_option(WITH_IMAGE_CINEON)
+ info_cfg_option(WITH_IMAGE_DDS)
+ info_cfg_option(WITH_IMAGE_HDR)
+ info_cfg_option(WITH_IMAGE_OPENEXR)
+ info_cfg_option(WITH_IMAGE_OPENJPEG)
+ info_cfg_option(WITH_IMAGE_REDCODE)
+ info_cfg_option(WITH_IMAGE_TIFF)
+
+ info_cfg_text("Audio:")
+ info_cfg_option(WITH_OPENAL)
+ info_cfg_option(WITH_SDL)
+ info_cfg_option(WITH_JACK)
+ info_cfg_option(WITH_CODEC_FFMPEG)
+ info_cfg_option(WITH_CODEC_SNDFILE)
+ info_cfg_option(WITH_SAMPLERATE)
+
+ info_cfg_text("Compression:")
+ info_cfg_option(WITH_LZMA)
+ info_cfg_option(WITH_LZO)
+
+ info_cfg_text("Python:")
+ info_cfg_option(WITH_PYTHON_INSTALL)
+ info_cfg_option(WITH_PYTHON_MODULE)
+ info_cfg_option(WITH_PYTHON_SAFETY)
+
+ info_cfg_text("Modifiers:")
+ info_cfg_option(WITH_MOD_BOOLEAN)
+ info_cfg_option(WITH_MOD_DECIMATE)
+ info_cfg_option(WITH_MOD_FLUID)
+
+ info_cfg_text("")
+
+ message("${_config_msg}")
+endif()
diff --git a/GNUmakefile b/GNUmakefile
index 008dfe77eae..b6741d7e5f0 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -64,21 +64,20 @@ endif
# Build Blender
all:
- @echo
+ @echo
@echo Configuring Blender ...
if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \
- mkdir -p $(BUILD_DIR) ; \
- cd $(BUILD_DIR) ; \
- cmake $(BLENDER_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE) ; \
+ cmake -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE) ; \
fi
- @echo
+ @echo
@echo Building Blender ...
- cd $(BUILD_DIR) ; make -s -j $(NPROCS) install
- @echo
- @echo run blender from "$(BUILD_DIR)/bin/blender"
- @echo
+ $(MAKE) -C $(BUILD_DIR) -s -j $(NPROCS) install
+ @echo
+ @echo edit build configuration with: "$(BUILD_DIR)/CMakeCache.txt" run make again to rebuild.
+ @echo blender installed, run from: "$(BUILD_DIR)/bin/blender"
+ @echo
debug: all
# pass
@@ -91,7 +90,7 @@ package_pacman:
cd build_files/package_spec/pacman ; MAKEFLAGS="-j$(NPROCS)" makepkg --asroot
package_archive:
- cd $(BUILD_DIR) ; make -s package_archive
+ make -C $(BUILD_DIR) -s package_archive
@echo archive in "$(BUILD_DIR)/release"
# forward build targets
@@ -100,15 +99,19 @@ test:
# run pep8 check check on scripts we distribute.
test_pep8:
- python source/tests/pep8.py > test_pep8.log 2>&1
+ python3 source/tests/pep8.py > test_pep8.log 2>&1
@echo "written: test_pep8.log"
# run some checks on our cmakefiles.
test_cmake:
- python build_files/cmake/cmake_consistency_check.py > test_cmake_consistency.log 2>&1
+ python3 build_files/cmake/cmake_consistency_check.py > test_cmake_consistency.log 2>&1
@echo "written: test_cmake_consistency.log"
+# run deprecation tests, see if we have anything to remove.
+test_deprecated:
+ python3 source/tests/check_deprecated.py
+
clean:
- cd $(BUILD_DIR) ; make clean
+ $(MAKE) -C $(BUILD_DIR) clean
.PHONY: all
diff --git a/SConstruct b/SConstruct
index e928970f6b8..053f414c954 100644
--- a/SConstruct
+++ b/SConstruct
@@ -306,9 +306,10 @@ if env['BF_NO_ELBEEM'] == 1:
env['CXXFLAGS'].append('-DDISABLE_ELBEEM')
env['CCFLAGS'].append('-DDISABLE_ELBEEM')
-if env['WITH_BF_SDL'] == False and env['OURPLATFORM'] in ('win32-vc', 'win32-ming', 'win64-vc'):
- env['PLATFORM_LINKFLAGS'].remove('/ENTRY:mainCRTStartup')
- env['PLATFORM_LINKFLAGS'].append('/ENTRY:main')
+# TODO, make optional
+env['CPPFLAGS'].append('-DWITH_AUDASPACE')
+env['CXXFLAGS'].append('-DWITH_AUDASPACE')
+env['CCFLAGS'].append('-DWITH_AUDASPACE')
# lastly we check for root_build_dir ( we should not do before, otherwise we might do wrong builddir
B.root_build_dir = env['BF_BUILDDIR']
@@ -360,6 +361,23 @@ if not quickie and do_clean:
print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC
Exit()
+
+# ensure python header is found since detection can fail, this could happen
+# with _any_ library but since we used a fixed python version this tends to
+# be most problematic.
+if env['WITH_BF_PYTHON']:
+ py_h = os.path.join(Dir(env.subst('${BF_PYTHON_INC}')).abspath, "Python.h")
+
+ if not os.path.exists(py_h):
+ print("\nMissing: \"" + env.subst('${BF_PYTHON_INC}') + os.sep + "Python.h\",\n"
+ " Set 'BF_PYTHON_INC' to point "
+ "to a valid python include path.\n Containing "
+ "Python.h for python version \"" + env.subst('${BF_PYTHON_VERSION}') + "\"")
+
+ Exit()
+ del py_h
+
+
if not os.path.isdir ( B.root_build_dir):
os.makedirs ( B.root_build_dir )
os.makedirs ( B.root_build_dir + 'source' )
@@ -409,17 +427,18 @@ if B.arguments.get('BF_PRIORITYLIST', '0')=='1':
B.propose_priorities()
dobj = B.buildinfo(env, "dynamic") + B.resources
+creob = B.creator(env)
thestatlibs, thelibincs = B.setup_staticlibs(env)
thesyslibs = B.setup_syslibs(env)
if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
- env.BlenderProg(B.root_build_dir, "blender", mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
+ env.BlenderProg(B.root_build_dir, "blender", creob + mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
if env['WITH_BF_PLAYER']:
playerlist = B.create_blender_liblist(env, 'player')
playerlist += B.create_blender_liblist(env, 'player2')
playerlist += B.create_blender_liblist(env, 'intern')
playerlist += B.create_blender_liblist(env, 'extern')
- env.BlenderProg(B.root_build_dir, "blenderplayer", playerlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
+ env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist + thestatlibs, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
##### Now define some targets
diff --git a/build_files/buildbot/config/user-config-i686.py b/build_files/buildbot/config/user-config-i686.py
index de8dd93982f..1ad6c5d22fe 100644
--- a/build_files/buildbot/config/user-config-i686.py
+++ b/build_files/buildbot/config/user-config-i686.py
@@ -29,7 +29,8 @@ BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH}/
'${BF_FFMPEG_LIBPATH}/libxvidcore.a ${BF_FFMPEG_LIBPATH}/libx264.a ${BF_FFMPEG_LIBPATH}/libmp3lame.a ' + \
'${BF_FFMPEG_LIBPATH}/libvpx.a ${BF_FFMPEG_LIBPATH}/libvorbis.a ${BF_FFMPEG_LIBPATH}/libogg.a ' + \
'${BF_FFMPEG_LIBPATH}/libvorbisenc.a ${BF_FFMPEG_LIBPATH}/libtheora.a ' + \
- '${BF_FFMPEG_LIBPATH}/libschroedinger-1.0.a ${BF_FFMPEG_LIBPATH}/liborc-0.4.a ${BF_FFMPEG_LIBPATH}/libdirac_encoder.a'
+ '${BF_FFMPEG_LIBPATH}/libschroedinger-1.0.a ${BF_FFMPEG_LIBPATH}/liborc-0.4.a ${BF_FFMPEG_LIBPATH}/libdirac_encoder.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libfaad.a'
# Don't depend on system's libstdc++
WITH_BF_STATICCXX = True
@@ -74,6 +75,12 @@ WITH_BF_BULLET = True
# Blender player (would be enabled in it's own config)
WITH_BF_PLAYER = False
+# Use jemalloc memory manager
+WITH_BF_JEMALLOC = True
+WITH_BF_STATICJEMALLOC = True
+BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
+BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib32'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/config/user-config-player-i686.py b/build_files/buildbot/config/user-config-player-i686.py
index 202c7df6f98..241f5a79983 100644
--- a/build_files/buildbot/config/user-config-player-i686.py
+++ b/build_files/buildbot/config/user-config-player-i686.py
@@ -59,6 +59,12 @@ WITH_BF_BULLET = True
WITH_BF_NOBLENDER = True
WITH_BF_PLAYER = True
+# Use jemalloc memory manager
+WITH_BF_JEMALLOC = True
+WITH_BF_STATICJEMALLOC = True
+BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
+BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib32'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/config/user-config-player-x86_64.py b/build_files/buildbot/config/user-config-player-x86_64.py
index 363997143e5..d51894b26cf 100644
--- a/build_files/buildbot/config/user-config-player-x86_64.py
+++ b/build_files/buildbot/config/user-config-player-x86_64.py
@@ -59,6 +59,12 @@ WITH_BF_BULLET = True
WITH_BF_NOBLENDER = True
WITH_BF_PLAYER = True
+# Use jemalloc memory manager
+WITH_BF_JEMALLOC = True
+WITH_BF_STATICJEMALLOC = True
+BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
+BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib64'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/config/user-config-x86_64.py b/build_files/buildbot/config/user-config-x86_64.py
index 7bae2d232cd..3eaadd99d45 100644
--- a/build_files/buildbot/config/user-config-x86_64.py
+++ b/build_files/buildbot/config/user-config-x86_64.py
@@ -29,7 +29,8 @@ BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH}/
'${BF_FFMPEG_LIBPATH}/libxvidcore.a ${BF_FFMPEG_LIBPATH}/libx264.a ${BF_FFMPEG_LIBPATH}/libmp3lame.a ' + \
'${BF_FFMPEG_LIBPATH}/libvpx.a ${BF_FFMPEG_LIBPATH}/libvorbis.a ${BF_FFMPEG_LIBPATH}/libogg.a ' + \
'${BF_FFMPEG_LIBPATH}/libvorbisenc.a ${BF_FFMPEG_LIBPATH}/libtheora.a ' + \
- '${BF_FFMPEG_LIBPATH}/libschroedinger-1.0.a ${BF_FFMPEG_LIBPATH}/liborc-0.4.a ${BF_FFMPEG_LIBPATH}/libdirac_encoder.a'
+ '${BF_FFMPEG_LIBPATH}/libschroedinger-1.0.a ${BF_FFMPEG_LIBPATH}/liborc-0.4.a ${BF_FFMPEG_LIBPATH}/libdirac_encoder.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libfaad.a'
# Don't depend on system's libstdc++
WITH_BF_STATICCXX = True
@@ -74,6 +75,12 @@ WITH_BF_BULLET = True
# Blender player (would be enabled in it's own config)
WITH_BF_PLAYER = False
+# Use jemalloc memory manager
+WITH_BF_JEMALLOC = True
+WITH_BF_STATICJEMALLOC = True
+BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
+BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib64'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg
index 6913ed2dab0..fd712f1b832 100644
--- a/build_files/buildbot/master.cfg
+++ b/build_files/buildbot/master.cfg
@@ -53,7 +53,7 @@ c['builders'] = []
buildernames = []
-def add_builder(c, name, libdir, factory):
+def add_builder(c, name, libdir, factory, branch=''):
slavenames = []
for slave in master_private.slaves:
@@ -61,15 +61,18 @@ def add_builder(c, name, libdir, factory):
slavenames.append(slave['name'])
if len(slavenames) > 0:
- f = factory(name, libdir)
+ f = factory(name, libdir, branch)
c['builders'].append(BuilderConfig(name=name, slavenames=slavenames, factory=f, category='blender'))
buildernames.append(name)
# common steps
-def svn_step():
- return SVN(baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/blender', mode='update', defaultBranch='trunk', workdir='blender')
+def svn_step(branch=''):
+ if branch:
+ return SVN(baseURL='https://svn.blender.org/svnroot/bf-blender/branches/%%BRANCH%%', mode='update', defaultBranch=branch, workdir='blender')
+ else:
+ return SVN(baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/blender', mode='update', defaultBranch='trunk', workdir='blender')
def lib_svn_step(dir):
@@ -78,7 +81,7 @@ def lib_svn_step(dir):
# generic builder
-def generic_builder(id, libdir=""):
+def generic_builder(id, libdir='', branch=''):
filename = 'buildbot_upload_' + id + '.zip'
compile_script = '../blender/build_files/buildbot/slave_compile.py'
test_script = '../blender/build_files/buildbot/slave_test.py'
@@ -86,13 +89,13 @@ def generic_builder(id, libdir=""):
unpack_script = 'master_unpack.py'
f = BuildFactory()
- f.addStep(svn_step())
+ f.addStep(svn_step(branch))
if libdir != '':
f.addStep(lib_svn_step(libdir))
f.addStep(Compile(command=['python', compile_script, id]))
f.addStep(Test(command=['python', test_script, id]))
- f.addStep(ShellCommand(name='package', command=['python', pack_script, id], description='packaging', descriptionDone='packaged'))
+ f.addStep(ShellCommand(name='package', command=['python', pack_script, id, branch], description='packaging', descriptionDone='packaged'))
if id.find('cmake') != -1:
f.addStep(FileUpload(name='upload', slavesrc='buildbot_upload.zip', masterdest=filename, maxsize=100 * 1024 * 1024))
else:
@@ -102,12 +105,19 @@ def generic_builder(id, libdir=""):
# builders
-add_builder(c, 'mac_x86_64_cmake', 'darwin-9.x.universal', generic_builder)
-add_builder(c, 'mac_i386_cmake', 'darwin-9.x.universal', generic_builder)
-add_builder(c, 'mac_ppc_cmake', 'darwin-9.x.universal', generic_builder)
-add_builder(c, 'linux_x86_64_cmake', '', generic_builder)
+add_builder(c, 'mac_x86_64_scons', 'darwin-9.x.universal', generic_builder)
+add_builder(c, 'salad_mac_x86_64_scons', 'darwin-9.x.universal', generic_builder, 'soc-2011-salad')
+add_builder(c, 'mac_i386_scons', 'darwin-9.x.universal', generic_builder)
+add_builder(c, 'mac_ppc_scons', 'darwin-9.x.universal', generic_builder)
+#add_builder(c, 'linux_x86_64_cmake', '', generic_builder)
+add_builder(c, 'linux_i386_scons', '', generic_builder)
+add_builder(c, 'salad_linux_i386_scons', '', generic_builder, 'soc-2011-salad')
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, 'freebsd_i386_cmake', '', generic_builder)
+#add_builder(c, 'freebsd_x86_64_cmake', '', generic_builder)
# SCHEDULERS
#
@@ -149,7 +159,7 @@ authz_cfg = authz.Authz(
pingBuilder=False,
stopBuild=False,
stopAllBuilds=False,
- cancelPendingBuild=False,
+ cancelPendingBuild=True,
)
c['status'].append(html.WebStatus(http_port=8010, authz=authz_cfg))
diff --git a/build_files/buildbot/master_unpack.py b/build_files/buildbot/master_unpack.py
index 06c11b368b0..ad7c09933c6 100644
--- a/build_files/buildbot/master_unpack.py
+++ b/build_files/buildbot/master_unpack.py
@@ -43,6 +43,7 @@ def get_platform(filename):
# platform out, but there may be some variations, so we fiddle a
# bit to handle current and hopefully future names
filename = strip_extension(filename)
+ filename = strip_extension(filename)
tokens = filename.split("-")
platforms = ('osx', 'mac', 'bsd',
@@ -63,6 +64,22 @@ def get_platform(filename):
return '-'.join(platform_tokens)
+
+def get_branch(filename):
+ tokens = filename.split("-")
+ branch = ""
+
+ for token in tokens:
+ if branch == "":
+ branch = token
+ else:
+ branch = branch + "-" + token
+
+ if token == "blender":
+ return branch
+
+ return ""
+
# get filename
if len(sys.argv) < 2:
sys.stderr.write("Not enough arguments, expecting file to unpack\n")
@@ -88,8 +105,9 @@ if len(z.namelist()) != 1:
package = z.namelist()[0]
packagename = os.path.basename(package)
-# detect platform
+# detect platform and branch
platform = get_platform(packagename)
+branch = get_branch(packagename)
if platform == '':
sys.stderr.write('Failed to detect platform ' +
@@ -113,10 +131,10 @@ except Exception, ex:
sys.stderr.write('Failed to unzip package: %s\n' % str(ex))
sys.exit(1)
-# remove other files from the same platform
+# remove other files from the same platform and branch
try:
for f in os.listdir(directory):
- if platform.lower() in f.lower():
+ if get_platform(f) == platform and get_branch(f) == branch:
if f != packagename:
os.remove(os.path.join(directory, f))
except Exception, ex:
diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py
index 2a1af0578a9..e74d889c243 100644
--- a/build_files/buildbot/slave_compile.py
+++ b/build_files/buildbot/slave_compile.py
@@ -38,11 +38,11 @@ if builder.find('cmake') != -1:
# set build options
cmake_options = ['-DCMAKE_BUILD_TYPE:STRING=Release']
- if builder == 'mac_x86_64_cmake':
+ if builder.endswith('mac_x86_64_cmake'):
cmake_options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64')
- elif builder == 'mac_i386_cmake':
+ elif builder.endswith('mac_i386_cmake'):
cmake_options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=i386')
- elif builder == 'mac_ppc_cmake':
+ elif builder.endswith('mac_ppc_cmake'):
cmake_options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=ppc')
# configure and make
@@ -57,7 +57,7 @@ else:
scons_cmd = ['python', 'scons/scons.py']
scons_options = []
- if builder.startswith('linux'):
+ if builder.find('linux') != -1:
import shutil
# We're using the same rules as release builder, so tweak
@@ -75,10 +75,10 @@ else:
config_dir = os.path.join(buildbot_dir, 'config')
configs = []
- if builder == 'linux_x86_64_scons':
+ if builder.endswith('linux_x86_64_scons'):
configs = ['user-config-player-x86_64.py',
'user-config-x86_64.py']
- elif builder == 'linux_i386_scons':
+ elif builder.endswith('linux_i386_scons'):
configs = ['user-config-player-i686.py',
'user-config-i686.py']
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index 81402b3aca4..4c19b723fc8 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -33,13 +33,17 @@ if len(sys.argv) < 2:
sys.exit(1)
builder = sys.argv[1]
+branch = ''
+
+if len(sys.argv) >= 3:
+ branch = sys.argv[2]
# scons does own packaging
if builder.find('scons') != -1:
os.chdir('../blender')
- scons_options = ['BF_QUICK=slnt', 'buildslave']
+ scons_options = ['BF_QUICK=slnt', 'BUILDBOT_BRANCH=' + branch, 'buildslave']
- if builder.startswith('linux'):
+ if builder.find('linux') != -1:
buildbot_dir = os.path.dirname(os.path.realpath(__file__))
config_dir = os.path.join(buildbot_dir, 'config')
build_dir = os.path.join('..', 'build', builder)
@@ -52,9 +56,9 @@ if builder.find('scons') != -1:
config = None
- if builder == 'linux_x86_64_scons':
+ if builder.endswith('linux_x86_64_scons'):
config = 'user-config-x86_64.py'
- elif builder == 'linux_i386_scons':
+ elif builder.endswith('linux_i386_scons'):
config = 'user-config-x86_64.py'
if config is not None:
diff --git a/build_files/cmake/FindPythonLibsUnix.cmake b/build_files/cmake/FindPythonLibsUnix.cmake
deleted file mode 100644
index 0752de4ce3c..00000000000
--- a/build_files/cmake/FindPythonLibsUnix.cmake
+++ /dev/null
@@ -1,72 +0,0 @@
-# - Find python libraries
-#
-# PYTHON_VERSION
-# PYTHON_INCLUDE_DIRS
-# PYTHON_LIBRARY
-# PYTHON_LIBPATH
-# PYTHON_LINKFLAGS
-
-#=============================================================================
-
-set(PYTHON_VERSION 3.2 CACHE STRING "")
-mark_as_advanced(PYTHON_VERSION)
-
-set(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
-mark_as_advanced(PYTHON_LINKFLAGS)
-
-set(_Python_ABI_FLAGS
- "m;mu;u; ")
-
-string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
-set(_Python_PATHS
- "$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}" "/opt/py${_PYTHON_VERSION_NO_DOTS}" "/usr" "/usr/local")
-
-if(NOT DEFINED PYTHON_INCLUDE_DIRS)
- message(STATUS "Looking for include Python.h")
- set(_Found_PYTHON_H OFF)
-
- foreach(_CURRENT_PATH ${_Python_PATHS})
- foreach(_CURRENT_ABI_FLAGS ${_Python_ABI_FLAGS})
- if(CMAKE_BUILD_TYPE STREQUAL Debug)
- set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
- endif()
- string(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
-
- set(_Python_HEADER "${_CURRENT_PATH}/include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}/Python.h")
-
- if(EXISTS ${_Python_HEADER})
- message(STATUS "Checking for header: ${_Python_HEADER} - found")
- set(_Found_PYTHON_H ON)
- set(PYTHON ${_CURRENT_PATH})
- set(PYTHON_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
- break()
- else()
- message(STATUS "Checking for header: ${_Python_HEADER}")
- endif()
- endforeach()
-
- if(_Found_PYTHON_H)
- break()
- endif()
- endforeach()
-
- if(NOT _Found_PYTHON_H)
- message(FATAL_ERROR "Python.h not found")
- endif()
-endif()
-
-#=============================================================================
-# now the python versions are found
-
-
-set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}${PYTHON_ABI_FLAGS}" CACHE STRING "")
-mark_as_advanced(PYTHON_INCLUDE_DIRS)
-set(PYTHON_LIBRARY "python${PYTHON_VERSION}${PYTHON_ABI_FLAGS}" CACHE STRING "")
-mark_as_advanced(PYTHON_LIBRARY)
-set(PYTHON_LIBPATH ${PYTHON}/lib CACHE STRING "")
-mark_as_advanced(PYTHON_LIBPATH)
-# set(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
-
-if(NOT EXISTS "${PYTHON_INCLUDE_DIRS}/Python.h")
- message(FATAL_ERROR " Missing python header: ${PYTHON_INCLUDE_DIRS}/Python.h")
-endif()
diff --git a/build_files/cmake/Modules/FindFftw3.cmake b/build_files/cmake/Modules/FindFftw3.cmake
new file mode 100644
index 00000000000..197d4aab7b6
--- /dev/null
+++ b/build_files/cmake/Modules/FindFftw3.cmake
@@ -0,0 +1,70 @@
+# - Find Fftw3 library
+# Find the native Fftw3 includes and library
+# This module defines
+# FFTW3_INCLUDE_DIRS, where to find fftw3.h, Set when
+# FFTW3_INCLUDE_DIR is found.
+# FFTW3_LIBRARIES, libraries to link against to use Fftw3.
+# FFTW3_ROOT_DIR, The base directory to search for Fftw3.
+# This can also be an environment variable.
+# FFTW3_FOUND, If false, do not try to use Fftw3.
+#
+# also defined, but not for general use are
+# FFTW3_LIBRARY, where to find the Fftw3 library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If FFTW3_ROOT_DIR was defined in the environment, use it.
+IF(NOT FFTW3_ROOT_DIR AND NOT $ENV{FFTW3_ROOT_DIR} STREQUAL "")
+ SET(FFTW3_ROOT_DIR $ENV{FFTW3_ROOT_DIR})
+ENDIF()
+
+SET(_fftw3_SEARCH_DIRS
+ ${FFTW3_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(FFTW3_INCLUDE_DIR
+ NAMES
+ fftw3.h
+ HINTS
+ ${_fftw3_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(FFTW3_LIBRARY
+ NAMES
+ fftw3
+ HINTS
+ ${_fftw3_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fftw3 DEFAULT_MSG
+ FFTW3_LIBRARY FFTW3_INCLUDE_DIR)
+
+IF(FFTW3_FOUND)
+ SET(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
+ SET(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
+ENDIF(FFTW3_FOUND)
+
+MARK_AS_ADVANCED(
+ FFTW3_INCLUDE_DIR
+ FFTW3_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindJack.cmake b/build_files/cmake/Modules/FindJack.cmake
new file mode 100644
index 00000000000..9a847fabf70
--- /dev/null
+++ b/build_files/cmake/Modules/FindJack.cmake
@@ -0,0 +1,70 @@
+# - Find Jack library
+# Find the native Jack includes and library
+# This module defines
+# JACK_INCLUDE_DIRS, where to find jack.h, Set when
+# JACK_INCLUDE_DIR is found.
+# JACK_LIBRARIES, libraries to link against to use Jack.
+# JACK_ROOT_DIR, The base directory to search for Jack.
+# This can also be an environment variable.
+# JACK_FOUND, If false, do not try to use Jack.
+#
+# also defined, but not for general use are
+# JACK_LIBRARY, where to find the Jack library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If JACK_ROOT_DIR was defined in the environment, use it.
+IF(NOT JACK_ROOT_DIR AND NOT $ENV{JACK_ROOT_DIR} STREQUAL "")
+ SET(JACK_ROOT_DIR $ENV{JACK_ROOT_DIR})
+ENDIF()
+
+SET(_jack_SEARCH_DIRS
+ ${JACK_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(JACK_INCLUDE_DIR
+ NAMES
+ jack.h
+ HINTS
+ ${_jack_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/jack
+)
+
+FIND_LIBRARY(JACK_LIBRARY
+ NAMES
+ jack
+ HINTS
+ ${_jack_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set JACK_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jack DEFAULT_MSG
+ JACK_LIBRARY JACK_INCLUDE_DIR)
+
+IF(JACK_FOUND)
+ SET(JACK_LIBRARIES ${JACK_LIBRARY})
+ SET(JACK_INCLUDE_DIRS ${JACK_INCLUDE_DIR})
+ENDIF(JACK_FOUND)
+
+MARK_AS_ADVANCED(
+ JACK_INCLUDE_DIR
+ JACK_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindJeMalloc.cmake b/build_files/cmake/Modules/FindJeMalloc.cmake
new file mode 100644
index 00000000000..5c7aa2cf1e1
--- /dev/null
+++ b/build_files/cmake/Modules/FindJeMalloc.cmake
@@ -0,0 +1,70 @@
+# - Find JeMalloc library
+# Find the native JeMalloc includes and library
+# This module defines
+# JEMALLOC_INCLUDE_DIRS, where to find jemalloc.h, Set when
+# JEMALLOC_INCLUDE_DIR is found.
+# JEMALLOC_LIBRARIES, libraries to link against to use JeMalloc.
+# JEMALLOC_ROOT_DIR, The base directory to search for JeMalloc.
+# This can also be an environment variable.
+# JEMALLOC_FOUND, If false, do not try to use JeMalloc.
+#
+# also defined, but not for general use are
+# JEMALLOC_LIBRARY, where to find the JeMalloc library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If JEMALLOC_ROOT_DIR was defined in the environment, use it.
+IF(NOT JEMALLOC_ROOT_DIR AND NOT $ENV{JEMALLOC_ROOT_DIR} STREQUAL "")
+ SET(JEMALLOC_ROOT_DIR $ENV{JEMALLOC_ROOT_DIR})
+ENDIF()
+
+SET(_jemalloc_SEARCH_DIRS
+ ${JEMALLOC_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(JEMALLOC_INCLUDE_DIR
+ NAMES
+ jemalloc.h
+ HINTS
+ ${_jemalloc_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/jemalloc
+)
+
+FIND_LIBRARY(JEMALLOC_LIBRARY
+ NAMES
+ jemalloc
+ HINTS
+ ${_jemalloc_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(JeMalloc DEFAULT_MSG
+ JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR)
+
+IF(JEMALLOC_FOUND)
+ SET(JEMALLOC_LIBRARIES ${JEMALLOC_LIBRARY})
+ SET(JEMALLOC_INCLUDE_DIRS ${JEMALLOC_INCLUDE_DIR})
+ENDIF(JEMALLOC_FOUND)
+
+MARK_AS_ADVANCED(
+ JEMALLOC_INCLUDE_DIR
+ JEMALLOC_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake
new file mode 100644
index 00000000000..546f690dbf6
--- /dev/null
+++ b/build_files/cmake/Modules/FindOpenEXR.cmake
@@ -0,0 +1,92 @@
+# - Find OpenEXR library
+# Find the native OpenEXR includes and library
+# This module defines
+# OPENEXR_INCLUDE_DIRS, where to find ImfXdr.h, etc. Set when
+# OPENEXR_INCLUDE_DIR is found.
+# OPENEXR_LIBRARIES, libraries to link against to use OpenEXR.
+# OPENEXR_ROOT_DIR, The base directory to search for OpenEXR.
+# This can also be an environment variable.
+# OPENEXR_FOUND, If false, do not try to use OpenEXR.
+#
+# For indervidual library access these advanced settings are available
+# OPENEXR_HALF_LIBRARY, Path to Half library
+# OPENEXR_IEX_LIBRARY, Path to Half library
+# OPENEXR_ILMIMF_LIBRARY, Path to Ilmimf library
+# OPENEXR_ILMTHREAD_LIBRARY, Path to IlmThread library
+# OPENEXR_IMATH_LIBRARY, Path to Imath library
+#
+# also defined, but not for general use are
+# OPENEXR_LIBRARY, where to find the OpenEXR library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If OPENEXR_ROOT_DIR was defined in the environment, use it.
+IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "")
+ SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
+ENDIF()
+
+SET(_openexr_FIND_COMPONENTS
+ Half
+ Iex
+ IlmImf
+ IlmThread
+ Imath
+)
+
+SET(_openexr_SEARCH_DIRS
+ ${OPENEXR_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(OPENEXR_INCLUDE_DIR
+ NAMES
+ ImfXdr.h
+ HINTS
+ ${_openexr_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/OpenEXR
+)
+
+SET(_openexr_LIBRARIES)
+FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+
+ FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY
+ NAMES
+ ${COMPONENT}
+ HINTS
+ ${_openexr_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+ LIST(APPEND _openexr_LIBRARIES "${OPENEXR_${UPPERCOMPONENT}_LIBRARY}")
+ENDFOREACH()
+
+# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
+ _openexr_LIBRARIES OPENEXR_INCLUDE_DIR)
+
+IF(OPENEXR_FOUND)
+ SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
+ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR})
+ENDIF()
+
+MARK_AS_ADVANCED(OPENEXR_INCLUDE_DIR)
+FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ MARK_AS_ADVANCED(OPENEXR_${UPPERCOMPONENT}_LIBRARY)
+ENDFOREACH()
diff --git a/build_files/cmake/Modules/FindOpenJPEG.cmake b/build_files/cmake/Modules/FindOpenJPEG.cmake
new file mode 100644
index 00000000000..8d901ed633c
--- /dev/null
+++ b/build_files/cmake/Modules/FindOpenJPEG.cmake
@@ -0,0 +1,70 @@
+# - Find OpenJPEG library
+# Find the native OpenJPEG includes and library
+# This module defines
+# OPENJPEG_INCLUDE_DIRS, where to find openjpeg.h, Set when
+# OPENJPEG_INCLUDE_DIR is found.
+# OPENJPEG_LIBRARIES, libraries to link against to use OpenJPEG.
+# OPENJPEG_ROOT_DIR, The base directory to search for OpenJPEG.
+# This can also be an environment variable.
+# OPENJPEG_FOUND, If false, do not try to use OpenJPEG.
+#
+# also defined, but not for general use are
+# OPENJPEG_LIBRARY, where to find the OpenJPEG library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If OPENJPEG_ROOT_DIR was defined in the environment, use it.
+IF(NOT OPENJPEG_ROOT_DIR AND NOT $ENV{OPENJPEG_ROOT_DIR} STREQUAL "")
+ SET(OPENJPEG_ROOT_DIR $ENV{OPENJPEG_ROOT_DIR})
+ENDIF()
+
+SET(_openjpeg_SEARCH_DIRS
+ ${OPENJPEG_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(OPENJPEG_INCLUDE_DIR
+ NAMES
+ openjpeg.h
+ HINTS
+ ${_openjpeg_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(OPENJPEG_LIBRARY
+ NAMES
+ openjpeg
+ HINTS
+ ${_openjpeg_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set OPENJPEG_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenJPEG DEFAULT_MSG
+ OPENJPEG_LIBRARY OPENJPEG_INCLUDE_DIR)
+
+IF(OPENJPEG_FOUND)
+ SET(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY})
+ SET(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR})
+ENDIF(OPENJPEG_FOUND)
+
+MARK_AS_ADVANCED(
+ OPENJPEG_INCLUDE_DIR
+ OPENJPEG_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindPythonLibsUnix.cmake b/build_files/cmake/Modules/FindPythonLibsUnix.cmake
new file mode 100644
index 00000000000..882f1e2ea77
--- /dev/null
+++ b/build_files/cmake/Modules/FindPythonLibsUnix.cmake
@@ -0,0 +1,121 @@
+# - Find Python libraries
+# Find the native Python includes and library
+#
+# Note:, This is not _yet_ intended to be a general python module for other
+# projects to use since its hard coded to python 3.2 as blender only supports
+# a single python version.
+# This is for blender/unix python only.
+#
+# This module defines
+# PYTHON_VERSION
+# PYTHON_INCLUDE_DIRS
+# PYTHON_LIBRARIES
+# PYTHON_LIBPATH, Used for installation
+# PYTHON_LINKFLAGS
+# PYTHON_ROOT_DIR, The base directory to search for Python.
+# This can also be an environment variable.
+#
+# also defined, but not for general use are
+# PYTHON_LIBRARY, where to find the python library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If PYTHON_ROOT_DIR was defined in the environment, use it.
+IF(NOT PYTHON_ROOT_DIR AND NOT $ENV{PYTHON_ROOT_DIR} STREQUAL "")
+ SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR})
+ENDIF()
+
+IF(DEFINED PYTHON_VERSION)
+ SET(PYTHON_VERSION "${PYTHON_VERSION}" CACHE STRING "")
+ELSE()
+ SET(PYTHON_VERSION 3.2 CACHE STRING "")
+ENDIF()
+MARK_AS_ADVANCED(PYTHON_VERSION)
+
+SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
+MARK_AS_ADVANCED(PYTHON_LINKFLAGS)
+
+SET(_python_ABI_FLAGS
+ "m;mu;u; " # release
+ "md;mud;ud;d" # debug
+)
+
+STRING(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
+
+SET(_python_SEARCH_DIRS
+ ${PYTHON_ROOT_DIR}
+ "$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}"
+ "/opt/py${_PYTHON_VERSION_NO_DOTS}"
+)
+
+FOREACH(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS})
+ #IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+ # SET(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
+ #ENDIF()
+ STRING(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
+
+ FIND_PATH(PYTHON_INCLUDE_DIR
+ NAMES
+ Python.h
+ HINTS
+ ${_python_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
+ )
+
+ FIND_LIBRARY(PYTHON_LIBRARY
+ NAMES
+ "python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}"
+ HINTS
+ ${_python_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+ IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
+ break()
+ ELSE()
+ # ensure we dont find values from 2 different ABI versions
+ UNSET(PYTHON_INCLUDE_DIR CACHE)
+ UNSET(PYTHON_LIBRARY CACHE)
+ ENDIF()
+ENDFOREACH()
+
+UNSET(_CURRENT_ABI_FLAGS)
+UNSET(_CURRENT_PATH)
+
+UNSET(_python_ABI_FLAGS)
+UNSET(_python_SEARCH_DIRS)
+
+# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibsUnix DEFAULT_MSG
+ PYTHON_LIBRARY PYTHON_INCLUDE_DIR)
+
+
+IF(PYTHONLIBSUNIX_FOUND)
+ # Assign cache items
+ SET(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
+ SET(PYTHON_LIBRARIES ${PYTHON_LIBRARY})
+
+ # we need this for installation
+ GET_FILENAME_COMPONENT(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
+
+ # not used
+ # SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
+
+ MARK_AS_ADVANCED(
+ PYTHON_INCLUDE_DIR
+ PYTHON_LIBRARY
+ )
+ENDIF()
diff --git a/build_files/cmake/Modules/FindSamplerate.cmake b/build_files/cmake/Modules/FindSamplerate.cmake
new file mode 100644
index 00000000000..ea7a0d7a18c
--- /dev/null
+++ b/build_files/cmake/Modules/FindSamplerate.cmake
@@ -0,0 +1,70 @@
+# - Find Samplerate library
+# Find the native Samplerate includes and library
+# This module defines
+# SAMPLERATE_INCLUDE_DIRS, where to find samplerate.h, Set when
+# SAMPLERATE_INCLUDE_DIR is found.
+# SAMPLERATE_LIBRARIES, libraries to link against to use Samplerate.
+# SAMPLERATE_ROOT_DIR, The base directory to search for Samplerate.
+# This can also be an environment variable.
+# SAMPLERATE_FOUND, If false, do not try to use Samplerate.
+#
+# also defined, but not for general use are
+# SAMPLERATE_LIBRARY, where to find the Samplerate library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If SAMPLERATE_ROOT_DIR was defined in the environment, use it.
+IF(NOT SAMPLERATE_ROOT_DIR AND NOT $ENV{SAMPLERATE_ROOT_DIR} STREQUAL "")
+ SET(SAMPLERATE_ROOT_DIR $ENV{SAMPLERATE_ROOT_DIR})
+ENDIF()
+
+SET(_samplerate_SEARCH_DIRS
+ ${SAMPLERATE_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(SAMPLERATE_INCLUDE_DIR
+ NAMES
+ samplerate.h
+ HINTS
+ ${_samplerate_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(SAMPLERATE_LIBRARY
+ NAMES
+ samplerate
+ HINTS
+ ${_samplerate_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set SAMPLERATE_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Samplerate DEFAULT_MSG
+ SAMPLERATE_LIBRARY SAMPLERATE_INCLUDE_DIR)
+
+IF(SAMPLERATE_FOUND)
+ SET(SAMPLERATE_LIBRARIES ${SAMPLERATE_LIBRARY})
+ SET(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE_INCLUDE_DIR})
+ENDIF(SAMPLERATE_FOUND)
+
+MARK_AS_ADVANCED(
+ SAMPLERATE_INCLUDE_DIR
+ SAMPLERATE_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindSndFile.cmake b/build_files/cmake/Modules/FindSndFile.cmake
new file mode 100644
index 00000000000..1b685eacfbd
--- /dev/null
+++ b/build_files/cmake/Modules/FindSndFile.cmake
@@ -0,0 +1,68 @@
+# - Find SndFile library
+# Find the native SndFile includes and library
+# This module defines
+# SNDFILE_INCLUDE_DIRS, where to find sndfile.h, Set when
+# SNDFILE_INCLUDE_DIR is found.
+# SNDFILE_LIBRARIES, libraries to link against to use SndFile.
+# SNDFILE_ROOT_DIR, The base directory to search for SndFile.
+# This can also be an environment variable.
+# SNDFILE_FOUND, If false, do not try to use SndFile.
+#
+# also defined, but not for general use are
+# SNDFILE_LIBRARY, where to find the SndFile library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If SNDFILE_ROOT_DIR was defined in the environment, use it.
+IF(NOT SNDFILE_ROOT_DIR AND NOT $ENV{SNDFILE_ROOT_DIR} STREQUAL "")
+ SET(SNDFILE_ROOT_DIR $ENV{SNDFILE_ROOT_DIR})
+ENDIF()
+
+SET(_sndfile_SEARCH_DIRS
+ ${SNDFILE_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(SNDFILE_INCLUDE_DIR sndfile.h
+ HINTS
+ ${_sndfile_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(SNDFILE_LIBRARY
+ NAMES
+ sndfile
+ HINTS
+ ${_sndfile_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set SNDFILE_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG
+ SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR)
+
+IF(SNDFILE_FOUND)
+ SET(SNDFILE_LIBRARIES ${SNDFILE_LIBRARY})
+ SET(SNDFILE_INCLUDE_DIRS ${SNDFILE_INCLUDE_DIR})
+ENDIF(SNDFILE_FOUND)
+
+MARK_AS_ADVANCED(
+ SNDFILE_INCLUDE_DIR
+ SNDFILE_LIBRARY
+)
diff --git a/build_files/cmake/cmake_consistency_check.py b/build_files/cmake/cmake_consistency_check.py
index f55b2e95d5e..ba71603b007 100644..100755
--- a/build_files/cmake/cmake_consistency_check.py
+++ b/build_files/cmake/cmake_consistency_check.py
@@ -23,27 +23,31 @@
# <pep8 compliant>
-IGNORE = \
- "/test/",\
- "/decimate_glut_test/",\
- "/BSP_GhostTest/",\
- "/release/",\
- "/xembed/",\
- "/decimation/intern/future/",\
- "/TerraplayNetwork/",\
- "/ik_glut_test/"
+from cmake_consistency_check_config import IGNORE, UTF8_CHECK, SOURCE_DIR
import os
-from os.path import join, dirname, normpath, abspath, splitext
+from os.path import join, dirname, normpath, splitext
-base = join(os.path.dirname(__file__), "..", "..")
-base = normpath(base)
-base = abspath(base)
-
-print("Scanning:", base)
+print("Scanning:", SOURCE_DIR)
global_h = set()
global_c = set()
+global_refs = {}
+
+
+def replace_line(f, i, text, keep_indent=True):
+ file_handle = open(f, 'r')
+ data = file_handle.readlines()
+ file_handle.close()
+
+ l = data[i]
+ ws = l[:len(l) - len(l.lstrip())]
+
+ data[i] = "%s%s\n" % (ws, text)
+
+ file_handle = open(f, 'w')
+ file_handle.writelines(data)
+ file_handle.close()
def source_list(path, filename_check=None):
@@ -88,7 +92,20 @@ def cmake_get_src(f):
found = False
i = 0
# print(f)
+
+ def is_definition(l, f, i, name):
+ if ('set(%s' % name) in l or ('set(' in l and l.endswith(name)):
+ if len(l.split()) > 1:
+ raise Exception("strict formatting not kept 'set(%s*' %s:%d" % (name, f, i))
+ return True
+
+ if ("list(APPEND %s" % name) in l or ('list(APPEND ' in l and l.endswith(name)):
+ if l.endswith(")"):
+ raise Exception("strict formatting not kept 'list(APPEND %s...)' on 1 line %s:%d" % (name, f, i))
+ return True
+
while it is not None:
+ context_name = ""
while it is not None:
i += 1
try:
@@ -98,16 +115,13 @@ def cmake_get_src(f):
break
l = l.strip()
if not l.startswith("#"):
- if 'set(SRC' in l or ('set(' in l and l.endswith("SRC")):
- if len(l.split()) > 1:
- raise Exception("strict formatting not kept 'set(SRC*' %s:%d" % (f, i))
- found = True
+ found = is_definition(l, f, i, "SRC")
+ if found:
+ context_name = "SRC"
break
-
- if "list(APPEND SRC" in l:
- if l.endswith(")"):
- raise Exception("strict formatting not kept 'list(APPEND SRC...)' on 1 line %s:%d" % (f, i))
- found = True
+ found = is_definition(l, f, i, "INC")
+ if found:
+ context_name = "INC"
break
if found:
@@ -136,21 +150,44 @@ def cmake_get_src(f):
if not l:
pass
elif l.startswith("$"):
- print("Cant use var '%s' %s:%d" % (l, f, i))
+ if context_name == "SRC":
+ # assume if it ends with context_name we know about it
+ if not l.split("}")[0].endswith(context_name):
+ print("Can't use var '%s' %s:%d" % (l, f, i))
elif len(l.split()) > 1:
raise Exception("Multi-line define '%s' %s:%d" % (l, f, i))
else:
new_file = normpath(join(cmake_base, l))
- if is_c_header(new_file):
- sources_h.append(new_file)
- elif is_c(new_file):
- sources_c.append(new_file)
- elif l in ("PARENT_SCOPE", ):
- # cmake var, ignore
- pass
- else:
- raise Exception("unknown file type - not c or h %s -> %s" % (f, new_file))
+ if context_name == "SRC":
+ if is_c_header(new_file):
+ sources_h.append(new_file)
+ global_refs.setdefault(new_file, []).append((f, i))
+ elif is_c(new_file):
+ sources_c.append(new_file)
+ global_refs.setdefault(new_file, []).append((f, i))
+ elif l in ("PARENT_SCOPE", ):
+ # cmake var, ignore
+ pass
+ elif new_file.endswith(".list"):
+ pass
+ elif new_file.endswith(".def"):
+ pass
+ else:
+ raise Exception("unknown file type - not c or h %s -> %s" % (f, new_file))
+
+ elif context_name == "INC":
+ if os.path.isdir(new_file):
+ new_path_rel = os.path.relpath(new_file, cmake_base)
+
+ if new_path_rel != l:
+ print("overly relative path:\n %s:%d\n %s\n %s" % (f, i, l, new_path_rel))
+
+ ## Save time. just replace the line
+ # replace_line(f, i - 1, new_path_rel)
+
+ else:
+ raise Exception("non existant include %s:%d -> %s" % (f, i, new_file))
# print(new_file)
@@ -170,10 +207,14 @@ def cmake_get_src(f):
print(" missing: " + ff)
'''
+ # reset
+ sources_h[:] = []
+ sources_c[:] = []
+
filen.close()
-for cmake in source_list(base, is_cmake):
+for cmake in source_list(SOURCE_DIR, is_cmake):
cmake_get_src(cmake)
@@ -183,39 +224,74 @@ def is_ignore(f):
return True
return False
+
# First do stupid check, do these files exist?
+print("\nChecking for missing references:")
+is_err = False
+errs = []
for f in (global_h | global_c):
if f.endswith("dna.c"):
continue
if not os.path.exists(f):
- raise Exception("CMake referenced file missing: " + f)
-
+ refs = global_refs[f]
+ if refs:
+ for cf, i in refs:
+ errs.append((cf, i))
+ else:
+ raise Exception("CMake referenecs missing, internal error, aborting!")
+ is_err = True
+
+errs.sort()
+errs.reverse()
+for cf, i in errs:
+ print("%s:%d" % (cf, i))
+ # Write a 'sed' script, useful if we get a lot of these
+ # print("sed '%dd' '%s' > '%s.tmp' ; mv '%s.tmp' '%s'" % (i, cf, cf, cf, cf))
+
+
+if is_err:
+ raise Exception("CMake referenecs missing files, aborting!")
+del is_err
+del errs
# now check on files not accounted for.
print("\nC/C++ Files CMake doesnt know about...")
-for cf in sorted(source_list(base, is_c)):
+for cf in sorted(source_list(SOURCE_DIR, is_c)):
if not is_ignore(cf):
if cf not in global_c:
print("missing_c: ", cf)
+
+ # check if automake builds a corrasponding .o file.
+ '''
+ if cf in global_c:
+ out1 = os.path.splitext(cf)[0] + ".o"
+ out2 = os.path.splitext(cf)[0] + ".Po"
+ out2_dir, out2_file = out2 = os.path.split(out2)
+ out2 = os.path.join(out2_dir, ".deps", out2_file)
+ if not os.path.exists(out1) and not os.path.exists(out2):
+ print("bad_c: ", cf)
+ '''
+
print("\nC/C++ Headers CMake doesnt know about...")
-for hf in sorted(source_list(base, is_c_header)):
+for hf in sorted(source_list(SOURCE_DIR, is_c_header)):
if not is_ignore(hf):
if hf not in global_h:
print("missing_h: ", hf)
-# test encoding
-import traceback
-for files in (global_c, global_h):
- for f in sorted(files):
- if os.path.exists(f):
- # ignore outside of our source tree
- if "extern" not in f:
- i = 1
- try:
- for l in open(f, "r", encoding="utf8"):
- i += 1
- except:
- print("Non utf8: %s:%d" % (f, i))
- if i > 1:
- traceback.print_exc()
+if UTF8_CHECK:
+ # test encoding
+ import traceback
+ for files in (global_c, global_h):
+ for f in sorted(files):
+ if os.path.exists(f):
+ # ignore outside of our source tree
+ if "extern" not in f:
+ i = 1
+ try:
+ for l in open(f, "r", encoding="utf8"):
+ i += 1
+ except:
+ print("Non utf8: %s:%d" % (f, i))
+ if i > 1:
+ traceback.print_exc()
diff --git a/build_files/cmake/cmake_consistency_check_config.py b/build_files/cmake/cmake_consistency_check_config.py
new file mode 100644
index 00000000000..60a46d3a1dd
--- /dev/null
+++ b/build_files/cmake/cmake_consistency_check_config.py
@@ -0,0 +1,48 @@
+import os
+
+IGNORE = (
+ "/test/",
+ "/decimate_glut_test/",
+ "/BSP_GhostTest/",
+ "/release/",
+ "/xembed/",
+ "/decimation/intern/future/",
+ "/TerraplayNetwork/",
+ "/ik_glut_test/",
+
+ # specific source files
+ "extern/Eigen2/Eigen/src/Cholesky/CholeskyInstantiations.cpp",
+ "extern/Eigen2/Eigen/src/Core/CoreInstantiations.cpp",
+ "extern/Eigen2/Eigen/src/QR/QrInstantiations.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btBox2dShape.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btConvex2dShape.cpp",
+ "extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.cpp",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp",
+ "extern/eltopo/common/meshes/ObjLoader.cpp",
+ "extern/eltopo/common/meshes/meshloader.cpp",
+ "extern/eltopo/common/openglutils.cpp",
+ "extern/eltopo/eltopo3d/broadphase_blenderbvh.cpp",
+ "source/blender/imbuf/intern/imbuf_cocoa.m",
+
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btBox2dShape.h",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btConvex2dShape.h",
+ "extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.h",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h",
+ "extern/eltopo/common/meshes/Edge.hpp",
+ "extern/eltopo/common/meshes/ObjLoader.hpp",
+ "extern/eltopo/common/meshes/TriangleIndex.hpp",
+ "extern/eltopo/common/meshes/meshloader.h",
+ "extern/eltopo/eltopo3d/broadphase_blenderbvh.h"
+ )
+
+UTF8_CHECK = True
+
+SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.normpath(os.path.join(os.path.dirname(__file__), "..", ".."))))
diff --git a/build_files/cmake/cmake_netbeans_project.py b/build_files/cmake/cmake_netbeans_project.py
new file mode 100755
index 00000000000..8060574580c
--- /dev/null
+++ b/build_files/cmake/cmake_netbeans_project.py
@@ -0,0 +1,240 @@
+#!/usr/bin/env python
+
+# $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.
+#
+# Contributor(s): Campbell Barton, M.G. Kishalmi
+#
+# ***** END GPL LICENSE BLOCK *****
+
+# <pep8 compliant>
+
+"""
+Example linux usage
+ python .~/blenderSVN/blender/build_files/cmake/cmake_netbeans_project.py ~/blenderSVN/cmake
+
+Windows not supported so far
+"""
+
+from project_info import (SIMPLE_PROJECTFILE,
+ SOURCE_DIR,
+ CMAKE_DIR,
+ PROJECT_DIR,
+ source_list,
+ is_project_file,
+ is_c_header,
+ is_py,
+ cmake_advanced_info,
+ cmake_compiler_defines,
+ )
+
+
+import os
+from os.path import join, dirname, normpath, relpath, exists
+
+
+def create_nb_project_main():
+ files = list(source_list(SOURCE_DIR, filename_check=is_project_file))
+ files_rel = [relpath(f, start=PROJECT_DIR) for f in files]
+ files_rel.sort()
+
+ if SIMPLE_PROJECTFILE:
+ pass
+ else:
+ includes, defines = cmake_advanced_info()
+ # for some reason it doesnt give all internal includes
+ includes = list(set(includes) | set(dirname(f) for f in files if is_c_header(f)))
+ includes.sort()
+
+ PROJECT_NAME = "Blender"
+
+ # --------------- NB spesific
+ defines = [("%s=%s" % cdef) if cdef[1] else cdef[0] for cdef in defines]
+ defines += [cdef.replace("#define", "").strip() for cdef in cmake_compiler_defines()]
+
+ def file_list_to_nested(files):
+ # convert paths to hierarchy
+ paths_nested = {}
+
+ def ensure_path(filepath):
+ filepath_split = filepath.split(os.sep)
+
+ pn = paths_nested
+ for subdir in filepath_split[:-1]:
+ pn = pn.setdefault(subdir, {})
+ pn[filepath_split[-1]] = None
+
+ for path in files:
+ ensure_path(path)
+ return paths_nested
+
+ PROJECT_DIR_NB = join(PROJECT_DIR, "nbproject")
+ if not exists(PROJECT_DIR_NB):
+ os.mkdir(PROJECT_DIR_NB)
+
+ # SOURCE_DIR_REL = relpath(SOURCE_DIR, PROJECT_DIR)
+
+ f = open(join(PROJECT_DIR_NB, "project.xml"), 'w')
+
+ f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
+ f.write('<project xmlns="http://www.netbeans.org/ns/project/1">\n')
+ f.write(' <type>org.netbeans.modules.cnd.makeproject</type>\n')
+ f.write(' <configuration>\n')
+ f.write(' <data xmlns="http://www.netbeans.org/ns/make-project/1">\n')
+ f.write(' <name>%s</name>\n' % PROJECT_NAME)
+ f.write(' <c-extensions>c,m</c-extensions>\n')
+ f.write(' <cpp-extensions>cpp,mm</cpp-extensions>\n')
+ f.write(' <header-extensions>h,hpp,inl</header-extensions>\n')
+ f.write(' <sourceEncoding>UTF-8</sourceEncoding>\n')
+ f.write(' <make-dep-projects/>\n')
+ f.write(' <sourceRootList>\n')
+ f.write(' <sourceRootElem>%s</sourceRootElem>\n' % SOURCE_DIR) # base_root_rel
+ f.write(' </sourceRootList>\n')
+ f.write(' <confList>\n')
+ f.write(' <confElem>\n')
+ f.write(' <name>Default</name>\n')
+ f.write(' <type>0</type>\n')
+ f.write(' </confElem>\n')
+ f.write(' </confList>\n')
+ f.write(' </data>\n')
+ f.write(' </configuration>\n')
+ f.write('</project>\n')
+
+ f = open(join(PROJECT_DIR_NB, "configurations.xml"), 'w')
+
+ f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
+ f.write('<configurationDescriptor version="79">\n')
+ f.write(' <logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">\n')
+ f.write(' <df name="blender" root="%s">\n' % SOURCE_DIR) # base_root_rel
+
+ # write files!
+ files_rel_local = [normpath(relpath(join(CMAKE_DIR, path), SOURCE_DIR)) for path in files_rel]
+ files_rel_hierarchy = file_list_to_nested(files_rel_local)
+ # print(files_rel_hierarchy)
+
+ def write_df(hdir, ident):
+ dirs = []
+ files = []
+ for key, item in sorted(hdir.items()):
+ if item is None:
+ files.append(key)
+ else:
+ dirs.append((key, item))
+
+ for key, item in dirs:
+ f.write('%s <df name="%s">\n' % (ident, key))
+ write_df(item, ident + " ")
+ f.write('%s </df>\n' % ident)
+
+ for key in files:
+ f.write('%s<in>%s</in>\n' % (ident, key))
+
+ write_df(files_rel_hierarchy, ident=" ")
+
+ f.write(' </df>\n')
+
+ f.write(' <logicalFolder name="ExternalFiles"\n')
+ f.write(' displayName="Important Files"\n')
+ f.write(' projectFiles="false"\n')
+ f.write(' kind="IMPORTANT_FILES_FOLDER">\n')
+ # f.write(' <itemPath>../GNUmakefile</itemPath>\n')
+ f.write(' </logicalFolder>\n')
+
+ f.write(' </logicalFolder>\n')
+ # default, but this dir is infact not in blender dir so we can ignore it
+ # f.write(' <sourceFolderFilter>^(nbproject)$</sourceFolderFilter>\n')
+ f.write(' <sourceFolderFilter>^(nbproject|__pycache__|.*\.py|.*\.html|.*\.blend)$</sourceFolderFilter>\n')
+
+ f.write(' <sourceRootList>\n')
+ f.write(' <Elem>%s</Elem>\n' % SOURCE_DIR) # base_root_rel
+ f.write(' </sourceRootList>\n')
+
+ f.write(' <projectmakefile>Makefile</projectmakefile>\n')
+
+ # paths again
+ f.write(' <confs>\n')
+ f.write(' <conf name="Default" type="0">\n')
+
+ f.write(' <toolsSet>\n')
+ f.write(' <remote-sources-mode>LOCAL_SOURCES</remote-sources-mode>\n')
+ f.write(' <compilerSet>default</compilerSet>\n')
+ f.write(' </toolsSet>\n')
+ f.write(' <makefileType>\n')
+
+ f.write(' <makeTool>\n')
+ f.write(' <buildCommandWorkingDir>.</buildCommandWorkingDir>\n')
+ f.write(' <buildCommand>${MAKE} -f Makefile</buildCommand>\n')
+ f.write(' <cleanCommand>${MAKE} -f Makefile clean</cleanCommand>\n')
+ f.write(' <executablePath>./bin/blender</executablePath>\n')
+
+ def write_toolinfo():
+ f.write(' <incDir>\n')
+ for inc in includes:
+ f.write(' <pElem>%s</pElem>\n' % inc)
+ f.write(' </incDir>\n')
+ f.write(' <preprocessorList>\n')
+ for cdef in defines:
+ f.write(' <Elem>%s</Elem>\n' % cdef)
+ f.write(' </preprocessorList>\n')
+
+ f.write(' <cTool>\n')
+ write_toolinfo()
+ f.write(' </cTool>\n')
+
+ f.write(' <ccTool>\n')
+ write_toolinfo()
+ f.write(' </ccTool>\n')
+
+ f.write(' </makeTool>\n')
+ f.write(' </makefileType>\n')
+ # finishe makefle info
+
+ f.write(' \n')
+
+ for path in files_rel_local:
+ f.write(' <item path="%s"\n' % path)
+ f.write(' ex="false"\n')
+ f.write(' tool="1"\n')
+ f.write(' flavor="0">\n')
+ f.write(' </item>\n')
+
+ f.write(' <runprofile version="9">\n')
+ f.write(' <runcommandpicklist>\n')
+ f.write(' </runcommandpicklist>\n')
+ f.write(' <runcommand>%s</runcommand>\n' % os.path.join(CMAKE_DIR, "bin/blender"))
+ f.write(' <rundir>%s</rundir>\n' % SOURCE_DIR)
+ f.write(' <buildfirst>false</buildfirst>\n')
+ f.write(' <terminal-type>0</terminal-type>\n')
+ f.write(' <remove-instrumentation>0</remove-instrumentation>\n')
+ f.write(' <environment>\n')
+ f.write(' </environment>\n')
+ f.write(' </runprofile>\n')
+
+ f.write(' </conf>\n')
+ f.write(' </confs>\n')
+
+ # todo
+
+ f.write('</configurationDescriptor>\n')
+
+
+def main():
+ create_nb_project_main()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/build_files/cmake/cmake_qtcreator_project.py b/build_files/cmake/cmake_qtcreator_project.py
index 59b8b2a3b02..d8993c3197a 100644..100755
--- a/build_files/cmake/cmake_qtcreator_project.py
+++ b/build_files/cmake/cmake_qtcreator_project.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-# $Id:
+# $Id$
# ***** BEGIN GPL LICENSE BLOCK *****
#
# This program is free software; you can redistribute it and/or
@@ -31,223 +31,65 @@ example linux usage
python .~/blenderSVN/blender/build_files/cmake/cmake_qtcreator_project.py ~/blenderSVN/cmake
"""
-import sys
-import os
-from os.path import join, dirname, normpath, abspath, splitext, relpath, exists
-
-base = join(os.path.dirname(__file__), "..", "..")
-base = normpath(base)
-base = abspath(base)
-
-SIMPLE_PROJECTFILE = False
-
-# get cmake path
-CMAKE_DIR = sys.argv[-1]
-
-if not os.path.exists(os.path.join(CMAKE_DIR, "CMakeCache.txt")):
- CMAKE_DIR = os.getcwd()
-if not os.path.exists(os.path.join(CMAKE_DIR, "CMakeCache.txt")):
- print("CMakeCache.txt not found in %r or %r\n Pass CMake build dir as an argument, or run from that dir, aborting" % (CMAKE_DIR, os.getcwd()))
- sys.exit(1)
-
-
-# could be either.
-# PROJECT_DIR = base
-PROJECT_DIR = CMAKE_DIR
-
-
-def source_list(path, filename_check=None):
- for dirpath, dirnames, filenames in os.walk(path):
-
- # skip '.svn'
- if dirpath.startswith("."):
- continue
-
- for filename in filenames:
- filepath = join(dirpath, filename)
- if filename_check is None or filename_check(filepath):
- yield filepath
-
-
-# extension checking
-def is_cmake(filename):
- ext = splitext(filename)[1]
- return (ext == ".cmake") or (filename.endswith("CMakeLists.txt"))
-
-
-def is_c_header(filename):
- ext = splitext(filename)[1]
- return (ext in (".h", ".hpp", ".hxx"))
-
-
-def is_py(filename):
- ext = splitext(filename)[1]
- return (ext == ".py")
-
-
-def is_glsl(filename):
- ext = splitext(filename)[1]
- return (ext == ".glsl")
-
-
-def is_c(filename):
- ext = splitext(filename)[1]
- return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
-
-
-def is_c_any(filename):
- return is_c(filename) or is_c_header(filename)
-
-
-def is_svn_file(filename):
- dn, fn = os.path.split(filename)
- filename_svn = join(dn, ".svn", "text-base", "%s.svn-base" % fn)
- return exists(filename_svn)
-
+from project_info import (SIMPLE_PROJECTFILE,
+ SOURCE_DIR,
+ CMAKE_DIR,
+ PROJECT_DIR,
+ source_list,
+ is_project_file,
+ is_c_header,
+ is_py,
+ cmake_advanced_info,
+ cmake_compiler_defines,
+ )
-def is_project_file(filename):
- return (is_c_any(filename) or is_cmake(filename) or is_glsl(filename)) # and is_svn_file(filename)
-
-
-def cmake_advanced_info():
- """ Extracr includes and defines from cmake.
- """
-
- def create_eclipse_project(CMAKE_DIR):
- print("CMAKE_DIR %r" % CMAKE_DIR)
- if sys.platform == "win32":
- cmd = 'cmake "%s" -G"Eclipse CDT4 - MinGW Makefiles"' % CMAKE_DIR
- else:
- cmd = 'cmake "%s" -G"Eclipse CDT4 - Unix Makefiles"' % CMAKE_DIR
-
- os.system(cmd)
-
- includes = []
- defines = []
-
- create_eclipse_project(CMAKE_DIR)
-
- from xml.dom.minidom import parse
- tree = parse(os.path.join(CMAKE_DIR, ".cproject"))
- '''
- f = open(".cproject_pretty", 'w')
- f.write(tree.toprettyxml(indent=" ", newl=""))
- '''
- ELEMENT_NODE = tree.ELEMENT_NODE
-
- cproject, = tree.getElementsByTagName("cproject")
- for storage in cproject.childNodes:
- if storage.nodeType != ELEMENT_NODE:
- continue
-
- if storage.attributes["moduleId"].value == "org.eclipse.cdt.core.settings":
- cconfig = storage.getElementsByTagName("cconfiguration")[0]
- for substorage in cconfig.childNodes:
- if substorage.nodeType != ELEMENT_NODE:
- continue
-
- moduleId = substorage.attributes["moduleId"].value
-
- # org.eclipse.cdt.core.settings
- # org.eclipse.cdt.core.language.mapping
- # org.eclipse.cdt.core.externalSettings
- # org.eclipse.cdt.core.pathentry
- # org.eclipse.cdt.make.core.buildtargets
-
- if moduleId == "org.eclipse.cdt.core.pathentry":
- for path in substorage.childNodes:
- if path.nodeType != ELEMENT_NODE:
- continue
- kind = path.attributes["kind"].value
-
- if kind == "mac":
- # <pathentry kind="mac" name="PREFIX" path="" value="&quot;/opt/blender25&quot;"/>
- defines.append((path.attributes["name"].value, path.attributes["value"].value))
- elif kind == "inc":
- # <pathentry include="/data/src/blender/blender/source/blender/editors/include" kind="inc" path="" system="true"/>
- includes.append(path.attributes["include"].value)
- else:
- pass
-
- return includes, defines
-
-
-def cmake_cache_var(var):
- cache_file = open(os.path.join(CMAKE_DIR, "CMakeCache.txt"))
- lines = [l_strip for l in cache_file for l_strip in (l.strip(),) if l_strip if not l_strip.startswith("//") if not l_strip.startswith("#")]
- cache_file.close()
-
- for l in lines:
- if l.split(":")[0] == var:
- return l.split("=", 1)[-1]
- return None
-
-
-def cmake_compiler_defines():
- compiler = cmake_cache_var("CMAKE_C_COMPILER") # could do CXX too
-
- if compiler is None:
- print("Couldn't find the compiler, os defines will be omitted...")
- return
-
- import tempfile
- temp_c = tempfile.mkstemp(suffix=".c")[1]
- temp_def = tempfile.mkstemp(suffix=".def")[1]
-
- os.system("%s -dM -E %s > %s" % (compiler, temp_c, temp_def))
-
- temp_def_file = open(temp_def)
- lines = [l.strip() for l in temp_def_file if l.strip()]
- temp_def_file.close()
-
- os.remove(temp_c)
- os.remove(temp_def)
- return lines
+import os
+import sys
def create_qtc_project_main():
- files = list(source_list(base, filename_check=is_project_file))
- files_rel = [relpath(f, start=PROJECT_DIR) for f in files]
+ files = list(source_list(SOURCE_DIR, filename_check=is_project_file))
+ files_rel = [os.path.relpath(f, start=PROJECT_DIR) for f in files]
files_rel.sort()
# --- qtcreator specific, simple format
if SIMPLE_PROJECTFILE:
# --- qtcreator specific, simple format
PROJECT_NAME = "Blender"
- f = open(join(PROJECT_DIR, "%s.files" % PROJECT_NAME), 'w')
+ f = open(os.path.join(PROJECT_DIR, "%s.files" % PROJECT_NAME), 'w')
f.write("\n".join(files_rel))
- f = open(join(PROJECT_DIR, "%s.includes" % PROJECT_NAME), 'w')
- f.write("\n".join(sorted(list(set(dirname(f) for f in files_rel if is_c_header(f))))))
+ f = open(os.path.join(PROJECT_DIR, "%s.includes" % PROJECT_NAME), 'w')
+ f.write("\n".join(sorted(list(set(os.path.dirname(f) for f in files_rel if is_c_header(f))))))
- qtc_prj = join(PROJECT_DIR, "%s.creator" % PROJECT_NAME)
+ qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % PROJECT_NAME)
f = open(qtc_prj, 'w')
f.write("[General]\n")
- qtc_cfg = join(PROJECT_DIR, "%s.config" % PROJECT_NAME)
- if not exists(qtc_cfg):
+ qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % PROJECT_NAME)
+ if not os.path.exists(qtc_cfg):
f = open(qtc_cfg, 'w')
f.write("// ADD PREDEFINED MACROS HERE!\n")
else:
includes, defines = cmake_advanced_info()
# for some reason it doesnt give all internal includes
- includes = list(set(includes) | set(dirname(f) for f in files_rel if is_c_header(f)))
+ includes = list(set(includes) | set(os.path.dirname(f) for f in files_rel if is_c_header(f)))
includes.sort()
PROJECT_NAME = "Blender"
FILE_NAME = PROJECT_NAME.lower()
- f = open(join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
+ f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
f.write("\n".join(files_rel))
- f = open(join(PROJECT_DIR, "%s.includes" % FILE_NAME), 'w')
+ f = open(os.path.join(PROJECT_DIR, "%s.includes" % FILE_NAME), 'w')
f.write("\n".join(sorted(includes)))
- qtc_prj = join(PROJECT_DIR, "%s.creator" % FILE_NAME)
+ qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % FILE_NAME)
f = open(qtc_prj, 'w')
f.write("[General]\n")
- qtc_cfg = join(PROJECT_DIR, "%s.config" % FILE_NAME)
+ qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % FILE_NAME)
f = open(qtc_cfg, 'w')
f.write("// ADD PREDEFINED MACROS HERE!\n")
defines_final = [("#define %s %s" % item) for item in defines]
@@ -260,22 +102,22 @@ def create_qtc_project_main():
def create_qtc_project_python():
- files = list(source_list(base, filename_check=is_py))
- files_rel = [relpath(f, start=PROJECT_DIR) for f in files]
+ files = list(source_list(SOURCE_DIR, filename_check=is_py))
+ files_rel = [os.path.relpath(f, start=PROJECT_DIR) for f in files]
files_rel.sort()
# --- qtcreator specific, simple format
PROJECT_NAME = "Blender_Python"
FILE_NAME = PROJECT_NAME.lower()
- f = open(join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
+ f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
f.write("\n".join(files_rel))
- qtc_prj = join(PROJECT_DIR, "%s.creator" % FILE_NAME)
+ qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % FILE_NAME)
f = open(qtc_prj, 'w')
f.write("[General]\n")
- qtc_cfg = join(PROJECT_DIR, "%s.config" % FILE_NAME)
- if not exists(qtc_cfg):
+ qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % FILE_NAME)
+ if not os.path.exists(qtc_cfg):
f = open(qtc_cfg, 'w')
f.write("// ADD PREDEFINED MACROS HERE!\n")
diff --git a/build_files/cmake/example_scripts/cmake_linux_install.sh b/build_files/cmake/example_scripts/cmake_linux_install.sh
index 7770efcf392..504218f91a6 100755
--- a/build_files/cmake/example_scripts/cmake_linux_install.sh
+++ b/build_files/cmake/example_scripts/cmake_linux_install.sh
@@ -17,7 +17,7 @@ cd ~/blender-svn/build-cmake
# cmake without copying files for fast rebuilds
# the files from svn will be used in place
-cmake ../blender -DWITH_INSTALL:BOOL=FALSE
+cmake ../blender
# make blender, will take some time
make
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index ca1dd79cd8e..34301458a06 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -1,63 +1,142 @@
# -*- mode: cmake; indent-tabs-mode: t; -*-
# $Id$
+
+# foo_bar.spam --> foo_barMySuffix.spam
+macro(file_suffix
+ file_name_new file_name file_suffix
+ )
+
+ get_filename_component(_file_name_PATH ${file_name} PATH)
+ get_filename_component(_file_name_NAME_WE ${file_name} NAME_WE)
+ get_filename_component(_file_name_EXT ${file_name} EXT)
+ set(${file_name_new} "${_file_name_PATH}/${_file_name_NAME_WE}${file_suffix}${_file_name_EXT}")
+
+ unset(_file_name_PATH)
+ unset(_file_name_NAME_WE)
+ unset(_file_name_EXT)
+endmacro()
+
+# usefil for adding debug suffix to library lists:
+# /somepath/foo.lib --> /somepath/foo_d.lib
+macro(file_list_suffix
+ fp_list_new fp_list fn_suffix
+ )
+
+ # incase of empty list
+ set(_fp)
+ set(_fp_suffixed)
+
+ set(fp_list_new)
+
+ foreach(_fp ${fp_list})
+ file_suffix(_fp_suffixed "${_fp}" "${fn_suffix}")
+ list(APPEND "${fp_list_new}" "${_fp_suffixed}")
+ endforeach()
+
+ unset(_fp)
+ unset(_fp_suffixed)
+
+endmacro()
+
+
+macro(target_link_libraries_optimized TARGET LIBS)
+ foreach(_LIB ${LIBS})
+ target_link_libraries(${TARGET} optimized "${_LIB}")
+ endforeach()
+ unset(_LIB)
+endmacro()
+
+macro(target_link_libraries_debug TARGET LIBS)
+ foreach(_LIB ${LIBS})
+ target_link_libraries(${TARGET} debug "${_LIB}")
+ endforeach()
+ unset(_LIB)
+endmacro()
+
# Nicer makefiles with -I/1/foo/ instead of -I/1/2/3/../../foo/
# use it instead of include_directories()
macro(blender_include_dirs
includes)
+ set(_ALL_INCS "")
+ foreach(_INC ${ARGV})
+ get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
+ list(APPEND _ALL_INCS ${_ABS_INC})
+ endforeach()
+ include_directories(${_ALL_INCS})
+ unset(_INC)
+ unset(_ABS_INC)
+ unset(_ALL_INCS)
+endmacro()
- foreach(inc ${ARGV})
- get_filename_component(abs_inc ${inc} ABSOLUTE)
- list(APPEND all_incs ${abs_inc})
+macro(blender_include_dirs_sys
+ includes)
+ set(_ALL_INCS "")
+ foreach(_INC ${ARGV})
+ get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
+ list(APPEND _ALL_INCS ${_ABS_INC})
endforeach()
- include_directories(${all_incs})
+ include_directories(SYSTEM ${_ALL_INCS})
+ unset(_INC)
+ unset(_ABS_INC)
+ unset(_ALL_INCS)
endmacro()
+macro(blender_source_group
+ sources)
+
+ # Group by location on disk
+ source_group("Source Files" FILES CMakeLists.txt)
+
+ foreach(_SRC ${sources})
+ get_filename_component(_SRC_EXT ${_SRC} EXT)
+ if((${_SRC_EXT} MATCHES ".h") OR (${_SRC_EXT} MATCHES ".hpp"))
+ source_group("Header Files" FILES ${_SRC})
+ else()
+ source_group("Source Files" FILES ${_SRC})
+ endif()
+ endforeach()
+
+ unset(_SRC)
+ unset(_SRC_EXT)
+endmacro()
+
+
# only MSVC uses SOURCE_GROUP
macro(blender_add_lib_nolist
name
sources
- includes)
+ includes
+ includes_sys)
# message(STATUS "Configuring library ${name}")
+ # include_directories(${includes})
+ # include_directories(SYSTEM ${includes_sys})
blender_include_dirs("${includes}")
+ blender_include_dirs_sys("${includes_sys}")
+
add_library(${name} ${sources})
- # Group by location on disk
- source_group("Source Files" FILES CMakeLists.txt)
- foreach(SRC ${sources})
- get_filename_component(SRC_EXT ${SRC} EXT)
- if(${SRC_EXT} MATCHES ".h" OR ${SRC_EXT} MATCHES ".hpp")
- source_group("Header Files" FILES ${SRC})
- else()
- source_group("Source Files" FILES ${SRC})
- endif()
- endforeach()
+ # works fine without having the includes
+ # listed is helpful for IDE's (QtCreator/MSVC)
+ blender_source_group("${sources}")
+
endmacro()
-# # works fine but having the includes listed is helpful for IDE's (QtCreator/MSVC)
-# macro(blender_add_lib_nolist
-# name
-# sources
-# includes)
-#
-# message(STATUS "Configuring library ${name}")
-# include_directories(${includes})
-# add_library(${name} ${sources})
-# endmacro()
macro(blender_add_lib
name
sources
- includes)
+ includes
+ includes_sys)
- blender_add_lib_nolist(${name} "${sources}" "${includes}")
+ blender_add_lib_nolist(${name} "${sources}" "${includes}" "${includes_sys}")
set_property(GLOBAL APPEND PROPERTY BLENDER_LINK_LIBS ${name})
-
endmacro()
+
macro(SETUP_LIBDIRS)
# see "cmake --help-policy CMP0003"
if(COMMAND cmake_policy)
@@ -88,9 +167,6 @@ macro(SETUP_LIBDIRS)
if(WITH_IMAGE_OPENJPEG AND UNIX AND NOT APPLE)
link_directories(${OPENJPEG_LIBPATH})
endif()
- if(WITH_LCMS)
- link_directories(${LCMS_LIBPATH})
- endif()
if(WITH_CODEC_QUICKTIME)
link_directories(${QUICKTIME_LIBPATH})
endif()
@@ -104,7 +180,7 @@ macro(SETUP_LIBDIRS)
link_directories(${SNDFILE_LIBPATH})
endif()
if(WITH_SAMPLERATE)
- link_directories(${LIBSAMPLERATE_LIBPATH})
+ link_directories(${SAMPLERATE_LIBPATH})
endif()
if(WITH_FFTW3)
link_directories(${FFTW3_LIBPATH})
@@ -114,6 +190,9 @@ macro(SETUP_LIBDIRS)
link_directories(${PCRE_LIBPATH})
link_directories(${EXPAT_LIBPATH})
endif()
+ if(WITH_MEM_JEMALLOC)
+ link_directories(${JEMALLOC_LIBPATH})
+ endif()
if(WIN32 AND NOT UNIX)
link_directories(${PTHREADS_LIBPATH})
@@ -122,19 +201,29 @@ endmacro()
macro(setup_liblinks
target)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
- target_link_libraries(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${LLIBS})
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}")
+ set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}")
+
+ target_link_libraries(${target}
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${JPEG_LIBRARIES}
+ ${PNG_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${PLATFORM_LINKLIBS})
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs
target_link_libraries(${target} ${PYTHON_LINKFLAGS})
if(WIN32 AND NOT UNIX)
- target_link_libraries(${target} debug ${PYTHON_LIBRARY}_d)
- target_link_libraries(${target} optimized ${PYTHON_LIBRARY})
+ file_list_suffix(PYTHON_LIBRARIES_DEBUG "${PYTHON_LIBRARIES}" "_d")
+ target_link_libraries_debug(${target} "${PYTHON_LIBRARIES_DEBUG}")
+ target_link_libraries_optimized(${target} "${PYTHON_LIBRARIES}")
+ unset(PYTHON_LIBRARIES_DEBUG)
else()
- target_link_libraries(${target} ${PYTHON_LIBRARY})
+ target_link_libraries(${target} ${PYTHON_LIBRARIES})
endif()
endif()
@@ -142,14 +231,18 @@ macro(setup_liblinks
target_link_libraries(${target} ${GLEW_LIBRARY})
endif()
- target_link_libraries(${target} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
- target_link_libraries(${target} ${FREETYPE_LIBRARY})
+ target_link_libraries(${target}
+ ${OPENGL_glu_LIBRARY}
+ ${JPEG_LIBRARIES}
+ ${PNG_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${FREETYPE_LIBRARY})
if(WITH_INTERNATIONAL)
target_link_libraries(${target} ${GETTEXT_LIB})
if(WIN32 AND NOT UNIX)
- target_link_libraries(${target} ${ICONV_LIB})
+ target_link_libraries(${target} ${ICONV_LIBRARIES})
endif()
endif()
@@ -157,71 +250,72 @@ macro(setup_liblinks
target_link_libraries(${target} ${OPENAL_LIBRARY})
endif()
if(WITH_FFTW3)
- target_link_libraries(${target} ${FFTW3_LIB})
+ target_link_libraries(${target} ${FFTW3_LIBRARIES})
endif()
if(WITH_JACK)
- target_link_libraries(${target} ${JACK_LIB})
+ target_link_libraries(${target} ${JACK_LIBRARIES})
endif()
if(WITH_CODEC_SNDFILE)
- target_link_libraries(${target} ${SNDFILE_LIB})
+ target_link_libraries(${target} ${SNDFILE_LIBRARIES})
endif()
if(WITH_SAMPLERATE)
- target_link_libraries(${target} ${LIBSAMPLERATE_LIB})
+ target_link_libraries(${target} ${SAMPLERATE_LIBRARIES})
endif()
if(WITH_SDL)
target_link_libraries(${target} ${SDL_LIBRARY})
endif()
if(WITH_CODEC_QUICKTIME)
- target_link_libraries(${target} ${QUICKTIME_LIB})
+ target_link_libraries(${target} ${QUICKTIME_LIBRARIES})
endif()
if(WITH_IMAGE_TIFF)
target_link_libraries(${target} ${TIFF_LIBRARY})
endif()
if(WITH_IMAGE_OPENEXR)
if(WIN32 AND NOT UNIX)
- foreach(loop_var ${OPENEXR_LIB})
- target_link_libraries(${target} debug ${loop_var}_d)
- target_link_libraries(${target} optimized ${loop_var})
- endforeach()
+ file_list_suffix(OPENEXR_LIBRARIES_DEBUG "${OPENEXR_LIBRARIES}" "_d")
+ target_link_libraries_debug(${target} "${OPENEXR_LIBRARIES_DEBUG}")
+ target_link_libraries_optimized(${target} "${OPENEXR_LIBRARIES}")
+ unset(OPENEXR_LIBRARIES_DEBUG)
else()
- target_link_libraries(${target} ${OPENEXR_LIB})
+ target_link_libraries(${target} ${OPENEXR_LIBRARIES})
endif()
endif()
if(WITH_IMAGE_OPENJPEG AND UNIX AND NOT APPLE)
- target_link_libraries(${target} ${OPENJPEG_LIB})
- endif()
- if(WITH_LCMS)
- target_link_libraries(${target} ${LCMS_LIBRARY})
+ target_link_libraries(${target} ${OPENJPEG_LIBRARIES})
endif()
if(WITH_CODEC_FFMPEG)
- target_link_libraries(${target} ${FFMPEG_LIB})
+ target_link_libraries(${target} ${FFMPEG_LIBRARIES})
endif()
if(WITH_OPENCOLLADA)
if(WIN32 AND NOT UNIX)
- foreach(loop_var ${OPENCOLLADA_LIB})
- target_link_libraries(${target} debug ${loop_var}_d)
- target_link_libraries(${target} optimized ${loop_var})
- endforeach()
- target_link_libraries(${target} debug ${PCRE_LIB}_d)
- target_link_libraries(${target} optimized ${PCRE_LIB})
+ file_list_suffix(OPENCOLLADA_LIBRARIES_DEBUG "${OPENCOLLADA_LIBRARIES}" "_d")
+ target_link_libraries_debug(${target} "${OPENCOLLADA_LIBRARIES_DEBUG}")
+ target_link_libraries_optimized(${target} "${OPENCOLLADA_LIBRARIES}")
+ unset(OPENCOLLADA_LIBRARIES_DEBUG)
+
+ file_list_suffix(PCRE_LIB_DEBUG "${PCRE_LIB}" "_d")
+ target_link_libraries_debug(${target} "${PCRE_LIB_DEBUG}")
+ target_link_libraries_optimized(${target} "${PCRE_LIB}")
+ unset(PCRE_LIB_DEBUG)
+
if(EXPAT_LIB)
- target_link_libraries(${target} debug ${EXPAT_LIB}_d)
- target_link_libraries(${target} optimized ${EXPAT_LIB})
+ file_list_suffix(EXPAT_LIB_DEBUG "${EXPAT_LIB}" "_d")
+ target_link_libraries_debug(${target} "${EXPAT_LIB_DEBUG}")
+ target_link_libraries_optimized(${target} "${EXPAT_LIB}")
+ unset(EXPAT_LIB_DEBUG)
endif()
else()
- target_link_libraries(${target} ${OPENCOLLADA_LIB})
- target_link_libraries(${target} ${PCRE_LIB})
- target_link_libraries(${target} ${EXPAT_LIB})
+ target_link_libraries(${target}
+ ${OPENCOLLADA_LIBRARIES}
+ ${PCRE_LIB}
+ ${EXPAT_LIB})
endif()
endif()
- if(WITH_LCMS)
- if(WIN32 AND NOT UNIX)
- target_link_libraries(${target} debug ${LCMS_LIB}_d)
- target_link_libraries(${target} optimized ${LCMS_LIB})
- endif()
+ if(WITH_MEM_JEMALLOC)
+ target_link_libraries(${target} ${JEMALLOC_LIBRARIES})
endif()
if(WIN32 AND NOT UNIX)
- target_link_libraries(${target} ${PTHREADS_LIB})
+ target_link_libraries(${target} ${PTHREADS_LIBRARIES})
endif()
endmacro()
@@ -394,3 +488,80 @@ macro(get_blender_version)
# message(STATUS "Version (Internal): ${BLENDER_VERSION}.${BLENDER_SUBVERSION}, Version (external): ${BLENDER_VERSION}${BLENDER_VERSION_CHAR}-${BLENDER_VERSION_CYCLE}")
endmacro()
+
+
+# hacks to override initial project settings
+# these macros must be called directly before/after project(Blender)
+macro(blender_project_hack_pre)
+ # ----------------
+ # MINGW HACK START
+ # ignore system set flag, use our own
+ # must be before project(...)
+ # if the user wants to add their own its ok after first run.
+ if(DEFINED CMAKE_C_STANDARD_LIBRARIES)
+ set(_reset_standard_libraries OFF)
+ else()
+ set(_reset_standard_libraries ON)
+ endif()
+
+ # ------------------
+ # GCC -O3 HACK START
+ # needed because O3 can cause problems but
+ # allow the builder to set O3 manually after.
+ if(DEFINED CMAKE_C_FLAGS_RELEASE)
+ set(_reset_standard_cflags_rel OFF)
+ else()
+ set(_reset_standard_cflags_rel ON)
+ endif()
+ if(DEFINED CMAKE_CXX_FLAGS_RELEASE)
+ set(_reset_standard_cxxflags_rel OFF)
+ else()
+ set(_reset_standard_cxxflags_rel ON)
+ endif()
+endmacro()
+
+
+macro(blender_project_hack_post)
+ # --------------
+ # MINGW HACK END
+ if (_reset_standard_libraries)
+ # Must come after project(...)
+ #
+ # MINGW workaround for -ladvapi32 being included which surprisingly causes
+ # string formatting of floats, eg: printf("%.*f", 3, value). to crash blender
+ # with a meaningless stack trace. by overriding this flag we ensure we only
+ # have libs we define and that cmake & scons builds match.
+ set(CMAKE_C_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
+ set(CMAKE_CXX_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
+ mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES)
+ mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES)
+ endif()
+ unset(_reset_standard_libraries)
+
+
+ # ----------------
+ # GCC -O3 HACK END
+ if(_reset_standard_cflags_rel)
+ string(REGEX REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "" FORCE)
+ mark_as_advanced(CMAKE_C_FLAGS_RELEASE)
+ endif()
+
+ if(_reset_standard_cxxflags_rel)
+ string(REGEX REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "" FORCE)
+ mark_as_advanced(CMAKE_CXX_FLAGS_RELEASE)
+ endif()
+
+ unset(_reset_standard_cflags_rel)
+ unset(_reset_standard_cxxflags_rel)
+
+ # ------------------------------------------------------------------
+ # workaround for omission in cmake 2.8.4's GNU.cmake, fixed in 2.8.5
+ if(CMAKE_COMPILER_IS_GNUCC)
+ if(NOT DARWIN)
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ")
+ endif()
+ endif()
+
+endmacro()
diff --git a/build_files/cmake/packaging.cmake b/build_files/cmake/packaging.cmake
index 07c5add52b0..6cda62b487f 100644
--- a/build_files/cmake/packaging.cmake
+++ b/build_files/cmake/packaging.cmake
@@ -38,7 +38,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
include(build_files/cmake/RpmBuild.cmake)
if(RPMBUILD_FOUND AND NOT WIN32)
set(CPACK_GENERATOR "RPM")
- set(CPACK_RPM_PACKAGE_RELEASE "r${BUILD_REV}")
+ set(CPACK_RPM_PACKAGE_RELEASE "1.r${BUILD_REV}")
set(CPACK_SET_DESTDIR "true")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
set(CPACK_PACKAGE_RELOCATABLE "false")
diff --git a/build_files/cmake/project_info.py b/build_files/cmake/project_info.py
new file mode 100755
index 00000000000..db12884469b
--- /dev/null
+++ b/build_files/cmake/project_info.py
@@ -0,0 +1,218 @@
+#!/usr/bin/env python
+
+# $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.
+#
+# Contributor(s): Campbell Barton, M.G. Kishalmi
+#
+# ***** END GPL LICENSE BLOCK *****
+
+# <pep8 compliant>
+
+"""
+Example Win32 usage:
+ c:\Python32\python.exe c:\blender_dev\blender\build_files\cmake\cmake_qtcreator_project.py c:\blender_dev\cmake_build
+
+example linux usage
+ python .~/blenderSVN/blender/build_files/cmake/cmake_qtcreator_project.py ~/blenderSVN/cmake
+"""
+
+__all__ = (
+ "SIMPLE_PROJECTFILE",
+ "SOURCE_DIR",
+ "CMAKE_DIR",
+ "PROJECT_DIR",
+ "source_list",
+ "is_project_file",
+ "is_c_header",
+ "is_py",
+ "cmake_advanced_info",
+ "cmake_compiler_defines",
+)
+
+import sys
+import os
+from os.path import join, dirname, normpath, abspath, splitext, exists
+
+SOURCE_DIR = join(dirname(__file__), "..", "..")
+SOURCE_DIR = normpath(SOURCE_DIR)
+SOURCE_DIR = abspath(SOURCE_DIR)
+
+SIMPLE_PROJECTFILE = False
+
+# get cmake path
+CMAKE_DIR = sys.argv[-1]
+
+if not exists(join(CMAKE_DIR, "CMakeCache.txt")):
+ CMAKE_DIR = os.getcwd()
+if not exists(join(CMAKE_DIR, "CMakeCache.txt")):
+ print("CMakeCache.txt not found in %r or %r\n Pass CMake build dir as an argument, or run from that dir, aborting" % (CMAKE_DIR, os.getcwd()))
+ sys.exit(1)
+
+
+# could be either.
+# PROJECT_DIR = SOURCE_DIR
+PROJECT_DIR = CMAKE_DIR
+
+
+def source_list(path, filename_check=None):
+ for dirpath, dirnames, filenames in os.walk(path):
+
+ # skip '.svn'
+ if dirpath.startswith("."):
+ continue
+
+ for filename in filenames:
+ filepath = join(dirpath, filename)
+ if filename_check is None or filename_check(filepath):
+ yield filepath
+
+
+# extension checking
+def is_cmake(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".cmake") or (filename.endswith("CMakeLists.txt"))
+
+
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_py(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".py")
+
+
+def is_glsl(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".glsl")
+
+
+def is_c(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
+
+
+def is_c_any(filename):
+ return is_c(filename) or is_c_header(filename)
+
+
+def is_svn_file(filename):
+ dn, fn = os.path.split(filename)
+ filename_svn = join(dn, ".svn", "text-base", "%s.svn-base" % fn)
+ return exists(filename_svn)
+
+
+def is_project_file(filename):
+ return (is_c_any(filename) or is_cmake(filename) or is_glsl(filename)) # and is_svn_file(filename)
+
+
+def cmake_advanced_info():
+ """ Extracr includes and defines from cmake.
+ """
+
+ def create_eclipse_project(CMAKE_DIR):
+ print("CMAKE_DIR %r" % CMAKE_DIR)
+ if sys.platform == "win32":
+ cmd = 'cmake "%s" -G"Eclipse CDT4 - MinGW Makefiles"' % CMAKE_DIR
+ else:
+ cmd = 'cmake "%s" -G"Eclipse CDT4 - Unix Makefiles"' % CMAKE_DIR
+
+ os.system(cmd)
+
+ includes = []
+ defines = []
+
+ create_eclipse_project(CMAKE_DIR)
+
+ from xml.dom.minidom import parse
+ tree = parse(join(CMAKE_DIR, ".cproject"))
+ '''
+ f = open(".cproject_pretty", 'w')
+ f.write(tree.toprettyxml(indent=" ", newl=""))
+ '''
+ ELEMENT_NODE = tree.ELEMENT_NODE
+
+ cproject, = tree.getElementsByTagName("cproject")
+ for storage in cproject.childNodes:
+ if storage.nodeType != ELEMENT_NODE:
+ continue
+
+ if storage.attributes["moduleId"].value == "org.eclipse.cdt.core.settings":
+ cconfig = storage.getElementsByTagName("cconfiguration")[0]
+ for substorage in cconfig.childNodes:
+ if substorage.nodeType != ELEMENT_NODE:
+ continue
+
+ moduleId = substorage.attributes["moduleId"].value
+
+ # org.eclipse.cdt.core.settings
+ # org.eclipse.cdt.core.language.mapping
+ # org.eclipse.cdt.core.externalSettings
+ # org.eclipse.cdt.core.pathentry
+ # org.eclipse.cdt.make.core.buildtargets
+
+ if moduleId == "org.eclipse.cdt.core.pathentry":
+ for path in substorage.childNodes:
+ if path.nodeType != ELEMENT_NODE:
+ continue
+ kind = path.attributes["kind"].value
+
+ if kind == "mac":
+ # <pathentry kind="mac" name="PREFIX" path="" value="&quot;/opt/blender25&quot;"/>
+ defines.append((path.attributes["name"].value, path.attributes["value"].value))
+ elif kind == "inc":
+ # <pathentry include="/data/src/blender/blender/source/blender/editors/include" kind="inc" path="" system="true"/>
+ includes.append(path.attributes["include"].value)
+ else:
+ pass
+
+ return includes, defines
+
+
+def cmake_cache_var(var):
+ cache_file = open(join(CMAKE_DIR, "CMakeCache.txt"))
+ lines = [l_strip for l in cache_file for l_strip in (l.strip(),) if l_strip if not l_strip.startswith("//") if not l_strip.startswith("#")]
+ cache_file.close()
+
+ for l in lines:
+ if l.split(":")[0] == var:
+ return l.split("=", 1)[-1]
+ return None
+
+
+def cmake_compiler_defines():
+ compiler = cmake_cache_var("CMAKE_C_COMPILER") # could do CXX too
+
+ if compiler is None:
+ print("Couldn't find the compiler, os defines will be omitted...")
+ return
+
+ import tempfile
+ temp_c = tempfile.mkstemp(suffix=".c")[1]
+ temp_def = tempfile.mkstemp(suffix=".def")[1]
+
+ os.system("%s -dM -E %s > %s" % (compiler, temp_c, temp_def))
+
+ temp_def_file = open(temp_def)
+ lines = [l.strip() for l in temp_def_file if l.strip()]
+ temp_def_file.close()
+
+ os.remove(temp_c)
+ os.remove(temp_def)
+ return lines
diff --git a/build_files/package_spec/rpm/blender.spec.in b/build_files/package_spec/rpm/blender.spec.in
index 32c9ef99820..502e9f36251 100644
--- a/build_files/package_spec/rpm/blender.spec.in
+++ b/build_files/package_spec/rpm/blender.spec.in
@@ -5,7 +5,7 @@ BuildRoot: @CPACK_RPM_DIRECTORY@/@CPACK_PACKAGE_FILE_NAME@@CPACK_RPM_PACKAG
Summary: @CPACK_RPM_PACKAGE_SUMMARY@
Name: @CPACK_RPM_PACKAGE_NAME@
Version: @CPACK_RPM_PACKAGE_VERSION@
-Release: @CPACK_RPM_PACKAGE_RELEASE@
+Release: @CPACK_RPM_PACKAGE_RELEASE@%{?dist}
License: @CPACK_RPM_PACKAGE_LICENSE@
Group: @CPACK_RPM_PACKAGE_GROUP@
Vendor: @CPACK_RPM_PACKAGE_VENDOR@
diff --git a/build_files/scons/config/aix4-config.py b/build_files/scons/config/aix4-config.py
index e8004338271..f8b3e750e74 100644
--- a/build_files/scons/config/aix4-config.py
+++ b/build_files/scons/config/aix4-config.py
@@ -76,11 +76,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextpo intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
-WITH_BF_FTGL = 'false'
-BF_FTGL = '#extern/bFTGL'
-BF_FTGL_INC = '${BF_FTGL}/include'
-BF_FTGL_LIB = 'extern_ftgl'
-
WITH_BF_GAMEENGINE='false'
WITH_BF_BULLET = 'true'
diff --git a/build_files/scons/config/linux2-config.py b/build_files/scons/config/linux2-config.py
index d4e97c78c38..328cd4cdb28 100644
--- a/build_files/scons/config/linux2-config.py
+++ b/build_files/scons/config/linux2-config.py
@@ -93,7 +93,7 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
#BF_GETTEXT_LIB_STATIC = '${BF_GETTEXT}/lib/libgettextlib.a'
WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = False
+WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
@@ -178,6 +178,14 @@ BF_EXPAT = '/usr'
BF_EXPAT_LIB = 'expat'
BF_EXPAT_LIBPATH = '/usr/lib'
+WITH_BF_JEMALLOC = False
+WITH_BF_STATICJEMALLOC = False
+BF_JEMALLOC = '/usr'
+BF_JEMALLOC_INC = '${BF_JEMALLOC}/include'
+BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib'
+BF_JEMALLOC_LIB = 'jemalloc'
+BF_JEMALLOC_LIB_STATIC = '${BF_JEMALLOC_LIBPATH}/libjemalloc.a'
+
WITH_BF_OPENMP = True
#Ray trace optimization
diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py
index eeb50a9ca65..89b246cb39f 100644
--- a/build_files/scons/config/win32-vc-config.py
+++ b/build_files/scons/config/win32-vc-config.py
@@ -35,7 +35,7 @@ BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
WITH_BF_JACK = False
BF_JACK = LIBDIR + '/jack'
-BF_JACK_INC = '${BF_JACK}/include'
+BF_JACK_INC = '${BF_JACK}/include ${BF_FFMPEG}/include/msvc'
BF_JACK_LIB = 'libjack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
@@ -99,7 +99,7 @@ BF_GETTEXT_LIB = 'gnu_gettext'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = False
+WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
@@ -118,7 +118,7 @@ BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype2ST'
BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
-WITH_BF_QUICKTIME = True # -DWITH_QUICKTIME
+WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = LIBDIR + '/QTDevWin'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/CIncludes'
BF_QUICKTIME_LIB = 'qtmlClient'
@@ -149,12 +149,6 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa UTF'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
-WITH_BF_LCMS = False
-BF_LCMS = LIBDIR + '/lcms'
-BF_LCMS_INC = '${BF_LCMS}/include'
-BF_LCMS_LIB = 'lcms'
-BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
-
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE']
@@ -176,7 +170,7 @@ BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast', '/arch:SSE']
BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
-CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
+CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-D_CRT_SECURE_NO_DEPRECATE']
REL_CFLAGS = ['-O2', '-DNDEBUG']
REL_CCFLAGS = ['-O2', '-DNDEBUG']
REL_CXXFLAGS = ['-O2', '-DNDEBUG']
@@ -187,7 +181,7 @@ CXX_WARN = []
LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid']
-PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', '/LARGEADDRESSAWARE']
+PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', '/LARGEADDRESSAWARE', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
# # Todo
# BF_PROFILE_CCFLAGS = ['-pg', '-g ']
diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py
index 2dcbe8aeb2e..67db1c441d7 100644
--- a/build_files/scons/config/win64-vc-config.py
+++ b/build_files/scons/config/win64-vc-config.py
@@ -50,6 +50,8 @@ BF_SDL_INC = '${BF_SDL}/include'
BF_SDL_LIB = 'SDL.lib'
BF_SDL_LIBPATH = '${BF_SDL}/lib'
+WITH_BF_JACK = False
+
BF_PTHREADS = LIBDIR + '/pthreads'
BF_PTHREADS_INC = '${BF_PTHREADS}/include'
BF_PTHREADS_LIB = 'pthreadVC2'
@@ -101,7 +103,7 @@ BF_GETTEXT_LIB = 'gettext'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = False
+WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
@@ -151,12 +153,6 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa UTF'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
-WITH_BF_LCMS = False
-BF_LCMS = LIBDIR + '/lcms'
-BF_LCMS_INC = '${BF_LCMS}/include'
-BF_LCMS_LIB = 'lcms'
-BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
-
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE','/arch:SSE2']
@@ -176,9 +172,9 @@ CCFLAGS = ['/nologo', '/Ob1', '/J', '/W0', '/Gd', '/we4013', '/wd4018', '/wd4244
CXXFLAGS = ['/EHsc']
BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
-BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
+BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr', '/Od']
-CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
+CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-D_CRT_SECURE_NO_DEPRECATE']
REL_CFLAGS = ['-O2', '-DNDEBUG']
REL_CCFLAGS = ['-O2', '-DNDEBUG']
REL_CXXFLAGS = ['-O2', '-DNDEBUG']
@@ -194,7 +190,7 @@ if BF_DEBUG:
else:
BF_NUMJOBS=6
-PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/STACK:2097152','/OPT:NOREF','/INCREMENTAL:NO']
+PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/STACK:2097152','/OPT:NOREF','/INCREMENTAL:NO', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
BF_BUILDDIR = '..\\build\\blender25-win64-vc'
BF_INSTALLDIR='..\\install\\blender25-win64-vc'
diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py
index ad4df1a60c1..75af7e47edd 100644
--- a/build_files/scons/tools/Blender.py
+++ b/build_files/scons/tools/Blender.py
@@ -148,8 +148,6 @@ def setup_staticlibs(lenv):
libincs += Split(lenv['BF_OPENEXR_LIBPATH'])
if lenv['WITH_BF_STATICOPENEXR']:
statlibs += Split(lenv['BF_OPENEXR_LIB_STATIC'])
- if lenv['WITH_BF_LCMS']:
- libincs += Split(lenv['BF_LCMS_LIBPATH'])
if lenv['WITH_BF_TIFF']:
libincs += Split(lenv['BF_TIFF_LIBPATH'])
if lenv['WITH_BF_STATICTIFF']:
@@ -203,6 +201,11 @@ def setup_staticlibs(lenv):
if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
libincs.append('/usr/lib')
+ if lenv['WITH_BF_JEMALLOC']:
+ libincs += Split(lenv['BF_JEMALLOC_LIBPATH'])
+ if lenv['WITH_BF_STATICJEMALLOC']:
+ statlibs += Split(lenv['BF_JEMALLOC_LIB_STATIC'])
+
return statlibs, libincs
def setup_syslibs(lenv):
@@ -253,16 +256,20 @@ def setup_syslibs(lenv):
syslibs += Split(lenv['BF_OPENGL_LIB'])
if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw','linuxcross', 'win64-vc'):
syslibs += Split(lenv['BF_PTHREADS_LIB'])
- if lenv['WITH_BF_LCMS']:
- syslibs.append(lenv['BF_LCMS_LIB'])
if lenv['WITH_BF_COLLADA']:
syslibs.append(lenv['BF_PCRE_LIB'])
- syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
+ if lenv['BF_DEBUG']:
+ syslibs += [colladalib+'_d' for colladalib in Split(lenv['BF_OPENCOLLADA_LIB'])]
+ else:
+ syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
syslibs.append(lenv['BF_EXPAT_LIB'])
if not lenv['WITH_BF_STATICLIBSAMPLERATE']:
syslibs += Split(lenv['BF_LIBSAMPLERATE_LIB'])
+ if lenv['WITH_BF_JEMALLOC']:
+ if not lenv['WITH_BF_STATICJEMALLOC']:
+ syslibs += Split(lenv['BF_JEMALLOC_LIB'])
syslibs += lenv['LLIBS']
@@ -283,6 +290,46 @@ def propose_priorities():
print "\t\t",new_priority, v
new_priority += 5
+# emits the necessary file objects for creator.c, to be used in creating
+# the final blender executable
+def creator(env):
+ sources = ['creator.c']# + Blender.buildinfo(env, "dynamic") + Blender.resources
+
+ incs = ['#/intern/guardedalloc', '#/source/blender/blenlib', '#/source/blender/blenkernel', '#/source/blender/editors/include', '#/source/blender/blenloader', '#/source/blender/imbuf', '#/source/blender/renderconverter', '#/source/blender/render/extern/include', '#/source/blender/windowmanager', '#/source/blender/makesdna', '#/source/blender/makesrna', '#/source/gameengine/BlenderRoutines', '#/extern/glew/include', '#/source/blender/gpu', env['BF_OPENGL_INC']]
+
+ defs = []
+ if env['WITH_BF_QUICKTIME']:
+ incs.append(env['BF_QUICKTIME_INC'])
+ defs.append('WITH_QUICKTIME')
+
+ if env['WITH_BF_BINRELOC']:
+ incs.append('#/extern/binreloc/include')
+ defs.append('WITH_BINRELOC')
+
+ if env['WITH_BF_OPENEXR']:
+ defs.append('WITH_OPENEXR')
+
+ if env['WITH_BF_TIFF']:
+ defs.append('WITH_TIFF')
+
+ if not env['WITH_BF_SDL']:
+ defs.append('DISABLE_SDL')
+
+ if env['WITH_BF_PYTHON']:
+ incs.append('#/source/blender/python')
+ defs.append('WITH_PYTHON')
+ if env['BF_DEBUG']:
+ defs.append('_DEBUG')
+
+ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
+ incs.append(env['BF_PTHREADS_INC'])
+
+ env.Append(CPPDEFINES=defs)
+ env.Append(CPPPATH=incs)
+ obj = [env.Object(root_build_dir+'source/creator/creator/creator', ['#source/creator/creator.c'])]
+
+ return obj
+
## TODO: see if this can be made in an emitter
def buildinfo(lenv, build_type):
"""
@@ -320,7 +367,7 @@ def buildinfo(lenv, build_type):
lenv.Append (CPPPATH = [root_build_dir+'source/blender/blenkernel'])
- obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, [root_build_dir+'source/creator/buildinfo.c'])]
+ obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, ['#source/creator/buildinfo.c'])]
return obj
@@ -445,10 +492,16 @@ def WinPyBundle(target=None, source=None, env=None):
shutil.rmtree(py_target, False, printexception)
exclude_re=[re.compile('.*/test/.*'),
re.compile('^config/.*'),
+ re.compile('^config-*/.*'),
re.compile('^distutils/.*'),
re.compile('^idlelib/.*'),
re.compile('^lib2to3/.*'),
- re.compile('^tkinter/.*')]
+ re.compile('^tkinter/.*'),
+ re.compile('^_tkinter_d.pyd'),
+ re.compile('^turtledemo'),
+ re.compile('^turtle.py'),
+ ]
+
print "Unpacking '" + py_tar + "' to '" + py_target + "'"
untar_pybundle(py_tar,py_target,exclude_re)
@@ -508,13 +561,16 @@ def AppIt(target=None, source=None, env=None):
cmd = 'mkdir %s/%s.app/Contents/MacOS/%s/python/'%(installdir,binary, VERSION)
commands.getoutput(cmd)
cmd = 'unzip -q %s/release/%s -d %s/%s.app/Contents/MacOS/%s/python/'%(libdir,python_zip,installdir,binary,VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/ui %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/io %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
commands.getoutput(cmd)
+
+ if binary == 'blender':#not copy everything for blenderplayer
+ cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
+ commands.getoutput(cmd)
+ cmd = 'cp -R %s/release/ui %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
+ commands.getoutput(cmd)
+ cmd = 'cp -R %s/release/io %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
+ commands.getoutput(cmd)
+
cmd = 'chmod +x %s/%s.app/Contents/MacOS/%s'%(installdir,binary, binary)
commands.getoutput(cmd)
cmd = 'find %s/%s.app -name .svn -prune -exec rm -rf {} \;'%(installdir, binary)
@@ -565,17 +621,17 @@ def UnixPyBundle(target=None, source=None, env=None):
run("cp -R '%s' '%s'" % (py_src, os.path.dirname(py_target)))
run("rm -rf '%s/distutils'" % py_target)
run("rm -rf '%s/lib2to3'" % py_target)
- run("rm -rf '%s/idlelib'" % py_target)
- run("rm -rf '%s/tkinter'" % py_target)
run("rm -rf '%s/config'" % py_target)
-
+ run("rm -rf '%s/config-*'" % py_target)
run("rm -rf '%s/site-packages'" % py_target)
run("mkdir '%s/site-packages'" % py_target) # python needs it.'
-
+ run("rm -rf '%s/idlelib'" % py_target)
+ run("rm -rf '%s/tkinter'" % py_target)
+ run("rm -rf '%s/turtledemo'" % py_target)
+ run("rm -r '%s/turtle.py'" % py_target)
run("rm -f '%s/lib-dynload/_tkinter.so'" % py_target)
+
run("find '%s' -type d -name 'test' -prune -exec rm -rf {} ';'" % py_target)
- run("find '%s' -type d -name 'config-*' -prune -exec rm -rf {} ';'" % py_target)
- run("find '%s' -type d -name 'turtledemo' -prune -exec rm -rf {} ';'" % py_target)
run("find '%s' -type d -name '__pycache__' -exec rm -rf {} ';'" % py_target)
run("find '%s' -name '*.py[co]' -exec rm -rf {} ';'" % py_target)
run("find '%s' -name '*.so' -exec strip -s {} ';'" % py_target)
@@ -704,23 +760,19 @@ class BlenderEnvironment(SConsEnvironment):
global vcp
print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC
lenv = self.Clone()
+ lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['OURPLATFORM'] in ('win32-vc', 'cygwin', 'win64-vc'):
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
- lenv.Append(LINKFLAGS = ['/FORCE:MULTIPLE'])
if lenv['BF_DEBUG']:
- lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb'])
+ lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb','/NODEFAULTLIB:libcmt'])
if lenv['OURPLATFORM']=='linux2':
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
if lenv['OURPLATFORM']=='sunos5':
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
if lenv['CXX'].endswith('CC'):
lenv.Replace(LINK = '$CXX')
if lenv['OURPLATFORM']=='darwin':
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
lenv.Append(LINKFLAGS = lenv['BF_OPENGL_LINKFLAGS'])
diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py
index fcc782bd824..677ddab8db5 100644
--- a/build_files/scons/tools/btools.py
+++ b/build_files/scons/tools/btools.py
@@ -121,11 +121,11 @@ def validate_arguments(args, bc):
'BF_OPENMP_INC',
'BF_OPENMP_LIBPATH',
'WITH_GHOST_COCOA',
+ 'WITH_GHOST_SDL',
'USE_QTKIT',
'BF_FANCY', 'BF_QUIET', 'BF_LINE_OVERWRITE',
'BF_X264_CONFIG',
'BF_XVIDCORE_CONFIG',
- 'WITH_BF_LCMS', 'BF_LCMS', 'BF_LCMS_INC', 'BF_LCMS_LIB', 'BF_LCMS_LIBPATH',
'WITH_BF_DOCS',
'BF_NUMJOBS',
'BF_MSVS',
@@ -134,7 +134,9 @@ def validate_arguments(args, bc):
'WITH_BF_RAYOPTIMIZATION',
'BF_RAYOPTIMIZATION_SSE_FLAGS',
'BF_NO_ELBEEM',
- 'WITH_BF_CXX_GUARDEDALLOC'
+ 'WITH_BF_CXX_GUARDEDALLOC',
+ 'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC',
+ 'BUILDBOT_BRANCH'
]
# Have options here that scons expects to be lists
@@ -333,12 +335,6 @@ def read_opts(env, cfg, args):
('BF_TIFF_LIBPATH', 'TIFF library path', ''),
('BF_TIFF_LIB_STATIC', 'TIFF static library', ''),
- (BoolVariable('WITH_BF_LCMS', 'Enable color correction with lcms', False)),
- ('BF_LCMS', 'LCMS base path', ''),
- ('BF_LCMS_INC', 'LCMS include path', ''),
- ('BF_LCMS_LIB', 'LCMS library', ''),
- ('BF_LCMS_LIBPATH', 'LCMS library path', ''),
-
(BoolVariable('WITH_BF_ZLIB', 'Use ZLib if true', True)),
(BoolVariable('WITH_BF_STATICZLIB', 'Staticly link to ZLib', False)),
('BF_ZLIB', 'ZLib base path', ''),
@@ -390,6 +386,7 @@ def read_opts(env, cfg, args):
('BF_OPENMP_INC', 'Path to OpenMP includes (used when cross-compiling with older versions of WinGW)', ''),
('BF_OPENMP_LIBPATH', 'Path to OpenMP libraries (used when cross-compiling with older versions of WinGW)', ''),
(BoolVariable('WITH_GHOST_COCOA', 'Use Cocoa-framework if true', False)),
+ (BoolVariable('WITH_GHOST_SDL', 'Enable building blender against SDL for windowing rather then the native APIs', False)),
(BoolVariable('USE_QTKIT', 'Use QTKIT if true', False)),
(BoolVariable('WITH_BF_QUICKTIME', 'Use QuickTime if true', False)),
@@ -429,6 +426,14 @@ def read_opts(env, cfg, args):
('BF_EXPAT_LIB', 'Expat library', ''),
('BF_EXPAT_LIBPATH', 'Expat library path', ''),
+ (BoolVariable('WITH_BF_JEMALLOC', 'Use jemalloc if true', False)),
+ (BoolVariable('WITH_BF_STATICJEMALLOC', 'Staticly link to jemalloc', False)),
+ ('BF_JEMALLOC', 'jemalloc base path', ''),
+ ('BF_JEMALLOC_INC', 'jemalloc include path', ''),
+ ('BF_JEMALLOC_LIB', 'jemalloc library', ''),
+ ('BF_JEMALLOC_LIBPATH', 'jemalloc library path', ''),
+ ('BF_JEMALLOC_LIB_STATIC', 'jemalloc static library', ''),
+
(BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)),
(BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)),
@@ -499,7 +504,9 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_BF_RAYOPTIMIZATION', 'Enable raytracer SSE/SIMD optimization.', False)),
('BF_RAYOPTIMIZATION_SSE_FLAGS', 'SSE flags', ''),
- (BoolVariable('WITH_BF_CXX_GUARDEDALLOC', 'Enable GuardedAlloc for C++ memory allocation tracking.', False))
+ (BoolVariable('WITH_BF_CXX_GUARDEDALLOC', 'Enable GuardedAlloc for C++ memory allocation tracking.', False)),
+
+ ('BUILDBOT_BRANCH', 'Buildbot branch name', ''),
) # end of opts.AddOptions()
return localopts
@@ -544,7 +551,7 @@ def buildslave(target=None, source=None, env=None):
Builder for buildbot integration. Used by buildslaves of http://builder.blender.org only.
"""
- if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw'):
+ if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw', 'darwin'):
extension = '.zip'
else:
extension = '.tar.bz2'
@@ -558,9 +565,15 @@ def buildslave(target=None, source=None, env=None):
platform = 'linux-glibc27-x86_64'
elif bitness == '32bit':
platform = 'linux-glibc27-i686'
+ if platform == 'darwin':
+ platform = 'OSX-' + env['MACOSX_ARCHITECTURE']
+
+ branch = env['BUILDBOT_BRANCH']
outdir = os.path.abspath(env['BF_INSTALLDIR'])
package_name = 'blender-' + VERSION+'-'+REVISION + '-' + platform
+ if branch != '':
+ package_name = branch + '-' + package_name
package_dir = os.path.normpath(outdir + os.sep + '..' + os.sep + package_name)
package_archive = os.path.normpath(outdir + os.sep + '..' + os.sep + package_name + extension)
@@ -603,9 +616,12 @@ def NSIS_Installer(target=None, source=None, env=None):
doneroot = False
rootdirconts = []
datafiles = ''
+ deldatafiles = ''
+ deldatadirs = ''
l = len(bf_installdir)
for dp,dn,df in os.walk(bf_installdir):
+ # install
if not doneroot:
for f in df:
rootdirconts.append(os.path.join(dp,f))
@@ -613,15 +629,22 @@ def NSIS_Installer(target=None, source=None, env=None):
else:
if len(df)>0:
dp_tmp = dp[l:]
- if dp_tmp.find('python\\lib') > -1:
- datafiles += "\n" +r'SetOutPath $INSTDIR'+dp[l:]+"\n\n"
- else:
- datafiles += "\n"+r'SetOutPath $BLENDERHOME'+dp[l:]+"\n\n"
+ datafiles += "\n" +r'SetOutPath $INSTDIR'+dp[l:]+"\n\n"
for f in df:
outfile = os.path.join(dp,f)
datafiles += ' File '+outfile + "\n"
+ # uninstall
+ deldir = dp[l+1:]
+
+ if len(deldir)>0:
+ deldatadirs = "RMDir $INSTDIR\\" + deldir + "\n" + deldatadirs
+ deldatadirs = "RMDir /r $INSTDIR\\" + deldir + "\\__pycache__\n" + deldatadirs
+
+ for f in df:
+ deldatafiles += 'Delete \"$INSTDIR\\' + os.path.join(deldir, f) + "\"\n"
+
#### change to suit install dir ####
inst_dir = install_base_dir + env['BF_INSTALLDIR']
@@ -658,6 +681,8 @@ def NSIS_Installer(target=None, source=None, env=None):
ns_cnt = string.replace(ns_cnt, "[DELROOTDIRCONTS]", delrootstring)
ns_cnt = string.replace(ns_cnt, "[DODATAFILES]", datafiles)
+ ns_cnt = string.replace(ns_cnt, "[DELDATAFILES]", deldatafiles)
+ ns_cnt = string.replace(ns_cnt, "[DELDATADIRS]", deldatadirs)
tmpnsi = os.path.normpath(install_base_dir+os.sep+env['BF_BUILDDIR']+os.sep+"00.blender_tmp.nsi")
new_nsis = open(tmpnsi, 'w')
diff --git a/doc/blender_file_format/BlendFileDnaExporter_25.py b/doc/blender_file_format/BlendFileDnaExporter_25.py
index afc58ce6730..988c992fd78 100755
--- a/doc/blender_file_format/BlendFileDnaExporter_25.py
+++ b/doc/blender_file_format/BlendFileDnaExporter_25.py
@@ -13,8 +13,8 @@
# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ***** END GPL LICENCE BLOCK *****
diff --git a/doc/blender_file_format/BlendFileReader.py b/doc/blender_file_format/BlendFileReader.py
index 7003af10ac7..313c8c7ff5d 100644
--- a/doc/blender_file_format/BlendFileReader.py
+++ b/doc/blender_file_format/BlendFileReader.py
@@ -13,8 +13,8 @@
# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ***** END GPL LICENCE BLOCK *****
diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
index 89dcf834227..79b3f1a4160 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.57"
+PROJECT_NUMBER = "V2.58"
# 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/doxygen/doxygen.source b/doc/doxygen/doxygen.source
index ccdf3448f18..375234d26a3 100644
--- a/doc/doxygen/doxygen.source
+++ b/doc/doxygen/doxygen.source
@@ -145,10 +145,6 @@
* merged in docs.
*/
-/** \defgroup blo readblenfile
- * \ingroup blender data
- */
-
/** \defgroup quicktime quicktime
* \ingroup blender
diff --git a/doc/manpage/blender.1 b/doc/manpage/blender.1
index c27cc98f08b..ddf3a79b104 100644
--- a/doc/manpage/blender.1
+++ b/doc/manpage/blender.1
@@ -1,4 +1,4 @@
-.TH "BLENDER" "1" "April 05, 2011" "Blender Blender 2\&.56 (sub 6)"
+.TH "BLENDER" "1" "June 03, 2011" "Blender Blender 2\&.57 (sub 1)"
.SH NAME
blender \- a 3D modelling and rendering package
@@ -15,7 +15,7 @@ Use Blender to create TV commercials, to make technical visualizations, business
http://www.blender.org
.SH OPTIONS
-Blender 2.56 (sub 6)
+Blender 2.57 (sub 1)
Usage: blender [args ...] [file] [args ...]
.br
.SS "Render Options:"
@@ -160,6 +160,12 @@ Force opening without borders
Open with lower left corner at <sx>, <sy> and width and height as <w>, <h>
.br
+.TP
+.B \-con or \-\-start\-console
+.br
+Start with the console window open (ignored if \-b is set)
+.br
+
.IP
.SS "Game Engine Specific Options:"
@@ -191,7 +197,7 @@ Turn debugging on
.br
* Disables mouse grab (to interact with a debugger in some cases)
.br
-* Keeps python sys.stdin rather then setting it to None
+* Keeps python sys.stdin rather than setting it to None
.br
.TP
@@ -211,12 +217,6 @@ Skip reading the "startup.blend" in the users home directory
.IP
.TP
-.B \-\-env\-system\-config
-.br
-Set the BLENDER_SYSTEM_CONFIG environment variable
-.br
-
-.TP
.B \-\-env\-system\-datafiles
.br
Set the BLENDER_SYSTEM_DATAFILES environment variable
@@ -281,7 +281,7 @@ Print this help text and exit
.TP
.B \-y or \-\-enable\-autoexec
.br
-Enable automatic python script execution (default)
+Enable automatic python script execution, (default)
.br
.TP
@@ -376,7 +376,6 @@ Arguments are executed in the order they are given. eg
.br
.SH "ENVIRONMENT VARIABLES"
\fIBLENDER_USER_CONFIG\fR Directory for user configuration files.
- \fIBLENDER_SYSTEM_CONFIG\fR Directory for system wide configuration files.
\fIBLENDER_USER_SCRIPTS\fR Directory for user scripts.
\fIBLENDER_SYSTEM_SCRIPTS\fR Directory for system wide scripts.
\fIBLENDER_USER_DATAFILES\fR Directory for user data files (icons, translations, ..).
diff --git a/doc/python_api/blender-org/layout.html b/doc/python_api/blender-org/layout.html
index a37ed730c22..88db31e1586 100644
--- a/doc/python_api/blender-org/layout.html
+++ b/doc/python_api/blender-org/layout.html
@@ -8,7 +8,7 @@
{%- macro relbar() %}
<div class="subnav boxheader">
- <ul class="noprint"><li><a href="http://www.blender.org/development/coding-guides/">Coding Guides</a></li><li>•</li><li><a href="http://www.blender.org/development/report-a-bug/">Report a Bug</a></li><li>•</li><li><a href="http://www.blender.org/development/submit-a-patch/">Submit a Patch</a></li><li>•</li><li><a href="http://www.blender.org/development/release-logs/">Release Logs</a></li><li>•</li><li><a href="http://www.blender.org/development/current-projects/">Current Projects</a></li><li>•</li><li><a href="http://www.blender.org/development/architecture/">Architecture</a></li><li>•</li><li><a href="http://www.blender.org/development/building-blender/">Building Blender</a></li><li>•</li><li class="subnav-active"><a href="http://www.blender.org/documentation/250PythonDoc/contents.html">PyAPI</a></li><li>•</li><li><a href="http://wiki.blender.org/index.php/Main_Page">Wiki</a></li></ul>
+ <ul class="noprint"><li><a href="http://wiki.blender.org/index.php/Dev:Contents">Documentation</a></li><li>•</li><li><a href="http://www.blender.org/development/report-a-bug/">Report a Bug</a></li><li>•</li><li><a href="http://wiki.blender.org/index.php/Dev:Doc/Process/Patches">Submit a Patch</a></li><li>•</li><li><a href="http://www.blender.org/development/release-logs/">Release Logs</a></li><li>•</li><li><a href="http://www.blender.org/development/building-blender/">Building Blender</a></li><li>•</li><li><a href="http://wiki.blender.org/index.php/Dev:Doc/Projects">Current Projects</a></li><li>•</li><li><a href="http://wiki.blender.org/index.php/Dev:Source/Architecture">Architecture</a></li><li>•</li><li><a href="http://www.blender.org/documentation/250PythonDoc/contents.html">Python API</a></li><li>•</li><li><a href="http://wiki.blender.org">Wiki</a></li></ul>
</div>
<div class="related subnav">
<h3>{{ _('Navigation') }}</h3>
diff --git a/doc/python_api/epy/BGL.py b/doc/python_api/epy/BGL.py
deleted file mode 100644
index ce148dc72ba..00000000000
--- a/doc/python_api/epy/BGL.py
+++ /dev/null
@@ -1,1807 +0,0 @@
-# Blender.BGL module (OpenGL wrapper)
-
-"""
-The Blender.BGL submodule (the OpenGL wrapper).
-
-B{New}: some GLU functions: L{gluLookAt}, etc.
-
-The Blender.BGL submodule
-=========================
-(when accessing it from the Game Engine use BGL instead of Blender.BGL)
-
-This module wraps OpenGL constants and functions, making them available from
-within Blender Python.
-
-The complete list can be retrieved from the module itself, by listing its
-contents: dir(Blender.BGL). A simple search on the net can point to more
-than enough material to teach OpenGL programming, from books to many
-collections of tutorials.
-
-The "red book": "I{OpenGL Programming Guide: The Official Guide to Learning
-OpenGL}" and the online NeHe tutorials are two of the best resources.
-
-Example::
- import Blender
- from Blender.BGL import *
- from Blender import Draw
- R = G = B = 0
- A = 1
- title = "Testing BGL + Draw"
- instructions = "Use mouse buttons or wheel to change the background color."
- quitting = " Press ESC or q to quit."
- len1 = Draw.GetStringWidth(title)
- len2 = Draw.GetStringWidth(instructions + quitting)
- #
- def show_win():
- glClearColor(R,G,B,A) # define color used to clear buffers
- glClear(GL_COLOR_BUFFER_BIT) # use it to clear the color buffer
- glColor3f(0.35,0.18,0.92) # define default color
- glBegin(GL_POLYGON) # begin a vertex data list
- glVertex2i(165, 158)
- glVertex2i(252, 55)
- glVertex2i(104, 128)
- glEnd()
- glColor3f(0.4,0.4,0.4) # change default color
- glRecti(40, 96, 60+len1, 113)
- glColor3f(1,1,1)
- glRasterPos2i(50,100) # move cursor to x = 50, y = 100
- Draw.Text(title) # draw this text there
- glRasterPos2i(350,40) # move cursor again
- Draw.Text(instructions + quitting) # draw another msg
- glBegin(GL_LINE_LOOP) # begin a vertex-data list
- glVertex2i(46,92)
- glVertex2i(120,92)
- glVertex2i(120,115)
- glVertex2i(46,115)
- glEnd() # close this list
- #
- def ev(evt, val): # event callback for Draw.Register()
- global R,G,B,A # ... it handles input events
- if evt == Draw.ESCKEY or evt == Draw.QKEY:
- Draw.Exit() # this quits the script
- elif not val: return
- elif evt == Draw.LEFTMOUSE: R = 1 - R
- elif evt == Draw.MIDDLEMOUSE: G = 1 - G
- elif evt == Draw.RIGHTMOUSE: B = 1 - B
- elif evt == Draw.WHEELUPMOUSE:
- R += 0.1
- if R > 1: R = 1
- elif evt == Draw.WHEELDOWNMOUSE:
- R -= 0.1
- if R < 0: R = 0
- else:
- return # don't redraw if nothing changed
- Draw.Redraw(1) # make changes visible.
- #
- Draw.Register(show_win, ev, None) # start the main loop
-
-@note: you can use the L{Image} module and L{Image.Image} BPy object to load
- and set textures. See L{Image.Image.glLoad} and L{Image.Image.glFree},
- for example.
-@see: U{www.opengl.org}
-@see: U{nehe.gamedev.net}
-"""
-
-def glAccum(op, value):
- """
- Operate on the accumulation buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/accum.html}
-
- @type op: Enumerated constant
- @param op: The accumulation buffer operation.
- @type value: float
- @param value: a value used in the accumulation buffer operation.
- """
-
-def glAlphaFunc(func, ref):
- """
- Specify the alpha test function
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/alphafunc.html}
-
- @type func: Enumerated constant
- @param func: Specifies the alpha comparison function.
- @type ref: float
- @param ref: The reference value that incoming alpha values are compared to.
- Clamped between 0 and 1.
- """
-
-def glAreTexturesResident(n, textures, residences):
- """
- Determine if textures are loaded in texture memory
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/aretexturesresident.html}
-
- @type n: int
- @param n: Specifies the number of textures to be queried.
- @type textures: Buffer object I{type GL_INT}
- @param textures: Specifies an array containing the names of the textures to be queried
- @type residences: Buffer object I{type GL_INT}(boolean)
- @param residences: An array in which the texture residence status in returned.The residence status of a
- texture named by an element of textures is returned in the corresponding element of residences.
- """
-
-def glBegin(mode):
- """
- Delimit the vertices of a primitive or a group of like primatives
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/begin.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies the primitive that will be create from vertices between glBegin and
- glEnd.
- """
-
-def glBindTexture(target, texture):
- """
- Bind a named texture to a texturing target
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/bindtexture.html}
-
- @type target: Enumerated constant
- @param target: Specifies the target to which the texture is bound.
- @type texture: unsigned int
- @param texture: Specifies the name of a texture.
- """
-
-def glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap):
- """
- Draw a bitmap
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/bitmap.html}
-
- @type width, height: int
- @param width, height: Specify the pixel width and height of the bitmap image.
- @type xorig, yorig: float
- @param xorig, yorig: Specify the location of the origin in the bitmap image. The origin is measured
- from the lower left corner of the bitmap, with right and up being the positive axes.
- @type xmove, ymove: float
- @param xmove, ymove: Specify the x and y offsets to be added to the current raster position after
- the bitmap is drawn.
- @type bitmap: Buffer object I{type GL_BYTE}
- @param bitmap: Specifies the address of the bitmap image.
- """
-
-def glBlendFunc(sfactor, dfactor):
- """
- Specify pixel arithmetic
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/blendfunc.html}
-
- @type sfactor: Enumerated constant
- @param sfactor: Specifies how the red, green, blue, and alpha source blending factors are
- computed.
- @type dfactor: Enumerated constant
- @param dfactor: Specifies how the red, green, blue, and alpha destination blending factors are
- computed.
- """
-
-def glCallList(list):
- """
- Execute a display list
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/calllist.html}
-
- @type list: unsigned int
- @param list: Specifies the integer name of the display list to be executed.
- """
-
-def glCallLists(n, type, lists):
- """
- Execute a list of display lists
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/calllists.html}
-
- @type n: int
- @param n: Specifies the number of display lists to be executed.
- @type type: Enumerated constant
- @param type: Specifies the type of values in lists.
- @type lists: Buffer object
- @param lists: Specifies the address of an array of name offsets in the display list.
- The pointer type is void because the offsets can be bytes, shorts, ints, or floats,
- depending on the value of type.
- """
-
-def glClear(mask):
- """
- Clear buffers to preset values
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clear.html}
-
- @type mask: Enumerated constant(s)
- @param mask: Bitwise OR of masks that indicate the buffers to be cleared.
- """
-
-def glClearAccum(red, green, blue, alpha):
- """
- Specify clear values for the accumulation buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearaccum.html}
-
- @type red, green, blue, alpha: float
- @param red, green, blue, alpha: Specify the red, green, blue, and alpha values used when the
- accumulation buffer is cleared. The initial values are all 0.
- """
-
-def glClearColor(red, green, blue, alpha):
- """
- Specify clear values for the color buffers
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearcolor.html}
-
- @type red, green, blue, alpha: float
- @param red, green, blue, alpha: Specify the red, green, blue, and alpha values used when the
- color buffers are cleared. The initial values are all 0.
- """
-
-def glClearDepth(depth):
- """
- Specify the clear value for the depth buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/cleardepth.html}
-
- @type depth: int
- @param depth: Specifies the depth value used when the depth buffer is cleared.
- The initial value is 1.
- """
-
-def glClearIndex(c):
- """
- Specify the clear value for the color index buffers
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearindex.html}
-
- @type c: float
- @param c: Specifies the index used when the color index buffers are cleared.
- The initial value is 0.
- """
-
-def glClearStencil(s):
- """
- Specify the clear value for the stencil buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearstencil.html}
-
- @type s: int
- @param s: Specifies the index used when the stencil buffer is cleared. The initial value is 0.
- """
-
-def glClipPlane (plane, equation):
- """
- Specify a plane against which all geometry is clipped
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clipplane.html}
-
- @type plane: Enumerated constant
- @param plane: Specifies which clipping plane is being positioned.
- @type equation: Buffer object I{type GL_FLOAT}(double)
- @param equation: Specifies the address of an array of four double- precision floating-point
- values. These values are interpreted as a plane equation.
- """
-
-def glColor (red, green, blue, alpha):
- """
- B{glColor3b, glColor3d, glColor3f, glColor3i, glColor3s, glColor3ub, glColor3ui, glColor3us,
- glColor4b, glColor4d, glColor4f, glColor4i, glColor4s, glColor4ub, glColor4ui, glColor4us,
- glColor3bv, glColor3dv, glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv,
- glColor3usv, glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv, glColor4ubv,
- glColor4uiv, glColor4usv}
-
- Set a new color.
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/color.html}
-
- @type red, green, blue, alpha: Depends on function prototype.
- @param red, green, blue: Specify new red, green, and blue values for the current color.
- @param alpha: Specifies a new alpha value for the current color. Included only in the
- four-argument glColor4 commands. (With '4' colors only)
- """
-
-def glColorMask(red, green, blue, alpha):
- """
- Enable and disable writing of frame buffer color components
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/colormask.html}
-
- @type red, green, blue, alpha: int (boolean)
- @param red, green, blue, alpha: Specify whether red, green, blue, and alpha can or cannot be
- written into the frame buffer. The initial values are all GL_TRUE, indicating that the
- color components can be written.
- """
-
-def glColorMaterial(face, mode):
- """
- Cause a material color to track the current color
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/colormaterial.html}
-
- @type face: Enumerated constant
- @param face: Specifies whether front, back, or both front and back material parameters should
- track the current color.
- @type mode: Enumerated constant
- @param mode: Specifies which of several material parameters track the current color.
- """
-
-def glCopyPixels(x, y, width, height, type):
- """
- Copy pixels in the frame buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/copypixels.html}
-
- @type x, y: int
- @param x, y: Specify the window coordinates of the lower left corner of the rectangular
- region of pixels to be copied.
- @type width, height: int
- @param width,height: Specify the dimensions of the rectangular region of pixels to be copied.
- Both must be non-negative.
- @type type: Enumerated constant
- @param type: Specifies whether color values, depth values, or stencil values are to be copied.
- """
-
- def glCopyTexImage2D(target, level, internalformat, x, y, width, height, border):
- """
- Copy pixels into a 2D texture image
- @see: U{www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml}
-
- @type target: Enumerated constant
- @param target: Specifies the target texture.
- @type level: int
- @param level: Specifies the level-of-detail number. Level 0 is the base image level.
- Level n is the nth mipmap reduction image.
- @type internalformat: int
- @param internalformat: Specifies the number of color components in the texture.
- @type width: int
- @type x, y: int
- @param x, y:Specify the window coordinates of the first pixel that is copied
- from the frame buffer. This location is the lower left corner of a rectangular
- block of pixels.
- @param width: Specifies the width of the texture image. Must be 2n+2(border) for
- some integer n. All implementations support texture images that are at least 64
- texels wide.
- @type height: int
- @param height: Specifies the height of the texture image. Must be 2m+2(border) for
- some integer m. All implementations support texture images that are at least 64
- texels high.
- @type border: int
- @param border: Specifies the width of the border. Must be either 0 or 1.
- """
-
-def glCullFace(mode):
- """
- Specify whether front- or back-facing facets can be culled
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/cullface.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies whether front- or back-facing facets are candidates for culling.
- """
-
-def glDeleteLists(list, range):
- """
- Delete a contiguous group of display lists
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/deletelists.html}
-
- @type list: unsigned int
- @param list: Specifies the integer name of the first display list to delete
- @type range: int
- @param range: Specifies the number of display lists to delete
- """
-
-def glDeleteTextures(n, textures):
- """
- Delete named textures
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/deletetextures.html}
-
- @type n: int
- @param n: Specifies the number of textures to be deleted
- @type textures: Buffer I{GL_INT}
- @param textures: Specifies an array of textures to be deleted
- """
-
-def glDepthFunc(func):
- """
- Specify the value used for depth buffer comparisons
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthfunc.html}
-
- @type func: Enumerated constant
- @param func: Specifies the depth comparison function.
- """
-
-def glDepthMask(flag):
- """
- Enable or disable writing into the depth buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthmask.html}
-
- @type flag: int (boolean)
- @param flag: Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE,
- depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer
- writing is enabled.
- """
-
-def glDepthRange(zNear, zFar):
- """
- Specify mapping of depth values from normalized device coordinates to window coordinates
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthrange.html}
-
- @type zNear: int
- @param zNear: Specifies the mapping of the near clipping plane to window coordinates.
- The initial value is 0.
- @type zFar: int
- @param zFar: Specifies the mapping of the far clipping plane to window coordinates.
- The initial value is 1.
- """
-
-def glDisable(cap):
- """
- Disable server-side GL capabilities
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/enable.html}
-
- @type cap: Enumerated constant
- @param cap: Specifies a symbolic constant indicating a GL capability.
- """
-
-def glDrawBuffer(mode):
- """
- Specify which color buffers are to be drawn into
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawbuffer.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies up to four color buffers to be drawn into.
- """
-
-def glDrawPixels(width, height, format, type, pixels):
- """
- Write a block of pixels to the frame buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawpixels.html}
-
- @type width, height: int
- @param width, height: Specify the dimensions of the pixel rectangle to be
- written into the frame buffer.
- @type format: Enumerated constant
- @param format: Specifies the format of the pixel data.
- @type type: Enumerated constant
- @param type: Specifies the data type for pixels.
- @type pixels: Buffer object
- @param pixels: Specifies a pointer to the pixel data.
- """
-
-def glEdgeFlag (flag):
- """
- B{glEdgeFlag, glEdgeFlagv}
-
- Flag edges as either boundary or non-boundary
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/edgeflag.html}
-
- @type flag: Depends of function prototype
- @param flag: Specifies the current edge flag value.The initial value is GL_TRUE.
- """
-
-def glEnable(cap):
- """
- Enable server-side GL capabilities
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/enable.html}
-
- @type cap: Enumerated constant
- @param cap: Specifies a symbolic constant indicating a GL capability.
- """
-
-def glEnd():
- """
- Delimit the vertices of a primitive or group of like primitives
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/begin.html}
- """
-
-def glEndList():
- """
- Create or replace a display list
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/newlist.html}
- """
-
-def glEvalCoord (u,v):
- """
- B{glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv,
- glEvalCoord2dv, glEvalCoord2fv}
-
- Evaluate enabled one- and two-dimensional maps
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalcoord.html}
-
- @type u: Depends on function prototype.
- @param u: Specifies a value that is the domain coordinate u to the basis function defined
- in a previous glMap1 or glMap2 command. If the function prototype ends in 'v' then
- u specifies a pointer to an array containing either one or two domain coordinates. The first
- coordinate is u. The second coordinate is v, which is present only in glEvalCoord2 versions.
- @type v: Depends on function prototype. (only with '2' prototypes)
- @param v: Specifies a value that is the domain coordinate v to the basis function defined
- in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
- """
-
-def glEvalMesh (mode, i1, i2):
- """
- B{glEvalMesh1 or glEvalMesh2}
-
- Compute a one- or two-dimensional grid of points or lines
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalmesh.html}
-
- @type mode: Enumerated constant
- @param mode: In glEvalMesh1, specifies whether to compute a one-dimensional
- mesh of points or lines.
- @type i1, i2: int
- @param i1, i2: Specify the first and last integer values for the grid domain variable i.
- """
-
-def glEvalPoint (i, j):
- """
- B{glEvalPoint1 and glEvalPoint2}
-
- Generate and evaluate a single point in a mesh
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalpoint.html}
-
- @type i: int
- @param i: Specifies the integer value for grid domain variable i.
- @type j: int (only with '2' prototypes)
- @param j: Specifies the integer value for grid domain variable j (glEvalPoint2 only).
- """
-
-def glFeedbackBuffer (size, type, buffer):
- """
- Controls feedback mode
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/feedbackbuffer.html}
-
- @type size: int
- @param size:Specifies the maximum number of values that can be written into buffer.
- @type type: Enumerated constant
- @param type:Specifies a symbolic constant that describes the information that
- will be returned for each vertex.
- @type buffer: Buffer object I{GL_FLOAT}
- @param buffer: Returns the feedback data.
- """
-
-def glFinish():
- """
- Block until all GL execution is complete
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/finish.html}
- """
-
-def glFlush():
- """
- Force Execution of GL commands in finite time
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/flush.html}
- """
-
-def glFog (pname, param):
- """
- B{glFogf, glFogi, glFogfv, glFogiv}
-
- Specify fog parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/fog.html}
-
- @type pname: Enumerated constant
- @param pname: Specifies a single-valued fog parameter. If the function prototype
- ends in 'v' specifies a fog parameter.
- @type param: Depends on function prototype.
- @param param: Specifies the value or values to be assigned to pname. GL_FOG_COLOR
- requires an array of four values. All other parameters accept an array containing
- only a single value.
- """
-
-def glFrontFace(mode):
- """
- Define front- and back-facing polygons
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/frontface.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies the orientation of front-facing polygons.
- """
-
-def glFrustum(left, right, bottom, top, zNear, zFar):
- """
- Multiply the current matrix by a perspective matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/frustum.html}
-
- @type left, right: double (float)
- @param left, right: Specify the coordinates for the left and right vertical
- clipping planes.
- @type top, bottom: double (float)
- @param top, bottom: Specify the coordinates for the bottom and top horizontal
- clipping planes.
- @type zNear, zFar: double (float)
- @param zNear, zFar: Specify the distances to the near and far depth clipping planes.
- Both distances must be positive.
- """
-
-def glGenLists(range):
- """
- Generate a contiguous set of empty display lists
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/genlists.html}
-
- @type range: int
- @param range: Specifies the number of contiguous empty display lists to be generated.
- """
-
-def glGenTextures(n, textures):
- """
- Generate texture names
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gentextures.html}
-
- @type n: int
- @param n: Specifies the number of textures name to be generated.
- @type textures: Buffer object I{type GL_INT}
- @param textures: Specifies an array in which the generated textures names are stored.
- """
-
-def glGet (pname, param):
- """
- B{glGetBooleanv, glGetfloatv, glGetFloatv, glGetIntegerv}
-
- Return the value or values of a selected parameter
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/get.html}
-
- @type pname: Enumerated constant
- @param pname: Specifies the parameter value to be returned.
- @type param: Depends on function prototype.
- @param param: Returns the value or values of the specified parameter.
- """
-
-def glGetClipPlane(plane, equation):
- """
- Return the coefficients of the specified clipping plane
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getclipplane.html}
-
- @type plane: Enumerated constant
- @param plane: Specifies a clipping plane. The number of clipping planes depends on the
- implementation, but at least six clipping planes are supported. They are identified by
- symbolic names of the form GL_CLIP_PLANEi where 0 < i < GL_MAX_CLIP_PLANES.
- @type equation: Buffer object I{type GL_FLOAT}
- @param equation: Returns four float (double)-precision values that are the coefficients of the
- plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0).
- """
-
-def glGetError():
- """
- Return error information
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/geterror.html}
- """
-
-def glGetLight (light, pname, params):
- """
- B{glGetLightfv and glGetLightiv}
-
- Return light source parameter values
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getlight.html}
-
- @type light: Enumerated constant
- @param light: Specifies a light source. The number of possible lights depends on the
- implementation, but at least eight lights are supported. They are identified by symbolic
- names of the form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
- @type pname: Enumerated constant
- @param pname: Specifies a light source parameter for light.
- @type params: Buffer object. Depends on function prototype.
- @param params: Returns the requested data.
- """
-
-def glGetMap (target, query, v):
- """
- B{glGetMapdv, glGetMapfv, glGetMapiv}
-
- Return evaluator parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getmap.html}
-
- @type target: Enumerated constant
- @param target: Specifies the symbolic name of a map.
- @type query: Enumerated constant
- @param query: Specifies which parameter to return.
- @type v: Buffer object. Depends on function prototype.
- @param v: Returns the requested data.
- """
-
-def glGetMaterial (face, pname, params):
- """
- B{glGetMaterialfv, glGetMaterialiv}
-
- Return material parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getmaterial.html}
-
- @type face: Enumerated constant
- @param face: Specifies which of the two materials is being queried.
- representing the front and back materials, respectively.
- @type pname: Enumerated constant
- @param pname: Specifies the material parameter to return.
- @type params: Buffer object. Depends on function prototype.
- @param params: Returns the requested data.
- """
-
-def glGetPixelMap (map, values):
- """
- B{glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv}
-
- Return the specified pixel map
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getpixelmap.html}
-
- @type map: Enumerated constant
- @param map: Specifies the name of the pixel map to return.
- @type values: Buffer object. Depends on function prototype.
- @param values: Returns the pixel map contents.
- """
-
-def glGetPolygonStipple(mask):
- """
- Return the polygon stipple pattern
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getpolygonstipple.html}
-
- @type mask: Buffer object I{type GL_BYTE}
- @param mask: Returns the stipple pattern. The initial value is all 1's.
- """
-
-def glGetString(name):
- """
- Return a string describing the current GL connection
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getstring.html}
-
- @type name: Enumerated constant
- @param name: Specifies a symbolic constant.
-
- """
-
-def glGetTexEnv (target, pname, params):
- """
- B{glGetTexEnvfv, glGetTexEnviv}
-
- Return texture environment parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexenv.html}
-
- @type target: Enumerated constant
- @param target: Specifies a texture environment. Must be GL_TEXTURE_ENV.
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of a texture environment parameter.
- @type params: Buffer object. Depends on function prototype.
- @param params: Returns the requested data.
- """
-
-def glGetTexGen (coord, pname, params):
- """
- B{glGetTexGendv, glGetTexGenfv, glGetTexGeniv}
-
- Return texture coordinate generation parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexgen.html}
-
- @type coord: Enumerated constant
- @param coord: Specifies a texture coordinate.
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of the value(s) to be returned.
- @type params: Buffer object. Depends on function prototype.
- @param params: Returns the requested data.
- """
-
-def glGetTexImage(target, level, format, type, pixels):
- """
- Return a texture image
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getteximage.html}
-
- @type target: Enumerated constant
- @param target: Specifies which texture is to be obtained.
- @type level: int
- @param level: Specifies the level-of-detail number of the desired image.
- Level 0 is the base image level. Level n is the nth mipmap reduction image.
- @type format: Enumerated constant
- @param format: Specifies a pixel format for the returned data.
- @type type: Enumerated constant
- @param type: Specifies a pixel type for the returned data.
- @type pixels: Buffer object.
- @param pixels: Returns the texture image. Should be a pointer to an array of the
- type specified by type
- """
-
-def glGetTexLevelParameter (target, level, pname, params):
- """
- B{glGetTexLevelParameterfv, glGetTexLevelParameteriv}
-
- return texture parameter values for a specific level of detail
- @see: U{opengl.org/developers/documentation/man_pages/hardcopy/GL/html/gl/gettexlevelparameter.html}
-
- @type target: Enumerated constant
- @param target: Specifies the symbolic name of the target texture.
- @type level: int
- @param level: Specifies the level-of-detail number of the desired image.
- Level 0 is the base image level. Level n is the nth mipmap reduction image.
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of a texture parameter.
- @type params: Buffer object. Depends on function prototype.
- @param params: Returns the requested data.
- """
-
-def glGetTexParameter (target, pname, params):
- """
- B{glGetTexParameterfv, glGetTexParameteriv}
-
- Return texture parameter values
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexparameter.html}
-
- @type target: Enumerated constant
- @param target: Specifies the symbolic name of the target texture.
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name the target texture.
- @type params: Buffer object. Depends on function prototype.
- @param params: Returns the texture parameters.
- """
-
-def glHint(target, mode):
- """
- Specify implementation-specific hints
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/hint.html}
-
- @type target: Enumerated constant
- @param target: Specifies a symbolic constant indicating the behavior to be
- controlled.
- @type mode: Enumerated constant
- @param mode: Specifies a symbolic constant indicating the desired behavior.
- """
-
-def glIndex (c):
- """
- B{glIndexd, glIndexf, glIndexi, glIndexs, glIndexdv, glIndexfv, glIndexiv, glIndexsv}
-
- Set the current color index
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/index_.html}
-
- @type c: Buffer object. Depends on function prototype.
- @param c: Specifies a pointer to a one element array that contains the new value for
- the current color index.
- """
-
-def glInitNames():
- """
- Initialize the name stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/initnames.html}
- """
-
-def glIsEnabled(cap):
- """
- Test whether a capability is enabled
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/isenabled.html}
-
- @type cap: Enumerated constant
- @param cap: Specifies a constant representing a GL capability.
- """
-
-def glIsList(list):
- """
- Determine if a name corresponds to a display-list
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/islist.html}
-
- @type list: unsigned int
- @param list: Specifies a potential display-list name.
- """
-
-def glIsTexture(texture):
- """
- Determine if a name corresponds to a texture
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/istexture.html}
-
- @type texture: unsigned int
- @param texture: Specifies a value that may be the name of a texture.
- """
-
-def glLight (light, pname, param):
- """
- B{glLightf,glLighti, glLightfv, glLightiv}
-
- Set the light source parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/light.html}
-
- @type light: Enumerated constant
- @param light: Specifies a light. The number of lights depends on the implementation,
- but at least eight lights are supported. They are identified by symbolic names of the
- form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
- @type pname: Enumerated constant
- @param pname: Specifies a single-valued light source parameter for light.
- @type param: Depends on function prototype.
- @param param: Specifies the value that parameter pname of light source light will be set to.
- If function prototype ends in 'v' specifies a pointer to the value or values that
- parameter pname of light source light will be set to.
- """
-
-def glLightModel (pname, param):
- """
- B{glLightModelf, glLightModeli, glLightModelfv, glLightModeliv}
-
- Set the lighting model parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/lightmodel.html}
-
- @type pname: Enumerated constant
- @param pname: Specifies a single-value light model parameter.
- @type param: Depends on function prototype.
- @param param: Specifies the value that param will be set to. If function prototype ends in 'v'
- specifies a pointer to the value or values that param will be set to.
- """
-
-def glLineStipple(factor, pattern):
- """
- Specify the line stipple pattern
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/linestipple.html}
-
- @type factor: int
- @param factor: Specifies a multiplier for each bit in the line stipple pattern.
- If factor is 3, for example, each bit in the pattern is used three times before
- the next bit in the pattern is used. factor is clamped to the range [1, 256] and
- defaults to 1.
- @type pattern: unsigned short int
- @param pattern: Specifies a 16-bit integer whose bit pattern determines which fragments
- of a line will be drawn when the line is rasterized. Bit zero is used first; the default
- pattern is all 1's.
- """
-
-def glLineWidth(width):
- """
- Specify the width of rasterized lines.
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/linewidth.html}
-
- @type width: float
- @param width: Specifies the width of rasterized lines. The initial value is 1.
- """
-
-def glListBase(base):
- """
- Set the display-list base for glCallLists
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/listbase.html}
-
- @type base: unsigned int
- @param base: Specifies an integer offset that will be added to glCallLists
- offsets to generate display-list names. The initial value is 0.
- """
-
-def glLoadIdentity():
- """
- Replace the current matrix with the identity matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadidentity.html}
- """
-
-def glLoadMatrix (m):
- """
- B{glLoadMatrixd, glLoadMatixf}
-
- Replace the current matrix with the specified matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadmatrix.html}
-
- @type m: Buffer object. Depends on function prototype.
- @param m: Specifies a pointer to 16 consecutive values, which are used as the elements
- of a 4x4 column-major matrix.
- """
-
-def glLoadName(name):
- """
- Load a name onto the name stack.
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadname.html}
-
- @type name: unsigned int
- @param name: Specifies a name that will replace the top value on the name stack.
- """
-
-def glLogicOp(opcode):
- """
- Specify a logical pixel operation for color index rendering
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/logicop.html}
-
- @type opcode: Enumerated constant
- @param opcode: Specifies a symbolic constant that selects a logical operation.
- """
-
-def glMap1 (target, u1, u2, stride, order, points):
- """
- B{glMap1d, glMap1f}
-
- Define a one-dimensional evaluator
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/map1.html}
-
- @type target: Enumerated constant
- @param target: Specifies the kind of values that are generated by the evaluator.
- @type u1, u2: Depends on function prototype.
- @param u1,u2: Specify a linear mapping of u, as presented to glEvalCoord1, to ^, t
- he variable that is evaluated by the equations specified by this command.
- @type stride: int
- @param stride: Specifies the number of floats or float (double)s between the beginning
- of one control point and the beginning of the next one in the data structure
- referenced in points. This allows control points to be embedded in arbitrary data
- structures. The only constraint is that the values for a particular control point must
- occupy contiguous memory locations.
- @type order: int
- @param order: Specifies the number of control points. Must be positive.
- @type points: Buffer object. Depends on function prototype.
- @param points: Specifies a pointer to the array of control points.
- """
-
-def glMap2 (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points):
- """
- B{glMap2d, glMap2f}
-
- Define a two-dimensional evaluator
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/map2.html}
-
- @type target: Enumerated constant
- @param target: Specifies the kind of values that are generated by the evaluator.
- @type u1, u2: Depends on function prototype.
- @param u1,u2: Specify a linear mapping of u, as presented to glEvalCoord2, to ^, t
- he variable that is evaluated by the equations specified by this command. Initially
- u1 is 0 and u2 is 1.
- @type ustride: int
- @param ustride: Specifies the number of floats or float (double)s between the beginning
- of control point R and the beginning of control point R ij, where i and j are the u
- and v control point indices, respectively. This allows control points to be embedded
- in arbitrary data structures. The only constraint is that the values for a particular
- control point must occupy contiguous memory locations. The initial value of ustride is 0.
- @type uorder: int
- @param uorder: Specifies the dimension of the control point array in the u axis.
- Must be positive. The initial value is 1.
- @type v1, v2: Depends on function prototype.
- @param v1, v2: Specify a linear mapping of v, as presented to glEvalCoord2, to ^,
- one of the two variables that are evaluated by the equations specified by this command.
- Initially, v1 is 0 and v2 is 1.
- @type vstride: int
- @param vstride: Specifies the number of floats or float (double)s between the beginning of control
- point R and the beginning of control point R ij, where i and j are the u and v control
- point(indices, respectively. This allows control points to be embedded in arbitrary data
- structures. The only constraint is that the values for a particular control point must
- occupy contiguous memory locations. The initial value of vstride is 0.
- @type vorder: int
- @param vorder: Specifies the dimension of the control point array in the v axis.
- Must be positive. The initial value is 1.
- @type points: Buffer object. Depends on function prototype.
- @param points: Specifies a pointer to the array of control points.
- """
-
-def glMapGrid (un, u1,u2 ,vn, v1, v2):
- """
- B{glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f}
-
- Define a one- or two-dimensional mesh
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/mapgrid.html}
-
- @type un: int
- @param un: Specifies the number of partitions in the grid range interval
- [u1, u2]. Must be positive.
- @type u1, u2: Depends on function prototype.
- @param u1, u2: Specify the mappings for integer grid domain values i=0 and i=un.
- @type vn: int
- @param vn: Specifies the number of partitions in the grid range interval [v1, v2]
- (glMapGrid2 only).
- @type v1, v2: Depends on function prototype.
- @param v1, v2: Specify the mappings for integer grid domain values j=0 and j=vn
- (glMapGrid2 only).
- """
-
-def glMaterial (face, pname, params):
- """
- Specify material parameters for the lighting model.
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/material.html}
-
- @type face: Enumerated constant
- @param face: Specifies which face or faces are being updated. Must be one of:
- @type pname: Enumerated constant
- @param pname: Specifies the single-valued material parameter of the face
- or faces that is being updated. Must be GL_SHININESS.
- @type params: int
- @param params: Specifies the value that parameter GL_SHININESS will be set to.
- If function prototype ends in 'v' specifies a pointer to the value or values that
- pname will be set to.
- """
-
-def glMatrixMode(mode):
- """
- Specify which matrix is the current matrix.
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/matrixmode.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies which matrix stack is the target for subsequent matrix operations.
- """
-
-def glMultMatrix (m):
- """
- B{glMultMatrixd, glMultMatrixf}
-
- Multiply the current matrix with the specified matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/multmatrix.html}
-
- @type m: Buffer object. Depends on function prototype.
- @param m: Points to 16 consecutive values that are used as the elements of a 4x4 column
- major matrix.
- """
-
-def glNewList(list, mode):
- """
- Create or replace a display list
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/newlist.html}
-
- @type list: unsigned int
- @param list: Specifies the display list name
- @type mode: Enumerated constant
- @param mode: Specifies the compilation mode.
- """
-
-def glNormal3 (nx, ny, nz, v):
- """
- B{Normal3b, Normal3bv, Normal3d, Normal3dv, Normal3f, Normal3fv, Normal3i, Normal3iv,
- Normal3s, Normal3sv}
-
- Set the current normal vector
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/normal.html}
-
- @type nx, ny, nz: Depends on function prototype. (non - 'v' prototypes only)
- @param nx, ny, nz: Specify the x, y, and z coordinates of the new current normal.
- The initial value of the current normal is the unit vector, (0, 0, 1).
- @type v: Buffer object. Depends on function prototype. ('v' prototypes)
- @param v: Specifies a pointer to an array of three elements: the x, y, and z coordinates
- of the new current normal.
- """
-
-def glOrtho(left, right, bottom, top, zNear, zFar):
- """
- Multiply the current matrix with an orthographic matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/ortho.html}
-
- @type left, right: double (float)
- @param left, right: Specify the coordinates for the left and
- right vertical clipping planes.
- @type bottom, top: double (float)
- @param bottom, top: Specify the coordinates for the bottom and top
- horizontal clipping planes.
- @type zNear, zFar: double (float)
- @param zNear, zFar: Specify the distances to the nearer and farther
- depth clipping planes. These values are negative if the plane is to be behind the viewer.
- """
-
-def glPassThrough(token):
- """
- Place a marker in the feedback buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/passthrough.html}
-
- @type token: float
- @param token: Specifies a marker value to be placed in the feedback
- buffer following a GL_PASS_THROUGH_TOKEN.
- """
-
-def glPixelMap (map, mapsize, values):
- """
- B{glPixelMapfv, glPixelMapuiv, glPixelMapusv}
-
- Set up pixel transfer maps
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelmap.html}
-
- @type map: Enumerated constant
- @param map: Specifies a symbolic map name.
- @type mapsize: int
- @param mapsize: Specifies the size of the map being defined.
- @type values: Buffer object. Depends on function prototype.
- @param values: Specifies an array of mapsize values.
- """
-
-def glPixelStore (pname, param):
- """
- B{glPixelStoref, glPixelStorei}
-
- Set pixel storage modes
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelstore.html}
-
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of the parameter to be set.
- Six values affect the packing of pixel data into memory.
- Six more affect the unpacking of pixel data from memory.
- @type param: Depends on function prototype.
- @param param: Specifies the value that pname is set to.
- """
-
-def glPixelTransfer (pname, param):
- """
- B{glPixelTransferf, glPixelTransferi}
-
- Set pixel transfer modes
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixeltransfer.html}
-
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of the pixel transfer parameter to be set.
- @type param: Depends on function prototype.
- @param param: Specifies the value that pname is set to.
- """
-
-def glPixelZoom(xfactor, yfactor):
- """
- Specify the pixel zoom factors
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelzoom.html}
-
- @type xfactor, yfactor: float
- @param xfactor, yfactor: Specify the x and y zoom factors for pixel write operations.
- """
-
-def glPointSize(size):
- """
- Specify the diameter of rasterized points
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pointsize.html}
-
- @type size: float
- @param size: Specifies the diameter of rasterized points. The initial value is 1.
- """
-
-def glPolygonMode(face, mode):
- """
- Select a polygon rasterization mode
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonmode.html}
-
- @type face: Enumerated constant
- @param face: Specifies the polygons that mode applies to.
- Must be GL_FRONT for front-facing polygons, GL_BACK for back- facing polygons,
- or GL_FRONT_AND_BACK for front- and back-facing polygons.
- @type mode: Enumerated constant
- @param mode: Specifies how polygons will be rasterized.
- The initial value is GL_FILL for both front- and back- facing polygons.
- """
-
-def glPolygonOffset(factor, units):
- """
- Set the scale and units used to calculate depth values
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonoffset.html}
-
- @type factor: float
- @param factor: Specifies a scale factor that is used to create a variable depth
- offset for each polygon. The initial value is 0.
- @type units: float
- @param units: Is multiplied by an implementation-specific value to create a constant
- depth offset. The initial value is 0.
- """
-
-def glPolygonStipple(mask):
- """
- Set the polygon stippling pattern
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonstipple.html}
-
- @type mask: Buffer object I{type GL_BYTE}
- @param mask: Specifies a pointer to a 32x32 stipple pattern that will be unpacked
- from memory in the same way that glDrawPixels unpacks pixels.
- """
-
-def glPopAttrib():
- """
- Pop the server attribute stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushattrib.html}
- """
-
-def glPopClientAttrib():
- """
- Pop the client attribute stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushclientattrib.html}
- """
-
-def glPopMatrix():
- """
- Pop the current matrix stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushmatrix.html}
- """
-
-def glPopName():
- """
- Pop the name stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushname.html}
- """
-
-def glPrioritizeTextures(n, textures, priorities):
- """
- Set texture residence priority
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/prioritizetextures.html}
-
- @type n: int
- @param n:Specifies the number of textures to be prioritized.
- @type textures: Buffer I{type GL_INT}
- @param textures: Specifies an array containing the names of the textures to be prioritized.
- @type priorities: Buffer I{type GL_FLOAT}
- @param priorities: Specifies an array containing the texture priorities. A priority given
- in an element of priorities applies to the texture named by the corresponding element of textures.
- """
-
-def glPushAttrib(mask):
- """
- Push the server attribute stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushattrib.html}
-
- @type mask: Enumerated constant(s)
- @param mask: Specifies a mask that indicates which attributes to save.
- """
-
-def glPushClientAttrib(mask):
- """
- Push the client attribute stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushclientattrib.html}
-
- @type mask: Enumerated constant(s)
- @param mask: Specifies a mask that indicates which attributes to save.
- """
-
-def glPushMatrix():
- """
- Push the current matrix stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushmatrix.html}
- """
-
-def glPushName(name):
- """
- Push the name stack
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushname.html}
-
- @type name: unsigned int
- @param name: Specifies a name that will be pushed onto the name stack.
- """
-
-def glRasterPos (x,y,z,w):
- """
- B{glRasterPos2d, glRasterPos2f, glRasterPos2i, glRasterPos2s, glRasterPos3d,
- glRasterPos3f, glRasterPos3i, glRasterPos3s, glRasterPos4d, glRasterPos4f,
- glRasterPos4i, glRasterPos4s, glRasterPos2dv, glRasterPos2fv, glRasterPos2iv,
- glRasterPos2sv, glRasterPos3dv, glRasterPos3fv, glRasterPos3iv, glRasterPos3sv,
- glRasterPos4dv, glRasterPos4fv, glRasterPos4iv, glRasterPos4sv}
-
- Specify the raster position for pixel operations
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rasterpos.html}
-
- @type x, y, z, w: Depends on function prototype. (z and w for '3' and '4' prototypes only)
- @param x, y, z, w: Specify the x,y,z, and w object coordinates (if present) for the
- raster position. If function prototype ends in 'v' specifies a pointer to an array of two,
- three, or four elements, specifying x, y, z, and w coordinates, respectively.
- @note:
- If you are drawing to the 3d view with a Scriptlink of a space handler
- the zoom level of the panels will scale the glRasterPos by the view matrix.
- so a X of 10 will not always offset 10 pixels as you would expect.
-
- To work around this get the scale value of the view matrix and use it to scale your pixel values.
-
- Workaround::
-
- import Blender
- from Blender.BGL import *
- xval, yval= 100, 40
- # Get the scale of the view matrix
- viewMatrix = Buffer(GL_FLOAT, 16)
- glGetFloatv(GL_MODELVIEW_MATRIX, viewMatrix)
- f = 1/viewMatrix[0]
- glRasterPos2f(xval*f, yval*f) # Instead of the usual glRasterPos2i(xval, yval)
- """
-
-def glReadBuffer(mode):
- """
- Select a color buffer source for pixels.
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/readbuffer.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies a color buffer.
- """
-
-def glReadPixels(x, y, width, height, format, type, pixels):
- """
- Read a block of pixels from the frame buffer
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/readpixels.html}
-
- @type x, y: int
- @param x, y:Specify the window coordinates of the first pixel that is read
- from the frame buffer. This location is the lower left corner of a rectangular
- block of pixels.
- @type width, height: int
- @param width, height: Specify the dimensions of the pixel rectangle. width and
- height of one correspond to a single pixel.
- @type format: Enumerated constant
- @param format: Specifies the format of the pixel data.
- @type type: Enumerated constant
- @param type: Specifies the data type of the pixel data.
- @type pixels: Buffer object
- @param pixels: Returns the pixel data.
- """
-
-def glRect (x1,y1,x2,y2,v1,v2):
- """
- B{glRectd, glRectf, glRecti, glRects, glRectdv, glRectfv, glRectiv, glRectsv}
-
- Draw a rectangle
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rect.html}
-
- @type x1, y1: Depends on function prototype. (for non 'v' prototypes only)
- @param x1, y1: Specify one vertex of a rectangle
- @type x2, y2: Depends on function prototype. (for non 'v' prototypes only)
- @param x2, y2: Specify the opposite vertex of the rectangle
- @type v1, v2: Depends on function prototype. (for 'v' prototypes only)
- @param v1, v2: Specifies a pointer to one vertex of a rectangle and the pointer
- to the opposite vertex of the rectangle
- """
-
-def glRenderMode(mode):
- """
- Set rasterization mode
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rendermode.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies the rasterization mode.
- """
-
-def glRotate (angle, x, y, z):
- """
- B{glRotated, glRotatef}
-
- Multiply the current matrix by a rotation matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rotate.html}
-
- @type angle: Depends on function prototype.
- @param angle: Specifies the angle of rotation in degrees.
- @type x, y, z: Depends on function prototype.
- @param x, y, z: Specify the x, y, and z coordinates of a vector respectively.
- """
-
-def glScale (x,y,z):
- """
- B{glScaled, glScalef}
-
- Multiply the current matrix by a general scaling matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/scale.html}
-
- @type x, y, z: Depends on function prototype.
- @param x, y, z: Specify scale factors along the x, y, and z axes, respectively.
- """
-
-def glScissor(x,y,width,height):
- """
- Define the scissor box
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/scissor.html}
-
- @type x, y: int
- @param x, y: Specify the lower left corner of the scissor box. Initially (0, 0).
- @type width, height: int
- @param width height: Specify the width and height of the scissor box. When a
- GL context is first attached to a window, width and height are set to the
- dimensions of that window.
- """
-
-def glSelectBuffer(size, buffer):
- """
- Establish a buffer for selection mode values
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/selectbuffer.html}
-
- @type size: int
- @param size: Specifies the size of buffer
- @type buffer: Buffer I{type GL_INT}
- @param buffer: Returns the selection data
- """
-
-def glShadeModel(mode):
- """
- Select flat or smooth shading
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/shademodel.html}
-
- @type mode: Enumerated constant
- @param mode: Specifies a symbolic value representing a shading technique.
- """
-
-def glStencilFuc(func, ref, mask):
- """
- Set function and reference value for stencil testing
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilfunc.html}
-
- @type func: Enumerated constant
- @param func:Specifies the test function.
- @type ref: int
- @param ref:Specifies the reference value for the stencil test. ref is clamped to
- the range [0,2n-1], where n is the number of bitplanes in the stencil buffer.
- The initial value is 0.
- @type mask: unsigned int
- @param mask:Specifies a mask that is ANDed with both the reference value and
- the stored stencil value when the test is done. The initial value is all 1's.
- """
-
-def glStencilMask(mask):
- """
- Control the writing of individual bits in the stencil planes
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilmask.html}
-
- @type mask: unsigned int
- @param mask: Specifies a bit mask to enable and disable writing of individual bits
- in the stencil planes. Initially, the mask is all 1's.
- """
-
-def glStencilOp(fail, zfail, zpass):
- """
- Set stencil test actions
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilop.html}
-
- @type fail: Enumerated constant
- @param fail: Specifies the action to take when the stencil test fails.
- The initial value is GL_KEEP.
- @type zfail: Enumerated constant
- @param zfail: Specifies the stencil action when the stencil test passes, but the
- depth test fails. zfail accepts the same symbolic constants as fail.
- The initial value is GL_KEEP.
- @type zpass: Enumerated constant
- @param zpass: Specifies the stencil action when both the stencil test and the
- depth test pass, or when the stencil test passes and either there is no depth
- buffer or depth testing is not enabled. zpass accepts the same symbolic constants
- as fail. The initial value is GL_KEEP.
- """
-
-def glTexCoord (s,t,r,q,v):
- """
- B{glTexCoord1d, glTexCoord1f, glTexCoord1i, glTexCoord1s, glTexCoord2d, glTexCoord2f,
- glTexCoord2i, glTexCoord2s, glTexCoord3d, glTexCoord3f, glTexCoord3i, glTexCoord3s,
- glTexCoord4d, glTexCoord4f, glTexCoord4i, glTexCoord4s, glTexCoord1dv, glTexCoord1fv,
- glTexCoord1iv, glTexCoord1sv, glTexCoord2dv, glTexCoord2fv, glTexCoord2iv,
- glTexCoord2sv, glTexCoord3dv, glTexCoord3fv, glTexCoord3iv, glTexCoord3sv,
- glTexCoord4dv, glTexCoord4fv, glTexCoord4iv, glTexCoord4sv}
-
- Set the current texture coordinates
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texcoord.html}
-
- @type s, t, r, q: Depends on function prototype. (r and q for '3' and '4' prototypes only)
- @param s, t, r, q: Specify s, t, r, and q texture coordinates. Not all parameters are
- present in all forms of the command.
- @type v: Buffer object. Depends on function prototype. (for 'v' prototypes only)
- @param v: Specifies a pointer to an array of one, two, three, or four elements,
- which in turn specify the s, t, r, and q texture coordinates.
- """
-
-def glTexEnv (target, pname, param):
- """
- B{glTextEnvf, glTextEnvi, glTextEnvfv, glTextEnviv}
-
- Set texture environment parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texenv.html}
-
- @type target: Enumerated constant
- @param target: Specifies a texture environment. Must be GL_TEXTURE_ENV.
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of a single-valued texture environment
- parameter. Must be GL_TEXTURE_ENV_MODE.
- @type param: Depends on function prototype.
- @param param: Specifies a single symbolic constant. If function prototype ends in 'v'
- specifies a pointer to a parameter array that contains either a single symbolic
- constant or an RGBA color
- """
-
-def glTexGen (coord, pname, param):
- """
- B{glTexGend, glTexGenf, glTexGeni, glTexGendv, glTexGenfv, glTexGeniv}
-
- Control the generation of texture coordinates
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texgen.html}
-
- @type coord: Enumerated constant
- @param coord: Specifies a texture coordinate.
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of the texture- coordinate generation function.
- @type param: Depends on function prototype.
- @param param: Specifies a single-valued texture generation parameter.
- If function prototype ends in 'v' specifies a pointer to an array of texture
- generation parameters. If pname is GL_TEXTURE_GEN_MODE, then the array must
- contain a single symbolic constant. Otherwise, params holds the coefficients
- for the texture-coordinate generation function specified by pname.
- """
-
-def glTexImage1D(target, level, internalformat, width, border, format, type, pixels):
- """
- Specify a one-dimensional texture image
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/teximage1d.html}
-
- @type target: Enumerated constant
- @param target: Specifies the target texture.
- @type level: int
- @param level: Specifies the level-of-detail number. Level 0 is the base image level.
- Level n is the nth mipmap reduction image.
- @type internalformat: int
- @param internalformat: Specifies the number of color components in the texture.
- @type width: int
- @param width: Specifies the width of the texture image. Must be 2n+2(border) for
- some integer n. All implementations support texture images that are at least 64
- texels wide. The height of the 1D texture image is 1.
- @type border: int
- @param border: Specifies the width of the border. Must be either 0 or 1.
- @type format: Enumerated constant
- @param format: Specifies the format of the pixel data.
- @type type: Enumerated constant
- @param type: Specifies the data type of the pixel data.
- @type pixels: Buffer object.
- @param pixels: Specifies a pointer to the image data in memory.
- """
-
-def glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels):
- """
- Specify a two-dimensional texture image
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/teximage2d.html}
-
- @type target: Enumerated constant
- @param target: Specifies the target texture.
- @type level: int
- @param level: Specifies the level-of-detail number. Level 0 is the base image level.
- Level n is the nth mipmap reduction image.
- @type internalformat: int
- @param internalformat: Specifies the number of color components in the texture.
- @type width: int
- @param width: Specifies the width of the texture image. Must be 2n+2(border) for
- some integer n. All implementations support texture images that are at least 64
- texels wide.
- @type height: int
- @param height: Specifies the height of the texture image. Must be 2m+2(border) for
- some integer m. All implementations support texture images that are at least 64
- texels high.
- @type border: int
- @param border: Specifies the width of the border. Must be either 0 or 1.
- @type format: Enumerated constant
- @param format: Specifies the format of the pixel data.
- @type type: Enumerated constant
- @param type: Specifies the data type of the pixel data.
- @type pixels: Buffer object.
- @param pixels: Specifies a pointer to the image data in memory.
- """
-
-def glTexParameter (target, pname, param):
- """
- B{glTexParameterf, glTexParameteri, glTexParameterfv, glTexParameteriv}
-
- Set texture parameters
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texparameter.html}
-
- @type target: Enumerated constant
- @param target: Specifies the target texture.
- @type pname: Enumerated constant
- @param pname: Specifies the symbolic name of a single-valued texture parameter.
- @type param: Depends on function prototype.
- @param param: Specifies the value of pname. If function prototype ends in 'v' specifies
- a pointer to an array where the value or values of pname are stored.
- """
-
-def glTranslate (x, y, z):
- """
- B{glTranslatef, glTranslated}
-
- Multiply the current matrix by a translation matrix
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/translate.html}
-
- @type x, y, z: Depends on function prototype.
- @param x, y, z: Specify the x, y, and z coordinates of a translation vector.
- """
-
-def glVertex (x,y,z,w,v):
- """
- B{glVertex2d, glVertex2f, glVertex2i, glVertex2s, glVertex3d, glVertex3f, glVertex3i,
- glVertex3s, glVertex4d, glVertex4f, glVertex4i, glVertex4s, glVertex2dv, glVertex2fv,
- glVertex2iv, glVertex2sv, glVertex3dv, glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv,
- glVertex4fv, glVertex4iv, glVertex4sv}
-
- Specify a vertex
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/vertex.html}
-
- @type x, y, z, w: Depends on function prototype (z and w for '3' and '4' prototypes only)
- @param x, y, z, w: Specify x, y, z, and w coordinates of a vertex. Not all parameters
- are present in all forms of the command.
- @type v: Buffer object. Depends of function prototype (for 'v' prototypes only)
- @param v: Specifies a pointer to an array of two, three, or four elements. The
- elements of a two-element array are x and y; of a three-element array, x, y, and z;
- and of a four-element array, x, y, z, and w.
- """
-
-def glViewport(x,y,width,height):
- """
- Set the viewport
- @see: U{www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/viewport.html}
-
- @type x, y: int
- @param x, y: Specify the lower left corner of the viewport rectangle,
- in pixels. The initial value is (0,0).
- @type width, height: int
- @param width, height: Specify the width and height of the viewport. When a GL context
- is first attached to a window, width and height are set to the dimensions of that window.
- """
-
-def gluPerspective(fovY, aspect, zNear, zFar):
- """
- Set up a perspective projection matrix.
- @see: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5577288}
-
- @type fovY: double
- @param fovY: Specifies the field of view angle, in degrees, in the y direction.
- @type aspect: double
- @param aspect: Specifies the aspect ratio that determines the field of view in the x direction.
- The aspect ratio is the ratio of x (width) to y (height).
- @type zNear: double
- @param zNear: Specifies the distance from the viewer to the near clipping plane (always positive).
- @type zFar: double
- @param zFar: Specifies the distance from the viewer to the far clipping plane (always positive).
- """
-
-def gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz):
- """
- Define a viewing transformation
- @see: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5573042}
-
- @type eyex, eyey, eyez: double
- @param eyex, eyey, eyez: Specifies the position of the eye point.
- @type centerx, centery, centerz: double
- @param centerx, centery, centerz: Specifies the position of the reference point.
- @type upx, upy, upz: double
- @param upx, upy, upz: Specifies the direction of the up vector.
- """
-
-def gluOrtho2D(left, right, bottom, top):
- """
- Define a 2-D orthographic projection matrix
- @see: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
-
- @type left, right: double
- @param left, right: Specify the coordinates for the left and right vertical clipping planes.
- @type bottom, top: double
- @param bottom, top: Specify the coordinates for the bottom and top horizontal clipping planes.
- """
-
-def gluPickMatrix(x, y, width, height, viewport):
- """
- Define a picking region
- @see: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
-
- @type x, y: double
- @param x, y: Specify the center of a picking region in window coordinates.
- @type width, height: double
- @param width, height: Specify the width and height, respectively, of the picking region in window coordinates.
- @type viewport: Buffer object. [int]
- @param viewport: Specifies the current viewport.
- """
-
-def gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, winx, winy, winz):
- """
- Map object coordinates to window coordinates.
- @see: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
-
- @type objx, objy, objz: double
- @param objx, objy, objz: Specify the object coordinates.
- @type modelMatrix: Buffer object. [double]
- @param modelMatrix: Specifies the current modelview matrix (as from a glGetDoublev call).
- @type projMatrix: Buffer object. [double]
- @param projMatrix: Specifies the current projection matrix (as from a glGetDoublev call).
- @type viewport: Buffer object. [int]
- @param viewport: Specifies the current viewport (as from a glGetIntegerv call).
- @type winx, winy, winz: Buffer object. [double]
- @param winx, winy, winz: Return the computed window coordinates.
- """
-
-def gluUnProject(winx, winy, winz, modelMatrix, projMatrix, viewport, objx, objy, objz):
- """
- Map object coordinates to window
- coordinates.
- @see: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5582204}
-
- @type winx, winy, winz: double
- @param winx, winy, winz: Specify the window coordinates to be mapped.
- @type modelMatrix: Buffer object. [double]
- @param modelMatrix: Specifies the current modelview matrix (as from a glGetDoublev call).
- @type projMatrix: Buffer object. [double]
- @param projMatrix: Specifies the current projection matrix (as from a glGetDoublev call).
- @type viewport: Buffer object. [int]
- @param viewport: Specifies the current viewport (as from a glGetIntegerv call).
- @type objx, objy, objz: Buffer object. [double]
- @param objx, objy, objz: Return the computed object coordinates.
- """
-
-class Buffer:
- """
- The Buffer object is simply a block of memory that is delineated and initialized by the
- user. Many OpenGL functions return data to a C-style pointer, however, because this
- is not possible in python the Buffer object can be used to this end. Wherever pointer
- notation is used in the OpenGL functions the Buffer object can be used in it's BGL
- wrapper. In some instances the Buffer object will need to be initialized with the template
- parameter, while in other instances the user will want to create just a blank buffer
- which will be zeroed by default.
-
- Example with Buffer::
- import Blender
- from Blender import BGL
- myByteBuffer = BGL.Buffer(BGL.GL_BYTE, [32,32])
- BGL.glGetPolygonStipple(myByteBuffer)
- print myByteBuffer.dimensions
- print myByteBuffer.list
- sliceBuffer = myByteBuffer[0:16]
- print sliceBuffer
-
- @ivar list: The contents of the Buffer.
- @ivar dimensions: The size of the Buffer.
- """
-
- def __init__(type, dimensions, template = None):
- """
- This will create a new Buffer object for use with other BGL OpenGL commands.
- Only the type of argument to store in the buffer and the dimensions of the buffer
- are necessary. Buffers are zeroed by default unless a template is supplied, in
- which case the buffer is initialized to the template.
-
- @type type: int
- @param type: The format to store data in. The type should be one of
- GL_BYTE, GL_SHORT, GL_INT, or GL_FLOAT.
- @type dimensions: An int or sequence object specifying the dimensions of the buffer.
- @param dimensions: If the dimensions are specified as an int a linear array will
- be created for the buffer. If a sequence is passed for the dimensions, the buffer
- becomes n-Dimensional, where n is equal to the number of parameters passed in the
- sequence. Example: [256,2] is a two- dimensional buffer while [256,256,4] creates
- a three- dimensional buffer. You can think of each additional dimension as a sub-item
- of the dimension to the left. i.e. [10,2] is a 10 element array each with 2 sub-items.
- [(0,0), (0,1), (1,0), (1,1), (2,0), ...] etc.
- @type template: A python sequence object (optional)
- @param template: A sequence of matching dimensions which will be used to initialize
- the Buffer. If a template is not passed in all fields will be initialized to 0.
- @rtype: Buffer object
- @return: The newly created buffer as a PyObject.
- """
diff --git a/doc/python_api/examples/aud.py b/doc/python_api/examples/aud.py
new file mode 100644
index 00000000000..e41e8214cc0
--- /dev/null
+++ b/doc/python_api/examples/aud.py
@@ -0,0 +1,21 @@
+"""
+Basic Sound Playback
+++++++++++++++++++++
+This script shows how to use the classes: :class:`Device`, :class:`Factory` and
+:class:`Handle`.
+"""
+import aud
+
+device = aud.device()
+# load sound file (it can be a video file with audio)
+factory = aud.Factory('music.ogg')
+
+# play the audio, this return a handle to control play/pause
+handle = device.play(sound)
+# if the audio is not too big and will be used often you can buffer it
+factory_buffered = aud.Factory.buffer(sound)
+handle_buffered = device.play(buffered)
+
+# stop the sounds (otherwise they play until their ends)
+handle.stop()
+handle_buffered.stop()
diff --git a/doc/python_api/examples/bge.constraints.py b/doc/python_api/examples/bge.constraints.py
new file mode 100644
index 00000000000..de2f7e0a39d
--- /dev/null
+++ b/doc/python_api/examples/bge.constraints.py
@@ -0,0 +1,37 @@
+"""
+Basic Physics Constraint
+++++++++++++++++++++++
+Example of how to create a hinge Physics Constraint between two objects.
+"""
+from bge import logic
+from bge import constraints
+
+# get object list
+objects = logic.getCurrentScene().objects
+
+# get object named Object1 and Object 2
+object_1 = objects["Object1"]
+object_2 = objects["Object2"]
+
+# want to use Edge constraint type
+constraint_type = 2
+
+# get Object1 and Object2 physics IDs
+physics_id_1 = object_1.getPhysicsId()
+physics_id_2 = object_2.getPhysicsId()
+
+# Use bottom right edge of Object1 for hinge position
+edge_position_x = 1.0
+edge_position_y = 0.0
+edge_position_z = -1.0
+
+# use Object1 y axis for angle to point hinge
+edge_angle_x = 0.0
+edge_angle_y = 1.0
+edge_angle_z = 0.0
+
+# create an edge constraint
+constraints.createConstraint(physics_id_1, physics_id_2,
+ constraint_type,
+ edge_position_x, edge_position_y, edge_position_z,
+ edge_angle_x, edge_angle_y, edge_angle_z)
diff --git a/doc/python_api/examples/bge.texture.1.py b/doc/python_api/examples/bge.texture.1.py
new file mode 100644
index 00000000000..faa0ae736e8
--- /dev/null
+++ b/doc/python_api/examples/bge.texture.1.py
@@ -0,0 +1,39 @@
+"""
+Texture replacement
+++++++++++++++++++++++
+Example of how to replace a texture in game with an external image.
+createTexture() and removeTexture() are to be called from a module Python
+Controller.
+"""
+from bge import logic
+from bge import texture
+
+
+def createTexture(cont):
+ """Create a new Dynamic Texture"""
+ object = cont.owner
+
+ # get the reference pointer (ID) of the internal texture
+ ID = texture.materialID(obj, 'IMoriginal.png')
+
+ # create a texture object
+ object_texture = texture.Texture(object, ID)
+
+ # create a new source with an external image
+ url = logic.expandPath("//newtexture.jpg")
+ new_source = texture.ImageFFmpeg(url)
+
+ # the texture has to be stored in a permanent Python object
+ logic.texture = object_texture
+
+ # update/replace the texture
+ logic.texture.source = new_source
+ logic.texture.refresh(False)
+
+
+def removeTexture(cont):
+ """Delete the Dynamic Texture, reversing back the final to its original state."""
+ try:
+ del logic.texture
+ except:
+ pass
diff --git a/doc/python_api/examples/bge.texture.py b/doc/python_api/examples/bge.texture.py
new file mode 100644
index 00000000000..70e4d6d9377
--- /dev/null
+++ b/doc/python_api/examples/bge.texture.py
@@ -0,0 +1,32 @@
+"""
+Basic Video Playback
+++++++++++++++++++++++
+Example of how to replace a texture in game with a video. It needs to run everyframe
+"""
+import bge
+from bge import texture
+from bge import logic
+
+cont = logic.getCurrentController()
+obj = cont.owner
+
+# the creation of the texture must be done once: save the
+# texture object in an attribute of bge.logic module makes it persistent
+if not hasattr(logic, 'video'):
+
+ # identify a static texture by name
+ matID = texture.materialID(obj, 'IMvideo.png')
+
+ # create a dynamic texture that will replace the static texture
+ logic.video = texture.Texture(obj, matID)
+
+ # define a source of image for the texture, here a movie
+ movie = logic.expandPath('//trailer_400p.ogg')
+ logic.video.source = texture.VideoFFmpeg(movie)
+ logic.video.source.scale = True
+
+ # quick off the movie, but it wont play in the background
+ logic.video.source.play()
+
+# you need to call this function every frame to ensure update of the texture.
+logic.video.refresh(True)
diff --git a/doc/python_api/examples/blf.py b/doc/python_api/examples/blf.py
new file mode 100644
index 00000000000..f6e87cf488d
--- /dev/null
+++ b/doc/python_api/examples/blf.py
@@ -0,0 +1,44 @@
+"""
+Hello World Text Example
+++++++++++++++++++++++++
+
+Blender Game Engine example of using the blf module. For this module to work we
+need to use the OpenGL wrapper :class:`~bgl` as well.
+"""
+# import game engine modules
+from bge import render
+from bge import logic
+# import stand alone modules
+import bgl
+import blf
+
+
+def init():
+ """init function - runs once"""
+ # create a new font object, use external ttf file
+ font_path = logic.expandPath('//Zeyada.ttf')
+ # store the font indice - to use later
+ logic.font_id = blf.load(font_path)
+
+ # set the font drawing routine to run every frame
+ scene = logic.getCurrentScene()
+ scene.post_draw = [write]
+
+
+def write():
+ """write on screen"""
+ width = render.getWindowWidth()
+ height = render.getWindowHeight()
+
+ # OpenGL setup
+ bgl.glMatrixMode(bgl.GL_PROJECTION)
+ bgl.glLoadIdentity()
+ bgl.gluOrtho2D(0, width, 0, height)
+ bgl.glMatrixMode(bgl.GL_MODELVIEW)
+ bgl.glLoadIdentity()
+
+ # BLF drawing routine
+ font_id = logic.font_id
+ blf.position(font_id, (width * 0.2), (height * 0.3), 0)
+ blf.size(font_id, 50, 72)
+ blf.draw(font_id, "Hello World")
diff --git a/doc/python_api/examples/bpy.props.4.py b/doc/python_api/examples/bpy.props.4.py
new file mode 100644
index 00000000000..2b44d94f72a
--- /dev/null
+++ b/doc/python_api/examples/bpy.props.4.py
@@ -0,0 +1,21 @@
+"""
+Update Example
+++++++++++++++
+
+It can be useful to perform an action when a property is changed and can be
+used to update other properties or synchronize with external data.
+
+All properties define update functions except for CollectionProperty.
+"""
+
+import bpy
+
+
+def update_func(self, context):
+ print("my test function", self)
+
+bpy.types.Scene.testprop = bpy.props.FloatProperty(update=update_func)
+
+bpy.context.scene.testprop = 11.0
+
+# >>> my test function <bpy_struct, Scene("Scene")>
diff --git a/doc/python_api/examples/bpy.types.BlendDataLibraries.load.py b/doc/python_api/examples/bpy.types.BlendDataLibraries.load.py
index 43e6ac90ae7..42e2a71cc70 100644
--- a/doc/python_api/examples/bpy.types.BlendDataLibraries.load.py
+++ b/doc/python_api/examples/bpy.types.BlendDataLibraries.load.py
@@ -21,3 +21,19 @@ with bpy.data.libraries.load(filepath, link=True) as (data_from, data_to):
with bpy.data.libraries.load(filepath) as (data_from, data_to):
for attr in dir(data_to):
setattr(data_to, attr, getattr(data_from, attr))
+
+
+# the 'data_to' variables lists are
+with bpy.data.libraries.load(filepath) as (data_from, data_to):
+ data_to.scenes = ["Scene"]
+
+
+# the loaded objects can be accessed from 'data_to' outside of the context
+# since loading the data replaces the strings for the datablocks or None
+# if the datablock could not be loaded.
+with bpy.data.libraries.load(filepath) as (data_from, data_to):
+ data_to.meshes = data_from.meshes
+# now operate directly on the loaded data
+for mesh in data_to.meshes:
+ if mesh is not None:
+ print(mesh.name)
diff --git a/doc/python_api/examples/bpy.types.RenderEngine.py b/doc/python_api/examples/bpy.types.RenderEngine.py
index 48d642f7602..7af7de1068c 100644
--- a/doc/python_api/examples/bpy.types.RenderEngine.py
+++ b/doc/python_api/examples/bpy.types.RenderEngine.py
@@ -61,10 +61,10 @@ bpy.utils.register_class(CustomRenderEngine)
# Otherwise most of the UI will be empty when the engine is selected.
# In this example, we need to see the main render image button and
# the material preview panel.
-import properties_render
+from bl_ui import properties_render
properties_render.RENDER_PT_render.COMPAT_ENGINES.add('custom_renderer')
del properties_render
-import properties_material
+from bl_ui import properties_material
properties_material.MATERIAL_PT_preview.COMPAT_ENGINES.add('custom_renderer')
del properties_material
diff --git a/doc/python_api/examples/mathutils.Vector.py b/doc/python_api/examples/mathutils.Vector.py
index 880b4ef2590..bf1fc70353f 100644
--- a/doc/python_api/examples/mathutils.Vector.py
+++ b/doc/python_api/examples/mathutils.Vector.py
@@ -1,15 +1,15 @@
import mathutils
# zero length vector
-vec = mathutils.Vector((0, 0, 1))
+vec = mathutils.Vector((0.0, 0.0, 1.0))
# unit length vector
vec_a = vec.copy().normalize()
-vec_b = mathutils.Vector((0, 1, 2))
+vec_b = mathutils.Vector((0.0, 1.0, 2.0))
-vec2d = mathutils.Vector((1, 2))
-vec3d = mathutils.Vector((1, 0, 0))
+vec2d = mathutils.Vector((1.0, 2.0))
+vec3d = mathutils.Vector((1.0, 0.0, 0.0))
vec4d = vec_a.to_4d()
# other mathutuls types
@@ -34,9 +34,9 @@ vec_a + vec_b
vec_a - vec_b
vec_a * vec_b
vec_a * 10.0
-vec_a * matrix
+matrix * vec_a
+quat * vec_a
vec_a * vec_b
-vec_a * quat
-vec_a
@@ -44,6 +44,7 @@ vec_a * quat
x = vec_a[0]
len(vec)
vec_a[:] = vec_b
+vec_a[:] = 1.0, 2.0, 3.0
vec2d[:] = vec3d[:2]
diff --git a/doc/python_api/rst/bge.constraints.rst b/doc/python_api/rst/bge.constraints.rst
new file mode 100644
index 00000000000..882bbc39b9f
--- /dev/null
+++ b/doc/python_api/rst/bge.constraints.rst
@@ -0,0 +1,199 @@
+
+Game Engine bge.constraints Module
+==================================
+
+.. note::
+ This documentation is still very weak, and needs some help!
+
+.. function:: createConstraint([obj1, [obj2, [restLength, [restitution, [damping]]]]])
+
+ Creates a constraint.
+
+ :arg obj1: first object on Constraint
+ :type obj1: :class:'bge.types.KX_GameObject' #I think, there is no error when I use one
+
+ :arg obj2: second object on Constraint
+ :type obj2: :class:'bge.types.KX_GameObject' #too
+
+ :arg restLength: #to be filled
+ :type restLength: float
+
+ :arg restitution: #to be filled
+ :type restitution: float
+
+ :arg damping: #to be filled
+ :type damping: float
+
+.. attribute:: error
+
+ Simbolic constant string that indicates error.
+
+.. function:: exportBulletFile(filename)
+
+ export a .bullet file
+
+ :arg filename: File name
+ :type filename: string
+
+.. function:: getAppliedImpulse(constraintId)
+
+ :arg constraintId: The id of the constraint.
+ :type constraintId: int
+
+ :return: the most recent applied impulse.
+ :rtype: float
+
+.. function:: getVehicleConstraint(constraintId)
+
+ :arg constraintId: The id of the vehicle constraint.
+ :type constraintId: int
+
+ :return: a vehicle constraint object.
+ :rtype: :class:'KX_VehicleWrapper'
+
+.. function:: removeConstraint(constraintId)
+
+ Removes a constraint.
+
+ :arg constraintId: The id of the constraint to be removed.
+ :type constraintId: int
+
+.. function:: setCcdMode(ccdMode)
+
+ ..note::
+ Very experimental, not recommended
+
+ Sets the CCD mode in the Physics Environment.
+
+ :arg ccdMode: The new CCD mode.
+ :type ccdMode: int
+
+.. function:: setContactBreakingTreshold(breakingTreshold)
+
+ .. note::
+ Reasonable default is 0.02 (if units are meters)
+
+ Sets the contact breaking treshold in the Physics Environment.
+
+ :arg breakingTreshold: The new contact breaking treshold.
+ :type breakingTreshold: float
+
+.. function:: setDeactivationAngularTreshold(angularTreshold)
+
+ Sets the deactivation angular treshold.
+
+ :arg angularTreshold: New deactivation angular treshold.
+ :type angularTreshold: float
+
+.. function:: setDeactivationLinearTreshold(linearTreshold)
+
+ Sets the deactivation linear treshold.
+
+ :arg linearTreshold: New deactivation linear treshold.
+ :type linearTreshold: float
+
+.. function:: setDeactivationTime(time)
+
+ Sets the time after which a resting rigidbody gets deactived.
+
+ :arg time: The deactivation time.
+ :type time: float
+
+.. function:: setDebugMode(mode)
+
+ Sets the debug mode.
+
+ Debug modes:
+ - No debug: 0
+ - Draw wireframe: 1
+ - Draw Aabb: 2 #What's Aabb?
+ - Draw freatures text: 4
+ - Draw contact points: 8
+ - No deactivation: 16
+ - No help text: 32
+ - Draw text: 64
+ - Profile timings: 128
+ - Enable sat comparision: 256
+ - Disable Bullet LCP: 512
+ - Enable CCD: 1024
+ - Draw Constraints: #(1 << 11) = ?
+ - Draw Constraint Limits: #(1 << 12) = ?
+ - Fast Wireframe: #(1 << 13) = ?
+
+ :arg mode: The new debug mode.
+ :type mode: int
+
+.. function:: setGravity(x, y, z)
+
+ Sets the gravity force.
+
+ :arg x: Gravity X force.
+ :type x: float
+
+ :arg y: Gravity Y force.
+ :type y: float
+
+ :arg z: Gravity Z force.
+ :type z: float
+
+.. function:: setLinearAirDamping(damping)
+
+ Not implemented.
+
+.. function:: setNumIterations(numiter)
+
+ Sets the number of iterations for an iterative constraint solver.
+
+ :arg numiter: New number of iterations.
+ :type numiter: int
+
+.. function:: setNumTimeSubSteps(numsubstep)
+
+ Sets the number of substeps for each physics proceed. Tradeoff quality for performance.
+
+ :arg numsubstep: New number of substeps.
+ :type numsubstep: int
+
+.. function:: setSolverDamping(damping)
+
+ ..note::
+ Very experimental, not recommended
+
+ Sets the solver damping.
+
+ :arg damping: New damping for the solver.
+ :type damping: float
+
+.. function:: setSolverTau(tau)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the solver tau.
+
+ :arg tau: New tau for the solver.
+ :type tau: float
+
+.. function:: setSolverType(solverType)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the solver type.
+
+ :arg solverType: The new type of the solver.
+ :type solverType: int
+
+.. function:: setSorConstant(sor)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the sor constant.
+
+ :arg sor: New sor value.
+ :type sor: float
+
+.. function:: setUseEpa(epa)
+
+ Not implemented.
diff --git a/doc/python_api/rst/bge.events.rst b/doc/python_api/rst/bge.events.rst
index 7215902a828..cc76ecded85 100644
--- a/doc/python_api/rst/bge.events.rst
+++ b/doc/python_api/rst/bge.events.rst
@@ -1,5 +1,5 @@
-Game Engine bge.events module
+Game Engine bge.events Module
=============================
*****
diff --git a/doc/python_api/rst/bge.logic.rst b/doc/python_api/rst/bge.logic.rst
index 20a3a68b387..f7163ea928e 100644
--- a/doc/python_api/rst/bge.logic.rst
+++ b/doc/python_api/rst/bge.logic.rst
@@ -17,7 +17,7 @@ Module to access logic functions, imported automatically into the python control
# To get the game object this controller is on:
obj = cont.owner
-:class:`~bge.types.KX_GameObject` and :class:`~bge.types.KX_Camera` or :class:`bge.types.~KX_LightObject` methods are available depending on the type of object
+:class:`~bge.types.KX_GameObject` and :class:`~bge.types.KX_Camera` or :class:`~bge.types.KX_LightObject` methods are available depending on the type of object
.. code-block:: python
@@ -345,9 +345,9 @@ Utility functions
.. function:: getAverageFrameRate()
- Gets the estimated average framerate
-
- :return: The estimed average framerate in frames per second
+ Gets the estimated/average framerate for all the active scenes, not only the current scene.
+
+ :return: The estimated average framerate in frames per second
:rtype: float
.. function:: getBlendFileList(path = "//")
diff --git a/doc/python_api/rst/bge.texture.rst b/doc/python_api/rst/bge.texture.rst
new file mode 100644
index 00000000000..996f79a313a
--- /dev/null
+++ b/doc/python_api/rst/bge.texture.rst
@@ -0,0 +1,549 @@
+
+Game Engine bge.texture Module
+==============================
+
+.. note::
+ This documentation is still very weak, and needs some help! Right now they are mostly a collection
+ of the docstrings found in the bge.texture source code + some random places filled with text.
+
+*****
+Intro
+*****
+
+The bge.texture module allows you to manipulate textures during the game.
+
+Several sources for texture are possible: video files, image files, video capture, memory buffer, camera render or a mix of that.
+
+The video and image files can be loaded from the internet using an URL instead of a file name.
+
+In addition, you can apply filters on the images before sending them to the GPU, allowing video effect: blue screen, color band, gray, normal map.
+
+bge.texture uses FFmpeg to load images and videos. All the formats and codecs that FFmpeg supports are supported by this module, including but not limited to::
+
+* AVI
+* Ogg
+* Xvid
+* Theora
+* dv1394 camera
+* video4linux capture card (this includes many webcams)
+* videoForWindows capture card (this includes many webcams)
+* JPG
+
+The principle is simple: first you identify a texture on an existing object using
+the :materialID: function, then you create a new texture with dynamic content
+and swap the two textures in the GPU.
+
+The GE is not aware of the substitution and continues to display the object as always,
+except that you are now in control of the texture.
+
+When the texture object is deleted, the new texture is deleted and the old texture restored.
+
+.. module:: bge.texture
+
+.. class:: VideoFFmpeg(file [, capture=-1, rate=25.0, width=0, height=0])
+
+ FFmpeg video source
+
+ .. attribute:: status
+
+ video status
+
+ .. attribute:: range
+
+ replay range
+
+ .. attribute:: repeat
+
+ repeat count, -1 for infinite repeat
+
+ :type: int
+
+ .. attribute:: framerate
+
+ frame rate
+
+ :type: float
+
+ .. attribute:: valid
+
+ Tells if an image is available
+
+ :type: bool
+
+ .. attribute:: image
+
+ image data
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: preseek
+
+ number of frames of preseek
+
+ :type: int
+
+ .. attribute:: deinterlace
+
+ deinterlace image
+
+ :type: bool
+
+ .. method:: play()
+
+ Play (restart) video
+
+ .. method:: pause()
+
+ pause video
+
+ .. method:: stop()
+
+ stop video (play will replay it from start)
+
+ .. method:: refresh()
+
+ Refresh video - get its status
+
+.. class:: ImageFFmpeg(file)
+
+ FFmpeg image source
+
+ .. attribute:: status
+
+ video status
+
+ .. attribute:: valid
+
+ Tells if an image is available
+
+ :type: bool
+
+ .. attribute:: image
+
+ image data
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. method:: refresh()
+
+ Refresh image, i.e. load it
+
+ .. method:: reload([newname])
+
+ Reload image, i.e. reopen it
+
+.. class:: ImageBuff()
+
+ Image source from image buffer
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: load(imageBuffer, width, height)
+
+ Load image from buffer
+
+ .. method:: plot(imageBuffer, width, height, positionX, positionY)
+
+ update image buffer
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+.. class:: ImageMirror(scene)
+
+ Image source from mirror
+
+ .. attribute:: alpha
+
+ use alpha in texture
+
+ .. attribute:: background
+
+ background color
+
+ .. attribute:: capsize
+
+ size of render area
+
+ .. attribute:: clip
+
+ clipping distance
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: refresh(imageMirror)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+ .. attribute:: whole
+
+ use whole viewport to render
+
+.. class:: ImageMix()
+
+ Image mixer
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. method:: getSource(imageMix)
+
+ get image source
+
+ .. method:: getWeight(imageMix)
+
+ get image source weight
+
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: refresh(imageMix)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. method:: setSource(imageMix)
+
+ set image source
+
+ .. method:: setWeight(imageMix)
+
+ set image source weight
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+.. class:: ImageRender(scene, camera)
+
+ Image source from render
+
+ .. attribute:: alpha
+
+ use alpha in texture
+
+ .. attribute:: background
+
+ background color
+
+ .. attribute:: capsize
+
+ size of render area
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: refresh(imageRender)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+ .. attribute:: whole
+
+ use whole viewport to render
+
+.. class:: ImageViewport()
+
+ Image source from viewport
+
+ .. attribute:: alpha
+
+ use alpha in texture
+
+ .. attribute:: capsize
+
+ size of viewport area being captured
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. attribute:: position
+
+ upper left corner of captured area
+
+ .. method:: refresh(imageViewport)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+ .. attribute:: whole
+
+ use whole viewport to capture
+
+.. class:: Texture(gameObj)
+
+ Texture objects
+
+ .. attribute:: bindId
+
+ OpenGL Bind Name
+
+ .. method:: close(texture)
+
+ Close dynamic texture and restore original
+
+ .. attribute:: mipmap
+
+ mipmap texture
+
+ .. method:: refresh(texture)
+
+ Refresh texture from source
+
+ .. attribute:: source
+
+ source of texture
+
+.. class:: FilterBGR24()
+
+ Source filter BGR24 objects
+
+.. class:: FilterBlueScreen()
+
+ Filter for Blue Screen objects
+
+ .. attribute:: color
+
+ blue screen color
+
+ .. attribute:: limits
+
+ blue screen color limits
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterColor()
+
+ Filter for color calculations
+
+ .. attribute:: matrix
+
+ matrix [4][5] for color calculation
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterGray()
+
+ Filter for gray scale effect
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterLevel()
+
+ Filter for levels calculations
+
+ .. attribute:: levels
+
+ levels matrix [4] (min, max)
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterNormal()
+
+ Filter for Blue Screen objects
+
+ .. attribute:: colorIdx
+
+ index of color used to calculate normal (0 - red, 1 - green, 2 - blue)
+
+ .. attribute:: depth
+
+ depth of relief
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterRGB24()
+
+ Returns a new input filter object to be used with :class:`ImageBuff` object when the image passed
+ to the ImageBuff.load() function has the 3-bytes pixel format BGR.
+
+.. class:: FilterRGBA32()
+
+ Source filter RGBA32 objects
+
+.. function:: getLastError()
+
+ Last error that occurred in a bge.texture function.
+
+ :return: the description of the last error occurred in a bge.texture function.
+ :rtype: string
+
+.. function:: imageToArray(image,mode)
+
+ Returns a :class:`~bgl.buffer` corresponding to the current image stored in a texture source object.
+
+ :arg image: Image source object.
+ :type image: object of type :class:`VideoFFmpeg`, :class:`ImageFFmpeg`, :class:`ImageBuff`, :class:`ImageMix`, :class:`ImageRender`, :class:`ImageMirror` or :class:`ImageViewport`
+ :arg mode: optional argument representing the pixel format.
+ You can use the characters R, G, B for the 3 color channels, A for the alpha channel,
+ 0 to force a fixed 0 color channel and 1 to force a fixed 255 color channel.
+ Example: "BGR" will return 3 bytes per pixel with the Blue, Green and Red channels in that order.
+ "RGB1" will return 4 bytes per pixel with the Red, Green, Blue channels in that order and the alpha channel forced to 255.
+ The default mode is "RGBA".
+
+ :type mode: string
+ :rtype: :class:`~bgl.buffer`
+ :return: A object representing the image as one dimensional array of bytes of size (pixel_size*width*height),
+ line by line starting from the bottom of the image. The pixel size and format is determined by the mode
+ parameter.
+
+.. function materialID(object,name)
+
+ Returns a numeric value that can be used in :class:`Texture` to create a dynamic texture.
+
+ The value corresponds to an internal material number that uses the texture identified
+ by name. name is a string representing a texture name with IM prefix if you want to
+ identify the texture directly. This method works for basic tex face and for material,
+ provided the material has a texture channel using that particular texture in first
+ position of the texture stack. name can also have MA prefix if you want to identify
+ the texture by material. In that case the material must have a texture channel in first
+ position.
+
+ If the object has no material that matches name, it generates a runtime error. Use try/except to catch the exception.
+
+ Ex: bge.texture.materialID(obj, 'IMvideo.png')
+
+ :arg object: the game object that uses the texture you want to make dynamic
+ :type object: game object
+ :arg name: name of the texture/material you want to make dynamic.
+ :type name: string
+ :rtype: integer
+
+.. function setLogFile(filename)
+
+ Sets the name of a text file in which runtime error messages will be written, in addition to the printing
+ of the messages on the Python console. Only the runtime errors specific to the VideoTexture module
+ are written in that file, ordinary runtime time errors are not written.
+
+ :arg filename: name of error log file
+ :type filename: string
+ :rtype: integer
diff --git a/doc/python_api/rst/bge.types.rst b/doc/python_api/rst/bge.types.rst
index b54eca07e55..e42b362c771 100644
--- a/doc/python_api/rst/bge.types.rst
+++ b/doc/python_api/rst/bge.types.rst
@@ -710,6 +710,12 @@ Game Engine bge.types Module
Applies changes to a camera.
+ .. attribute:: damping
+
+ strength of of the camera following movement.
+
+ :type: float
+
.. attribute:: min
minimum distance to the target object maintained by the actuator.
diff --git a/doc/python_api/rst/bgl.rst b/doc/python_api/rst/bgl.rst
new file mode 100644
index 00000000000..76b7442f2c5
--- /dev/null
+++ b/doc/python_api/rst/bgl.rst
@@ -0,0 +1,1889 @@
+
+bgl module (OpenGL wrapper)
+===========================
+
+.. module:: bgl
+
+This module wraps OpenGL constants and functions, making them available from
+within Blender Python.
+
+The complete list can be retrieved from the module itself, by listing its
+contents: dir(bgl). A simple search on the net can point to more
+than enough material to teach OpenGL programming, from books to many
+collections of tutorials.
+
+The "red book": "I{OpenGL Programming Guide: The Official Guide to Learning
+OpenGL}" and the online NeHe tutorials are two of the best resources.
+
+..note::
+ You can use the :class:`Image` type to load and set textures.
+ See :class:`Image.gl_load` and :class:`Image.gl_load`,
+ for example.
+ `OpenGL.org <http://www.opengl.org>`_
+ `NeHe GameDev <nehe.gamedev.net>`_
+
+
+.. function:: glAccum(op, value):
+
+ Operate on the accumulation buffer.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/accum.html>`_
+
+ :type op: Enumerated constant
+ :arg op: The accumulation buffer operation.
+ :type value: float
+ :arg value: a value used in the accumulation buffer operation.
+
+
+.. function:: glAlphaFunc(func, ref):
+
+ Specify the alpha test function.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/alphafunc.html>`_
+
+ :type func: Enumerated constant
+ :arg func: Specifies the alpha comparison function.
+ :type ref: float
+ :arg ref: The reference value that incoming alpha values are compared to.
+ Clamped between 0 and 1.
+
+
+.. function:: glAreTexturesResident(n, textures, residences):
+
+ Determine if textures are loaded in texture memory
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/aretexturesresident.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures to be queried.
+ :type textures: :class:`Buffer` object I{type GL_INT}
+ :arg textures: Specifies an array containing the names of the textures to be queried
+ :type residences: :class:`Buffer` object I{type GL_INT}(boolean)
+ :arg residences: An array in which the texture residence status in returned.
+ The residence status of a texture named by an element of textures is
+ returned in the corresponding element of residences.
+
+
+.. function:: glBegin(mode):
+
+ Delimit the vertices of a primitive or a group of like primatives
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/begin.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies the primitive that will be create from vertices between glBegin and
+ glEnd.
+
+
+.. function:: glBindTexture(target, texture):
+
+ Bind a named texture to a texturing target
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/bindtexture.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target to which the texture is bound.
+ :type texture: unsigned int
+ :arg texture: Specifies the name of a texture.
+
+
+.. function:: glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap):
+
+ Draw a bitmap
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/bitmap.html>`_
+
+ :type width, height: int
+ :arg width, height: Specify the pixel width and height of the bitmap image.
+ :type xorig, yorig: float
+ :arg xorig, yorig: Specify the location of the origin in the bitmap image. The origin is measured
+ from the lower left corner of the bitmap, with right and up being the positive axes.
+ :type xmove, ymove: float
+ :arg xmove, ymove: Specify the x and y offsets to be added to the current raster position after
+ the bitmap is drawn.
+ :type bitmap: :class:`Buffer` object I{type GL_BYTE}
+ :arg bitmap: Specifies the address of the bitmap image.
+
+
+.. function:: glBlendFunc(sfactor, dfactor):
+
+ Specify pixel arithmetic
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/blendfunc.html>`_
+
+ :type sfactor: Enumerated constant
+ :arg sfactor: Specifies how the red, green, blue, and alpha source blending factors are
+ computed.
+ :type dfactor: Enumerated constant
+ :arg dfactor: Specifies how the red, green, blue, and alpha destination
+ blending factors are computed.
+
+
+.. function:: glCallList(list):
+
+ Execute a display list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/calllist.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies the integer name of the display list to be executed.
+
+
+.. function:: glCallLists(n, type, lists):
+
+ Execute a list of display lists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/calllists.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of display lists to be executed.
+ :type type: Enumerated constant
+ :arg type: Specifies the type of values in lists.
+ :type lists: :class:`Buffer` object
+ :arg lists: Specifies the address of an array of name offsets in the display list.
+ The pointer type is void because the offsets can be bytes, shorts, ints, or floats,
+ depending on the value of type.
+
+
+.. function:: glClear(mask):
+
+ Clear buffers to preset values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clear.html>`_
+
+ :type mask: Enumerated constant(s)
+ :arg mask: Bitwise OR of masks that indicate the buffers to be cleared.
+
+
+.. function:: glClearAccum(red, green, blue, alpha):
+
+ Specify clear values for the accumulation buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearaccum.html>`_
+
+ :type red, green, blue, alpha: float
+ :arg red, green, blue, alpha: Specify the red, green, blue, and alpha values used when the
+ accumulation buffer is cleared. The initial values are all 0.
+
+
+.. function:: glClearColor(red, green, blue, alpha):
+
+ Specify clear values for the color buffers
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearcolor.html>`_
+
+ :type red, green, blue, alpha: float
+ :arg red, green, blue, alpha: Specify the red, green, blue, and alpha values used when the
+ color buffers are cleared. The initial values are all 0.
+
+
+.. function:: glClearDepth(depth):
+
+ Specify the clear value for the depth buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/cleardepth.html>`_
+
+ :type depth: int
+ :arg depth: Specifies the depth value used when the depth buffer is cleared.
+ The initial value is 1.
+
+
+.. function:: glClearIndex(c):
+
+ Specify the clear value for the color index buffers
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearindex.html>`_
+
+ :type c: float
+ :arg c: Specifies the index used when the color index buffers are cleared.
+ The initial value is 0.
+
+
+.. function:: glClearStencil(s):
+
+ Specify the clear value for the stencil buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearstencil.html>`_
+
+ :type s: int
+ :arg s: Specifies the index used when the stencil buffer is cleared. The initial value is 0.
+
+
+.. function:: glClipPlane (plane, equation):
+
+ Specify a plane against which all geometry is clipped
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clipplane.html>`_
+
+ :type plane: Enumerated constant
+ :arg plane: Specifies which clipping plane is being positioned.
+ :type equation: :class:`Buffer` object I{type GL_FLOAT}(double)
+ :arg equation: Specifies the address of an array of four double- precision
+ floating-point values. These values are interpreted as a plane equation.
+
+
+.. function:: glColor (red, green, blue, alpha):
+
+ B{glColor3b, glColor3d, glColor3f, glColor3i, glColor3s, glColor3ub, glColor3ui, glColor3us,
+ glColor4b, glColor4d, glColor4f, glColor4i, glColor4s, glColor4ub, glColor4ui, glColor4us,
+ glColor3bv, glColor3dv, glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv,
+ glColor3usv, glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv, glColor4ubv,
+ glColor4uiv, glColor4usv}
+
+ Set a new color.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/color.html>`_
+
+ :type red, green, blue, alpha: Depends on function prototype.
+ :arg red, green, blue: Specify new red, green, and blue values for the current color.
+ :arg alpha: Specifies a new alpha value for the current color. Included only in the
+ four-argument glColor4 commands. (With '4' colors only)
+
+
+.. function:: glColorMask(red, green, blue, alpha):
+
+ Enable and disable writing of frame buffer color components
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/colormask.html>`_
+
+ :type red, green, blue, alpha: int (boolean)
+ :arg red, green, blue, alpha: Specify whether red, green, blue, and alpha can or cannot be
+ written into the frame buffer. The initial values are all GL_TRUE, indicating that the
+ color components can be written.
+
+
+.. function:: glColorMaterial(face, mode):
+
+ Cause a material color to track the current color
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/colormaterial.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies whether front, back, or both front and back material parameters should
+ track the current color.
+ :type mode: Enumerated constant
+ :arg mode: Specifies which of several material parameters track the current color.
+
+
+.. function:: glCopyPixels(x, y, width, height, type):
+
+ Copy pixels in the frame buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/copypixels.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the window coordinates of the lower left corner of the rectangular
+ region of pixels to be copied.
+ :type width, height: int
+ :arg width,height: Specify the dimensions of the rectangular region of pixels to be copied.
+ Both must be non-negative.
+ :type type: Enumerated constant
+ :arg type: Specifies whether color values, depth values, or stencil values are to be copied.
+
+
+ def glCopyTexImage2D(target, level, internalformat, x, y, width, height, border):
+
+ Copy pixels into a 2D texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number. Level 0 is the base image level.
+ Level n is the nth mipmap reduction image.
+ :type internalformat: int
+ :arg internalformat: Specifies the number of color components in the texture.
+ :type width: int
+ :type x, y: int
+ :arg x, y: Specify the window coordinates of the first pixel that is copied
+ from the frame buffer. This location is the lower left corner of a rectangular
+ block of pixels.
+ :arg width: Specifies the width of the texture image. Must be 2n+2(border) for
+ some integer n. All implementations support texture images that are at least 64
+ texels wide.
+ :type height: int
+ :arg height: Specifies the height of the texture image. Must be 2m+2(border) for
+ some integer m. All implementations support texture images that are at least 64
+ texels high.
+ :type border: int
+ :arg border: Specifies the width of the border. Must be either 0 or 1.
+
+
+.. function:: glCullFace(mode):
+
+ Specify whether front- or back-facing facets can be culled
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/cullface.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies whether front- or back-facing facets are candidates for culling.
+
+
+.. function:: glDeleteLists(list, range):
+
+ Delete a contiguous group of display lists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/deletelists.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies the integer name of the first display list to delete
+ :type range: int
+ :arg range: Specifies the number of display lists to delete
+
+
+.. function:: glDeleteTextures(n, textures):
+
+ Delete named textures
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/deletetextures.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures to be deleted
+ :type textures: :class:`Buffer` I{GL_INT}
+ :arg textures: Specifies an array of textures to be deleted
+
+
+.. function:: glDepthFunc(func):
+
+ Specify the value used for depth buffer comparisons
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthfunc.html>`_
+
+ :type func: Enumerated constant
+ :arg func: Specifies the depth comparison function.
+
+
+.. function:: glDepthMask(flag):
+
+ Enable or disable writing into the depth buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthmask.html>`_
+
+ :type flag: int (boolean)
+ :arg flag: Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE,
+ depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer
+ writing is enabled.
+
+
+.. function:: glDepthRange(zNear, zFar):
+
+ Specify mapping of depth values from normalized device coordinates to window coordinates
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthrange.html>`_
+
+ :type zNear: int
+ :arg zNear: Specifies the mapping of the near clipping plane to window coordinates.
+ The initial value is 0.
+ :type zFar: int
+ :arg zFar: Specifies the mapping of the far clipping plane to window coordinates.
+ The initial value is 1.
+
+
+.. function:: glDisable(cap):
+
+ Disable server-side GL capabilities
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/enable.html>`_
+
+ :type cap: Enumerated constant
+ :arg cap: Specifies a symbolic constant indicating a GL capability.
+
+
+.. function:: glDrawBuffer(mode):
+
+ Specify which color buffers are to be drawn into
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawbuffer.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies up to four color buffers to be drawn into.
+
+
+.. function:: glDrawPixels(width, height, format, type, pixels):
+
+ Write a block of pixels to the frame buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawpixels.html>`_
+
+ :type width, height: int
+ :arg width, height: Specify the dimensions of the pixel rectangle to be
+ written into the frame buffer.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type for pixels.
+ :type pixels: :class:`Buffer` object
+ :arg pixels: Specifies a pointer to the pixel data.
+
+
+.. function:: glEdgeFlag (flag):
+
+ B{glEdgeFlag, glEdgeFlagv}
+
+ Flag edges as either boundary or non-boundary
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/edgeflag.html>`_
+
+ :type flag: Depends of function prototype
+ :arg flag: Specifies the current edge flag value.The initial value is GL_TRUE.
+
+
+.. function:: glEnable(cap):
+
+ Enable server-side GL capabilities
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/enable.html>`_
+
+ :type cap: Enumerated constant
+ :arg cap: Specifies a symbolic constant indicating a GL capability.
+
+
+.. function:: glEnd():
+
+ Delimit the vertices of a primitive or group of like primitives
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/begin.html>`_
+
+
+.. function:: glEndList():
+
+ Create or replace a display list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/newlist.html>`_
+
+
+.. function:: glEvalCoord (u,v):
+
+ B{glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv,
+ glEvalCoord2dv, glEvalCoord2fv}
+
+ Evaluate enabled one- and two-dimensional maps
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalcoord.html>`_
+
+ :type u: Depends on function prototype.
+ :arg u: Specifies a value that is the domain coordinate u to the basis function defined
+ in a previous glMap1 or glMap2 command. If the function prototype ends in 'v' then
+ u specifies a pointer to an array containing either one or two domain coordinates. The first
+ coordinate is u. The second coordinate is v, which is present only in glEvalCoord2 versions.
+ :type v: Depends on function prototype. (only with '2' prototypes)
+ :arg v: Specifies a value that is the domain coordinate v to the basis function defined
+ in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
+
+
+.. function:: glEvalMesh (mode, i1, i2):
+
+ B{glEvalMesh1 or glEvalMesh2}
+
+ Compute a one- or two-dimensional grid of points or lines
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalmesh.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: In glEvalMesh1, specifies whether to compute a one-dimensional
+ mesh of points or lines.
+ :type i1, i2: int
+ :arg i1, i2: Specify the first and last integer values for the grid domain variable i.
+
+
+.. function:: glEvalPoint (i, j):
+
+ B{glEvalPoint1 and glEvalPoint2}
+
+ Generate and evaluate a single point in a mesh
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalpoint.html>`_
+
+ :type i: int
+ :arg i: Specifies the integer value for grid domain variable i.
+ :type j: int (only with '2' prototypes)
+ :arg j: Specifies the integer value for grid domain variable j (glEvalPoint2 only).
+
+
+.. function:: glFeedbackBuffer (size, type, buffer):
+
+ Controls feedback mode
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/feedbackbuffer.html>`_
+
+ :type size: int
+ :arg size: Specifies the maximum number of values that can be written into buffer.
+ :type type: Enumerated constant
+ :arg type: Specifies a symbolic constant that describes the information that
+ will be returned for each vertex.
+ :type buffer: :class:`Buffer` object I{GL_FLOAT}
+ :arg buffer: Returns the feedback data.
+
+
+.. function:: glFinish():
+
+ Block until all GL execution is complete
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/finish.html>`_
+
+
+.. function:: glFlush():
+
+ Force Execution of GL commands in finite time
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/flush.html>`_
+
+
+.. function:: glFog (pname, param):
+
+ B{glFogf, glFogi, glFogfv, glFogiv}
+
+ Specify fog parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/fog.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies a single-valued fog parameter. If the function prototype
+ ends in 'v' specifies a fog parameter.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value or values to be assigned to pname. GL_FOG_COLOR
+ requires an array of four values. All other parameters accept an array containing
+ only a single value.
+
+
+.. function:: glFrontFace(mode):
+
+ Define front- and back-facing polygons
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/frontface.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies the orientation of front-facing polygons.
+
+
+.. function:: glFrustum(left, right, bottom, top, zNear, zFar):
+
+ Multiply the current matrix by a perspective matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/frustum.html>`_
+
+ :type left, right: double (float)
+ :arg left, right: Specify the coordinates for the left and right vertical
+ clipping planes.
+ :type top, bottom: double (float)
+ :arg top, bottom: Specify the coordinates for the bottom and top horizontal
+ clipping planes.
+ :type zNear, zFar: double (float)
+ :arg zNear, zFar: Specify the distances to the near and far depth clipping planes.
+ Both distances must be positive.
+
+
+.. function:: glGenLists(range):
+
+ Generate a contiguous set of empty display lists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/genlists.html>`_
+
+ :type range: int
+ :arg range: Specifies the number of contiguous empty display lists to be generated.
+
+
+.. function:: glGenTextures(n, textures):
+
+ Generate texture names
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gentextures.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures name to be generated.
+ :type textures: :class:`Buffer` object I{type GL_INT}
+ :arg textures: Specifies an array in which the generated textures names are stored.
+
+
+.. function:: glGet (pname, param):
+
+ B{glGetBooleanv, glGetfloatv, glGetFloatv, glGetIntegerv}
+
+ Return the value or values of a selected parameter
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/get.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies the parameter value to be returned.
+ :type param: Depends on function prototype.
+ :arg param: Returns the value or values of the specified parameter.
+
+
+.. function:: glGetClipPlane(plane, equation):
+
+ Return the coefficients of the specified clipping plane
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getclipplane.html>`_
+
+ :type plane: Enumerated constant
+ :arg plane: Specifies a clipping plane. The number of clipping planes depends on the
+ implementation, but at least six clipping planes are supported. They are identified by
+ symbolic names of the form GL_CLIP_PLANEi where 0 < i < GL_MAX_CLIP_PLANES.
+ :type equation: :class:`Buffer` object I{type GL_FLOAT}
+ :arg equation: Returns four float (double)-precision values that are the coefficients of the
+ plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0).
+
+
+.. function:: glGetError():
+
+ Return error information
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/geterror.html>`_
+
+
+.. function:: glGetLight (light, pname, params):
+
+ B{glGetLightfv and glGetLightiv}
+
+ Return light source parameter values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getlight.html>`_
+
+ :type light: Enumerated constant
+ :arg light: Specifies a light source. The number of possible lights depends on the
+ implementation, but at least eight lights are supported. They are identified by symbolic
+ names of the form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
+ :type pname: Enumerated constant
+ :arg pname: Specifies a light source parameter for light.
+ :type params: :class:`Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetMap (target, query, v):
+
+ B{glGetMapdv, glGetMapfv, glGetMapiv}
+
+ Return evaluator parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getmap.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the symbolic name of a map.
+ :type query: Enumerated constant
+ :arg query: Specifies which parameter to return.
+ :type v: :class:`Buffer` object. Depends on function prototype.
+ :arg v: Returns the requested data.
+
+
+.. function:: glGetMaterial (face, pname, params):
+
+ B{glGetMaterialfv, glGetMaterialiv}
+
+ Return material parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getmaterial.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies which of the two materials is being queried.
+ representing the front and back materials, respectively.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the material parameter to return.
+ :type params: :class:`Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetPixelMap (map, values):
+
+ B{glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv}
+
+ Return the specified pixel map
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getpixelmap.html>`_
+
+ :type map: Enumerated constant
+ :arg map: Specifies the name of the pixel map to return.
+ :type values: :class:`Buffer` object. Depends on function prototype.
+ :arg values: Returns the pixel map contents.
+
+
+.. function:: glGetPolygonStipple(mask):
+
+ Return the polygon stipple pattern
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getpolygonstipple.html>`_
+
+ :type mask: :class:`Buffer` object I{type GL_BYTE}
+ :arg mask: Returns the stipple pattern. The initial value is all 1's.
+
+
+.. function:: glGetString(name):
+
+ Return a string describing the current GL connection
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getstring.html>`_
+
+ :type name: Enumerated constant
+ :arg name: Specifies a symbolic constant.
+
+
+
+.. function:: glGetTexEnv (target, pname, params):
+
+ B{glGetTexEnvfv, glGetTexEnviv}
+
+ Return texture environment parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexenv.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies a texture environment. Must be GL_TEXTURE_ENV.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a texture environment parameter.
+ :type params: :class:`Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetTexGen (coord, pname, params):
+
+ B{glGetTexGendv, glGetTexGenfv, glGetTexGeniv}
+
+ Return texture coordinate generation parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexgen.html>`_
+
+ :type coord: Enumerated constant
+ :arg coord: Specifies a texture coordinate.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the value(s) to be returned.
+ :type params: :class:`Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetTexImage(target, level, format, type, pixels):
+
+ Return a texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getteximage.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies which texture is to be obtained.
+ :type level: int
+ :arg level: Specifies the level-of-detail number of the desired image.
+ Level 0 is the base image level. Level n is the nth mipmap reduction image.
+ :type format: Enumerated constant
+ :arg format: Specifies a pixel format for the returned data.
+ :type type: Enumerated constant
+ :arg type: Specifies a pixel type for the returned data.
+ :type pixels: :class:`Buffer` object.
+ :arg pixels: Returns the texture image. Should be a pointer to an array of the
+ type specified by type
+
+
+.. function:: glGetTexLevelParameter (target, level, pname, params):
+
+ B{glGetTexLevelParameterfv, glGetTexLevelParameteriv}
+
+ return texture parameter values for a specific level of detail
+
+ .. seealso:: U{opengl.org/developers/documentation/man_pages/hardcopy/GL/html/gl/gettexlevelparameter.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the symbolic name of the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number of the desired image.
+ Level 0 is the base image level. Level n is the nth mipmap reduction image.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a texture parameter.
+ :type params: :class:`Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetTexParameter (target, pname, params):
+
+ B{glGetTexParameterfv, glGetTexParameteriv}
+
+ Return texture parameter values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexparameter.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the symbolic name of the target texture.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name the target texture.
+ :type params: :class:`Buffer` object. Depends on function prototype.
+ :arg params: Returns the texture parameters.
+
+
+.. function:: glHint(target, mode):
+
+ Specify implementation-specific hints
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/hint.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies a symbolic constant indicating the behavior to be
+ controlled.
+ :type mode: Enumerated constant
+ :arg mode: Specifies a symbolic constant indicating the desired behavior.
+
+
+.. function:: glIndex(c):
+
+ B{glIndexd, glIndexf, glIndexi, glIndexs, glIndexdv, glIndexfv, glIndexiv, glIndexsv}
+
+ Set the current color index
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/index_.html>`_
+
+ :type c: :class:`Buffer` object. Depends on function prototype.
+ :arg c: Specifies a pointer to a one element array that contains the new value for
+ the current color index.
+
+
+.. function:: glInitNames():
+
+ Initialize the name stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/initnames.html>`_
+
+
+.. function:: glIsEnabled(cap):
+
+ Test whether a capability is enabled
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/isenabled.html>`_
+
+ :type cap: Enumerated constant
+ :arg cap: Specifies a constant representing a GL capability.
+
+
+.. function:: glIsList(list):
+
+ Determine if a name corresponds to a display-list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/islist.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies a potential display-list name.
+
+
+.. function:: glIsTexture(texture):
+
+ Determine if a name corresponds to a texture
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/istexture.html>`_
+
+ :type texture: unsigned int
+ :arg texture: Specifies a value that may be the name of a texture.
+
+
+.. function:: glLight (light, pname, param):
+
+ B{glLightf,glLighti, glLightfv, glLightiv}
+
+ Set the light source parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/light.html>`_
+
+ :type light: Enumerated constant
+ :arg light: Specifies a light. The number of lights depends on the implementation,
+ but at least eight lights are supported. They are identified by symbolic names of the
+ form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
+ :type pname: Enumerated constant
+ :arg pname: Specifies a single-valued light source parameter for light.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that parameter pname of light source light will be set to.
+ If function prototype ends in 'v' specifies a pointer to the value or values that
+ parameter pname of light source light will be set to.
+
+
+.. function:: glLightModel (pname, param):
+
+ B{glLightModelf, glLightModeli, glLightModelfv, glLightModeliv}
+
+ Set the lighting model parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/lightmodel.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies a single-value light model parameter.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that param will be set to. If function prototype ends in 'v'
+ specifies a pointer to the value or values that param will be set to.
+
+
+.. function:: glLineStipple(factor, pattern):
+
+ Specify the line stipple pattern
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/linestipple.html>`_
+
+ :type factor: int
+ :arg factor: Specifies a multiplier for each bit in the line stipple pattern.
+ If factor is 3, for example, each bit in the pattern is used three times before
+ the next bit in the pattern is used. factor is clamped to the range [1, 256] and
+ defaults to 1.
+ :type pattern: unsigned short int
+ :arg pattern: Specifies a 16-bit integer whose bit pattern determines which fragments
+ of a line will be drawn when the line is rasterized. Bit zero is used first; the default
+ pattern is all 1's.
+
+
+.. function:: glLineWidth(width):
+
+ Specify the width of rasterized lines.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/linewidth.html>`_
+
+ :type width: float
+ :arg width: Specifies the width of rasterized lines. The initial value is 1.
+
+
+.. function:: glListBase(base):
+
+ Set the display-list base for glCallLists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/listbase.html>`_
+
+ :type base: unsigned int
+ :arg base: Specifies an integer offset that will be added to glCallLists
+ offsets to generate display-list names. The initial value is 0.
+
+
+.. function:: glLoadIdentity():
+
+ Replace the current matrix with the identity matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadidentity.html>`_
+
+
+.. function:: glLoadMatrix (m):
+
+ B{glLoadMatrixd, glLoadMatixf}
+
+ Replace the current matrix with the specified matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadmatrix.html>`_
+
+ :type m: :class:`Buffer` object. Depends on function prototype.
+ :arg m: Specifies a pointer to 16 consecutive values, which are used as the elements
+ of a 4x4 column-major matrix.
+
+
+.. function:: glLoadName(name):
+
+ Load a name onto the name stack.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadname.html>`_
+
+ :type name: unsigned int
+ :arg name: Specifies a name that will replace the top value on the name stack.
+
+
+.. function:: glLogicOp(opcode):
+
+ Specify a logical pixel operation for color index rendering
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/logicop.html>`_
+
+ :type opcode: Enumerated constant
+ :arg opcode: Specifies a symbolic constant that selects a logical operation.
+
+
+.. function:: glMap1 (target, u1, u2, stride, order, points):
+
+ B{glMap1d, glMap1f}
+
+ Define a one-dimensional evaluator
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/map1.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the kind of values that are generated by the evaluator.
+ :type u1, u2: Depends on function prototype.
+ :arg u1,u2: Specify a linear mapping of u, as presented to glEvalCoord1, to ^, t
+ he variable that is evaluated by the equations specified by this command.
+ :type stride: int
+ :arg stride: Specifies the number of floats or float (double)s between the beginning
+ of one control point and the beginning of the next one in the data structure
+ referenced in points. This allows control points to be embedded in arbitrary data
+ structures. The only constraint is that the values for a particular control point must
+ occupy contiguous memory locations.
+ :type order: int
+ :arg order: Specifies the number of control points. Must be positive.
+ :type points: :class:`Buffer` object. Depends on function prototype.
+ :arg points: Specifies a pointer to the array of control points.
+
+
+.. function:: glMap2 (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points):
+
+ B{glMap2d, glMap2f}
+
+ Define a two-dimensional evaluator
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/map2.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the kind of values that are generated by the evaluator.
+ :type u1, u2: Depends on function prototype.
+ :arg u1,u2: Specify a linear mapping of u, as presented to glEvalCoord2, to ^, t
+ he variable that is evaluated by the equations specified by this command. Initially
+ u1 is 0 and u2 is 1.
+ :type ustride: int
+ :arg ustride: Specifies the number of floats or float (double)s between the beginning
+ of control point R and the beginning of control point R ij, where i and j are the u
+ and v control point indices, respectively. This allows control points to be embedded
+ in arbitrary data structures. The only constraint is that the values for a particular
+ control point must occupy contiguous memory locations. The initial value of ustride is 0.
+ :type uorder: int
+ :arg uorder: Specifies the dimension of the control point array in the u axis.
+ Must be positive. The initial value is 1.
+ :type v1, v2: Depends on function prototype.
+ :arg v1, v2: Specify a linear mapping of v, as presented to glEvalCoord2,
+ to ^, one of the two variables that are evaluated by the equations
+ specified by this command. Initially, v1 is 0 and v2 is 1.
+ :type vstride: int
+ :arg vstride: Specifies the number of floats or float (double)s between the
+ beginning of control point R and the beginning of control point R ij,
+ where i and j are the u and v control point(indices, respectively.
+ This allows control points to be embedded in arbitrary data structures.
+ The only constraint is that the values for a particular control point must
+ occupy contiguous memory locations. The initial value of vstride is 0.
+ :type vorder: int
+ :arg vorder: Specifies the dimension of the control point array in the v axis.
+ Must be positive. The initial value is 1.
+ :type points: :class:`Buffer` object. Depends on function prototype.
+ :arg points: Specifies a pointer to the array of control points.
+
+
+.. function:: glMapGrid (un, u1,u2 ,vn, v1, v2):
+
+ B{glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f}
+
+ Define a one- or two-dimensional mesh
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/mapgrid.html>`_
+
+ :type un: int
+ :arg un: Specifies the number of partitions in the grid range interval
+ [u1, u2]. Must be positive.
+ :type u1, u2: Depends on function prototype.
+ :arg u1, u2: Specify the mappings for integer grid domain values i=0 and i=un.
+ :type vn: int
+ :arg vn: Specifies the number of partitions in the grid range interval
+ [v1, v2] (glMapGrid2 only).
+ :type v1, v2: Depends on function prototype.
+ :arg v1, v2: Specify the mappings for integer grid domain values j=0 and j=vn
+ (glMapGrid2 only).
+
+
+.. function:: glMaterial (face, pname, params):
+
+ Specify material parameters for the lighting model.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/material.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies which face or faces are being updated. Must be one of:
+ :type pname: Enumerated constant
+ :arg pname: Specifies the single-valued material parameter of the face
+ or faces that is being updated. Must be GL_SHININESS.
+ :type params: int
+ :arg params: Specifies the value that parameter GL_SHININESS will be set to.
+ If function prototype ends in 'v' specifies a pointer to the value or values that
+ pname will be set to.
+
+
+.. function:: glMatrixMode(mode):
+
+ Specify which matrix is the current matrix.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/matrixmode.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies which matrix stack is the target for subsequent matrix operations.
+
+
+.. function:: glMultMatrix (m):
+
+ B{glMultMatrixd, glMultMatrixf}
+
+ Multiply the current matrix with the specified matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/multmatrix.html>`_
+
+ :type m: :class:`Buffer` object. Depends on function prototype.
+ :arg m: Points to 16 consecutive values that are used as the elements of a 4x4 column
+ major matrix.
+
+
+.. function:: glNewList(list, mode):
+
+ Create or replace a display list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/newlist.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies the display list name
+ :type mode: Enumerated constant
+ :arg mode: Specifies the compilation mode.
+
+
+.. function:: glNormal3 (nx, ny, nz, v):
+
+ B{Normal3b, Normal3bv, Normal3d, Normal3dv, Normal3f, Normal3fv, Normal3i, Normal3iv,
+ Normal3s, Normal3sv}
+
+ Set the current normal vector
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/normal.html>`_
+
+ :type nx, ny, nz: Depends on function prototype. (non - 'v' prototypes only)
+ :arg nx, ny, nz: Specify the x, y, and z coordinates of the new current normal.
+ The initial value of the current normal is the unit vector, (0, 0, 1).
+ :type v: :class:`Buffer` object. Depends on function prototype. ('v' prototypes)
+ :arg v: Specifies a pointer to an array of three elements: the x, y, and z coordinates
+ of the new current normal.
+
+
+.. function:: glOrtho(left, right, bottom, top, zNear, zFar):
+
+ Multiply the current matrix with an orthographic matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/ortho.html>`_
+
+ :type left, right: double (float)
+ :arg left, right: Specify the coordinates for the left and
+ right vertical clipping planes.
+ :type bottom, top: double (float)
+ :arg bottom, top: Specify the coordinates for the bottom and top
+ horizontal clipping planes.
+ :type zNear, zFar: double (float)
+ :arg zNear, zFar: Specify the distances to the nearer and farther
+ depth clipping planes. These values are negative if the plane is to be behind the viewer.
+
+
+.. function:: glPassThrough(token):
+
+ Place a marker in the feedback buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/passthrough.html>`_
+
+ :type token: float
+ :arg token: Specifies a marker value to be placed in the feedback
+ buffer following a GL_PASS_THROUGH_TOKEN.
+
+
+.. function:: glPixelMap (map, mapsize, values):
+
+ B{glPixelMapfv, glPixelMapuiv, glPixelMapusv}
+
+ Set up pixel transfer maps
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelmap.html>`_
+
+ :type map: Enumerated constant
+ :arg map: Specifies a symbolic map name.
+ :type mapsize: int
+ :arg mapsize: Specifies the size of the map being defined.
+ :type values: :class:`Buffer` object. Depends on function prototype.
+ :arg values: Specifies an array of mapsize values.
+
+
+.. function:: glPixelStore (pname, param):
+
+ B{glPixelStoref, glPixelStorei}
+
+ Set pixel storage modes
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelstore.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the parameter to be set.
+ Six values affect the packing of pixel data into memory.
+ Six more affect the unpacking of pixel data from memory.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that pname is set to.
+
+
+.. function:: glPixelTransfer (pname, param):
+
+ B{glPixelTransferf, glPixelTransferi}
+
+ Set pixel transfer modes
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixeltransfer.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the pixel transfer parameter to be set.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that pname is set to.
+
+
+.. function:: glPixelZoom(xfactor, yfactor):
+
+ Specify the pixel zoom factors
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelzoom.html>`_
+
+ :type xfactor, yfactor: float
+ :arg xfactor, yfactor: Specify the x and y zoom factors for pixel write operations.
+
+
+.. function:: glPointSize(size):
+
+ Specify the diameter of rasterized points
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pointsize.html>`_
+
+ :type size: float
+ :arg size: Specifies the diameter of rasterized points. The initial value is 1.
+
+
+.. function:: glPolygonMode(face, mode):
+
+ Select a polygon rasterization mode
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonmode.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies the polygons that mode applies to.
+ Must be GL_FRONT for front-facing polygons, GL_BACK for back- facing
+ polygons, or GL_FRONT_AND_BACK for front- and back-facing polygons.
+ :type mode: Enumerated constant
+ :arg mode: Specifies how polygons will be rasterized.
+ The initial value is GL_FILL for both front- and back- facing polygons.
+
+
+.. function:: glPolygonOffset(factor, units):
+
+ Set the scale and units used to calculate depth values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonoffset.html>`_
+
+ :type factor: float
+ :arg factor: Specifies a scale factor that is used to create a variable depth
+ offset for each polygon. The initial value is 0.
+ :type units: float
+ :arg units: Is multiplied by an implementation-specific value to create a
+ constant depth offset. The initial value is 0.
+
+
+.. function:: glPolygonStipple(mask):
+
+ Set the polygon stippling pattern
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonstipple.html>`_
+
+ :type mask: :class:`Buffer` object I{type GL_BYTE}
+ :arg mask: Specifies a pointer to a 32x32 stipple pattern that will be unpacked
+ from memory in the same way that glDrawPixels unpacks pixels.
+
+
+.. function:: glPopAttrib():
+
+ Pop the server attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushattrib.html>`_
+
+
+.. function:: glPopClientAttrib():
+
+ Pop the client attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushclientattrib.html>`_
+
+
+.. function:: glPopMatrix():
+
+ Pop the current matrix stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushmatrix.html>`_
+
+
+.. function:: glPopName():
+
+ Pop the name stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushname.html>`_
+
+
+.. function:: glPrioritizeTextures(n, textures, priorities):
+
+ Set texture residence priority
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/prioritizetextures.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures to be prioritized.
+ :type textures: :class:`Buffer` I{type GL_INT}
+ :arg textures: Specifies an array containing the names of the textures to be prioritized.
+ :type priorities: :class:`Buffer` I{type GL_FLOAT}
+ :arg priorities: Specifies an array containing the texture priorities.
+ A priority given in an element of priorities applies to the texture named
+ by the corresponding element of textures.
+
+
+.. function:: glPushAttrib(mask):
+
+ Push the server attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushattrib.html>`_
+
+ :type mask: Enumerated constant(s)
+ :arg mask: Specifies a mask that indicates which attributes to save.
+
+
+.. function:: glPushClientAttrib(mask):
+
+ Push the client attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushclientattrib.html>`_
+
+ :type mask: Enumerated constant(s)
+ :arg mask: Specifies a mask that indicates which attributes to save.
+
+
+.. function:: glPushMatrix():
+
+ Push the current matrix stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushmatrix.html>`_
+
+
+.. function:: glPushName(name):
+
+ Push the name stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushname.html>`_
+
+ :type name: unsigned int
+ :arg name: Specifies a name that will be pushed onto the name stack.
+
+
+.. function:: glRasterPos (x,y,z,w):
+
+ B{glRasterPos2d, glRasterPos2f, glRasterPos2i, glRasterPos2s, glRasterPos3d,
+ glRasterPos3f, glRasterPos3i, glRasterPos3s, glRasterPos4d, glRasterPos4f,
+ glRasterPos4i, glRasterPos4s, glRasterPos2dv, glRasterPos2fv, glRasterPos2iv,
+ glRasterPos2sv, glRasterPos3dv, glRasterPos3fv, glRasterPos3iv, glRasterPos3sv,
+ glRasterPos4dv, glRasterPos4fv, glRasterPos4iv, glRasterPos4sv}
+
+ Specify the raster position for pixel operations
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rasterpos.html>`_
+
+ :type x, y, z, w: Depends on function prototype. (z and w for '3' and '4' prototypes only)
+ :arg x, y, z, w: Specify the x,y,z, and w object coordinates (if present) for the
+ raster position. If function prototype ends in 'v' specifies a pointer to an array of two,
+ three, or four elements, specifying x, y, z, and w coordinates, respectively.
+
+ .. note::
+
+ If you are drawing to the 3d view with a Scriptlink of a space handler
+ the zoom level of the panels will scale the glRasterPos by the view matrix.
+ so a X of 10 will not always offset 10 pixels as you would expect.
+
+ To work around this get the scale value of the view matrix and use it to scale your pixel values.
+
+ .. code-block:: python
+
+ import bgl
+ xval, yval= 100, 40
+ # Get the scale of the view matrix
+ view_matrix = bgl.Buffer(bgl.GL_FLOAT, 16)
+ bgl.glGetFloatv(bgl.GL_MODELVIEW_MATRIX, view_matrix)
+ f = 1.0 / view_matrix[0]
+
+ # Instead of the usual glRasterPos2i(xval, yval)
+ bgl.glRasterPos2f(xval * f, yval * f)
+
+
+.. function:: glReadBuffer(mode):
+
+ Select a color buffer source for pixels.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/readbuffer.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies a color buffer.
+
+
+.. function:: glReadPixels(x, y, width, height, format, type, pixels):
+
+ Read a block of pixels from the frame buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/readpixels.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the window coordinates of the first pixel that is read
+ from the frame buffer. This location is the lower left corner of a rectangular
+ block of pixels.
+ :type width, height: int
+ :arg width, height: Specify the dimensions of the pixel rectangle. width and
+ height of one correspond to a single pixel.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type of the pixel data.
+ :type pixels: :class:`Buffer` object
+ :arg pixels: Returns the pixel data.
+
+
+.. function:: glRect (x1,y1,x2,y2,v1,v2):
+
+ B{glRectd, glRectf, glRecti, glRects, glRectdv, glRectfv, glRectiv, glRectsv}
+
+ Draw a rectangle
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rect.html>`_
+
+ :type x1, y1: Depends on function prototype. (for non 'v' prototypes only)
+ :arg x1, y1: Specify one vertex of a rectangle
+ :type x2, y2: Depends on function prototype. (for non 'v' prototypes only)
+ :arg x2, y2: Specify the opposite vertex of the rectangle
+ :type v1, v2: Depends on function prototype. (for 'v' prototypes only)
+ :arg v1, v2: Specifies a pointer to one vertex of a rectangle and the pointer
+ to the opposite vertex of the rectangle
+
+
+.. function:: glRenderMode(mode):
+
+ Set rasterization mode
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rendermode.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies the rasterization mode.
+
+
+.. function:: glRotate (angle, x, y, z):
+
+ B{glRotated, glRotatef}
+
+ Multiply the current matrix by a rotation matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rotate.html>`_
+
+ :type angle: Depends on function prototype.
+ :arg angle: Specifies the angle of rotation in degrees.
+ :type x, y, z: Depends on function prototype.
+ :arg x, y, z: Specify the x, y, and z coordinates of a vector respectively.
+
+
+.. function:: glScale (x,y,z):
+
+ B{glScaled, glScalef}
+
+ Multiply the current matrix by a general scaling matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/scale.html>`_
+
+ :type x, y, z: Depends on function prototype.
+ :arg x, y, z: Specify scale factors along the x, y, and z axes, respectively.
+
+
+.. function:: glScissor(x,y,width,height):
+
+ Define the scissor box
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/scissor.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the lower left corner of the scissor box. Initially (0, 0).
+ :type width, height: int
+ :arg width height: Specify the width and height of the scissor box. When a
+ GL context is first attached to a window, width and height are set to the
+ dimensions of that window.
+
+
+.. function:: glSelectBuffer(size, buffer):
+
+ Establish a buffer for selection mode values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/selectbuffer.html>`_
+
+ :type size: int
+ :arg size: Specifies the size of buffer
+ :type buffer: :class:`Buffer` I{type GL_INT}
+ :arg buffer: Returns the selection data
+
+
+.. function:: glShadeModel(mode):
+
+ Select flat or smooth shading
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/shademodel.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies a symbolic value representing a shading technique.
+
+
+.. function:: glStencilFuc(func, ref, mask):
+
+ Set function and reference value for stencil testing
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilfunc.html>`_
+
+ :type func: Enumerated constant
+ :arg func: Specifies the test function.
+ :type ref: int
+ :arg ref: Specifies the reference value for the stencil test. ref is clamped
+ to the range [0,2n-1], where n is the number of bitplanes in the stencil
+ buffer. The initial value is 0.
+ :type mask: unsigned int
+ :arg mask: Specifies a mask that is ANDed with both the reference value and
+ the stored stencil value when the test is done. The initial value is all 1's.
+
+
+.. function:: glStencilMask(mask):
+
+ Control the writing of individual bits in the stencil planes
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilmask.html>`_
+
+ :type mask: unsigned int
+ :arg mask: Specifies a bit mask to enable and disable writing of individual bits
+ in the stencil planes. Initially, the mask is all 1's.
+
+
+.. function:: glStencilOp(fail, zfail, zpass):
+
+ Set stencil test actions
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilop.html>`_
+
+ :type fail: Enumerated constant
+ :arg fail: Specifies the action to take when the stencil test fails.
+ The initial value is GL_KEEP.
+ :type zfail: Enumerated constant
+ :arg zfail: Specifies the stencil action when the stencil test passes, but the
+ depth test fails. zfail accepts the same symbolic constants as fail.
+ The initial value is GL_KEEP.
+ :type zpass: Enumerated constant
+ :arg zpass: Specifies the stencil action when both the stencil test and the
+ depth test pass, or when the stencil test passes and either there is no
+ depth buffer or depth testing is not enabled. zpass accepts the same
+ symbolic constants
+ as fail. The initial value is GL_KEEP.
+
+
+.. function:: glTexCoord (s,t,r,q,v):
+
+ B{glTexCoord1d, glTexCoord1f, glTexCoord1i, glTexCoord1s, glTexCoord2d, glTexCoord2f,
+ glTexCoord2i, glTexCoord2s, glTexCoord3d, glTexCoord3f, glTexCoord3i, glTexCoord3s,
+ glTexCoord4d, glTexCoord4f, glTexCoord4i, glTexCoord4s, glTexCoord1dv, glTexCoord1fv,
+ glTexCoord1iv, glTexCoord1sv, glTexCoord2dv, glTexCoord2fv, glTexCoord2iv,
+ glTexCoord2sv, glTexCoord3dv, glTexCoord3fv, glTexCoord3iv, glTexCoord3sv,
+ glTexCoord4dv, glTexCoord4fv, glTexCoord4iv, glTexCoord4sv}
+
+ Set the current texture coordinates
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texcoord.html>`_
+
+ :type s, t, r, q: Depends on function prototype. (r and q for '3' and '4' prototypes only)
+ :arg s, t, r, q: Specify s, t, r, and q texture coordinates. Not all parameters are
+ present in all forms of the command.
+ :type v: :class:`Buffer` object. Depends on function prototype. (for 'v' prototypes only)
+ :arg v: Specifies a pointer to an array of one, two, three, or four elements,
+ which in turn specify the s, t, r, and q texture coordinates.
+
+
+.. function:: glTexEnv (target, pname, param):
+
+ B{glTextEnvf, glTextEnvi, glTextEnvfv, glTextEnviv}
+
+ Set texture environment parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texenv.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies a texture environment. Must be GL_TEXTURE_ENV.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a single-valued texture environment
+ parameter. Must be GL_TEXTURE_ENV_MODE.
+ :type param: Depends on function prototype.
+ :arg param: Specifies a single symbolic constant. If function prototype ends in 'v'
+ specifies a pointer to a parameter array that contains either a single
+ symbolic constant or an RGBA color
+
+
+.. function:: glTexGen (coord, pname, param):
+
+ B{glTexGend, glTexGenf, glTexGeni, glTexGendv, glTexGenfv, glTexGeniv}
+
+ Control the generation of texture coordinates
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texgen.html>`_
+
+ :type coord: Enumerated constant
+ :arg coord: Specifies a texture coordinate.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the texture- coordinate generation function.
+ :type param: Depends on function prototype.
+ :arg param: Specifies a single-valued texture generation parameter.
+ If function prototype ends in 'v' specifies a pointer to an array of texture
+ generation parameters. If pname is GL_TEXTURE_GEN_MODE, then the array must
+ contain a single symbolic constant. Otherwise, params holds the coefficients
+ for the texture-coordinate generation function specified by pname.
+
+
+.. function:: glTexImage1D(target, level, internalformat, width, border, format, type, pixels):
+
+ Specify a one-dimensional texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/teximage1d.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number. Level 0 is the base image level.
+ Level n is the nth mipmap reduction image.
+ :type internalformat: int
+ :arg internalformat: Specifies the number of color components in the texture.
+ :type width: int
+ :arg width: Specifies the width of the texture image. Must be 2n+2(border)
+ for some integer n. All implementations support texture images that are
+ at least 64 texels wide. The height of the 1D texture image is 1.
+ :type border: int
+ :arg border: Specifies the width of the border. Must be either 0 or 1.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type of the pixel data.
+ :type pixels: :class:`Buffer` object.
+ :arg pixels: Specifies a pointer to the image data in memory.
+
+
+.. function:: glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels):
+
+ Specify a two-dimensional texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/teximage2d.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number. Level 0 is the base image level.
+ Level n is the nth mipmap reduction image.
+ :type internalformat: int
+ :arg internalformat: Specifies the number of color components in the texture.
+ :type width: int
+ :arg width: Specifies the width of the texture image. Must be 2n+2(border)
+ for some integer n. All implementations support texture images that are at
+ least 64 texels wide.
+ :type height: int
+ :arg height: Specifies the height of the texture image. Must be 2m+2(border) for
+ some integer m. All implementations support texture images that are at
+ least 64 texels high.
+ :type border: int
+ :arg border: Specifies the width of the border. Must be either 0 or 1.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type of the pixel data.
+ :type pixels: :class:`Buffer` object.
+ :arg pixels: Specifies a pointer to the image data in memory.
+
+
+.. function:: glTexParameter (target, pname, param):
+
+ B{glTexParameterf, glTexParameteri, glTexParameterfv, glTexParameteriv}
+
+ Set texture parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texparameter.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a single-valued texture parameter.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value of pname. If function prototype ends in 'v' specifies
+ a pointer to an array where the value or values of pname are stored.
+
+
+.. function:: glTranslate (x, y, z):
+
+ B{glTranslatef, glTranslated}
+
+ Multiply the current matrix by a translation matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/translate.html>`_
+
+ :type x, y, z: Depends on function prototype.
+ :arg x, y, z: Specify the x, y, and z coordinates of a translation vector.
+
+
+.. function:: glVertex (x,y,z,w,v):
+
+ B{glVertex2d, glVertex2f, glVertex2i, glVertex2s, glVertex3d, glVertex3f, glVertex3i,
+ glVertex3s, glVertex4d, glVertex4f, glVertex4i, glVertex4s, glVertex2dv, glVertex2fv,
+ glVertex2iv, glVertex2sv, glVertex3dv, glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv,
+ glVertex4fv, glVertex4iv, glVertex4sv}
+
+ Specify a vertex
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/vertex.html>`_
+
+ :type x, y, z, w: Depends on function prototype (z and w for '3' and '4' prototypes only)
+ :arg x, y, z, w: Specify x, y, z, and w coordinates of a vertex. Not all parameters
+ are present in all forms of the command.
+ :type v: :class:`Buffer` object. Depends of function prototype (for 'v'
+ prototypes only)
+ :arg v: Specifies a pointer to an array of two, three, or four elements. The
+ elements of a two-element array are x and y; of a three-element array,
+ x, y, and z; and of a four-element array, x, y, z, and w.
+
+
+.. function:: glViewport(x,y,width,height):
+
+ Set the viewport
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/viewport.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the lower left corner of the viewport rectangle,
+ in pixels. The initial value is (0,0).
+ :type width, height: int
+ :arg width, height: Specify the width and height of the viewport. When a GL
+ context is first attached to a window, width and height are set to the
+ dimensions of that window.
+
+
+.. function:: gluPerspective(fovY, aspect, zNear, zFar):
+
+ Set up a perspective projection matrix.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5577288}
+
+ :type fovY: double
+ :arg fovY: Specifies the field of view angle, in degrees, in the y direction.
+ :type aspect: double
+ :arg aspect: Specifies the aspect ratio that determines the field of view in the x direction.
+ The aspect ratio is the ratio of x (width) to y (height).
+ :type zNear: double
+ :arg zNear: Specifies the distance from the viewer to the near clipping plane (always positive).
+ :type zFar: double
+ :arg zFar: Specifies the distance from the viewer to the far clipping plane (always positive).
+
+
+.. function:: gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz):
+
+ Define a viewing transformation.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5573042}
+
+ :type eyex, eyey, eyez: double
+ :arg eyex, eyey, eyez: Specifies the position of the eye point.
+ :type centerx, centery, centerz: double
+ :arg centerx, centery, centerz: Specifies the position of the reference point.
+ :type upx, upy, upz: double
+ :arg upx, upy, upz: Specifies the direction of the up vector.
+
+
+.. function:: gluOrtho2D(left, right, bottom, top):
+
+ Define a 2-D orthographic projection matrix.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
+
+ :type left, right: double
+ :arg left, right: Specify the coordinates for the left and right vertical clipping planes.
+ :type bottom, top: double
+ :arg bottom, top: Specify the coordinates for the bottom and top horizontal clipping planes.
+
+
+.. function:: gluPickMatrix(x, y, width, height, viewport):
+
+ Define a picking region.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
+
+ :type x, y: double
+ :arg x, y: Specify the center of a picking region in window coordinates.
+ :type width, height: double
+ :arg width, height: Specify the width and height, respectively, of the picking region in window coordinates.
+ :type viewport: :class:`Buffer` object. [int]
+ :arg viewport: Specifies the current viewport.
+
+
+.. function:: gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, winx, winy, winz):
+
+ Map object coordinates to window coordinates.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
+
+ :type objx, objy, objz: double
+ :arg objx, objy, objz: Specify the object coordinates.
+ :type modelMatrix: :class:`Buffer` object. [double]
+ :arg modelMatrix: Specifies the current modelview matrix (as from a glGetDoublev call).
+ :type projMatrix: :class:`Buffer` object. [double]
+ :arg projMatrix: Specifies the current projection matrix (as from a glGetDoublev call).
+ :type viewport: :class:`Buffer` object. [int]
+ :arg viewport: Specifies the current viewport (as from a glGetIntegerv call).
+ :type winx, winy, winz: :class:`Buffer` object. [double]
+ :arg winx, winy, winz: Return the computed window coordinates.
+
+
+.. function:: gluUnProject(winx, winy, winz, modelMatrix, projMatrix, viewport, objx, objy, objz):
+
+ Map object coordinates to window coordinates.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5582204}
+
+ :type winx, winy, winz: double
+ :arg winx, winy, winz: Specify the window coordinates to be mapped.
+ :type modelMatrix: :class:`Buffer` object. [double]
+ :arg modelMatrix: Specifies the current modelview matrix (as from a glGetDoublev call).
+ :type projMatrix: :class:`Buffer` object. [double]
+ :arg projMatrix: Specifies the current projection matrix (as from a glGetDoublev call).
+ :type viewport: :class:`Buffer` object. [int]
+ :arg viewport: Specifies the current viewport (as from a glGetIntegerv call).
+ :type objx, objy, objz: :class:`Buffer` object. [double]
+ :arg objx, objy, objz: Return the computed object coordinates.
+
+
+class Buffer:
+
+ The Buffer object is simply a block of memory that is delineated and initialized by the
+ user. Many OpenGL functions return data to a C-style pointer, however, because this
+ is not possible in python the Buffer object can be used to this end. Wherever pointer
+ notation is used in the OpenGL functions the Buffer object can be used in it's bgl
+ wrapper. In some instances the Buffer object will need to be initialized with the template
+ parameter, while in other instances the user will want to create just a blank buffer
+ which will be zeroed by default.
+
+ .. code-block:: python
+
+ import bgl
+ myByteBuffer = bgl.Buffer(bgl.GL_BYTE, [32, 32])
+ bgl.glGetPolygonStipple(myByteBuffer)
+ print(myByteBuffer.dimensions)
+ print(myByteBuffer.to_list())
+ sliceBuffer = myByteBuffer[0:16]
+ print(sliceBuffer)
+
+ .. attribute:: dimensions
+
+ The number of dimensions of the Buffer.
+
+ .. method:: to_list()
+
+ The contents of the Buffer as a python list.
+
+ .. method:: __init__(type, dimensions, template = None):
+
+ This will create a new Buffer object for use with other bgl OpenGL commands.
+ Only the type of argument to store in the buffer and the dimensions of the buffer
+ are necessary. Buffers are zeroed by default unless a template is supplied, in
+ which case the buffer is initialized to the template.
+
+ :type type: int
+ :arg type: The format to store data in. The type should be one of
+ GL_BYTE, GL_SHORT, GL_INT, or GL_FLOAT.
+ :type dimensions: An int or sequence object specifying the dimensions of the buffer.
+ :arg dimensions: If the dimensions are specified as an int a linear array will
+ be created for the buffer. If a sequence is passed for the dimensions, the buffer
+ becomes n-Dimensional, where n is equal to the number of parameters passed in the
+ sequence. Example: [256,2] is a two- dimensional buffer while [256,256,4] creates
+ a three- dimensional buffer. You can think of each additional dimension as a sub-item
+ of the dimension to the left. i.e. [10,2] is a 10 element array each with 2 sub-items.
+ [(0,0), (0,1), (1,0), (1,1), (2,0), ...] etc.
+ :type template: A python sequence object (optional)
+ :arg template: A sequence of matching dimensions which will be used to initialize
+ the Buffer. If a template is not passed in all fields will be initialized to 0.
+ :rtype: Buffer object
+ :return: The newly created buffer as a PyObject.
+
diff --git a/doc/python_api/rst/change_log.rst b/doc/python_api/rst/change_log.rst
index 7035ef4311b..e7db5df4a1f 100644
--- a/doc/python_api/rst/change_log.rst
+++ b/doc/python_api/rst/change_log.rst
@@ -696,3 +696,216 @@ Renamed
* **force** -> :class:`bpy.types.MaterialPhysics.fh_force`
* **use_normal_align** -> :class:`bpy.types.MaterialPhysics.use_fh_normal`
+
+2.57 to 2.58
+============
+
+bpy_extras
+----------
+
+Added
+^^^^^
+
+* :mod:`bpy_extras`
+* :mod:`bpy_extras.view3d_utils`
+
+Moved
+^^^^^
+
+* io_utils -> :mod:`bpy_extras.io_utils`
+* image_utils -> :mod:`bpy_extras.image_utils`
+* mesh_utils -> :mod:`bpy_extras.mesh_utils`
+* object_utils -> :mod:`bpy_extras.object_utils`
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.use_bake_lores_mesh`
+* :class:`bpy.types.RenderSettings.use_bake_multires`
+
+bpy.types.Camera
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Camera.show_guide`
+
+bpy.types.SpaceImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceImageEditor.zoom`
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.lock_camera`
+
+bpy.types.RegionView3D
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RegionView3D.is_perspective`
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.frame_subframe`
+
+bpy.types.Area
+--------------
+
+Removed
+^^^^^^^
+
+* **active_space**
+
+bpy.types.DisplaceModifier
+--------------------------
+
+Renamed
+^^^^^^^
+
+* **texture_coordinate_object** -> :class:`bpy.types.DisplaceModifier.texture_coords_object`
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesView.use_camera_lock_parent`
+
+bpy.types.DomainFluidSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DomainFluidSettings.fluid_mesh_vertices`
+* :class:`bpy.types.DomainFluidSettings.surface_noobs`
+
+bpy.types.Sculpt
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sculpt.use_deform_only`
+
+bpy.types.ClothCollisionSettings
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ClothCollisionSettings.distance_repel`
+* :class:`bpy.types.ClothCollisionSettings.repel_force`
+
+bpy.types.UILayout
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UILayout.template_edit_mode_selection`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.use_snap_project_self`
+
+bpy.types.Mesh
+--------------
+
+Removed
+^^^^^^^
+
+* **edge_face_count**
+* **edge_face_count_dict**
+* **edge_loops_from_edges**
+* **edge_loops_from_faces**
+
+bpy.types.PointDensity
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PointDensity.falloff_curve`
+* :class:`bpy.types.PointDensity.falloff_speed_scale`
+* :class:`bpy.types.PointDensity.use_falloff_curve`
+
+bpy.types.SpaceTextEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceTextEditor.use_match_case`
+
+bpy.types.CameraActuator
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CameraActuator.damping`
+
+bpy.types.Property
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Property.is_skip_save`
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.anisotropic_filter`
+
+bpy.types.Object
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Object.empty_image_offset`
+
+bpy.types.Image
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Image.resolution`
+
+bpy.types.SceneGameData
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneGameData.use_glsl_color_management`
+
diff --git a/doc/python_api/sphinx_changelog_gen.py b/doc/python_api/sphinx_changelog_gen.py
index eb4fc4716e6..7a56e73b7ad 100644
--- a/doc/python_api/sphinx_changelog_gen.py
+++ b/doc/python_api/sphinx_changelog_gen.py
@@ -24,17 +24,17 @@ Dump the python API into a text file so we can generate changelogs.
output from this tool should be added into "doc/python_api/rst/change_log.rst"
# dump api blender_version.py in CWD
-blender --background --python intern/tools/rna_api_dump.py -- --dump
+blender --background --python doc/python_api/sphinx_changelog_gen.py -- --dump
# create changelog
-blender --background --python intern/tools/rna_api_dump.py -- \
+blender --background --python doc/python_api/sphinx_changelog_gen.py -- \
--api_from blender_2_56_1.py \
--api_to blender_2_57_0.py \
--api_out changes.rst
# Api comparison can also run without blender
-python intern/tools/rna_api_dump.py
+python doc/python_api/sphinx_changelog_gen.py \
--api_from blender_api_2_56_6.py \
--api_to blender_api_2_57.py \
--api_out changes.rst
diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py
index 03c8fe1b4ff..6b514cf9eb1 100644
--- a/doc/python_api/sphinx_doc_gen.py
+++ b/doc/python_api/sphinx_doc_gen.py
@@ -29,14 +29,15 @@ For HTML generation
./blender.bin --background --python doc/python_api/sphinx_doc_gen.py
- This will generate python files in doc/python_api/sphinx-in/,
- assuming that ./blender.bin is or links to the blender executable
+ This will generate python files in doc/python_api/sphinx-in/
+ providing ./blender.bin is or links to the blender executable
- Generate html docs by running...
- sphinx-build doc/python_api/sphinx-in doc/python_api/sphinx-out
+ cd doc/python_api
+ sphinx-build sphinx-in sphinx-out
- assuming that you have sphinx 1.0.7 installed
+ This requires sphinx 1.0.7 to be installed.
For PDF generation
------------------
@@ -47,6 +48,15 @@ For PDF generation
make
'''
+# Check we're running in blender
+if __import__("sys").modules.get("bpy") is None:
+ print("\nError, this script must run from inside blender2.5")
+ print(script_help_msg)
+
+ import sys
+ sys.exit()
+
+
# Switch for quick testing
if 1:
# full build
@@ -57,16 +67,17 @@ if 1:
else:
# for testing so doc-builds dont take so long.
EXCLUDE_MODULES = (
- # "bpy.context",
+ "bpy.context",
"bpy.app",
"bpy.path",
"bpy.data",
"bpy.props",
"bpy.utils",
"bpy.context",
- # "bpy.types", # supports filtering
+ "bpy.types", # supports filtering
"bpy.ops", # supports filtering
- "bge",
+ "bpy_extras",
+ # "bge",
"aud",
"bgl",
"blf",
@@ -204,10 +215,24 @@ def write_indented_lines(ident, fn, text, strip=True):
'''
if text is None:
return
- for l in text.split("\n"):
- if strip:
- fn(ident + l.strip() + "\n")
- else:
+
+ lines = text.split("\n")
+
+ # strip empty lines from the start/end
+ while lines and not lines[0].strip():
+ del lines[0]
+ while lines and not lines[-1].strip():
+ del lines[-1]
+
+ if strip:
+ ident_strip = 1000
+ for l in lines:
+ if l.strip():
+ ident_strip = min(ident_strip, len(l) - len(l.lstrip()))
+ for l in lines:
+ fn(ident + l[ident_strip:] + "\n")
+ else:
+ for l in lines:
fn(ident + l + "\n")
@@ -252,7 +277,7 @@ def pyfunc2sphinx(ident, fw, identifier, py_func, is_class=True):
fw(ident + ".. %s:: %s%s\n\n" % (func_type, identifier, arg_str))
if py_func.__doc__:
- write_indented_lines(ident + " ", fw, py_func.__doc__.strip())
+ write_indented_lines(ident + " ", fw, py_func.__doc__)
fw("\n")
@@ -267,8 +292,10 @@ def py_descr2sphinx(ident, fw, descr, module_name, type_name, identifier):
if type(descr) == GetSetDescriptorType:
fw(ident + ".. attribute:: %s\n\n" % identifier)
write_indented_lines(ident + " ", fw, doc, False)
+ fw("\n")
elif type(descr) in (MethodDescriptorType, ClassMethodDescriptorType):
write_indented_lines(ident, fw, doc, False)
+ fw("\n")
else:
raise TypeError("type was not GetSetDescriptorType, MethodDescriptorType or ClassMethodDescriptorType")
@@ -316,11 +343,17 @@ def pymodule2sphinx(BASEPATH, module_name, module, title):
attribute_set = set()
filepath = os.path.join(BASEPATH, module_name + ".rst")
+ module_all = getattr(module, "__all__", None)
+ module_dir = sorted(dir(module))
+
+ if module_all:
+ module_dir = module_all
+
file = open(filepath, "w")
fw = file.write
- write_title(fw, title, "=")
+ write_title(fw, "%s (%s)" % (title, module_name), "=")
fw(".. module:: %s\n\n" % module_name)
@@ -331,6 +364,35 @@ def pymodule2sphinx(BASEPATH, module_name, module, title):
write_example_ref("", fw, module_name)
+ # write submodules
+ # we could also scan files but this ensures __all__ is used correctly
+ if module_all is not None:
+ submod_name = None
+ submod = None
+ submod_ls = []
+ for submod_name in module_all:
+ ns = {}
+ exec_str = "from %s import %s as submod" % (module.__name__, submod_name)
+ exec(exec_str, ns, ns)
+ submod = ns["submod"]
+ if type(submod) == types.ModuleType:
+ submod_ls.append((submod_name, submod))
+
+ del submod_name
+ del submod
+
+ if submod_ls:
+ fw(".. toctree::\n")
+ fw(" :maxdepth: 1\n\n")
+
+ for submod_name, submod in submod_ls:
+ submod_name_full = "%s.%s" % (module_name, submod_name)
+ fw(" %s.rst\n\n" % submod_name_full)
+
+ pymodule2sphinx(BASEPATH, submod_name_full, submod, "%s submodule" % module_name)
+ del submod_ls
+ # done writing submodules!
+
# write members of the module
# only tested with PyStructs which are not exactly modules
for key, descr in sorted(type(module).__dict__.items()):
@@ -348,15 +410,15 @@ def pymodule2sphinx(BASEPATH, module_name, module, title):
if descr.__doc__:
fw(".. data:: %s\n\n" % key)
write_indented_lines(" ", fw, descr.__doc__, False)
- attribute_set.add(key)
fw("\n")
+ attribute_set.add(key)
+
del key, descr
classes = []
- for attribute in sorted(dir(module)):
+ for attribute in module_dir:
if not attribute.startswith("_"):
-
if attribute in attribute_set:
continue
@@ -927,6 +989,7 @@ def rna2sphinx(BASEPATH):
fw("\n")
fw("* `Quickstart Intro <http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro>`_ if you are new to scripting in blender and want to get you're feet wet!\n")
fw("* `Blender/Python Overview <http://wiki.blender.org/index.php/Dev:2.5/Py/API/Overview>`_ for a more complete explanation of python integration in blender\n")
+ fw("\n")
fw("===================\n")
fw("Application Modules\n")
@@ -966,12 +1029,14 @@ def rna2sphinx(BASEPATH):
fw(" mathutils.rst\n\n")
if "mathutils.geometry" not in EXCLUDE_MODULES:
fw(" mathutils.geometry.rst\n\n")
- # XXX TODO
- #fw(" bgl.rst\n\n")
+ if "bgl" not in EXCLUDE_MODULES:
+ fw(" bgl.rst\n\n")
if "blf" not in EXCLUDE_MODULES:
fw(" blf.rst\n\n")
if "aud" not in EXCLUDE_MODULES:
fw(" aud.rst\n\n")
+ if "bpy_extras" not in EXCLUDE_MODULES:
+ fw(" bpy_extras.rst\n\n")
# game engine
if "bge" not in EXCLUDE_MODULES:
@@ -984,7 +1049,9 @@ def rna2sphinx(BASEPATH):
fw(" bge.types.rst\n\n")
fw(" bge.logic.rst\n\n")
fw(" bge.render.rst\n\n")
+ fw(" bge.texture.rst\n\n")
fw(" bge.events.rst\n\n")
+ fw(" bge.constraints.rst\n\n")
# rna generated change log
fw("========\n")
@@ -1068,41 +1135,47 @@ def rna2sphinx(BASEPATH):
# python modules
if "bpy.utils" not in EXCLUDE_MODULES:
from bpy import utils as module
- pymodule2sphinx(BASEPATH, "bpy.utils", module, "Utilities (bpy.utils)")
+ pymodule2sphinx(BASEPATH, "bpy.utils", module, "Utilities")
if "bpy.path" not in EXCLUDE_MODULES:
from bpy import path as module
- pymodule2sphinx(BASEPATH, "bpy.path", module, "Path Utilities (bpy.path)")
+ pymodule2sphinx(BASEPATH, "bpy.path", module, "Path Utilities")
+
+ if "bpy_extras" not in EXCLUDE_MODULES:
+ import bpy_extras as module
+ pymodule2sphinx(BASEPATH, "bpy_extras", module, "Extra Utilities")
# C modules
if "bpy.app" not in EXCLUDE_MODULES:
from bpy import app as module
- pymodule2sphinx(BASEPATH, "bpy.app", module, "Application Data (bpy.app)")
+ pymodule2sphinx(BASEPATH, "bpy.app", module, "Application Data")
if "bpy.props" not in EXCLUDE_MODULES:
from bpy import props as module
- pymodule2sphinx(BASEPATH, "bpy.props", module, "Property Definitions (bpy.props)")
+ pymodule2sphinx(BASEPATH, "bpy.props", module, "Property Definitions")
if "mathutils" not in EXCLUDE_MODULES:
import mathutils as module
- pymodule2sphinx(BASEPATH, "mathutils", module, "Math Types & Utilities (mathutils)")
+ pymodule2sphinx(BASEPATH, "mathutils", module, "Math Types & Utilities")
if "mathutils.geometry" not in EXCLUDE_MODULES:
import mathutils.geometry as module
- pymodule2sphinx(BASEPATH, "mathutils.geometry", module, "Geometry Utilities (mathutils.geometry)")
+ pymodule2sphinx(BASEPATH, "mathutils.geometry", module, "Geometry Utilities")
- if "mathutils.geometry" not in EXCLUDE_MODULES:
+ if "blf" not in EXCLUDE_MODULES:
import blf as module
- pymodule2sphinx(BASEPATH, "blf", module, "Font Drawing (blf)")
+ pymodule2sphinx(BASEPATH, "blf", module, "Font Drawing")
- # XXX TODO
- #import bgl as module
- #pymodule2sphinx(BASEPATH, "bgl", module, "Blender OpenGl wrapper (bgl)")
- #del module
+ if "bgl" not in EXCLUDE_MODULES:
+ #import bgl as module
+ #pymodule2sphinx(BASEPATH, "bgl", module, "Blender OpenGl wrapper")
+ #del module
+ import shutil
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bgl.rst"), BASEPATH)
if "aud" not in EXCLUDE_MODULES:
import aud as module
- pymodule2sphinx(BASEPATH, "aud", module, "Audio System (aud)")
+ pymodule2sphinx(BASEPATH, "aud", module, "Audio System")
del module
## game engine
@@ -1112,7 +1185,9 @@ def rna2sphinx(BASEPATH):
shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.types.rst"), BASEPATH)
shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.logic.rst"), BASEPATH)
shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.render.rst"), BASEPATH)
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.texture.rst"), BASEPATH)
shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.events.rst"), BASEPATH)
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.constraints.rst"), BASEPATH)
shutil.copy2(os.path.join(BASEPATH, "..", "rst", "change_log.rst"), BASEPATH)
@@ -1137,72 +1212,67 @@ def rna2sphinx(BASEPATH):
def main():
- import bpy
- if 'bpy' not in dir():
- print("\nError, this script must run from inside blender2.5")
- print(script_help_msg)
- else:
- import shutil
+ import shutil
- script_dir = os.path.dirname(__file__)
- path_in = os.path.join(script_dir, "sphinx-in")
- path_out = os.path.join(script_dir, "sphinx-out")
- path_examples = os.path.join(script_dir, "examples")
- # only for partial updates
- path_in_tmp = path_in + "-tmp"
+ script_dir = os.path.dirname(__file__)
+ path_in = os.path.join(script_dir, "sphinx-in")
+ path_out = os.path.join(script_dir, "sphinx-out")
+ path_examples = os.path.join(script_dir, "examples")
+ # only for partial updates
+ path_in_tmp = path_in + "-tmp"
- if not os.path.exists(path_in):
- os.mkdir(path_in)
+ if not os.path.exists(path_in):
+ os.mkdir(path_in)
- for f in os.listdir(path_examples):
- if f.endswith(".py"):
- EXAMPLE_SET.add(os.path.splitext(f)[0])
+ for f in os.listdir(path_examples):
+ if f.endswith(".py"):
+ EXAMPLE_SET.add(os.path.splitext(f)[0])
- # only for full updates
- if _BPY_FULL_REBUILD:
- shutil.rmtree(path_in, True)
- shutil.rmtree(path_out, True)
- else:
- # write here, then move
- shutil.rmtree(path_in_tmp, True)
-
- rna2sphinx(path_in_tmp)
-
- if not _BPY_FULL_REBUILD:
- import filecmp
-
- # now move changed files from 'path_in_tmp' --> 'path_in'
- file_list_path_in = set(os.listdir(path_in))
- file_list_path_in_tmp = set(os.listdir(path_in_tmp))
-
- # remove deprecated files that have been removed.
- for f in sorted(file_list_path_in):
- if f not in file_list_path_in_tmp:
- print("\tdeprecated: %s" % f)
- os.remove(os.path.join(path_in, f))
-
- # freshen with new files.
- for f in sorted(file_list_path_in_tmp):
- f_from = os.path.join(path_in_tmp, f)
- f_to = os.path.join(path_in, f)
-
- do_copy = True
- if f in file_list_path_in:
- if filecmp.cmp(f_from, f_to):
- do_copy = False
-
- if do_copy:
- print("\tupdating: %s" % f)
- shutil.copy(f_from, f_to)
- '''else:
- print("\tkeeping: %s" % f) # eh, not that useful'''
-
- EXAMPLE_SET_UNUSED = EXAMPLE_SET - EXAMPLE_SET_USED
- if EXAMPLE_SET_UNUSED:
- print("\nUnused examples found in '%s'..." % path_examples)
- for f in EXAMPLE_SET_UNUSED:
- print(" %s.py" % f)
- print(" %d total\n" % len(EXAMPLE_SET_UNUSED))
+ # only for full updates
+ if _BPY_FULL_REBUILD:
+ shutil.rmtree(path_in, True)
+ shutil.rmtree(path_out, True)
+ else:
+ # write here, then move
+ shutil.rmtree(path_in_tmp, True)
+
+ rna2sphinx(path_in_tmp)
+
+ if not _BPY_FULL_REBUILD:
+ import filecmp
+
+ # now move changed files from 'path_in_tmp' --> 'path_in'
+ file_list_path_in = set(os.listdir(path_in))
+ file_list_path_in_tmp = set(os.listdir(path_in_tmp))
+
+ # remove deprecated files that have been removed.
+ for f in sorted(file_list_path_in):
+ if f not in file_list_path_in_tmp:
+ print("\tdeprecated: %s" % f)
+ os.remove(os.path.join(path_in, f))
+
+ # freshen with new files.
+ for f in sorted(file_list_path_in_tmp):
+ f_from = os.path.join(path_in_tmp, f)
+ f_to = os.path.join(path_in, f)
+
+ do_copy = True
+ if f in file_list_path_in:
+ if filecmp.cmp(f_from, f_to):
+ do_copy = False
+
+ if do_copy:
+ print("\tupdating: %s" % f)
+ shutil.copy(f_from, f_to)
+ '''else:
+ print("\tkeeping: %s" % f) # eh, not that useful'''
+
+ EXAMPLE_SET_UNUSED = EXAMPLE_SET - EXAMPLE_SET_USED
+ if EXAMPLE_SET_UNUSED:
+ print("\nUnused examples found in '%s'..." % path_examples)
+ for f in EXAMPLE_SET_UNUSED:
+ print(" %s.py" % f)
+ print(" %d total\n" % len(EXAMPLE_SET_UNUSED))
import sys
sys.exit()
diff --git a/doc/python_api/sphinx_doc_gen.sh b/doc/python_api/sphinx_doc_gen.sh
index 5f23ca395b6..a3befe1b7cb 100755
--- a/doc/python_api/sphinx_doc_gen.sh
+++ b/doc/python_api/sphinx_doc_gen.sh
@@ -38,8 +38,11 @@ cp $SPHINXBASE/sphinx-out/contents.html $SPHINXBASE/sphinx-out/index.html
ssh $SSH_USER@emo.blender.org 'rm -rf '$SSH_UPLOAD_FULL'/*'
rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/* $SSH_HOST:$SSH_UPLOAD_FULL/
-# symlink the dir to a static URL
-ssh $SSH_USER@emo.blender.org 'rm '$SSH_UPLOAD'/250PythonDoc && ln -s '$SSH_UPLOAD_FULL' '$SSH_UPLOAD'/250PythonDoc'
+## symlink the dir to a static URL
+#ssh $SSH_USER@emo.blender.org 'rm '$SSH_UPLOAD'/250PythonDoc && ln -s '$SSH_UPLOAD_FULL' '$SSH_UPLOAD'/250PythonDoc'
+
+# better redirect
+ssh $SSH_USER@emo.blender.org 'echo "<html><head><title>Redirecting...</title><meta http-equiv=\"REFRESH\" content=\"0;url=../blender_python_api_'$BLENDER_VERSION'/\"></head><body>Redirecting...</body></html>" > '$SSH_UPLOAD'/250PythonDoc/index.html'
# pdf
sphinx-build -b latex $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out
diff --git a/extern/binreloc/CMakeLists.txt b/extern/binreloc/CMakeLists.txt
index e3f0b05d563..753e28091d3 100644
--- a/extern/binreloc/CMakeLists.txt
+++ b/extern/binreloc/CMakeLists.txt
@@ -18,17 +18,21 @@
# All rights reserved.
#
+set(INC
+ include
+)
+
+set(INC_SYS
+
+)
+
set(SRC
binreloc.c
include/binreloc.h
)
-set(INC
- ./include
-)
-
add_definitions(-DENABLE_BINRELOC)
-blender_add_lib(extern_binreloc "${SRC}" "${INC}")
+blender_add_lib(extern_binreloc "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/bullet2/CMakeLists.txt b/extern/bullet2/CMakeLists.txt
index a9137dd33f7..9cead6546b8 100644
--- a/extern/bullet2/CMakeLists.txt
+++ b/extern/bullet2/CMakeLists.txt
@@ -29,6 +29,10 @@ set(INC
src
)
+set(INC_SYS
+
+)
+
set(SRC
src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp
src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp
@@ -145,7 +149,15 @@ set(SRC
src/LinearMath/btGeometryUtil.cpp
src/LinearMath/btQuickprof.cpp
src/LinearMath/btSerializer.cpp
-
+ # UNUSED
+ # src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp
+ # src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp
+ # src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp
+ # src/BulletCollision/CollisionShapes/btBox2dShape.cpp
+ # src/BulletCollision/CollisionShapes/btConvex2dShape.cpp
+ # src/BulletDynamics/Character/btKinematicCharacterController.cpp
+ # src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp
+ # src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp
src/Bullet-C-Api.h
src/BulletCollision/BroadphaseCollision/btAxisSweep3.h
@@ -214,6 +226,7 @@ set(SRC
src/BulletCollision/CollisionShapes/btTriangleCallback.h
src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h
src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h
+ src/BulletCollision/CollisionShapes/btTriangleInfoMap.h
src/BulletCollision/CollisionShapes/btTriangleMesh.h
src/BulletCollision/CollisionShapes/btTriangleMeshShape.h
src/BulletCollision/CollisionShapes/btTriangleShape.h
@@ -261,6 +274,7 @@ set(SRC
src/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h
src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h
src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h
+ src/BulletDynamics/Character/btCharacterControllerInterface.h
src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h
src/BulletDynamics/ConstraintSolver/btConstraintSolver.h
src/BulletDynamics/ConstraintSolver/btContactConstraint.h
@@ -288,9 +302,12 @@ set(SRC
src/BulletSoftBody/btDefaultSoftBodySolver.h
src/BulletSoftBody/btSoftBody.h
src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h
+ src/BulletSoftBody/btSoftBodyData.h
src/BulletSoftBody/btSoftBodyHelpers.h
src/BulletSoftBody/btSoftBodyInternals.h
src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h
+ src/BulletSoftBody/btSoftBodySolverVertexBuffer.h
+ src/BulletSoftBody/btSoftBodySolvers.h
src/BulletSoftBody/btSoftRigidCollisionAlgorithm.h
src/BulletSoftBody/btSoftRigidDynamicsWorld.h
src/BulletSoftBody/btSoftSoftCollisionAlgorithm.h
@@ -320,9 +337,16 @@ set(SRC
src/LinearMath/btTransform.h
src/LinearMath/btTransformUtil.h
src/LinearMath/btVector3.h
-
src/btBulletCollisionCommon.h
src/btBulletDynamicsCommon.h
+ # src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h
+ # src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h
+ # src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h
+ # src/BulletCollision/CollisionShapes/btBox2dShape.h
+ # src/BulletCollision/CollisionShapes/btConvex2dShape.h
+ # src/BulletDynamics/Character/btKinematicCharacterController.h
+ # src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h
+ # src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h
)
if(CMAKE_COMPILER_IS_GNUCXX)
@@ -330,4 +354,4 @@ if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
endif()
-blender_add_lib(extern_bullet "${SRC}" "${INC}")
+blender_add_lib(extern_bullet "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h
index 07167af3baf..70cf3e4ace8 100644
--- a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h
+++ b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h
@@ -1026,7 +1026,7 @@ void btAxisSweep3Internal<BP_FP_INT_TYPE>::sortMaxUp(int axis, BP_FP_INT_TYPE ed
/// The btAxisSweep3 is an efficient implementation of the 3d axis sweep and prune broadphase.
-/// It uses arrays rather then lists for storage of the 3 axis. Also it operates using 16 bit integer coordinates instead of floats.
+/// It uses arrays rather than lists for storage of the 3 axis. Also it operates using 16 bit integer coordinates instead of floats.
/// For large worlds and many objects, use bt32BitAxisSweep3 or btDbvtBroadphase instead. bt32BitAxisSweep3 has higher precision and allows more then 16384 objects at the cost of more memory and bit of performance.
class btAxisSweep3 : public btAxisSweep3Internal<unsigned short int>
{
@@ -1038,7 +1038,7 @@ public:
/// The bt32BitAxisSweep3 allows higher precision quantization and more objects compared to the btAxisSweep3 sweep and prune.
/// This comes at the cost of more memory per handle, and a bit slower performance.
-/// It uses arrays rather then lists for storage of the 3 axis.
+/// It uses arrays rather than lists for storage of the 3 axis.
class bt32BitAxisSweep3 : public btAxisSweep3Internal<unsigned int>
{
public:
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
index ede1afb2a03..94385fed909 100644
--- a/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
+++ b/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
@@ -487,7 +487,7 @@ btScalar btConvexConvexAlgorithm::calculateTimeOfImpact(btCollisionObject* col0,
{
(void)resultOut;
(void)dispatchInfo;
- ///Rather then checking ALL pairs, only calculate TOI when motion exceeds threshold
+ ///rather than checking ALL pairs, only calculate TOI when motion exceeds threshold
///Linear motion for one of objects needs to exceed m_ccdSquareMotionThreshold
///col0->m_worldTransform,
diff --git a/extern/glew/CMakeLists.txt b/extern/glew/CMakeLists.txt
index 1a20dbdb9d7..87f8bb6e940 100644
--- a/extern/glew/CMakeLists.txt
+++ b/extern/glew/CMakeLists.txt
@@ -25,11 +25,17 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- ./include
+ include
+)
+
+set(INC_SYS
+
)
if(UNIX)
- list(APPEND INC ${X11_X11_INCLUDE_PATH})
+ list(APPEND INC_SYS
+ ${X11_X11_INCLUDE_PATH}
+ )
endif()
set(SRC
@@ -42,4 +48,4 @@ set(SRC
add_definitions(-DGLEW_STATIC)
-blender_add_lib(extern_glew "${SRC}" "${INC}")
+blender_add_lib(extern_glew "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/glew/include/GL/glew.h b/extern/glew/include/GL/glew.h
index 2d7b7478622..1775aa784dc 100644
--- a/extern/glew/include/GL/glew.h
+++ b/extern/glew/include/GL/glew.h
@@ -1158,11 +1158,13 @@ GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei heigh
/* ---------------------------------- GLU ---------------------------------- */
+#ifndef GLEW_NO_GLU
/* this is where we can safely include GLU */
-#if defined(__APPLE__) && defined(__MACH__)
-#include <OpenGL/glu.h>
-#else
-#include <GL/glu.h>
+# if defined(__APPLE__) && defined(__MACH__)
+# include <OpenGL/glu.h>
+# else
+# include <GL/glu.h>
+# endif
#endif
/* ----------------------------- GL_VERSION_1_2 ---------------------------- */
@@ -2445,6 +2447,18 @@ typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
#endif /* GL_3DFX_texture_compression_FXT1 */
+/* ----------------------- GL_AMD_blend_minmax_factor ---------------------- */
+
+#ifndef GL_AMD_blend_minmax_factor
+#define GL_AMD_blend_minmax_factor 1
+
+#define GL_FACTOR_MIN_AMD 0x901C
+#define GL_FACTOR_MAX_AMD 0x901D
+
+#define GLEW_AMD_blend_minmax_factor GLEW_GET_VAR(__GLEW_AMD_blend_minmax_factor)
+
+#endif /* GL_AMD_blend_minmax_factor */
+
/* ----------------------- GL_AMD_conservative_depth ----------------------- */
#ifndef GL_AMD_conservative_depth
@@ -2587,6 +2601,21 @@ typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monito
#endif /* GL_AMD_performance_monitor */
+/* ------------------------ GL_AMD_sample_positions ------------------------ */
+
+#ifndef GL_AMD_sample_positions
+#define GL_AMD_sample_positions 1
+
+#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F
+
+typedef void (GLAPIENTRY * PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat* val);
+
+#define glSetMultisamplefvAMD GLEW_GET_FUN(__glewSetMultisamplefvAMD)
+
+#define GLEW_AMD_sample_positions GLEW_GET_VAR(__GLEW_AMD_sample_positions)
+
+#endif /* GL_AMD_sample_positions */
+
/* ------------------ GL_AMD_seamless_cubemap_per_texture ------------------ */
#ifndef GL_AMD_seamless_cubemap_per_texture
@@ -3262,12 +3291,6 @@ typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum t
#ifndef GL_ARB_draw_instanced
#define GL_ARB_draw_instanced 1
-typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount);
-
-#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB)
-#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB)
-
#define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced)
#endif /* GL_ARB_draw_instanced */
@@ -3827,8 +3850,12 @@ typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum in
#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
+typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount);
typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);
+#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB)
+#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB)
#define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB)
#define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays)
@@ -6211,8 +6238,8 @@ typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
-#define glPNTrianglesfATI GLEW_GET_FUN(__glPNTrianglewesfATI)
-#define glPNTrianglesiATI GLEW_GET_FUN(__glPNTrianglewesiATI)
+#define glPNTrianglesfATI GLEW_GET_FUN(__glewPNTrianglesfATI)
+#define glPNTrianglesiATI GLEW_GET_FUN(__glewPNTrianglesiATI)
#define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles)
@@ -7599,12 +7626,10 @@ typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLen
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
#define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT)
#define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT)
-#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT)
#define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT)
#define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4)
@@ -8450,6 +8475,10 @@ typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level,
#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+
+#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT)
+
#define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array)
#endif /* GL_EXT_texture_array */
@@ -9316,6 +9345,21 @@ typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight);
#endif /* GL_EXT_vertex_weighting */
+/* ------------------------- GL_EXT_x11_sync_object ------------------------ */
+
+#ifndef GL_EXT_x11_sync_object
+#define GL_EXT_x11_sync_object 1
+
+#define GL_SYNC_X11_FENCE_EXT 0x90E1
+
+typedef GLsync (GLAPIENTRY * PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
+
+#define glImportSyncEXT GLEW_GET_FUN(__glewImportSyncEXT)
+
+#define GLEW_EXT_x11_sync_object GLEW_GET_VAR(__GLEW_EXT_x11_sync_object)
+
+#endif /* GL_EXT_x11_sync_object */
+
/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */
#ifndef GL_GREMEDY_frame_terminator
@@ -10796,6 +10840,32 @@ typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERNVPROC) (void);
#endif /* GL_NV_texture_expand_normal */
+/* ----------------------- GL_NV_texture_multisample ----------------------- */
+
+#ifndef GL_NV_texture_multisample
+#define GL_NV_texture_multisample 1
+
+#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045
+#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046
+
+typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+
+#define glTexImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage2DMultisampleCoverageNV)
+#define glTexImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage3DMultisampleCoverageNV)
+#define glTextureImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage2DMultisampleCoverageNV)
+#define glTextureImage2DMultisampleNV GLEW_GET_FUN(__glewTextureImage2DMultisampleNV)
+#define glTextureImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage3DMultisampleCoverageNV)
+#define glTextureImage3DMultisampleNV GLEW_GET_FUN(__glewTextureImage3DMultisampleNV)
+
+#define GLEW_NV_texture_multisample GLEW_GET_VAR(__GLEW_NV_texture_multisample)
+
+#endif /* GL_NV_texture_multisample */
+
/* ------------------------ GL_NV_texture_rectangle ------------------------ */
#ifndef GL_NV_texture_rectangle
@@ -11505,6 +11575,71 @@ typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei
#endif /* GL_NV_vertex_program4 */
+/* -------------------------- GL_NV_video_capture -------------------------- */
+
+#ifndef GL_NV_video_capture
+#define GL_NV_video_capture 1
+
+#define GL_VIDEO_BUFFER_NV 0x9020
+#define GL_VIDEO_BUFFER_BINDING_NV 0x9021
+#define GL_FIELD_UPPER_NV 0x9022
+#define GL_FIELD_LOWER_NV 0x9023
+#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024
+#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025
+#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026
+#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027
+#define GL_VIDEO_BUFFER_PITCH_NV 0x9028
+#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029
+#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A
+#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B
+#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C
+#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D
+#define GL_PARTIAL_SUCCESS_NV 0x902E
+#define GL_SUCCESS_NV 0x902F
+#define GL_FAILURE_NV 0x9030
+#define GL_YCBYCR8_422_NV 0x9031
+#define GL_YCBAYCR8A_4224_NV 0x9032
+#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033
+#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034
+#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035
+#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036
+#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037
+#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038
+#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039
+#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A
+#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B
+#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C
+
+typedef void (GLAPIENTRY * PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
+typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
+typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
+typedef void (GLAPIENTRY * PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
+typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint* params);
+typedef GLenum (GLAPIENTRY * PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint* sequence_num, GLuint64EXT *capture_time);
+typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params);
+
+#define glBeginVideoCaptureNV GLEW_GET_FUN(__glewBeginVideoCaptureNV)
+#define glBindVideoCaptureStreamBufferNV GLEW_GET_FUN(__glewBindVideoCaptureStreamBufferNV)
+#define glBindVideoCaptureStreamTextureNV GLEW_GET_FUN(__glewBindVideoCaptureStreamTextureNV)
+#define glEndVideoCaptureNV GLEW_GET_FUN(__glewEndVideoCaptureNV)
+#define glGetVideoCaptureStreamdvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamdvNV)
+#define glGetVideoCaptureStreamfvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamfvNV)
+#define glGetVideoCaptureStreamivNV GLEW_GET_FUN(__glewGetVideoCaptureStreamivNV)
+#define glGetVideoCaptureivNV GLEW_GET_FUN(__glewGetVideoCaptureivNV)
+#define glVideoCaptureNV GLEW_GET_FUN(__glewVideoCaptureNV)
+#define glVideoCaptureStreamParameterdvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterdvNV)
+#define glVideoCaptureStreamParameterfvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterfvNV)
+#define glVideoCaptureStreamParameterivNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterivNV)
+
+#define GLEW_NV_video_capture GLEW_GET_VAR(__GLEW_NV_video_capture)
+
+#endif /* GL_NV_video_capture */
+
/* ------------------------ GL_OES_byte_coordinates ------------------------ */
#ifndef GL_OES_byte_coordinates
@@ -13052,6 +13187,8 @@ GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupS
GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD;
GLEW_FUN_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD;
+GLEW_FUN_EXPORT PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD;
+
GLEW_FUN_EXPORT PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD;
GLEW_FUN_EXPORT PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD;
@@ -13132,9 +13269,6 @@ GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBase
GLEW_FUN_EXPORT PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect;
GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect;
-GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB;
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB;
-
GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer;
GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer;
GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer;
@@ -13234,6 +13368,8 @@ GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram;
GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax;
GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D;
+GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB;
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB;
GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB;
GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange;
@@ -13711,8 +13847,8 @@ GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderCon
GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI;
GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI;
-GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glPNTrianglewesfATI;
-GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glPNTrianglewesiATI;
+GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI;
+GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI;
GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI;
GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI;
@@ -14093,7 +14229,6 @@ GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT;
GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT;
GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT;
@@ -14214,6 +14349,8 @@ GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT;
GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT;
+
GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT;
GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT;
@@ -14311,6 +14448,8 @@ GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT;
GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT;
GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT;
+GLEW_FUN_EXPORT PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT;
+
GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY;
GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY;
@@ -14573,6 +14712,13 @@ GLEW_FUN_EXPORT PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV;
GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV;
+GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV;
+GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV;
+GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV;
+GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV;
+GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV;
+GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV;
+
GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV;
GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV;
GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV;
@@ -14705,6 +14851,19 @@ GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV;
GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV;
GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV;
+GLEW_FUN_EXPORT PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV;
+GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV;
+GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV;
+GLEW_FUN_EXPORT PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV;
+GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV;
+GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV;
+GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV;
+GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV;
+GLEW_FUN_EXPORT PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV;
+GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV;
+GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV;
+GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV;
+
GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES;
GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES;
GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES;
@@ -14866,12 +15025,14 @@ GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_1;
GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample;
GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer;
GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_blend_minmax_factor;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_conservative_depth;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_debug_output;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_depth_clamp_separate;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_draw_buffers_blend;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_name_gen_delete;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_performance_monitor;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sample_positions;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_seamless_cubemap_per_texture;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_export;
GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_texture4;
@@ -15106,6 +15267,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra;
GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_attrib_64bit;
GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader;
GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_x11_sync_object;
GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator;
GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker;
GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes;
@@ -15174,6 +15336,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_barrier;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_multisample;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2;
@@ -15191,6 +15354,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3;
GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_video_capture;
GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates;
GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture;
GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format;
diff --git a/extern/glew/include/GL/glxew.h b/extern/glew/include/GL/glxew.h
index 68fcac295be..2995318f691 100644
--- a/extern/glew/include/GL/glxew.h
+++ b/extern/glew/include/GL/glxew.h
@@ -876,6 +876,33 @@ typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
#endif /* GLX_NV_vertex_array_range */
+/* -------------------------- GLX_NV_video_capture ------------------------- */
+
+#ifndef GLX_NV_video_capture
+#define GLX_NV_video_capture 1
+
+#define GLX_DEVICE_ID_NV 0x20CD
+#define GLX_UNIQUE_ID_NV 0x20CE
+#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
+
+typedef XID GLXVideoCaptureDeviceNV;
+
+typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display* dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
+typedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display* dpy, int screen, int *nelements);
+typedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device);
+typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
+typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device);
+
+#define glXBindVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXBindVideoCaptureDeviceNV)
+#define glXEnumerateVideoCaptureDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoCaptureDevicesNV)
+#define glXLockVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXLockVideoCaptureDeviceNV)
+#define glXQueryVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXQueryVideoCaptureDeviceNV)
+#define glXReleaseVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoCaptureDeviceNV)
+
+#define GLXEW_NV_video_capture GLXEW_GET_VAR(__GLXEW_NV_video_capture)
+
+#endif /* GLX_NV_video_capture */
+
/* -------------------------- GLX_NV_video_output -------------------------- */
#ifndef GLX_NV_video_output
@@ -926,8 +953,7 @@ typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf,
/* -------------------------- GLX_OML_sync_control ------------------------- */
-#if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-#include <inttypes.h>
+#ifndef GLX_OML_sync_control
#define GLX_OML_sync_control 1
typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
@@ -1374,6 +1400,12 @@ extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV;
extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
+extern PFNGLXBINDVIDEOCAPTUREDEVICENVPROC __glewXBindVideoCaptureDeviceNV;
+extern PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC __glewXEnumerateVideoCaptureDevicesNV;
+extern PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC __glewXLockVideoCaptureDeviceNV;
+extern PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC __glewXQueryVideoCaptureDeviceNV;
+extern PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC __glewXReleaseVideoCaptureDeviceNV;
+
extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV;
extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV;
extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV;
@@ -1381,13 +1413,11 @@ extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV;
extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV;
extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV;
-#ifdef GLX_OML_sync_control
extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
-#endif
extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
@@ -1480,6 +1510,7 @@ GLXEW_EXPORT GLboolean __GLXEW_NV_multisample_coverage;
GLXEW_EXPORT GLboolean __GLXEW_NV_present_video;
GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group;
GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
+GLXEW_EXPORT GLboolean __GLXEW_NV_video_capture;
GLXEW_EXPORT GLboolean __GLXEW_NV_video_output;
GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
diff --git a/extern/glew/include/GL/wglew.h b/extern/glew/include/GL/wglew.h
index ab01d343a51..deb64682811 100644
--- a/extern/glew/include/GL/wglew.h
+++ b/extern/glew/include/GL/wglew.h
@@ -141,7 +141,7 @@ typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT* ids);
-//XXX-blender, added: typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, INT property, GLenum dataType, UINT size, void* data);
+typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, INT property, GLenum dataType, UINT size, void* data);
typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
#define wglBlitContextFramebufferAMD WGLEW_GET_FUN(__wglewBlitContextFramebufferAMD)
@@ -831,6 +831,37 @@ typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWO
#endif /* WGL_I3D_swap_frame_usage */
+/* --------------------------- WGL_NV_DX_interop --------------------------- */
+
+#ifndef WGL_NV_DX_interop
+#define WGL_NV_DX_interop 1
+
+#define WGL_ACCESS_READ_ONLY_NV 0x0000
+#define WGL_ACCESS_READ_WRITE_NV 0x0001
+#define WGL_ACCESS_WRITE_DISCARD_NV 0x0002
+
+typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
+typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects);
+typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access);
+typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void* dxDevice);
+typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void* dxObject, GLuint name, GLenum type, GLenum access);
+typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void* dxObject, HANDLE shareHandle);
+typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects);
+typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject);
+
+#define wglDXCloseDeviceNV WGLEW_GET_FUN(__wglewDXCloseDeviceNV)
+#define wglDXLockObjectsNV WGLEW_GET_FUN(__wglewDXLockObjectsNV)
+#define wglDXObjectAccessNV WGLEW_GET_FUN(__wglewDXObjectAccessNV)
+#define wglDXOpenDeviceNV WGLEW_GET_FUN(__wglewDXOpenDeviceNV)
+#define wglDXRegisterObjectNV WGLEW_GET_FUN(__wglewDXRegisterObjectNV)
+#define wglDXSetResourceShareHandleNV WGLEW_GET_FUN(__wglewDXSetResourceShareHandleNV)
+#define wglDXUnlockObjectsNV WGLEW_GET_FUN(__wglewDXUnlockObjectsNV)
+#define wglDXUnregisterObjectNV WGLEW_GET_FUN(__wglewDXUnregisterObjectNV)
+
+#define WGLEW_NV_DX_interop WGLEW_GET_VAR(__WGLEW_NV_DX_interop)
+
+#endif /* WGL_NV_DX_interop */
+
/* --------------------------- WGL_NV_copy_image --------------------------- */
#ifndef WGL_NV_copy_image
@@ -996,6 +1027,32 @@ typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
#endif /* WGL_NV_vertex_array_range */
+/* -------------------------- WGL_NV_video_capture ------------------------- */
+
+#ifndef WGL_NV_video_capture
+#define WGL_NV_video_capture 1
+
+#define WGL_UNIQUE_ID_NV 0x20CE
+#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
+
+DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
+
+typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
+typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV* phDeviceList);
+typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int* piValue);
+typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+
+#define wglBindVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewBindVideoCaptureDeviceNV)
+#define wglEnumerateVideoCaptureDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoCaptureDevicesNV)
+#define wglLockVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewLockVideoCaptureDeviceNV)
+#define wglQueryVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewQueryVideoCaptureDeviceNV)
+#define wglReleaseVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoCaptureDeviceNV)
+
+#define WGLEW_NV_video_capture WGLEW_GET_VAR(__WGLEW_NV_video_capture)
+
+#endif /* WGL_NV_video_capture */
+
/* -------------------------- WGL_NV_video_output -------------------------- */
#ifndef WGL_NV_video_output
@@ -1080,7 +1137,7 @@ WGLEW_EXPORT PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContext
WGLEW_EXPORT PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD;
WGLEW_EXPORT PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD;
WGLEW_EXPORT PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD;
-//XXX-blender, added: WGLEW_EXPORT PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD;
+WGLEW_EXPORT PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD;
WGLEW_EXPORT PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD;
WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB;
@@ -1168,6 +1225,15 @@ WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D;
WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
+WGLEW_EXPORT PFNWGLDXCLOSEDEVICENVPROC __wglewDXCloseDeviceNV;
+WGLEW_EXPORT PFNWGLDXLOCKOBJECTSNVPROC __wglewDXLockObjectsNV;
+WGLEW_EXPORT PFNWGLDXOBJECTACCESSNVPROC __wglewDXObjectAccessNV;
+WGLEW_EXPORT PFNWGLDXOPENDEVICENVPROC __wglewDXOpenDeviceNV;
+WGLEW_EXPORT PFNWGLDXREGISTEROBJECTNVPROC __wglewDXRegisterObjectNV;
+WGLEW_EXPORT PFNWGLDXSETRESOURCESHAREHANDLENVPROC __wglewDXSetResourceShareHandleNV;
+WGLEW_EXPORT PFNWGLDXUNLOCKOBJECTSNVPROC __wglewDXUnlockObjectsNV;
+WGLEW_EXPORT PFNWGLDXUNREGISTEROBJECTNVPROC __wglewDXUnregisterObjectNV;
+
WGLEW_EXPORT PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV;
WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV;
@@ -1190,6 +1256,12 @@ WGLEW_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV;
WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
+WGLEW_EXPORT PFNWGLBINDVIDEOCAPTUREDEVICENVPROC __wglewBindVideoCaptureDeviceNV;
+WGLEW_EXPORT PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC __wglewEnumerateVideoCaptureDevicesNV;
+WGLEW_EXPORT PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC __wglewLockVideoCaptureDeviceNV;
+WGLEW_EXPORT PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC __wglewQueryVideoCaptureDeviceNV;
+WGLEW_EXPORT PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC __wglewReleaseVideoCaptureDeviceNV;
+
WGLEW_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV;
WGLEW_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV;
WGLEW_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV;
@@ -1237,6 +1309,7 @@ WGLEW_EXPORT GLboolean __WGLEW_I3D_genlock;
WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer;
WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
+WGLEW_EXPORT GLboolean __WGLEW_NV_DX_interop;
WGLEW_EXPORT GLboolean __WGLEW_NV_copy_image;
WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
@@ -1246,6 +1319,7 @@ WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
WGLEW_EXPORT GLboolean __WGLEW_NV_swap_group;
WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
+WGLEW_EXPORT GLboolean __WGLEW_NV_video_capture;
WGLEW_EXPORT GLboolean __WGLEW_NV_video_output;
WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
diff --git a/extern/glew/src/glew.c b/extern/glew/src/glew.c
index ddc97d3b445..b2244a03237 100644
--- a/extern/glew/src/glew.c
+++ b/extern/glew/src/glew.c
@@ -249,6 +249,26 @@ static GLboolean _glewStrSame3 (GLubyte** a, GLuint* na, const GLubyte* b, GLuin
return GL_FALSE;
}
+/*
+ * Search for name in the extensions string. Use of strstr()
+ * is not sufficient because extension names can be prefixes of
+ * other extension names. Could use strtok() but the constant
+ * string returned by glGetString might be in read-only memory.
+ */
+static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end)
+{
+ const GLubyte* p;
+ GLuint len = _glewStrLen((const GLubyte*)name);
+ p = start;
+ while (p < end)
+ {
+ GLuint n = _glewStrCLen(p, ' ');
+ if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
+ p += n+1;
+ }
+ return GL_FALSE;
+}
+
#if !defined(_WIN32) || !defined(GLEW_MX)
PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D = NULL;
@@ -573,6 +593,8 @@ PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD = NULL;
PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD = NULL;
PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD = NULL;
+PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD = NULL;
+
PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD = NULL;
PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD = NULL;
@@ -653,9 +675,6 @@ PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex = NULL;
PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect = NULL;
PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect = NULL;
-PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB = NULL;
-PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB = NULL;
-
PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer = NULL;
PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer = NULL;
PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer = NULL;
@@ -755,6 +774,8 @@ PFNGLRESETHISTOGRAMPROC __glewResetHistogram = NULL;
PFNGLRESETMINMAXPROC __glewResetMinmax = NULL;
PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D = NULL;
+PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB = NULL;
+PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB = NULL;
PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB = NULL;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange = NULL;
@@ -1232,8 +1253,8 @@ PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI = NULL;
PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI = NULL;
PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI = NULL;
-PFNGLPNTRIANGLESFATIPROC __glPNTrianglewesfATI = NULL;
-PFNGLPNTRIANGLESIATIPROC __glPNTrianglewesiATI = NULL;
+PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI = NULL;
+PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI = NULL;
PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI = NULL;
PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI = NULL;
@@ -1614,7 +1635,6 @@ PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT = NULL;
PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT = NULL;
PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT = NULL;
-PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT = NULL;
PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT = NULL;
PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT = NULL;
@@ -1735,6 +1755,8 @@ PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT = NULL;
PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT = NULL;
+PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT = NULL;
+
PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT = NULL;
PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT = NULL;
@@ -1832,6 +1854,8 @@ PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT = NULL;
PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT = NULL;
PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT = NULL;
+PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT = NULL;
+
PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY = NULL;
PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY = NULL;
@@ -2094,6 +2118,13 @@ PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV = NULL;
PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV = NULL;
+PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV = NULL;
+PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV = NULL;
+PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV = NULL;
+PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV = NULL;
+PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV = NULL;
+PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV = NULL;
+
PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV = NULL;
PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV = NULL;
PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV = NULL;
@@ -2226,6 +2257,19 @@ PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV = NULL;
PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV = NULL;
PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV = NULL;
+PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV = NULL;
+PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV = NULL;
+PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV = NULL;
+PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV = NULL;
+PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV = NULL;
+PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV = NULL;
+PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV = NULL;
+PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV = NULL;
+PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV = NULL;
+PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV = NULL;
+PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV = NULL;
+PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV = NULL;
+
PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES = NULL;
PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES = NULL;
PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES = NULL;
@@ -2386,12 +2430,14 @@ GLboolean __GLEW_VERSION_4_1 = GL_FALSE;
GLboolean __GLEW_3DFX_multisample = GL_FALSE;
GLboolean __GLEW_3DFX_tbuffer = GL_FALSE;
GLboolean __GLEW_3DFX_texture_compression_FXT1 = GL_FALSE;
+GLboolean __GLEW_AMD_blend_minmax_factor = GL_FALSE;
GLboolean __GLEW_AMD_conservative_depth = GL_FALSE;
GLboolean __GLEW_AMD_debug_output = GL_FALSE;
GLboolean __GLEW_AMD_depth_clamp_separate = GL_FALSE;
GLboolean __GLEW_AMD_draw_buffers_blend = GL_FALSE;
GLboolean __GLEW_AMD_name_gen_delete = GL_FALSE;
GLboolean __GLEW_AMD_performance_monitor = GL_FALSE;
+GLboolean __GLEW_AMD_sample_positions = GL_FALSE;
GLboolean __GLEW_AMD_seamless_cubemap_per_texture = GL_FALSE;
GLboolean __GLEW_AMD_shader_stencil_export = GL_FALSE;
GLboolean __GLEW_AMD_texture_texture4 = GL_FALSE;
@@ -2626,6 +2672,7 @@ GLboolean __GLEW_EXT_vertex_array_bgra = GL_FALSE;
GLboolean __GLEW_EXT_vertex_attrib_64bit = GL_FALSE;
GLboolean __GLEW_EXT_vertex_shader = GL_FALSE;
GLboolean __GLEW_EXT_vertex_weighting = GL_FALSE;
+GLboolean __GLEW_EXT_x11_sync_object = GL_FALSE;
GLboolean __GLEW_GREMEDY_frame_terminator = GL_FALSE;
GLboolean __GLEW_GREMEDY_string_marker = GL_FALSE;
GLboolean __GLEW_HP_convolution_border_modes = GL_FALSE;
@@ -2694,6 +2741,7 @@ GLboolean __GLEW_NV_texture_barrier = GL_FALSE;
GLboolean __GLEW_NV_texture_compression_vtc = GL_FALSE;
GLboolean __GLEW_NV_texture_env_combine4 = GL_FALSE;
GLboolean __GLEW_NV_texture_expand_normal = GL_FALSE;
+GLboolean __GLEW_NV_texture_multisample = GL_FALSE;
GLboolean __GLEW_NV_texture_rectangle = GL_FALSE;
GLboolean __GLEW_NV_texture_shader = GL_FALSE;
GLboolean __GLEW_NV_texture_shader2 = GL_FALSE;
@@ -2711,6 +2759,7 @@ GLboolean __GLEW_NV_vertex_program2 = GL_FALSE;
GLboolean __GLEW_NV_vertex_program2_option = GL_FALSE;
GLboolean __GLEW_NV_vertex_program3 = GL_FALSE;
GLboolean __GLEW_NV_vertex_program4 = GL_FALSE;
+GLboolean __GLEW_NV_video_capture = GL_FALSE;
GLboolean __GLEW_OES_byte_coordinates = GL_FALSE;
GLboolean __GLEW_OES_compressed_paletted_texture = GL_FALSE;
GLboolean __GLEW_OES_read_format = GL_FALSE;
@@ -3229,6 +3278,10 @@ static GLboolean _glewInit_GL_3DFX_tbuffer (GLEW_CONTEXT_ARG_DEF_INIT)
#endif /* GL_3DFX_texture_compression_FXT1 */
+#ifdef GL_AMD_blend_minmax_factor
+
+#endif /* GL_AMD_blend_minmax_factor */
+
#ifdef GL_AMD_conservative_depth
#endif /* GL_AMD_conservative_depth */
@@ -3307,6 +3360,19 @@ static GLboolean _glewInit_GL_AMD_performance_monitor (GLEW_CONTEXT_ARG_DEF_INIT
#endif /* GL_AMD_performance_monitor */
+#ifdef GL_AMD_sample_positions
+
+static GLboolean _glewInit_GL_AMD_sample_positions (GLEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((glSetMultisamplefvAMD = (PFNGLSETMULTISAMPLEFVAMDPROC)glewGetProcAddress((const GLubyte*)"glSetMultisamplefvAMD")) == NULL) || r;
+
+ return r;
+}
+
+#endif /* GL_AMD_sample_positions */
+
#ifdef GL_AMD_seamless_cubemap_per_texture
#endif /* GL_AMD_seamless_cubemap_per_texture */
@@ -3666,16 +3732,6 @@ static GLboolean _glewInit_GL_ARB_draw_indirect (GLEW_CONTEXT_ARG_DEF_INIT)
#ifdef GL_ARB_draw_instanced
-static GLboolean _glewInit_GL_ARB_draw_instanced (GLEW_CONTEXT_ARG_DEF_INIT)
-{
- GLboolean r = GL_FALSE;
-
- r = ((glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedARB")) == NULL) || r;
- r = ((glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedARB")) == NULL) || r;
-
- return r;
-}
-
#endif /* GL_ARB_draw_instanced */
#ifdef GL_ARB_explicit_attrib_location
@@ -3875,6 +3931,8 @@ static GLboolean _glewInit_GL_ARB_instanced_arrays (GLEW_CONTEXT_ARG_DEF_INIT)
{
GLboolean r = GL_FALSE;
+ r = ((glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedARB")) == NULL) || r;
+ r = ((glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedARB")) == NULL) || r;
r = ((glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorARB")) == NULL) || r;
return r;
@@ -5653,7 +5711,6 @@ static GLboolean _glewInit_GL_EXT_geometry_shader4 (GLEW_CONTEXT_ARG_DEF_INIT)
r = ((glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureEXT")) == NULL) || r;
r = ((glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureFaceEXT")) == NULL) || r;
- r = ((glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerEXT")) == NULL) || r;
r = ((glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteriEXT")) == NULL) || r;
return r;
@@ -6061,6 +6118,15 @@ static GLboolean _glewInit_GL_EXT_texture3D (GLEW_CONTEXT_ARG_DEF_INIT)
#ifdef GL_EXT_texture_array
+static GLboolean _glewInit_GL_EXT_texture_array (GLEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerEXT")) == NULL) || r;
+
+ return r;
+}
+
#endif /* GL_EXT_texture_array */
#ifdef GL_EXT_texture_buffer_object
@@ -6350,6 +6416,19 @@ static GLboolean _glewInit_GL_EXT_vertex_weighting (GLEW_CONTEXT_ARG_DEF_INIT)
#endif /* GL_EXT_vertex_weighting */
+#ifdef GL_EXT_x11_sync_object
+
+static GLboolean _glewInit_GL_EXT_x11_sync_object (GLEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((glImportSyncEXT = (PFNGLIMPORTSYNCEXTPROC)glewGetProcAddress((const GLubyte*)"glImportSyncEXT")) == NULL) || r;
+
+ return r;
+}
+
+#endif /* GL_EXT_x11_sync_object */
+
#ifdef GL_GREMEDY_frame_terminator
static GLboolean _glewInit_GL_GREMEDY_frame_terminator (GLEW_CONTEXT_ARG_DEF_INIT)
@@ -7108,6 +7187,24 @@ static GLboolean _glewInit_GL_NV_texture_barrier (GLEW_CONTEXT_ARG_DEF_INIT)
#endif /* GL_NV_texture_expand_normal */
+#ifdef GL_NV_texture_multisample
+
+static GLboolean _glewInit_GL_NV_texture_multisample (GLEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((glTexImage2DMultisampleCoverageNV = (PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTexImage2DMultisampleCoverageNV")) == NULL) || r;
+ r = ((glTexImage3DMultisampleCoverageNV = (PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DMultisampleCoverageNV")) == NULL) || r;
+ r = ((glTextureImage2DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DMultisampleCoverageNV")) == NULL) || r;
+ r = ((glTextureImage2DMultisampleNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DMultisampleNV")) == NULL) || r;
+ r = ((glTextureImage3DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DMultisampleCoverageNV")) == NULL) || r;
+ r = ((glTextureImage3DMultisampleNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DMultisampleNV")) == NULL) || r;
+
+ return r;
+}
+
+#endif /* GL_NV_texture_multisample */
+
#ifdef GL_NV_texture_rectangle
#endif /* GL_NV_texture_rectangle */
@@ -7357,6 +7454,30 @@ static GLboolean _glewInit_GL_NV_vertex_program (GLEW_CONTEXT_ARG_DEF_INIT)
#endif /* GL_NV_vertex_program4 */
+#ifdef GL_NV_video_capture
+
+static GLboolean _glewInit_GL_NV_video_capture (GLEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((glBeginVideoCaptureNV = (PFNGLBEGINVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glBeginVideoCaptureNV")) == NULL) || r;
+ r = ((glBindVideoCaptureStreamBufferNV = (PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glBindVideoCaptureStreamBufferNV")) == NULL) || r;
+ r = ((glBindVideoCaptureStreamTextureNV = (PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)glewGetProcAddress((const GLubyte*)"glBindVideoCaptureStreamTextureNV")) == NULL) || r;
+ r = ((glEndVideoCaptureNV = (PFNGLENDVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glEndVideoCaptureNV")) == NULL) || r;
+ r = ((glGetVideoCaptureStreamdvNV = (PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamdvNV")) == NULL) || r;
+ r = ((glGetVideoCaptureStreamfvNV = (PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamfvNV")) == NULL) || r;
+ r = ((glGetVideoCaptureStreamivNV = (PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamivNV")) == NULL) || r;
+ r = ((glGetVideoCaptureivNV = (PFNGLGETVIDEOCAPTUREIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureivNV")) == NULL) || r;
+ r = ((glVideoCaptureNV = (PFNGLVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureNV")) == NULL) || r;
+ r = ((glVideoCaptureStreamParameterdvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterdvNV")) == NULL) || r;
+ r = ((glVideoCaptureStreamParameterfvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterfvNV")) == NULL) || r;
+ r = ((glVideoCaptureStreamParameterivNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterivNV")) == NULL) || r;
+
+ return r;
+}
+
+#endif /* GL_NV_video_capture */
+
#ifdef GL_OES_byte_coordinates
#endif /* GL_OES_byte_coordinates */
@@ -7943,27 +8064,15 @@ static GLboolean _glewInit_GL_WIN_swap_hint (GLEW_CONTEXT_ARG_DEF_INIT)
/* ------------------------------------------------------------------------- */
-/*
- * Search for name in the extensions string. Use of strstr()
- * is not sufficient because extension names can be prefixes of
- * other extension names. Could use strtok() but the constant
- * string returned by glGetString might be in read-only memory.
- */
GLboolean glewGetExtension (const char* name)
{
- GLubyte* p;
- GLubyte* end;
- GLuint len = _glewStrLen((const GLubyte*)name);
- p = (GLubyte*)glGetString(GL_EXTENSIONS);
- if (0 == p) return GL_FALSE;
- end = p + _glewStrLen(p);
- while (p < end)
- {
- GLuint n = _glewStrCLen(p, ' ');
- if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
- p += n+1;
- }
- return GL_FALSE;
+ const GLubyte* start;
+ const GLubyte* end;
+ start = (const GLubyte*)glGetString(GL_EXTENSIONS);
+ if (start == 0)
+ return GL_FALSE;
+ end = start + _glewStrLen(start);
+ return _glewSearchExtension(name, start, end);
}
/* ------------------------------------------------------------------------- */
@@ -7976,6 +8085,8 @@ GLenum glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
const GLubyte* s;
GLuint dot;
GLint major, minor;
+ const GLubyte* extStart;
+ const GLubyte* extEnd;
/* query opengl version */
s = glGetString(GL_VERSION);
dot = _glewStrCLen(s, '.');
@@ -8012,6 +8123,13 @@ GLenum glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
CONST_CAST(GLEW_VERSION_1_2) = GLEW_VERSION_1_2_1 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
CONST_CAST(GLEW_VERSION_1_1) = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
}
+
+ /* query opengl extensions string */
+ extStart = glGetString(GL_EXTENSIONS);
+ if (extStart == 0)
+ extStart = (const GLubyte*)"";
+ extEnd = extStart + _glewStrLen(extStart);
+
/* initialize extensions */
#ifdef GL_VERSION_1_2
if (glewExperimental || GLEW_VERSION_1_2) CONST_CAST(GLEW_VERSION_1_2) = !_glewInit_GL_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT);
@@ -8051,1388 +8169,1407 @@ GLenum glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
#ifdef GL_VERSION_4_1
#endif /* GL_VERSION_4_1 */
#ifdef GL_3DFX_multisample
- CONST_CAST(GLEW_3DFX_multisample) = glewGetExtension("GL_3DFX_multisample");
+ CONST_CAST(GLEW_3DFX_multisample) = _glewSearchExtension("GL_3DFX_multisample", extStart, extEnd);
#endif /* GL_3DFX_multisample */
#ifdef GL_3DFX_tbuffer
- CONST_CAST(GLEW_3DFX_tbuffer) = glewGetExtension("GL_3DFX_tbuffer");
+ CONST_CAST(GLEW_3DFX_tbuffer) = _glewSearchExtension("GL_3DFX_tbuffer", extStart, extEnd);
if (glewExperimental || GLEW_3DFX_tbuffer) CONST_CAST(GLEW_3DFX_tbuffer) = !_glewInit_GL_3DFX_tbuffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_3DFX_tbuffer */
#ifdef GL_3DFX_texture_compression_FXT1
- CONST_CAST(GLEW_3DFX_texture_compression_FXT1) = glewGetExtension("GL_3DFX_texture_compression_FXT1");
+ CONST_CAST(GLEW_3DFX_texture_compression_FXT1) = _glewSearchExtension("GL_3DFX_texture_compression_FXT1", extStart, extEnd);
#endif /* GL_3DFX_texture_compression_FXT1 */
+#ifdef GL_AMD_blend_minmax_factor
+ CONST_CAST(GLEW_AMD_blend_minmax_factor) = _glewSearchExtension("GL_AMD_blend_minmax_factor", extStart, extEnd);
+#endif /* GL_AMD_blend_minmax_factor */
#ifdef GL_AMD_conservative_depth
- CONST_CAST(GLEW_AMD_conservative_depth) = glewGetExtension("GL_AMD_conservative_depth");
+ CONST_CAST(GLEW_AMD_conservative_depth) = _glewSearchExtension("GL_AMD_conservative_depth", extStart, extEnd);
#endif /* GL_AMD_conservative_depth */
#ifdef GL_AMD_debug_output
- CONST_CAST(GLEW_AMD_debug_output) = glewGetExtension("GL_AMD_debug_output");
+ CONST_CAST(GLEW_AMD_debug_output) = _glewSearchExtension("GL_AMD_debug_output", extStart, extEnd);
if (glewExperimental || GLEW_AMD_debug_output) CONST_CAST(GLEW_AMD_debug_output) = !_glewInit_GL_AMD_debug_output(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_AMD_debug_output */
#ifdef GL_AMD_depth_clamp_separate
- CONST_CAST(GLEW_AMD_depth_clamp_separate) = glewGetExtension("GL_AMD_depth_clamp_separate");
+ CONST_CAST(GLEW_AMD_depth_clamp_separate) = _glewSearchExtension("GL_AMD_depth_clamp_separate", extStart, extEnd);
#endif /* GL_AMD_depth_clamp_separate */
#ifdef GL_AMD_draw_buffers_blend
- CONST_CAST(GLEW_AMD_draw_buffers_blend) = glewGetExtension("GL_AMD_draw_buffers_blend");
+ CONST_CAST(GLEW_AMD_draw_buffers_blend) = _glewSearchExtension("GL_AMD_draw_buffers_blend", extStart, extEnd);
if (glewExperimental || GLEW_AMD_draw_buffers_blend) CONST_CAST(GLEW_AMD_draw_buffers_blend) = !_glewInit_GL_AMD_draw_buffers_blend(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_AMD_draw_buffers_blend */
#ifdef GL_AMD_name_gen_delete
- CONST_CAST(GLEW_AMD_name_gen_delete) = glewGetExtension("GL_AMD_name_gen_delete");
+ CONST_CAST(GLEW_AMD_name_gen_delete) = _glewSearchExtension("GL_AMD_name_gen_delete", extStart, extEnd);
if (glewExperimental || GLEW_AMD_name_gen_delete) CONST_CAST(GLEW_AMD_name_gen_delete) = !_glewInit_GL_AMD_name_gen_delete(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_AMD_name_gen_delete */
#ifdef GL_AMD_performance_monitor
- CONST_CAST(GLEW_AMD_performance_monitor) = glewGetExtension("GL_AMD_performance_monitor");
+ CONST_CAST(GLEW_AMD_performance_monitor) = _glewSearchExtension("GL_AMD_performance_monitor", extStart, extEnd);
if (glewExperimental || GLEW_AMD_performance_monitor) CONST_CAST(GLEW_AMD_performance_monitor) = !_glewInit_GL_AMD_performance_monitor(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_AMD_performance_monitor */
+#ifdef GL_AMD_sample_positions
+ CONST_CAST(GLEW_AMD_sample_positions) = _glewSearchExtension("GL_AMD_sample_positions", extStart, extEnd);
+ if (glewExperimental || GLEW_AMD_sample_positions) CONST_CAST(GLEW_AMD_sample_positions) = !_glewInit_GL_AMD_sample_positions(GLEW_CONTEXT_ARG_VAR_INIT);
+#endif /* GL_AMD_sample_positions */
#ifdef GL_AMD_seamless_cubemap_per_texture
- CONST_CAST(GLEW_AMD_seamless_cubemap_per_texture) = glewGetExtension("GL_AMD_seamless_cubemap_per_texture");
+ CONST_CAST(GLEW_AMD_seamless_cubemap_per_texture) = _glewSearchExtension("GL_AMD_seamless_cubemap_per_texture", extStart, extEnd);
#endif /* GL_AMD_seamless_cubemap_per_texture */
#ifdef GL_AMD_shader_stencil_export
- CONST_CAST(GLEW_AMD_shader_stencil_export) = glewGetExtension("GL_AMD_shader_stencil_export");
+ CONST_CAST(GLEW_AMD_shader_stencil_export) = _glewSearchExtension("GL_AMD_shader_stencil_export", extStart, extEnd);
#endif /* GL_AMD_shader_stencil_export */
#ifdef GL_AMD_texture_texture4
- CONST_CAST(GLEW_AMD_texture_texture4) = glewGetExtension("GL_AMD_texture_texture4");
+ CONST_CAST(GLEW_AMD_texture_texture4) = _glewSearchExtension("GL_AMD_texture_texture4", extStart, extEnd);
#endif /* GL_AMD_texture_texture4 */
#ifdef GL_AMD_transform_feedback3_lines_triangles
- CONST_CAST(GLEW_AMD_transform_feedback3_lines_triangles) = glewGetExtension("GL_AMD_transform_feedback3_lines_triangles");
+ CONST_CAST(GLEW_AMD_transform_feedback3_lines_triangles) = _glewSearchExtension("GL_AMD_transform_feedback3_lines_triangles", extStart, extEnd);
#endif /* GL_AMD_transform_feedback3_lines_triangles */
#ifdef GL_AMD_vertex_shader_tessellator
- CONST_CAST(GLEW_AMD_vertex_shader_tessellator) = glewGetExtension("GL_AMD_vertex_shader_tessellator");
+ CONST_CAST(GLEW_AMD_vertex_shader_tessellator) = _glewSearchExtension("GL_AMD_vertex_shader_tessellator", extStart, extEnd);
if (glewExperimental || GLEW_AMD_vertex_shader_tessellator) CONST_CAST(GLEW_AMD_vertex_shader_tessellator) = !_glewInit_GL_AMD_vertex_shader_tessellator(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_AMD_vertex_shader_tessellator */
#ifdef GL_APPLE_aux_depth_stencil
- CONST_CAST(GLEW_APPLE_aux_depth_stencil) = glewGetExtension("GL_APPLE_aux_depth_stencil");
+ CONST_CAST(GLEW_APPLE_aux_depth_stencil) = _glewSearchExtension("GL_APPLE_aux_depth_stencil", extStart, extEnd);
#endif /* GL_APPLE_aux_depth_stencil */
#ifdef GL_APPLE_client_storage
- CONST_CAST(GLEW_APPLE_client_storage) = glewGetExtension("GL_APPLE_client_storage");
+ CONST_CAST(GLEW_APPLE_client_storage) = _glewSearchExtension("GL_APPLE_client_storage", extStart, extEnd);
#endif /* GL_APPLE_client_storage */
#ifdef GL_APPLE_element_array
- CONST_CAST(GLEW_APPLE_element_array) = glewGetExtension("GL_APPLE_element_array");
+ CONST_CAST(GLEW_APPLE_element_array) = _glewSearchExtension("GL_APPLE_element_array", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_element_array) CONST_CAST(GLEW_APPLE_element_array) = !_glewInit_GL_APPLE_element_array(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_element_array */
#ifdef GL_APPLE_fence
- CONST_CAST(GLEW_APPLE_fence) = glewGetExtension("GL_APPLE_fence");
+ CONST_CAST(GLEW_APPLE_fence) = _glewSearchExtension("GL_APPLE_fence", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_fence) CONST_CAST(GLEW_APPLE_fence) = !_glewInit_GL_APPLE_fence(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_fence */
#ifdef GL_APPLE_float_pixels
- CONST_CAST(GLEW_APPLE_float_pixels) = glewGetExtension("GL_APPLE_float_pixels");
+ CONST_CAST(GLEW_APPLE_float_pixels) = _glewSearchExtension("GL_APPLE_float_pixels", extStart, extEnd);
#endif /* GL_APPLE_float_pixels */
#ifdef GL_APPLE_flush_buffer_range
- CONST_CAST(GLEW_APPLE_flush_buffer_range) = glewGetExtension("GL_APPLE_flush_buffer_range");
+ CONST_CAST(GLEW_APPLE_flush_buffer_range) = _glewSearchExtension("GL_APPLE_flush_buffer_range", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_flush_buffer_range) CONST_CAST(GLEW_APPLE_flush_buffer_range) = !_glewInit_GL_APPLE_flush_buffer_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_flush_buffer_range */
#ifdef GL_APPLE_object_purgeable
- CONST_CAST(GLEW_APPLE_object_purgeable) = glewGetExtension("GL_APPLE_object_purgeable");
+ CONST_CAST(GLEW_APPLE_object_purgeable) = _glewSearchExtension("GL_APPLE_object_purgeable", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_object_purgeable) CONST_CAST(GLEW_APPLE_object_purgeable) = !_glewInit_GL_APPLE_object_purgeable(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_object_purgeable */
#ifdef GL_APPLE_pixel_buffer
- CONST_CAST(GLEW_APPLE_pixel_buffer) = glewGetExtension("GL_APPLE_pixel_buffer");
+ CONST_CAST(GLEW_APPLE_pixel_buffer) = _glewSearchExtension("GL_APPLE_pixel_buffer", extStart, extEnd);
#endif /* GL_APPLE_pixel_buffer */
#ifdef GL_APPLE_rgb_422
- CONST_CAST(GLEW_APPLE_rgb_422) = glewGetExtension("GL_APPLE_rgb_422");
+ CONST_CAST(GLEW_APPLE_rgb_422) = _glewSearchExtension("GL_APPLE_rgb_422", extStart, extEnd);
#endif /* GL_APPLE_rgb_422 */
#ifdef GL_APPLE_row_bytes
- CONST_CAST(GLEW_APPLE_row_bytes) = glewGetExtension("GL_APPLE_row_bytes");
+ CONST_CAST(GLEW_APPLE_row_bytes) = _glewSearchExtension("GL_APPLE_row_bytes", extStart, extEnd);
#endif /* GL_APPLE_row_bytes */
#ifdef GL_APPLE_specular_vector
- CONST_CAST(GLEW_APPLE_specular_vector) = glewGetExtension("GL_APPLE_specular_vector");
+ CONST_CAST(GLEW_APPLE_specular_vector) = _glewSearchExtension("GL_APPLE_specular_vector", extStart, extEnd);
#endif /* GL_APPLE_specular_vector */
#ifdef GL_APPLE_texture_range
- CONST_CAST(GLEW_APPLE_texture_range) = glewGetExtension("GL_APPLE_texture_range");
+ CONST_CAST(GLEW_APPLE_texture_range) = _glewSearchExtension("GL_APPLE_texture_range", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_texture_range) CONST_CAST(GLEW_APPLE_texture_range) = !_glewInit_GL_APPLE_texture_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_texture_range */
#ifdef GL_APPLE_transform_hint
- CONST_CAST(GLEW_APPLE_transform_hint) = glewGetExtension("GL_APPLE_transform_hint");
+ CONST_CAST(GLEW_APPLE_transform_hint) = _glewSearchExtension("GL_APPLE_transform_hint", extStart, extEnd);
#endif /* GL_APPLE_transform_hint */
#ifdef GL_APPLE_vertex_array_object
- CONST_CAST(GLEW_APPLE_vertex_array_object) = glewGetExtension("GL_APPLE_vertex_array_object");
+ CONST_CAST(GLEW_APPLE_vertex_array_object) = _glewSearchExtension("GL_APPLE_vertex_array_object", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_vertex_array_object) CONST_CAST(GLEW_APPLE_vertex_array_object) = !_glewInit_GL_APPLE_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_vertex_array_object */
#ifdef GL_APPLE_vertex_array_range
- CONST_CAST(GLEW_APPLE_vertex_array_range) = glewGetExtension("GL_APPLE_vertex_array_range");
+ CONST_CAST(GLEW_APPLE_vertex_array_range) = _glewSearchExtension("GL_APPLE_vertex_array_range", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_vertex_array_range) CONST_CAST(GLEW_APPLE_vertex_array_range) = !_glewInit_GL_APPLE_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_vertex_array_range */
#ifdef GL_APPLE_vertex_program_evaluators
- CONST_CAST(GLEW_APPLE_vertex_program_evaluators) = glewGetExtension("GL_APPLE_vertex_program_evaluators");
+ CONST_CAST(GLEW_APPLE_vertex_program_evaluators) = _glewSearchExtension("GL_APPLE_vertex_program_evaluators", extStart, extEnd);
if (glewExperimental || GLEW_APPLE_vertex_program_evaluators) CONST_CAST(GLEW_APPLE_vertex_program_evaluators) = !_glewInit_GL_APPLE_vertex_program_evaluators(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_APPLE_vertex_program_evaluators */
#ifdef GL_APPLE_ycbcr_422
- CONST_CAST(GLEW_APPLE_ycbcr_422) = glewGetExtension("GL_APPLE_ycbcr_422");
+ CONST_CAST(GLEW_APPLE_ycbcr_422) = _glewSearchExtension("GL_APPLE_ycbcr_422", extStart, extEnd);
#endif /* GL_APPLE_ycbcr_422 */
#ifdef GL_ARB_ES2_compatibility
- CONST_CAST(GLEW_ARB_ES2_compatibility) = glewGetExtension("GL_ARB_ES2_compatibility");
+ CONST_CAST(GLEW_ARB_ES2_compatibility) = _glewSearchExtension("GL_ARB_ES2_compatibility", extStart, extEnd);
if (glewExperimental || GLEW_ARB_ES2_compatibility) CONST_CAST(GLEW_ARB_ES2_compatibility) = !_glewInit_GL_ARB_ES2_compatibility(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_ES2_compatibility */
#ifdef GL_ARB_blend_func_extended
- CONST_CAST(GLEW_ARB_blend_func_extended) = glewGetExtension("GL_ARB_blend_func_extended");
+ CONST_CAST(GLEW_ARB_blend_func_extended) = _glewSearchExtension("GL_ARB_blend_func_extended", extStart, extEnd);
if (glewExperimental || GLEW_ARB_blend_func_extended) CONST_CAST(GLEW_ARB_blend_func_extended) = !_glewInit_GL_ARB_blend_func_extended(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_blend_func_extended */
#ifdef GL_ARB_cl_event
- CONST_CAST(GLEW_ARB_cl_event) = glewGetExtension("GL_ARB_cl_event");
+ CONST_CAST(GLEW_ARB_cl_event) = _glewSearchExtension("GL_ARB_cl_event", extStart, extEnd);
if (glewExperimental || GLEW_ARB_cl_event) CONST_CAST(GLEW_ARB_cl_event) = !_glewInit_GL_ARB_cl_event(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_cl_event */
#ifdef GL_ARB_color_buffer_float
- CONST_CAST(GLEW_ARB_color_buffer_float) = glewGetExtension("GL_ARB_color_buffer_float");
+ CONST_CAST(GLEW_ARB_color_buffer_float) = _glewSearchExtension("GL_ARB_color_buffer_float", extStart, extEnd);
if (glewExperimental || GLEW_ARB_color_buffer_float) CONST_CAST(GLEW_ARB_color_buffer_float) = !_glewInit_GL_ARB_color_buffer_float(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_color_buffer_float */
#ifdef GL_ARB_compatibility
- CONST_CAST(GLEW_ARB_compatibility) = glewGetExtension("GL_ARB_compatibility");
+ CONST_CAST(GLEW_ARB_compatibility) = _glewSearchExtension("GL_ARB_compatibility", extStart, extEnd);
#endif /* GL_ARB_compatibility */
#ifdef GL_ARB_copy_buffer
- CONST_CAST(GLEW_ARB_copy_buffer) = glewGetExtension("GL_ARB_copy_buffer");
+ CONST_CAST(GLEW_ARB_copy_buffer) = _glewSearchExtension("GL_ARB_copy_buffer", extStart, extEnd);
if (glewExperimental || GLEW_ARB_copy_buffer) CONST_CAST(GLEW_ARB_copy_buffer) = !_glewInit_GL_ARB_copy_buffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_copy_buffer */
#ifdef GL_ARB_debug_output
- CONST_CAST(GLEW_ARB_debug_output) = glewGetExtension("GL_ARB_debug_output");
+ CONST_CAST(GLEW_ARB_debug_output) = _glewSearchExtension("GL_ARB_debug_output", extStart, extEnd);
if (glewExperimental || GLEW_ARB_debug_output) CONST_CAST(GLEW_ARB_debug_output) = !_glewInit_GL_ARB_debug_output(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_debug_output */
#ifdef GL_ARB_depth_buffer_float
- CONST_CAST(GLEW_ARB_depth_buffer_float) = glewGetExtension("GL_ARB_depth_buffer_float");
+ CONST_CAST(GLEW_ARB_depth_buffer_float) = _glewSearchExtension("GL_ARB_depth_buffer_float", extStart, extEnd);
#endif /* GL_ARB_depth_buffer_float */
#ifdef GL_ARB_depth_clamp
- CONST_CAST(GLEW_ARB_depth_clamp) = glewGetExtension("GL_ARB_depth_clamp");
+ CONST_CAST(GLEW_ARB_depth_clamp) = _glewSearchExtension("GL_ARB_depth_clamp", extStart, extEnd);
#endif /* GL_ARB_depth_clamp */
#ifdef GL_ARB_depth_texture
- CONST_CAST(GLEW_ARB_depth_texture) = glewGetExtension("GL_ARB_depth_texture");
+ CONST_CAST(GLEW_ARB_depth_texture) = _glewSearchExtension("GL_ARB_depth_texture", extStart, extEnd);
#endif /* GL_ARB_depth_texture */
#ifdef GL_ARB_draw_buffers
- CONST_CAST(GLEW_ARB_draw_buffers) = glewGetExtension("GL_ARB_draw_buffers");
+ CONST_CAST(GLEW_ARB_draw_buffers) = _glewSearchExtension("GL_ARB_draw_buffers", extStart, extEnd);
if (glewExperimental || GLEW_ARB_draw_buffers) CONST_CAST(GLEW_ARB_draw_buffers) = !_glewInit_GL_ARB_draw_buffers(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_draw_buffers */
#ifdef GL_ARB_draw_buffers_blend
- CONST_CAST(GLEW_ARB_draw_buffers_blend) = glewGetExtension("GL_ARB_draw_buffers_blend");
+ CONST_CAST(GLEW_ARB_draw_buffers_blend) = _glewSearchExtension("GL_ARB_draw_buffers_blend", extStart, extEnd);
if (glewExperimental || GLEW_ARB_draw_buffers_blend) CONST_CAST(GLEW_ARB_draw_buffers_blend) = !_glewInit_GL_ARB_draw_buffers_blend(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_draw_buffers_blend */
#ifdef GL_ARB_draw_elements_base_vertex
- CONST_CAST(GLEW_ARB_draw_elements_base_vertex) = glewGetExtension("GL_ARB_draw_elements_base_vertex");
+ CONST_CAST(GLEW_ARB_draw_elements_base_vertex) = _glewSearchExtension("GL_ARB_draw_elements_base_vertex", extStart, extEnd);
if (glewExperimental || GLEW_ARB_draw_elements_base_vertex) CONST_CAST(GLEW_ARB_draw_elements_base_vertex) = !_glewInit_GL_ARB_draw_elements_base_vertex(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_draw_elements_base_vertex */
#ifdef GL_ARB_draw_indirect
- CONST_CAST(GLEW_ARB_draw_indirect) = glewGetExtension("GL_ARB_draw_indirect");
+ CONST_CAST(GLEW_ARB_draw_indirect) = _glewSearchExtension("GL_ARB_draw_indirect", extStart, extEnd);
if (glewExperimental || GLEW_ARB_draw_indirect) CONST_CAST(GLEW_ARB_draw_indirect) = !_glewInit_GL_ARB_draw_indirect(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_draw_indirect */
#ifdef GL_ARB_draw_instanced
- CONST_CAST(GLEW_ARB_draw_instanced) = glewGetExtension("GL_ARB_draw_instanced");
- if (glewExperimental || GLEW_ARB_draw_instanced) CONST_CAST(GLEW_ARB_draw_instanced) = !_glewInit_GL_ARB_draw_instanced(GLEW_CONTEXT_ARG_VAR_INIT);
+ CONST_CAST(GLEW_ARB_draw_instanced) = _glewSearchExtension("GL_ARB_draw_instanced", extStart, extEnd);
#endif /* GL_ARB_draw_instanced */
#ifdef GL_ARB_explicit_attrib_location
- CONST_CAST(GLEW_ARB_explicit_attrib_location) = glewGetExtension("GL_ARB_explicit_attrib_location");
+ CONST_CAST(GLEW_ARB_explicit_attrib_location) = _glewSearchExtension("GL_ARB_explicit_attrib_location", extStart, extEnd);
#endif /* GL_ARB_explicit_attrib_location */
#ifdef GL_ARB_fragment_coord_conventions
- CONST_CAST(GLEW_ARB_fragment_coord_conventions) = glewGetExtension("GL_ARB_fragment_coord_conventions");
+ CONST_CAST(GLEW_ARB_fragment_coord_conventions) = _glewSearchExtension("GL_ARB_fragment_coord_conventions", extStart, extEnd);
#endif /* GL_ARB_fragment_coord_conventions */
#ifdef GL_ARB_fragment_program
- CONST_CAST(GLEW_ARB_fragment_program) = glewGetExtension("GL_ARB_fragment_program");
+ CONST_CAST(GLEW_ARB_fragment_program) = _glewSearchExtension("GL_ARB_fragment_program", extStart, extEnd);
#endif /* GL_ARB_fragment_program */
#ifdef GL_ARB_fragment_program_shadow
- CONST_CAST(GLEW_ARB_fragment_program_shadow) = glewGetExtension("GL_ARB_fragment_program_shadow");
+ CONST_CAST(GLEW_ARB_fragment_program_shadow) = _glewSearchExtension("GL_ARB_fragment_program_shadow", extStart, extEnd);
#endif /* GL_ARB_fragment_program_shadow */
#ifdef GL_ARB_fragment_shader
- CONST_CAST(GLEW_ARB_fragment_shader) = glewGetExtension("GL_ARB_fragment_shader");
+ CONST_CAST(GLEW_ARB_fragment_shader) = _glewSearchExtension("GL_ARB_fragment_shader", extStart, extEnd);
#endif /* GL_ARB_fragment_shader */
#ifdef GL_ARB_framebuffer_object
- CONST_CAST(GLEW_ARB_framebuffer_object) = glewGetExtension("GL_ARB_framebuffer_object");
+ CONST_CAST(GLEW_ARB_framebuffer_object) = _glewSearchExtension("GL_ARB_framebuffer_object", extStart, extEnd);
if (glewExperimental || GLEW_ARB_framebuffer_object) CONST_CAST(GLEW_ARB_framebuffer_object) = !_glewInit_GL_ARB_framebuffer_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_framebuffer_object */
#ifdef GL_ARB_framebuffer_sRGB
- CONST_CAST(GLEW_ARB_framebuffer_sRGB) = glewGetExtension("GL_ARB_framebuffer_sRGB");
+ CONST_CAST(GLEW_ARB_framebuffer_sRGB) = _glewSearchExtension("GL_ARB_framebuffer_sRGB", extStart, extEnd);
#endif /* GL_ARB_framebuffer_sRGB */
#ifdef GL_ARB_geometry_shader4
- CONST_CAST(GLEW_ARB_geometry_shader4) = glewGetExtension("GL_ARB_geometry_shader4");
+ CONST_CAST(GLEW_ARB_geometry_shader4) = _glewSearchExtension("GL_ARB_geometry_shader4", extStart, extEnd);
if (glewExperimental || GLEW_ARB_geometry_shader4) CONST_CAST(GLEW_ARB_geometry_shader4) = !_glewInit_GL_ARB_geometry_shader4(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_geometry_shader4 */
#ifdef GL_ARB_get_program_binary
- CONST_CAST(GLEW_ARB_get_program_binary) = glewGetExtension("GL_ARB_get_program_binary");
+ CONST_CAST(GLEW_ARB_get_program_binary) = _glewSearchExtension("GL_ARB_get_program_binary", extStart, extEnd);
if (glewExperimental || GLEW_ARB_get_program_binary) CONST_CAST(GLEW_ARB_get_program_binary) = !_glewInit_GL_ARB_get_program_binary(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_get_program_binary */
#ifdef GL_ARB_gpu_shader5
- CONST_CAST(GLEW_ARB_gpu_shader5) = glewGetExtension("GL_ARB_gpu_shader5");
+ CONST_CAST(GLEW_ARB_gpu_shader5) = _glewSearchExtension("GL_ARB_gpu_shader5", extStart, extEnd);
#endif /* GL_ARB_gpu_shader5 */
#ifdef GL_ARB_gpu_shader_fp64
- CONST_CAST(GLEW_ARB_gpu_shader_fp64) = glewGetExtension("GL_ARB_gpu_shader_fp64");
+ CONST_CAST(GLEW_ARB_gpu_shader_fp64) = _glewSearchExtension("GL_ARB_gpu_shader_fp64", extStart, extEnd);
if (glewExperimental || GLEW_ARB_gpu_shader_fp64) CONST_CAST(GLEW_ARB_gpu_shader_fp64) = !_glewInit_GL_ARB_gpu_shader_fp64(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_gpu_shader_fp64 */
#ifdef GL_ARB_half_float_pixel
- CONST_CAST(GLEW_ARB_half_float_pixel) = glewGetExtension("GL_ARB_half_float_pixel");
+ CONST_CAST(GLEW_ARB_half_float_pixel) = _glewSearchExtension("GL_ARB_half_float_pixel", extStart, extEnd);
#endif /* GL_ARB_half_float_pixel */
#ifdef GL_ARB_half_float_vertex
- CONST_CAST(GLEW_ARB_half_float_vertex) = glewGetExtension("GL_ARB_half_float_vertex");
+ CONST_CAST(GLEW_ARB_half_float_vertex) = _glewSearchExtension("GL_ARB_half_float_vertex", extStart, extEnd);
#endif /* GL_ARB_half_float_vertex */
#ifdef GL_ARB_imaging
- CONST_CAST(GLEW_ARB_imaging) = glewGetExtension("GL_ARB_imaging");
+ CONST_CAST(GLEW_ARB_imaging) = _glewSearchExtension("GL_ARB_imaging", extStart, extEnd);
if (glewExperimental || GLEW_ARB_imaging) CONST_CAST(GLEW_ARB_imaging) = !_glewInit_GL_ARB_imaging(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_imaging */
#ifdef GL_ARB_instanced_arrays
- CONST_CAST(GLEW_ARB_instanced_arrays) = glewGetExtension("GL_ARB_instanced_arrays");
+ CONST_CAST(GLEW_ARB_instanced_arrays) = _glewSearchExtension("GL_ARB_instanced_arrays", extStart, extEnd);
if (glewExperimental || GLEW_ARB_instanced_arrays) CONST_CAST(GLEW_ARB_instanced_arrays) = !_glewInit_GL_ARB_instanced_arrays(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_instanced_arrays */
#ifdef GL_ARB_map_buffer_range
- CONST_CAST(GLEW_ARB_map_buffer_range) = glewGetExtension("GL_ARB_map_buffer_range");
+ CONST_CAST(GLEW_ARB_map_buffer_range) = _glewSearchExtension("GL_ARB_map_buffer_range", extStart, extEnd);
if (glewExperimental || GLEW_ARB_map_buffer_range) CONST_CAST(GLEW_ARB_map_buffer_range) = !_glewInit_GL_ARB_map_buffer_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_map_buffer_range */
#ifdef GL_ARB_matrix_palette
- CONST_CAST(GLEW_ARB_matrix_palette) = glewGetExtension("GL_ARB_matrix_palette");
+ CONST_CAST(GLEW_ARB_matrix_palette) = _glewSearchExtension("GL_ARB_matrix_palette", extStart, extEnd);
if (glewExperimental || GLEW_ARB_matrix_palette) CONST_CAST(GLEW_ARB_matrix_palette) = !_glewInit_GL_ARB_matrix_palette(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_matrix_palette */
#ifdef GL_ARB_multisample
- CONST_CAST(GLEW_ARB_multisample) = glewGetExtension("GL_ARB_multisample");
+ CONST_CAST(GLEW_ARB_multisample) = _glewSearchExtension("GL_ARB_multisample", extStart, extEnd);
if (glewExperimental || GLEW_ARB_multisample) CONST_CAST(GLEW_ARB_multisample) = !_glewInit_GL_ARB_multisample(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_multisample */
#ifdef GL_ARB_multitexture
- CONST_CAST(GLEW_ARB_multitexture) = glewGetExtension("GL_ARB_multitexture");
+ CONST_CAST(GLEW_ARB_multitexture) = _glewSearchExtension("GL_ARB_multitexture", extStart, extEnd);
if (glewExperimental || GLEW_ARB_multitexture) CONST_CAST(GLEW_ARB_multitexture) = !_glewInit_GL_ARB_multitexture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_multitexture */
#ifdef GL_ARB_occlusion_query
- CONST_CAST(GLEW_ARB_occlusion_query) = glewGetExtension("GL_ARB_occlusion_query");
+ CONST_CAST(GLEW_ARB_occlusion_query) = _glewSearchExtension("GL_ARB_occlusion_query", extStart, extEnd);
if (glewExperimental || GLEW_ARB_occlusion_query) CONST_CAST(GLEW_ARB_occlusion_query) = !_glewInit_GL_ARB_occlusion_query(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_occlusion_query */
#ifdef GL_ARB_occlusion_query2
- CONST_CAST(GLEW_ARB_occlusion_query2) = glewGetExtension("GL_ARB_occlusion_query2");
+ CONST_CAST(GLEW_ARB_occlusion_query2) = _glewSearchExtension("GL_ARB_occlusion_query2", extStart, extEnd);
#endif /* GL_ARB_occlusion_query2 */
#ifdef GL_ARB_pixel_buffer_object
- CONST_CAST(GLEW_ARB_pixel_buffer_object) = glewGetExtension("GL_ARB_pixel_buffer_object");
+ CONST_CAST(GLEW_ARB_pixel_buffer_object) = _glewSearchExtension("GL_ARB_pixel_buffer_object", extStart, extEnd);
#endif /* GL_ARB_pixel_buffer_object */
#ifdef GL_ARB_point_parameters
- CONST_CAST(GLEW_ARB_point_parameters) = glewGetExtension("GL_ARB_point_parameters");
+ CONST_CAST(GLEW_ARB_point_parameters) = _glewSearchExtension("GL_ARB_point_parameters", extStart, extEnd);
if (glewExperimental || GLEW_ARB_point_parameters) CONST_CAST(GLEW_ARB_point_parameters) = !_glewInit_GL_ARB_point_parameters(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_point_parameters */
#ifdef GL_ARB_point_sprite
- CONST_CAST(GLEW_ARB_point_sprite) = glewGetExtension("GL_ARB_point_sprite");
+ CONST_CAST(GLEW_ARB_point_sprite) = _glewSearchExtension("GL_ARB_point_sprite", extStart, extEnd);
#endif /* GL_ARB_point_sprite */
#ifdef GL_ARB_provoking_vertex
- CONST_CAST(GLEW_ARB_provoking_vertex) = glewGetExtension("GL_ARB_provoking_vertex");
+ CONST_CAST(GLEW_ARB_provoking_vertex) = _glewSearchExtension("GL_ARB_provoking_vertex", extStart, extEnd);
if (glewExperimental || GLEW_ARB_provoking_vertex) CONST_CAST(GLEW_ARB_provoking_vertex) = !_glewInit_GL_ARB_provoking_vertex(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_provoking_vertex */
#ifdef GL_ARB_robustness
- CONST_CAST(GLEW_ARB_robustness) = glewGetExtension("GL_ARB_robustness");
+ CONST_CAST(GLEW_ARB_robustness) = _glewSearchExtension("GL_ARB_robustness", extStart, extEnd);
if (glewExperimental || GLEW_ARB_robustness) CONST_CAST(GLEW_ARB_robustness) = !_glewInit_GL_ARB_robustness(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_robustness */
#ifdef GL_ARB_sample_shading
- CONST_CAST(GLEW_ARB_sample_shading) = glewGetExtension("GL_ARB_sample_shading");
+ CONST_CAST(GLEW_ARB_sample_shading) = _glewSearchExtension("GL_ARB_sample_shading", extStart, extEnd);
if (glewExperimental || GLEW_ARB_sample_shading) CONST_CAST(GLEW_ARB_sample_shading) = !_glewInit_GL_ARB_sample_shading(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_sample_shading */
#ifdef GL_ARB_sampler_objects
- CONST_CAST(GLEW_ARB_sampler_objects) = glewGetExtension("GL_ARB_sampler_objects");
+ CONST_CAST(GLEW_ARB_sampler_objects) = _glewSearchExtension("GL_ARB_sampler_objects", extStart, extEnd);
if (glewExperimental || GLEW_ARB_sampler_objects) CONST_CAST(GLEW_ARB_sampler_objects) = !_glewInit_GL_ARB_sampler_objects(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_sampler_objects */
#ifdef GL_ARB_seamless_cube_map
- CONST_CAST(GLEW_ARB_seamless_cube_map) = glewGetExtension("GL_ARB_seamless_cube_map");
+ CONST_CAST(GLEW_ARB_seamless_cube_map) = _glewSearchExtension("GL_ARB_seamless_cube_map", extStart, extEnd);
#endif /* GL_ARB_seamless_cube_map */
#ifdef GL_ARB_separate_shader_objects
- CONST_CAST(GLEW_ARB_separate_shader_objects) = glewGetExtension("GL_ARB_separate_shader_objects");
+ CONST_CAST(GLEW_ARB_separate_shader_objects) = _glewSearchExtension("GL_ARB_separate_shader_objects", extStart, extEnd);
if (glewExperimental || GLEW_ARB_separate_shader_objects) CONST_CAST(GLEW_ARB_separate_shader_objects) = !_glewInit_GL_ARB_separate_shader_objects(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_separate_shader_objects */
#ifdef GL_ARB_shader_bit_encoding
- CONST_CAST(GLEW_ARB_shader_bit_encoding) = glewGetExtension("GL_ARB_shader_bit_encoding");
+ CONST_CAST(GLEW_ARB_shader_bit_encoding) = _glewSearchExtension("GL_ARB_shader_bit_encoding", extStart, extEnd);
#endif /* GL_ARB_shader_bit_encoding */
#ifdef GL_ARB_shader_objects
- CONST_CAST(GLEW_ARB_shader_objects) = glewGetExtension("GL_ARB_shader_objects");
+ CONST_CAST(GLEW_ARB_shader_objects) = _glewSearchExtension("GL_ARB_shader_objects", extStart, extEnd);
if (glewExperimental || GLEW_ARB_shader_objects) CONST_CAST(GLEW_ARB_shader_objects) = !_glewInit_GL_ARB_shader_objects(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_shader_objects */
#ifdef GL_ARB_shader_precision
- CONST_CAST(GLEW_ARB_shader_precision) = glewGetExtension("GL_ARB_shader_precision");
+ CONST_CAST(GLEW_ARB_shader_precision) = _glewSearchExtension("GL_ARB_shader_precision", extStart, extEnd);
#endif /* GL_ARB_shader_precision */
#ifdef GL_ARB_shader_stencil_export
- CONST_CAST(GLEW_ARB_shader_stencil_export) = glewGetExtension("GL_ARB_shader_stencil_export");
+ CONST_CAST(GLEW_ARB_shader_stencil_export) = _glewSearchExtension("GL_ARB_shader_stencil_export", extStart, extEnd);
#endif /* GL_ARB_shader_stencil_export */
#ifdef GL_ARB_shader_subroutine
- CONST_CAST(GLEW_ARB_shader_subroutine) = glewGetExtension("GL_ARB_shader_subroutine");
+ CONST_CAST(GLEW_ARB_shader_subroutine) = _glewSearchExtension("GL_ARB_shader_subroutine", extStart, extEnd);
if (glewExperimental || GLEW_ARB_shader_subroutine) CONST_CAST(GLEW_ARB_shader_subroutine) = !_glewInit_GL_ARB_shader_subroutine(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_shader_subroutine */
#ifdef GL_ARB_shader_texture_lod
- CONST_CAST(GLEW_ARB_shader_texture_lod) = glewGetExtension("GL_ARB_shader_texture_lod");
+ CONST_CAST(GLEW_ARB_shader_texture_lod) = _glewSearchExtension("GL_ARB_shader_texture_lod", extStart, extEnd);
#endif /* GL_ARB_shader_texture_lod */
#ifdef GL_ARB_shading_language_100
- CONST_CAST(GLEW_ARB_shading_language_100) = glewGetExtension("GL_ARB_shading_language_100");
+ CONST_CAST(GLEW_ARB_shading_language_100) = _glewSearchExtension("GL_ARB_shading_language_100", extStart, extEnd);
#endif /* GL_ARB_shading_language_100 */
#ifdef GL_ARB_shading_language_include
- CONST_CAST(GLEW_ARB_shading_language_include) = glewGetExtension("GL_ARB_shading_language_include");
+ CONST_CAST(GLEW_ARB_shading_language_include) = _glewSearchExtension("GL_ARB_shading_language_include", extStart, extEnd);
if (glewExperimental || GLEW_ARB_shading_language_include) CONST_CAST(GLEW_ARB_shading_language_include) = !_glewInit_GL_ARB_shading_language_include(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_shading_language_include */
#ifdef GL_ARB_shadow
- CONST_CAST(GLEW_ARB_shadow) = glewGetExtension("GL_ARB_shadow");
+ CONST_CAST(GLEW_ARB_shadow) = _glewSearchExtension("GL_ARB_shadow", extStart, extEnd);
#endif /* GL_ARB_shadow */
#ifdef GL_ARB_shadow_ambient
- CONST_CAST(GLEW_ARB_shadow_ambient) = glewGetExtension("GL_ARB_shadow_ambient");
+ CONST_CAST(GLEW_ARB_shadow_ambient) = _glewSearchExtension("GL_ARB_shadow_ambient", extStart, extEnd);
#endif /* GL_ARB_shadow_ambient */
#ifdef GL_ARB_sync
- CONST_CAST(GLEW_ARB_sync) = glewGetExtension("GL_ARB_sync");
+ CONST_CAST(GLEW_ARB_sync) = _glewSearchExtension("GL_ARB_sync", extStart, extEnd);
if (glewExperimental || GLEW_ARB_sync) CONST_CAST(GLEW_ARB_sync) = !_glewInit_GL_ARB_sync(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_sync */
#ifdef GL_ARB_tessellation_shader
- CONST_CAST(GLEW_ARB_tessellation_shader) = glewGetExtension("GL_ARB_tessellation_shader");
+ CONST_CAST(GLEW_ARB_tessellation_shader) = _glewSearchExtension("GL_ARB_tessellation_shader", extStart, extEnd);
if (glewExperimental || GLEW_ARB_tessellation_shader) CONST_CAST(GLEW_ARB_tessellation_shader) = !_glewInit_GL_ARB_tessellation_shader(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_tessellation_shader */
#ifdef GL_ARB_texture_border_clamp
- CONST_CAST(GLEW_ARB_texture_border_clamp) = glewGetExtension("GL_ARB_texture_border_clamp");
+ CONST_CAST(GLEW_ARB_texture_border_clamp) = _glewSearchExtension("GL_ARB_texture_border_clamp", extStart, extEnd);
#endif /* GL_ARB_texture_border_clamp */
#ifdef GL_ARB_texture_buffer_object
- CONST_CAST(GLEW_ARB_texture_buffer_object) = glewGetExtension("GL_ARB_texture_buffer_object");
+ CONST_CAST(GLEW_ARB_texture_buffer_object) = _glewSearchExtension("GL_ARB_texture_buffer_object", extStart, extEnd);
if (glewExperimental || GLEW_ARB_texture_buffer_object) CONST_CAST(GLEW_ARB_texture_buffer_object) = !_glewInit_GL_ARB_texture_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_texture_buffer_object */
#ifdef GL_ARB_texture_buffer_object_rgb32
- CONST_CAST(GLEW_ARB_texture_buffer_object_rgb32) = glewGetExtension("GL_ARB_texture_buffer_object_rgb32");
+ CONST_CAST(GLEW_ARB_texture_buffer_object_rgb32) = _glewSearchExtension("GL_ARB_texture_buffer_object_rgb32", extStart, extEnd);
#endif /* GL_ARB_texture_buffer_object_rgb32 */
#ifdef GL_ARB_texture_compression
- CONST_CAST(GLEW_ARB_texture_compression) = glewGetExtension("GL_ARB_texture_compression");
+ CONST_CAST(GLEW_ARB_texture_compression) = _glewSearchExtension("GL_ARB_texture_compression", extStart, extEnd);
if (glewExperimental || GLEW_ARB_texture_compression) CONST_CAST(GLEW_ARB_texture_compression) = !_glewInit_GL_ARB_texture_compression(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_texture_compression */
#ifdef GL_ARB_texture_compression_bptc
- CONST_CAST(GLEW_ARB_texture_compression_bptc) = glewGetExtension("GL_ARB_texture_compression_bptc");
+ CONST_CAST(GLEW_ARB_texture_compression_bptc) = _glewSearchExtension("GL_ARB_texture_compression_bptc", extStart, extEnd);
#endif /* GL_ARB_texture_compression_bptc */
#ifdef GL_ARB_texture_compression_rgtc
- CONST_CAST(GLEW_ARB_texture_compression_rgtc) = glewGetExtension("GL_ARB_texture_compression_rgtc");
+ CONST_CAST(GLEW_ARB_texture_compression_rgtc) = _glewSearchExtension("GL_ARB_texture_compression_rgtc", extStart, extEnd);
#endif /* GL_ARB_texture_compression_rgtc */
#ifdef GL_ARB_texture_cube_map
- CONST_CAST(GLEW_ARB_texture_cube_map) = glewGetExtension("GL_ARB_texture_cube_map");
+ CONST_CAST(GLEW_ARB_texture_cube_map) = _glewSearchExtension("GL_ARB_texture_cube_map", extStart, extEnd);
#endif /* GL_ARB_texture_cube_map */
#ifdef GL_ARB_texture_cube_map_array
- CONST_CAST(GLEW_ARB_texture_cube_map_array) = glewGetExtension("GL_ARB_texture_cube_map_array");
+ CONST_CAST(GLEW_ARB_texture_cube_map_array) = _glewSearchExtension("GL_ARB_texture_cube_map_array", extStart, extEnd);
#endif /* GL_ARB_texture_cube_map_array */
#ifdef GL_ARB_texture_env_add
- CONST_CAST(GLEW_ARB_texture_env_add) = glewGetExtension("GL_ARB_texture_env_add");
+ CONST_CAST(GLEW_ARB_texture_env_add) = _glewSearchExtension("GL_ARB_texture_env_add", extStart, extEnd);
#endif /* GL_ARB_texture_env_add */
#ifdef GL_ARB_texture_env_combine
- CONST_CAST(GLEW_ARB_texture_env_combine) = glewGetExtension("GL_ARB_texture_env_combine");
+ CONST_CAST(GLEW_ARB_texture_env_combine) = _glewSearchExtension("GL_ARB_texture_env_combine", extStart, extEnd);
#endif /* GL_ARB_texture_env_combine */
#ifdef GL_ARB_texture_env_crossbar
- CONST_CAST(GLEW_ARB_texture_env_crossbar) = glewGetExtension("GL_ARB_texture_env_crossbar");
+ CONST_CAST(GLEW_ARB_texture_env_crossbar) = _glewSearchExtension("GL_ARB_texture_env_crossbar", extStart, extEnd);
#endif /* GL_ARB_texture_env_crossbar */
#ifdef GL_ARB_texture_env_dot3
- CONST_CAST(GLEW_ARB_texture_env_dot3) = glewGetExtension("GL_ARB_texture_env_dot3");
+ CONST_CAST(GLEW_ARB_texture_env_dot3) = _glewSearchExtension("GL_ARB_texture_env_dot3", extStart, extEnd);
#endif /* GL_ARB_texture_env_dot3 */
#ifdef GL_ARB_texture_float
- CONST_CAST(GLEW_ARB_texture_float) = glewGetExtension("GL_ARB_texture_float");
+ CONST_CAST(GLEW_ARB_texture_float) = _glewSearchExtension("GL_ARB_texture_float", extStart, extEnd);
#endif /* GL_ARB_texture_float */
#ifdef GL_ARB_texture_gather
- CONST_CAST(GLEW_ARB_texture_gather) = glewGetExtension("GL_ARB_texture_gather");
+ CONST_CAST(GLEW_ARB_texture_gather) = _glewSearchExtension("GL_ARB_texture_gather", extStart, extEnd);
#endif /* GL_ARB_texture_gather */
#ifdef GL_ARB_texture_mirrored_repeat
- CONST_CAST(GLEW_ARB_texture_mirrored_repeat) = glewGetExtension("GL_ARB_texture_mirrored_repeat");
+ CONST_CAST(GLEW_ARB_texture_mirrored_repeat) = _glewSearchExtension("GL_ARB_texture_mirrored_repeat", extStart, extEnd);
#endif /* GL_ARB_texture_mirrored_repeat */
#ifdef GL_ARB_texture_multisample
- CONST_CAST(GLEW_ARB_texture_multisample) = glewGetExtension("GL_ARB_texture_multisample");
+ CONST_CAST(GLEW_ARB_texture_multisample) = _glewSearchExtension("GL_ARB_texture_multisample", extStart, extEnd);
if (glewExperimental || GLEW_ARB_texture_multisample) CONST_CAST(GLEW_ARB_texture_multisample) = !_glewInit_GL_ARB_texture_multisample(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_texture_multisample */
#ifdef GL_ARB_texture_non_power_of_two
- CONST_CAST(GLEW_ARB_texture_non_power_of_two) = glewGetExtension("GL_ARB_texture_non_power_of_two");
+ CONST_CAST(GLEW_ARB_texture_non_power_of_two) = _glewSearchExtension("GL_ARB_texture_non_power_of_two", extStart, extEnd);
#endif /* GL_ARB_texture_non_power_of_two */
#ifdef GL_ARB_texture_query_lod
- CONST_CAST(GLEW_ARB_texture_query_lod) = glewGetExtension("GL_ARB_texture_query_lod");
+ CONST_CAST(GLEW_ARB_texture_query_lod) = _glewSearchExtension("GL_ARB_texture_query_lod", extStart, extEnd);
#endif /* GL_ARB_texture_query_lod */
#ifdef GL_ARB_texture_rectangle
- CONST_CAST(GLEW_ARB_texture_rectangle) = glewGetExtension("GL_ARB_texture_rectangle");
+ CONST_CAST(GLEW_ARB_texture_rectangle) = _glewSearchExtension("GL_ARB_texture_rectangle", extStart, extEnd);
#endif /* GL_ARB_texture_rectangle */
#ifdef GL_ARB_texture_rg
- CONST_CAST(GLEW_ARB_texture_rg) = glewGetExtension("GL_ARB_texture_rg");
+ CONST_CAST(GLEW_ARB_texture_rg) = _glewSearchExtension("GL_ARB_texture_rg", extStart, extEnd);
#endif /* GL_ARB_texture_rg */
#ifdef GL_ARB_texture_rgb10_a2ui
- CONST_CAST(GLEW_ARB_texture_rgb10_a2ui) = glewGetExtension("GL_ARB_texture_rgb10_a2ui");
+ CONST_CAST(GLEW_ARB_texture_rgb10_a2ui) = _glewSearchExtension("GL_ARB_texture_rgb10_a2ui", extStart, extEnd);
#endif /* GL_ARB_texture_rgb10_a2ui */
#ifdef GL_ARB_texture_swizzle
- CONST_CAST(GLEW_ARB_texture_swizzle) = glewGetExtension("GL_ARB_texture_swizzle");
+ CONST_CAST(GLEW_ARB_texture_swizzle) = _glewSearchExtension("GL_ARB_texture_swizzle", extStart, extEnd);
#endif /* GL_ARB_texture_swizzle */
#ifdef GL_ARB_timer_query
- CONST_CAST(GLEW_ARB_timer_query) = glewGetExtension("GL_ARB_timer_query");
+ CONST_CAST(GLEW_ARB_timer_query) = _glewSearchExtension("GL_ARB_timer_query", extStart, extEnd);
if (glewExperimental || GLEW_ARB_timer_query) CONST_CAST(GLEW_ARB_timer_query) = !_glewInit_GL_ARB_timer_query(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_timer_query */
#ifdef GL_ARB_transform_feedback2
- CONST_CAST(GLEW_ARB_transform_feedback2) = glewGetExtension("GL_ARB_transform_feedback2");
+ CONST_CAST(GLEW_ARB_transform_feedback2) = _glewSearchExtension("GL_ARB_transform_feedback2", extStart, extEnd);
if (glewExperimental || GLEW_ARB_transform_feedback2) CONST_CAST(GLEW_ARB_transform_feedback2) = !_glewInit_GL_ARB_transform_feedback2(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_transform_feedback2 */
#ifdef GL_ARB_transform_feedback3
- CONST_CAST(GLEW_ARB_transform_feedback3) = glewGetExtension("GL_ARB_transform_feedback3");
+ CONST_CAST(GLEW_ARB_transform_feedback3) = _glewSearchExtension("GL_ARB_transform_feedback3", extStart, extEnd);
if (glewExperimental || GLEW_ARB_transform_feedback3) CONST_CAST(GLEW_ARB_transform_feedback3) = !_glewInit_GL_ARB_transform_feedback3(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_transform_feedback3 */
#ifdef GL_ARB_transpose_matrix
- CONST_CAST(GLEW_ARB_transpose_matrix) = glewGetExtension("GL_ARB_transpose_matrix");
+ CONST_CAST(GLEW_ARB_transpose_matrix) = _glewSearchExtension("GL_ARB_transpose_matrix", extStart, extEnd);
if (glewExperimental || GLEW_ARB_transpose_matrix) CONST_CAST(GLEW_ARB_transpose_matrix) = !_glewInit_GL_ARB_transpose_matrix(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_transpose_matrix */
#ifdef GL_ARB_uniform_buffer_object
- CONST_CAST(GLEW_ARB_uniform_buffer_object) = glewGetExtension("GL_ARB_uniform_buffer_object");
+ CONST_CAST(GLEW_ARB_uniform_buffer_object) = _glewSearchExtension("GL_ARB_uniform_buffer_object", extStart, extEnd);
if (glewExperimental || GLEW_ARB_uniform_buffer_object) CONST_CAST(GLEW_ARB_uniform_buffer_object) = !_glewInit_GL_ARB_uniform_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_uniform_buffer_object */
#ifdef GL_ARB_vertex_array_bgra
- CONST_CAST(GLEW_ARB_vertex_array_bgra) = glewGetExtension("GL_ARB_vertex_array_bgra");
+ CONST_CAST(GLEW_ARB_vertex_array_bgra) = _glewSearchExtension("GL_ARB_vertex_array_bgra", extStart, extEnd);
#endif /* GL_ARB_vertex_array_bgra */
#ifdef GL_ARB_vertex_array_object
- CONST_CAST(GLEW_ARB_vertex_array_object) = glewGetExtension("GL_ARB_vertex_array_object");
+ CONST_CAST(GLEW_ARB_vertex_array_object) = _glewSearchExtension("GL_ARB_vertex_array_object", extStart, extEnd);
if (glewExperimental || GLEW_ARB_vertex_array_object) CONST_CAST(GLEW_ARB_vertex_array_object) = !_glewInit_GL_ARB_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_vertex_array_object */
#ifdef GL_ARB_vertex_attrib_64bit
- CONST_CAST(GLEW_ARB_vertex_attrib_64bit) = glewGetExtension("GL_ARB_vertex_attrib_64bit");
+ CONST_CAST(GLEW_ARB_vertex_attrib_64bit) = _glewSearchExtension("GL_ARB_vertex_attrib_64bit", extStart, extEnd);
if (glewExperimental || GLEW_ARB_vertex_attrib_64bit) CONST_CAST(GLEW_ARB_vertex_attrib_64bit) = !_glewInit_GL_ARB_vertex_attrib_64bit(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_vertex_attrib_64bit */
#ifdef GL_ARB_vertex_blend
- CONST_CAST(GLEW_ARB_vertex_blend) = glewGetExtension("GL_ARB_vertex_blend");
+ CONST_CAST(GLEW_ARB_vertex_blend) = _glewSearchExtension("GL_ARB_vertex_blend", extStart, extEnd);
if (glewExperimental || GLEW_ARB_vertex_blend) CONST_CAST(GLEW_ARB_vertex_blend) = !_glewInit_GL_ARB_vertex_blend(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_vertex_blend */
#ifdef GL_ARB_vertex_buffer_object
- CONST_CAST(GLEW_ARB_vertex_buffer_object) = glewGetExtension("GL_ARB_vertex_buffer_object");
+ CONST_CAST(GLEW_ARB_vertex_buffer_object) = _glewSearchExtension("GL_ARB_vertex_buffer_object", extStart, extEnd);
if (glewExperimental || GLEW_ARB_vertex_buffer_object) CONST_CAST(GLEW_ARB_vertex_buffer_object) = !_glewInit_GL_ARB_vertex_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_vertex_buffer_object */
#ifdef GL_ARB_vertex_program
- CONST_CAST(GLEW_ARB_vertex_program) = glewGetExtension("GL_ARB_vertex_program");
+ CONST_CAST(GLEW_ARB_vertex_program) = _glewSearchExtension("GL_ARB_vertex_program", extStart, extEnd);
if (glewExperimental || GLEW_ARB_vertex_program) CONST_CAST(GLEW_ARB_vertex_program) = !_glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_vertex_program */
#ifdef GL_ARB_vertex_shader
- CONST_CAST(GLEW_ARB_vertex_shader) = glewGetExtension("GL_ARB_vertex_shader");
+ CONST_CAST(GLEW_ARB_vertex_shader) = _glewSearchExtension("GL_ARB_vertex_shader", extStart, extEnd);
if (glewExperimental || GLEW_ARB_vertex_shader) CONST_CAST(GLEW_ARB_vertex_shader) = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_vertex_shader */
#ifdef GL_ARB_vertex_type_2_10_10_10_rev
- CONST_CAST(GLEW_ARB_vertex_type_2_10_10_10_rev) = glewGetExtension("GL_ARB_vertex_type_2_10_10_10_rev");
+ CONST_CAST(GLEW_ARB_vertex_type_2_10_10_10_rev) = _glewSearchExtension("GL_ARB_vertex_type_2_10_10_10_rev", extStart, extEnd);
if (glewExperimental || GLEW_ARB_vertex_type_2_10_10_10_rev) CONST_CAST(GLEW_ARB_vertex_type_2_10_10_10_rev) = !_glewInit_GL_ARB_vertex_type_2_10_10_10_rev(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_vertex_type_2_10_10_10_rev */
#ifdef GL_ARB_viewport_array
- CONST_CAST(GLEW_ARB_viewport_array) = glewGetExtension("GL_ARB_viewport_array");
+ CONST_CAST(GLEW_ARB_viewport_array) = _glewSearchExtension("GL_ARB_viewport_array", extStart, extEnd);
if (glewExperimental || GLEW_ARB_viewport_array) CONST_CAST(GLEW_ARB_viewport_array) = !_glewInit_GL_ARB_viewport_array(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_viewport_array */
#ifdef GL_ARB_window_pos
- CONST_CAST(GLEW_ARB_window_pos) = glewGetExtension("GL_ARB_window_pos");
+ CONST_CAST(GLEW_ARB_window_pos) = _glewSearchExtension("GL_ARB_window_pos", extStart, extEnd);
if (glewExperimental || GLEW_ARB_window_pos) CONST_CAST(GLEW_ARB_window_pos) = !_glewInit_GL_ARB_window_pos(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_window_pos */
#ifdef GL_ATIX_point_sprites
- CONST_CAST(GLEW_ATIX_point_sprites) = glewGetExtension("GL_ATIX_point_sprites");
+ CONST_CAST(GLEW_ATIX_point_sprites) = _glewSearchExtension("GL_ATIX_point_sprites", extStart, extEnd);
#endif /* GL_ATIX_point_sprites */
#ifdef GL_ATIX_texture_env_combine3
- CONST_CAST(GLEW_ATIX_texture_env_combine3) = glewGetExtension("GL_ATIX_texture_env_combine3");
+ CONST_CAST(GLEW_ATIX_texture_env_combine3) = _glewSearchExtension("GL_ATIX_texture_env_combine3", extStart, extEnd);
#endif /* GL_ATIX_texture_env_combine3 */
#ifdef GL_ATIX_texture_env_route
- CONST_CAST(GLEW_ATIX_texture_env_route) = glewGetExtension("GL_ATIX_texture_env_route");
+ CONST_CAST(GLEW_ATIX_texture_env_route) = _glewSearchExtension("GL_ATIX_texture_env_route", extStart, extEnd);
#endif /* GL_ATIX_texture_env_route */
#ifdef GL_ATIX_vertex_shader_output_point_size
- CONST_CAST(GLEW_ATIX_vertex_shader_output_point_size) = glewGetExtension("GL_ATIX_vertex_shader_output_point_size");
+ CONST_CAST(GLEW_ATIX_vertex_shader_output_point_size) = _glewSearchExtension("GL_ATIX_vertex_shader_output_point_size", extStart, extEnd);
#endif /* GL_ATIX_vertex_shader_output_point_size */
#ifdef GL_ATI_draw_buffers
- CONST_CAST(GLEW_ATI_draw_buffers) = glewGetExtension("GL_ATI_draw_buffers");
+ CONST_CAST(GLEW_ATI_draw_buffers) = _glewSearchExtension("GL_ATI_draw_buffers", extStart, extEnd);
if (glewExperimental || GLEW_ATI_draw_buffers) CONST_CAST(GLEW_ATI_draw_buffers) = !_glewInit_GL_ATI_draw_buffers(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_draw_buffers */
#ifdef GL_ATI_element_array
- CONST_CAST(GLEW_ATI_element_array) = glewGetExtension("GL_ATI_element_array");
+ CONST_CAST(GLEW_ATI_element_array) = _glewSearchExtension("GL_ATI_element_array", extStart, extEnd);
if (glewExperimental || GLEW_ATI_element_array) CONST_CAST(GLEW_ATI_element_array) = !_glewInit_GL_ATI_element_array(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_element_array */
#ifdef GL_ATI_envmap_bumpmap
- CONST_CAST(GLEW_ATI_envmap_bumpmap) = glewGetExtension("GL_ATI_envmap_bumpmap");
+ CONST_CAST(GLEW_ATI_envmap_bumpmap) = _glewSearchExtension("GL_ATI_envmap_bumpmap", extStart, extEnd);
if (glewExperimental || GLEW_ATI_envmap_bumpmap) CONST_CAST(GLEW_ATI_envmap_bumpmap) = !_glewInit_GL_ATI_envmap_bumpmap(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_envmap_bumpmap */
#ifdef GL_ATI_fragment_shader
- CONST_CAST(GLEW_ATI_fragment_shader) = glewGetExtension("GL_ATI_fragment_shader");
+ CONST_CAST(GLEW_ATI_fragment_shader) = _glewSearchExtension("GL_ATI_fragment_shader", extStart, extEnd);
if (glewExperimental || GLEW_ATI_fragment_shader) CONST_CAST(GLEW_ATI_fragment_shader) = !_glewInit_GL_ATI_fragment_shader(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_fragment_shader */
#ifdef GL_ATI_map_object_buffer
- CONST_CAST(GLEW_ATI_map_object_buffer) = glewGetExtension("GL_ATI_map_object_buffer");
+ CONST_CAST(GLEW_ATI_map_object_buffer) = _glewSearchExtension("GL_ATI_map_object_buffer", extStart, extEnd);
if (glewExperimental || GLEW_ATI_map_object_buffer) CONST_CAST(GLEW_ATI_map_object_buffer) = !_glewInit_GL_ATI_map_object_buffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_map_object_buffer */
#ifdef GL_ATI_meminfo
- CONST_CAST(GLEW_ATI_meminfo) = glewGetExtension("GL_ATI_meminfo");
+ CONST_CAST(GLEW_ATI_meminfo) = _glewSearchExtension("GL_ATI_meminfo", extStart, extEnd);
#endif /* GL_ATI_meminfo */
#ifdef GL_ATI_pn_triangles
- CONST_CAST(GLEW_ATI_pn_triangles) = glewGetExtension("GL_ATI_pn_triangles");
+ CONST_CAST(GLEW_ATI_pn_triangles) = _glewSearchExtension("GL_ATI_pn_triangles", extStart, extEnd);
if (glewExperimental || GLEW_ATI_pn_triangles) CONST_CAST(GLEW_ATI_pn_triangles) = !_glewInit_GL_ATI_pn_triangles(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_pn_triangles */
#ifdef GL_ATI_separate_stencil
- CONST_CAST(GLEW_ATI_separate_stencil) = glewGetExtension("GL_ATI_separate_stencil");
+ CONST_CAST(GLEW_ATI_separate_stencil) = _glewSearchExtension("GL_ATI_separate_stencil", extStart, extEnd);
if (glewExperimental || GLEW_ATI_separate_stencil) CONST_CAST(GLEW_ATI_separate_stencil) = !_glewInit_GL_ATI_separate_stencil(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_separate_stencil */
#ifdef GL_ATI_shader_texture_lod
- CONST_CAST(GLEW_ATI_shader_texture_lod) = glewGetExtension("GL_ATI_shader_texture_lod");
+ CONST_CAST(GLEW_ATI_shader_texture_lod) = _glewSearchExtension("GL_ATI_shader_texture_lod", extStart, extEnd);
#endif /* GL_ATI_shader_texture_lod */
#ifdef GL_ATI_text_fragment_shader
- CONST_CAST(GLEW_ATI_text_fragment_shader) = glewGetExtension("GL_ATI_text_fragment_shader");
+ CONST_CAST(GLEW_ATI_text_fragment_shader) = _glewSearchExtension("GL_ATI_text_fragment_shader", extStart, extEnd);
#endif /* GL_ATI_text_fragment_shader */
#ifdef GL_ATI_texture_compression_3dc
- CONST_CAST(GLEW_ATI_texture_compression_3dc) = glewGetExtension("GL_ATI_texture_compression_3dc");
+ CONST_CAST(GLEW_ATI_texture_compression_3dc) = _glewSearchExtension("GL_ATI_texture_compression_3dc", extStart, extEnd);
#endif /* GL_ATI_texture_compression_3dc */
#ifdef GL_ATI_texture_env_combine3
- CONST_CAST(GLEW_ATI_texture_env_combine3) = glewGetExtension("GL_ATI_texture_env_combine3");
+ CONST_CAST(GLEW_ATI_texture_env_combine3) = _glewSearchExtension("GL_ATI_texture_env_combine3", extStart, extEnd);
#endif /* GL_ATI_texture_env_combine3 */
#ifdef GL_ATI_texture_float
- CONST_CAST(GLEW_ATI_texture_float) = glewGetExtension("GL_ATI_texture_float");
+ CONST_CAST(GLEW_ATI_texture_float) = _glewSearchExtension("GL_ATI_texture_float", extStart, extEnd);
#endif /* GL_ATI_texture_float */
#ifdef GL_ATI_texture_mirror_once
- CONST_CAST(GLEW_ATI_texture_mirror_once) = glewGetExtension("GL_ATI_texture_mirror_once");
+ CONST_CAST(GLEW_ATI_texture_mirror_once) = _glewSearchExtension("GL_ATI_texture_mirror_once", extStart, extEnd);
#endif /* GL_ATI_texture_mirror_once */
#ifdef GL_ATI_vertex_array_object
- CONST_CAST(GLEW_ATI_vertex_array_object) = glewGetExtension("GL_ATI_vertex_array_object");
+ CONST_CAST(GLEW_ATI_vertex_array_object) = _glewSearchExtension("GL_ATI_vertex_array_object", extStart, extEnd);
if (glewExperimental || GLEW_ATI_vertex_array_object) CONST_CAST(GLEW_ATI_vertex_array_object) = !_glewInit_GL_ATI_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_vertex_array_object */
#ifdef GL_ATI_vertex_attrib_array_object
- CONST_CAST(GLEW_ATI_vertex_attrib_array_object) = glewGetExtension("GL_ATI_vertex_attrib_array_object");
+ CONST_CAST(GLEW_ATI_vertex_attrib_array_object) = _glewSearchExtension("GL_ATI_vertex_attrib_array_object", extStart, extEnd);
if (glewExperimental || GLEW_ATI_vertex_attrib_array_object) CONST_CAST(GLEW_ATI_vertex_attrib_array_object) = !_glewInit_GL_ATI_vertex_attrib_array_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_vertex_attrib_array_object */
#ifdef GL_ATI_vertex_streams
- CONST_CAST(GLEW_ATI_vertex_streams) = glewGetExtension("GL_ATI_vertex_streams");
+ CONST_CAST(GLEW_ATI_vertex_streams) = _glewSearchExtension("GL_ATI_vertex_streams", extStart, extEnd);
if (glewExperimental || GLEW_ATI_vertex_streams) CONST_CAST(GLEW_ATI_vertex_streams) = !_glewInit_GL_ATI_vertex_streams(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ATI_vertex_streams */
#ifdef GL_EXT_422_pixels
- CONST_CAST(GLEW_EXT_422_pixels) = glewGetExtension("GL_EXT_422_pixels");
+ CONST_CAST(GLEW_EXT_422_pixels) = _glewSearchExtension("GL_EXT_422_pixels", extStart, extEnd);
#endif /* GL_EXT_422_pixels */
#ifdef GL_EXT_Cg_shader
- CONST_CAST(GLEW_EXT_Cg_shader) = glewGetExtension("GL_EXT_Cg_shader");
+ CONST_CAST(GLEW_EXT_Cg_shader) = _glewSearchExtension("GL_EXT_Cg_shader", extStart, extEnd);
#endif /* GL_EXT_Cg_shader */
#ifdef GL_EXT_abgr
- CONST_CAST(GLEW_EXT_abgr) = glewGetExtension("GL_EXT_abgr");
+ CONST_CAST(GLEW_EXT_abgr) = _glewSearchExtension("GL_EXT_abgr", extStart, extEnd);
#endif /* GL_EXT_abgr */
#ifdef GL_EXT_bgra
- CONST_CAST(GLEW_EXT_bgra) = glewGetExtension("GL_EXT_bgra");
+ CONST_CAST(GLEW_EXT_bgra) = _glewSearchExtension("GL_EXT_bgra", extStart, extEnd);
#endif /* GL_EXT_bgra */
#ifdef GL_EXT_bindable_uniform
- CONST_CAST(GLEW_EXT_bindable_uniform) = glewGetExtension("GL_EXT_bindable_uniform");
+ CONST_CAST(GLEW_EXT_bindable_uniform) = _glewSearchExtension("GL_EXT_bindable_uniform", extStart, extEnd);
if (glewExperimental || GLEW_EXT_bindable_uniform) CONST_CAST(GLEW_EXT_bindable_uniform) = !_glewInit_GL_EXT_bindable_uniform(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_bindable_uniform */
#ifdef GL_EXT_blend_color
- CONST_CAST(GLEW_EXT_blend_color) = glewGetExtension("GL_EXT_blend_color");
+ CONST_CAST(GLEW_EXT_blend_color) = _glewSearchExtension("GL_EXT_blend_color", extStart, extEnd);
if (glewExperimental || GLEW_EXT_blend_color) CONST_CAST(GLEW_EXT_blend_color) = !_glewInit_GL_EXT_blend_color(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_blend_color */
#ifdef GL_EXT_blend_equation_separate
- CONST_CAST(GLEW_EXT_blend_equation_separate) = glewGetExtension("GL_EXT_blend_equation_separate");
+ CONST_CAST(GLEW_EXT_blend_equation_separate) = _glewSearchExtension("GL_EXT_blend_equation_separate", extStart, extEnd);
if (glewExperimental || GLEW_EXT_blend_equation_separate) CONST_CAST(GLEW_EXT_blend_equation_separate) = !_glewInit_GL_EXT_blend_equation_separate(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_blend_equation_separate */
#ifdef GL_EXT_blend_func_separate
- CONST_CAST(GLEW_EXT_blend_func_separate) = glewGetExtension("GL_EXT_blend_func_separate");
+ CONST_CAST(GLEW_EXT_blend_func_separate) = _glewSearchExtension("GL_EXT_blend_func_separate", extStart, extEnd);
if (glewExperimental || GLEW_EXT_blend_func_separate) CONST_CAST(GLEW_EXT_blend_func_separate) = !_glewInit_GL_EXT_blend_func_separate(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_blend_func_separate */
#ifdef GL_EXT_blend_logic_op
- CONST_CAST(GLEW_EXT_blend_logic_op) = glewGetExtension("GL_EXT_blend_logic_op");
+ CONST_CAST(GLEW_EXT_blend_logic_op) = _glewSearchExtension("GL_EXT_blend_logic_op", extStart, extEnd);
#endif /* GL_EXT_blend_logic_op */
#ifdef GL_EXT_blend_minmax
- CONST_CAST(GLEW_EXT_blend_minmax) = glewGetExtension("GL_EXT_blend_minmax");
+ CONST_CAST(GLEW_EXT_blend_minmax) = _glewSearchExtension("GL_EXT_blend_minmax", extStart, extEnd);
if (glewExperimental || GLEW_EXT_blend_minmax) CONST_CAST(GLEW_EXT_blend_minmax) = !_glewInit_GL_EXT_blend_minmax(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_blend_minmax */
#ifdef GL_EXT_blend_subtract
- CONST_CAST(GLEW_EXT_blend_subtract) = glewGetExtension("GL_EXT_blend_subtract");
+ CONST_CAST(GLEW_EXT_blend_subtract) = _glewSearchExtension("GL_EXT_blend_subtract", extStart, extEnd);
#endif /* GL_EXT_blend_subtract */
#ifdef GL_EXT_clip_volume_hint
- CONST_CAST(GLEW_EXT_clip_volume_hint) = glewGetExtension("GL_EXT_clip_volume_hint");
+ CONST_CAST(GLEW_EXT_clip_volume_hint) = _glewSearchExtension("GL_EXT_clip_volume_hint", extStart, extEnd);
#endif /* GL_EXT_clip_volume_hint */
#ifdef GL_EXT_cmyka
- CONST_CAST(GLEW_EXT_cmyka) = glewGetExtension("GL_EXT_cmyka");
+ CONST_CAST(GLEW_EXT_cmyka) = _glewSearchExtension("GL_EXT_cmyka", extStart, extEnd);
#endif /* GL_EXT_cmyka */
#ifdef GL_EXT_color_subtable
- CONST_CAST(GLEW_EXT_color_subtable) = glewGetExtension("GL_EXT_color_subtable");
+ CONST_CAST(GLEW_EXT_color_subtable) = _glewSearchExtension("GL_EXT_color_subtable", extStart, extEnd);
if (glewExperimental || GLEW_EXT_color_subtable) CONST_CAST(GLEW_EXT_color_subtable) = !_glewInit_GL_EXT_color_subtable(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_color_subtable */
#ifdef GL_EXT_compiled_vertex_array
- CONST_CAST(GLEW_EXT_compiled_vertex_array) = glewGetExtension("GL_EXT_compiled_vertex_array");
+ CONST_CAST(GLEW_EXT_compiled_vertex_array) = _glewSearchExtension("GL_EXT_compiled_vertex_array", extStart, extEnd);
if (glewExperimental || GLEW_EXT_compiled_vertex_array) CONST_CAST(GLEW_EXT_compiled_vertex_array) = !_glewInit_GL_EXT_compiled_vertex_array(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_compiled_vertex_array */
#ifdef GL_EXT_convolution
- CONST_CAST(GLEW_EXT_convolution) = glewGetExtension("GL_EXT_convolution");
+ CONST_CAST(GLEW_EXT_convolution) = _glewSearchExtension("GL_EXT_convolution", extStart, extEnd);
if (glewExperimental || GLEW_EXT_convolution) CONST_CAST(GLEW_EXT_convolution) = !_glewInit_GL_EXT_convolution(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_convolution */
#ifdef GL_EXT_coordinate_frame
- CONST_CAST(GLEW_EXT_coordinate_frame) = glewGetExtension("GL_EXT_coordinate_frame");
+ CONST_CAST(GLEW_EXT_coordinate_frame) = _glewSearchExtension("GL_EXT_coordinate_frame", extStart, extEnd);
if (glewExperimental || GLEW_EXT_coordinate_frame) CONST_CAST(GLEW_EXT_coordinate_frame) = !_glewInit_GL_EXT_coordinate_frame(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_coordinate_frame */
#ifdef GL_EXT_copy_texture
- CONST_CAST(GLEW_EXT_copy_texture) = glewGetExtension("GL_EXT_copy_texture");
+ CONST_CAST(GLEW_EXT_copy_texture) = _glewSearchExtension("GL_EXT_copy_texture", extStart, extEnd);
if (glewExperimental || GLEW_EXT_copy_texture) CONST_CAST(GLEW_EXT_copy_texture) = !_glewInit_GL_EXT_copy_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_copy_texture */
#ifdef GL_EXT_cull_vertex
- CONST_CAST(GLEW_EXT_cull_vertex) = glewGetExtension("GL_EXT_cull_vertex");
+ CONST_CAST(GLEW_EXT_cull_vertex) = _glewSearchExtension("GL_EXT_cull_vertex", extStart, extEnd);
if (glewExperimental || GLEW_EXT_cull_vertex) CONST_CAST(GLEW_EXT_cull_vertex) = !_glewInit_GL_EXT_cull_vertex(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_cull_vertex */
#ifdef GL_EXT_depth_bounds_test
- CONST_CAST(GLEW_EXT_depth_bounds_test) = glewGetExtension("GL_EXT_depth_bounds_test");
+ CONST_CAST(GLEW_EXT_depth_bounds_test) = _glewSearchExtension("GL_EXT_depth_bounds_test", extStart, extEnd);
if (glewExperimental || GLEW_EXT_depth_bounds_test) CONST_CAST(GLEW_EXT_depth_bounds_test) = !_glewInit_GL_EXT_depth_bounds_test(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_depth_bounds_test */
#ifdef GL_EXT_direct_state_access
- CONST_CAST(GLEW_EXT_direct_state_access) = glewGetExtension("GL_EXT_direct_state_access");
+ CONST_CAST(GLEW_EXT_direct_state_access) = _glewSearchExtension("GL_EXT_direct_state_access", extStart, extEnd);
if (glewExperimental || GLEW_EXT_direct_state_access) CONST_CAST(GLEW_EXT_direct_state_access) = !_glewInit_GL_EXT_direct_state_access(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_direct_state_access */
#ifdef GL_EXT_draw_buffers2
- CONST_CAST(GLEW_EXT_draw_buffers2) = glewGetExtension("GL_EXT_draw_buffers2");
+ CONST_CAST(GLEW_EXT_draw_buffers2) = _glewSearchExtension("GL_EXT_draw_buffers2", extStart, extEnd);
if (glewExperimental || GLEW_EXT_draw_buffers2) CONST_CAST(GLEW_EXT_draw_buffers2) = !_glewInit_GL_EXT_draw_buffers2(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_draw_buffers2 */
#ifdef GL_EXT_draw_instanced
- CONST_CAST(GLEW_EXT_draw_instanced) = glewGetExtension("GL_EXT_draw_instanced");
+ CONST_CAST(GLEW_EXT_draw_instanced) = _glewSearchExtension("GL_EXT_draw_instanced", extStart, extEnd);
if (glewExperimental || GLEW_EXT_draw_instanced) CONST_CAST(GLEW_EXT_draw_instanced) = !_glewInit_GL_EXT_draw_instanced(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_draw_instanced */
#ifdef GL_EXT_draw_range_elements
- CONST_CAST(GLEW_EXT_draw_range_elements) = glewGetExtension("GL_EXT_draw_range_elements");
+ CONST_CAST(GLEW_EXT_draw_range_elements) = _glewSearchExtension("GL_EXT_draw_range_elements", extStart, extEnd);
if (glewExperimental || GLEW_EXT_draw_range_elements) CONST_CAST(GLEW_EXT_draw_range_elements) = !_glewInit_GL_EXT_draw_range_elements(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_draw_range_elements */
#ifdef GL_EXT_fog_coord
- CONST_CAST(GLEW_EXT_fog_coord) = glewGetExtension("GL_EXT_fog_coord");
+ CONST_CAST(GLEW_EXT_fog_coord) = _glewSearchExtension("GL_EXT_fog_coord", extStart, extEnd);
if (glewExperimental || GLEW_EXT_fog_coord) CONST_CAST(GLEW_EXT_fog_coord) = !_glewInit_GL_EXT_fog_coord(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_fog_coord */
#ifdef GL_EXT_fragment_lighting
- CONST_CAST(GLEW_EXT_fragment_lighting) = glewGetExtension("GL_EXT_fragment_lighting");
+ CONST_CAST(GLEW_EXT_fragment_lighting) = _glewSearchExtension("GL_EXT_fragment_lighting", extStart, extEnd);
if (glewExperimental || GLEW_EXT_fragment_lighting) CONST_CAST(GLEW_EXT_fragment_lighting) = !_glewInit_GL_EXT_fragment_lighting(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_fragment_lighting */
#ifdef GL_EXT_framebuffer_blit
- CONST_CAST(GLEW_EXT_framebuffer_blit) = glewGetExtension("GL_EXT_framebuffer_blit");
+ CONST_CAST(GLEW_EXT_framebuffer_blit) = _glewSearchExtension("GL_EXT_framebuffer_blit", extStart, extEnd);
if (glewExperimental || GLEW_EXT_framebuffer_blit) CONST_CAST(GLEW_EXT_framebuffer_blit) = !_glewInit_GL_EXT_framebuffer_blit(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_framebuffer_blit */
#ifdef GL_EXT_framebuffer_multisample
- CONST_CAST(GLEW_EXT_framebuffer_multisample) = glewGetExtension("GL_EXT_framebuffer_multisample");
+ CONST_CAST(GLEW_EXT_framebuffer_multisample) = _glewSearchExtension("GL_EXT_framebuffer_multisample", extStart, extEnd);
if (glewExperimental || GLEW_EXT_framebuffer_multisample) CONST_CAST(GLEW_EXT_framebuffer_multisample) = !_glewInit_GL_EXT_framebuffer_multisample(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_framebuffer_multisample */
#ifdef GL_EXT_framebuffer_object
- CONST_CAST(GLEW_EXT_framebuffer_object) = glewGetExtension("GL_EXT_framebuffer_object");
+ CONST_CAST(GLEW_EXT_framebuffer_object) = _glewSearchExtension("GL_EXT_framebuffer_object", extStart, extEnd);
if (glewExperimental || GLEW_EXT_framebuffer_object) CONST_CAST(GLEW_EXT_framebuffer_object) = !_glewInit_GL_EXT_framebuffer_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_framebuffer_object */
#ifdef GL_EXT_framebuffer_sRGB
- CONST_CAST(GLEW_EXT_framebuffer_sRGB) = glewGetExtension("GL_EXT_framebuffer_sRGB");
+ CONST_CAST(GLEW_EXT_framebuffer_sRGB) = _glewSearchExtension("GL_EXT_framebuffer_sRGB", extStart, extEnd);
#endif /* GL_EXT_framebuffer_sRGB */
#ifdef GL_EXT_geometry_shader4
- CONST_CAST(GLEW_EXT_geometry_shader4) = glewGetExtension("GL_EXT_geometry_shader4");
+ CONST_CAST(GLEW_EXT_geometry_shader4) = _glewSearchExtension("GL_EXT_geometry_shader4", extStart, extEnd);
if (glewExperimental || GLEW_EXT_geometry_shader4) CONST_CAST(GLEW_EXT_geometry_shader4) = !_glewInit_GL_EXT_geometry_shader4(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_geometry_shader4 */
#ifdef GL_EXT_gpu_program_parameters
- CONST_CAST(GLEW_EXT_gpu_program_parameters) = glewGetExtension("GL_EXT_gpu_program_parameters");
+ CONST_CAST(GLEW_EXT_gpu_program_parameters) = _glewSearchExtension("GL_EXT_gpu_program_parameters", extStart, extEnd);
if (glewExperimental || GLEW_EXT_gpu_program_parameters) CONST_CAST(GLEW_EXT_gpu_program_parameters) = !_glewInit_GL_EXT_gpu_program_parameters(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_gpu_program_parameters */
#ifdef GL_EXT_gpu_shader4
- CONST_CAST(GLEW_EXT_gpu_shader4) = glewGetExtension("GL_EXT_gpu_shader4");
+ CONST_CAST(GLEW_EXT_gpu_shader4) = _glewSearchExtension("GL_EXT_gpu_shader4", extStart, extEnd);
if (glewExperimental || GLEW_EXT_gpu_shader4) CONST_CAST(GLEW_EXT_gpu_shader4) = !_glewInit_GL_EXT_gpu_shader4(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_gpu_shader4 */
#ifdef GL_EXT_histogram
- CONST_CAST(GLEW_EXT_histogram) = glewGetExtension("GL_EXT_histogram");
+ CONST_CAST(GLEW_EXT_histogram) = _glewSearchExtension("GL_EXT_histogram", extStart, extEnd);
if (glewExperimental || GLEW_EXT_histogram) CONST_CAST(GLEW_EXT_histogram) = !_glewInit_GL_EXT_histogram(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_histogram */
#ifdef GL_EXT_index_array_formats
- CONST_CAST(GLEW_EXT_index_array_formats) = glewGetExtension("GL_EXT_index_array_formats");
+ CONST_CAST(GLEW_EXT_index_array_formats) = _glewSearchExtension("GL_EXT_index_array_formats", extStart, extEnd);
#endif /* GL_EXT_index_array_formats */
#ifdef GL_EXT_index_func
- CONST_CAST(GLEW_EXT_index_func) = glewGetExtension("GL_EXT_index_func");
+ CONST_CAST(GLEW_EXT_index_func) = _glewSearchExtension("GL_EXT_index_func", extStart, extEnd);
if (glewExperimental || GLEW_EXT_index_func) CONST_CAST(GLEW_EXT_index_func) = !_glewInit_GL_EXT_index_func(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_index_func */
#ifdef GL_EXT_index_material
- CONST_CAST(GLEW_EXT_index_material) = glewGetExtension("GL_EXT_index_material");
+ CONST_CAST(GLEW_EXT_index_material) = _glewSearchExtension("GL_EXT_index_material", extStart, extEnd);
if (glewExperimental || GLEW_EXT_index_material) CONST_CAST(GLEW_EXT_index_material) = !_glewInit_GL_EXT_index_material(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_index_material */
#ifdef GL_EXT_index_texture
- CONST_CAST(GLEW_EXT_index_texture) = glewGetExtension("GL_EXT_index_texture");
+ CONST_CAST(GLEW_EXT_index_texture) = _glewSearchExtension("GL_EXT_index_texture", extStart, extEnd);
#endif /* GL_EXT_index_texture */
#ifdef GL_EXT_light_texture
- CONST_CAST(GLEW_EXT_light_texture) = glewGetExtension("GL_EXT_light_texture");
+ CONST_CAST(GLEW_EXT_light_texture) = _glewSearchExtension("GL_EXT_light_texture", extStart, extEnd);
if (glewExperimental || GLEW_EXT_light_texture) CONST_CAST(GLEW_EXT_light_texture) = !_glewInit_GL_EXT_light_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_light_texture */
#ifdef GL_EXT_misc_attribute
- CONST_CAST(GLEW_EXT_misc_attribute) = glewGetExtension("GL_EXT_misc_attribute");
+ CONST_CAST(GLEW_EXT_misc_attribute) = _glewSearchExtension("GL_EXT_misc_attribute", extStart, extEnd);
#endif /* GL_EXT_misc_attribute */
#ifdef GL_EXT_multi_draw_arrays
- CONST_CAST(GLEW_EXT_multi_draw_arrays) = glewGetExtension("GL_EXT_multi_draw_arrays");
+ CONST_CAST(GLEW_EXT_multi_draw_arrays) = _glewSearchExtension("GL_EXT_multi_draw_arrays", extStart, extEnd);
if (glewExperimental || GLEW_EXT_multi_draw_arrays) CONST_CAST(GLEW_EXT_multi_draw_arrays) = !_glewInit_GL_EXT_multi_draw_arrays(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_multi_draw_arrays */
#ifdef GL_EXT_multisample
- CONST_CAST(GLEW_EXT_multisample) = glewGetExtension("GL_EXT_multisample");
+ CONST_CAST(GLEW_EXT_multisample) = _glewSearchExtension("GL_EXT_multisample", extStart, extEnd);
if (glewExperimental || GLEW_EXT_multisample) CONST_CAST(GLEW_EXT_multisample) = !_glewInit_GL_EXT_multisample(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_multisample */
#ifdef GL_EXT_packed_depth_stencil
- CONST_CAST(GLEW_EXT_packed_depth_stencil) = glewGetExtension("GL_EXT_packed_depth_stencil");
+ CONST_CAST(GLEW_EXT_packed_depth_stencil) = _glewSearchExtension("GL_EXT_packed_depth_stencil", extStart, extEnd);
#endif /* GL_EXT_packed_depth_stencil */
#ifdef GL_EXT_packed_float
- CONST_CAST(GLEW_EXT_packed_float) = glewGetExtension("GL_EXT_packed_float");
+ CONST_CAST(GLEW_EXT_packed_float) = _glewSearchExtension("GL_EXT_packed_float", extStart, extEnd);
#endif /* GL_EXT_packed_float */
#ifdef GL_EXT_packed_pixels
- CONST_CAST(GLEW_EXT_packed_pixels) = glewGetExtension("GL_EXT_packed_pixels");
+ CONST_CAST(GLEW_EXT_packed_pixels) = _glewSearchExtension("GL_EXT_packed_pixels", extStart, extEnd);
#endif /* GL_EXT_packed_pixels */
#ifdef GL_EXT_paletted_texture
- CONST_CAST(GLEW_EXT_paletted_texture) = glewGetExtension("GL_EXT_paletted_texture");
+ CONST_CAST(GLEW_EXT_paletted_texture) = _glewSearchExtension("GL_EXT_paletted_texture", extStart, extEnd);
if (glewExperimental || GLEW_EXT_paletted_texture) CONST_CAST(GLEW_EXT_paletted_texture) = !_glewInit_GL_EXT_paletted_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_paletted_texture */
#ifdef GL_EXT_pixel_buffer_object
- CONST_CAST(GLEW_EXT_pixel_buffer_object) = glewGetExtension("GL_EXT_pixel_buffer_object");
+ CONST_CAST(GLEW_EXT_pixel_buffer_object) = _glewSearchExtension("GL_EXT_pixel_buffer_object", extStart, extEnd);
#endif /* GL_EXT_pixel_buffer_object */
#ifdef GL_EXT_pixel_transform
- CONST_CAST(GLEW_EXT_pixel_transform) = glewGetExtension("GL_EXT_pixel_transform");
+ CONST_CAST(GLEW_EXT_pixel_transform) = _glewSearchExtension("GL_EXT_pixel_transform", extStart, extEnd);
if (glewExperimental || GLEW_EXT_pixel_transform) CONST_CAST(GLEW_EXT_pixel_transform) = !_glewInit_GL_EXT_pixel_transform(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_pixel_transform */
#ifdef GL_EXT_pixel_transform_color_table
- CONST_CAST(GLEW_EXT_pixel_transform_color_table) = glewGetExtension("GL_EXT_pixel_transform_color_table");
+ CONST_CAST(GLEW_EXT_pixel_transform_color_table) = _glewSearchExtension("GL_EXT_pixel_transform_color_table", extStart, extEnd);
#endif /* GL_EXT_pixel_transform_color_table */
#ifdef GL_EXT_point_parameters
- CONST_CAST(GLEW_EXT_point_parameters) = glewGetExtension("GL_EXT_point_parameters");
+ CONST_CAST(GLEW_EXT_point_parameters) = _glewSearchExtension("GL_EXT_point_parameters", extStart, extEnd);
if (glewExperimental || GLEW_EXT_point_parameters) CONST_CAST(GLEW_EXT_point_parameters) = !_glewInit_GL_EXT_point_parameters(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_point_parameters */
#ifdef GL_EXT_polygon_offset
- CONST_CAST(GLEW_EXT_polygon_offset) = glewGetExtension("GL_EXT_polygon_offset");
+ CONST_CAST(GLEW_EXT_polygon_offset) = _glewSearchExtension("GL_EXT_polygon_offset", extStart, extEnd);
if (glewExperimental || GLEW_EXT_polygon_offset) CONST_CAST(GLEW_EXT_polygon_offset) = !_glewInit_GL_EXT_polygon_offset(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_polygon_offset */
#ifdef GL_EXT_provoking_vertex
- CONST_CAST(GLEW_EXT_provoking_vertex) = glewGetExtension("GL_EXT_provoking_vertex");
+ CONST_CAST(GLEW_EXT_provoking_vertex) = _glewSearchExtension("GL_EXT_provoking_vertex", extStart, extEnd);
if (glewExperimental || GLEW_EXT_provoking_vertex) CONST_CAST(GLEW_EXT_provoking_vertex) = !_glewInit_GL_EXT_provoking_vertex(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_provoking_vertex */
#ifdef GL_EXT_rescale_normal
- CONST_CAST(GLEW_EXT_rescale_normal) = glewGetExtension("GL_EXT_rescale_normal");
+ CONST_CAST(GLEW_EXT_rescale_normal) = _glewSearchExtension("GL_EXT_rescale_normal", extStart, extEnd);
#endif /* GL_EXT_rescale_normal */
#ifdef GL_EXT_scene_marker
- CONST_CAST(GLEW_EXT_scene_marker) = glewGetExtension("GL_EXT_scene_marker");
+ CONST_CAST(GLEW_EXT_scene_marker) = _glewSearchExtension("GL_EXT_scene_marker", extStart, extEnd);
if (glewExperimental || GLEW_EXT_scene_marker) CONST_CAST(GLEW_EXT_scene_marker) = !_glewInit_GL_EXT_scene_marker(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_scene_marker */
#ifdef GL_EXT_secondary_color
- CONST_CAST(GLEW_EXT_secondary_color) = glewGetExtension("GL_EXT_secondary_color");
+ CONST_CAST(GLEW_EXT_secondary_color) = _glewSearchExtension("GL_EXT_secondary_color", extStart, extEnd);
if (glewExperimental || GLEW_EXT_secondary_color) CONST_CAST(GLEW_EXT_secondary_color) = !_glewInit_GL_EXT_secondary_color(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_secondary_color */
#ifdef GL_EXT_separate_shader_objects
- CONST_CAST(GLEW_EXT_separate_shader_objects) = glewGetExtension("GL_EXT_separate_shader_objects");
+ CONST_CAST(GLEW_EXT_separate_shader_objects) = _glewSearchExtension("GL_EXT_separate_shader_objects", extStart, extEnd);
if (glewExperimental || GLEW_EXT_separate_shader_objects) CONST_CAST(GLEW_EXT_separate_shader_objects) = !_glewInit_GL_EXT_separate_shader_objects(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_separate_shader_objects */
#ifdef GL_EXT_separate_specular_color
- CONST_CAST(GLEW_EXT_separate_specular_color) = glewGetExtension("GL_EXT_separate_specular_color");
+ CONST_CAST(GLEW_EXT_separate_specular_color) = _glewSearchExtension("GL_EXT_separate_specular_color", extStart, extEnd);
#endif /* GL_EXT_separate_specular_color */
#ifdef GL_EXT_shader_image_load_store
- CONST_CAST(GLEW_EXT_shader_image_load_store) = glewGetExtension("GL_EXT_shader_image_load_store");
+ CONST_CAST(GLEW_EXT_shader_image_load_store) = _glewSearchExtension("GL_EXT_shader_image_load_store", extStart, extEnd);
if (glewExperimental || GLEW_EXT_shader_image_load_store) CONST_CAST(GLEW_EXT_shader_image_load_store) = !_glewInit_GL_EXT_shader_image_load_store(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_shader_image_load_store */
#ifdef GL_EXT_shadow_funcs
- CONST_CAST(GLEW_EXT_shadow_funcs) = glewGetExtension("GL_EXT_shadow_funcs");
+ CONST_CAST(GLEW_EXT_shadow_funcs) = _glewSearchExtension("GL_EXT_shadow_funcs", extStart, extEnd);
#endif /* GL_EXT_shadow_funcs */
#ifdef GL_EXT_shared_texture_palette
- CONST_CAST(GLEW_EXT_shared_texture_palette) = glewGetExtension("GL_EXT_shared_texture_palette");
+ CONST_CAST(GLEW_EXT_shared_texture_palette) = _glewSearchExtension("GL_EXT_shared_texture_palette", extStart, extEnd);
#endif /* GL_EXT_shared_texture_palette */
#ifdef GL_EXT_stencil_clear_tag
- CONST_CAST(GLEW_EXT_stencil_clear_tag) = glewGetExtension("GL_EXT_stencil_clear_tag");
+ CONST_CAST(GLEW_EXT_stencil_clear_tag) = _glewSearchExtension("GL_EXT_stencil_clear_tag", extStart, extEnd);
#endif /* GL_EXT_stencil_clear_tag */
#ifdef GL_EXT_stencil_two_side
- CONST_CAST(GLEW_EXT_stencil_two_side) = glewGetExtension("GL_EXT_stencil_two_side");
+ CONST_CAST(GLEW_EXT_stencil_two_side) = _glewSearchExtension("GL_EXT_stencil_two_side", extStart, extEnd);
if (glewExperimental || GLEW_EXT_stencil_two_side) CONST_CAST(GLEW_EXT_stencil_two_side) = !_glewInit_GL_EXT_stencil_two_side(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_stencil_two_side */
#ifdef GL_EXT_stencil_wrap
- CONST_CAST(GLEW_EXT_stencil_wrap) = glewGetExtension("GL_EXT_stencil_wrap");
+ CONST_CAST(GLEW_EXT_stencil_wrap) = _glewSearchExtension("GL_EXT_stencil_wrap", extStart, extEnd);
#endif /* GL_EXT_stencil_wrap */
#ifdef GL_EXT_subtexture
- CONST_CAST(GLEW_EXT_subtexture) = glewGetExtension("GL_EXT_subtexture");
+ CONST_CAST(GLEW_EXT_subtexture) = _glewSearchExtension("GL_EXT_subtexture", extStart, extEnd);
if (glewExperimental || GLEW_EXT_subtexture) CONST_CAST(GLEW_EXT_subtexture) = !_glewInit_GL_EXT_subtexture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_subtexture */
#ifdef GL_EXT_texture
- CONST_CAST(GLEW_EXT_texture) = glewGetExtension("GL_EXT_texture");
+ CONST_CAST(GLEW_EXT_texture) = _glewSearchExtension("GL_EXT_texture", extStart, extEnd);
#endif /* GL_EXT_texture */
#ifdef GL_EXT_texture3D
- CONST_CAST(GLEW_EXT_texture3D) = glewGetExtension("GL_EXT_texture3D");
+ CONST_CAST(GLEW_EXT_texture3D) = _glewSearchExtension("GL_EXT_texture3D", extStart, extEnd);
if (glewExperimental || GLEW_EXT_texture3D) CONST_CAST(GLEW_EXT_texture3D) = !_glewInit_GL_EXT_texture3D(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_texture3D */
#ifdef GL_EXT_texture_array
- CONST_CAST(GLEW_EXT_texture_array) = glewGetExtension("GL_EXT_texture_array");
+ CONST_CAST(GLEW_EXT_texture_array) = _glewSearchExtension("GL_EXT_texture_array", extStart, extEnd);
+ if (glewExperimental || GLEW_EXT_texture_array) CONST_CAST(GLEW_EXT_texture_array) = !_glewInit_GL_EXT_texture_array(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_texture_array */
#ifdef GL_EXT_texture_buffer_object
- CONST_CAST(GLEW_EXT_texture_buffer_object) = glewGetExtension("GL_EXT_texture_buffer_object");
+ CONST_CAST(GLEW_EXT_texture_buffer_object) = _glewSearchExtension("GL_EXT_texture_buffer_object", extStart, extEnd);
if (glewExperimental || GLEW_EXT_texture_buffer_object) CONST_CAST(GLEW_EXT_texture_buffer_object) = !_glewInit_GL_EXT_texture_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_texture_buffer_object */
#ifdef GL_EXT_texture_compression_dxt1
- CONST_CAST(GLEW_EXT_texture_compression_dxt1) = glewGetExtension("GL_EXT_texture_compression_dxt1");
+ CONST_CAST(GLEW_EXT_texture_compression_dxt1) = _glewSearchExtension("GL_EXT_texture_compression_dxt1", extStart, extEnd);
#endif /* GL_EXT_texture_compression_dxt1 */
#ifdef GL_EXT_texture_compression_latc
- CONST_CAST(GLEW_EXT_texture_compression_latc) = glewGetExtension("GL_EXT_texture_compression_latc");
+ CONST_CAST(GLEW_EXT_texture_compression_latc) = _glewSearchExtension("GL_EXT_texture_compression_latc", extStart, extEnd);
#endif /* GL_EXT_texture_compression_latc */
#ifdef GL_EXT_texture_compression_rgtc
- CONST_CAST(GLEW_EXT_texture_compression_rgtc) = glewGetExtension("GL_EXT_texture_compression_rgtc");
+ CONST_CAST(GLEW_EXT_texture_compression_rgtc) = _glewSearchExtension("GL_EXT_texture_compression_rgtc", extStart, extEnd);
#endif /* GL_EXT_texture_compression_rgtc */
#ifdef GL_EXT_texture_compression_s3tc
- CONST_CAST(GLEW_EXT_texture_compression_s3tc) = glewGetExtension("GL_EXT_texture_compression_s3tc");
+ CONST_CAST(GLEW_EXT_texture_compression_s3tc) = _glewSearchExtension("GL_EXT_texture_compression_s3tc", extStart, extEnd);
#endif /* GL_EXT_texture_compression_s3tc */
#ifdef GL_EXT_texture_cube_map
- CONST_CAST(GLEW_EXT_texture_cube_map) = glewGetExtension("GL_EXT_texture_cube_map");
+ CONST_CAST(GLEW_EXT_texture_cube_map) = _glewSearchExtension("GL_EXT_texture_cube_map", extStart, extEnd);
#endif /* GL_EXT_texture_cube_map */
#ifdef GL_EXT_texture_edge_clamp
- CONST_CAST(GLEW_EXT_texture_edge_clamp) = glewGetExtension("GL_EXT_texture_edge_clamp");
+ CONST_CAST(GLEW_EXT_texture_edge_clamp) = _glewSearchExtension("GL_EXT_texture_edge_clamp", extStart, extEnd);
#endif /* GL_EXT_texture_edge_clamp */
#ifdef GL_EXT_texture_env
- CONST_CAST(GLEW_EXT_texture_env) = glewGetExtension("GL_EXT_texture_env");
+ CONST_CAST(GLEW_EXT_texture_env) = _glewSearchExtension("GL_EXT_texture_env", extStart, extEnd);
#endif /* GL_EXT_texture_env */
#ifdef GL_EXT_texture_env_add
- CONST_CAST(GLEW_EXT_texture_env_add) = glewGetExtension("GL_EXT_texture_env_add");
+ CONST_CAST(GLEW_EXT_texture_env_add) = _glewSearchExtension("GL_EXT_texture_env_add", extStart, extEnd);
#endif /* GL_EXT_texture_env_add */
#ifdef GL_EXT_texture_env_combine
- CONST_CAST(GLEW_EXT_texture_env_combine) = glewGetExtension("GL_EXT_texture_env_combine");
+ CONST_CAST(GLEW_EXT_texture_env_combine) = _glewSearchExtension("GL_EXT_texture_env_combine", extStart, extEnd);
#endif /* GL_EXT_texture_env_combine */
#ifdef GL_EXT_texture_env_dot3
- CONST_CAST(GLEW_EXT_texture_env_dot3) = glewGetExtension("GL_EXT_texture_env_dot3");
+ CONST_CAST(GLEW_EXT_texture_env_dot3) = _glewSearchExtension("GL_EXT_texture_env_dot3", extStart, extEnd);
#endif /* GL_EXT_texture_env_dot3 */
#ifdef GL_EXT_texture_filter_anisotropic
- CONST_CAST(GLEW_EXT_texture_filter_anisotropic) = glewGetExtension("GL_EXT_texture_filter_anisotropic");
+ CONST_CAST(GLEW_EXT_texture_filter_anisotropic) = _glewSearchExtension("GL_EXT_texture_filter_anisotropic", extStart, extEnd);
#endif /* GL_EXT_texture_filter_anisotropic */
#ifdef GL_EXT_texture_integer
- CONST_CAST(GLEW_EXT_texture_integer) = glewGetExtension("GL_EXT_texture_integer");
+ CONST_CAST(GLEW_EXT_texture_integer) = _glewSearchExtension("GL_EXT_texture_integer", extStart, extEnd);
if (glewExperimental || GLEW_EXT_texture_integer) CONST_CAST(GLEW_EXT_texture_integer) = !_glewInit_GL_EXT_texture_integer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_texture_integer */
#ifdef GL_EXT_texture_lod_bias
- CONST_CAST(GLEW_EXT_texture_lod_bias) = glewGetExtension("GL_EXT_texture_lod_bias");
+ CONST_CAST(GLEW_EXT_texture_lod_bias) = _glewSearchExtension("GL_EXT_texture_lod_bias", extStart, extEnd);
#endif /* GL_EXT_texture_lod_bias */
#ifdef GL_EXT_texture_mirror_clamp
- CONST_CAST(GLEW_EXT_texture_mirror_clamp) = glewGetExtension("GL_EXT_texture_mirror_clamp");
+ CONST_CAST(GLEW_EXT_texture_mirror_clamp) = _glewSearchExtension("GL_EXT_texture_mirror_clamp", extStart, extEnd);
#endif /* GL_EXT_texture_mirror_clamp */
#ifdef GL_EXT_texture_object
- CONST_CAST(GLEW_EXT_texture_object) = glewGetExtension("GL_EXT_texture_object");
+ CONST_CAST(GLEW_EXT_texture_object) = _glewSearchExtension("GL_EXT_texture_object", extStart, extEnd);
if (glewExperimental || GLEW_EXT_texture_object) CONST_CAST(GLEW_EXT_texture_object) = !_glewInit_GL_EXT_texture_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_texture_object */
#ifdef GL_EXT_texture_perturb_normal
- CONST_CAST(GLEW_EXT_texture_perturb_normal) = glewGetExtension("GL_EXT_texture_perturb_normal");
+ CONST_CAST(GLEW_EXT_texture_perturb_normal) = _glewSearchExtension("GL_EXT_texture_perturb_normal", extStart, extEnd);
if (glewExperimental || GLEW_EXT_texture_perturb_normal) CONST_CAST(GLEW_EXT_texture_perturb_normal) = !_glewInit_GL_EXT_texture_perturb_normal(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_texture_perturb_normal */
#ifdef GL_EXT_texture_rectangle
- CONST_CAST(GLEW_EXT_texture_rectangle) = glewGetExtension("GL_EXT_texture_rectangle");
+ CONST_CAST(GLEW_EXT_texture_rectangle) = _glewSearchExtension("GL_EXT_texture_rectangle", extStart, extEnd);
#endif /* GL_EXT_texture_rectangle */
#ifdef GL_EXT_texture_sRGB
- CONST_CAST(GLEW_EXT_texture_sRGB) = glewGetExtension("GL_EXT_texture_sRGB");
+ CONST_CAST(GLEW_EXT_texture_sRGB) = _glewSearchExtension("GL_EXT_texture_sRGB", extStart, extEnd);
#endif /* GL_EXT_texture_sRGB */
#ifdef GL_EXT_texture_sRGB_decode
- CONST_CAST(GLEW_EXT_texture_sRGB_decode) = glewGetExtension("GL_EXT_texture_sRGB_decode");
+ CONST_CAST(GLEW_EXT_texture_sRGB_decode) = _glewSearchExtension("GL_EXT_texture_sRGB_decode", extStart, extEnd);
#endif /* GL_EXT_texture_sRGB_decode */
#ifdef GL_EXT_texture_shared_exponent
- CONST_CAST(GLEW_EXT_texture_shared_exponent) = glewGetExtension("GL_EXT_texture_shared_exponent");
+ CONST_CAST(GLEW_EXT_texture_shared_exponent) = _glewSearchExtension("GL_EXT_texture_shared_exponent", extStart, extEnd);
#endif /* GL_EXT_texture_shared_exponent */
#ifdef GL_EXT_texture_snorm
- CONST_CAST(GLEW_EXT_texture_snorm) = glewGetExtension("GL_EXT_texture_snorm");
+ CONST_CAST(GLEW_EXT_texture_snorm) = _glewSearchExtension("GL_EXT_texture_snorm", extStart, extEnd);
#endif /* GL_EXT_texture_snorm */
#ifdef GL_EXT_texture_swizzle
- CONST_CAST(GLEW_EXT_texture_swizzle) = glewGetExtension("GL_EXT_texture_swizzle");
+ CONST_CAST(GLEW_EXT_texture_swizzle) = _glewSearchExtension("GL_EXT_texture_swizzle", extStart, extEnd);
#endif /* GL_EXT_texture_swizzle */
#ifdef GL_EXT_timer_query
- CONST_CAST(GLEW_EXT_timer_query) = glewGetExtension("GL_EXT_timer_query");
+ CONST_CAST(GLEW_EXT_timer_query) = _glewSearchExtension("GL_EXT_timer_query", extStart, extEnd);
if (glewExperimental || GLEW_EXT_timer_query) CONST_CAST(GLEW_EXT_timer_query) = !_glewInit_GL_EXT_timer_query(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_timer_query */
#ifdef GL_EXT_transform_feedback
- CONST_CAST(GLEW_EXT_transform_feedback) = glewGetExtension("GL_EXT_transform_feedback");
+ CONST_CAST(GLEW_EXT_transform_feedback) = _glewSearchExtension("GL_EXT_transform_feedback", extStart, extEnd);
if (glewExperimental || GLEW_EXT_transform_feedback) CONST_CAST(GLEW_EXT_transform_feedback) = !_glewInit_GL_EXT_transform_feedback(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_transform_feedback */
#ifdef GL_EXT_vertex_array
- CONST_CAST(GLEW_EXT_vertex_array) = glewGetExtension("GL_EXT_vertex_array");
+ CONST_CAST(GLEW_EXT_vertex_array) = _glewSearchExtension("GL_EXT_vertex_array", extStart, extEnd);
if (glewExperimental || GLEW_EXT_vertex_array) CONST_CAST(GLEW_EXT_vertex_array) = !_glewInit_GL_EXT_vertex_array(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_vertex_array */
#ifdef GL_EXT_vertex_array_bgra
- CONST_CAST(GLEW_EXT_vertex_array_bgra) = glewGetExtension("GL_EXT_vertex_array_bgra");
+ CONST_CAST(GLEW_EXT_vertex_array_bgra) = _glewSearchExtension("GL_EXT_vertex_array_bgra", extStart, extEnd);
#endif /* GL_EXT_vertex_array_bgra */
#ifdef GL_EXT_vertex_attrib_64bit
- CONST_CAST(GLEW_EXT_vertex_attrib_64bit) = glewGetExtension("GL_EXT_vertex_attrib_64bit");
+ CONST_CAST(GLEW_EXT_vertex_attrib_64bit) = _glewSearchExtension("GL_EXT_vertex_attrib_64bit", extStart, extEnd);
if (glewExperimental || GLEW_EXT_vertex_attrib_64bit) CONST_CAST(GLEW_EXT_vertex_attrib_64bit) = !_glewInit_GL_EXT_vertex_attrib_64bit(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_vertex_attrib_64bit */
#ifdef GL_EXT_vertex_shader
- CONST_CAST(GLEW_EXT_vertex_shader) = glewGetExtension("GL_EXT_vertex_shader");
+ CONST_CAST(GLEW_EXT_vertex_shader) = _glewSearchExtension("GL_EXT_vertex_shader", extStart, extEnd);
if (glewExperimental || GLEW_EXT_vertex_shader) CONST_CAST(GLEW_EXT_vertex_shader) = !_glewInit_GL_EXT_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_vertex_shader */
#ifdef GL_EXT_vertex_weighting
- CONST_CAST(GLEW_EXT_vertex_weighting) = glewGetExtension("GL_EXT_vertex_weighting");
+ CONST_CAST(GLEW_EXT_vertex_weighting) = _glewSearchExtension("GL_EXT_vertex_weighting", extStart, extEnd);
if (glewExperimental || GLEW_EXT_vertex_weighting) CONST_CAST(GLEW_EXT_vertex_weighting) = !_glewInit_GL_EXT_vertex_weighting(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_EXT_vertex_weighting */
+#ifdef GL_EXT_x11_sync_object
+ CONST_CAST(GLEW_EXT_x11_sync_object) = _glewSearchExtension("GL_EXT_x11_sync_object", extStart, extEnd);
+ if (glewExperimental || GLEW_EXT_x11_sync_object) CONST_CAST(GLEW_EXT_x11_sync_object) = !_glewInit_GL_EXT_x11_sync_object(GLEW_CONTEXT_ARG_VAR_INIT);
+#endif /* GL_EXT_x11_sync_object */
#ifdef GL_GREMEDY_frame_terminator
- CONST_CAST(GLEW_GREMEDY_frame_terminator) = glewGetExtension("GL_GREMEDY_frame_terminator");
+ CONST_CAST(GLEW_GREMEDY_frame_terminator) = _glewSearchExtension("GL_GREMEDY_frame_terminator", extStart, extEnd);
if (glewExperimental || GLEW_GREMEDY_frame_terminator) CONST_CAST(GLEW_GREMEDY_frame_terminator) = !_glewInit_GL_GREMEDY_frame_terminator(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_GREMEDY_frame_terminator */
#ifdef GL_GREMEDY_string_marker
- CONST_CAST(GLEW_GREMEDY_string_marker) = glewGetExtension("GL_GREMEDY_string_marker");
+ CONST_CAST(GLEW_GREMEDY_string_marker) = _glewSearchExtension("GL_GREMEDY_string_marker", extStart, extEnd);
if (glewExperimental || GLEW_GREMEDY_string_marker) CONST_CAST(GLEW_GREMEDY_string_marker) = !_glewInit_GL_GREMEDY_string_marker(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_GREMEDY_string_marker */
#ifdef GL_HP_convolution_border_modes
- CONST_CAST(GLEW_HP_convolution_border_modes) = glewGetExtension("GL_HP_convolution_border_modes");
+ CONST_CAST(GLEW_HP_convolution_border_modes) = _glewSearchExtension("GL_HP_convolution_border_modes", extStart, extEnd);
#endif /* GL_HP_convolution_border_modes */
#ifdef GL_HP_image_transform
- CONST_CAST(GLEW_HP_image_transform) = glewGetExtension("GL_HP_image_transform");
+ CONST_CAST(GLEW_HP_image_transform) = _glewSearchExtension("GL_HP_image_transform", extStart, extEnd);
if (glewExperimental || GLEW_HP_image_transform) CONST_CAST(GLEW_HP_image_transform) = !_glewInit_GL_HP_image_transform(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_HP_image_transform */
#ifdef GL_HP_occlusion_test
- CONST_CAST(GLEW_HP_occlusion_test) = glewGetExtension("GL_HP_occlusion_test");
+ CONST_CAST(GLEW_HP_occlusion_test) = _glewSearchExtension("GL_HP_occlusion_test", extStart, extEnd);
#endif /* GL_HP_occlusion_test */
#ifdef GL_HP_texture_lighting
- CONST_CAST(GLEW_HP_texture_lighting) = glewGetExtension("GL_HP_texture_lighting");
+ CONST_CAST(GLEW_HP_texture_lighting) = _glewSearchExtension("GL_HP_texture_lighting", extStart, extEnd);
#endif /* GL_HP_texture_lighting */
#ifdef GL_IBM_cull_vertex
- CONST_CAST(GLEW_IBM_cull_vertex) = glewGetExtension("GL_IBM_cull_vertex");
+ CONST_CAST(GLEW_IBM_cull_vertex) = _glewSearchExtension("GL_IBM_cull_vertex", extStart, extEnd);
#endif /* GL_IBM_cull_vertex */
#ifdef GL_IBM_multimode_draw_arrays
- CONST_CAST(GLEW_IBM_multimode_draw_arrays) = glewGetExtension("GL_IBM_multimode_draw_arrays");
+ CONST_CAST(GLEW_IBM_multimode_draw_arrays) = _glewSearchExtension("GL_IBM_multimode_draw_arrays", extStart, extEnd);
if (glewExperimental || GLEW_IBM_multimode_draw_arrays) CONST_CAST(GLEW_IBM_multimode_draw_arrays) = !_glewInit_GL_IBM_multimode_draw_arrays(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_IBM_multimode_draw_arrays */
#ifdef GL_IBM_rasterpos_clip
- CONST_CAST(GLEW_IBM_rasterpos_clip) = glewGetExtension("GL_IBM_rasterpos_clip");
+ CONST_CAST(GLEW_IBM_rasterpos_clip) = _glewSearchExtension("GL_IBM_rasterpos_clip", extStart, extEnd);
#endif /* GL_IBM_rasterpos_clip */
#ifdef GL_IBM_static_data
- CONST_CAST(GLEW_IBM_static_data) = glewGetExtension("GL_IBM_static_data");
+ CONST_CAST(GLEW_IBM_static_data) = _glewSearchExtension("GL_IBM_static_data", extStart, extEnd);
#endif /* GL_IBM_static_data */
#ifdef GL_IBM_texture_mirrored_repeat
- CONST_CAST(GLEW_IBM_texture_mirrored_repeat) = glewGetExtension("GL_IBM_texture_mirrored_repeat");
+ CONST_CAST(GLEW_IBM_texture_mirrored_repeat) = _glewSearchExtension("GL_IBM_texture_mirrored_repeat", extStart, extEnd);
#endif /* GL_IBM_texture_mirrored_repeat */
#ifdef GL_IBM_vertex_array_lists
- CONST_CAST(GLEW_IBM_vertex_array_lists) = glewGetExtension("GL_IBM_vertex_array_lists");
+ CONST_CAST(GLEW_IBM_vertex_array_lists) = _glewSearchExtension("GL_IBM_vertex_array_lists", extStart, extEnd);
if (glewExperimental || GLEW_IBM_vertex_array_lists) CONST_CAST(GLEW_IBM_vertex_array_lists) = !_glewInit_GL_IBM_vertex_array_lists(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_IBM_vertex_array_lists */
#ifdef GL_INGR_color_clamp
- CONST_CAST(GLEW_INGR_color_clamp) = glewGetExtension("GL_INGR_color_clamp");
+ CONST_CAST(GLEW_INGR_color_clamp) = _glewSearchExtension("GL_INGR_color_clamp", extStart, extEnd);
#endif /* GL_INGR_color_clamp */
#ifdef GL_INGR_interlace_read
- CONST_CAST(GLEW_INGR_interlace_read) = glewGetExtension("GL_INGR_interlace_read");
+ CONST_CAST(GLEW_INGR_interlace_read) = _glewSearchExtension("GL_INGR_interlace_read", extStart, extEnd);
#endif /* GL_INGR_interlace_read */
#ifdef GL_INTEL_parallel_arrays
- CONST_CAST(GLEW_INTEL_parallel_arrays) = glewGetExtension("GL_INTEL_parallel_arrays");
+ CONST_CAST(GLEW_INTEL_parallel_arrays) = _glewSearchExtension("GL_INTEL_parallel_arrays", extStart, extEnd);
if (glewExperimental || GLEW_INTEL_parallel_arrays) CONST_CAST(GLEW_INTEL_parallel_arrays) = !_glewInit_GL_INTEL_parallel_arrays(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_INTEL_parallel_arrays */
#ifdef GL_INTEL_texture_scissor
- CONST_CAST(GLEW_INTEL_texture_scissor) = glewGetExtension("GL_INTEL_texture_scissor");
+ CONST_CAST(GLEW_INTEL_texture_scissor) = _glewSearchExtension("GL_INTEL_texture_scissor", extStart, extEnd);
if (glewExperimental || GLEW_INTEL_texture_scissor) CONST_CAST(GLEW_INTEL_texture_scissor) = !_glewInit_GL_INTEL_texture_scissor(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_INTEL_texture_scissor */
#ifdef GL_KTX_buffer_region
- CONST_CAST(GLEW_KTX_buffer_region) = glewGetExtension("GL_KTX_buffer_region");
+ CONST_CAST(GLEW_KTX_buffer_region) = _glewSearchExtension("GL_KTX_buffer_region", extStart, extEnd);
if (glewExperimental || GLEW_KTX_buffer_region) CONST_CAST(GLEW_KTX_buffer_region) = !_glewInit_GL_KTX_buffer_region(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_KTX_buffer_region */
#ifdef GL_MESAX_texture_stack
- CONST_CAST(GLEW_MESAX_texture_stack) = glewGetExtension("GL_MESAX_texture_stack");
+ CONST_CAST(GLEW_MESAX_texture_stack) = _glewSearchExtension("GL_MESAX_texture_stack", extStart, extEnd);
#endif /* GL_MESAX_texture_stack */
#ifdef GL_MESA_pack_invert
- CONST_CAST(GLEW_MESA_pack_invert) = glewGetExtension("GL_MESA_pack_invert");
+ CONST_CAST(GLEW_MESA_pack_invert) = _glewSearchExtension("GL_MESA_pack_invert", extStart, extEnd);
#endif /* GL_MESA_pack_invert */
#ifdef GL_MESA_resize_buffers
- CONST_CAST(GLEW_MESA_resize_buffers) = glewGetExtension("GL_MESA_resize_buffers");
+ CONST_CAST(GLEW_MESA_resize_buffers) = _glewSearchExtension("GL_MESA_resize_buffers", extStart, extEnd);
if (glewExperimental || GLEW_MESA_resize_buffers) CONST_CAST(GLEW_MESA_resize_buffers) = !_glewInit_GL_MESA_resize_buffers(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_MESA_resize_buffers */
#ifdef GL_MESA_window_pos
- CONST_CAST(GLEW_MESA_window_pos) = glewGetExtension("GL_MESA_window_pos");
+ CONST_CAST(GLEW_MESA_window_pos) = _glewSearchExtension("GL_MESA_window_pos", extStart, extEnd);
if (glewExperimental || GLEW_MESA_window_pos) CONST_CAST(GLEW_MESA_window_pos) = !_glewInit_GL_MESA_window_pos(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_MESA_window_pos */
#ifdef GL_MESA_ycbcr_texture
- CONST_CAST(GLEW_MESA_ycbcr_texture) = glewGetExtension("GL_MESA_ycbcr_texture");
+ CONST_CAST(GLEW_MESA_ycbcr_texture) = _glewSearchExtension("GL_MESA_ycbcr_texture", extStart, extEnd);
#endif /* GL_MESA_ycbcr_texture */
#ifdef GL_NVX_gpu_memory_info
- CONST_CAST(GLEW_NVX_gpu_memory_info) = glewGetExtension("GL_NVX_gpu_memory_info");
+ CONST_CAST(GLEW_NVX_gpu_memory_info) = _glewSearchExtension("GL_NVX_gpu_memory_info", extStart, extEnd);
#endif /* GL_NVX_gpu_memory_info */
#ifdef GL_NV_blend_square
- CONST_CAST(GLEW_NV_blend_square) = glewGetExtension("GL_NV_blend_square");
+ CONST_CAST(GLEW_NV_blend_square) = _glewSearchExtension("GL_NV_blend_square", extStart, extEnd);
#endif /* GL_NV_blend_square */
#ifdef GL_NV_conditional_render
- CONST_CAST(GLEW_NV_conditional_render) = glewGetExtension("GL_NV_conditional_render");
+ CONST_CAST(GLEW_NV_conditional_render) = _glewSearchExtension("GL_NV_conditional_render", extStart, extEnd);
if (glewExperimental || GLEW_NV_conditional_render) CONST_CAST(GLEW_NV_conditional_render) = !_glewInit_GL_NV_conditional_render(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_conditional_render */
#ifdef GL_NV_copy_depth_to_color
- CONST_CAST(GLEW_NV_copy_depth_to_color) = glewGetExtension("GL_NV_copy_depth_to_color");
+ CONST_CAST(GLEW_NV_copy_depth_to_color) = _glewSearchExtension("GL_NV_copy_depth_to_color", extStart, extEnd);
#endif /* GL_NV_copy_depth_to_color */
#ifdef GL_NV_copy_image
- CONST_CAST(GLEW_NV_copy_image) = glewGetExtension("GL_NV_copy_image");
+ CONST_CAST(GLEW_NV_copy_image) = _glewSearchExtension("GL_NV_copy_image", extStart, extEnd);
if (glewExperimental || GLEW_NV_copy_image) CONST_CAST(GLEW_NV_copy_image) = !_glewInit_GL_NV_copy_image(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_copy_image */
#ifdef GL_NV_depth_buffer_float
- CONST_CAST(GLEW_NV_depth_buffer_float) = glewGetExtension("GL_NV_depth_buffer_float");
+ CONST_CAST(GLEW_NV_depth_buffer_float) = _glewSearchExtension("GL_NV_depth_buffer_float", extStart, extEnd);
if (glewExperimental || GLEW_NV_depth_buffer_float) CONST_CAST(GLEW_NV_depth_buffer_float) = !_glewInit_GL_NV_depth_buffer_float(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_depth_buffer_float */
#ifdef GL_NV_depth_clamp
- CONST_CAST(GLEW_NV_depth_clamp) = glewGetExtension("GL_NV_depth_clamp");
+ CONST_CAST(GLEW_NV_depth_clamp) = _glewSearchExtension("GL_NV_depth_clamp", extStart, extEnd);
#endif /* GL_NV_depth_clamp */
#ifdef GL_NV_depth_range_unclamped
- CONST_CAST(GLEW_NV_depth_range_unclamped) = glewGetExtension("GL_NV_depth_range_unclamped");
+ CONST_CAST(GLEW_NV_depth_range_unclamped) = _glewSearchExtension("GL_NV_depth_range_unclamped", extStart, extEnd);
#endif /* GL_NV_depth_range_unclamped */
#ifdef GL_NV_evaluators
- CONST_CAST(GLEW_NV_evaluators) = glewGetExtension("GL_NV_evaluators");
+ CONST_CAST(GLEW_NV_evaluators) = _glewSearchExtension("GL_NV_evaluators", extStart, extEnd);
if (glewExperimental || GLEW_NV_evaluators) CONST_CAST(GLEW_NV_evaluators) = !_glewInit_GL_NV_evaluators(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_evaluators */
#ifdef GL_NV_explicit_multisample
- CONST_CAST(GLEW_NV_explicit_multisample) = glewGetExtension("GL_NV_explicit_multisample");
+ CONST_CAST(GLEW_NV_explicit_multisample) = _glewSearchExtension("GL_NV_explicit_multisample", extStart, extEnd);
if (glewExperimental || GLEW_NV_explicit_multisample) CONST_CAST(GLEW_NV_explicit_multisample) = !_glewInit_GL_NV_explicit_multisample(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_explicit_multisample */
#ifdef GL_NV_fence
- CONST_CAST(GLEW_NV_fence) = glewGetExtension("GL_NV_fence");
+ CONST_CAST(GLEW_NV_fence) = _glewSearchExtension("GL_NV_fence", extStart, extEnd);
if (glewExperimental || GLEW_NV_fence) CONST_CAST(GLEW_NV_fence) = !_glewInit_GL_NV_fence(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_fence */
#ifdef GL_NV_float_buffer
- CONST_CAST(GLEW_NV_float_buffer) = glewGetExtension("GL_NV_float_buffer");
+ CONST_CAST(GLEW_NV_float_buffer) = _glewSearchExtension("GL_NV_float_buffer", extStart, extEnd);
#endif /* GL_NV_float_buffer */
#ifdef GL_NV_fog_distance
- CONST_CAST(GLEW_NV_fog_distance) = glewGetExtension("GL_NV_fog_distance");
+ CONST_CAST(GLEW_NV_fog_distance) = _glewSearchExtension("GL_NV_fog_distance", extStart, extEnd);
#endif /* GL_NV_fog_distance */
#ifdef GL_NV_fragment_program
- CONST_CAST(GLEW_NV_fragment_program) = glewGetExtension("GL_NV_fragment_program");
+ CONST_CAST(GLEW_NV_fragment_program) = _glewSearchExtension("GL_NV_fragment_program", extStart, extEnd);
if (glewExperimental || GLEW_NV_fragment_program) CONST_CAST(GLEW_NV_fragment_program) = !_glewInit_GL_NV_fragment_program(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_fragment_program */
#ifdef GL_NV_fragment_program2
- CONST_CAST(GLEW_NV_fragment_program2) = glewGetExtension("GL_NV_fragment_program2");
+ CONST_CAST(GLEW_NV_fragment_program2) = _glewSearchExtension("GL_NV_fragment_program2", extStart, extEnd);
#endif /* GL_NV_fragment_program2 */
#ifdef GL_NV_fragment_program4
- CONST_CAST(GLEW_NV_fragment_program4) = glewGetExtension("GL_NV_gpu_program4");
+ CONST_CAST(GLEW_NV_fragment_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd);
#endif /* GL_NV_fragment_program4 */
#ifdef GL_NV_fragment_program_option
- CONST_CAST(GLEW_NV_fragment_program_option) = glewGetExtension("GL_NV_fragment_program_option");
+ CONST_CAST(GLEW_NV_fragment_program_option) = _glewSearchExtension("GL_NV_fragment_program_option", extStart, extEnd);
#endif /* GL_NV_fragment_program_option */
#ifdef GL_NV_framebuffer_multisample_coverage
- CONST_CAST(GLEW_NV_framebuffer_multisample_coverage) = glewGetExtension("GL_NV_framebuffer_multisample_coverage");
+ CONST_CAST(GLEW_NV_framebuffer_multisample_coverage) = _glewSearchExtension("GL_NV_framebuffer_multisample_coverage", extStart, extEnd);
if (glewExperimental || GLEW_NV_framebuffer_multisample_coverage) CONST_CAST(GLEW_NV_framebuffer_multisample_coverage) = !_glewInit_GL_NV_framebuffer_multisample_coverage(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_framebuffer_multisample_coverage */
#ifdef GL_NV_geometry_program4
- CONST_CAST(GLEW_NV_geometry_program4) = glewGetExtension("GL_NV_gpu_program4");
+ CONST_CAST(GLEW_NV_geometry_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd);
if (glewExperimental || GLEW_NV_geometry_program4) CONST_CAST(GLEW_NV_geometry_program4) = !_glewInit_GL_NV_geometry_program4(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_geometry_program4 */
#ifdef GL_NV_geometry_shader4
- CONST_CAST(GLEW_NV_geometry_shader4) = glewGetExtension("GL_NV_geometry_shader4");
+ CONST_CAST(GLEW_NV_geometry_shader4) = _glewSearchExtension("GL_NV_geometry_shader4", extStart, extEnd);
#endif /* GL_NV_geometry_shader4 */
#ifdef GL_NV_gpu_program4
- CONST_CAST(GLEW_NV_gpu_program4) = glewGetExtension("GL_NV_gpu_program4");
+ CONST_CAST(GLEW_NV_gpu_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd);
if (glewExperimental || GLEW_NV_gpu_program4) CONST_CAST(GLEW_NV_gpu_program4) = !_glewInit_GL_NV_gpu_program4(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_gpu_program4 */
#ifdef GL_NV_gpu_program5
- CONST_CAST(GLEW_NV_gpu_program5) = glewGetExtension("GL_NV_gpu_program5");
+ CONST_CAST(GLEW_NV_gpu_program5) = _glewSearchExtension("GL_NV_gpu_program5", extStart, extEnd);
#endif /* GL_NV_gpu_program5 */
#ifdef GL_NV_gpu_program_fp64
- CONST_CAST(GLEW_NV_gpu_program_fp64) = glewGetExtension("GL_NV_gpu_program_fp64");
+ CONST_CAST(GLEW_NV_gpu_program_fp64) = _glewSearchExtension("GL_NV_gpu_program_fp64", extStart, extEnd);
#endif /* GL_NV_gpu_program_fp64 */
#ifdef GL_NV_gpu_shader5
- CONST_CAST(GLEW_NV_gpu_shader5) = glewGetExtension("GL_NV_gpu_shader5");
+ CONST_CAST(GLEW_NV_gpu_shader5) = _glewSearchExtension("GL_NV_gpu_shader5", extStart, extEnd);
if (glewExperimental || GLEW_NV_gpu_shader5) CONST_CAST(GLEW_NV_gpu_shader5) = !_glewInit_GL_NV_gpu_shader5(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_gpu_shader5 */
#ifdef GL_NV_half_float
- CONST_CAST(GLEW_NV_half_float) = glewGetExtension("GL_NV_half_float");
+ CONST_CAST(GLEW_NV_half_float) = _glewSearchExtension("GL_NV_half_float", extStart, extEnd);
if (glewExperimental || GLEW_NV_half_float) CONST_CAST(GLEW_NV_half_float) = !_glewInit_GL_NV_half_float(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_half_float */
#ifdef GL_NV_light_max_exponent
- CONST_CAST(GLEW_NV_light_max_exponent) = glewGetExtension("GL_NV_light_max_exponent");
+ CONST_CAST(GLEW_NV_light_max_exponent) = _glewSearchExtension("GL_NV_light_max_exponent", extStart, extEnd);
#endif /* GL_NV_light_max_exponent */
#ifdef GL_NV_multisample_coverage
- CONST_CAST(GLEW_NV_multisample_coverage) = glewGetExtension("GL_NV_multisample_coverage");
+ CONST_CAST(GLEW_NV_multisample_coverage) = _glewSearchExtension("GL_NV_multisample_coverage", extStart, extEnd);
#endif /* GL_NV_multisample_coverage */
#ifdef GL_NV_multisample_filter_hint
- CONST_CAST(GLEW_NV_multisample_filter_hint) = glewGetExtension("GL_NV_multisample_filter_hint");
+ CONST_CAST(GLEW_NV_multisample_filter_hint) = _glewSearchExtension("GL_NV_multisample_filter_hint", extStart, extEnd);
#endif /* GL_NV_multisample_filter_hint */
#ifdef GL_NV_occlusion_query
- CONST_CAST(GLEW_NV_occlusion_query) = glewGetExtension("GL_NV_occlusion_query");
+ CONST_CAST(GLEW_NV_occlusion_query) = _glewSearchExtension("GL_NV_occlusion_query", extStart, extEnd);
if (glewExperimental || GLEW_NV_occlusion_query) CONST_CAST(GLEW_NV_occlusion_query) = !_glewInit_GL_NV_occlusion_query(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_occlusion_query */
#ifdef GL_NV_packed_depth_stencil
- CONST_CAST(GLEW_NV_packed_depth_stencil) = glewGetExtension("GL_NV_packed_depth_stencil");
+ CONST_CAST(GLEW_NV_packed_depth_stencil) = _glewSearchExtension("GL_NV_packed_depth_stencil", extStart, extEnd);
#endif /* GL_NV_packed_depth_stencil */
#ifdef GL_NV_parameter_buffer_object
- CONST_CAST(GLEW_NV_parameter_buffer_object) = glewGetExtension("GL_NV_parameter_buffer_object");
+ CONST_CAST(GLEW_NV_parameter_buffer_object) = _glewSearchExtension("GL_NV_parameter_buffer_object", extStart, extEnd);
if (glewExperimental || GLEW_NV_parameter_buffer_object) CONST_CAST(GLEW_NV_parameter_buffer_object) = !_glewInit_GL_NV_parameter_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_parameter_buffer_object */
#ifdef GL_NV_parameter_buffer_object2
- CONST_CAST(GLEW_NV_parameter_buffer_object2) = glewGetExtension("GL_NV_parameter_buffer_object2");
+ CONST_CAST(GLEW_NV_parameter_buffer_object2) = _glewSearchExtension("GL_NV_parameter_buffer_object2", extStart, extEnd);
#endif /* GL_NV_parameter_buffer_object2 */
#ifdef GL_NV_pixel_data_range
- CONST_CAST(GLEW_NV_pixel_data_range) = glewGetExtension("GL_NV_pixel_data_range");
+ CONST_CAST(GLEW_NV_pixel_data_range) = _glewSearchExtension("GL_NV_pixel_data_range", extStart, extEnd);
if (glewExperimental || GLEW_NV_pixel_data_range) CONST_CAST(GLEW_NV_pixel_data_range) = !_glewInit_GL_NV_pixel_data_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_pixel_data_range */
#ifdef GL_NV_point_sprite
- CONST_CAST(GLEW_NV_point_sprite) = glewGetExtension("GL_NV_point_sprite");
+ CONST_CAST(GLEW_NV_point_sprite) = _glewSearchExtension("GL_NV_point_sprite", extStart, extEnd);
if (glewExperimental || GLEW_NV_point_sprite) CONST_CAST(GLEW_NV_point_sprite) = !_glewInit_GL_NV_point_sprite(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_point_sprite */
#ifdef GL_NV_present_video
- CONST_CAST(GLEW_NV_present_video) = glewGetExtension("GL_NV_present_video");
+ CONST_CAST(GLEW_NV_present_video) = _glewSearchExtension("GL_NV_present_video", extStart, extEnd);
if (glewExperimental || GLEW_NV_present_video) CONST_CAST(GLEW_NV_present_video) = !_glewInit_GL_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_present_video */
#ifdef GL_NV_primitive_restart
- CONST_CAST(GLEW_NV_primitive_restart) = glewGetExtension("GL_NV_primitive_restart");
+ CONST_CAST(GLEW_NV_primitive_restart) = _glewSearchExtension("GL_NV_primitive_restart", extStart, extEnd);
if (glewExperimental || GLEW_NV_primitive_restart) CONST_CAST(GLEW_NV_primitive_restart) = !_glewInit_GL_NV_primitive_restart(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_primitive_restart */
#ifdef GL_NV_register_combiners
- CONST_CAST(GLEW_NV_register_combiners) = glewGetExtension("GL_NV_register_combiners");
+ CONST_CAST(GLEW_NV_register_combiners) = _glewSearchExtension("GL_NV_register_combiners", extStart, extEnd);
if (glewExperimental || GLEW_NV_register_combiners) CONST_CAST(GLEW_NV_register_combiners) = !_glewInit_GL_NV_register_combiners(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_register_combiners */
#ifdef GL_NV_register_combiners2
- CONST_CAST(GLEW_NV_register_combiners2) = glewGetExtension("GL_NV_register_combiners2");
+ CONST_CAST(GLEW_NV_register_combiners2) = _glewSearchExtension("GL_NV_register_combiners2", extStart, extEnd);
if (glewExperimental || GLEW_NV_register_combiners2) CONST_CAST(GLEW_NV_register_combiners2) = !_glewInit_GL_NV_register_combiners2(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_register_combiners2 */
#ifdef GL_NV_shader_buffer_load
- CONST_CAST(GLEW_NV_shader_buffer_load) = glewGetExtension("GL_NV_shader_buffer_load");
+ CONST_CAST(GLEW_NV_shader_buffer_load) = _glewSearchExtension("GL_NV_shader_buffer_load", extStart, extEnd);
if (glewExperimental || GLEW_NV_shader_buffer_load) CONST_CAST(GLEW_NV_shader_buffer_load) = !_glewInit_GL_NV_shader_buffer_load(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_shader_buffer_load */
#ifdef GL_NV_tessellation_program5
- CONST_CAST(GLEW_NV_tessellation_program5) = glewGetExtension("GL_NV_gpu_program5");
+ CONST_CAST(GLEW_NV_tessellation_program5) = _glewSearchExtension("GL_NV_gpu_program5", extStart, extEnd);
#endif /* GL_NV_tessellation_program5 */
#ifdef GL_NV_texgen_emboss
- CONST_CAST(GLEW_NV_texgen_emboss) = glewGetExtension("GL_NV_texgen_emboss");
+ CONST_CAST(GLEW_NV_texgen_emboss) = _glewSearchExtension("GL_NV_texgen_emboss", extStart, extEnd);
#endif /* GL_NV_texgen_emboss */
#ifdef GL_NV_texgen_reflection
- CONST_CAST(GLEW_NV_texgen_reflection) = glewGetExtension("GL_NV_texgen_reflection");
+ CONST_CAST(GLEW_NV_texgen_reflection) = _glewSearchExtension("GL_NV_texgen_reflection", extStart, extEnd);
#endif /* GL_NV_texgen_reflection */
#ifdef GL_NV_texture_barrier
- CONST_CAST(GLEW_NV_texture_barrier) = glewGetExtension("GL_NV_texture_barrier");
+ CONST_CAST(GLEW_NV_texture_barrier) = _glewSearchExtension("GL_NV_texture_barrier", extStart, extEnd);
if (glewExperimental || GLEW_NV_texture_barrier) CONST_CAST(GLEW_NV_texture_barrier) = !_glewInit_GL_NV_texture_barrier(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_texture_barrier */
#ifdef GL_NV_texture_compression_vtc
- CONST_CAST(GLEW_NV_texture_compression_vtc) = glewGetExtension("GL_NV_texture_compression_vtc");
+ CONST_CAST(GLEW_NV_texture_compression_vtc) = _glewSearchExtension("GL_NV_texture_compression_vtc", extStart, extEnd);
#endif /* GL_NV_texture_compression_vtc */
#ifdef GL_NV_texture_env_combine4
- CONST_CAST(GLEW_NV_texture_env_combine4) = glewGetExtension("GL_NV_texture_env_combine4");
+ CONST_CAST(GLEW_NV_texture_env_combine4) = _glewSearchExtension("GL_NV_texture_env_combine4", extStart, extEnd);
#endif /* GL_NV_texture_env_combine4 */
#ifdef GL_NV_texture_expand_normal
- CONST_CAST(GLEW_NV_texture_expand_normal) = glewGetExtension("GL_NV_texture_expand_normal");
+ CONST_CAST(GLEW_NV_texture_expand_normal) = _glewSearchExtension("GL_NV_texture_expand_normal", extStart, extEnd);
#endif /* GL_NV_texture_expand_normal */
+#ifdef GL_NV_texture_multisample
+ CONST_CAST(GLEW_NV_texture_multisample) = _glewSearchExtension("GL_NV_texture_multisample", extStart, extEnd);
+ if (glewExperimental || GLEW_NV_texture_multisample) CONST_CAST(GLEW_NV_texture_multisample) = !_glewInit_GL_NV_texture_multisample(GLEW_CONTEXT_ARG_VAR_INIT);
+#endif /* GL_NV_texture_multisample */
#ifdef GL_NV_texture_rectangle
- CONST_CAST(GLEW_NV_texture_rectangle) = glewGetExtension("GL_NV_texture_rectangle");
+ CONST_CAST(GLEW_NV_texture_rectangle) = _glewSearchExtension("GL_NV_texture_rectangle", extStart, extEnd);
#endif /* GL_NV_texture_rectangle */
#ifdef GL_NV_texture_shader
- CONST_CAST(GLEW_NV_texture_shader) = glewGetExtension("GL_NV_texture_shader");
+ CONST_CAST(GLEW_NV_texture_shader) = _glewSearchExtension("GL_NV_texture_shader", extStart, extEnd);
#endif /* GL_NV_texture_shader */
#ifdef GL_NV_texture_shader2
- CONST_CAST(GLEW_NV_texture_shader2) = glewGetExtension("GL_NV_texture_shader2");
+ CONST_CAST(GLEW_NV_texture_shader2) = _glewSearchExtension("GL_NV_texture_shader2", extStart, extEnd);
#endif /* GL_NV_texture_shader2 */
#ifdef GL_NV_texture_shader3
- CONST_CAST(GLEW_NV_texture_shader3) = glewGetExtension("GL_NV_texture_shader3");
+ CONST_CAST(GLEW_NV_texture_shader3) = _glewSearchExtension("GL_NV_texture_shader3", extStart, extEnd);
#endif /* GL_NV_texture_shader3 */
#ifdef GL_NV_transform_feedback
- CONST_CAST(GLEW_NV_transform_feedback) = glewGetExtension("GL_NV_transform_feedback");
+ CONST_CAST(GLEW_NV_transform_feedback) = _glewSearchExtension("GL_NV_transform_feedback", extStart, extEnd);
if (glewExperimental || GLEW_NV_transform_feedback) CONST_CAST(GLEW_NV_transform_feedback) = !_glewInit_GL_NV_transform_feedback(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_transform_feedback */
#ifdef GL_NV_transform_feedback2
- CONST_CAST(GLEW_NV_transform_feedback2) = glewGetExtension("GL_NV_transform_feedback2");
+ CONST_CAST(GLEW_NV_transform_feedback2) = _glewSearchExtension("GL_NV_transform_feedback2", extStart, extEnd);
if (glewExperimental || GLEW_NV_transform_feedback2) CONST_CAST(GLEW_NV_transform_feedback2) = !_glewInit_GL_NV_transform_feedback2(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_transform_feedback2 */
#ifdef GL_NV_vdpau_interop
- CONST_CAST(GLEW_NV_vdpau_interop) = glewGetExtension("GL_NV_vdpau_interop");
+ CONST_CAST(GLEW_NV_vdpau_interop) = _glewSearchExtension("GL_NV_vdpau_interop", extStart, extEnd);
if (glewExperimental || GLEW_NV_vdpau_interop) CONST_CAST(GLEW_NV_vdpau_interop) = !_glewInit_GL_NV_vdpau_interop(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_vdpau_interop */
#ifdef GL_NV_vertex_array_range
- CONST_CAST(GLEW_NV_vertex_array_range) = glewGetExtension("GL_NV_vertex_array_range");
+ CONST_CAST(GLEW_NV_vertex_array_range) = _glewSearchExtension("GL_NV_vertex_array_range", extStart, extEnd);
if (glewExperimental || GLEW_NV_vertex_array_range) CONST_CAST(GLEW_NV_vertex_array_range) = !_glewInit_GL_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_vertex_array_range */
#ifdef GL_NV_vertex_array_range2
- CONST_CAST(GLEW_NV_vertex_array_range2) = glewGetExtension("GL_NV_vertex_array_range2");
+ CONST_CAST(GLEW_NV_vertex_array_range2) = _glewSearchExtension("GL_NV_vertex_array_range2", extStart, extEnd);
#endif /* GL_NV_vertex_array_range2 */
#ifdef GL_NV_vertex_attrib_integer_64bit
- CONST_CAST(GLEW_NV_vertex_attrib_integer_64bit) = glewGetExtension("GL_NV_vertex_attrib_integer_64bit");
+ CONST_CAST(GLEW_NV_vertex_attrib_integer_64bit) = _glewSearchExtension("GL_NV_vertex_attrib_integer_64bit", extStart, extEnd);
if (glewExperimental || GLEW_NV_vertex_attrib_integer_64bit) CONST_CAST(GLEW_NV_vertex_attrib_integer_64bit) = !_glewInit_GL_NV_vertex_attrib_integer_64bit(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_vertex_attrib_integer_64bit */
#ifdef GL_NV_vertex_buffer_unified_memory
- CONST_CAST(GLEW_NV_vertex_buffer_unified_memory) = glewGetExtension("GL_NV_vertex_buffer_unified_memory");
+ CONST_CAST(GLEW_NV_vertex_buffer_unified_memory) = _glewSearchExtension("GL_NV_vertex_buffer_unified_memory", extStart, extEnd);
if (glewExperimental || GLEW_NV_vertex_buffer_unified_memory) CONST_CAST(GLEW_NV_vertex_buffer_unified_memory) = !_glewInit_GL_NV_vertex_buffer_unified_memory(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_vertex_buffer_unified_memory */
#ifdef GL_NV_vertex_program
- CONST_CAST(GLEW_NV_vertex_program) = glewGetExtension("GL_NV_vertex_program");
+ CONST_CAST(GLEW_NV_vertex_program) = _glewSearchExtension("GL_NV_vertex_program", extStart, extEnd);
if (glewExperimental || GLEW_NV_vertex_program) CONST_CAST(GLEW_NV_vertex_program) = !_glewInit_GL_NV_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_NV_vertex_program */
#ifdef GL_NV_vertex_program1_1
- CONST_CAST(GLEW_NV_vertex_program1_1) = glewGetExtension("GL_NV_vertex_program1_1");
+ CONST_CAST(GLEW_NV_vertex_program1_1) = _glewSearchExtension("GL_NV_vertex_program1_1", extStart, extEnd);
#endif /* GL_NV_vertex_program1_1 */
#ifdef GL_NV_vertex_program2
- CONST_CAST(GLEW_NV_vertex_program2) = glewGetExtension("GL_NV_vertex_program2");
+ CONST_CAST(GLEW_NV_vertex_program2) = _glewSearchExtension("GL_NV_vertex_program2", extStart, extEnd);
#endif /* GL_NV_vertex_program2 */
#ifdef GL_NV_vertex_program2_option
- CONST_CAST(GLEW_NV_vertex_program2_option) = glewGetExtension("GL_NV_vertex_program2_option");
+ CONST_CAST(GLEW_NV_vertex_program2_option) = _glewSearchExtension("GL_NV_vertex_program2_option", extStart, extEnd);
#endif /* GL_NV_vertex_program2_option */
#ifdef GL_NV_vertex_program3
- CONST_CAST(GLEW_NV_vertex_program3) = glewGetExtension("GL_NV_vertex_program3");
+ CONST_CAST(GLEW_NV_vertex_program3) = _glewSearchExtension("GL_NV_vertex_program3", extStart, extEnd);
#endif /* GL_NV_vertex_program3 */
#ifdef GL_NV_vertex_program4
- CONST_CAST(GLEW_NV_vertex_program4) = glewGetExtension("GL_NV_gpu_program4");
+ CONST_CAST(GLEW_NV_vertex_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd);
#endif /* GL_NV_vertex_program4 */
+#ifdef GL_NV_video_capture
+ CONST_CAST(GLEW_NV_video_capture) = _glewSearchExtension("GL_NV_video_capture", extStart, extEnd);
+ if (glewExperimental || GLEW_NV_video_capture) CONST_CAST(GLEW_NV_video_capture) = !_glewInit_GL_NV_video_capture(GLEW_CONTEXT_ARG_VAR_INIT);
+#endif /* GL_NV_video_capture */
#ifdef GL_OES_byte_coordinates
- CONST_CAST(GLEW_OES_byte_coordinates) = glewGetExtension("GL_OES_byte_coordinates");
+ CONST_CAST(GLEW_OES_byte_coordinates) = _glewSearchExtension("GL_OES_byte_coordinates", extStart, extEnd);
#endif /* GL_OES_byte_coordinates */
#ifdef GL_OES_compressed_paletted_texture
- CONST_CAST(GLEW_OES_compressed_paletted_texture) = glewGetExtension("GL_OES_compressed_paletted_texture");
+ CONST_CAST(GLEW_OES_compressed_paletted_texture) = _glewSearchExtension("GL_OES_compressed_paletted_texture", extStart, extEnd);
#endif /* GL_OES_compressed_paletted_texture */
#ifdef GL_OES_read_format
- CONST_CAST(GLEW_OES_read_format) = glewGetExtension("GL_OES_read_format");
+ CONST_CAST(GLEW_OES_read_format) = _glewSearchExtension("GL_OES_read_format", extStart, extEnd);
#endif /* GL_OES_read_format */
#ifdef GL_OES_single_precision
- CONST_CAST(GLEW_OES_single_precision) = glewGetExtension("GL_OES_single_precision");
+ CONST_CAST(GLEW_OES_single_precision) = _glewSearchExtension("GL_OES_single_precision", extStart, extEnd);
if (glewExperimental || GLEW_OES_single_precision) CONST_CAST(GLEW_OES_single_precision) = !_glewInit_GL_OES_single_precision(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_OES_single_precision */
#ifdef GL_OML_interlace
- CONST_CAST(GLEW_OML_interlace) = glewGetExtension("GL_OML_interlace");
+ CONST_CAST(GLEW_OML_interlace) = _glewSearchExtension("GL_OML_interlace", extStart, extEnd);
#endif /* GL_OML_interlace */
#ifdef GL_OML_resample
- CONST_CAST(GLEW_OML_resample) = glewGetExtension("GL_OML_resample");
+ CONST_CAST(GLEW_OML_resample) = _glewSearchExtension("GL_OML_resample", extStart, extEnd);
#endif /* GL_OML_resample */
#ifdef GL_OML_subsample
- CONST_CAST(GLEW_OML_subsample) = glewGetExtension("GL_OML_subsample");
+ CONST_CAST(GLEW_OML_subsample) = _glewSearchExtension("GL_OML_subsample", extStart, extEnd);
#endif /* GL_OML_subsample */
#ifdef GL_PGI_misc_hints
- CONST_CAST(GLEW_PGI_misc_hints) = glewGetExtension("GL_PGI_misc_hints");
+ CONST_CAST(GLEW_PGI_misc_hints) = _glewSearchExtension("GL_PGI_misc_hints", extStart, extEnd);
#endif /* GL_PGI_misc_hints */
#ifdef GL_PGI_vertex_hints
- CONST_CAST(GLEW_PGI_vertex_hints) = glewGetExtension("GL_PGI_vertex_hints");
+ CONST_CAST(GLEW_PGI_vertex_hints) = _glewSearchExtension("GL_PGI_vertex_hints", extStart, extEnd);
#endif /* GL_PGI_vertex_hints */
#ifdef GL_REND_screen_coordinates
- CONST_CAST(GLEW_REND_screen_coordinates) = glewGetExtension("GL_REND_screen_coordinates");
+ CONST_CAST(GLEW_REND_screen_coordinates) = _glewSearchExtension("GL_REND_screen_coordinates", extStart, extEnd);
#endif /* GL_REND_screen_coordinates */
#ifdef GL_S3_s3tc
- CONST_CAST(GLEW_S3_s3tc) = glewGetExtension("GL_S3_s3tc");
+ CONST_CAST(GLEW_S3_s3tc) = _glewSearchExtension("GL_S3_s3tc", extStart, extEnd);
#endif /* GL_S3_s3tc */
#ifdef GL_SGIS_color_range
- CONST_CAST(GLEW_SGIS_color_range) = glewGetExtension("GL_SGIS_color_range");
+ CONST_CAST(GLEW_SGIS_color_range) = _glewSearchExtension("GL_SGIS_color_range", extStart, extEnd);
#endif /* GL_SGIS_color_range */
#ifdef GL_SGIS_detail_texture
- CONST_CAST(GLEW_SGIS_detail_texture) = glewGetExtension("GL_SGIS_detail_texture");
+ CONST_CAST(GLEW_SGIS_detail_texture) = _glewSearchExtension("GL_SGIS_detail_texture", extStart, extEnd);
if (glewExperimental || GLEW_SGIS_detail_texture) CONST_CAST(GLEW_SGIS_detail_texture) = !_glewInit_GL_SGIS_detail_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIS_detail_texture */
#ifdef GL_SGIS_fog_function
- CONST_CAST(GLEW_SGIS_fog_function) = glewGetExtension("GL_SGIS_fog_function");
+ CONST_CAST(GLEW_SGIS_fog_function) = _glewSearchExtension("GL_SGIS_fog_function", extStart, extEnd);
if (glewExperimental || GLEW_SGIS_fog_function) CONST_CAST(GLEW_SGIS_fog_function) = !_glewInit_GL_SGIS_fog_function(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIS_fog_function */
#ifdef GL_SGIS_generate_mipmap
- CONST_CAST(GLEW_SGIS_generate_mipmap) = glewGetExtension("GL_SGIS_generate_mipmap");
+ CONST_CAST(GLEW_SGIS_generate_mipmap) = _glewSearchExtension("GL_SGIS_generate_mipmap", extStart, extEnd);
#endif /* GL_SGIS_generate_mipmap */
#ifdef GL_SGIS_multisample
- CONST_CAST(GLEW_SGIS_multisample) = glewGetExtension("GL_SGIS_multisample");
+ CONST_CAST(GLEW_SGIS_multisample) = _glewSearchExtension("GL_SGIS_multisample", extStart, extEnd);
if (glewExperimental || GLEW_SGIS_multisample) CONST_CAST(GLEW_SGIS_multisample) = !_glewInit_GL_SGIS_multisample(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIS_multisample */
#ifdef GL_SGIS_pixel_texture
- CONST_CAST(GLEW_SGIS_pixel_texture) = glewGetExtension("GL_SGIS_pixel_texture");
+ CONST_CAST(GLEW_SGIS_pixel_texture) = _glewSearchExtension("GL_SGIS_pixel_texture", extStart, extEnd);
#endif /* GL_SGIS_pixel_texture */
#ifdef GL_SGIS_point_line_texgen
- CONST_CAST(GLEW_SGIS_point_line_texgen) = glewGetExtension("GL_SGIS_point_line_texgen");
+ CONST_CAST(GLEW_SGIS_point_line_texgen) = _glewSearchExtension("GL_SGIS_point_line_texgen", extStart, extEnd);
#endif /* GL_SGIS_point_line_texgen */
#ifdef GL_SGIS_sharpen_texture
- CONST_CAST(GLEW_SGIS_sharpen_texture) = glewGetExtension("GL_SGIS_sharpen_texture");
+ CONST_CAST(GLEW_SGIS_sharpen_texture) = _glewSearchExtension("GL_SGIS_sharpen_texture", extStart, extEnd);
if (glewExperimental || GLEW_SGIS_sharpen_texture) CONST_CAST(GLEW_SGIS_sharpen_texture) = !_glewInit_GL_SGIS_sharpen_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIS_sharpen_texture */
#ifdef GL_SGIS_texture4D
- CONST_CAST(GLEW_SGIS_texture4D) = glewGetExtension("GL_SGIS_texture4D");
+ CONST_CAST(GLEW_SGIS_texture4D) = _glewSearchExtension("GL_SGIS_texture4D", extStart, extEnd);
if (glewExperimental || GLEW_SGIS_texture4D) CONST_CAST(GLEW_SGIS_texture4D) = !_glewInit_GL_SGIS_texture4D(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIS_texture4D */
#ifdef GL_SGIS_texture_border_clamp
- CONST_CAST(GLEW_SGIS_texture_border_clamp) = glewGetExtension("GL_SGIS_texture_border_clamp");
+ CONST_CAST(GLEW_SGIS_texture_border_clamp) = _glewSearchExtension("GL_SGIS_texture_border_clamp", extStart, extEnd);
#endif /* GL_SGIS_texture_border_clamp */
#ifdef GL_SGIS_texture_edge_clamp
- CONST_CAST(GLEW_SGIS_texture_edge_clamp) = glewGetExtension("GL_SGIS_texture_edge_clamp");
+ CONST_CAST(GLEW_SGIS_texture_edge_clamp) = _glewSearchExtension("GL_SGIS_texture_edge_clamp", extStart, extEnd);
#endif /* GL_SGIS_texture_edge_clamp */
#ifdef GL_SGIS_texture_filter4
- CONST_CAST(GLEW_SGIS_texture_filter4) = glewGetExtension("GL_SGIS_texture_filter4");
+ CONST_CAST(GLEW_SGIS_texture_filter4) = _glewSearchExtension("GL_SGIS_texture_filter4", extStart, extEnd);
if (glewExperimental || GLEW_SGIS_texture_filter4) CONST_CAST(GLEW_SGIS_texture_filter4) = !_glewInit_GL_SGIS_texture_filter4(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIS_texture_filter4 */
#ifdef GL_SGIS_texture_lod
- CONST_CAST(GLEW_SGIS_texture_lod) = glewGetExtension("GL_SGIS_texture_lod");
+ CONST_CAST(GLEW_SGIS_texture_lod) = _glewSearchExtension("GL_SGIS_texture_lod", extStart, extEnd);
#endif /* GL_SGIS_texture_lod */
#ifdef GL_SGIS_texture_select
- CONST_CAST(GLEW_SGIS_texture_select) = glewGetExtension("GL_SGIS_texture_select");
+ CONST_CAST(GLEW_SGIS_texture_select) = _glewSearchExtension("GL_SGIS_texture_select", extStart, extEnd);
#endif /* GL_SGIS_texture_select */
#ifdef GL_SGIX_async
- CONST_CAST(GLEW_SGIX_async) = glewGetExtension("GL_SGIX_async");
+ CONST_CAST(GLEW_SGIX_async) = _glewSearchExtension("GL_SGIX_async", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_async) CONST_CAST(GLEW_SGIX_async) = !_glewInit_GL_SGIX_async(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_async */
#ifdef GL_SGIX_async_histogram
- CONST_CAST(GLEW_SGIX_async_histogram) = glewGetExtension("GL_SGIX_async_histogram");
+ CONST_CAST(GLEW_SGIX_async_histogram) = _glewSearchExtension("GL_SGIX_async_histogram", extStart, extEnd);
#endif /* GL_SGIX_async_histogram */
#ifdef GL_SGIX_async_pixel
- CONST_CAST(GLEW_SGIX_async_pixel) = glewGetExtension("GL_SGIX_async_pixel");
+ CONST_CAST(GLEW_SGIX_async_pixel) = _glewSearchExtension("GL_SGIX_async_pixel", extStart, extEnd);
#endif /* GL_SGIX_async_pixel */
#ifdef GL_SGIX_blend_alpha_minmax
- CONST_CAST(GLEW_SGIX_blend_alpha_minmax) = glewGetExtension("GL_SGIX_blend_alpha_minmax");
+ CONST_CAST(GLEW_SGIX_blend_alpha_minmax) = _glewSearchExtension("GL_SGIX_blend_alpha_minmax", extStart, extEnd);
#endif /* GL_SGIX_blend_alpha_minmax */
#ifdef GL_SGIX_clipmap
- CONST_CAST(GLEW_SGIX_clipmap) = glewGetExtension("GL_SGIX_clipmap");
+ CONST_CAST(GLEW_SGIX_clipmap) = _glewSearchExtension("GL_SGIX_clipmap", extStart, extEnd);
#endif /* GL_SGIX_clipmap */
#ifdef GL_SGIX_convolution_accuracy
- CONST_CAST(GLEW_SGIX_convolution_accuracy) = glewGetExtension("GL_SGIX_convolution_accuracy");
+ CONST_CAST(GLEW_SGIX_convolution_accuracy) = _glewSearchExtension("GL_SGIX_convolution_accuracy", extStart, extEnd);
#endif /* GL_SGIX_convolution_accuracy */
#ifdef GL_SGIX_depth_texture
- CONST_CAST(GLEW_SGIX_depth_texture) = glewGetExtension("GL_SGIX_depth_texture");
+ CONST_CAST(GLEW_SGIX_depth_texture) = _glewSearchExtension("GL_SGIX_depth_texture", extStart, extEnd);
#endif /* GL_SGIX_depth_texture */
#ifdef GL_SGIX_flush_raster
- CONST_CAST(GLEW_SGIX_flush_raster) = glewGetExtension("GL_SGIX_flush_raster");
+ CONST_CAST(GLEW_SGIX_flush_raster) = _glewSearchExtension("GL_SGIX_flush_raster", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_flush_raster) CONST_CAST(GLEW_SGIX_flush_raster) = !_glewInit_GL_SGIX_flush_raster(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_flush_raster */
#ifdef GL_SGIX_fog_offset
- CONST_CAST(GLEW_SGIX_fog_offset) = glewGetExtension("GL_SGIX_fog_offset");
+ CONST_CAST(GLEW_SGIX_fog_offset) = _glewSearchExtension("GL_SGIX_fog_offset", extStart, extEnd);
#endif /* GL_SGIX_fog_offset */
#ifdef GL_SGIX_fog_texture
- CONST_CAST(GLEW_SGIX_fog_texture) = glewGetExtension("GL_SGIX_fog_texture");
+ CONST_CAST(GLEW_SGIX_fog_texture) = _glewSearchExtension("GL_SGIX_fog_texture", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_fog_texture) CONST_CAST(GLEW_SGIX_fog_texture) = !_glewInit_GL_SGIX_fog_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_fog_texture */
#ifdef GL_SGIX_fragment_specular_lighting
- CONST_CAST(GLEW_SGIX_fragment_specular_lighting) = glewGetExtension("GL_SGIX_fragment_specular_lighting");
+ CONST_CAST(GLEW_SGIX_fragment_specular_lighting) = _glewSearchExtension("GL_SGIX_fragment_specular_lighting", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_fragment_specular_lighting) CONST_CAST(GLEW_SGIX_fragment_specular_lighting) = !_glewInit_GL_SGIX_fragment_specular_lighting(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_fragment_specular_lighting */
#ifdef GL_SGIX_framezoom
- CONST_CAST(GLEW_SGIX_framezoom) = glewGetExtension("GL_SGIX_framezoom");
+ CONST_CAST(GLEW_SGIX_framezoom) = _glewSearchExtension("GL_SGIX_framezoom", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_framezoom) CONST_CAST(GLEW_SGIX_framezoom) = !_glewInit_GL_SGIX_framezoom(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_framezoom */
#ifdef GL_SGIX_interlace
- CONST_CAST(GLEW_SGIX_interlace) = glewGetExtension("GL_SGIX_interlace");
+ CONST_CAST(GLEW_SGIX_interlace) = _glewSearchExtension("GL_SGIX_interlace", extStart, extEnd);
#endif /* GL_SGIX_interlace */
#ifdef GL_SGIX_ir_instrument1
- CONST_CAST(GLEW_SGIX_ir_instrument1) = glewGetExtension("GL_SGIX_ir_instrument1");
+ CONST_CAST(GLEW_SGIX_ir_instrument1) = _glewSearchExtension("GL_SGIX_ir_instrument1", extStart, extEnd);
#endif /* GL_SGIX_ir_instrument1 */
#ifdef GL_SGIX_list_priority
- CONST_CAST(GLEW_SGIX_list_priority) = glewGetExtension("GL_SGIX_list_priority");
+ CONST_CAST(GLEW_SGIX_list_priority) = _glewSearchExtension("GL_SGIX_list_priority", extStart, extEnd);
#endif /* GL_SGIX_list_priority */
#ifdef GL_SGIX_pixel_texture
- CONST_CAST(GLEW_SGIX_pixel_texture) = glewGetExtension("GL_SGIX_pixel_texture");
+ CONST_CAST(GLEW_SGIX_pixel_texture) = _glewSearchExtension("GL_SGIX_pixel_texture", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_pixel_texture) CONST_CAST(GLEW_SGIX_pixel_texture) = !_glewInit_GL_SGIX_pixel_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_pixel_texture */
#ifdef GL_SGIX_pixel_texture_bits
- CONST_CAST(GLEW_SGIX_pixel_texture_bits) = glewGetExtension("GL_SGIX_pixel_texture_bits");
+ CONST_CAST(GLEW_SGIX_pixel_texture_bits) = _glewSearchExtension("GL_SGIX_pixel_texture_bits", extStart, extEnd);
#endif /* GL_SGIX_pixel_texture_bits */
#ifdef GL_SGIX_reference_plane
- CONST_CAST(GLEW_SGIX_reference_plane) = glewGetExtension("GL_SGIX_reference_plane");
+ CONST_CAST(GLEW_SGIX_reference_plane) = _glewSearchExtension("GL_SGIX_reference_plane", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_reference_plane) CONST_CAST(GLEW_SGIX_reference_plane) = !_glewInit_GL_SGIX_reference_plane(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_reference_plane */
#ifdef GL_SGIX_resample
- CONST_CAST(GLEW_SGIX_resample) = glewGetExtension("GL_SGIX_resample");
+ CONST_CAST(GLEW_SGIX_resample) = _glewSearchExtension("GL_SGIX_resample", extStart, extEnd);
#endif /* GL_SGIX_resample */
#ifdef GL_SGIX_shadow
- CONST_CAST(GLEW_SGIX_shadow) = glewGetExtension("GL_SGIX_shadow");
+ CONST_CAST(GLEW_SGIX_shadow) = _glewSearchExtension("GL_SGIX_shadow", extStart, extEnd);
#endif /* GL_SGIX_shadow */
#ifdef GL_SGIX_shadow_ambient
- CONST_CAST(GLEW_SGIX_shadow_ambient) = glewGetExtension("GL_SGIX_shadow_ambient");
+ CONST_CAST(GLEW_SGIX_shadow_ambient) = _glewSearchExtension("GL_SGIX_shadow_ambient", extStart, extEnd);
#endif /* GL_SGIX_shadow_ambient */
#ifdef GL_SGIX_sprite
- CONST_CAST(GLEW_SGIX_sprite) = glewGetExtension("GL_SGIX_sprite");
+ CONST_CAST(GLEW_SGIX_sprite) = _glewSearchExtension("GL_SGIX_sprite", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_sprite) CONST_CAST(GLEW_SGIX_sprite) = !_glewInit_GL_SGIX_sprite(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_sprite */
#ifdef GL_SGIX_tag_sample_buffer
- CONST_CAST(GLEW_SGIX_tag_sample_buffer) = glewGetExtension("GL_SGIX_tag_sample_buffer");
+ CONST_CAST(GLEW_SGIX_tag_sample_buffer) = _glewSearchExtension("GL_SGIX_tag_sample_buffer", extStart, extEnd);
if (glewExperimental || GLEW_SGIX_tag_sample_buffer) CONST_CAST(GLEW_SGIX_tag_sample_buffer) = !_glewInit_GL_SGIX_tag_sample_buffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGIX_tag_sample_buffer */
#ifdef GL_SGIX_texture_add_env
- CONST_CAST(GLEW_SGIX_texture_add_env) = glewGetExtension("GL_SGIX_texture_add_env");
+ CONST_CAST(GLEW_SGIX_texture_add_env) = _glewSearchExtension("GL_SGIX_texture_add_env", extStart, extEnd);
#endif /* GL_SGIX_texture_add_env */
#ifdef GL_SGIX_texture_coordinate_clamp
- CONST_CAST(GLEW_SGIX_texture_coordinate_clamp) = glewGetExtension("GL_SGIX_texture_coordinate_clamp");
+ CONST_CAST(GLEW_SGIX_texture_coordinate_clamp) = _glewSearchExtension("GL_SGIX_texture_coordinate_clamp", extStart, extEnd);
#endif /* GL_SGIX_texture_coordinate_clamp */
#ifdef GL_SGIX_texture_lod_bias
- CONST_CAST(GLEW_SGIX_texture_lod_bias) = glewGetExtension("GL_SGIX_texture_lod_bias");
+ CONST_CAST(GLEW_SGIX_texture_lod_bias) = _glewSearchExtension("GL_SGIX_texture_lod_bias", extStart, extEnd);
#endif /* GL_SGIX_texture_lod_bias */
#ifdef GL_SGIX_texture_multi_buffer
- CONST_CAST(GLEW_SGIX_texture_multi_buffer) = glewGetExtension("GL_SGIX_texture_multi_buffer");
+ CONST_CAST(GLEW_SGIX_texture_multi_buffer) = _glewSearchExtension("GL_SGIX_texture_multi_buffer", extStart, extEnd);
#endif /* GL_SGIX_texture_multi_buffer */
#ifdef GL_SGIX_texture_range
- CONST_CAST(GLEW_SGIX_texture_range) = glewGetExtension("GL_SGIX_texture_range");
+ CONST_CAST(GLEW_SGIX_texture_range) = _glewSearchExtension("GL_SGIX_texture_range", extStart, extEnd);
#endif /* GL_SGIX_texture_range */
#ifdef GL_SGIX_texture_scale_bias
- CONST_CAST(GLEW_SGIX_texture_scale_bias) = glewGetExtension("GL_SGIX_texture_scale_bias");
+ CONST_CAST(GLEW_SGIX_texture_scale_bias) = _glewSearchExtension("GL_SGIX_texture_scale_bias", extStart, extEnd);
#endif /* GL_SGIX_texture_scale_bias */
#ifdef GL_SGIX_vertex_preclip
- CONST_CAST(GLEW_SGIX_vertex_preclip) = glewGetExtension("GL_SGIX_vertex_preclip");
+ CONST_CAST(GLEW_SGIX_vertex_preclip) = _glewSearchExtension("GL_SGIX_vertex_preclip", extStart, extEnd);
#endif /* GL_SGIX_vertex_preclip */
#ifdef GL_SGIX_vertex_preclip_hint
- CONST_CAST(GLEW_SGIX_vertex_preclip_hint) = glewGetExtension("GL_SGIX_vertex_preclip_hint");
+ CONST_CAST(GLEW_SGIX_vertex_preclip_hint) = _glewSearchExtension("GL_SGIX_vertex_preclip_hint", extStart, extEnd);
#endif /* GL_SGIX_vertex_preclip_hint */
#ifdef GL_SGIX_ycrcb
- CONST_CAST(GLEW_SGIX_ycrcb) = glewGetExtension("GL_SGIX_ycrcb");
+ CONST_CAST(GLEW_SGIX_ycrcb) = _glewSearchExtension("GL_SGIX_ycrcb", extStart, extEnd);
#endif /* GL_SGIX_ycrcb */
#ifdef GL_SGI_color_matrix
- CONST_CAST(GLEW_SGI_color_matrix) = glewGetExtension("GL_SGI_color_matrix");
+ CONST_CAST(GLEW_SGI_color_matrix) = _glewSearchExtension("GL_SGI_color_matrix", extStart, extEnd);
#endif /* GL_SGI_color_matrix */
#ifdef GL_SGI_color_table
- CONST_CAST(GLEW_SGI_color_table) = glewGetExtension("GL_SGI_color_table");
+ CONST_CAST(GLEW_SGI_color_table) = _glewSearchExtension("GL_SGI_color_table", extStart, extEnd);
if (glewExperimental || GLEW_SGI_color_table) CONST_CAST(GLEW_SGI_color_table) = !_glewInit_GL_SGI_color_table(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SGI_color_table */
#ifdef GL_SGI_texture_color_table
- CONST_CAST(GLEW_SGI_texture_color_table) = glewGetExtension("GL_SGI_texture_color_table");
+ CONST_CAST(GLEW_SGI_texture_color_table) = _glewSearchExtension("GL_SGI_texture_color_table", extStart, extEnd);
#endif /* GL_SGI_texture_color_table */
#ifdef GL_SUNX_constant_data
- CONST_CAST(GLEW_SUNX_constant_data) = glewGetExtension("GL_SUNX_constant_data");
+ CONST_CAST(GLEW_SUNX_constant_data) = _glewSearchExtension("GL_SUNX_constant_data", extStart, extEnd);
if (glewExperimental || GLEW_SUNX_constant_data) CONST_CAST(GLEW_SUNX_constant_data) = !_glewInit_GL_SUNX_constant_data(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SUNX_constant_data */
#ifdef GL_SUN_convolution_border_modes
- CONST_CAST(GLEW_SUN_convolution_border_modes) = glewGetExtension("GL_SUN_convolution_border_modes");
+ CONST_CAST(GLEW_SUN_convolution_border_modes) = _glewSearchExtension("GL_SUN_convolution_border_modes", extStart, extEnd);
#endif /* GL_SUN_convolution_border_modes */
#ifdef GL_SUN_global_alpha
- CONST_CAST(GLEW_SUN_global_alpha) = glewGetExtension("GL_SUN_global_alpha");
+ CONST_CAST(GLEW_SUN_global_alpha) = _glewSearchExtension("GL_SUN_global_alpha", extStart, extEnd);
if (glewExperimental || GLEW_SUN_global_alpha) CONST_CAST(GLEW_SUN_global_alpha) = !_glewInit_GL_SUN_global_alpha(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SUN_global_alpha */
#ifdef GL_SUN_mesh_array
- CONST_CAST(GLEW_SUN_mesh_array) = glewGetExtension("GL_SUN_mesh_array");
+ CONST_CAST(GLEW_SUN_mesh_array) = _glewSearchExtension("GL_SUN_mesh_array", extStart, extEnd);
#endif /* GL_SUN_mesh_array */
#ifdef GL_SUN_read_video_pixels
- CONST_CAST(GLEW_SUN_read_video_pixels) = glewGetExtension("GL_SUN_read_video_pixels");
+ CONST_CAST(GLEW_SUN_read_video_pixels) = _glewSearchExtension("GL_SUN_read_video_pixels", extStart, extEnd);
if (glewExperimental || GLEW_SUN_read_video_pixels) CONST_CAST(GLEW_SUN_read_video_pixels) = !_glewInit_GL_SUN_read_video_pixels(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SUN_read_video_pixels */
#ifdef GL_SUN_slice_accum
- CONST_CAST(GLEW_SUN_slice_accum) = glewGetExtension("GL_SUN_slice_accum");
+ CONST_CAST(GLEW_SUN_slice_accum) = _glewSearchExtension("GL_SUN_slice_accum", extStart, extEnd);
#endif /* GL_SUN_slice_accum */
#ifdef GL_SUN_triangle_list
- CONST_CAST(GLEW_SUN_triangle_list) = glewGetExtension("GL_SUN_triangle_list");
+ CONST_CAST(GLEW_SUN_triangle_list) = _glewSearchExtension("GL_SUN_triangle_list", extStart, extEnd);
if (glewExperimental || GLEW_SUN_triangle_list) CONST_CAST(GLEW_SUN_triangle_list) = !_glewInit_GL_SUN_triangle_list(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SUN_triangle_list */
#ifdef GL_SUN_vertex
- CONST_CAST(GLEW_SUN_vertex) = glewGetExtension("GL_SUN_vertex");
+ CONST_CAST(GLEW_SUN_vertex) = _glewSearchExtension("GL_SUN_vertex", extStart, extEnd);
if (glewExperimental || GLEW_SUN_vertex) CONST_CAST(GLEW_SUN_vertex) = !_glewInit_GL_SUN_vertex(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_SUN_vertex */
#ifdef GL_WIN_phong_shading
- CONST_CAST(GLEW_WIN_phong_shading) = glewGetExtension("GL_WIN_phong_shading");
+ CONST_CAST(GLEW_WIN_phong_shading) = _glewSearchExtension("GL_WIN_phong_shading", extStart, extEnd);
#endif /* GL_WIN_phong_shading */
#ifdef GL_WIN_specular_fog
- CONST_CAST(GLEW_WIN_specular_fog) = glewGetExtension("GL_WIN_specular_fog");
+ CONST_CAST(GLEW_WIN_specular_fog) = _glewSearchExtension("GL_WIN_specular_fog", extStart, extEnd);
#endif /* GL_WIN_specular_fog */
#ifdef GL_WIN_swap_hint
- CONST_CAST(GLEW_WIN_swap_hint) = glewGetExtension("GL_WIN_swap_hint");
+ CONST_CAST(GLEW_WIN_swap_hint) = _glewSearchExtension("GL_WIN_swap_hint", extStart, extEnd);
if (glewExperimental || GLEW_WIN_swap_hint) CONST_CAST(GLEW_WIN_swap_hint) = !_glewInit_GL_WIN_swap_hint(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_WIN_swap_hint */
@@ -9453,7 +9590,7 @@ PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD = NULL;
PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD = NULL;
PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD = NULL;
PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD = NULL;
-//XXX-blender, added: PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD = NULL;
+PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD = NULL;
PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD = NULL;
PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB = NULL;
@@ -9541,6 +9678,15 @@ PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D = NULL;
PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D = NULL;
PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D = NULL;
+PFNWGLDXCLOSEDEVICENVPROC __wglewDXCloseDeviceNV = NULL;
+PFNWGLDXLOCKOBJECTSNVPROC __wglewDXLockObjectsNV = NULL;
+PFNWGLDXOBJECTACCESSNVPROC __wglewDXObjectAccessNV = NULL;
+PFNWGLDXOPENDEVICENVPROC __wglewDXOpenDeviceNV = NULL;
+PFNWGLDXREGISTEROBJECTNVPROC __wglewDXRegisterObjectNV = NULL;
+PFNWGLDXSETRESOURCESHAREHANDLENVPROC __wglewDXSetResourceShareHandleNV = NULL;
+PFNWGLDXUNLOCKOBJECTSNVPROC __wglewDXUnlockObjectsNV = NULL;
+PFNWGLDXUNREGISTEROBJECTNVPROC __wglewDXUnregisterObjectNV = NULL;
+
PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV = NULL;
PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV = NULL;
@@ -9563,6 +9709,12 @@ PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV = NULL;
PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV = NULL;
PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV = NULL;
+PFNWGLBINDVIDEOCAPTUREDEVICENVPROC __wglewBindVideoCaptureDeviceNV = NULL;
+PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC __wglewEnumerateVideoCaptureDevicesNV = NULL;
+PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC __wglewLockVideoCaptureDeviceNV = NULL;
+PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC __wglewQueryVideoCaptureDeviceNV = NULL;
+PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC __wglewReleaseVideoCaptureDeviceNV = NULL;
+
PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV = NULL;
PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV = NULL;
PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV = NULL;
@@ -9610,6 +9762,7 @@ GLboolean __WGLEW_I3D_genlock = GL_FALSE;
GLboolean __WGLEW_I3D_image_buffer = GL_FALSE;
GLboolean __WGLEW_I3D_swap_frame_lock = GL_FALSE;
GLboolean __WGLEW_I3D_swap_frame_usage = GL_FALSE;
+GLboolean __WGLEW_NV_DX_interop = GL_FALSE;
GLboolean __WGLEW_NV_copy_image = GL_FALSE;
GLboolean __WGLEW_NV_float_buffer = GL_FALSE;
GLboolean __WGLEW_NV_gpu_affinity = GL_FALSE;
@@ -9619,6 +9772,7 @@ GLboolean __WGLEW_NV_render_depth_texture = GL_FALSE;
GLboolean __WGLEW_NV_render_texture_rectangle = GL_FALSE;
GLboolean __WGLEW_NV_swap_group = GL_FALSE;
GLboolean __WGLEW_NV_vertex_array_range = GL_FALSE;
+GLboolean __WGLEW_NV_video_capture = GL_FALSE;
GLboolean __WGLEW_NV_video_output = GL_FALSE;
GLboolean __WGLEW_OML_sync_control = GL_FALSE;
@@ -9654,7 +9808,7 @@ static GLboolean _glewInit_WGL_AMD_gpu_association (WGLEW_CONTEXT_ARG_DEF_INIT)
r = ((wglGetContextGPUIDAMD = (PFNWGLGETCONTEXTGPUIDAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetContextGPUIDAMD")) == NULL) || r;
r = ((wglGetCurrentAssociatedContextAMD = (PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentAssociatedContextAMD")) == NULL) || r;
r = ((wglGetGPUIDsAMD = (PFNWGLGETGPUIDSAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetGPUIDsAMD")) == NULL) || r;
-//XXX-blender, added: r = ((wglGetGPUInfoAMD = (PFNWGLGETGPUINFOAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetGPUInfoAMD")) == NULL) || r;
+ r = ((wglGetGPUInfoAMD = (PFNWGLGETGPUINFOAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetGPUInfoAMD")) == NULL) || r;
r = ((wglMakeAssociatedContextCurrentAMD = (PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)glewGetProcAddress((const GLubyte*)"wglMakeAssociatedContextCurrentAMD")) == NULL) || r;
return r;
@@ -10004,6 +10158,26 @@ static GLboolean _glewInit_WGL_I3D_swap_frame_usage (WGLEW_CONTEXT_ARG_DEF_INIT)
#endif /* WGL_I3D_swap_frame_usage */
+#ifdef WGL_NV_DX_interop
+
+static GLboolean _glewInit_WGL_NV_DX_interop (WGLEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((wglDXCloseDeviceNV = (PFNWGLDXCLOSEDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglDXCloseDeviceNV")) == NULL) || r;
+ r = ((wglDXLockObjectsNV = (PFNWGLDXLOCKOBJECTSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXLockObjectsNV")) == NULL) || r;
+ r = ((wglDXObjectAccessNV = (PFNWGLDXOBJECTACCESSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXObjectAccessNV")) == NULL) || r;
+ r = ((wglDXOpenDeviceNV = (PFNWGLDXOPENDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglDXOpenDeviceNV")) == NULL) || r;
+ r = ((wglDXRegisterObjectNV = (PFNWGLDXREGISTEROBJECTNVPROC)glewGetProcAddress((const GLubyte*)"wglDXRegisterObjectNV")) == NULL) || r;
+ r = ((wglDXSetResourceShareHandleNV = (PFNWGLDXSETRESOURCESHAREHANDLENVPROC)glewGetProcAddress((const GLubyte*)"wglDXSetResourceShareHandleNV")) == NULL) || r;
+ r = ((wglDXUnlockObjectsNV = (PFNWGLDXUNLOCKOBJECTSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXUnlockObjectsNV")) == NULL) || r;
+ r = ((wglDXUnregisterObjectNV = (PFNWGLDXUNREGISTEROBJECTNVPROC)glewGetProcAddress((const GLubyte*)"wglDXUnregisterObjectNV")) == NULL) || r;
+
+ return r;
+}
+
+#endif /* WGL_NV_DX_interop */
+
#ifdef WGL_NV_copy_image
static GLboolean _glewInit_WGL_NV_copy_image (WGLEW_CONTEXT_ARG_DEF_INIT)
@@ -10097,6 +10271,23 @@ static GLboolean _glewInit_WGL_NV_vertex_array_range (WGLEW_CONTEXT_ARG_DEF_INIT
#endif /* WGL_NV_vertex_array_range */
+#ifdef WGL_NV_video_capture
+
+static GLboolean _glewInit_WGL_NV_video_capture (WGLEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((wglBindVideoCaptureDeviceNV = (PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoCaptureDeviceNV")) == NULL) || r;
+ r = ((wglEnumerateVideoCaptureDevicesNV = (PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumerateVideoCaptureDevicesNV")) == NULL) || r;
+ r = ((wglLockVideoCaptureDeviceNV = (PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglLockVideoCaptureDeviceNV")) == NULL) || r;
+ r = ((wglQueryVideoCaptureDeviceNV = (PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglQueryVideoCaptureDeviceNV")) == NULL) || r;
+ r = ((wglReleaseVideoCaptureDeviceNV = (PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoCaptureDeviceNV")) == NULL) || r;
+
+ return r;
+}
+
+#endif /* WGL_NV_video_capture */
+
#ifdef WGL_NV_video_output
static GLboolean _glewInit_WGL_NV_video_output (WGLEW_CONTEXT_ARG_DEF_INIT)
@@ -10140,196 +10331,209 @@ static PFNWGLGETEXTENSIONSSTRINGEXTPROC _wglewGetExtensionsStringEXT = NULL;
GLboolean wglewGetExtension (const char* name)
{
- GLubyte* p;
- GLubyte* end;
- GLuint len = _glewStrLen((const GLubyte*)name);
+ const GLubyte* start;
+ const GLubyte* end;
if (_wglewGetExtensionsStringARB == NULL)
if (_wglewGetExtensionsStringEXT == NULL)
return GL_FALSE;
else
- p = (GLubyte*)_wglewGetExtensionsStringEXT();
+ start = (const GLubyte*)_wglewGetExtensionsStringEXT();
else
- p = (GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC());
- if (0 == p) return GL_FALSE;
- end = p + _glewStrLen(p);
- while (p < end)
- {
- GLuint n = _glewStrCLen(p, ' ');
- if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
- p += n+1;
- }
- return GL_FALSE;
+ start = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC());
+ if (start == 0)
+ return GL_FALSE;
+ end = start + _glewStrLen(start);
+ return _glewSearchExtension(name, start, end);
}
GLenum wglewContextInit (WGLEW_CONTEXT_ARG_DEF_LIST)
{
GLboolean crippled;
+ const GLubyte* extStart;
+ const GLubyte* extEnd;
/* find wgl extension string query functions */
_wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB");
_wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT");
+ /* query wgl extension string */
+ if (_wglewGetExtensionsStringARB == NULL)
+ if (_wglewGetExtensionsStringEXT == NULL)
+ extStart = (const GLubyte*)"";
+ else
+ extStart = (const GLubyte*)_wglewGetExtensionsStringEXT();
+ else
+ extStart = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC());
+ extEnd = extStart + _glewStrLen(extStart);
/* initialize extensions */
crippled = _wglewGetExtensionsStringARB == NULL && _wglewGetExtensionsStringEXT == NULL;
#ifdef WGL_3DFX_multisample
- CONST_CAST(WGLEW_3DFX_multisample) = wglewGetExtension("WGL_3DFX_multisample");
+ CONST_CAST(WGLEW_3DFX_multisample) = _glewSearchExtension("WGL_3DFX_multisample", extStart, extEnd);
#endif /* WGL_3DFX_multisample */
#ifdef WGL_3DL_stereo_control
- CONST_CAST(WGLEW_3DL_stereo_control) = wglewGetExtension("WGL_3DL_stereo_control");
+ CONST_CAST(WGLEW_3DL_stereo_control) = _glewSearchExtension("WGL_3DL_stereo_control", extStart, extEnd);
if (glewExperimental || WGLEW_3DL_stereo_control|| crippled) CONST_CAST(WGLEW_3DL_stereo_control)= !_glewInit_WGL_3DL_stereo_control(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_3DL_stereo_control */
#ifdef WGL_AMD_gpu_association
- CONST_CAST(WGLEW_AMD_gpu_association) = wglewGetExtension("WGL_AMD_gpu_association");
+ CONST_CAST(WGLEW_AMD_gpu_association) = _glewSearchExtension("WGL_AMD_gpu_association", extStart, extEnd);
if (glewExperimental || WGLEW_AMD_gpu_association|| crippled) CONST_CAST(WGLEW_AMD_gpu_association)= !_glewInit_WGL_AMD_gpu_association(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_AMD_gpu_association */
#ifdef WGL_ARB_buffer_region
- CONST_CAST(WGLEW_ARB_buffer_region) = wglewGetExtension("WGL_ARB_buffer_region");
+ CONST_CAST(WGLEW_ARB_buffer_region) = _glewSearchExtension("WGL_ARB_buffer_region", extStart, extEnd);
if (glewExperimental || WGLEW_ARB_buffer_region|| crippled) CONST_CAST(WGLEW_ARB_buffer_region)= !_glewInit_WGL_ARB_buffer_region(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_ARB_buffer_region */
#ifdef WGL_ARB_create_context
- CONST_CAST(WGLEW_ARB_create_context) = wglewGetExtension("WGL_ARB_create_context");
+ CONST_CAST(WGLEW_ARB_create_context) = _glewSearchExtension("WGL_ARB_create_context", extStart, extEnd);
if (glewExperimental || WGLEW_ARB_create_context|| crippled) CONST_CAST(WGLEW_ARB_create_context)= !_glewInit_WGL_ARB_create_context(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_ARB_create_context */
#ifdef WGL_ARB_create_context_profile
- CONST_CAST(WGLEW_ARB_create_context_profile) = wglewGetExtension("WGL_ARB_create_context_profile");
+ CONST_CAST(WGLEW_ARB_create_context_profile) = _glewSearchExtension("WGL_ARB_create_context_profile", extStart, extEnd);
#endif /* WGL_ARB_create_context_profile */
#ifdef WGL_ARB_create_context_robustness
- CONST_CAST(WGLEW_ARB_create_context_robustness) = wglewGetExtension("WGL_ARB_create_context_robustness");
+ CONST_CAST(WGLEW_ARB_create_context_robustness) = _glewSearchExtension("WGL_ARB_create_context_robustness", extStart, extEnd);
#endif /* WGL_ARB_create_context_robustness */
#ifdef WGL_ARB_extensions_string
- CONST_CAST(WGLEW_ARB_extensions_string) = wglewGetExtension("WGL_ARB_extensions_string");
+ CONST_CAST(WGLEW_ARB_extensions_string) = _glewSearchExtension("WGL_ARB_extensions_string", extStart, extEnd);
if (glewExperimental || WGLEW_ARB_extensions_string|| crippled) CONST_CAST(WGLEW_ARB_extensions_string)= !_glewInit_WGL_ARB_extensions_string(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_ARB_extensions_string */
#ifdef WGL_ARB_framebuffer_sRGB
- CONST_CAST(WGLEW_ARB_framebuffer_sRGB) = wglewGetExtension("WGL_ARB_framebuffer_sRGB");
+ CONST_CAST(WGLEW_ARB_framebuffer_sRGB) = _glewSearchExtension("WGL_ARB_framebuffer_sRGB", extStart, extEnd);
#endif /* WGL_ARB_framebuffer_sRGB */
#ifdef WGL_ARB_make_current_read
- CONST_CAST(WGLEW_ARB_make_current_read) = wglewGetExtension("WGL_ARB_make_current_read");
+ CONST_CAST(WGLEW_ARB_make_current_read) = _glewSearchExtension("WGL_ARB_make_current_read", extStart, extEnd);
if (glewExperimental || WGLEW_ARB_make_current_read|| crippled) CONST_CAST(WGLEW_ARB_make_current_read)= !_glewInit_WGL_ARB_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_ARB_make_current_read */
#ifdef WGL_ARB_multisample
- CONST_CAST(WGLEW_ARB_multisample) = wglewGetExtension("WGL_ARB_multisample");
+ CONST_CAST(WGLEW_ARB_multisample) = _glewSearchExtension("WGL_ARB_multisample", extStart, extEnd);
#endif /* WGL_ARB_multisample */
#ifdef WGL_ARB_pbuffer
- CONST_CAST(WGLEW_ARB_pbuffer) = wglewGetExtension("WGL_ARB_pbuffer");
+ CONST_CAST(WGLEW_ARB_pbuffer) = _glewSearchExtension("WGL_ARB_pbuffer", extStart, extEnd);
if (glewExperimental || WGLEW_ARB_pbuffer|| crippled) CONST_CAST(WGLEW_ARB_pbuffer)= !_glewInit_WGL_ARB_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_ARB_pbuffer */
#ifdef WGL_ARB_pixel_format
- CONST_CAST(WGLEW_ARB_pixel_format) = wglewGetExtension("WGL_ARB_pixel_format");
+ CONST_CAST(WGLEW_ARB_pixel_format) = _glewSearchExtension("WGL_ARB_pixel_format", extStart, extEnd);
if (glewExperimental || WGLEW_ARB_pixel_format|| crippled) CONST_CAST(WGLEW_ARB_pixel_format)= !_glewInit_WGL_ARB_pixel_format(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_ARB_pixel_format */
#ifdef WGL_ARB_pixel_format_float
- CONST_CAST(WGLEW_ARB_pixel_format_float) = wglewGetExtension("WGL_ARB_pixel_format_float");
+ CONST_CAST(WGLEW_ARB_pixel_format_float) = _glewSearchExtension("WGL_ARB_pixel_format_float", extStart, extEnd);
#endif /* WGL_ARB_pixel_format_float */
#ifdef WGL_ARB_render_texture
- CONST_CAST(WGLEW_ARB_render_texture) = wglewGetExtension("WGL_ARB_render_texture");
+ CONST_CAST(WGLEW_ARB_render_texture) = _glewSearchExtension("WGL_ARB_render_texture", extStart, extEnd);
if (glewExperimental || WGLEW_ARB_render_texture|| crippled) CONST_CAST(WGLEW_ARB_render_texture)= !_glewInit_WGL_ARB_render_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_ARB_render_texture */
#ifdef WGL_ATI_pixel_format_float
- CONST_CAST(WGLEW_ATI_pixel_format_float) = wglewGetExtension("WGL_ATI_pixel_format_float");
+ CONST_CAST(WGLEW_ATI_pixel_format_float) = _glewSearchExtension("WGL_ATI_pixel_format_float", extStart, extEnd);
#endif /* WGL_ATI_pixel_format_float */
#ifdef WGL_ATI_render_texture_rectangle
- CONST_CAST(WGLEW_ATI_render_texture_rectangle) = wglewGetExtension("WGL_ATI_render_texture_rectangle");
+ CONST_CAST(WGLEW_ATI_render_texture_rectangle) = _glewSearchExtension("WGL_ATI_render_texture_rectangle", extStart, extEnd);
#endif /* WGL_ATI_render_texture_rectangle */
#ifdef WGL_EXT_create_context_es2_profile
- CONST_CAST(WGLEW_EXT_create_context_es2_profile) = wglewGetExtension("WGL_EXT_create_context_es2_profile");
+ CONST_CAST(WGLEW_EXT_create_context_es2_profile) = _glewSearchExtension("WGL_EXT_create_context_es2_profile", extStart, extEnd);
#endif /* WGL_EXT_create_context_es2_profile */
#ifdef WGL_EXT_depth_float
- CONST_CAST(WGLEW_EXT_depth_float) = wglewGetExtension("WGL_EXT_depth_float");
+ CONST_CAST(WGLEW_EXT_depth_float) = _glewSearchExtension("WGL_EXT_depth_float", extStart, extEnd);
#endif /* WGL_EXT_depth_float */
#ifdef WGL_EXT_display_color_table
- CONST_CAST(WGLEW_EXT_display_color_table) = wglewGetExtension("WGL_EXT_display_color_table");
+ CONST_CAST(WGLEW_EXT_display_color_table) = _glewSearchExtension("WGL_EXT_display_color_table", extStart, extEnd);
if (glewExperimental || WGLEW_EXT_display_color_table|| crippled) CONST_CAST(WGLEW_EXT_display_color_table)= !_glewInit_WGL_EXT_display_color_table(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_EXT_display_color_table */
#ifdef WGL_EXT_extensions_string
- CONST_CAST(WGLEW_EXT_extensions_string) = wglewGetExtension("WGL_EXT_extensions_string");
+ CONST_CAST(WGLEW_EXT_extensions_string) = _glewSearchExtension("WGL_EXT_extensions_string", extStart, extEnd);
if (glewExperimental || WGLEW_EXT_extensions_string|| crippled) CONST_CAST(WGLEW_EXT_extensions_string)= !_glewInit_WGL_EXT_extensions_string(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_EXT_extensions_string */
#ifdef WGL_EXT_framebuffer_sRGB
- CONST_CAST(WGLEW_EXT_framebuffer_sRGB) = wglewGetExtension("WGL_EXT_framebuffer_sRGB");
+ CONST_CAST(WGLEW_EXT_framebuffer_sRGB) = _glewSearchExtension("WGL_EXT_framebuffer_sRGB", extStart, extEnd);
#endif /* WGL_EXT_framebuffer_sRGB */
#ifdef WGL_EXT_make_current_read
- CONST_CAST(WGLEW_EXT_make_current_read) = wglewGetExtension("WGL_EXT_make_current_read");
+ CONST_CAST(WGLEW_EXT_make_current_read) = _glewSearchExtension("WGL_EXT_make_current_read", extStart, extEnd);
if (glewExperimental || WGLEW_EXT_make_current_read|| crippled) CONST_CAST(WGLEW_EXT_make_current_read)= !_glewInit_WGL_EXT_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_EXT_make_current_read */
#ifdef WGL_EXT_multisample
- CONST_CAST(WGLEW_EXT_multisample) = wglewGetExtension("WGL_EXT_multisample");
+ CONST_CAST(WGLEW_EXT_multisample) = _glewSearchExtension("WGL_EXT_multisample", extStart, extEnd);
#endif /* WGL_EXT_multisample */
#ifdef WGL_EXT_pbuffer
- CONST_CAST(WGLEW_EXT_pbuffer) = wglewGetExtension("WGL_EXT_pbuffer");
+ CONST_CAST(WGLEW_EXT_pbuffer) = _glewSearchExtension("WGL_EXT_pbuffer", extStart, extEnd);
if (glewExperimental || WGLEW_EXT_pbuffer|| crippled) CONST_CAST(WGLEW_EXT_pbuffer)= !_glewInit_WGL_EXT_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_EXT_pbuffer */
#ifdef WGL_EXT_pixel_format
- CONST_CAST(WGLEW_EXT_pixel_format) = wglewGetExtension("WGL_EXT_pixel_format");
+ CONST_CAST(WGLEW_EXT_pixel_format) = _glewSearchExtension("WGL_EXT_pixel_format", extStart, extEnd);
if (glewExperimental || WGLEW_EXT_pixel_format|| crippled) CONST_CAST(WGLEW_EXT_pixel_format)= !_glewInit_WGL_EXT_pixel_format(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_EXT_pixel_format */
#ifdef WGL_EXT_pixel_format_packed_float
- CONST_CAST(WGLEW_EXT_pixel_format_packed_float) = wglewGetExtension("WGL_EXT_pixel_format_packed_float");
+ CONST_CAST(WGLEW_EXT_pixel_format_packed_float) = _glewSearchExtension("WGL_EXT_pixel_format_packed_float", extStart, extEnd);
#endif /* WGL_EXT_pixel_format_packed_float */
#ifdef WGL_EXT_swap_control
- CONST_CAST(WGLEW_EXT_swap_control) = wglewGetExtension("WGL_EXT_swap_control");
+ CONST_CAST(WGLEW_EXT_swap_control) = _glewSearchExtension("WGL_EXT_swap_control", extStart, extEnd);
if (glewExperimental || WGLEW_EXT_swap_control|| crippled) CONST_CAST(WGLEW_EXT_swap_control)= !_glewInit_WGL_EXT_swap_control(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_EXT_swap_control */
#ifdef WGL_I3D_digital_video_control
- CONST_CAST(WGLEW_I3D_digital_video_control) = wglewGetExtension("WGL_I3D_digital_video_control");
+ CONST_CAST(WGLEW_I3D_digital_video_control) = _glewSearchExtension("WGL_I3D_digital_video_control", extStart, extEnd);
if (glewExperimental || WGLEW_I3D_digital_video_control|| crippled) CONST_CAST(WGLEW_I3D_digital_video_control)= !_glewInit_WGL_I3D_digital_video_control(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_I3D_digital_video_control */
#ifdef WGL_I3D_gamma
- CONST_CAST(WGLEW_I3D_gamma) = wglewGetExtension("WGL_I3D_gamma");
+ CONST_CAST(WGLEW_I3D_gamma) = _glewSearchExtension("WGL_I3D_gamma", extStart, extEnd);
if (glewExperimental || WGLEW_I3D_gamma|| crippled) CONST_CAST(WGLEW_I3D_gamma)= !_glewInit_WGL_I3D_gamma(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_I3D_gamma */
#ifdef WGL_I3D_genlock
- CONST_CAST(WGLEW_I3D_genlock) = wglewGetExtension("WGL_I3D_genlock");
+ CONST_CAST(WGLEW_I3D_genlock) = _glewSearchExtension("WGL_I3D_genlock", extStart, extEnd);
if (glewExperimental || WGLEW_I3D_genlock|| crippled) CONST_CAST(WGLEW_I3D_genlock)= !_glewInit_WGL_I3D_genlock(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_I3D_genlock */
#ifdef WGL_I3D_image_buffer
- CONST_CAST(WGLEW_I3D_image_buffer) = wglewGetExtension("WGL_I3D_image_buffer");
+ CONST_CAST(WGLEW_I3D_image_buffer) = _glewSearchExtension("WGL_I3D_image_buffer", extStart, extEnd);
if (glewExperimental || WGLEW_I3D_image_buffer|| crippled) CONST_CAST(WGLEW_I3D_image_buffer)= !_glewInit_WGL_I3D_image_buffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_I3D_image_buffer */
#ifdef WGL_I3D_swap_frame_lock
- CONST_CAST(WGLEW_I3D_swap_frame_lock) = wglewGetExtension("WGL_I3D_swap_frame_lock");
+ CONST_CAST(WGLEW_I3D_swap_frame_lock) = _glewSearchExtension("WGL_I3D_swap_frame_lock", extStart, extEnd);
if (glewExperimental || WGLEW_I3D_swap_frame_lock|| crippled) CONST_CAST(WGLEW_I3D_swap_frame_lock)= !_glewInit_WGL_I3D_swap_frame_lock(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_I3D_swap_frame_lock */
#ifdef WGL_I3D_swap_frame_usage
- CONST_CAST(WGLEW_I3D_swap_frame_usage) = wglewGetExtension("WGL_I3D_swap_frame_usage");
+ CONST_CAST(WGLEW_I3D_swap_frame_usage) = _glewSearchExtension("WGL_I3D_swap_frame_usage", extStart, extEnd);
if (glewExperimental || WGLEW_I3D_swap_frame_usage|| crippled) CONST_CAST(WGLEW_I3D_swap_frame_usage)= !_glewInit_WGL_I3D_swap_frame_usage(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_I3D_swap_frame_usage */
+#ifdef WGL_NV_DX_interop
+ CONST_CAST(WGLEW_NV_DX_interop) = _glewSearchExtension("WGL_NV_DX_interop", extStart, extEnd);
+ if (glewExperimental || WGLEW_NV_DX_interop|| crippled) CONST_CAST(WGLEW_NV_DX_interop)= !_glewInit_WGL_NV_DX_interop(GLEW_CONTEXT_ARG_VAR_INIT);
+#endif /* WGL_NV_DX_interop */
#ifdef WGL_NV_copy_image
- CONST_CAST(WGLEW_NV_copy_image) = wglewGetExtension("WGL_NV_copy_image");
+ CONST_CAST(WGLEW_NV_copy_image) = _glewSearchExtension("WGL_NV_copy_image", extStart, extEnd);
if (glewExperimental || WGLEW_NV_copy_image|| crippled) CONST_CAST(WGLEW_NV_copy_image)= !_glewInit_WGL_NV_copy_image(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_NV_copy_image */
#ifdef WGL_NV_float_buffer
- CONST_CAST(WGLEW_NV_float_buffer) = wglewGetExtension("WGL_NV_float_buffer");
+ CONST_CAST(WGLEW_NV_float_buffer) = _glewSearchExtension("WGL_NV_float_buffer", extStart, extEnd);
#endif /* WGL_NV_float_buffer */
#ifdef WGL_NV_gpu_affinity
- CONST_CAST(WGLEW_NV_gpu_affinity) = wglewGetExtension("WGL_NV_gpu_affinity");
+ CONST_CAST(WGLEW_NV_gpu_affinity) = _glewSearchExtension("WGL_NV_gpu_affinity", extStart, extEnd);
if (glewExperimental || WGLEW_NV_gpu_affinity|| crippled) CONST_CAST(WGLEW_NV_gpu_affinity)= !_glewInit_WGL_NV_gpu_affinity(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_NV_gpu_affinity */
#ifdef WGL_NV_multisample_coverage
- CONST_CAST(WGLEW_NV_multisample_coverage) = wglewGetExtension("WGL_NV_multisample_coverage");
+ CONST_CAST(WGLEW_NV_multisample_coverage) = _glewSearchExtension("WGL_NV_multisample_coverage", extStart, extEnd);
#endif /* WGL_NV_multisample_coverage */
#ifdef WGL_NV_present_video
- CONST_CAST(WGLEW_NV_present_video) = wglewGetExtension("WGL_NV_present_video");
+ CONST_CAST(WGLEW_NV_present_video) = _glewSearchExtension("WGL_NV_present_video", extStart, extEnd);
if (glewExperimental || WGLEW_NV_present_video|| crippled) CONST_CAST(WGLEW_NV_present_video)= !_glewInit_WGL_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_NV_present_video */
#ifdef WGL_NV_render_depth_texture
- CONST_CAST(WGLEW_NV_render_depth_texture) = wglewGetExtension("WGL_NV_render_depth_texture");
+ CONST_CAST(WGLEW_NV_render_depth_texture) = _glewSearchExtension("WGL_NV_render_depth_texture", extStart, extEnd);
#endif /* WGL_NV_render_depth_texture */
#ifdef WGL_NV_render_texture_rectangle
- CONST_CAST(WGLEW_NV_render_texture_rectangle) = wglewGetExtension("WGL_NV_render_texture_rectangle");
+ CONST_CAST(WGLEW_NV_render_texture_rectangle) = _glewSearchExtension("WGL_NV_render_texture_rectangle", extStart, extEnd);
#endif /* WGL_NV_render_texture_rectangle */
#ifdef WGL_NV_swap_group
- CONST_CAST(WGLEW_NV_swap_group) = wglewGetExtension("WGL_NV_swap_group");
+ CONST_CAST(WGLEW_NV_swap_group) = _glewSearchExtension("WGL_NV_swap_group", extStart, extEnd);
if (glewExperimental || WGLEW_NV_swap_group|| crippled) CONST_CAST(WGLEW_NV_swap_group)= !_glewInit_WGL_NV_swap_group(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_NV_swap_group */
#ifdef WGL_NV_vertex_array_range
- CONST_CAST(WGLEW_NV_vertex_array_range) = wglewGetExtension("WGL_NV_vertex_array_range");
+ CONST_CAST(WGLEW_NV_vertex_array_range) = _glewSearchExtension("WGL_NV_vertex_array_range", extStart, extEnd);
if (glewExperimental || WGLEW_NV_vertex_array_range|| crippled) CONST_CAST(WGLEW_NV_vertex_array_range)= !_glewInit_WGL_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_NV_vertex_array_range */
+#ifdef WGL_NV_video_capture
+ CONST_CAST(WGLEW_NV_video_capture) = _glewSearchExtension("WGL_NV_video_capture", extStart, extEnd);
+ if (glewExperimental || WGLEW_NV_video_capture|| crippled) CONST_CAST(WGLEW_NV_video_capture)= !_glewInit_WGL_NV_video_capture(GLEW_CONTEXT_ARG_VAR_INIT);
+#endif /* WGL_NV_video_capture */
#ifdef WGL_NV_video_output
- CONST_CAST(WGLEW_NV_video_output) = wglewGetExtension("WGL_NV_video_output");
+ CONST_CAST(WGLEW_NV_video_output) = _glewSearchExtension("WGL_NV_video_output", extStart, extEnd);
if (glewExperimental || WGLEW_NV_video_output|| crippled) CONST_CAST(WGLEW_NV_video_output)= !_glewInit_WGL_NV_video_output(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_NV_video_output */
#ifdef WGL_OML_sync_control
- CONST_CAST(WGLEW_OML_sync_control) = wglewGetExtension("WGL_OML_sync_control");
+ CONST_CAST(WGLEW_OML_sync_control) = _glewSearchExtension("WGL_OML_sync_control", extStart, extEnd);
if (glewExperimental || WGLEW_OML_sync_control|| crippled) CONST_CAST(WGLEW_OML_sync_control)= !_glewInit_WGL_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* WGL_OML_sync_control */
@@ -10399,6 +10603,12 @@ PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV = NULL;
PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV = NULL;
PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV = NULL;
+PFNGLXBINDVIDEOCAPTUREDEVICENVPROC __glewXBindVideoCaptureDeviceNV = NULL;
+PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC __glewXEnumerateVideoCaptureDevicesNV = NULL;
+PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC __glewXLockVideoCaptureDeviceNV = NULL;
+PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC __glewXQueryVideoCaptureDeviceNV = NULL;
+PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC __glewXReleaseVideoCaptureDeviceNV = NULL;
+
PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV = NULL;
PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV = NULL;
PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV = NULL;
@@ -10406,13 +10616,11 @@ PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV = NULL;
PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV = NULL;
PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV = NULL;
-#ifdef GLX_OML_sync_control
PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML = NULL;
PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML = NULL;
PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML = NULL;
PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML = NULL;
PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML = NULL;
-#endif
PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX = NULL;
PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX = NULL;
@@ -10502,11 +10710,10 @@ GLboolean __GLXEW_NV_multisample_coverage = GL_FALSE;
GLboolean __GLXEW_NV_present_video = GL_FALSE;
GLboolean __GLXEW_NV_swap_group = GL_FALSE;
GLboolean __GLXEW_NV_vertex_array_range = GL_FALSE;
+GLboolean __GLXEW_NV_video_capture = GL_FALSE;
GLboolean __GLXEW_NV_video_output = GL_FALSE;
GLboolean __GLXEW_OML_swap_method = GL_FALSE;
-#ifdef GLX_OML_sync_control
GLboolean __GLXEW_OML_sync_control = GL_FALSE;
-#endif
GLboolean __GLXEW_SGIS_blended_overlay = GL_FALSE;
GLboolean __GLXEW_SGIS_color_range = GL_FALSE;
GLboolean __GLXEW_SGIS_multisample = GL_FALSE;
@@ -10844,6 +11051,23 @@ static GLboolean _glewInit_GLX_NV_vertex_array_range (GLXEW_CONTEXT_ARG_DEF_INIT
#endif /* GLX_NV_vertex_array_range */
+#ifdef GLX_NV_video_capture
+
+static GLboolean _glewInit_GLX_NV_video_capture (GLXEW_CONTEXT_ARG_DEF_INIT)
+{
+ GLboolean r = GL_FALSE;
+
+ r = ((glXBindVideoCaptureDeviceNV = (PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoCaptureDeviceNV")) == NULL) || r;
+ r = ((glXEnumerateVideoCaptureDevicesNV = (PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"glXEnumerateVideoCaptureDevicesNV")) == NULL) || r;
+ r = ((glXLockVideoCaptureDeviceNV = (PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXLockVideoCaptureDeviceNV")) == NULL) || r;
+ r = ((glXQueryVideoCaptureDeviceNV = (PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXQueryVideoCaptureDeviceNV")) == NULL) || r;
+ r = ((glXReleaseVideoCaptureDeviceNV = (PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoCaptureDeviceNV")) == NULL) || r;
+
+ return r;
+}
+
+#endif /* GLX_NV_video_capture */
+
#ifdef GLX_NV_video_output
static GLboolean _glewInit_GLX_NV_video_output (GLXEW_CONTEXT_ARG_DEF_INIT)
@@ -10866,8 +11090,7 @@ static GLboolean _glewInit_GLX_NV_video_output (GLXEW_CONTEXT_ARG_DEF_INIT)
#endif /* GLX_OML_swap_method */
-#if defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-#include <inttypes.h>
+#ifdef GLX_OML_sync_control
static GLboolean _glewInit_GLX_OML_sync_control (GLXEW_CONTEXT_ARG_DEF_INIT)
{
@@ -11088,27 +11311,21 @@ static GLboolean _glewInit_GLX_SUN_video_resize (GLXEW_CONTEXT_ARG_DEF_INIT)
GLboolean glxewGetExtension (const char* name)
{
- GLubyte* p;
- GLubyte* end;
- GLuint len;
+ const GLubyte* start;
+ const GLubyte* end;
if (glXGetCurrentDisplay == NULL) return GL_FALSE;
- len = _glewStrLen((const GLubyte*)name);
- p = (GLubyte*)glXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS);
- if (0 == p) return GL_FALSE;
- end = p + _glewStrLen(p);
- while (p < end)
- {
- GLuint n = _glewStrCLen(p, ' ');
- if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
- p += n+1;
- }
- return GL_FALSE;
+ start = (const GLubyte*)glXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS);
+ if (0 == start) return GL_FALSE;
+ end = start + _glewStrLen(start);
+ return _glewSearchExtension(name, start, end);
}
GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST)
{
int major, minor;
+ const GLubyte* extStart;
+ const GLubyte* extEnd;
/* initialize core GLX 1.2 */
if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GLX_VERSION_11_ONLY;
/* initialize flags */
@@ -11135,196 +11352,206 @@ GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST)
break;
}
}
+ /* query GLX extension string */
+ extStart = 0;
+ if (glXGetCurrentDisplay != NULL)
+ extStart = (const GLubyte*)glXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS);
+ if (extStart == 0)
+ extStart = (const GLubyte *)"";
+ extEnd = extStart + _glewStrLen(extStart);
/* initialize extensions */
#ifdef GLX_VERSION_1_3
if (glewExperimental || GLXEW_VERSION_1_3) CONST_CAST(GLXEW_VERSION_1_3) = !_glewInit_GLX_VERSION_1_3(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_VERSION_1_3 */
#ifdef GLX_3DFX_multisample
- CONST_CAST(GLXEW_3DFX_multisample) = glxewGetExtension("GLX_3DFX_multisample");
+ CONST_CAST(GLXEW_3DFX_multisample) = _glewSearchExtension("GLX_3DFX_multisample", extStart, extEnd);
#endif /* GLX_3DFX_multisample */
#ifdef GLX_AMD_gpu_association
- CONST_CAST(GLXEW_AMD_gpu_association) = glxewGetExtension("GLX_AMD_gpu_association");
+ CONST_CAST(GLXEW_AMD_gpu_association) = _glewSearchExtension("GLX_AMD_gpu_association", extStart, extEnd);
#endif /* GLX_AMD_gpu_association */
#ifdef GLX_ARB_create_context
- CONST_CAST(GLXEW_ARB_create_context) = glxewGetExtension("GLX_ARB_create_context");
+ CONST_CAST(GLXEW_ARB_create_context) = _glewSearchExtension("GLX_ARB_create_context", extStart, extEnd);
if (glewExperimental || GLXEW_ARB_create_context) CONST_CAST(GLXEW_ARB_create_context) = !_glewInit_GLX_ARB_create_context(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_ARB_create_context */
#ifdef GLX_ARB_create_context_profile
- CONST_CAST(GLXEW_ARB_create_context_profile) = glxewGetExtension("GLX_ARB_create_context_profile");
+ CONST_CAST(GLXEW_ARB_create_context_profile) = _glewSearchExtension("GLX_ARB_create_context_profile", extStart, extEnd);
#endif /* GLX_ARB_create_context_profile */
#ifdef GLX_ARB_create_context_robustness
- CONST_CAST(GLXEW_ARB_create_context_robustness) = glxewGetExtension("GLX_ARB_create_context_robustness");
+ CONST_CAST(GLXEW_ARB_create_context_robustness) = _glewSearchExtension("GLX_ARB_create_context_robustness", extStart, extEnd);
#endif /* GLX_ARB_create_context_robustness */
#ifdef GLX_ARB_fbconfig_float
- CONST_CAST(GLXEW_ARB_fbconfig_float) = glxewGetExtension("GLX_ARB_fbconfig_float");
+ CONST_CAST(GLXEW_ARB_fbconfig_float) = _glewSearchExtension("GLX_ARB_fbconfig_float", extStart, extEnd);
#endif /* GLX_ARB_fbconfig_float */
#ifdef GLX_ARB_framebuffer_sRGB
- CONST_CAST(GLXEW_ARB_framebuffer_sRGB) = glxewGetExtension("GLX_ARB_framebuffer_sRGB");
+ CONST_CAST(GLXEW_ARB_framebuffer_sRGB) = _glewSearchExtension("GLX_ARB_framebuffer_sRGB", extStart, extEnd);
#endif /* GLX_ARB_framebuffer_sRGB */
#ifdef GLX_ARB_get_proc_address
- CONST_CAST(GLXEW_ARB_get_proc_address) = glxewGetExtension("GLX_ARB_get_proc_address");
+ CONST_CAST(GLXEW_ARB_get_proc_address) = _glewSearchExtension("GLX_ARB_get_proc_address", extStart, extEnd);
#endif /* GLX_ARB_get_proc_address */
#ifdef GLX_ARB_multisample
- CONST_CAST(GLXEW_ARB_multisample) = glxewGetExtension("GLX_ARB_multisample");
+ CONST_CAST(GLXEW_ARB_multisample) = _glewSearchExtension("GLX_ARB_multisample", extStart, extEnd);
#endif /* GLX_ARB_multisample */
#ifdef GLX_ARB_vertex_buffer_object
- CONST_CAST(GLXEW_ARB_vertex_buffer_object) = glxewGetExtension("GLX_ARB_vertex_buffer_object");
+ CONST_CAST(GLXEW_ARB_vertex_buffer_object) = _glewSearchExtension("GLX_ARB_vertex_buffer_object", extStart, extEnd);
#endif /* GLX_ARB_vertex_buffer_object */
#ifdef GLX_ATI_pixel_format_float
- CONST_CAST(GLXEW_ATI_pixel_format_float) = glxewGetExtension("GLX_ATI_pixel_format_float");
+ CONST_CAST(GLXEW_ATI_pixel_format_float) = _glewSearchExtension("GLX_ATI_pixel_format_float", extStart, extEnd);
#endif /* GLX_ATI_pixel_format_float */
#ifdef GLX_ATI_render_texture
- CONST_CAST(GLXEW_ATI_render_texture) = glxewGetExtension("GLX_ATI_render_texture");
+ CONST_CAST(GLXEW_ATI_render_texture) = _glewSearchExtension("GLX_ATI_render_texture", extStart, extEnd);
if (glewExperimental || GLXEW_ATI_render_texture) CONST_CAST(GLXEW_ATI_render_texture) = !_glewInit_GLX_ATI_render_texture(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_ATI_render_texture */
#ifdef GLX_EXT_create_context_es2_profile
- CONST_CAST(GLXEW_EXT_create_context_es2_profile) = glxewGetExtension("GLX_EXT_create_context_es2_profile");
+ CONST_CAST(GLXEW_EXT_create_context_es2_profile) = _glewSearchExtension("GLX_EXT_create_context_es2_profile", extStart, extEnd);
#endif /* GLX_EXT_create_context_es2_profile */
#ifdef GLX_EXT_fbconfig_packed_float
- CONST_CAST(GLXEW_EXT_fbconfig_packed_float) = glxewGetExtension("GLX_EXT_fbconfig_packed_float");
+ CONST_CAST(GLXEW_EXT_fbconfig_packed_float) = _glewSearchExtension("GLX_EXT_fbconfig_packed_float", extStart, extEnd);
#endif /* GLX_EXT_fbconfig_packed_float */
#ifdef GLX_EXT_framebuffer_sRGB
- CONST_CAST(GLXEW_EXT_framebuffer_sRGB) = glxewGetExtension("GLX_EXT_framebuffer_sRGB");
+ CONST_CAST(GLXEW_EXT_framebuffer_sRGB) = _glewSearchExtension("GLX_EXT_framebuffer_sRGB", extStart, extEnd);
#endif /* GLX_EXT_framebuffer_sRGB */
#ifdef GLX_EXT_import_context
- CONST_CAST(GLXEW_EXT_import_context) = glxewGetExtension("GLX_EXT_import_context");
+ CONST_CAST(GLXEW_EXT_import_context) = _glewSearchExtension("GLX_EXT_import_context", extStart, extEnd);
if (glewExperimental || GLXEW_EXT_import_context) CONST_CAST(GLXEW_EXT_import_context) = !_glewInit_GLX_EXT_import_context(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_EXT_import_context */
#ifdef GLX_EXT_scene_marker
- CONST_CAST(GLXEW_EXT_scene_marker) = glxewGetExtension("GLX_EXT_scene_marker");
+ CONST_CAST(GLXEW_EXT_scene_marker) = _glewSearchExtension("GLX_EXT_scene_marker", extStart, extEnd);
#endif /* GLX_EXT_scene_marker */
#ifdef GLX_EXT_swap_control
- CONST_CAST(GLXEW_EXT_swap_control) = glxewGetExtension("GLX_EXT_swap_control");
+ CONST_CAST(GLXEW_EXT_swap_control) = _glewSearchExtension("GLX_EXT_swap_control", extStart, extEnd);
if (glewExperimental || GLXEW_EXT_swap_control) CONST_CAST(GLXEW_EXT_swap_control) = !_glewInit_GLX_EXT_swap_control(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_EXT_swap_control */
#ifdef GLX_EXT_texture_from_pixmap
- CONST_CAST(GLXEW_EXT_texture_from_pixmap) = glxewGetExtension("GLX_EXT_texture_from_pixmap");
+ CONST_CAST(GLXEW_EXT_texture_from_pixmap) = _glewSearchExtension("GLX_EXT_texture_from_pixmap", extStart, extEnd);
if (glewExperimental || GLXEW_EXT_texture_from_pixmap) CONST_CAST(GLXEW_EXT_texture_from_pixmap) = !_glewInit_GLX_EXT_texture_from_pixmap(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_EXT_texture_from_pixmap */
#ifdef GLX_EXT_visual_info
- CONST_CAST(GLXEW_EXT_visual_info) = glxewGetExtension("GLX_EXT_visual_info");
+ CONST_CAST(GLXEW_EXT_visual_info) = _glewSearchExtension("GLX_EXT_visual_info", extStart, extEnd);
#endif /* GLX_EXT_visual_info */
#ifdef GLX_EXT_visual_rating
- CONST_CAST(GLXEW_EXT_visual_rating) = glxewGetExtension("GLX_EXT_visual_rating");
+ CONST_CAST(GLXEW_EXT_visual_rating) = _glewSearchExtension("GLX_EXT_visual_rating", extStart, extEnd);
#endif /* GLX_EXT_visual_rating */
#ifdef GLX_INTEL_swap_event
- CONST_CAST(GLXEW_INTEL_swap_event) = glxewGetExtension("GLX_INTEL_swap_event");
+ CONST_CAST(GLXEW_INTEL_swap_event) = _glewSearchExtension("GLX_INTEL_swap_event", extStart, extEnd);
#endif /* GLX_INTEL_swap_event */
#ifdef GLX_MESA_agp_offset
- CONST_CAST(GLXEW_MESA_agp_offset) = glxewGetExtension("GLX_MESA_agp_offset");
+ CONST_CAST(GLXEW_MESA_agp_offset) = _glewSearchExtension("GLX_MESA_agp_offset", extStart, extEnd);
if (glewExperimental || GLXEW_MESA_agp_offset) CONST_CAST(GLXEW_MESA_agp_offset) = !_glewInit_GLX_MESA_agp_offset(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_MESA_agp_offset */
#ifdef GLX_MESA_copy_sub_buffer
- CONST_CAST(GLXEW_MESA_copy_sub_buffer) = glxewGetExtension("GLX_MESA_copy_sub_buffer");
+ CONST_CAST(GLXEW_MESA_copy_sub_buffer) = _glewSearchExtension("GLX_MESA_copy_sub_buffer", extStart, extEnd);
if (glewExperimental || GLXEW_MESA_copy_sub_buffer) CONST_CAST(GLXEW_MESA_copy_sub_buffer) = !_glewInit_GLX_MESA_copy_sub_buffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_MESA_copy_sub_buffer */
#ifdef GLX_MESA_pixmap_colormap
- CONST_CAST(GLXEW_MESA_pixmap_colormap) = glxewGetExtension("GLX_MESA_pixmap_colormap");
+ CONST_CAST(GLXEW_MESA_pixmap_colormap) = _glewSearchExtension("GLX_MESA_pixmap_colormap", extStart, extEnd);
if (glewExperimental || GLXEW_MESA_pixmap_colormap) CONST_CAST(GLXEW_MESA_pixmap_colormap) = !_glewInit_GLX_MESA_pixmap_colormap(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_MESA_pixmap_colormap */
#ifdef GLX_MESA_release_buffers
- CONST_CAST(GLXEW_MESA_release_buffers) = glxewGetExtension("GLX_MESA_release_buffers");
+ CONST_CAST(GLXEW_MESA_release_buffers) = _glewSearchExtension("GLX_MESA_release_buffers", extStart, extEnd);
if (glewExperimental || GLXEW_MESA_release_buffers) CONST_CAST(GLXEW_MESA_release_buffers) = !_glewInit_GLX_MESA_release_buffers(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_MESA_release_buffers */
#ifdef GLX_MESA_set_3dfx_mode
- CONST_CAST(GLXEW_MESA_set_3dfx_mode) = glxewGetExtension("GLX_MESA_set_3dfx_mode");
+ CONST_CAST(GLXEW_MESA_set_3dfx_mode) = _glewSearchExtension("GLX_MESA_set_3dfx_mode", extStart, extEnd);
if (glewExperimental || GLXEW_MESA_set_3dfx_mode) CONST_CAST(GLXEW_MESA_set_3dfx_mode) = !_glewInit_GLX_MESA_set_3dfx_mode(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_MESA_set_3dfx_mode */
#ifdef GLX_NV_copy_image
- CONST_CAST(GLXEW_NV_copy_image) = glxewGetExtension("GLX_NV_copy_image");
+ CONST_CAST(GLXEW_NV_copy_image) = _glewSearchExtension("GLX_NV_copy_image", extStart, extEnd);
if (glewExperimental || GLXEW_NV_copy_image) CONST_CAST(GLXEW_NV_copy_image) = !_glewInit_GLX_NV_copy_image(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_NV_copy_image */
#ifdef GLX_NV_float_buffer
- CONST_CAST(GLXEW_NV_float_buffer) = glxewGetExtension("GLX_NV_float_buffer");
+ CONST_CAST(GLXEW_NV_float_buffer) = _glewSearchExtension("GLX_NV_float_buffer", extStart, extEnd);
#endif /* GLX_NV_float_buffer */
#ifdef GLX_NV_multisample_coverage
- CONST_CAST(GLXEW_NV_multisample_coverage) = glxewGetExtension("GLX_NV_multisample_coverage");
+ CONST_CAST(GLXEW_NV_multisample_coverage) = _glewSearchExtension("GLX_NV_multisample_coverage", extStart, extEnd);
#endif /* GLX_NV_multisample_coverage */
#ifdef GLX_NV_present_video
- CONST_CAST(GLXEW_NV_present_video) = glxewGetExtension("GLX_NV_present_video");
+ CONST_CAST(GLXEW_NV_present_video) = _glewSearchExtension("GLX_NV_present_video", extStart, extEnd);
if (glewExperimental || GLXEW_NV_present_video) CONST_CAST(GLXEW_NV_present_video) = !_glewInit_GLX_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_NV_present_video */
#ifdef GLX_NV_swap_group
- CONST_CAST(GLXEW_NV_swap_group) = glxewGetExtension("GLX_NV_swap_group");
+ CONST_CAST(GLXEW_NV_swap_group) = _glewSearchExtension("GLX_NV_swap_group", extStart, extEnd);
if (glewExperimental || GLXEW_NV_swap_group) CONST_CAST(GLXEW_NV_swap_group) = !_glewInit_GLX_NV_swap_group(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_NV_swap_group */
#ifdef GLX_NV_vertex_array_range
- CONST_CAST(GLXEW_NV_vertex_array_range) = glxewGetExtension("GLX_NV_vertex_array_range");
+ CONST_CAST(GLXEW_NV_vertex_array_range) = _glewSearchExtension("GLX_NV_vertex_array_range", extStart, extEnd);
if (glewExperimental || GLXEW_NV_vertex_array_range) CONST_CAST(GLXEW_NV_vertex_array_range) = !_glewInit_GLX_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_NV_vertex_array_range */
+#ifdef GLX_NV_video_capture
+ CONST_CAST(GLXEW_NV_video_capture) = _glewSearchExtension("GLX_NV_video_capture", extStart, extEnd);
+ if (glewExperimental || GLXEW_NV_video_capture) CONST_CAST(GLXEW_NV_video_capture) = !_glewInit_GLX_NV_video_capture(GLEW_CONTEXT_ARG_VAR_INIT);
+#endif /* GLX_NV_video_capture */
#ifdef GLX_NV_video_output
- CONST_CAST(GLXEW_NV_video_output) = glxewGetExtension("GLX_NV_video_output");
+ CONST_CAST(GLXEW_NV_video_output) = _glewSearchExtension("GLX_NV_video_output", extStart, extEnd);
if (glewExperimental || GLXEW_NV_video_output) CONST_CAST(GLXEW_NV_video_output) = !_glewInit_GLX_NV_video_output(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_NV_video_output */
#ifdef GLX_OML_swap_method
- CONST_CAST(GLXEW_OML_swap_method) = glxewGetExtension("GLX_OML_swap_method");
+ CONST_CAST(GLXEW_OML_swap_method) = _glewSearchExtension("GLX_OML_swap_method", extStart, extEnd);
#endif /* GLX_OML_swap_method */
-#if defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-#include <inttypes.h>
- CONST_CAST(GLXEW_OML_sync_control) = glxewGetExtension("GLX_OML_sync_control");
+#ifdef GLX_OML_sync_control
+ CONST_CAST(GLXEW_OML_sync_control) = _glewSearchExtension("GLX_OML_sync_control", extStart, extEnd);
if (glewExperimental || GLXEW_OML_sync_control) CONST_CAST(GLXEW_OML_sync_control) = !_glewInit_GLX_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_OML_sync_control */
#ifdef GLX_SGIS_blended_overlay
- CONST_CAST(GLXEW_SGIS_blended_overlay) = glxewGetExtension("GLX_SGIS_blended_overlay");
+ CONST_CAST(GLXEW_SGIS_blended_overlay) = _glewSearchExtension("GLX_SGIS_blended_overlay", extStart, extEnd);
#endif /* GLX_SGIS_blended_overlay */
#ifdef GLX_SGIS_color_range
- CONST_CAST(GLXEW_SGIS_color_range) = glxewGetExtension("GLX_SGIS_color_range");
+ CONST_CAST(GLXEW_SGIS_color_range) = _glewSearchExtension("GLX_SGIS_color_range", extStart, extEnd);
#endif /* GLX_SGIS_color_range */
#ifdef GLX_SGIS_multisample
- CONST_CAST(GLXEW_SGIS_multisample) = glxewGetExtension("GLX_SGIS_multisample");
+ CONST_CAST(GLXEW_SGIS_multisample) = _glewSearchExtension("GLX_SGIS_multisample", extStart, extEnd);
#endif /* GLX_SGIS_multisample */
#ifdef GLX_SGIS_shared_multisample
- CONST_CAST(GLXEW_SGIS_shared_multisample) = glxewGetExtension("GLX_SGIS_shared_multisample");
+ CONST_CAST(GLXEW_SGIS_shared_multisample) = _glewSearchExtension("GLX_SGIS_shared_multisample", extStart, extEnd);
#endif /* GLX_SGIS_shared_multisample */
#ifdef GLX_SGIX_fbconfig
- CONST_CAST(GLXEW_SGIX_fbconfig) = glxewGetExtension("GLX_SGIX_fbconfig");
+ CONST_CAST(GLXEW_SGIX_fbconfig) = _glewSearchExtension("GLX_SGIX_fbconfig", extStart, extEnd);
if (glewExperimental || GLXEW_SGIX_fbconfig) CONST_CAST(GLXEW_SGIX_fbconfig) = !_glewInit_GLX_SGIX_fbconfig(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGIX_fbconfig */
#ifdef GLX_SGIX_hyperpipe
- CONST_CAST(GLXEW_SGIX_hyperpipe) = glxewGetExtension("GLX_SGIX_hyperpipe");
+ CONST_CAST(GLXEW_SGIX_hyperpipe) = _glewSearchExtension("GLX_SGIX_hyperpipe", extStart, extEnd);
if (glewExperimental || GLXEW_SGIX_hyperpipe) CONST_CAST(GLXEW_SGIX_hyperpipe) = !_glewInit_GLX_SGIX_hyperpipe(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGIX_hyperpipe */
#ifdef GLX_SGIX_pbuffer
- CONST_CAST(GLXEW_SGIX_pbuffer) = glxewGetExtension("GLX_SGIX_pbuffer");
+ CONST_CAST(GLXEW_SGIX_pbuffer) = _glewSearchExtension("GLX_SGIX_pbuffer", extStart, extEnd);
if (glewExperimental || GLXEW_SGIX_pbuffer) CONST_CAST(GLXEW_SGIX_pbuffer) = !_glewInit_GLX_SGIX_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGIX_pbuffer */
#ifdef GLX_SGIX_swap_barrier
- CONST_CAST(GLXEW_SGIX_swap_barrier) = glxewGetExtension("GLX_SGIX_swap_barrier");
+ CONST_CAST(GLXEW_SGIX_swap_barrier) = _glewSearchExtension("GLX_SGIX_swap_barrier", extStart, extEnd);
if (glewExperimental || GLXEW_SGIX_swap_barrier) CONST_CAST(GLXEW_SGIX_swap_barrier) = !_glewInit_GLX_SGIX_swap_barrier(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGIX_swap_barrier */
#ifdef GLX_SGIX_swap_group
- CONST_CAST(GLXEW_SGIX_swap_group) = glxewGetExtension("GLX_SGIX_swap_group");
+ CONST_CAST(GLXEW_SGIX_swap_group) = _glewSearchExtension("GLX_SGIX_swap_group", extStart, extEnd);
if (glewExperimental || GLXEW_SGIX_swap_group) CONST_CAST(GLXEW_SGIX_swap_group) = !_glewInit_GLX_SGIX_swap_group(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGIX_swap_group */
#ifdef GLX_SGIX_video_resize
- CONST_CAST(GLXEW_SGIX_video_resize) = glxewGetExtension("GLX_SGIX_video_resize");
+ CONST_CAST(GLXEW_SGIX_video_resize) = _glewSearchExtension("GLX_SGIX_video_resize", extStart, extEnd);
if (glewExperimental || GLXEW_SGIX_video_resize) CONST_CAST(GLXEW_SGIX_video_resize) = !_glewInit_GLX_SGIX_video_resize(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGIX_video_resize */
#ifdef GLX_SGIX_visual_select_group
- CONST_CAST(GLXEW_SGIX_visual_select_group) = glxewGetExtension("GLX_SGIX_visual_select_group");
+ CONST_CAST(GLXEW_SGIX_visual_select_group) = _glewSearchExtension("GLX_SGIX_visual_select_group", extStart, extEnd);
#endif /* GLX_SGIX_visual_select_group */
#ifdef GLX_SGI_cushion
- CONST_CAST(GLXEW_SGI_cushion) = glxewGetExtension("GLX_SGI_cushion");
+ CONST_CAST(GLXEW_SGI_cushion) = _glewSearchExtension("GLX_SGI_cushion", extStart, extEnd);
if (glewExperimental || GLXEW_SGI_cushion) CONST_CAST(GLXEW_SGI_cushion) = !_glewInit_GLX_SGI_cushion(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGI_cushion */
#ifdef GLX_SGI_make_current_read
- CONST_CAST(GLXEW_SGI_make_current_read) = glxewGetExtension("GLX_SGI_make_current_read");
+ CONST_CAST(GLXEW_SGI_make_current_read) = _glewSearchExtension("GLX_SGI_make_current_read", extStart, extEnd);
if (glewExperimental || GLXEW_SGI_make_current_read) CONST_CAST(GLXEW_SGI_make_current_read) = !_glewInit_GLX_SGI_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGI_make_current_read */
#ifdef GLX_SGI_swap_control
- CONST_CAST(GLXEW_SGI_swap_control) = glxewGetExtension("GLX_SGI_swap_control");
+ CONST_CAST(GLXEW_SGI_swap_control) = _glewSearchExtension("GLX_SGI_swap_control", extStart, extEnd);
if (glewExperimental || GLXEW_SGI_swap_control) CONST_CAST(GLXEW_SGI_swap_control) = !_glewInit_GLX_SGI_swap_control(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGI_swap_control */
#ifdef GLX_SGI_video_sync
- CONST_CAST(GLXEW_SGI_video_sync) = glxewGetExtension("GLX_SGI_video_sync");
+ CONST_CAST(GLXEW_SGI_video_sync) = _glewSearchExtension("GLX_SGI_video_sync", extStart, extEnd);
if (glewExperimental || GLXEW_SGI_video_sync) CONST_CAST(GLXEW_SGI_video_sync) = !_glewInit_GLX_SGI_video_sync(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SGI_video_sync */
#ifdef GLX_SUN_get_transparent_index
- CONST_CAST(GLXEW_SUN_get_transparent_index) = glxewGetExtension("GLX_SUN_get_transparent_index");
+ CONST_CAST(GLXEW_SUN_get_transparent_index) = _glewSearchExtension("GLX_SUN_get_transparent_index", extStart, extEnd);
if (glewExperimental || GLXEW_SUN_get_transparent_index) CONST_CAST(GLXEW_SUN_get_transparent_index) = !_glewInit_GLX_SUN_get_transparent_index(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SUN_get_transparent_index */
#ifdef GLX_SUN_video_resize
- CONST_CAST(GLXEW_SUN_video_resize) = glxewGetExtension("GLX_SUN_video_resize");
+ CONST_CAST(GLXEW_SUN_video_resize) = _glewSearchExtension("GLX_SUN_video_resize", extStart, extEnd);
if (glewExperimental || GLXEW_SUN_video_resize) CONST_CAST(GLXEW_SUN_video_resize) = !_glewInit_GLX_SUN_video_resize(GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GLX_SUN_video_resize */
@@ -11354,10 +11581,10 @@ const GLubyte* glewGetString (GLenum name)
static const GLubyte* _glewString[] =
{
(const GLubyte*)NULL,
- (const GLubyte*)"1.5.8",
+ (const GLubyte*)"1.6.0",
(const GLubyte*)"1",
- (const GLubyte*)"5",
- (const GLubyte*)"8"
+ (const GLubyte*)"6",
+ (const GLubyte*)"0"
};
const int max_string = sizeof(_glewString)/sizeof(*_glewString) - 1;
return _glewString[(int)name > max_string ? 0 : (int)name];
@@ -11522,6 +11749,13 @@ GLboolean glewIsSupported (const char* name)
}
if (_glewStrSame2(&pos, &len, (const GLubyte*)"AMD_", 4))
{
+#ifdef GL_AMD_blend_minmax_factor
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_minmax_factor", 19))
+ {
+ ret = GLEW_AMD_blend_minmax_factor;
+ continue;
+ }
+#endif
#ifdef GL_AMD_conservative_depth
if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_depth", 18))
{
@@ -11564,6 +11798,13 @@ GLboolean glewIsSupported (const char* name)
continue;
}
#endif
+#ifdef GL_AMD_sample_positions
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_positions", 16))
+ {
+ ret = GLEW_AMD_sample_positions;
+ continue;
+ }
+#endif
#ifdef GL_AMD_seamless_cubemap_per_texture
if (_glewStrSame3(&pos, &len, (const GLubyte*)"seamless_cubemap_per_texture", 28))
{
@@ -13217,6 +13458,13 @@ GLboolean glewIsSupported (const char* name)
continue;
}
#endif
+#ifdef GL_EXT_x11_sync_object
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"x11_sync_object", 15))
+ {
+ ret = GLEW_EXT_x11_sync_object;
+ continue;
+ }
+#endif
}
if (_glewStrSame2(&pos, &len, (const GLubyte*)"GREMEDY_", 8))
{
@@ -13723,6 +13971,13 @@ GLboolean glewIsSupported (const char* name)
continue;
}
#endif
+#ifdef GL_NV_texture_multisample
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multisample", 19))
+ {
+ ret = GLEW_NV_texture_multisample;
+ continue;
+ }
+#endif
#ifdef GL_NV_texture_rectangle
if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17))
{
@@ -13842,6 +14097,13 @@ GLboolean glewIsSupported (const char* name)
continue;
}
#endif
+#ifdef GL_NV_video_capture
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13))
+ {
+ ret = GLEW_NV_video_capture;
+ continue;
+ }
+#endif
}
if (_glewStrSame2(&pos, &len, (const GLubyte*)"OES_", 4))
{
@@ -14655,6 +14917,13 @@ GLboolean wglewIsSupported (const char* name)
}
if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3))
{
+#ifdef WGL_NV_DX_interop
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"DX_interop", 10))
+ {
+ ret = WGLEW_NV_DX_interop;
+ continue;
+ }
+#endif
#ifdef WGL_NV_copy_image
if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10))
{
@@ -14718,6 +14987,13 @@ GLboolean wglewIsSupported (const char* name)
continue;
}
#endif
+#ifdef WGL_NV_video_capture
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13))
+ {
+ ret = WGLEW_NV_video_capture;
+ continue;
+ }
+#endif
#ifdef WGL_NV_video_output
if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_output", 12))
{
@@ -15035,6 +15311,13 @@ GLboolean glxewIsSupported (const char* name)
continue;
}
#endif
+#ifdef GLX_NV_video_capture
+ if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13))
+ {
+ ret = GLXEW_NV_video_capture;
+ continue;
+ }
+#endif
#ifdef GLX_NV_video_output
if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_output", 12))
{
@@ -15052,8 +15335,7 @@ GLboolean glxewIsSupported (const char* name)
continue;
}
#endif
-#if defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-#include <inttypes.h>
+#ifdef GLX_OML_sync_control
if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync_control", 12))
{
ret = GLXEW_OML_sync_control;
diff --git a/extern/libopenjpeg/CMakeLists.txt b/extern/libopenjpeg/CMakeLists.txt
index c5ba1363246..6f5056b341a 100644
--- a/extern/libopenjpeg/CMakeLists.txt
+++ b/extern/libopenjpeg/CMakeLists.txt
@@ -28,6 +28,14 @@ set(INC
.
)
+set(INC_SYS
+
+)
+
+if(WIN32)
+ add_definitions(-DOPJ_STATIC)
+endif()
+
set(SRC
bio.c
cio.c
@@ -73,4 +81,4 @@ set(SRC
tgt.h
)
-blender_add_lib(extern_openjpeg "${SRC}" "${INC}")
+blender_add_lib(extern_openjpeg "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/libredcode/CMakeLists.txt b/extern/libredcode/CMakeLists.txt
index 20ad6ae9f7d..1c4daac42d1 100644
--- a/extern/libredcode/CMakeLists.txt
+++ b/extern/libredcode/CMakeLists.txt
@@ -26,6 +26,9 @@
set(INC
.
+)
+
+set(INC_SYS
../libopenjpeg
)
@@ -39,4 +42,4 @@ set(SRC
format.h
)
-blender_add_lib(extern_redcode "${SRC}" "${INC}")
+blender_add_lib(extern_redcode "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/lzma/CMakeLists.txt b/extern/lzma/CMakeLists.txt
index 710165d2496..bfb52591e08 100644
--- a/extern/lzma/CMakeLists.txt
+++ b/extern/lzma/CMakeLists.txt
@@ -28,6 +28,10 @@ set(INC
.
)
+set(INC_SYS
+
+)
+
set(SRC
Alloc.c
LzFind.c
@@ -44,4 +48,4 @@ set(SRC
Types.h
)
-blender_add_lib(extern_lzma "${SRC}" "${INC}")
+blender_add_lib(extern_lzma "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/lzo/CMakeLists.txt b/extern/lzo/CMakeLists.txt
index 17728aad43e..11eb18520b6 100644
--- a/extern/lzo/CMakeLists.txt
+++ b/extern/lzo/CMakeLists.txt
@@ -25,7 +25,11 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- include
+
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -36,4 +40,4 @@ set(SRC
minilzo/minilzo.h
)
-blender_add_lib(extern_minilzo "${SRC}" "${INC}")
+blender_add_lib(extern_minilzo "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt
index 33bf9bb476c..fe30d6cfa0c 100644
--- a/intern/CMakeLists.txt
+++ b/intern/CMakeLists.txt
@@ -24,7 +24,6 @@
#
# ***** END GPL LICENSE BLOCK *****
-add_subdirectory(audaspace)
add_subdirectory(string)
add_subdirectory(ghost)
add_subdirectory(guardedalloc)
@@ -32,13 +31,20 @@ add_subdirectory(moto)
add_subdirectory(memutil)
add_subdirectory(iksolver)
add_subdirectory(opennl)
-add_subdirectory(smoke)
add_subdirectory(mikktspace)
+if(WITH_AUDASPACE)
+ add_subdirectory(audaspace)
+endif()
+
if(WITH_MOD_FLUID)
add_subdirectory(elbeem)
endif()
+if(WITH_MOD_SMOKE)
+ add_subdirectory(smoke)
+endif()
+
if(WITH_MOD_DECIMATE)
add_subdirectory(container)
add_subdirectory(decimation)
diff --git a/intern/audaspace/CMakeLists.txt b/intern/audaspace/CMakeLists.txt
index 74f483eab05..7eef13b103b 100644
--- a/intern/audaspace/CMakeLists.txt
+++ b/intern/audaspace/CMakeLists.txt
@@ -1,7 +1,7 @@
# $Id$
# ***** BEGIN LGPL LICENSE BLOCK *****
#
-# Copyright 2009 Jörg Hermann Müller
+# Copyright 2009 Jrg Hermann Mller
#
# This file is part of AudaSpace.
#
@@ -22,10 +22,14 @@
set(INC
.
+ FX
+ SRC
intern
- FX SRC
- ${PTHREADS_INC}
- ${LIBSAMPLERATE_INC}
+ ../ffmpeg
+)
+
+set(INC_SYS
+ ${PTHREADS_INCLUDE_DIRS}
)
set(SRC
@@ -155,8 +159,13 @@ set(SRC
if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
- list(APPEND INC ffmpeg ${FFMPEG_INC})
- set(FFMPEGSRC
+ list(APPEND INC
+ ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
+ list(APPEND SRC
ffmpeg/AUD_FFMPEGFactory.cpp
ffmpeg/AUD_FFMPEGReader.cpp
@@ -167,8 +176,13 @@ endif()
if(WITH_SDL)
add_definitions(-DWITH_SDL)
- list(APPEND INC SDL ${SDL_INCLUDE_DIR})
- set(SDLSRC
+ list(APPEND INC
+ SDL
+ )
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
+ list(APPEND SRC
SDL/AUD_SDLDevice.cpp
SDL/AUD_SDLDevice.h
@@ -177,18 +191,28 @@ endif()
if(WITH_OPENAL)
add_definitions(-DWITH_OPENAL)
- list(APPEND INC OpenAL ${OPENAL_INCLUDE_DIR})
- set(OPENALSRC
+ list(APPEND INC
+ OpenAL
+ )
+ list(APPEND INC_SYS
+ ${OPENAL_INCLUDE_DIR}
+ )
+ list(APPEND SRC
OpenAL/AUD_OpenALDevice.cpp
OpenAL/AUD_OpenALDevice.h
- )
+ )
endif()
if(WITH_JACK)
add_definitions(-DWITH_JACK)
- list(APPEND INC jack ${JACK_INC})
- set(JACKSRC
+ list(APPEND INC
+ jack
+ )
+ list(APPEND INC_SYS
+ ${JACK_INCLUDE_DIRS}
+ )
+ list(APPEND SRC
jack/AUD_JackDevice.cpp
jack/AUD_JackDevice.h
@@ -197,8 +221,13 @@ endif()
if(WITH_CODEC_SNDFILE)
add_definitions(-DWITH_SNDFILE)
- list(APPEND INC sndfile ${SNDFILE_INC})
- set(SNDFILESRC
+ list(APPEND INC
+ sndfile
+ )
+ list(APPEND INC_SYS
+ ${SNDFILE_INCLUDE_DIRS}
+ )
+ list(APPEND SRC
sndfile/AUD_SndFileFactory.cpp
sndfile/AUD_SndFileReader.cpp
@@ -209,7 +238,10 @@ endif()
if(WITH_SAMPLERATE)
add_definitions(-DWITH_SAMPLERATE)
- set(SRCFILESRC
+ list(APPEND INC_SYS
+ ${SAMPLERATE_INCLUDE_DIRS}
+ )
+ list(APPEND SRC
SRC/AUD_SRCResampleFactory.cpp
SRC/AUD_SRCResampleReader.cpp
@@ -220,8 +252,13 @@ endif()
if(WITH_FFTW3 AND FALSE)
add_definitions(-DWITH_FFTW3)
- list(APPEND INC fftw ${FFTW3_INC})
- set(FFTW3SRC
+ list(APPEND INC
+ fftw
+ )
+ list(APPEND INC_SYS
+ ${FFTW3_INCLUDE_DIRS}
+ )
+ list(APPEND SRC
fftw/AUD_BandPassFactory.cpp
fftw/AUD_BandPassReader.cpp
@@ -231,8 +268,13 @@ if(WITH_FFTW3 AND FALSE)
endif()
if(WITH_PYTHON)
- list(APPEND INC Python ${PYTHON_INCLUDE_DIRS})
- set(PYTHONSRC
+ list(APPEND INC
+ Python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
+ list(APPEND SRC
Python/AUD_PyAPI.cpp
Python/AUD_PyAPI.h
@@ -240,16 +282,4 @@ if(WITH_PYTHON)
add_definitions(-DWITH_PYTHON)
endif()
-set(SRC
- ${SRC}
- ${FFMPEGSRC}
- ${SNDFILESRC}
- ${SRCFILESRC}
- ${FFTW3SRC}
- ${SDLSRC}
- ${OPENALSRC}
- ${JACKSRC}
- ${PYTHONSRC}
-)
-
-blender_add_lib(bf_intern_audaspace "${SRC}" "${INC}")
+blender_add_lib(bf_intern_audaspace "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
index b9e30bbf62a..71e7b7677e8 100644
--- a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
+++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
@@ -105,12 +105,15 @@ void* AUD_openalRunThread(void* device)
return NULL;
}
-void AUD_OpenALDevice::start()
+void AUD_OpenALDevice::start(bool join)
{
lock();
if(!m_playing)
{
+ if(join)
+ pthread_join(m_thread, NULL);
+
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
@@ -271,8 +274,8 @@ void AUD_OpenALDevice::updateStreams()
// stop thread
if(m_playingSounds->empty() || (cerr != ALC_NO_ERROR))
{
- unlock();
m_playing = false;
+ unlock();
pthread_exit(NULL);
}
@@ -366,6 +369,8 @@ AUD_OpenALDevice::AUD_OpenALDevice(AUD_DeviceSpecs specs, int buffersize)
pthread_mutex_init(&m_mutex, &attr);
pthread_mutexattr_destroy(&attr);
+
+ start(false);
}
AUD_OpenALDevice::~AUD_OpenALDevice()
@@ -414,13 +419,8 @@ AUD_OpenALDevice::~AUD_OpenALDevice()
alcProcessContext(m_context);
// wait for the thread to stop
- if(m_playing)
- {
- unlock();
- pthread_join(m_thread, NULL);
- }
- else
- unlock();
+ unlock();
+ pthread_join(m_thread, NULL);
delete m_playingSounds;
delete m_pausedSounds;
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.h b/intern/audaspace/OpenAL/AUD_OpenALDevice.h
index 3bbbe85d7e6..127f69beca8 100644
--- a/intern/audaspace/OpenAL/AUD_OpenALDevice.h
+++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.h
@@ -106,7 +106,7 @@ private:
/**
* Starts the streaming thread.
*/
- void start();
+ void start(bool join = true);
/**
* Checks if a handle is valid.
diff --git a/intern/audaspace/SConscript b/intern/audaspace/SConscript
index ecc94987185..67f859b0e5f 100644
--- a/intern/audaspace/SConscript
+++ b/intern/audaspace/SConscript
@@ -8,7 +8,7 @@ defs = []
if env['WITH_BF_FFMPEG']:
sources += env.Glob('ffmpeg/*.cpp')
- incs += ' ffmpeg ' + env['BF_FFMPEG_INC']
+ incs += ' ffmpeg #/intern/ffmpeg ' + env['BF_FFMPEG_INC']
defs.append('WITH_FFMPEG')
if env['WITH_BF_SDL']:
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
index ea6e0c549fa..4597432e7d1 100644
--- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
@@ -39,6 +39,7 @@
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
+#include "ffmpeg_compat.h"
}
int AUD_FFMPEGReader::decode(AVPacket* packet, AUD_Buffer& buffer)
@@ -52,6 +53,10 @@ int AUD_FFMPEGReader::decode(AVPacket* packet, AUD_Buffer& buffer)
int read_length, data_size;
+ AVPacket tmp_pkt;
+
+ av_init_packet(&tmp_pkt);
+
// as long as there is still data in the package
while(audio_pkg_size > 0)
{
@@ -64,15 +69,14 @@ int AUD_FFMPEGReader::decode(AVPacket* packet, AUD_Buffer& buffer)
// read samples from the packet
data_size = buf_size - buf_pos;
- /*read_length = avcodec_decode_audio3(m_codecCtx,
- (int16_t*)(((data_t*)buffer.getBuffer())+buf_pos),
- &data_size,
- packet);*/
- read_length = avcodec_decode_audio2(m_codecCtx,
- (int16_t*)(((data_t*)buffer.getBuffer()) + buf_pos),
- &data_size,
- audio_pkg_data,
- audio_pkg_size);
+
+ tmp_pkt.data = audio_pkg_data;
+ tmp_pkt.size = audio_pkg_size;
+
+ read_length = avcodec_decode_audio3(
+ m_codecCtx,
+ (int16_t*)(((data_t*)buffer.getBuffer()) + buf_pos),
+ &data_size, &tmp_pkt);
// read error, next packet!
if(read_length < 0)
@@ -112,7 +116,7 @@ void AUD_FFMPEGReader::init()
for(unsigned int i = 0; i < m_formatCtx->nb_streams; i++)
{
- if((m_formatCtx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
+ if((m_formatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
&& (m_stream < 0))
{
m_stream=i;
diff --git a/intern/boolop/CMakeLists.txt b/intern/boolop/CMakeLists.txt
index 7e36f255268..742c0f1d42c 100644
--- a/intern/boolop/CMakeLists.txt
+++ b/intern/boolop/CMakeLists.txt
@@ -26,16 +26,20 @@
set(INC
.
- ./intern
- ./extern
- ../memutil
+ extern
+ intern
../container
../guardedalloc
+ ../memutil
../moto/include
../../source/blender/blenlib
../../source/blender/makesdna
)
+set(INC_SYS
+
+)
+
set(SRC
intern/BOP_BBox.cpp
intern/BOP_BSPNode.cpp
@@ -75,4 +79,4 @@ set(SRC
intern/BOP_Vertex.h
)
-blender_add_lib(bf_intern_bop "${SRC}" "${INC}")
+blender_add_lib(bf_intern_bop "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/bsp/CMakeLists.txt b/intern/bsp/CMakeLists.txt
index 2e615314543..a844db3257e 100644
--- a/intern/bsp/CMakeLists.txt
+++ b/intern/bsp/CMakeLists.txt
@@ -25,10 +25,15 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- ./intern
+ intern
../container
- ../moto/include
+ ../guardedalloc
../memutil
+ ../moto/include
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -43,4 +48,4 @@ set(SRC
intern/BSP_MeshPrimitives.h
)
-blender_add_lib(bf_intern_bsp "${SRC}" "${INC}")
+blender_add_lib(bf_intern_bsp "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/bsp/SConscript b/intern/bsp/SConscript
index 43952f4ff18..4927c33dc8a 100644
--- a/intern/bsp/SConscript
+++ b/intern/bsp/SConscript
@@ -3,7 +3,7 @@ Import ('env')
sources = env.Glob('intern/*.cpp')
-incs = 'intern ../container ../moto/include ../memutil'
+incs = 'intern ../container ../moto/include ../memutil ../guardedalloc'
env.BlenderLib ('bf_intern_bsp', sources, Split(incs), [], libtype=['core','player'], priority=[200,100] )
diff --git a/intern/container/CMakeLists.txt b/intern/container/CMakeLists.txt
index 7e83acf68ce..42c8de6a08e 100644
--- a/intern/container/CMakeLists.txt
+++ b/intern/container/CMakeLists.txt
@@ -29,6 +29,10 @@ set(INC
../guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
intern/CTR_List.cpp
@@ -40,4 +44,4 @@ set(SRC
CTR_UHeap.h
)
-blender_add_lib(bf_intern_ctr "${SRC}" "${INC}")
+blender_add_lib(bf_intern_ctr "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/container/CTR_TaggedIndex.h b/intern/container/CTR_TaggedIndex.h
index 0a57ce11d19..b5284a5da30 100644
--- a/intern/container/CTR_TaggedIndex.h
+++ b/intern/container/CTR_TaggedIndex.h
@@ -52,6 +52,8 @@
#include <functional>
+#include "MEM_sys_types.h"
+
enum {
empty_tag = 0x0,
@@ -100,9 +102,9 @@ public:
#if defined(_WIN64)
CTR_TaggedIndex(
- const unsigned __int64 val
+ const uint64_t val
) :
- m_val ( ((unsigned __int64)val & index_mask)
+ m_val ( ((uint64_t)val & index_mask)
| ( (empty_tag << tag_shift)
& (~index_mask) ) ) {
}
@@ -140,8 +142,8 @@ public:
}
#if defined(_WIN64)
- operator unsigned __int64 () const {
- return (unsigned __int64)(m_val & index_mask);
+ operator uint64_t () const {
+ return (uint64_t)(m_val & index_mask);
}
#endif
diff --git a/intern/decimation/CMakeLists.txt b/intern/decimation/CMakeLists.txt
index b726a8cd6a1..53ba92e416b 100644
--- a/intern/decimation/CMakeLists.txt
+++ b/intern/decimation/CMakeLists.txt
@@ -27,10 +27,15 @@
set(INC
.
../container
+ ../guardedalloc
../memutil
../moto/include
)
+set(INC_SYS
+
+)
+
set(SRC
intern/LOD_EdgeCollapser.cpp
intern/LOD_ExternNormalEditor.cpp
@@ -56,4 +61,4 @@ set(SRC
intern/LOD_QuadricEditor.h
)
-blender_add_lib(bf_intern_decimate "${SRC}" "${INC}")
+blender_add_lib(bf_intern_decimate "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/decimation/SConscript b/intern/decimation/SConscript
index 6e2929cb650..6f4befb3ffa 100644
--- a/intern/decimation/SConscript
+++ b/intern/decimation/SConscript
@@ -3,6 +3,6 @@ Import ('env')
sources = env.Glob('intern/*.cpp')
-incs = '. ../moto/include ../container ../memutil'
+incs = '. ../moto/include ../container ../memutil ../guardedalloc'
env.BlenderLib ('bf_intern_decimate', sources, Split(incs) , [], libtype=['core', 'player'], priority = [200, 100] )
diff --git a/intern/elbeem/CMakeLists.txt b/intern/elbeem/CMakeLists.txt
index dd23e854a25..7a842a29b98 100644
--- a/intern/elbeem/CMakeLists.txt
+++ b/intern/elbeem/CMakeLists.txt
@@ -26,6 +26,9 @@
set(INC
extern
+)
+
+set(INC_SYS
${PNG_INCLUDE_DIR}
${ZLIB_INCLUDE_DIRS}
)
@@ -88,11 +91,11 @@ set(SRC
add_definitions(-DNOGUI -DELBEEM_BLENDER=1)
if(WINDOWS)
- add_definitions(-DUSE_MSVC6FIXES)
+ add_definitions(-DUSE_MSVC6FIXES)
endif()
if(WITH_OPENMP)
- add_definitions(-DPARALLEL=1)
+ add_definitions(-DPARALLEL=1)
endif()
-blender_add_lib_nolist(bf_intern_elbeem "${SRC}" "${INC}")
+blender_add_lib_nolist(bf_intern_elbeem "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/elbeem/extern/elbeem.h b/intern/elbeem/extern/elbeem.h
index f5538df8805..6df08ccebd2 100644
--- a/intern/elbeem/extern/elbeem.h
+++ b/intern/elbeem/extern/elbeem.h
@@ -77,6 +77,10 @@ typedef struct elbeemSimulationSettings {
/* boundary types and settings for domain walls */
short domainobsType;
float domainobsPartslip;
+
+ /* what surfaces to generate */
+ int mFsSurfGenSetting;
+
/* generate speed vectors for vertices (e.g. for image based motion blur)*/
short generateVertexVectors;
/* strength of surface smoothing */
@@ -108,10 +112,12 @@ typedef struct elbeemSimulationSettings {
#define OB_FLUIDSIM_PARTICLE 64
#define OB_FLUIDSIM_CONTROL 128
-// defines for elbeemMesh->obstacleType below
+// defines for elbeemMesh->obstacleType below (low bits) high bits (>=64) are reserved for mFsSurfGenSetting flags which are defined in solver_class.h
#define FLUIDSIM_OBSTACLE_NOSLIP 1
#define FLUIDSIM_OBSTACLE_PARTSLIP 2
#define FLUIDSIM_OBSTACLE_FREESLIP 3
+#define FLUIDSIM_FSSG_NOOBS 64
+
#define OB_VOLUMEINIT_VOLUME 1
#define OB_VOLUMEINIT_SHELL 2
diff --git a/intern/elbeem/intern/simulation_object.cpp b/intern/elbeem/intern/simulation_object.cpp
index 2544b8fe29c..87828b26088 100644
--- a/intern/elbeem/intern/simulation_object.cpp
+++ b/intern/elbeem/intern/simulation_object.cpp
@@ -181,6 +181,9 @@ int SimulationObject::initializeLbmSimulation(ntlRenderGlobals *glob)
mpLbm->setGenerateParticles(mpElbeemSettings->generateParticles);
// set initial particles
mpParts->setNumInitialParticles(mpElbeemSettings->numTracerParticles);
+
+ // surface generation flag
+ mpLbm->setSurfGenSettings(mpElbeemSettings->mFsSurfGenSetting);
string dinitType = string("no");
if (mpElbeemSettings->domainobsType==FLUIDSIM_OBSTACLE_PARTSLIP) dinitType = string("part");
diff --git a/intern/elbeem/intern/solver_class.h b/intern/elbeem/intern/solver_class.h
index 8662ac3f12a..1548aaa19bc 100644
--- a/intern/elbeem/intern/solver_class.h
+++ b/intern/elbeem/intern/solver_class.h
@@ -308,6 +308,9 @@ class LbmFsgrSolver :
//! for raytracing, preprocess
void prepareVisualization( void );
+ /* surface generation settings */
+ virtual void setSurfGenSettings(short value);
+
protected:
//! internal quick print function (for debugging)
diff --git a/intern/elbeem/intern/solver_init.cpp b/intern/elbeem/intern/solver_init.cpp
index 899b1e0ecbc..7e9f5e7f420 100644
--- a/intern/elbeem/intern/solver_init.cpp
+++ b/intern/elbeem/intern/solver_init.cpp
@@ -539,6 +539,15 @@ void LbmFsgrSolver::parseAttrList()
/******************************************************************************
+ * (part of enabling chapter 6 of "Free Surface Flows with Moving and Deforming Objects for LBM")
+ *****************************************************************************/
+void LbmFsgrSolver::setSurfGenSettings(short value)
+{
+ mFsSurfGenSetting = value;
+}
+
+
+/******************************************************************************
* Initialize omegas and forces on all levels (for init/timestep change)
*****************************************************************************/
void LbmFsgrSolver::initLevelOmegas()
diff --git a/intern/elbeem/intern/solver_interface.h b/intern/elbeem/intern/solver_interface.h
index 71b347d683d..8f3181a307d 100644
--- a/intern/elbeem/intern/solver_interface.h
+++ b/intern/elbeem/intern/solver_interface.h
@@ -271,6 +271,9 @@ class LbmSolverInterface
/*! debug object display */
virtual vector<ntlGeometryObject*> getDebugObjects() { vector<ntlGeometryObject*> empty(0); return empty; }
+ /* surface generation settings */
+ virtual void setSurfGenSettings(short value) = 0;
+
#if LBM_USE_GUI==1
/*! show simulation info */
virtual void debugDisplay(int) = 0;
diff --git a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h
new file mode 100644
index 00000000000..fae8590568d
--- /dev/null
+++ b/intern/ffmpeg/ffmpeg_compat.h
@@ -0,0 +1,133 @@
+#ifndef __ffmpeg_compat_h_included__
+#define __ffmpeg_compat_h_included__ 1
+
+/*
+ * $Id$
+ *
+ * compatibility macros to make every ffmpeg installation appear
+ * like the most current installation (wrapping some functionality sometimes)
+ * it also includes all ffmpeg header files at once, no need to do it
+ * seperately.
+ *
+ * Copyright (c) 2011 Peter Schlaile
+ *
+ * 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.
+ *
+ */
+
+
+#include <libavformat/avformat.h>
+#include <libavcodec/avcodec.h>
+#include <libavutil/rational.h>
+
+#if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 101))
+#define FFMPEG_HAVE_PARSE_UTILS 1
+#include <libavutil/parseutils.h>
+#endif
+
+#include <libswscale/swscale.h>
+#include <libavcodec/opt.h>
+
+#if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 105))
+#define FFMPEG_HAVE_AVIO 1
+#endif
+
+#if (LIBAVCODEC_VERSION_MAJOR > 53) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR > 1)) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR == 1) && (LIBAVCODEC_VERSION_MICRO >= 1)) || ((LIBAVCODEC_VERSION_MAJOR == 52) && (LIBAVCODEC_VERSION_MINOR >= 121))
+#define FFMPEG_HAVE_DEFAULT_VAL_UNION 1
+#endif
+
+#if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 101))
+#define FFMPEG_HAVE_AV_DUMP_FORMAT 1
+#endif
+
+#if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 45))
+#define FFMPEG_HAVE_AV_GUESS_FORMAT 1
+#endif
+
+#if (LIBAVCODEC_VERSION_MAJOR > 52) || ((LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 23))
+#define FFMPEG_HAVE_DECODE_AUDIO3 1
+#define FFMPEG_HAVE_DECODE_VIDEO2 1
+#endif
+
+#if (LIBAVCODEC_VERSION_MAJOR > 52) || ((LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 64))
+#define FFMPEG_HAVE_AVMEDIA_TYPES 1
+#endif
+
+#if ((LIBAVCODEC_VERSION_MAJOR > 52) || (LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 29)) && \
+ ((LIBSWSCALE_VERSION_MAJOR > 0) || (LIBSWSCALE_VERSION_MAJOR >= 0) && (LIBSWSCALE_VERSION_MINOR >= 10))
+#define FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT
+#endif
+
+#ifndef FFMPEG_HAVE_AVIO
+#define AVIO_FLAG_WRITE URL_WRONLY
+#define avio_open url_fopen
+#define avio_tell url_ftell
+#define avio_close url_fclose
+#endif
+
+/* there are some version inbetween, which have avio_... functions but no
+ AVIO_FLAG_... */
+#ifndef AVIO_FLAG_WRITE
+#define AVIO_FLAG_WRITE URL_WRONLY
+#endif
+
+#ifndef AV_PKT_FLAG_KEY
+#define AV_PKT_FLAG_KEY PKT_FLAG_KEY
+#endif
+
+#ifndef FFMPEG_HAVE_AV_DUMP_FORMAT
+#define av_dump_format dump_format
+#endif
+
+#ifndef FFMPEG_HAVE_AV_GUESS_FORMAT
+#define av_guess_format guess_format
+#endif
+
+#ifndef FFMPEG_HAVE_PARSE_UTILS
+#define av_parse_video_rate av_parse_video_frame_rate
+#endif
+
+#ifdef FFMPEG_HAVE_DEFAULT_VAL_UNION
+#define FFMPEG_DEF_OPT_VAL_INT(OPT) OPT->default_val.i64
+#define FFMPEG_DEF_OPT_VAL_DOUBLE(OPT) OPT->default_val.dbl
+#else
+#define FFMPEG_DEF_OPT_VAL_INT(OPT) OPT->default_val
+#define FFMPEG_DEF_OPT_VAL_DOUBLE(OPT) OPT->default_val
+#endif
+
+#ifndef FFMPEG_HAVE_AVMEDIA_TYPES
+#define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO
+#define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
+#endif
+
+#ifndef FFMPEG_HAVE_DECODE_AUDIO3
+static inline
+int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples,
+ int *frame_size_ptr, AVPacket *avpkt)
+{
+ return avcodec_decode_audio2(avctx, samples,
+ frame_size_ptr, avpkt->data,
+ avpkt->size);
+}
+#endif
+
+#ifndef FFMPEG_HAVE_DECODE_VIDEO2
+static inline
+int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
+ int *got_picture_ptr,
+ AVPacket *avpkt)
+{
+ return avcodec_decode_video(avctx, picture, got_picture_ptr,
+ avpkt->data, avpkt->size);
+}
+#endif
+
+#endif
diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
index 0d7a64ddfa9..ccd763ef42c 100644
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -29,22 +29,24 @@ set(INC
../string
../../source/blender/imbuf
../../source/blender/makesdna
- ${GLEW_INCLUDE_PATH}
+)
+
+set(INC_SYS
+ ${GLEW_INCLUDE_PATH}
)
set(SRC
intern/GHOST_Buttons.cpp
- intern/GHOST_CallbackEventConsumer.cpp
intern/GHOST_C-api.cpp
- intern/GHOST_Path-api.cpp
+ intern/GHOST_CallbackEventConsumer.cpp
intern/GHOST_DisplayManager.cpp
intern/GHOST_EventManager.cpp
- intern/GHOST_EventPrinter.cpp
intern/GHOST_ISystem.cpp
intern/GHOST_ISystemPaths.cpp
intern/GHOST_ModifierKeys.cpp
intern/GHOST_NDOFManager.cpp
intern/GHOST_Path-api.cpp
+ intern/GHOST_Path-api.cpp
intern/GHOST_Rect.cpp
intern/GHOST_System.cpp
intern/GHOST_TimerManager.cpp
@@ -61,6 +63,7 @@ set(SRC
GHOST_Path-api.h
GHOST_Rect.h
GHOST_Types.h
+
intern/GHOST_Buttons.h
intern/GHOST_CallbackEventConsumer.h
intern/GHOST_Debug.h
@@ -72,7 +75,6 @@ set(SRC
intern/GHOST_EventKey.h
intern/GHOST_EventManager.h
intern/GHOST_EventNDOF.h
- intern/GHOST_EventPrinter.h
intern/GHOST_EventString.h
intern/GHOST_EventTrackpad.h
intern/GHOST_EventWheel.h
@@ -86,7 +88,70 @@ set(SRC
intern/GHOST_WindowManager.h
)
-if(APPLE)
+if(WITH_GHOST_DEBUG)
+ list(APPEND SRC
+ intern/GHOST_EventPrinter.cpp
+
+ intern/GHOST_EventPrinter.h
+ )
+ add_definitions(-DWITH_GHOST_DEBUG)
+endif()
+
+
+if(WITH_HEADLESS OR WITH_GHOST_SDL)
+ if(WITH_HEADLESS)
+ list(APPEND SRC
+ intern/GHOST_DisplayManagerNULL.h
+ intern/GHOST_SystemNULL.h
+ intern/GHOST_WindowNULL.h
+ )
+ add_definitions(-DWITH_HEADLESS)
+ else()
+ list(APPEND SRC
+ intern/GHOST_DisplayManagerSDL.cpp
+ intern/GHOST_SystemSDL.cpp
+ intern/GHOST_WindowSDL.cpp
+
+ intern/GHOST_DisplayManagerSDL.h
+ intern/GHOST_SystemSDL.h
+ intern/GHOST_WindowSDL.h
+ )
+ add_definitions(-DWITH_GHOST_SDL)
+ endif()
+
+
+ # ack, this is still system dependant
+ if(APPLE)
+ if(WITH_COCOA)
+ list(APPEND SRC
+ intern/GHOST_SystemPathsCocoa.mm
+ intern/GHOST_SystemPathsCocoa.h
+ )
+ else()
+ list(APPEND SRC
+ intern/GHOST_SystemPathsCarbon.cpp
+ intern/GHOST_SystemPathsCarbon.h
+ )
+ endif()
+ elseif(UNIX)
+ list(APPEND SRC
+ intern/GHOST_SystemPathsX11.cpp
+ intern/GHOST_SystemPathsX11.h
+ )
+ elseif(WIN32)
+
+ list(APPEND SRC
+ intern/GHOST_SystemPathsWin32.cpp
+
+ intern/GHOST_SystemPathsWin32.h
+ )
+ endif()
+
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
+
+elseif(APPLE)
if(WITH_COCOA)
list(APPEND SRC
intern/GHOST_DisplayManagerCocoa.mm
@@ -123,7 +188,9 @@ elseif(UNIX)
add_definitions(-DWITH_X11_XINPUT)
endif()
- list(APPEND INC ${X11_X11_INCLUDE_PATH})
+ list(APPEND INC_SYS
+ ${X11_X11_INCLUDE_PATH}
+ )
list(APPEND SRC
intern/GHOST_DisplayManagerX11.cpp
@@ -143,7 +210,9 @@ elseif(UNIX)
if(X11_XF86keysym_INCLUDE_PATH)
add_definitions(-DWITH_XF86KEYSYM)
- list(APPEND INC ${X11_XF86keysym_INCLUDE_PATH})
+ list(APPEND INC_SYS
+ ${X11_XF86keysym_INCLUDE_PATH}
+ )
endif()
elseif(WIN32)
@@ -151,7 +220,9 @@ elseif(WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
endif()
- list(APPEND INC ${WINTAB_INC})
+ list(APPEND INC_SYS
+ ${WINTAB_INC}
+ )
list(APPEND SRC
intern/GHOST_DisplayManagerWin32.cpp
@@ -169,5 +240,5 @@ elseif(WIN32)
)
endif()
-blender_add_lib(bf_intern_ghost "${SRC}" "${INC}")
+blender_add_lib(bf_intern_ghost "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h
index 705f4916619..6a4da5c9d38 100644
--- a/intern/ghost/GHOST_Types.h
+++ b/intern/ghost/GHOST_Types.h
@@ -218,8 +218,9 @@ typedef enum {
GHOST_kStandardCursorBottomLeftCorner,
GHOST_kStandardCursorCopy,
GHOST_kStandardCursorCustom,
- GHOST_kStandardCursorNumCursors,
- GHOST_kStandardCursorPencil
+ GHOST_kStandardCursorPencil,
+
+ GHOST_kStandardCursorNumCursors
} GHOST_TStandardCursor;
diff --git a/intern/ghost/SConscript b/intern/ghost/SConscript
index b67545f216a..c65ec58a97b 100644
--- a/intern/ghost/SConscript
+++ b/intern/ghost/SConscript
@@ -14,11 +14,24 @@ if window_system == 'darwin':
pf = ['GHOST_DisplayManager', 'GHOST_System', 'GHOST_SystemPaths', 'GHOST_Window', 'GHOST_DropTarget']
defs=['_USE_MATH_DEFINES']
-if window_system in ('linux2', 'openbsd3', 'sunos5', 'freebsd7', 'freebsd8', 'freebsd9', 'irix6', 'aix4', 'aix5'):
+incs = '. ../string #extern/glew/include #source/blender/imbuf #source/blender/makesdna ' + env['BF_OPENGL_INC']
+
+if env['WITH_GHOST_SDL']:
+ for f in pf:
+ try:
+ sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'Win32.cpp')
+ sources.remove('intern' + os.sep + f + 'X11.cpp')
+ except ValueError:
+ pass
+ incs += ' ' + env['BF_SDL_INC']
+ defs += ['WITH_GHOST_SDL']
+elif window_system in ('linux2', 'openbsd3', 'sunos5', 'freebsd7', 'freebsd8', 'freebsd9', 'irix6', 'aix4', 'aix5'):
for f in pf:
try:
sources.remove('intern' + os.sep + f + 'Win32.cpp')
sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
defs += ['PREFIX=\\"/usr/local/\\"'] # XXX, make an option
@@ -29,6 +42,7 @@ elif window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64
try:
sources.remove('intern' + os.sep + f + 'X11.cpp')
sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
elif window_system == 'darwin':
@@ -42,6 +56,7 @@ elif window_system == 'darwin':
sources.remove('intern' + os.sep + f + 'Win32.cpp')
sources.remove('intern' + os.sep + f + 'X11.cpp')
sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
else:
@@ -50,6 +65,7 @@ elif window_system == 'darwin':
sources.remove('intern' + os.sep + f + 'Win32.cpp')
sources.remove('intern' + os.sep + f + 'X11.cpp')
sources.remove('intern' + os.sep + f + 'Cocoa.mm')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
@@ -58,9 +74,10 @@ else:
Exit()
if env['BF_GHOST_DEBUG']:
- defs.append('BF_GHOST_DEBUG')
+ defs.append('WITH_GHOST_DEBUG')
+else:
+ sources.remove('intern' + os.sep + 'GHOST_EventPrinter.cpp')
-incs = '. ../string #extern/glew/include #source/blender/imbuf #source/blender/makesdna ' + env['BF_OPENGL_INC']
if window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-vc'):
incs = env['BF_WINTAB_INC'] + ' ' + incs
diff --git a/intern/ghost/intern/GHOST_Debug.h b/intern/ghost/intern/GHOST_Debug.h
index e77f3b9c461..ef1099b5cf6 100644
--- a/intern/ghost/intern/GHOST_Debug.h
+++ b/intern/ghost/intern/GHOST_Debug.h
@@ -41,9 +41,9 @@
#endif // DEBUG
#endif // WIN32
-#ifdef BF_GHOST_DEBUG
+#ifdef WITH_GHOST_DEBUG
#define GHOST_DEBUG // spit ghost events to stdout
-#endif // BF_GHOST_DEBUG
+#endif // WITH_GHOST_DEBUG
#ifdef GHOST_DEBUG
#include <iostream>
diff --git a/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm b/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm
index ab3abdd659f..86f5f4cdddb 100644
--- a/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm
+++ b/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm
@@ -164,5 +164,5 @@ GHOST_TSuccess GHOST_DisplayManagerCocoa::setCurrentDisplaySetting(GHOST_TUns8 d
//CGDisplayErr err = ::CGDisplaySwitchToMode(m_displayIDs[display], displayModeValues);
- return /*err == CGDisplayNoErr ? GHOST_kSuccess :*/ GHOST_kFailure;
+ return /*err == CGDisplayNoErr ?*/ GHOST_kSuccess /*: GHOST_kFailure*/;
}
diff --git a/intern/ghost/intern/GHOST_DisplayManagerNULL.h b/intern/ghost/intern/GHOST_DisplayManagerNULL.h
new file mode 100644
index 00000000000..ba4a36ee3d1
--- /dev/null
+++ b/intern/ghost/intern/GHOST_DisplayManagerNULL.h
@@ -0,0 +1,51 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_DisplayManagerNULL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_DisplayManagerNULL class.
+ */
+
+#ifndef _GHOST_DISPLAY_MANAGER_NULL_H_
+#define _GHOST_DISPLAY_MANAGER_NULL_H_
+
+#include "GHOST_DisplayManager.h"
+#include "GHOST_SystemNULL.h"
+
+class GHOST_SystemNULL;
+
+class GHOST_DisplayManagerNULL : public GHOST_DisplayManager
+{
+public:
+ GHOST_DisplayManagerNULL( GHOST_SystemNULL *system ) : GHOST_DisplayManager(), m_system(system) { /* nop */ }
+ GHOST_TSuccess getNumDisplays( GHOST_TUns8& numDisplays ) const { return GHOST_kFailure; }
+ GHOST_TSuccess getNumDisplaySettings( GHOST_TUns8 display, GHOST_TInt32& numSettings ) const{ return GHOST_kFailure; }
+ GHOST_TSuccess getDisplaySetting( GHOST_TUns8 display, GHOST_TInt32 index, GHOST_DisplaySetting& setting ) const { return GHOST_kFailure; }
+ GHOST_TSuccess getCurrentDisplaySetting( GHOST_TUns8 display, GHOST_DisplaySetting& setting ) const { return getDisplaySetting(display,GHOST_TInt32(0),setting); }
+ GHOST_TSuccess setCurrentDisplaySetting( GHOST_TUns8 display, const GHOST_DisplaySetting& setting ){ return GHOST_kSuccess; }
+
+private :
+ GHOST_SystemNULL * m_system;
+};
+
+#endif /* _GHOST_DISPLAY_MANAGER_NULL_H_ */
diff --git a/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp b/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp
new file mode 100644
index 00000000000..2e55957e60a
--- /dev/null
+++ b/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp
@@ -0,0 +1,93 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_DisplayManagerSDL.cpp
+ * \ingroup GHOST
+ */
+
+#include "GHOST_SystemSDL.h"
+#include "GHOST_DisplayManagerSDL.h"
+
+GHOST_DisplayManagerSDL::GHOST_DisplayManagerSDL(GHOST_SystemSDL *system)
+ :
+ GHOST_DisplayManager(),
+ m_system(system)
+{
+ /* do nothing */
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL::getNumDisplays(GHOST_TUns8& numDisplays)
+{
+ numDisplays= SDL_GetNumVideoDisplays();
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess GHOST_DisplayManagerSDL::getNumDisplaySettings(GHOST_TUns8 display,
+ GHOST_TInt32& numSettings)
+{
+ GHOST_ASSERT(display < 1, "Only single display systems are currently supported.\n");
+ numSettings= GHOST_TInt32(1);
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL::getDisplaySetting(GHOST_TUns8 display,
+ GHOST_TInt32 index,
+ GHOST_DisplaySetting& setting)
+{
+
+ GHOST_ASSERT(display < 1, "Only single display systems are currently supported.\n");
+ GHOST_ASSERT(index < 1, "Requested setting outside of valid range.\n");
+ SDL_DisplayMode mode;
+
+ SDL_GetDesktopDisplayMode(display, &mode);
+
+ setting.xPixels= mode.w;
+ setting.yPixels= mode.h;
+ setting.bpp= SDL_BYTESPERPIXEL(mode.format);
+ /* assume 60 when unset */
+ setting.frequency= mode.refresh_rate ? mode.refresh_rate : 60;
+
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL::getCurrentDisplaySetting(GHOST_TUns8 display,
+ GHOST_DisplaySetting& setting)
+{
+ return getDisplaySetting(display,GHOST_TInt32(0),setting);
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL:: setCurrentDisplaySetting(GHOST_TUns8 display,
+ const GHOST_DisplaySetting& setting)
+{
+ // This is never going to work robustly in X
+ // but it's currently part of the full screen interface
+
+ // we fudge it for now.
+
+ return GHOST_kSuccess;
+}
diff --git a/intern/ghost/intern/GHOST_DisplayManagerSDL.h b/intern/ghost/intern/GHOST_DisplayManagerSDL.h
new file mode 100644
index 00000000000..2a815b1dc28
--- /dev/null
+++ b/intern/ghost/intern/GHOST_DisplayManagerSDL.h
@@ -0,0 +1,73 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_DisplayManagerSDL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_DisplayManagerSDL class.
+ */
+
+#ifndef _GHOST_DISPLAY_MANAGER_SDL_H_
+#define _GHOST_DISPLAY_MANAGER_SDL_H_
+
+#include "GHOST_DisplayManager.h"
+
+extern "C" {
+ #include "SDL.h"
+}
+
+#if !SDL_VERSION_ATLEAST(1, 3, 0)
+# error "SDL 1.3 or newer is needed to build with Ghost"
+#endif
+
+class GHOST_SystemSDL;
+
+class GHOST_DisplayManagerSDL : public GHOST_DisplayManager
+{
+public:
+ GHOST_DisplayManagerSDL(GHOST_SystemSDL *system);
+
+ GHOST_TSuccess
+ getNumDisplays(GHOST_TUns8& numDisplays);
+
+ GHOST_TSuccess
+ getNumDisplaySettings(GHOST_TUns8 display,
+ GHOST_TInt32& numSettings);
+
+ GHOST_TSuccess
+ getDisplaySetting(GHOST_TUns8 display,
+ GHOST_TInt32 index,
+ GHOST_DisplaySetting& setting);
+
+ GHOST_TSuccess
+ getCurrentDisplaySetting(GHOST_TUns8 display,
+ GHOST_DisplaySetting& setting);
+
+ GHOST_TSuccess
+ setCurrentDisplaySetting(GHOST_TUns8 display,
+ const GHOST_DisplaySetting& setting);
+
+private :
+ GHOST_SystemSDL * m_system;
+};
+
+#endif /* _GHOST_DISPLAY_MANAGER_SDL_H_ */
diff --git a/intern/ghost/intern/GHOST_EventPrinter.cpp b/intern/ghost/intern/GHOST_EventPrinter.cpp
index 139c4beb412..9fa0b278353 100644
--- a/intern/ghost/intern/GHOST_EventPrinter.cpp
+++ b/intern/ghost/intern/GHOST_EventPrinter.cpp
@@ -37,6 +37,7 @@
#include "GHOST_EventDragnDrop.h"
#include "GHOST_Debug.h"
+#include <stdio.h>
bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event)
{
@@ -82,17 +83,17 @@ bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event)
case GHOST_kEventKeyUp:
{
GHOST_TEventKeyData* keyData = (GHOST_TEventKeyData*)((GHOST_IEvent*)event)->getData();
- STR_String str;
+ char str[32]= {'\0'};
getKeyString(keyData->key, str);
- std::cout << "GHOST_kEventKeyUp, key: " << str.Ptr();
+ std::cout << "GHOST_kEventKeyUp, key: " << str;
}
break;
case GHOST_kEventKeyDown:
{
GHOST_TEventKeyData* keyData = (GHOST_TEventKeyData*)((GHOST_IEvent*)event)->getData();
- STR_String str;
+ char str[32]= {'\0'};
getKeyString(keyData->key, str);
- std::cout << "GHOST_kEventKeyDown, key: " << str.Ptr();
+ std::cout << "GHOST_kEventKeyDown, key: " << str;
}
break;
@@ -183,165 +184,161 @@ bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event)
}
-void GHOST_EventPrinter::getKeyString(GHOST_TKey key, STR_String& str) const
+void GHOST_EventPrinter::getKeyString(GHOST_TKey key, char str[32]) const
{
if ((key >= GHOST_kKeyComma) && (key <= GHOST_kKeyRightBracket)) {
- str = ((char)key);
+ sprintf(str, "%c", (char)key);
} else if ((key >= GHOST_kKeyNumpad0) && (key <= GHOST_kKeyNumpad9)) {
- int number = key - GHOST_kKeyNumpad0;
- STR_String numberStr (number);
- str = "Numpad";
- str += numberStr;
+ sprintf(str, "Numpad %d", (key - GHOST_kKeyNumpad0));
#if defined(__sun__) || defined(__sun)
} else if (key == 268828432) { /* solaris keyboards are messed up */
/* This should really test XK_F11 but that doesn't work */
- str = "F11";
+ strcpy(str, "F11");
} else if (key == 268828433) { /* solaris keyboards are messed up */
/* This should really test XK_F12 but that doesn't work */
- str = "F12";
+ strcpy(str, "F12");
#endif
} else if ((key >= GHOST_kKeyF1) && (key <= GHOST_kKeyF24)) {
- int number = key - GHOST_kKeyF1 + 1;
- STR_String numberStr (number);
- str = "F";
- str += numberStr;
+ sprintf(str, "F%d", key - GHOST_kKeyF1 + 1);
} else {
- switch (key)
- {
+ const char *tstr= NULL;
+ switch (key) {
case GHOST_kKeyBackSpace:
- str = "BackSpace";
+ tstr = "BackSpace";
break;
case GHOST_kKeyTab:
- str = "Tab";
+ tstr = "Tab";
break;
case GHOST_kKeyLinefeed:
- str = "Linefeed";
+ tstr = "Linefeed";
break;
case GHOST_kKeyClear:
- str = "Clear";
+ tstr = "Clear";
break;
case GHOST_kKeyEnter:
- str = "Enter";
+ tstr = "Enter";
break;
case GHOST_kKeyEsc:
- str = "Esc";
+ tstr = "Esc";
break;
case GHOST_kKeySpace:
- str = "Space";
+ tstr = "Space";
break;
case GHOST_kKeyQuote:
- str = "Quote";
+ tstr = "Quote";
break;
case GHOST_kKeyBackslash:
- str = "\\";
+ tstr = "\\";
break;
case GHOST_kKeyAccentGrave:
- str = "`";
+ tstr = "`";
break;
case GHOST_kKeyLeftShift:
- str = "LeftShift";
+ tstr = "LeftShift";
break;
case GHOST_kKeyRightShift:
- str = "RightShift";
+ tstr = "RightShift";
break;
case GHOST_kKeyLeftControl:
- str = "LeftControl";
+ tstr = "LeftControl";
break;
case GHOST_kKeyRightControl:
- str = "RightControl";
+ tstr = "RightControl";
break;
case GHOST_kKeyLeftAlt:
- str = "LeftAlt";
+ tstr = "LeftAlt";
break;
case GHOST_kKeyRightAlt:
- str = "RightAlt";
+ tstr = "RightAlt";
break;
case GHOST_kKeyOS:
- str = "OS";
+ tstr = "OS";
break;
case GHOST_kKeyGrLess:
// PC german!
- str = "GrLess";
+ tstr = "GrLess";
break;
case GHOST_kKeyCapsLock:
- str = "CapsLock";
+ tstr = "CapsLock";
break;
case GHOST_kKeyNumLock:
- str = "NumLock";
+ tstr = "NumLock";
break;
case GHOST_kKeyScrollLock:
- str = "ScrollLock";
+ tstr = "ScrollLock";
break;
case GHOST_kKeyLeftArrow:
- str = "LeftArrow";
+ tstr = "LeftArrow";
break;
case GHOST_kKeyRightArrow:
- str = "RightArrow";
+ tstr = "RightArrow";
break;
case GHOST_kKeyUpArrow:
- str = "UpArrow";
+ tstr = "UpArrow";
break;
case GHOST_kKeyDownArrow:
- str = "DownArrow";
+ tstr = "DownArrow";
break;
case GHOST_kKeyPrintScreen:
- str = "PrintScreen";
+ tstr = "PrintScreen";
break;
case GHOST_kKeyPause:
- str = "Pause";
+ tstr = "Pause";
break;
case GHOST_kKeyInsert:
- str = "Insert";
+ tstr = "Insert";
break;
case GHOST_kKeyDelete:
- str = "Delete";
+ tstr = "Delete";
break;
case GHOST_kKeyHome:
- str = "Home";
+ tstr = "Home";
break;
case GHOST_kKeyEnd:
- str = "End";
+ tstr = "End";
break;
case GHOST_kKeyUpPage:
- str = "UpPage";
+ tstr = "UpPage";
break;
case GHOST_kKeyDownPage:
- str = "DownPage";
+ tstr = "DownPage";
break;
case GHOST_kKeyNumpadPeriod:
- str = "NumpadPeriod";
+ tstr = "NumpadPeriod";
break;
case GHOST_kKeyNumpadEnter:
- str = "NumpadEnter";
+ tstr = "NumpadEnter";
break;
case GHOST_kKeyNumpadPlus:
- str = "NumpadPlus";
+ tstr = "NumpadPlus";
break;
case GHOST_kKeyNumpadMinus:
- str = "NumpadMinus";
+ tstr = "NumpadMinus";
break;
case GHOST_kKeyNumpadAsterisk:
- str = "NumpadAsterisk";
+ tstr = "NumpadAsterisk";
break;
case GHOST_kKeyNumpadSlash:
- str = "NumpadSlash";
+ tstr = "NumpadSlash";
break;
case GHOST_kKeyMediaPlay:
- str = "MediaPlayPause";
+ tstr = "MediaPlayPause";
break;
case GHOST_kKeyMediaStop:
- str = "MediaStop";
+ tstr = "MediaStop";
break;
case GHOST_kKeyMediaFirst:
- str = "MediaFirst";
+ tstr = "MediaFirst";
break;
case GHOST_kKeyMediaLast:
- str = "MediaLast";
+ tstr = "MediaLast";
break;
default:
- str = "unknown";
+ tstr = "unknown";
break;
}
+
+ sprintf(str, "%s", tstr);
}
}
diff --git a/intern/ghost/intern/GHOST_EventPrinter.h b/intern/ghost/intern/GHOST_EventPrinter.h
index 74c379e76a8..d9b7f86c04e 100644
--- a/intern/ghost/intern/GHOST_EventPrinter.h
+++ b/intern/ghost/intern/GHOST_EventPrinter.h
@@ -58,7 +58,7 @@ protected:
* @param key The GHOST key code to convert.
* @param str The GHOST key code converted to a readable string.
*/
- void getKeyString(GHOST_TKey key, STR_String& str) const;
+ void getKeyString(GHOST_TKey key, char str[32]) const;
};
#endif // _GHOST_EVENT_PRINTER_H_
diff --git a/intern/ghost/intern/GHOST_ISystem.cpp b/intern/ghost/intern/GHOST_ISystem.cpp
index 040164e2c40..278c224ff85 100644
--- a/intern/ghost/intern/GHOST_ISystem.cpp
+++ b/intern/ghost/intern/GHOST_ISystem.cpp
@@ -41,7 +41,11 @@
#include "GHOST_ISystem.h"
-#ifdef WIN32
+#ifdef WITH_HEADLESS
+# include "GHOST_SystemNULL.h"
+#elif defined(WITH_GHOST_SDL)
+# include "GHOST_SystemSDL.h"
+#elif defined(WIN32)
# include "GHOST_SystemWin32.h"
#else
# ifdef __APPLE__
@@ -63,7 +67,11 @@ GHOST_TSuccess GHOST_ISystem::createSystem()
{
GHOST_TSuccess success;
if (!m_system) {
-#ifdef WIN32
+#ifdef WITH_HEADLESS
+ m_system = new GHOST_SystemNULL();
+#elif defined(WITH_GHOST_SDL)
+ m_system = new GHOST_SystemSDL();
+#elif defined(WIN32)
m_system = new GHOST_SystemWin32 ();
#else
# ifdef __APPLE__
diff --git a/intern/ghost/intern/GHOST_NDOFManager.cpp b/intern/ghost/intern/GHOST_NDOFManager.cpp
index 95626ec26ea..dae6cb5b544 100644
--- a/intern/ghost/intern/GHOST_NDOFManager.cpp
+++ b/intern/ghost/intern/GHOST_NDOFManager.cpp
@@ -81,8 +81,12 @@ GHOST_NDOFManager::deviceOpen(GHOST_IWindow* window,
#if 0
printf("%i client \n", Pid);
#endif
- #if defined(_WIN32) || defined(__APPLE__)
+ #if defined(WITH_HEADLESS)
+ /* do nothing */
+ #elif defined(_WIN32) || defined(__APPLE__)
m_DeviceHandle = ndofDeviceOpen((void *)&currentNdofValues);
+ #elif defined(WITH_GHOST_SDL)
+ /* do nothing */
#else
GHOST_SystemX11 *sys;
sys = static_cast<GHOST_SystemX11*>(GHOST_ISystem::getSystem());
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.h b/intern/ghost/intern/GHOST_SystemCocoa.h
index e7a8178a382..ce777358389 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.h
+++ b/intern/ghost/intern/GHOST_SystemCocoa.h
@@ -119,14 +119,6 @@ public:
const GHOST_TEmbedderWindowID parentWindow = 0
);
- virtual GHOST_TSuccess beginFullScreen(
- const GHOST_DisplaySetting& setting,
- GHOST_IWindow** window,
- const bool stereoVisual
- );
-
- virtual GHOST_TSuccess endFullScreen( void );
-
/***************************************************************************************
** Event management functionality
***************************************************************************************/
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm
index bf401138cf1..bb3d6e3aee3 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -741,11 +741,13 @@ GHOST_IWindow* GHOST_SystemCocoa::createWindow(
NSRect contentRect = [NSWindow contentRectForFrameRect:frame
styleMask:(NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask)];
+ GHOST_TInt32 bottom = (contentRect.size.height - 1) - height - top;
+
//Ensures window top left is inside this available rect
left = left > contentRect.origin.x ? left : contentRect.origin.x;
- top = top > contentRect.origin.y ? top : contentRect.origin.y;
-
- window = new GHOST_WindowCocoa (this, title, left, top, width, height, state, type, stereoVisual, numOfAASamples);
+ bottom = bottom > contentRect.origin.y ? bottom : contentRect.origin.y;
+
+ window = new GHOST_WindowCocoa (this, title, left, bottom, width, height, state, type, stereoVisual, numOfAASamples);
if (window) {
if (window->getValid()) {
@@ -771,26 +773,6 @@ GHOST_IWindow* GHOST_SystemCocoa::createWindow(
return window;
}
-GHOST_TSuccess GHOST_SystemCocoa::beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window, const bool stereoVisual)
-{
- GHOST_IWindow* currentWindow = m_windowManager->getActiveWindow();
- *window = currentWindow;
-
- if(!currentWindow) return GHOST_kFailure;
-
- return currentWindow->setState(GHOST_kWindowStateFullScreen);
-}
-
-GHOST_TSuccess GHOST_SystemCocoa::endFullScreen(void)
-{
- GHOST_IWindow* currentWindow = m_windowManager->getActiveWindow();
- if(!currentWindow) return GHOST_kFailure;
-
- return currentWindow->setState(GHOST_kWindowStateNormal);
-}
-
-
-
/**
* @note : returns coordinates in Cocoa screen coordinates
*/
@@ -809,7 +791,6 @@ GHOST_TSuccess GHOST_SystemCocoa::getCursorPosition(GHOST_TInt32& x, GHOST_TInt3
*/
GHOST_TSuccess GHOST_SystemCocoa::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y)
{
- GHOST_TInt32 wx,wy;
GHOST_WindowCocoa* window = (GHOST_WindowCocoa*)m_windowManager->getActiveWindow();
if (!window) return GHOST_kFailure;
@@ -820,8 +801,7 @@ GHOST_TSuccess GHOST_SystemCocoa::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32
CGAssociateMouseAndMouseCursorPosition(true);
//Force mouse move event (not pushed by Cocoa)
- window->screenToClient(x, y, wx, wy);
- pushEvent(new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, wx,wy));
+ pushEvent(new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x, y));
m_outsideLoopEventProcessed = true;
return GHOST_kSuccess;
@@ -1433,9 +1413,9 @@ GHOST_TSuccess GHOST_SystemCocoa::handleTabletEvent(void *eventPtr, short eventT
GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
{
NSEvent *event = (NSEvent *)eventPtr;
- GHOST_Window* window;
+ GHOST_WindowCocoa* window;
- window = (GHOST_Window*)m_windowManager->getWindowAssociatedWithOSWindow((void*)[event window]);
+ window = (GHOST_WindowCocoa*)m_windowManager->getWindowAssociatedWithOSWindow((void*)[event window]);
if (!window) {
//printf("\nW failure for event 0x%x",[event type]);
return GHOST_kFailure;
@@ -1499,7 +1479,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
switch (window->getCursorGrabMode()) {
case GHOST_kGrabHide: //Cursor hidden grab operation : no cursor move
{
- GHOST_TInt32 x_warp, y_warp, x_accum, y_accum;
+ GHOST_TInt32 x_warp, y_warp, x_accum, y_accum, x, y;
window->getCursorGrabInitPos(x_warp, y_warp);
@@ -1508,7 +1488,8 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
y_accum += -[event deltaY]; //Strange Apple implementation (inverted coordinates for the deltaY) ...
window->setCursorGrabAccum(x_accum, y_accum);
- pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x_warp+x_accum, y_warp+y_accum));
+ window->clientToScreenIntern(x_warp+x_accum, y_warp+y_accum, x, y);
+ pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x, y));
}
break;
case GHOST_kGrabWrap: //Wrap cursor at area/window boundaries
@@ -1516,7 +1497,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
NSPoint mousePos = [event locationInWindow];
GHOST_TInt32 x_mouse= mousePos.x;
GHOST_TInt32 y_mouse= mousePos.y;
- GHOST_TInt32 x_accum, y_accum, x_cur, y_cur;
+ GHOST_TInt32 x_accum, y_accum, x_cur, y_cur, x, y;
GHOST_Rect bounds, windowBounds, correctedBounds;
/* fallback to window bounds */
@@ -1525,7 +1506,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
//Switch back to Cocoa coordinates orientation (y=0 at botton,the same as blender internal btw!), and to client coordinates
window->getClientBounds(windowBounds);
- window->screenToClient(bounds.m_l,bounds.m_b, correctedBounds.m_l, correctedBounds.m_t);
+ window->screenToClient(bounds.m_l, bounds.m_b, correctedBounds.m_l, correctedBounds.m_t);
window->screenToClient(bounds.m_r, bounds.m_t, correctedBounds.m_r, correctedBounds.m_b);
correctedBounds.m_b = (windowBounds.m_b - windowBounds.m_t) - correctedBounds.m_b;
correctedBounds.m_t = (windowBounds.m_b - windowBounds.m_t) - correctedBounds.m_t;
@@ -1547,19 +1528,24 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
m_cursorDelta_y = y_mouse-mousePos.y;
//Set new cursor position
- window->clientToScreen(x_mouse, y_mouse, x_cur, y_cur);
+ window->clientToScreenIntern(x_mouse, y_mouse, x_cur, y_cur);
setMouseCursorPosition(x_cur, y_cur); /* wrap */
//Post event
window->getCursorGrabInitPos(x_cur, y_cur);
- pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x_cur + x_accum, y_cur + y_accum));
+ window->clientToScreenIntern(x_cur + x_accum, y_cur + y_accum, x, y);
+ pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x, y));
}
break;
default:
{
//Normal cursor operation: send mouse position in window
NSPoint mousePos = [event locationInWindow];
- pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, mousePos.x, mousePos.y));
+ GHOST_TInt32 x, y;
+
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x, y));
+
m_cursorDelta_x=0;
m_cursorDelta_y=0; //Mouse motion occurred between two cursor warps, so we can reset the delta counter
}
@@ -1581,6 +1567,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
}
else {
NSPoint mousePos = [event locationInWindow];
+ GHOST_TInt32 x, y;
double dx = [event deltaX];
double dy = -[event deltaY];
@@ -1597,7 +1584,10 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
if (dy<0.0) dy-=0.5; else dy+=0.5;
if (dy< -deltaMax) dy= -deltaMax; else if (dy>deltaMax) dy=deltaMax;
- pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventScroll, mousePos.x, mousePos.y, dx, dy));
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ dy = -dy;
+
+ pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventScroll, x, y, dx, dy));
}
}
break;
@@ -1605,7 +1595,9 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
case NSEventTypeMagnify:
{
NSPoint mousePos = [event locationInWindow];
- pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventMagnify, mousePos.x, mousePos.y,
+ GHOST_TInt32 x, y;
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventMagnify, x, y,
[event magnification]*250.0 + 0.1, 0));
}
break;
@@ -1613,7 +1605,9 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
case NSEventTypeRotate:
{
NSPoint mousePos = [event locationInWindow];
- pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventRotate, mousePos.x, mousePos.y,
+ GHOST_TInt32 x, y;
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventRotate, x, y,
-[event rotation] * 5.0, 0));
}
case NSEventTypeBeginGesture:
diff --git a/intern/ghost/intern/GHOST_SystemNULL.h b/intern/ghost/intern/GHOST_SystemNULL.h
new file mode 100644
index 00000000000..3bc68b45b0d
--- /dev/null
+++ b/intern/ghost/intern/GHOST_SystemNULL.h
@@ -0,0 +1,93 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_SystemNULL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_SystemNULL class.
+ */
+
+#ifndef _GHOST_SYSTEM_NULL_H_
+#define _GHOST_SYSTEM_NULL_H_
+
+#include "GHOST_System.h"
+#include "../GHOST_Types.h"
+#include "GHOST_DisplayManagerNULL.h"
+#include "GHOST_WindowNULL.h"
+
+class GHOST_WindowNULL;
+
+class GHOST_SystemNULL : public GHOST_System {
+public:
+
+ GHOST_SystemNULL( ) : GHOST_System() { /* nop */ }
+ ~GHOST_SystemNULL() { /* nop */ }
+ bool processEvents(bool waitForEvent) { return false; }
+ int toggleConsole(int action) { return 0; }
+ GHOST_TSuccess getModifierKeys(GHOST_ModifierKeys& keys) const { return GHOST_kSuccess; }
+ GHOST_TSuccess getButtons(GHOST_Buttons& buttons) const { return GHOST_kSuccess; }
+ GHOST_TUns8 *getClipboard(bool selection) const { return NULL; }
+ void putClipboard(GHOST_TInt8 *buffer, bool selection) const { /* nop */ }
+ GHOST_TUns64 getMilliSeconds( ) const { return 0; }
+ GHOST_TUns8 getNumDisplays( ) const { return GHOST_TUns8(1); }
+ GHOST_TSuccess getCursorPosition( GHOST_TInt32& x, GHOST_TInt32& y ) const { return GHOST_kFailure; }
+ GHOST_TSuccess setCursorPosition( GHOST_TInt32 x, GHOST_TInt32 y ) { return GHOST_kFailure; }
+ void getMainDisplayDimensions( GHOST_TUns32& width, GHOST_TUns32& height ) const { /* nop */ }
+
+ GHOST_TSuccess init() {
+ GHOST_TSuccess success = GHOST_System::init();
+
+ if (success) {
+ m_displayManager = new GHOST_DisplayManagerNULL(this);
+
+ if (m_displayManager) {
+ return GHOST_kSuccess;
+ }
+ }
+
+ return GHOST_kFailure;
+ }
+
+ GHOST_IWindow* createWindow(
+ const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples,
+ const GHOST_TEmbedderWindowID parentWindow
+ ) {
+ return new GHOST_WindowNULL (this, title, left, top, width, height, state, parentWindow, type, stereoVisual, 1);
+ }
+};
+
+#endif
+
+
+
+
+
+
+
diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp
new file mode 100644
index 00000000000..2c61acc2d93
--- /dev/null
+++ b/intern/ghost/intern/GHOST_SystemSDL.cpp
@@ -0,0 +1,555 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_SystemSDL.cpp
+ * \ingroup GHOST
+ */
+
+#include <assert.h>
+
+#include "GHOST_SystemSDL.h"
+
+#include "GHOST_WindowManager.h"
+
+#include "GHOST_EventCursor.h"
+#include "GHOST_EventKey.h"
+#include "GHOST_EventButton.h"
+#include "GHOST_EventWheel.h"
+
+GHOST_SystemSDL::GHOST_SystemSDL()
+ :
+ GHOST_System()
+{
+ if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER) != 0) {
+ printf ("Error initializing SDL: %s\n", SDL_GetError());
+ }
+
+ /* SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); */
+ /* SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); */
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
+ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
+ SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
+}
+
+GHOST_SystemSDL::~GHOST_SystemSDL()
+{
+ SDL_Quit();
+}
+
+GHOST_IWindow *
+GHOST_SystemSDL::createWindow(const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples,
+ const GHOST_TEmbedderWindowID parentWindow
+ )
+{
+ GHOST_WindowSDL *window= NULL;
+
+ window= new GHOST_WindowSDL (this, title, left, top, width, height, state, parentWindow, type, stereoVisual, 1);
+
+ if (window) {
+ if (window->getValid()) {
+ m_windowManager->addWindow(window);
+ pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window));
+ }
+ else {
+ delete window;
+ window= NULL;
+ }
+ }
+ return window;
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::init() {
+ GHOST_TSuccess success = GHOST_System::init();
+
+ if (success) {
+ m_displayManager = new GHOST_DisplayManagerSDL(this);
+
+ if (m_displayManager) {
+ return GHOST_kSuccess;
+ }
+ }
+
+ return GHOST_kFailure;
+}
+
+void
+GHOST_SystemSDL::getMainDisplayDimensions(GHOST_TUns32& width,
+ GHOST_TUns32& height) const
+{
+ SDL_DisplayMode mode;
+ SDL_GetCurrentDisplayMode(0, &mode); /* note, always 0 display */
+ width= mode.w;
+ height= mode.h;
+}
+
+GHOST_TUns8
+GHOST_SystemSDL::getNumDisplays() const
+{
+ return SDL_GetNumVideoDisplays();
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::getModifierKeys(GHOST_ModifierKeys& keys) const
+{
+ SDL_Keymod mod= SDL_GetModState();
+
+ keys.set(GHOST_kModifierKeyLeftShift, (mod & KMOD_LSHIFT) != 0);
+ keys.set(GHOST_kModifierKeyRightShift, (mod & KMOD_RSHIFT) != 0);
+ keys.set(GHOST_kModifierKeyLeftControl, (mod & KMOD_LCTRL) != 0);
+ keys.set(GHOST_kModifierKeyRightControl, (mod & KMOD_RCTRL) != 0);
+ keys.set(GHOST_kModifierKeyLeftAlt, (mod & KMOD_LALT) != 0);
+ keys.set(GHOST_kModifierKeyRightAlt, (mod & KMOD_RALT) != 0);
+ keys.set(GHOST_kModifierKeyOS, (mod & (KMOD_LGUI|KMOD_RGUI)) != 0);
+
+ return GHOST_kSuccess;
+}
+
+#define GXMAP(k,x,y) case x: k= y; break;
+
+static GHOST_TKey
+convertSDLKey(SDL_Scancode key)
+{
+ GHOST_TKey type;
+
+ 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));
+ } 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)) {
+ type= GHOST_TKey(key - SDL_SCANCODE_F13 + int(GHOST_kKeyF13));
+ } else {
+ switch(key) {
+ /* TODO SDL_SCANCODE_NONUSBACKSLASH */
+
+ GXMAP(type,SDL_SCANCODE_BACKSPACE, GHOST_kKeyBackSpace);
+ GXMAP(type,SDL_SCANCODE_TAB, GHOST_kKeyTab);
+ GXMAP(type,SDL_SCANCODE_RETURN, GHOST_kKeyEnter);
+ GXMAP(type,SDL_SCANCODE_ESCAPE, GHOST_kKeyEsc);
+ GXMAP(type,SDL_SCANCODE_SPACE, GHOST_kKeySpace);
+
+ GXMAP(type,SDL_SCANCODE_SEMICOLON, GHOST_kKeySemicolon);
+ GXMAP(type,SDL_SCANCODE_PERIOD, GHOST_kKeyPeriod);
+ GXMAP(type,SDL_SCANCODE_COMMA, GHOST_kKeyComma);
+ 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_SLASH, GHOST_kKeySlash);
+ GXMAP(type,SDL_SCANCODE_BACKSLASH, GHOST_kKeyBackslash);
+ GXMAP(type,SDL_SCANCODE_KP_EQUALS, GHOST_kKeyEqual);
+ GXMAP(type,SDL_SCANCODE_LEFTBRACKET, GHOST_kKeyLeftBracket);
+ GXMAP(type,SDL_SCANCODE_RIGHTBRACKET, GHOST_kKeyRightBracket);
+ GXMAP(type,SDL_SCANCODE_PAUSE, GHOST_kKeyPause);
+
+ GXMAP(type,SDL_SCANCODE_LSHIFT, GHOST_kKeyLeftShift);
+ GXMAP(type,SDL_SCANCODE_RSHIFT, GHOST_kKeyRightShift);
+ GXMAP(type,SDL_SCANCODE_LCTRL, GHOST_kKeyLeftControl);
+ GXMAP(type,SDL_SCANCODE_RCTRL, GHOST_kKeyRightControl);
+ GXMAP(type,SDL_SCANCODE_LALT, GHOST_kKeyLeftAlt);
+ GXMAP(type,SDL_SCANCODE_RALT, GHOST_kKeyRightAlt);
+ GXMAP(type,SDL_SCANCODE_RGUI, GHOST_kKeyOS);
+
+ GXMAP(type,SDL_SCANCODE_INSERT, GHOST_kKeyInsert);
+ GXMAP(type,SDL_SCANCODE_DELETE, GHOST_kKeyDelete);
+ GXMAP(type,SDL_SCANCODE_HOME, GHOST_kKeyHome);
+ GXMAP(type,SDL_SCANCODE_END, GHOST_kKeyEnd);
+ GXMAP(type,SDL_SCANCODE_PAGEUP, GHOST_kKeyUpPage);
+ GXMAP(type,SDL_SCANCODE_PAGEDOWN, GHOST_kKeyDownPage);
+
+ GXMAP(type,SDL_SCANCODE_LEFT, GHOST_kKeyLeftArrow);
+ GXMAP(type,SDL_SCANCODE_RIGHT, GHOST_kKeyRightArrow);
+ GXMAP(type,SDL_SCANCODE_UP, GHOST_kKeyUpArrow);
+ GXMAP(type,SDL_SCANCODE_DOWN, GHOST_kKeyDownArrow);
+
+ GXMAP(type,SDL_SCANCODE_CAPSLOCK, GHOST_kKeyCapsLock);
+ GXMAP(type,SDL_SCANCODE_SCROLLLOCK, GHOST_kKeyScrollLock);
+ GXMAP(type,SDL_SCANCODE_NUMLOCKCLEAR, GHOST_kKeyNumLock);
+
+ /* keypad events */
+
+ /* note, sdl defines a bunch of kp defines I never saw before like
+ * SDL_SCANCODE_KP_PERCENT, SDL_SCANCODE_KP_XOR - campbell */
+ GXMAP(type,SDL_SCANCODE_KP_0, GHOST_kKeyNumpad0);
+ GXMAP(type,SDL_SCANCODE_KP_1, GHOST_kKeyNumpad1);
+ GXMAP(type,SDL_SCANCODE_KP_2, GHOST_kKeyNumpad2);
+ GXMAP(type,SDL_SCANCODE_KP_3, GHOST_kKeyNumpad3);
+ GXMAP(type,SDL_SCANCODE_KP_4, GHOST_kKeyNumpad4);
+ GXMAP(type,SDL_SCANCODE_KP_5, GHOST_kKeyNumpad5);
+ GXMAP(type,SDL_SCANCODE_KP_6, GHOST_kKeyNumpad6);
+ GXMAP(type,SDL_SCANCODE_KP_7, GHOST_kKeyNumpad7);
+ GXMAP(type,SDL_SCANCODE_KP_8, GHOST_kKeyNumpad8);
+ GXMAP(type,SDL_SCANCODE_KP_9, GHOST_kKeyNumpad9);
+ GXMAP(type,SDL_SCANCODE_KP_PERIOD, GHOST_kKeyNumpadPeriod);
+
+ GXMAP(type,SDL_SCANCODE_KP_ENTER, GHOST_kKeyNumpadEnter);
+ GXMAP(type,SDL_SCANCODE_KP_PLUS, GHOST_kKeyNumpadPlus);
+ GXMAP(type,SDL_SCANCODE_KP_MINUS, GHOST_kKeyNumpadMinus);
+ GXMAP(type,SDL_SCANCODE_KP_MULTIPLY, GHOST_kKeyNumpadAsterisk);
+ GXMAP(type,SDL_SCANCODE_KP_DIVIDE, GHOST_kKeyNumpadSlash);
+
+ /* Media keys in some keyboards and laptops with XFree86/Xorg */
+ GXMAP(type,SDL_SCANCODE_AUDIOPLAY, GHOST_kKeyMediaPlay);
+ GXMAP(type,SDL_SCANCODE_AUDIOSTOP, GHOST_kKeyMediaStop);
+ GXMAP(type,SDL_SCANCODE_AUDIOPREV, GHOST_kKeyMediaFirst);
+ // GXMAP(type,XF86XK_AudioRewind, GHOST_kKeyMediaFirst);
+ GXMAP(type,SDL_SCANCODE_AUDIONEXT, GHOST_kKeyMediaLast);
+
+ default:
+ type= GHOST_kKeyUnknown;
+ break;
+ }
+ }
+
+ return type;
+}
+#undef GXMAP
+
+
+void
+GHOST_SystemSDL::processEvent(SDL_Event *sdl_event)
+{
+ GHOST_Event * g_event= NULL;
+
+ switch(sdl_event->type) {
+ case SDL_WINDOWEVENT:
+ {
+ SDL_WindowEvent &sdl_sub_evt= sdl_event->window;
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ //assert(window != NULL); // can be NULL on close window.
+
+ switch (sdl_sub_evt.event) {
+ case SDL_WINDOWEVENT_EXPOSED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window);
+ break;
+ case SDL_WINDOWEVENT_RESIZED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window);
+ break;
+ case SDL_WINDOWEVENT_MOVED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowMove, window);
+ break;
+ case SDL_WINDOWEVENT_FOCUS_GAINED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowActivate, window);
+ break;
+ case SDL_WINDOWEVENT_FOCUS_LOST:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowDeactivate, window);
+ break;
+ case SDL_WINDOWEVENT_CLOSE:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window);
+ break;
+ }
+ }
+ break;
+ case SDL_QUIT:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventQuit, NULL);
+ break;
+
+ case SDL_MOUSEMOTION:
+ {
+ SDL_MouseMotionEvent &sdl_sub_evt= sdl_event->motion;
+ SDL_Window *sdl_win= SDL_GetWindowFromID(sdl_sub_evt.windowID);
+ GHOST_WindowSDL *window= findGhostWindow(sdl_win);
+ assert(window != NULL);
+
+ int x_win, y_win;
+ SDL_GetWindowPosition(sdl_win, &x_win, &y_win);
+
+ GHOST_TInt32 x_root= sdl_sub_evt.x + x_win;
+ GHOST_TInt32 y_root= sdl_sub_evt.y + y_win;
+
+#if 0
+ if(window->getCursorGrabMode() != GHOST_kGrabDisable && window->getCursorGrabMode() != GHOST_kGrabNormal)
+ {
+ GHOST_TInt32 x_new= x_root;
+ GHOST_TInt32 y_new= y_root;
+ GHOST_TInt32 x_accum, y_accum;
+ GHOST_Rect bounds;
+
+ /* fallback to window bounds */
+ if(window->getCursorGrabBounds(bounds)==GHOST_kFailure)
+ window->getClientBounds(bounds);
+
+ /* could also clamp to screen bounds
+ * wrap with a window outside the view will fail atm */
+ bounds.wrapPoint(x_new, y_new, 8); /* offset of one incase blender is at screen bounds */
+ window->getCursorGrabAccum(x_accum, y_accum);
+
+ // cant use setCursorPosition because the mouse may have no focus!
+ if(x_new != x_root || y_new != y_root) {
+ if (1 ) { //xme.time > m_last_warp) {
+ /* when wrapping we don't need to add an event because the
+ * setCursorPosition call will cause a new event after */
+ SDL_WarpMouseInWindow(sdl_win, x_new - x_win, y_new - y_win); /* wrap */
+ window->setCursorGrabAccum(x_accum + (x_root - x_new), y_accum + (y_root - y_new));
+ // m_last_warp= lastEventTime(xme.time);
+ } else {
+ // setCursorPosition(x_new, y_new); /* wrap but don't accumulate */
+ SDL_WarpMouseInWindow(sdl_win, x_new - x_win, y_new - y_win);
+ }
+
+ g_event = new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_new, y_new);
+ }
+ else {
+ g_event = new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_root + x_accum, y_root + y_accum);
+ }
+ }
+ else
+#endif
+ {
+ g_event= new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_root, y_root);
+ }
+ break;
+ }
+ case SDL_MOUSEBUTTONUP:
+ case SDL_MOUSEBUTTONDOWN:
+ {
+ SDL_MouseButtonEvent &sdl_sub_evt= sdl_event->button;
+ GHOST_TButtonMask gbmask= GHOST_kButtonMaskLeft;
+ GHOST_TEventType type= (sdl_sub_evt.state==SDL_PRESSED) ? GHOST_kEventButtonDown : GHOST_kEventButtonUp;
+
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ assert(window != NULL);
+
+ /* process rest of normal mouse buttons */
+ if(sdl_sub_evt.button == SDL_BUTTON_LEFT)
+ gbmask= GHOST_kButtonMaskLeft;
+ else if(sdl_sub_evt.button == SDL_BUTTON_MIDDLE)
+ gbmask= GHOST_kButtonMaskMiddle;
+ else if(sdl_sub_evt.button == SDL_BUTTON_RIGHT)
+ gbmask= GHOST_kButtonMaskRight;
+ /* these buttons are untested! */
+ else if(sdl_sub_evt.button == SDL_BUTTON_X1)
+ gbmask= GHOST_kButtonMaskButton4;
+ else if(sdl_sub_evt.button == SDL_BUTTON_X2)
+ gbmask= GHOST_kButtonMaskButton5;
+ else
+ break;
+
+ g_event= new GHOST_EventButton(getMilliSeconds(), type, window, gbmask);
+ break;
+ }
+ case SDL_MOUSEWHEEL:
+ {
+ SDL_MouseWheelEvent &sdl_sub_evt= sdl_event->wheel;
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ assert(window != NULL);
+ g_event= new GHOST_EventWheel(getMilliSeconds(), window, sdl_sub_evt.y);
+ }
+ break;
+ case SDL_KEYDOWN:
+ case SDL_KEYUP:
+ {
+ SDL_KeyboardEvent &sdl_sub_evt= sdl_event->key;
+ GHOST_TEventType type= (sdl_sub_evt.state == SDL_PRESSED) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp;
+
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ assert(window != NULL);
+
+ 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 */
+ g_event= new GHOST_EventKey(getMilliSeconds(), type, window, gkey, sdl_sub_evt.keysym.sym);
+ }
+ break;
+ }
+
+ if (g_event) {
+ pushEvent(g_event);
+ }
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::getCursorPosition(GHOST_TInt32& x,
+ GHOST_TInt32& y) const
+{
+ int x_win, y_win;
+ SDL_Window *win= SDL_GetMouseFocus();
+ SDL_GetWindowPosition(win, &x_win, &y_win);
+
+ int xi, yi;
+ SDL_GetMouseState(&xi, &yi);
+ x= xi + x_win;
+ y= yi + x_win;
+
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::setCursorPosition(GHOST_TInt32 x,
+ GHOST_TInt32 y)
+{
+ int x_win, y_win;
+ SDL_Window *win= SDL_GetMouseFocus();
+ SDL_GetWindowPosition(win, &x_win, &y_win);
+
+ SDL_WarpMouseInWindow(win, x - x_win, y - y_win);
+ return GHOST_kSuccess;
+}
+
+bool
+GHOST_SystemSDL::generateWindowExposeEvents()
+{
+ vector<GHOST_WindowSDL *>::iterator w_start= m_dirty_windows.begin();
+ vector<GHOST_WindowSDL *>::const_iterator w_end= m_dirty_windows.end();
+ bool anyProcessed= false;
+
+ for (;w_start != w_end; ++w_start) {
+ GHOST_Event * g_event= new
+ GHOST_Event(
+ getMilliSeconds(),
+ GHOST_kEventWindowUpdate,
+ *w_start
+ );
+
+ (*w_start)->validate();
+
+ if (g_event) {
+ printf("Expose events pushed\n");
+ pushEvent(g_event);
+ anyProcessed= true;
+ }
+ }
+
+ m_dirty_windows.clear();
+ return anyProcessed;
+}
+
+
+bool
+GHOST_SystemSDL::processEvents(bool waitForEvent)
+{
+ // Get all the current events -- translate them into
+ // ghost events and call base class pushEvent() method.
+
+ bool anyProcessed= false;
+
+ do {
+ GHOST_TimerManager* timerMgr= getTimerManager();
+
+ if (waitForEvent && m_dirty_windows.empty() && !SDL_HasEvents(SDL_FIRSTEVENT, SDL_LASTEVENT)) {
+ GHOST_TUns64 next= timerMgr->nextFireTime();
+
+ if (next==GHOST_kFireTimeNever) {
+ SDL_WaitEventTimeout(NULL, -1);
+ //SleepTillEvent(m_display, -1);
+ } else {
+ GHOST_TInt64 maxSleep= next - getMilliSeconds();
+
+ if(maxSleep >= 0) {
+ SDL_WaitEventTimeout(NULL, next - getMilliSeconds());
+ // SleepTillEvent(m_display, next - getMilliSeconds()); // X11
+ }
+ }
+ }
+
+ if (timerMgr->fireTimers(getMilliSeconds())) {
+ anyProcessed= true;
+ }
+
+ SDL_Event sdl_event;
+ while (SDL_PollEvent(&sdl_event)) {
+ processEvent(&sdl_event);
+ anyProcessed= true;
+ }
+
+ if (generateWindowExposeEvents()) {
+ anyProcessed= true;
+ }
+ } while (waitForEvent && !anyProcessed);
+
+ return anyProcessed;
+}
+
+
+GHOST_WindowSDL *
+GHOST_SystemSDL::findGhostWindow(SDL_Window *sdl_win)
+{
+ if (sdl_win == NULL) return NULL;
+
+ // It is not entirely safe to do this as the backptr may point
+ // to a window that has recently been removed.
+ // We should always check the window manager's list of windows
+ // and only process events on these windows.
+
+ vector<GHOST_IWindow *> & win_vec= m_windowManager->getWindows();
+
+ vector<GHOST_IWindow *>::iterator win_it= win_vec.begin();
+ vector<GHOST_IWindow *>::const_iterator win_end= win_vec.end();
+
+ for (; win_it != win_end; ++win_it) {
+ GHOST_WindowSDL * window= static_cast<GHOST_WindowSDL *>(*win_it);
+ if (window->getSDLWindow() == sdl_win) {
+ return window;
+ }
+ }
+ return NULL;
+}
+
+
+void
+GHOST_SystemSDL::addDirtyWindow(GHOST_WindowSDL *bad_wind)
+{
+ GHOST_ASSERT((bad_wind != NULL), "addDirtyWindow() NULL ptr trapped (window)");
+
+ m_dirty_windows.push_back(bad_wind);
+}
+
+
+GHOST_TSuccess GHOST_SystemSDL::getButtons(GHOST_Buttons& buttons) const
+{
+ Uint8 state= SDL_GetMouseState(NULL, NULL);
+ buttons.set(GHOST_kButtonMaskLeft, (state & SDL_BUTTON_LMASK) != 0);
+ buttons.set(GHOST_kButtonMaskMiddle, (state & SDL_BUTTON_MMASK) != 0);
+ buttons.set(GHOST_kButtonMaskRight, (state & SDL_BUTTON_RMASK) != 0);
+
+ return GHOST_kSuccess;
+}
+
+GHOST_TUns8 *
+GHOST_SystemSDL::getClipboard(bool selection) const
+{
+ return (GHOST_TUns8 *)SDL_GetClipboardText();
+}
+
+void
+GHOST_SystemSDL::putClipboard(GHOST_TInt8 *buffer, bool selection) const
+{
+ SDL_SetClipboardText(buffer);
+}
+
+GHOST_TUns64
+GHOST_SystemSDL::getMilliSeconds()
+{
+ return GHOST_TUns64(SDL_GetTicks()); /* note, 32 -> 64bits */
+}
diff --git a/intern/ghost/intern/GHOST_SystemSDL.h b/intern/ghost/intern/GHOST_SystemSDL.h
new file mode 100644
index 00000000000..87d288117c5
--- /dev/null
+++ b/intern/ghost/intern/GHOST_SystemSDL.h
@@ -0,0 +1,126 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_SystemSDL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_SystemSDL class.
+ */
+
+#ifndef _GHOST_SYSTEM_SDL_H_
+#define _GHOST_SYSTEM_SDL_H_
+
+#include "GHOST_System.h"
+#include "../GHOST_Types.h"
+#include "GHOST_DisplayManagerSDL.h"
+#include "GHOST_TimerManager.h"
+#include "GHOST_WindowSDL.h"
+#include "GHOST_Event.h"
+
+extern "C" {
+ #include "SDL.h"
+}
+
+#if !SDL_VERSION_ATLEAST(1, 3, 0)
+# error "SDL 1.3 or newer is needed to build with Ghost"
+#endif
+
+
+class GHOST_WindowSDL;
+
+
+class GHOST_SystemSDL : public GHOST_System {
+public:
+
+ void addDirtyWindow(GHOST_WindowSDL *bad_wind);
+
+ GHOST_SystemSDL();
+ ~GHOST_SystemSDL();
+
+ bool
+ processEvents(bool waitForEvent);
+
+ int
+ toggleConsole(int action) { return 0; }
+
+ GHOST_TSuccess
+ getModifierKeys(GHOST_ModifierKeys& keys) const;
+
+ GHOST_TSuccess
+ getButtons(GHOST_Buttons& buttons) const;
+
+ GHOST_TUns8 *
+ getClipboard(bool selection) const;
+
+ void
+ putClipboard(GHOST_TInt8 *buffer, bool selection) const;
+
+ GHOST_TUns64
+ getMilliSeconds();
+
+ GHOST_TUns8
+ getNumDisplays() const;
+
+ GHOST_TSuccess
+ getCursorPosition(GHOST_TInt32& x,
+ GHOST_TInt32& y) const;
+
+ GHOST_TSuccess
+ setCursorPosition(GHOST_TInt32 x,
+ GHOST_TInt32 y);
+
+ void
+ getMainDisplayDimensions(GHOST_TUns32& width,
+ GHOST_TUns32& height) const;
+
+private:
+
+ GHOST_TSuccess
+ init();
+
+ GHOST_IWindow *
+ createWindow(const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples,
+ const GHOST_TEmbedderWindowID parentWindow
+ );
+
+ /* SDL spesific */
+ GHOST_WindowSDL * findGhostWindow(SDL_Window *sdl_win);
+
+ bool
+ generateWindowExposeEvents();
+
+ void
+ processEvent(SDL_Event *sdl_event);
+
+ /// The vector of windows that need to be updated.
+ std::vector<GHOST_WindowSDL *> m_dirty_windows;
+};
+
+#endif
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp
index 2fdddda835d..ace6cc0e0cf 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -42,7 +42,7 @@
#include <iostream>
#ifdef FREE_WINDOWS
-# define _WIN32_WINNT 0x0500 /* GetConsoleWindow() for MinGW */
+# define WINVER 0x0501 /* GetConsoleWindow() for MinGW */
#endif
#include "GHOST_SystemWin32.h"
@@ -304,7 +304,6 @@ bool GHOST_SystemWin32::processEvents(bool waitForEvent)
// Process all the events waiting for us
while (::PeekMessage(&msg, 0, 0, 0, PM_REMOVE) != 0) {
- ::TranslateMessage(&msg);
::DispatchMessage(&msg);
anyProcessed = true;
}
@@ -764,7 +763,7 @@ GHOST_EventKey* GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, WPARAM
event = new GHOST_EventKey(system->getMilliSeconds(), keyDown ? GHOST_kEventKeyDown: GHOST_kEventKeyUp, window, key, ascii);
-#ifdef BF_GHOST_DEBUG
+#ifdef GHOST_DEBUG
std::cout << ascii << std::endl;
#endif
}
@@ -819,6 +818,11 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
// Keyboard events, processed
////////////////////////////////////////////////////////////////////////
case WM_INPUT:
+ // check WM_INPUT from input sink when ghost window is not in the foreground
+ if (wParam == RIM_INPUTSINK) {
+ if (GetFocus() != hwnd) // WM_INPUT message not for this window
+ return 0;
+ } //else wPAram == RIM_INPUT
event = processKeyEvent(window, wParam, lParam);
if (!event) {
GHOST_PRINT("GHOST_SystemWin32::wndProc: key event ")
@@ -1174,25 +1178,29 @@ GHOST_TUns8* GHOST_SystemWin32::getClipboard(bool selection) const
char *temp_buff;
if ( IsClipboardFormatAvailable(CF_TEXT) && OpenClipboard(NULL) ) {
+ size_t len = 0;
HANDLE hData = GetClipboardData( CF_TEXT );
if (hData == NULL) {
CloseClipboard();
return NULL;
}
buffer = (char*)GlobalLock( hData );
+ if (!buffer) {
+ CloseClipboard();
+ return NULL;
+ }
- temp_buff = (char*) malloc(strlen(buffer)+1);
- strcpy(temp_buff, buffer);
+ len = strlen(buffer);
+ temp_buff = (char*) malloc(len+1);
+ strncpy(temp_buff, buffer, len);
+ temp_buff[len] = '\0';
+ /* Buffer mustn't be accessed after CloseClipboard
+ it would like accessing free-d memory */
GlobalUnlock( hData );
CloseClipboard();
- temp_buff[strlen(buffer)] = '\0';
- if (buffer) {
- return (GHOST_TUns8*)temp_buff;
- } else {
- return NULL;
- }
+ return (GHOST_TUns8*)temp_buff;
} else {
return NULL;
}
diff --git a/intern/ghost/intern/GHOST_SystemWin32.h b/intern/ghost/intern/GHOST_SystemWin32.h
index 2dad3a6f44d..729ad56d875 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.h
+++ b/intern/ghost/intern/GHOST_SystemWin32.h
@@ -52,6 +52,9 @@
#ifndef RID_INPUT
#define RID_INPUT 0x10000003
#endif
+#ifndef RIM_INPUTSINK
+#define RIM_INPUTSINK 0x1
+#endif
#ifndef RI_KEY_BREAK
#define RI_KEY_BREAK 0x1
#endif
@@ -127,8 +130,6 @@ DECLARE_HANDLE(HRAWINPUT);
#ifdef FREE_WINDOWS
#define NEED_RAW_PROC
typedef BOOL (WINAPI * LPFNDLLRRID)(RAWINPUTDEVICE*,UINT, UINT);
-#define RegisterRawInputDevices(pRawInputDevices, uiNumDevices, cbSize) ((pRegisterRawInputDevices)?pRegisterRawInputDevices(pRawInputDevices, uiNumDevices, cbSize):0)
-
typedef UINT (WINAPI * LPFNDLLGRID)(HRAWINPUT, UINT, LPVOID, PUINT, UINT);
#define GetRawInputData(hRawInput, uiCommand, pData, pcbSize, cbSizeHeader) ((pGetRawInputData)?pGetRawInputData(hRawInput, uiCommand, pData, pcbSize, cbSizeHeader):(UINT)-1)
diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp
index 378bc6b90be..dd296fa979c 100644
--- a/intern/ghost/intern/GHOST_SystemX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemX11.cpp
@@ -76,6 +76,9 @@
#include <stdio.h> // for fprintf only
#include <cstdlib> // for exit
+static GHOST_TKey
+convertXKey(KeySym key);
+
typedef struct NDOFPlatformInfo {
Display *display;
Window window;
@@ -147,8 +150,9 @@ GHOST_SystemX11(
if (gettimeofday(&tv,NULL) == -1) {
GHOST_ASSERT(false,"Could not instantiate timer!");
}
-
- m_start_time = GHOST_TUns64(tv.tv_sec*1000 + tv.tv_usec/1000);
+
+ // Taking care not to overflow the tv.tv_sec*1000
+ m_start_time = GHOST_TUns64(tv.tv_sec)*1000 + tv.tv_usec/1000;
/* use detectable autorepeate, mac and windows also do this */
@@ -196,7 +200,8 @@ getMilliSeconds(
GHOST_ASSERT(false,"Could not compute time!");
}
- return GHOST_TUns64(tv.tv_sec*1000 + tv.tv_usec/1000) - m_start_time;
+ // Taking care not to overflow the tv.tv_sec*1000
+ return GHOST_TUns64(tv.tv_sec)*1000 + tv.tv_usec/1000 - m_start_time;
}
GHOST_TUns8
@@ -700,19 +705,24 @@ GHOST_SystemX11::processEvent(XEvent *xe)
case EnterNotify:
case LeaveNotify:
{
- // XCrossingEvents pointer leave enter window.
- // also do cursor move here, MotionNotify only
- // happens when motion starts & ends inside window
+ /* XCrossingEvents pointer leave enter window.
+ also do cursor move here, MotionNotify only
+ happens when motion starts & ends inside window.
+ we only do moves when the crossing mode is 'normal'
+ (really crossing between windows) since some windowmanagers
+ also send grab/ungrab crossings for mousewheel events.
+ */
XCrossingEvent &xce = xe->xcrossing;
-
- g_event = new
- GHOST_EventCursor(
- getMilliSeconds(),
- GHOST_kEventCursorMove,
- window,
- xce.x_root,
- xce.y_root
- );
+ if( xce.mode == NotifyNormal ) {
+ g_event = new
+ GHOST_EventCursor(
+ getMilliSeconds(),
+ GHOST_kEventCursorMove,
+ window,
+ xce.x_root,
+ xce.y_root
+ );
+ }
break;
}
case MapNotify:
@@ -790,6 +800,7 @@ GHOST_SystemX11::processEvent(XEvent *xe)
}
default: {
+#ifdef WITH_X11_XINPUT
if(xe->type == window->GetXTablet().MotionEvent)
{
XDeviceMotionEvent* data = (XDeviceMotionEvent*)xe;
@@ -813,7 +824,7 @@ GHOST_SystemX11::processEvent(XEvent *xe)
}
else if(xe->type == window->GetXTablet().ProxOutEvent)
window->GetXTablet().CommonData.Active= GHOST_kTabletModeNone;
-
+#endif // WITH_X11_XINPUT
break;
}
}
@@ -850,60 +861,28 @@ getModifierKeys(
// now translate key symobols into keycodes and
// test with vector.
- const KeyCode shift_l = XKeysymToKeycode(m_display,XK_Shift_L);
- const KeyCode shift_r = XKeysymToKeycode(m_display,XK_Shift_R);
- const KeyCode control_l = XKeysymToKeycode(m_display,XK_Control_L);
- const KeyCode control_r = XKeysymToKeycode(m_display,XK_Control_R);
- const KeyCode alt_l = XKeysymToKeycode(m_display,XK_Alt_L);
- const KeyCode alt_r = XKeysymToKeycode(m_display,XK_Alt_R);
- const KeyCode super_l = XKeysymToKeycode(m_display,XK_Super_L);
- const KeyCode super_r = XKeysymToKeycode(m_display,XK_Super_R);
-
- // Shift
- if ((m_keyboard_vector[shift_l >> 3] >> (shift_l & 7)) & 1) {
- keys.set(GHOST_kModifierKeyLeftShift,true);
- } else {
- keys.set(GHOST_kModifierKeyLeftShift,false);
- }
- if ((m_keyboard_vector[shift_r >> 3] >> (shift_r & 7)) & 1) {
-
- keys.set(GHOST_kModifierKeyRightShift,true);
- } else {
- keys.set(GHOST_kModifierKeyRightShift,false);
- }
-
- // control (weep)
- if ((m_keyboard_vector[control_l >> 3] >> (control_l & 7)) & 1) {
- keys.set(GHOST_kModifierKeyLeftControl,true);
- } else {
- keys.set(GHOST_kModifierKeyLeftControl,false);
- }
- if ((m_keyboard_vector[control_r >> 3] >> (control_r & 7)) & 1) {
- keys.set(GHOST_kModifierKeyRightControl,true);
- } else {
- keys.set(GHOST_kModifierKeyRightControl,false);
- }
-
- // Alt (yawn)
- if ((m_keyboard_vector[alt_l >> 3] >> (alt_l & 7)) & 1) {
- keys.set(GHOST_kModifierKeyLeftAlt,true);
- } else {
- keys.set(GHOST_kModifierKeyLeftAlt,false);
- }
- if ((m_keyboard_vector[alt_r >> 3] >> (alt_r & 7)) & 1) {
- keys.set(GHOST_kModifierKeyRightAlt,true);
- } else {
- keys.set(GHOST_kModifierKeyRightAlt,false);
- }
+ const static KeyCode shift_l = XKeysymToKeycode(m_display,XK_Shift_L);
+ const static KeyCode shift_r = XKeysymToKeycode(m_display,XK_Shift_R);
+ const static KeyCode control_l = XKeysymToKeycode(m_display,XK_Control_L);
+ const static KeyCode control_r = XKeysymToKeycode(m_display,XK_Control_R);
+ const static KeyCode alt_l = XKeysymToKeycode(m_display,XK_Alt_L);
+ const static KeyCode alt_r = XKeysymToKeycode(m_display,XK_Alt_R);
+ const static KeyCode super_l = XKeysymToKeycode(m_display,XK_Super_L);
+ const static KeyCode super_r = XKeysymToKeycode(m_display,XK_Super_R);
+
+ // shift
+ keys.set(GHOST_kModifierKeyLeftShift, ((m_keyboard_vector[shift_l >> 3] >> (shift_l & 7)) & 1) != 0);
+ keys.set(GHOST_kModifierKeyRightShift, ((m_keyboard_vector[shift_r >> 3] >> (shift_r & 7)) & 1) != 0);
+ // control
+ keys.set(GHOST_kModifierKeyLeftControl, ((m_keyboard_vector[control_l >> 3] >> (control_l & 7)) & 1) != 0);
+ keys.set(GHOST_kModifierKeyRightControl, ((m_keyboard_vector[control_r >> 3] >> (control_r & 7)) & 1) != 0);
+ // alt
+ keys.set(GHOST_kModifierKeyLeftAlt, ((m_keyboard_vector[alt_l >> 3] >> (alt_l & 7)) & 1) != 0);
+ keys.set(GHOST_kModifierKeyRightAlt, ((m_keyboard_vector[alt_r >> 3] >> (alt_r & 7)) & 1) != 0);
+ // super (windows) - only one GHOST-kModifierKeyOS, so mapping to either
+ keys.set(GHOST_kModifierKeyOS, ( ((m_keyboard_vector[super_l >> 3] >> (super_l & 7)) & 1) ||
+ ((m_keyboard_vector[super_r >> 3] >> (super_r & 7)) & 1) ) != 0);
- // Super (Windows) - only one GHOST-kModifierKeyOS, so mapping
- // to either
- if ( ((m_keyboard_vector[super_l >> 3] >> (super_l & 7)) & 1) ||
- ((m_keyboard_vector[super_r >> 3] >> (super_r & 7)) & 1) ) {
- keys.set(GHOST_kModifierKeyOS,true);
- } else {
- keys.set(GHOST_kModifierKeyOS,false);
- }
return GHOST_kSuccess;
}
@@ -917,35 +896,20 @@ getButtons(
int rx,ry,wx,wy;
unsigned int mask_return;
- if (XQueryPointer(
- m_display,
- RootWindow(m_display,DefaultScreen(m_display)),
- &root_return,
- &child_return,
- &rx,&ry,
- &wx,&wy,
- &mask_return
- ) == False) {
+ if (XQueryPointer(m_display,
+ RootWindow(m_display,DefaultScreen(m_display)),
+ &root_return,
+ &child_return,
+ &rx,&ry,
+ &wx,&wy,
+ &mask_return) == True)
+ {
+ buttons.set(GHOST_kButtonMaskLeft, (mask_return & Button1Mask) != 0);
+ buttons.set(GHOST_kButtonMaskMiddle, (mask_return & Button2Mask) != 0);
+ buttons.set(GHOST_kButtonMaskRight, (mask_return & Button3Mask) != 0);
+ }
+ else {
return GHOST_kFailure;
- } else {
-
- if (mask_return & Button1Mask) {
- buttons.set(GHOST_kButtonMaskLeft,true);
- } else {
- buttons.set(GHOST_kButtonMaskLeft,false);
- }
-
- if (mask_return & Button2Mask) {
- buttons.set(GHOST_kButtonMaskMiddle,true);
- } else {
- buttons.set(GHOST_kButtonMaskMiddle,false);
- }
-
- if (mask_return & Button3Mask) {
- buttons.set(GHOST_kButtonMaskRight,true);
- } else {
- buttons.set(GHOST_kButtonMaskRight,false);
- }
}
return GHOST_kSuccess;
@@ -1050,11 +1014,9 @@ generateWindowExposeEvents(
#define GXMAP(k,x,y) case x: k = y; break;
- GHOST_TKey
-GHOST_SystemX11::
-convertXKey(
- KeySym key
-){
+static GHOST_TKey
+convertXKey(KeySym key)
+{
GHOST_TKey type;
if ((key >= XK_A) && (key <= XK_Z)) {
@@ -1169,8 +1131,10 @@ convertXKey(
GXMAP(type,XF86XK_AudioPrev, GHOST_kKeyMediaFirst);
GXMAP(type,XF86XK_AudioRewind, GHOST_kKeyMediaFirst);
GXMAP(type,XF86XK_AudioNext, GHOST_kKeyMediaLast);
+#ifdef XF86XK_AudioForward /* Debian lenny's XF86keysym.h has no XF86XK_AudioForward define */
GXMAP(type,XF86XK_AudioForward, GHOST_kKeyMediaLast);
#endif
+#endif
/* some extra sun cruft (NICE KEYBOARD!) */
#ifdef __sun__
diff --git a/intern/ghost/intern/GHOST_SystemX11.h b/intern/ghost/intern/GHOST_SystemX11.h
index 0b001273634..746cd4ebdf4 100644
--- a/intern/ghost/intern/GHOST_SystemX11.h
+++ b/intern/ghost/intern/GHOST_SystemX11.h
@@ -300,12 +300,6 @@ private :
bool
generateWindowExposeEvents(
);
-
- GHOST_TKey
- convertXKey(
- KeySym key
- );
-
};
#endif
diff --git a/intern/ghost/intern/GHOST_Window.cpp b/intern/ghost/intern/GHOST_Window.cpp
index c518272d614..e34bfe7ff26 100644
--- a/intern/ghost/intern/GHOST_Window.cpp
+++ b/intern/ghost/intern/GHOST_Window.cpp
@@ -41,8 +41,7 @@
GHOST_Window::GHOST_Window(
- const STR_String& /*title*/,
- GHOST_TInt32 /*left*/, GHOST_TInt32 /*top*/, GHOST_TUns32 width, GHOST_TUns32 height,
+ GHOST_TUns32 width, GHOST_TUns32 height,
GHOST_TWindowState state,
GHOST_TDrawingContextType type,
const bool stereoVisual,
diff --git a/intern/ghost/intern/GHOST_Window.h b/intern/ghost/intern/GHOST_Window.h
index e0c676f53a5..66990abb555 100644
--- a/intern/ghost/intern/GHOST_Window.h
+++ b/intern/ghost/intern/GHOST_Window.h
@@ -76,9 +76,6 @@ public:
* Constructor.
* Creates a new window and opens it.
* To check if the window was created properly, use the getValid() method.
- * @param title The text shown in the title bar of the window.
- * @param left The coordinate of the left edge of the window.
- * @param top The coordinate of the top edge of the window.
* @param width The width the window.
* @param heigh The height the window.
* @param state The state the window is initially opened with.
@@ -87,9 +84,6 @@ public:
* @param numOfAASamples Number of samples used for AA (zero if no AA)
*/
GHOST_Window(
- const STR_String& title,
- GHOST_TInt32 left,
- GHOST_TInt32 top,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
diff --git a/intern/ghost/intern/GHOST_WindowCarbon.cpp b/intern/ghost/intern/GHOST_WindowCarbon.cpp
index 1ffd117d658..c8bd67f9a5c 100644
--- a/intern/ghost/intern/GHOST_WindowCarbon.cpp
+++ b/intern/ghost/intern/GHOST_WindowCarbon.cpp
@@ -102,7 +102,7 @@ GHOST_WindowCarbon::GHOST_WindowCarbon(
const bool stereoVisual,
const GHOST_TUns16 numOfAASamples
) :
- GHOST_Window(title, left, top, width, height, state, GHOST_kDrawingContextTypeNone),
+ GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone),
m_windowRef(0),
m_grafPtr(0),
m_aglCtx(0),
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.h b/intern/ghost/intern/GHOST_WindowCocoa.h
index 98e0f9cedd1..ce28f8c4538 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.h
+++ b/intern/ghost/intern/GHOST_WindowCocoa.h
@@ -42,6 +42,7 @@
#include "STR_String.h"
@class CocoaWindow;
+@class CocoaOpenGLView;
class GHOST_SystemCocoa;
@@ -77,7 +78,7 @@ public:
GHOST_SystemCocoa *systemCocoa,
const STR_String& title,
GHOST_TInt32 left,
- GHOST_TInt32 top,
+ GHOST_TInt32 bottom,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
@@ -181,6 +182,26 @@ public:
virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
/**
+ * Converts a point in screen coordinates to client rectangle coordinates
+ * but without the y coordinate conversion needed for ghost compatibility.
+ * @param inX The x-coordinate in the client rectangle.
+ * @param inY The y-coordinate in the client rectangle.
+ * @param outX The x-coordinate on the screen.
+ * @param outY The y-coordinate on the screen.
+ */
+ void clientToScreenIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ /**
+ * Converts a point in screen coordinates to client rectangle coordinates,
+ * but without the y coordinate conversion needed for ghost compatibility.
+ * @param inX The x-coordinate in the client rectangle.
+ * @param inY The y-coordinate in the client rectangle.
+ * @param outX The x-coordinate on the screen.
+ * @param outY The y-coordinate on the screen.
+ */
+ void screenToClientIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ /**
* Gets the screen the window is displayed in
* @return The NSScreen object
*/
@@ -289,7 +310,7 @@ protected:
CocoaWindow *m_window;
/** The openGL view */
- NSOpenGLView *m_openGLView;
+ CocoaOpenGLView *m_openGLView;
/** The opgnGL drawing context */
NSOpenGLContext *m_openGLContext;
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index 8d28c9d5b17..937dffe9fba 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -241,10 +241,19 @@ extern "C" {
//We need to subclass it in order to give Cocoa the feeling key events are trapped
@interface CocoaOpenGLView : NSOpenGLView
{
+ GHOST_SystemCocoa *systemCocoa;
+ GHOST_WindowCocoa *associatedWindow;
}
+- (void)setSystemAndWindowCocoa:(GHOST_SystemCocoa *)sysCocoa windowCocoa:(GHOST_WindowCocoa *)winCocoa;
@end
@implementation CocoaOpenGLView
+- (void)setSystemAndWindowCocoa:(GHOST_SystemCocoa *)sysCocoa windowCocoa:(GHOST_WindowCocoa *)winCocoa
+{
+ systemCocoa = sysCocoa;
+ associatedWindow = winCocoa;
+}
+
- (BOOL)acceptsFirstResponder
{
return YES;
@@ -294,6 +303,7 @@ extern "C" {
else
{
[super drawRect:rect];
+ systemCocoa->handleWindowEvent(GHOST_kEventWindowUpdate, associatedWindow);
}
}
@@ -308,14 +318,14 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
GHOST_SystemCocoa *systemCocoa,
const STR_String& title,
GHOST_TInt32 left,
- GHOST_TInt32 top,
+ GHOST_TInt32 bottom,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
GHOST_TDrawingContextType type,
const bool stereoVisual, const GHOST_TUns16 numOfAASamples
) :
- GHOST_Window(title, left, top, width, height, state, GHOST_kDrawingContextTypeNone, stereoVisual, numOfAASamples),
+ GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone, stereoVisual, numOfAASamples),
m_customCursor(0)
{
NSOpenGLPixelFormatAttribute pixelFormatAttrsWindow[40];
@@ -327,13 +337,12 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
//Creates the window
NSRect rect;
NSSize minSize;
rect.origin.x = left;
- rect.origin.y = top;
+ rect.origin.y = bottom;
rect.size.width = width;
rect.size.height = height;
@@ -425,6 +434,8 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
//Creates the OpenGL View inside the window
m_openGLView = [[CocoaOpenGLView alloc] initWithFrame:rect
pixelFormat:pixelFormat];
+
+ [m_openGLView setSystemAndWindowCocoa:systemCocoa windowCocoa:this];
[pixelFormat release];
@@ -461,9 +472,13 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
GHOST_WindowCocoa::~GHOST_WindowCocoa()
{
- if (m_customCursor) delete m_customCursor;
-
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+ if (m_customCursor) {
+ [m_customCursor release];
+ m_customCursor = nil;
+ }
+
[m_openGLView release];
if (m_window) {
@@ -688,7 +703,30 @@ GHOST_TWindowState GHOST_WindowCocoa::getState() const
void GHOST_WindowCocoa::screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
{
GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::screenToClient(): window invalid")
-
+
+ screenToClientIntern(inX, inY, outX, outY);
+
+ /* switch y to match ghost convention */
+ GHOST_Rect cBnds;
+ getClientBounds(cBnds);
+ outY = (cBnds.getHeight() - 1) - outY;
+}
+
+
+void GHOST_WindowCocoa::clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
+{
+ GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::clientToScreen(): window invalid")
+
+ /* switch y to match ghost convention */
+ GHOST_Rect cBnds;
+ getClientBounds(cBnds);
+ inY = (cBnds.getHeight() - 1) - inY;
+
+ clientToScreenIntern(inX, inY, outX, outY);
+}
+
+void GHOST_WindowCocoa::screenToClientIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
+{
NSPoint screenCoord;
NSPoint baseCoord;
@@ -701,11 +739,8 @@ void GHOST_WindowCocoa::screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST
outY = baseCoord.y;
}
-
-void GHOST_WindowCocoa::clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
+void GHOST_WindowCocoa::clientToScreenIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
{
- GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::clientToScreen(): window invalid")
-
NSPoint screenCoord;
NSPoint baseCoord;
@@ -1207,7 +1242,7 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorGrab(GHOST_TGrabCursorMode mode
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
m_systemCocoa->getCursorPosition(x_old,y_old);
- screenToClient(x_old, y_old, m_cursorGrabInitPos[0], m_cursorGrabInitPos[1]);
+ screenToClientIntern(x_old, y_old, m_cursorGrabInitPos[0], m_cursorGrabInitPos[1]);
//Warp position is stored in client (window base) coordinates
setCursorGrabAccum(0, 0);
diff --git a/intern/ghost/intern/GHOST_WindowNULL.h b/intern/ghost/intern/GHOST_WindowNULL.h
new file mode 100644
index 00000000000..f979313af5c
--- /dev/null
+++ b/intern/ghost/intern/GHOST_WindowNULL.h
@@ -0,0 +1,96 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_WindowNULL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_WindowNULL class.
+ */
+
+#ifndef _GHOST_WINDOWNULL_H_
+#define _GHOST_WINDOWNULL_H_
+
+#include "GHOST_Window.h"
+
+#include <map>
+
+class STR_String;
+class GHOST_SystemNULL;
+
+class GHOST_WindowNULL : public GHOST_Window
+{
+public:
+ const GHOST_TabletData* GetTabletData() { return NULL; }
+
+ GHOST_WindowNULL(
+ GHOST_SystemNULL *system,
+ const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ const GHOST_TEmbedderWindowID parentWindow,
+ GHOST_TDrawingContextType type,
+ const bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples
+ ) :
+ GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples),
+ m_system (system)
+ {
+ setTitle(title);
+ }
+
+protected:
+ GHOST_TSuccess installDrawingContext( GHOST_TDrawingContextType type ){ return GHOST_kSuccess; }
+ GHOST_TSuccess removeDrawingContext( ){ return GHOST_kSuccess; }
+ GHOST_TSuccess setWindowCursorGrab( GHOST_TGrabCursorMode mode ){ return GHOST_kSuccess; }
+ GHOST_TSuccess setWindowCursorShape( GHOST_TStandardCursor shape ){ return GHOST_kSuccess; }
+ GHOST_TSuccess setWindowCustomCursorShape( GHOST_TUns8 bitmap[16][2], GHOST_TUns8 mask[16][2], int hotX, int hotY ) { return GHOST_kSuccess; }
+ GHOST_TSuccess setWindowCustomCursorShape( GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color ){ return GHOST_kSuccess; }
+
+ bool getValid( ) const { return true; }
+ void setTitle( const STR_String& title ){ /* nothing */ }
+ void getTitle( STR_String& title ) const { title= "untitled"; }
+ void getWindowBounds( GHOST_Rect& bounds ) const { getClientBounds(bounds); }
+ void getClientBounds( GHOST_Rect& bounds ) const { /* nothing */ }
+ GHOST_TSuccess setClientWidth( GHOST_TUns32 width ){ return GHOST_kFailure; }
+ GHOST_TSuccess setClientHeight( GHOST_TUns32 height ){ return GHOST_kFailure; }
+ GHOST_TSuccess setClientSize( GHOST_TUns32 width, GHOST_TUns32 height ){ return GHOST_kFailure; }
+ void screenToClient( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const { outX = inX; outY = inY; }
+ void clientToScreen( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const { outX = inX; outY = inY; }
+ GHOST_TSuccess swapBuffers( ){ return GHOST_kFailure; }
+ GHOST_TSuccess activateDrawingContext( ){ return GHOST_kFailure; }
+ ~GHOST_WindowNULL( ){ /* nothing */ }
+ GHOST_TSuccess setWindowCursorVisibility( bool visible ){ return GHOST_kSuccess; }
+ GHOST_TSuccess setState(GHOST_TWindowState state) { return GHOST_kSuccess; }
+ GHOST_TWindowState getState() const { return GHOST_kWindowStateNormal; }
+ GHOST_TSuccess invalidate() { return GHOST_kSuccess; }
+ GHOST_TSuccess setOrder(GHOST_TWindowOrder order) { return GHOST_kSuccess; }
+
+
+private :
+ GHOST_SystemNULL * m_system;
+};
+
+
+#endif // _GHOST_WINDOWNULL_H_
diff --git a/intern/ghost/intern/GHOST_WindowSDL.cpp b/intern/ghost/intern/GHOST_WindowSDL.cpp
new file mode 100644
index 00000000000..1675c1fb12b
--- /dev/null
+++ b/intern/ghost/intern/GHOST_WindowSDL.cpp
@@ -0,0 +1,628 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_WindowSDL.cpp
+ * \ingroup GHOST
+ */
+
+#include "GHOST_WindowSDL.h"
+#include "SDL_mouse.h"
+#include <assert.h>
+
+static SDL_GLContext s_firstContext= NULL;
+
+GHOST_WindowSDL::GHOST_WindowSDL(GHOST_SystemSDL *system,
+ const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ const GHOST_TEmbedderWindowID parentWindow,
+ GHOST_TDrawingContextType type,
+ const bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples
+ )
+ :
+ GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples),
+ m_system (system),
+ m_invalid_window(false),
+ m_sdl_custom_cursor(NULL)
+{
+ m_sdl_win= SDL_CreateWindow(title,
+ left,
+ top,
+ width,
+ height,
+ SDL_WINDOW_RESIZABLE|SDL_WINDOW_OPENGL|SDL_WINDOW_SHOWN);
+
+ //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
+ //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4);
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
+ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
+ SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
+
+ m_sdl_glcontext= SDL_GL_CreateContext(m_sdl_win);
+
+ //fprintf(stderr, "Ignoring Xlib error: error code %d request code %d\n",
+ // theEvent->error_code, theEvent->request_code) ;
+
+ setTitle(title);
+}
+
+GHOST_WindowSDL::~GHOST_WindowSDL()
+{
+ if(m_sdl_custom_cursor) {
+ SDL_FreeCursor(m_sdl_custom_cursor);
+ }
+
+ if (m_sdl_glcontext != s_firstContext) {
+ SDL_GL_DeleteContext(m_sdl_glcontext);
+ }
+
+ SDL_DestroyWindow(m_sdl_win);
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::installDrawingContext(GHOST_TDrawingContextType type)
+{
+ // only support openGL for now.
+ GHOST_TSuccess success;
+ switch (type) {
+ case GHOST_kDrawingContextTypeOpenGL:
+ m_sdl_glcontext= SDL_GL_CreateContext(m_sdl_win);
+
+ if (m_sdl_glcontext != NULL) {
+ if (!s_firstContext) {
+ s_firstContext= m_sdl_glcontext;
+ }
+
+ success= (SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext) < 0) ?
+ GHOST_kFailure : GHOST_kSuccess;
+ }
+ else {
+ success= GHOST_kFailure;
+ }
+
+ break;
+
+ case GHOST_kDrawingContextTypeNone:
+ success= GHOST_kSuccess;
+ break;
+
+ default:
+ success= GHOST_kFailure;
+ }
+ return success;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::invalidate(void)
+{
+ // So the idea of this function is to generate an expose event
+ // for the window.
+ // Unfortunately X does not handle expose events for you and
+ // it is the client's job to refresh the dirty part of the window.
+ // We need to queue up invalidate calls and generate GHOST events
+ // for them in the system.
+
+ // We implement this by setting a boolean in this class to concatenate
+ // all such calls into a single event for this window.
+
+ // At the same time we queue the dirty windows in the system class
+ // and generate events for them at the next processEvents call.
+
+ if (m_invalid_window == false) {
+ m_system->addDirtyWindow(this);
+ m_invalid_window= true;
+ }
+
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::swapBuffers()
+{
+ if (getDrawingContextType() == GHOST_kDrawingContextTypeOpenGL) {
+ SDL_GL_SwapWindow(m_sdl_win);
+ return GHOST_kSuccess;
+ }
+ else {
+ return GHOST_kFailure;
+ }
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::activateDrawingContext()
+{
+ if (m_sdl_glcontext !=NULL) {
+ int status=SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext);
+ (void)status;
+ return GHOST_kSuccess;
+ }
+ return GHOST_kFailure;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::removeDrawingContext()
+{
+ GHOST_TSuccess success;
+
+ if (m_sdl_glcontext != NULL) {
+ SDL_GL_DeleteContext(m_sdl_glcontext);
+ success= GHOST_kSuccess;
+ }
+ else {
+ success= GHOST_kFailure;
+ }
+ return success;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setState(GHOST_TWindowState state)
+{
+ switch(state) {
+ case GHOST_kWindowStateNormal:
+ SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE);
+ SDL_RestoreWindow(m_sdl_win);
+ break;
+ case GHOST_kWindowStateMaximized:
+ SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE);
+ SDL_MaximizeWindow(m_sdl_win);
+ break;
+ case GHOST_kWindowStateMinimized:
+ SDL_MinimizeWindow(m_sdl_win);
+ break;
+ case GHOST_kWindowStateFullScreen:
+ SDL_SetWindowFullscreen(m_sdl_win, SDL_TRUE);
+ break;
+ default:
+ break;
+ }
+
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TWindowState
+GHOST_WindowSDL::getState() const
+{
+ Uint32 flags= SDL_GetWindowFlags(m_sdl_win);
+
+ if(flags & SDL_WINDOW_FULLSCREEN) return GHOST_kWindowStateFullScreen;
+ else if(flags & SDL_WINDOW_MAXIMIZED) return GHOST_kWindowStateMaximized;
+ else if(flags & SDL_WINDOW_MINIMIZED) return GHOST_kWindowStateMinimized;
+ return GHOST_kWindowStateNormal;
+}
+
+
+void
+GHOST_WindowSDL::setTitle(const STR_String& title)
+{
+ SDL_SetWindowTitle(m_sdl_win, title.ReadPtr());
+}
+
+
+void
+GHOST_WindowSDL::getTitle(STR_String& title) const
+{
+ title= SDL_GetWindowTitle(m_sdl_win);
+}
+
+
+void
+GHOST_WindowSDL::getWindowBounds(GHOST_Rect& bounds) const
+{
+ getClientBounds(bounds);
+}
+
+
+void
+GHOST_WindowSDL::getClientBounds(GHOST_Rect& bounds) const
+{
+ int x, y, w, h;
+ SDL_GetWindowSize(m_sdl_win, &w, &h);
+ SDL_GetWindowPosition(m_sdl_win, &x, &y);
+
+ bounds.m_l= x;
+ bounds.m_r= x + w;
+ bounds.m_t= y;
+ bounds.m_b= y + h;
+}
+
+GHOST_TSuccess
+GHOST_WindowSDL::setClientWidth(GHOST_TUns32 width)
+{
+ int height;
+ SDL_GetWindowSize(m_sdl_win, NULL, &height);
+ SDL_SetWindowSize(m_sdl_win, width, height);
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_WindowSDL::setClientHeight(GHOST_TUns32 height)
+{
+ int width;
+ SDL_GetWindowSize(m_sdl_win, &width, NULL);
+ SDL_SetWindowSize(m_sdl_win, width, height);
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_WindowSDL::setClientSize(GHOST_TUns32 width,
+ GHOST_TUns32 height)
+{
+ SDL_SetWindowSize(m_sdl_win, width, height);
+ return GHOST_kSuccess;
+}
+
+void
+GHOST_WindowSDL::screenToClient( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const
+{
+ /* XXXSDL_WEAK_ABS_COORDS */
+ int x_win, y_win;
+ SDL_GetWindowPosition(m_sdl_win, &x_win, &y_win);
+
+ outX = inX - x_win;
+ outY = inY - y_win;
+}
+void
+GHOST_WindowSDL::clientToScreen( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const
+{
+ /* XXXSDL_WEAK_ABS_COORDS */
+ int x_win, y_win;
+ SDL_GetWindowPosition(m_sdl_win, &x_win, &y_win);
+
+ outX = inX + x_win;
+ outY = inY + y_win;
+}
+
+/* mouse cursor */
+static unsigned char sdl_std_cursor_mask_xterm[]= {0xef,0x01,0xff,0x01,0xff,0x01,0x7c,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x7c,0x00,0xff,0x01,0xff,0x01,0xef,0x01,};
+static unsigned char sdl_std_cursor_xterm[]= {0x00,0x77,0x00,0x1c,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x1c,0x00,0x77,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_xterm 9
+#define sdl_std_cursor_HEIGHT_xterm 16
+#define sdl_std_cursor_HOT_X_xterm -3
+#define sdl_std_cursor_HOT_Y_xterm -7
+
+static unsigned char sdl_std_cursor_mask_watch[]= {0xfc,0x0f,0xfc,0x0f,0xfc,0x0f,0xfe,0x1f,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xfe,0x1f,0xfc,0x0f,0xfc,0x0f,0xfc,0x0f,};
+static unsigned char sdl_std_cursor_watch[]= {0xf8,0x07,0xf8,0x07,0xf8,0x07,0xfc,0x0f,0x86,0x18,0x83,0x30,0x81,0xe0,0xc1,0xe1,0xc1,0xe1,0x21,0xe0,0x13,0x30,0x06,0x18,0xfc,0x0f,0xf8,0x07,0xf8,0x07,0xf8,0x07,};
+#define sdl_std_cursor_WIDTH_watch 16
+#define sdl_std_cursor_HEIGHT_watch 16
+#define sdl_std_cursor_HOT_X_watch -15
+#define sdl_std_cursor_HOT_Y_watch -7
+
+static unsigned char sdl_std_cursor_mask_umbrella[]= {0xe8,0x76,0xfb,0xdf,0xfd,0x3f,0xfe,0xff,0xff,0x3f,0xff,0xff,0xcf,0x79,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x07,0xc0,0x07,0xc0,0x07,0xc0,0x07,0x80,0x03,};
+static unsigned char sdl_std_cursor_umbrella[]= {0x88,0x04,0x20,0x0a,0xc9,0x32,0xf2,0x09,0x4c,0x06,0x43,0x18,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x01,0x40,0x01,0x80,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_umbrella 16
+#define sdl_std_cursor_HEIGHT_umbrella 16
+#define sdl_std_cursor_HOT_X_umbrella -7
+#define sdl_std_cursor_HOT_Y_umbrella -12
+
+static unsigned char sdl_std_cursor_mask_top_side[]= {0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xc0,0x01,0xe0,0x03,0xf0,0x07,0xf8,0x0f,0xdc,0x1d,0xcc,0x19,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,};
+static unsigned char sdl_std_cursor_top_side[]= {0xff,0x1f,0xff,0x1f,0x00,0x00,0x40,0x00,0xe0,0x00,0x50,0x01,0x48,0x02,0x44,0x04,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_top_side 15
+#define sdl_std_cursor_HEIGHT_top_side 16
+#define sdl_std_cursor_HOT_X_top_side -6
+#define sdl_std_cursor_HOT_Y_top_side -14
+
+static unsigned char sdl_std_cursor_mask_top_right_corner[]= {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf0,0xfc,0xf7,0xfc,0xf7,0xfc,0xf7,0xc0,0xf7,0xe0,0xf7,0x70,0xf7,0x38,0xf7,0x1c,0xf7,0x0c,0xf7,0x00,0xf0,0x00,0xf0,};
+static unsigned char sdl_std_cursor_top_right_corner[]= {0xff,0x3f,0xff,0x3f,0x00,0x30,0x00,0x30,0x00,0x30,0xfc,0x31,0x80,0x31,0x40,0x31,0x20,0x31,0x10,0x31,0x08,0x31,0x04,0x31,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_top_right_corner 16
+#define sdl_std_cursor_HEIGHT_top_right_corner 16
+#define sdl_std_cursor_HOT_X_top_right_corner -13
+#define sdl_std_cursor_HOT_Y_top_right_corner -14
+
+static unsigned char sdl_std_cursor_mask_top_left_corner[]= {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0xef,0x3f,0xef,0x3f,0xef,0x3f,0xef,0x03,0xef,0x07,0xef,0x0e,0xef,0x1c,0xef,0x38,0xef,0x30,0x0f,0x00,0x0f,0x00,};
+static unsigned char sdl_std_cursor_top_left_corner[]= {0xff,0x3f,0xff,0x3f,0x03,0x00,0x03,0x00,0x03,0x00,0xe3,0x0f,0x63,0x00,0xa3,0x00,0x23,0x01,0x23,0x02,0x23,0x04,0x23,0x08,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_top_left_corner 16
+#define sdl_std_cursor_HEIGHT_top_left_corner 16
+#define sdl_std_cursor_HOT_X_top_left_corner 0
+#define sdl_std_cursor_HOT_Y_top_left_corner -14
+
+static unsigned char sdl_std_cursor_mask_spraycan[]= {0x00,0x0c,0x18,0x0d,0x7c,0x0d,0x7c,0x0d,0x7e,0x0d,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,};
+static unsigned char sdl_std_cursor_spraycan[]= {0x00,0x06,0x80,0x00,0x2c,0x06,0x9e,0x00,0x16,0x06,0x3f,0x00,0x21,0x00,0x27,0x00,0x25,0x00,0x27,0x00,0x25,0x00,0x27,0x00,0x27,0x00,0x21,0x00,0x21,0x00,0x3f,0x00,};
+#define sdl_std_cursor_WIDTH_spraycan 12
+#define sdl_std_cursor_HEIGHT_spraycan 16
+#define sdl_std_cursor_HOT_X_spraycan -9
+#define sdl_std_cursor_HOT_Y_spraycan -14
+
+static unsigned char sdl_std_cursor_mask_sb_v_double_arrow[]= {0x38,0x00,0x7c,0x00,0xfe,0x00,0xff,0x01,0xff,0x01,0x7c,0x00,0x7c,0x00,0x7c,0x00,0x7c,0x00,0x7c,0x00,0xff,0x01,0xff,0x01,0xfe,0x00,0x7c,0x00,0x38,0x00,};
+static unsigned char sdl_std_cursor_sb_v_double_arrow[]= {0x10,0x00,0x38,0x00,0x7c,0x00,0xfe,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0xfe,0x00,0x7c,0x00,0x38,0x00,0x10,0x00,};
+#define sdl_std_cursor_WIDTH_sb_v_double_arrow 9
+#define sdl_std_cursor_HEIGHT_sb_v_double_arrow 15
+#define sdl_std_cursor_HOT_X_sb_v_double_arrow -3
+#define sdl_std_cursor_HOT_Y_sb_v_double_arrow -8
+
+static unsigned char sdl_std_cursor_mask_sb_h_double_arrow[]= {0x18,0x0c,0x1c,0x1c,0xfe,0x3f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xfe,0x3f,0x1c,0x1c,0x18,0x0c,};
+static unsigned char sdl_std_cursor_sb_h_double_arrow[]= {0x00,0x00,0x08,0x08,0x0c,0x18,0xfe,0x3f,0x0f,0x78,0xfe,0x3f,0x0c,0x18,0x08,0x08,0x00,0x00};
+#define sdl_std_cursor_WIDTH_sb_h_double_arrow 15
+#define sdl_std_cursor_HEIGHT_sb_h_double_arrow 9
+#define sdl_std_cursor_HOT_X_sb_h_double_arrow -7
+#define sdl_std_cursor_HOT_Y_sb_h_double_arrow -4
+
+static unsigned char sdl_std_cursor_mask_right_side[]= {0x00,0xf0,0x00,0xf0,0xc0,0xf0,0xc0,0xf1,0x80,0xf3,0x00,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf7,0x80,0xf3,0xc0,0xf1,0xc0,0xf0,0x00,0xf0,0x00,0xf0,};
+static unsigned char sdl_std_cursor_right_side[]= {0x00,0x30,0x00,0x30,0x40,0x30,0x80,0x30,0x00,0x31,0x00,0x32,0xff,0x37,0x00,0x32,0x00,0x31,0x80,0x30,0x40,0x30,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_right_side 16
+#define sdl_std_cursor_HEIGHT_right_side 15
+#define sdl_std_cursor_HOT_X_right_side -13
+#define sdl_std_cursor_HOT_Y_right_side -7
+
+static unsigned char sdl_std_cursor_mask_right_ptr[]= {0x00,0x03,0x80,0x03,0xc0,0x03,0xe0,0x03,0xf0,0x03,0xf8,0x03,0xfc,0x03,0xfe,0x03,0xff,0x03,0xff,0x03,0xf8,0x03,0xbc,0x03,0x3c,0x03,0x1e,0x00,0x1e,0x00,0x0c,0x00,};
+static unsigned char sdl_std_cursor_right_ptr[]= {0x00,0x80,0x00,0xc0,0x00,0xe0,0x00,0xf0,0x00,0xf8,0x00,0xfc,0x00,0xfe,0x00,0xff,0x00,0xf8,0x00,0xd8,0x00,0x8c,0x00,0x0c,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_right_ptr 10
+#define sdl_std_cursor_HEIGHT_right_ptr 16
+#define sdl_std_cursor_HOT_X_right_ptr -7
+#define sdl_std_cursor_HOT_Y_right_ptr -14
+
+static unsigned char sdl_std_cursor_mask_question_arrow[]= {0xf8,0x00,0xfc,0x01,0xfe,0x03,0xff,0x07,0x8f,0x07,0x9f,0x07,0xde,0x07,0xfc,0x03,0xf8,0x01,0xf8,0x00,0xf8,0x00,0xfc,0x01,0xfe,0x03,0xfc,0x01,0xf8,0x00,0x70,0x00,};
+static unsigned char sdl_std_cursor_question_arrow[]= {0x7c,0x00,0xfe,0x00,0xc7,0x01,0x83,0x01,0x87,0x01,0xc6,0x01,0xe0,0x00,0x78,0x00,0x38,0x00,0x28,0x00,0x28,0x00,0xee,0x00,0x6c,0x00,0x38,0x00,0x10,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_question_arrow 11
+#define sdl_std_cursor_HEIGHT_question_arrow 16
+#define sdl_std_cursor_HOT_X_question_arrow -4
+#define sdl_std_cursor_HOT_Y_question_arrow -8
+
+static unsigned char sdl_std_cursor_mask_pirate[]= {0xf0,0x03,0xf8,0x07,0xfc,0x0f,0xfe,0x1f,0xfe,0x1f,0xfc,0x0f,0xf8,0x07,0xf1,0x83,0xf1,0xe3,0xf3,0xf3,0xef,0x39,0x1e,0x1e,0xe0,0x01,0xfe,0xc7,0xff,0xff,0x0f,0x7c,};
+static unsigned char sdl_std_cursor_pirate[]= {0xe0,0x01,0xf0,0x03,0xf8,0x07,0xcc,0x0c,0xcc,0x0c,0xf8,0x07,0xf0,0x03,0xe0,0x01,0xe1,0x21,0xe1,0x61,0xc2,0x10,0x1c,0x0e,0xe0,0x01,0xf8,0x47,0x0f,0x7c,0x01,0x20,};
+#define sdl_std_cursor_WIDTH_pirate 16
+#define sdl_std_cursor_HEIGHT_pirate 16
+#define sdl_std_cursor_HOT_X_pirate -7
+#define sdl_std_cursor_HOT_Y_pirate -4
+
+static unsigned char sdl_std_cursor_mask_left_side[]= {0x0f,0x00,0x0f,0x00,0x0f,0x03,0x8f,0x03,0xcf,0x01,0xef,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x00,0xcf,0x01,0x8f,0x03,0x0f,0x03,0x0f,0x00,0x0f,0x00,};
+static unsigned char sdl_std_cursor_left_side[]= {0x03,0x00,0x03,0x00,0x83,0x00,0x43,0x00,0x23,0x00,0x13,0x00,0xfb,0x3f,0x13,0x00,0x23,0x00,0x43,0x00,0x83,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_left_side 16
+#define sdl_std_cursor_HEIGHT_left_side 15
+#define sdl_std_cursor_HOT_X_left_side 0
+#define sdl_std_cursor_HOT_Y_left_side -7
+
+static unsigned char sdl_std_cursor_mask_left_ptr[]= {0x03,0x00,0x07,0x00,0x0f,0x00,0x1f,0x00,0x3f,0x00,0x7f,0x00,0xff,0x00,0xff,0x01,0xff,0x03,0xff,0x03,0x7f,0x00,0xf7,0x00,0xf3,0x00,0xe0,0x01,0xe0,0x01,0xc0,0x00,};
+static unsigned char sdl_std_cursor_left_ptr[]= {0x00,0x00,0x02,0x00,0x06,0x00,0x0e,0x00,0x1e,0x00,0x3e,0x00,0x7e,0x00,0xfe,0x00,0xfe,0x00,0x3e,0x00,0x36,0x00,0x62,0x00,0x60,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_left_ptr 10
+#define sdl_std_cursor_HEIGHT_left_ptr 16
+#define sdl_std_cursor_HOT_X_left_ptr -8
+#define sdl_std_cursor_HOT_Y_left_ptr -14
+
+static unsigned char sdl_std_cursor_mask_exchange[]= {0xe3,0x07,0xf7,0x0f,0xff,0x1f,0xff,0x3f,0x3f,0x38,0xff,0x30,0xff,0x00,0xff,0x00,0x00,0xff,0x00,0xff,0x0c,0xfe,0x1c,0xfc,0xfc,0xff,0xf8,0xff,0xf0,0xef,0xe0,0xc7,};
+static unsigned char sdl_std_cursor_exchange[]= {0xf1,0x03,0xfb,0x07,0x1f,0x0c,0x09,0x08,0x19,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x26,0x04,0x24,0x0c,0x3e,0xf8,0x37,0xf0,0x23,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_exchange 16
+#define sdl_std_cursor_HEIGHT_exchange 16
+#define sdl_std_cursor_HOT_X_exchange -6
+#define sdl_std_cursor_HOT_Y_exchange -8
+
+static unsigned char sdl_std_cursor_mask_crosshair[]= {0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,};
+static unsigned char sdl_std_cursor_crosshair[]= {0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x7f,0xff,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_crosshair 16
+#define sdl_std_cursor_HEIGHT_crosshair 16
+#define sdl_std_cursor_HOT_X_crosshair -7
+#define sdl_std_cursor_HOT_Y_crosshair -8
+
+static unsigned char sdl_std_cursor_mask_bottom_side[]= {0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xcc,0x19,0xdc,0x1d,0xf8,0x0f,0xf0,0x07,0xe0,0x03,0xc0,0x01,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,};
+static unsigned char sdl_std_cursor_bottom_side[]= {0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x44,0x04,0x48,0x02,0x50,0x01,0xe0,0x00,0x40,0x00,0x00,0x00,0xff,0x1f,0xff,0x1f,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_bottom_side 15
+#define sdl_std_cursor_HEIGHT_bottom_side 16
+#define sdl_std_cursor_HOT_X_bottom_side -6
+#define sdl_std_cursor_HOT_Y_bottom_side -1
+
+static unsigned char sdl_std_cursor_mask_bottom_right_corner[]= {0x00,0xf0,0x00,0xf0,0x0c,0xf7,0x1c,0xf7,0x38,0xf7,0x70,0xf7,0xe0,0xf7,0xc0,0xf7,0xfc,0xf7,0xfc,0xf7,0xfc,0xf7,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,};
+static unsigned char sdl_std_cursor_bottom_right_corner[]= {0x00,0x30,0x00,0x30,0x04,0x31,0x08,0x31,0x10,0x31,0x20,0x31,0x40,0x31,0x80,0x31,0xfc,0x31,0x00,0x30,0x00,0x30,0x00,0x30,0xff,0x3f,0xff,0x3f,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_bottom_right_corner 16
+#define sdl_std_cursor_HEIGHT_bottom_right_corner 16
+#define sdl_std_cursor_HOT_X_bottom_right_corner -13
+#define sdl_std_cursor_HOT_Y_bottom_right_corner -1
+
+static unsigned char sdl_std_cursor_mask_bottom_left_corner[]= {0x0f,0x00,0x0f,0x00,0xef,0x30,0xef,0x38,0xef,0x1c,0xef,0x0e,0xef,0x07,0xef,0x03,0xef,0x3f,0xef,0x3f,0xef,0x3f,0x0f,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,};
+static unsigned char sdl_std_cursor_bottom_left_corner[]= {0x03,0x00,0x03,0x00,0x23,0x08,0x23,0x04,0x23,0x02,0x23,0x01,0xa3,0x00,0x63,0x00,0xe3,0x0f,0x03,0x00,0x03,0x00,0x03,0x00,0xff,0x3f,0xff,0x3f,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_bottom_left_corner 16
+#define sdl_std_cursor_HEIGHT_bottom_left_corner 16
+#define sdl_std_cursor_HOT_X_bottom_left_corner 0
+#define sdl_std_cursor_HOT_Y_bottom_left_corner -1
+
+static unsigned char sdl_std_cursor_mask_arrow[]= {0x00,0xe0,0x00,0xf8,0x00,0xfe,0x80,0x7f,0xe0,0x7f,0xf8,0x3f,0xfc,0x3f,0xfc,0x1f,0xe0,0x1f,0xf0,0x0f,0xf8,0x0f,0x7c,0x07,0x3e,0x07,0x1f,0x02,0x0e,0x00,0x04,0x00,};
+static unsigned char sdl_std_cursor_arrow[]= {0x00,0x30,0x00,0x3c,0x00,0x1f,0xc0,0x1f,0xf0,0x0f,0xfc,0x0f,0xc0,0x07,0xe0,0x07,0x70,0x03,0x38,0x03,0x1c,0x01,0x0e,0x01,0x07,0x00,0x02,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_arrow 16
+#define sdl_std_cursor_HEIGHT_arrow 16
+#define sdl_std_cursor_HOT_X_arrow -13
+#define sdl_std_cursor_HOT_Y_arrow -14
+/* end cursor data */
+
+
+static SDL_Cursor *sdl_std_cursor_array[(int)GHOST_kStandardCursorNumCursors]= {0};
+
+/* utility function mostly a copy of SDL_CreateCursor but allows us to change
+ * color and supports blenders flipped bits */
+static SDL_Cursor *
+sdl_ghost_CreateCursor(const Uint8 *data,
+ const Uint8 *mask,
+ int w,
+ int h,
+ int hot_x,
+ int hot_y)
+{
+ SDL_Surface *surface;
+ SDL_Cursor *cursor;
+ int x, y;
+ Uint32 *pixel;
+ Uint8 datab= 0, maskb= 0;
+ const Uint32 black= 0xFF000000;
+ const Uint32 white= 0xFFFFFFFF;
+ const Uint32 transparent= 0x00000000;
+
+ /* Make sure the width is a multiple of 8 */
+ w= ((w + 7) & ~7);
+
+ /* Create the surface from a bitmap */
+ surface= SDL_CreateRGBSurface(0, w, h, 32,
+ 0x00FF0000,
+ 0x0000FF00,
+ 0x000000FF,
+ 0xFF000000);
+ if (!surface) {
+ return NULL;
+ }
+ for (y= 0; y < h; ++y) {
+ pixel= (Uint32 *) ((Uint8 *) surface->pixels + y * surface->pitch);
+ for (x= 0; x < w; ++x) {
+ if ((x % 8) == 0) {
+ datab= *data++;
+ maskb= *mask++;
+
+ /* reverse bit order */
+ datab= (datab * 0x0202020202ULL & 0x010884422010ULL) % 1023;
+ maskb= (maskb * 0x0202020202ULL & 0x010884422010ULL) % 1023;
+ }
+ if (maskb & 0x80) {
+ *pixel++= (datab & 0x80) ? white : black;
+ }
+ else {
+ *pixel++= (datab & 0x80) ? white : transparent;
+ }
+ datab <<= 1;
+ maskb <<= 1;
+ }
+ }
+
+ cursor= SDL_CreateColorCursor(surface, hot_x, hot_y);
+
+ SDL_FreeSurface(surface);
+
+ return cursor;
+}
+
+/* TODO, this is currently never freed but it wont leak either. */
+static void sdl_cursor_init(void)
+{
+
+#define DEF_CURSOR(name, ind) \
+ assert(\
+ (\
+ sdl_std_cursor_array[(int)ind]= \
+ sdl_ghost_CreateCursor(sdl_std_cursor_##name, \
+ sdl_std_cursor_mask_##name, \
+ sdl_std_cursor_WIDTH_##name, \
+ sdl_std_cursor_HEIGHT_##name, \
+ (sdl_std_cursor_WIDTH_##name + (sdl_std_cursor_HOT_X_##name)) - 1, \
+ (sdl_std_cursor_HEIGHT_##name + (sdl_std_cursor_HOT_Y_##name)) - 1) \
+ ) != NULL) \
+
+
+ DEF_CURSOR(left_ptr, GHOST_kStandardCursorDefault);
+ DEF_CURSOR(right_ptr, GHOST_kStandardCursorRightArrow);
+ DEF_CURSOR(left_ptr, GHOST_kStandardCursorLeftArrow);
+ DEF_CURSOR(umbrella, GHOST_kStandardCursorInfo); // TODO, replace this one.
+ DEF_CURSOR(pirate, GHOST_kStandardCursorDestroy);
+ DEF_CURSOR(question_arrow, GHOST_kStandardCursorHelp);
+ DEF_CURSOR(exchange, GHOST_kStandardCursorCycle);
+ DEF_CURSOR(spraycan, GHOST_kStandardCursorSpray);
+ DEF_CURSOR(watch, GHOST_kStandardCursorWait);
+ DEF_CURSOR(xterm, GHOST_kStandardCursorText);
+ DEF_CURSOR(crosshair, GHOST_kStandardCursorCrosshair);
+ DEF_CURSOR(sb_v_double_arrow, GHOST_kStandardCursorUpDown);
+ DEF_CURSOR(sb_h_double_arrow, GHOST_kStandardCursorLeftRight);
+ DEF_CURSOR(top_side, GHOST_kStandardCursorTopSide);
+ DEF_CURSOR(bottom_side, GHOST_kStandardCursorBottomSide);
+ DEF_CURSOR(left_side, GHOST_kStandardCursorLeftSide);
+ DEF_CURSOR(right_side, GHOST_kStandardCursorRightSide);
+ DEF_CURSOR(top_left_corner, GHOST_kStandardCursorTopLeftCorner);
+ DEF_CURSOR(top_right_corner, GHOST_kStandardCursorTopRightCorner);
+ DEF_CURSOR(bottom_right_corner, GHOST_kStandardCursorBottomRightCorner);
+ DEF_CURSOR(bottom_left_corner , GHOST_kStandardCursorBottomLeftCorner);
+ DEF_CURSOR(arrow , GHOST_kStandardCursorCopy);
+ //DEF_CURSOR(arrow, GHOST_kStandardCursorCustom);
+ DEF_CURSOR(arrow, GHOST_kStandardCursorPencil);
+
+#undef DEF_CURSOR
+
+}
+
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCursorGrab(GHOST_TGrabCursorMode mode)
+{
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCursorShape(GHOST_TStandardCursor shape)
+{
+ if(sdl_std_cursor_array[0] == NULL) {
+ sdl_cursor_init();
+ }
+
+ SDL_SetCursor(sdl_std_cursor_array[(int)shape]);
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
+ GHOST_TUns8 mask[16][2],
+ int hotX,
+ int hotY)
+{
+ return setWindowCustomCursorShape((GHOST_TUns8 *)bitmap,
+ (GHOST_TUns8 *)mask,
+ 16, 16,
+ hotX, hotY,
+ 0, 1);
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
+ GHOST_TUns8 *mask,
+ int sizex, int sizey,
+ int hotX, int hotY,
+ int fg_color, int bg_color)
+{
+ if(m_sdl_custom_cursor) {
+ SDL_FreeCursor(m_sdl_custom_cursor);
+ }
+
+ m_sdl_custom_cursor= sdl_ghost_CreateCursor((const Uint8 *)bitmap,
+ (const Uint8 *)mask,
+ sizex, sizex,
+ hotX, hotY);
+
+ SDL_SetCursor(m_sdl_custom_cursor);
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCursorVisibility(bool visible)
+{
+ SDL_ShowCursor(visible);
+ return GHOST_kSuccess;
+}
diff --git a/intern/ghost/intern/GHOST_WindowSDL.h b/intern/ghost/intern/GHOST_WindowSDL.h
new file mode 100644
index 00000000000..6b016b85126
--- /dev/null
+++ b/intern/ghost/intern/GHOST_WindowSDL.h
@@ -0,0 +1,167 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_WindowSDL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_WindowSDL class.
+ */
+
+#ifndef _GHOST_WINDOWSDL_H_
+#define _GHOST_WINDOWSDL_H_
+
+#include "GHOST_Window.h"
+#include "GHOST_SystemSDL.h"
+#include <map>
+
+extern "C" {
+ #include "SDL.h"
+}
+
+#if !SDL_VERSION_ATLEAST(1, 3, 0)
+# error "SDL 1.3 or newer is needed to build with Ghost"
+#endif
+
+class STR_String;
+
+class GHOST_WindowSDL : public GHOST_Window
+{
+private :
+ GHOST_SystemSDL * m_system;
+ bool m_invalid_window;
+
+ SDL_Window * m_sdl_win;
+ SDL_GLContext m_sdl_glcontext;
+ SDL_Cursor * m_sdl_custom_cursor;
+
+public:
+
+ const GHOST_TabletData* GetTabletData() { return NULL; }
+
+ GHOST_WindowSDL(GHOST_SystemSDL *system,
+ const STR_String& title,
+ GHOST_TInt32 left, GHOST_TInt32 top,
+ GHOST_TUns32 width, GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ const GHOST_TEmbedderWindowID parentWindow,
+ GHOST_TDrawingContextType type,
+ const bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples
+ );
+
+ ~GHOST_WindowSDL();
+
+ /* SDL spesific */
+ SDL_Window *
+ getSDLWindow()
+ {
+ return m_sdl_win;
+ }
+
+
+ GHOST_TSuccess invalidate(void);
+
+ /**
+ * called by the X11 system implementation when expose events
+ * for the window have been pushed onto the GHOST queue
+ */
+
+ void validate()
+ {
+ m_invalid_window = false;
+ }
+
+ bool getValid() const
+ {
+ return (m_sdl_win != NULL);
+ }
+
+ void getWindowBounds(GHOST_Rect& bounds) const;
+ void getClientBounds(GHOST_Rect& bounds) const;
+
+protected:
+ GHOST_TSuccess installDrawingContext(GHOST_TDrawingContextType type);
+ GHOST_TSuccess removeDrawingContext();
+
+ GHOST_TSuccess
+ setWindowCursorGrab(GHOST_TGrabCursorMode mode);
+
+ GHOST_TSuccess
+ setWindowCursorShape(GHOST_TStandardCursor shape);
+
+ GHOST_TSuccess
+ setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
+ GHOST_TUns8 mask[16][2],
+ int hotX, int hotY);
+
+ GHOST_TSuccess
+ setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
+ GHOST_TUns8 *mask,
+ int sizex, int sizey,
+ int hotX, int hotY,
+ int fg_color, int bg_color);
+
+ GHOST_TSuccess
+ setWindowCursorVisibility(bool visible);
+
+ void
+ setTitle(const STR_String& title);
+
+ void
+ getTitle(STR_String& title) const;
+
+ GHOST_TSuccess
+ setClientWidth(GHOST_TUns32 width);
+
+ GHOST_TSuccess
+ setClientHeight(GHOST_TUns32 height);
+
+ GHOST_TSuccess
+ setClientSize(GHOST_TUns32 width,
+ GHOST_TUns32 height);
+
+ void
+ screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY,
+ GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ void
+ clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY,
+ GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ GHOST_TSuccess
+ swapBuffers();
+
+ GHOST_TSuccess
+ activateDrawingContext();
+
+ GHOST_TSuccess
+ setState(GHOST_TWindowState state);
+
+ GHOST_TWindowState
+ getState() const;
+
+ GHOST_TSuccess setOrder(GHOST_TWindowOrder order) { return GHOST_kSuccess; } // TODO
+
+};
+
+
+#endif // _GHOST_WINDOWSDL_H_
diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp
index a89b2608bb4..1ba51376ff9 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.cpp
+++ b/intern/ghost/intern/GHOST_WindowWin32.cpp
@@ -136,7 +136,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(
GHOST_TSuccess msEnabled,
int msPixelFormat)
:
- GHOST_Window(title, left, top, width, height, state, GHOST_kDrawingContextTypeNone,
+ GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone,
stereoVisual,numOfAASamples),
m_system(system),
m_hDC(0),
@@ -307,6 +307,15 @@ GHOST_WindowWin32::GHOST_WindowWin32(
}
}
+ if (parentwindowhwnd != 0) {
+ RAWINPUTDEVICE device = {0};
+ device.usUsagePage = 0x01; /* usUsagePage & usUsage for keyboard*/
+ device.usUsage = 0x06; /* http://msdn.microsoft.com/en-us/windows/hardware/gg487473.aspx */
+ device.dwFlags |= RIDEV_INPUTSINK; // makes WM_INPUT is visible for ghost when has parent window
+ device.hwndTarget = m_hWnd;
+ RegisterRawInputDevices(&device, 1, sizeof(device));
+ }
+
m_wintab = ::LoadLibrary("Wintab32.dll");
if (m_wintab) {
GHOST_WIN32_WTInfo fpWTInfo = ( GHOST_WIN32_WTInfo ) ::GetProcAddress( m_wintab, "WTInfoA" );
diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp
index aea5b5156d9..de725151607 100644
--- a/intern/ghost/intern/GHOST_WindowX11.cpp
+++ b/intern/ghost/intern/GHOST_WindowX11.cpp
@@ -164,7 +164,7 @@ GHOST_WindowX11(
const bool stereoVisual,
const GHOST_TUns16 numOfAASamples
) :
- GHOST_Window(title,left,top,width,height,state,type,stereoVisual,numOfAASamples),
+ GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples),
m_context(NULL),
m_display(display),
m_normal_state(GHOST_kWindowStateNormal),
@@ -182,9 +182,12 @@ GHOST_WindowX11(
Atom atoms[2];
int natom;
int glxVersionMajor, glxVersionMinor; // As in GLX major.minor
-
+
+#ifdef WITH_X11_XINPUT
/* initialize incase X11 fails to load */
memset(&m_xtablet, 0, sizeof(m_xtablet));
+#endif
+
m_visual= NULL;
if (!glXQueryVersion(m_display, &glxVersionMajor, &glxVersionMinor)) {
diff --git a/intern/ghost/intern/GHOST_WindowX11.h b/intern/ghost/intern/GHOST_WindowX11.h
index 96d8ad77d10..2cb269ea919 100644
--- a/intern/ghost/intern/GHOST_WindowX11.h
+++ b/intern/ghost/intern/GHOST_WindowX11.h
@@ -38,7 +38,9 @@
#include <X11/Xlib.h>
#include <GL/glx.h>
// For tablets
-#include <X11/extensions/XInput.h>
+#ifdef WITH_X11_XINPUT
+# include <X11/extensions/XInput.h>
+#endif
#include <map>
@@ -190,7 +192,7 @@ public:
Window
getXWindow(
);
-
+#ifdef WITH_X11_XINPUT
class XTablet
{
public:
@@ -214,6 +216,10 @@ public:
const GHOST_TabletData* GetTabletData()
{ return &m_xtablet.CommonData; }
+#else // WITH_X11_XINPUT
+ const GHOST_TabletData* GetTabletData()
+ { return NULL; }
+#endif // WITH_X11_XINPUT
/*
* Need this in case that we want start the window
@@ -321,7 +327,9 @@ private :
getEmptyCursor(
);
+#ifdef WITH_X11_XINPUT
void initXInputDevices();
+#endif
GLXContext m_context;
Window m_window;
@@ -350,8 +358,10 @@ private :
/** Cache of XC_* ID's to XCursor structures */
std::map<unsigned int, Cursor> m_standard_cursors;
+#ifdef WITH_X11_XINPUT
/* Tablet devices */
XTablet m_xtablet;
+#endif
void icccmSetState(int state);
int icccmGetState() const;
diff --git a/intern/ghost/test/CMakeLists.txt b/intern/ghost/test/CMakeLists.txt
new file mode 100644
index 00000000000..f834b55b387
--- /dev/null
+++ b/intern/ghost/test/CMakeLists.txt
@@ -0,0 +1,155 @@
+
+cmake_policy(SET CMP0003 NEW)
+cmake_policy(SET CMP0005 NEW)
+
+cmake_minimum_required(VERSION 2.8)
+
+# -----------------------------------------------------------------------------
+# Macros
+
+
+# stub macro, does nothing
+macro(blender_add_lib
+ name
+ sources
+ includes
+ includes_sys
+ )
+
+endmacro()
+
+# suffix relative paths so we can use external cmake files
+macro(suffix_relpaths
+ new_files files prefix)
+
+ set(${new_files})
+ foreach(_file ${files})
+ if(IS_ABSOLUTE _file)
+ list(APPEND ${new_files} ${_file})
+ else()
+ list(APPEND ${new_files} "${prefix}${_file}")
+ endif()
+ endforeach()
+ unset(_file)
+endmacro()
+
+
+# -----------------------------------------------------------------------------
+# Libraries
+
+# ghost
+include(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../")
+suffix_relpaths(SRC_NEW "${SRC}" "../")
+include_directories(${INC_NEW})
+add_library(ghost_lib ${SRC_NEW})
+
+# string
+include(${CMAKE_SOURCE_DIR}/../../string/CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../../string/")
+suffix_relpaths(SRC_NEW "${SRC}" "../../string/")
+include_directories(${INC_NEW})
+add_library(string_lib ${SRC_NEW})
+
+# guardedalloc
+include(${CMAKE_SOURCE_DIR}/../../guardedalloc/CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../../guardedalloc/")
+suffix_relpaths(SRC_NEW "${SRC}" "../../guardedalloc/")
+include_directories(${INC_NEW})
+add_library(guardedalloc_lib ${SRC_NEW})
+
+# blenfont
+include(${CMAKE_SOURCE_DIR}/../../../source/blender/blenfont/CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../../../source/blender/blenfont/")
+suffix_relpaths(SRC_NEW "${SRC}" "../../../source/blender/blenfont/")
+include_directories(${INC_NEW})
+add_library(blenfont_lib ${SRC_NEW})
+
+# grr, blenfont needs BLI
+include_directories(
+ "../../../source/blender/blenlib"
+ "../../../source/blender/blenloader"
+ )
+add_library(bli_lib
+ "../../../source/blender/blenlib/intern/fileops.c"
+ "../../../source/blender/blenlib/intern/rct.c"
+ "../../../source/blender/blenlib/intern/string.c"
+ "../../../source/blender/blenlib/intern/listbase.c"
+ "../../../source/blender/blenlib/intern/storage.c"
+ "../../../source/blender/blenlib/intern/path_util.c"
+ "../../../source/blender/blenlib/intern/BLI_dynstr.c"
+ "../../../source/blender/blenlib/intern/BLI_linklist.c"
+ "../../../source/blender/blenlib/intern/BLI_memarena.c"
+ )
+
+
+find_package(OpenGL REQUIRED)
+
+find_package(Freetype REQUIRED)
+
+include_directories(${CMAKE_SOURCE_DIR}/../)
+include_directories(${OPENGL_INCLUDE_DIR})
+include_directories(${FREETYPE_INCLUDE_DIRS})
+include_directories(${CMAKE_SOURCE_DIR}/../../../source/blender/blenfont)
+
+if(UNIX AND NOT APPLE)
+ find_package(X11 REQUIRED)
+
+ set(PLATFORM_LINKLIBS
+ ${X11_X11_LIB}
+ ${X11_Xinput_LIB}
+ )
+endif()
+
+# -----------------------------------------------------------------------------
+# Executables
+
+
+# Gears (C)
+add_executable(gears_c
+ ${CMAKE_SOURCE_DIR}/gears/GHOST_C-Test.c)
+
+target_link_libraries(gears_c
+ ghost_lib
+ string_lib
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${PLATFORM_LINKLIBS}
+ )
+
+
+# Gears (C++)
+add_executable(gears_cpp
+ ${CMAKE_SOURCE_DIR}/gears/GHOST_Test.cpp)
+
+target_link_libraries(gears_cpp
+ ghost_lib
+ string_lib
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${PLATFORM_LINKLIBS}
+ )
+
+
+# MultiTest (C)
+add_executable(multitest_c
+ ${CMAKE_SOURCE_DIR}/../../../source/blender/editors/datafiles/bfont.ttf.c
+ ${CMAKE_SOURCE_DIR}/multitest/Basic.c
+ ${CMAKE_SOURCE_DIR}/multitest/EventToBuf.c
+ ${CMAKE_SOURCE_DIR}/multitest/MultiTest.c
+ ${CMAKE_SOURCE_DIR}/multitest/ScrollBar.c
+ ${CMAKE_SOURCE_DIR}/multitest/Util.c
+ ${CMAKE_SOURCE_DIR}/multitest/WindowData.c
+)
+
+target_link_libraries(multitest_c
+ blenfont_lib
+ bli_lib
+ ghost_lib
+ string_lib
+ guardedalloc_lib
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${FREETYPE_LIBRARY}
+ ${PLATFORM_LINKLIBS}
+ )
diff --git a/intern/ghost/test/gears/GHOST_C-Test.c b/intern/ghost/test/gears/GHOST_C-Test.c
index b34a37132b6..c582d205258 100644
--- a/intern/ghost/test/gears/GHOST_C-Test.c
+++ b/intern/ghost/test/gears/GHOST_C-Test.c
@@ -474,6 +474,7 @@ int main(int argc, char** argv)
200,
GHOST_kWindowStateNormal,
GHOST_kDrawingContextTypeOpenGL,
+ FALSE,
FALSE);
if (!sMainWindow)
{
@@ -490,6 +491,7 @@ int main(int argc, char** argv)
200,
GHOST_kWindowStateNormal,
GHOST_kDrawingContextTypeOpenGL,
+ FALSE,
FALSE);
if (!sSecondaryWindow)
{
diff --git a/intern/ghost/test/gears/GHOST_Test.cpp b/intern/ghost/test/gears/GHOST_Test.cpp
index 6e269e1cede..930faf463b6 100644
--- a/intern/ghost/test/gears/GHOST_Test.cpp
+++ b/intern/ghost/test/gears/GHOST_Test.cpp
@@ -428,7 +428,7 @@ Application::Application(GHOST_ISystem* system)
// Create the main window
STR_String title1 ("gears - main window");
m_mainWindow = system->createWindow(title1, 10, 64, 320, 200, GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL, true /* stereo flag */);
+ GHOST_kDrawingContextTypeOpenGL, false, false);
if (!m_mainWindow) {
std::cout << "could not create main window\n";
@@ -438,7 +438,7 @@ Application::Application(GHOST_ISystem* system)
// Create a secondary window
STR_String title2 ("gears - secondary window");
m_secondaryWindow = system->createWindow(title2, 340, 64, 320, 200, GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL, false /* stereo flag */);
+ GHOST_kDrawingContextTypeOpenGL, false, false);
if (!m_secondaryWindow) {
cout << "could not create secondary window\n";
exit(-1);
diff --git a/intern/ghost/test/multitest/MultiTest.c b/intern/ghost/test/multitest/MultiTest.c
index 848601b2cc7..00939e907d6 100644
--- a/intern/ghost/test/multitest/MultiTest.c
+++ b/intern/ghost/test/multitest/MultiTest.c
@@ -42,7 +42,18 @@
#include "MEM_guardedalloc.h"
#include "GHOST_C-api.h"
-#include "BMF_Api.h"
+
+#ifdef USE_BMF
+# include "BMF_Api.h"
+#else
+# include "BLF_api.h"
+ extern int datatoc_bfont_ttf_size;
+ extern char datatoc_bfont_ttf[];
+
+ // XXX, bad, but BLI uses these
+ char bprogname[160]= "";
+char U[1024]= {0};
+#endif
#include "Util.h"
#include "Basic.h"
@@ -291,7 +302,7 @@ MainWindow *mainwindow_new(MultiTestApp *app) {
win= GHOST_CreateWindow(sys, "MultiTest:Main", 40, 40, 400, 400,
GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL,
- FALSE);
+ FALSE, FALSE);
if (win) {
MainWindow *mw= MEM_callocN(sizeof(*mw), "mainwindow_new");
@@ -324,8 +335,12 @@ struct _LoggerWindow {
MultiTestApp *app;
GHOST_WindowHandle win;
-
+
+#ifdef USE_BMF
BMF_Font *font;
+#else
+ int font;
+#endif
int fonttexid;
int fontheight;
@@ -429,18 +444,26 @@ static void loggerwindow_do_draw(LoggerWindow *lw) {
char *line= lw->loglines[(lw->nloglines-1)-(i+startline)];
int x_pos= lw->textarea[0][0] + 4;
int y_pos= lw->textarea[0][1] + 4 + i*lw->fontheight;
-
+
+#ifdef USE_BMF
if (lw->fonttexid==-1) {
glRasterPos2i(x_pos, y_pos);
BMF_DrawString(lw->font, line);
} else {
BMF_DrawStringTexture(lw->font, line, x_pos, y_pos, 0.0);
}
+#else
+ BLF_position(lw->font, x_pos, y_pos, 0.0);
+ BLF_draw(lw->font, line, 256); // XXX
+#endif
}
+
+#ifdef USE_BMF
if (lw->fonttexid!=-1) {
glDisable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
}
+#endif
GHOST_SwapWindowBuffers(lw->win);
}
@@ -531,19 +554,25 @@ LoggerWindow *loggerwindow_new(MultiTestApp *app) {
GHOST_GetMainDisplayDimensions(sys, &screensize[0], &screensize[1]);
win= GHOST_CreateWindow(sys, "MultiTest:Logger", 40, screensize[1]-432,
800, 300, GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL, FALSE);
+ GHOST_kDrawingContextTypeOpenGL, FALSE, FALSE);
if (win) {
LoggerWindow *lw= MEM_callocN(sizeof(*lw), "loggerwindow_new");
int bbox[2][2];
lw->app= app;
lw->win= win;
-
+
+#ifdef USE_BMF
lw->font= BMF_GetFont(BMF_kScreen12);
lw->fonttexid= BMF_GetFontTexture(lw->font);
BMF_GetBoundingBox(lw->font, &bbox[0][0], &bbox[0][1], &bbox[1][0], &bbox[1][1]);
lw->fontheight= rect_height(bbox);
+#else
+ lw->font= BLF_load_mem("default", (unsigned char*)datatoc_bfont_ttf, datatoc_bfont_ttf_size);
+ BLF_size(lw->font, 11, 72);
+ lw->fontheight= BLF_height(lw->font, "A_");
+#endif
lw->nloglines= lw->logsize= 0;
lw->loglines= MEM_mallocN(sizeof(*lw->loglines)*lw->nloglines, "loglines");
@@ -711,7 +740,7 @@ ExtraWindow *extrawindow_new(MultiTestApp *app) {
win= GHOST_CreateWindow(sys, "MultiTest:Extra", 500, 40, 400, 400,
GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL,
- FALSE);
+ FALSE, FALSE);
if (win) {
ExtraWindow *ew= MEM_callocN(sizeof(*ew), "mainwindow_new");
@@ -786,7 +815,7 @@ static int multitest_event_handler(GHOST_EventHandle evt, GHOST_TUserDataPtr dat
MultiTestApp *multitestapp_new(void) {
MultiTestApp *app= MEM_mallocN(sizeof(*app), "multitestapp_new");
GHOST_EventConsumerHandle consumer= GHOST_CreateEventConsumer(multitest_event_handler, app);
-
+
app->sys= GHOST_CreateSystem();
if (!app->sys)
fatal("Unable to create ghost system");
@@ -850,6 +879,10 @@ void multitestapp_free(MultiTestApp *app) {
/***/
int main(int argc, char **argv) {
+#ifndef USE_BMF
+ BLF_init(11, 72);
+#endif
+
MultiTestApp *app= multitestapp_new();
multitestapp_run(app);
diff --git a/intern/guardedalloc/CMakeLists.txt b/intern/guardedalloc/CMakeLists.txt
index 4a534d94eb8..b3fe29af570 100644
--- a/intern/guardedalloc/CMakeLists.txt
+++ b/intern/guardedalloc/CMakeLists.txt
@@ -24,7 +24,13 @@
#
# ***** END GPL LICENSE BLOCK *****
-set(INC .)
+set(INC
+ .
+)
+
+set(INC_SYS
+
+)
set(SRC
./intern/mallocn.c
@@ -41,12 +47,12 @@ if(WIN32 AND NOT UNIX)
)
endif()
-blender_add_lib(bf_intern_guardedalloc "${SRC}" "${INC}")
+blender_add_lib(bf_intern_guardedalloc "${SRC}" "${INC}" "${INC_SYS}")
# Override C++ alloc, optional.
if(WITH_CXX_GUARDEDALLOC)
set(SRC
cpp/mallocn.cpp
)
- blender_add_lib(bf_intern_guardedalloc_cpp "${SRC}" "${INC}")
+ blender_add_lib(bf_intern_guardedalloc_cpp "${SRC}" "${INC}" "${INC_SYS}")
endif()
diff --git a/intern/iksolver/CMakeLists.txt b/intern/iksolver/CMakeLists.txt
index 46be310b7ec..5a7c0978599 100644
--- a/intern/iksolver/CMakeLists.txt
+++ b/intern/iksolver/CMakeLists.txt
@@ -30,6 +30,10 @@ set(INC
../moto/include
)
+set(INC_SYS
+
+)
+
set(SRC
intern/IK_QJacobian.cpp
intern/IK_QJacobianSolver.cpp
@@ -70,4 +74,4 @@ set(SRC
intern/TNT/version.h
)
-blender_add_lib(bf_intern_ik "${SRC}" "${INC}")
+blender_add_lib(bf_intern_ik "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/iksolver/intern/IK_QJacobian.cpp b/intern/iksolver/intern/IK_QJacobian.cpp
index 6cc73e9c808..5a216309cee 100644
--- a/intern/iksolver/intern/IK_QJacobian.cpp
+++ b/intern/iksolver/intern/IK_QJacobian.cpp
@@ -59,6 +59,7 @@ void IK_QJacobian::ArmMatrices(int dof, int task_size)
m_d_theta.newsize(dof);
m_d_theta_tmp.newsize(dof);
+ m_d_norm_weight.newsize(dof);
m_norm.newsize(dof);
m_norm = 0.0;
@@ -111,11 +112,13 @@ void IK_QJacobian::SetBetas(int id, int, const MT_Vector3& v)
m_beta[id+2] = v.z();
}
-void IK_QJacobian::SetDerivatives(int id, int dof_id, const MT_Vector3& v)
+void IK_QJacobian::SetDerivatives(int id, int dof_id, const MT_Vector3& v, MT_Scalar norm_weight)
{
m_jacobian[id][dof_id] = v.x()*m_weight_sqrt[dof_id];
m_jacobian[id+1][dof_id] = v.y()*m_weight_sqrt[dof_id];
m_jacobian[id+2][dof_id] = v.z()*m_weight_sqrt[dof_id];
+
+ m_d_norm_weight[dof_id] = norm_weight;
}
void IK_QJacobian::Invert()
@@ -429,7 +432,7 @@ MT_Scalar IK_QJacobian::AngleUpdateNorm() const
MT_Scalar mx = 0.0, dtheta_abs;
for (i = 0; i < m_d_theta.size(); i++) {
- dtheta_abs = MT_abs(m_d_theta[i]);
+ dtheta_abs = MT_abs(m_d_theta[i]*m_d_norm_weight[i]);
if (dtheta_abs > mx)
mx = dtheta_abs;
}
diff --git a/intern/iksolver/intern/IK_QJacobian.h b/intern/iksolver/intern/IK_QJacobian.h
index 438b9a02c67..ecfaee5ff97 100644
--- a/intern/iksolver/intern/IK_QJacobian.h
+++ b/intern/iksolver/intern/IK_QJacobian.h
@@ -56,7 +56,7 @@ public:
// Iteratively called
void SetBetas(int id, int size, const MT_Vector3& v);
- void SetDerivatives(int id, int dof_id, const MT_Vector3& v);
+ void SetDerivatives(int id, int dof_id, const MT_Vector3& v, MT_Scalar norm_weight);
void Invert();
@@ -89,6 +89,7 @@ private:
/// the vector of computed angle changes
TVector m_d_theta;
+ TVector m_d_norm_weight;
/// space required for SVD computation
diff --git a/intern/iksolver/intern/IK_QSegment.cpp b/intern/iksolver/intern/IK_QSegment.cpp
index 4f05e750e78..df4fbc8fadd 100644
--- a/intern/iksolver/intern/IK_QSegment.cpp
+++ b/intern/iksolver/intern/IK_QSegment.cpp
@@ -370,7 +370,7 @@ MT_Vector3 IK_QSphericalSegment::Axis(int dof) const
void IK_QSphericalSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
{
- if (lmin >= lmax)
+ if (lmin > lmax)
return;
if (axis == 1) {
@@ -613,7 +613,7 @@ void IK_QRevoluteSegment::UpdateAngleApply()
void IK_QRevoluteSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
{
- if (lmin >= lmax || m_axis != axis)
+ if (lmin > lmax || m_axis != axis)
return;
// clamp and convert to axis angle parameters
@@ -752,7 +752,7 @@ void IK_QSwingSegment::UpdateAngleApply()
void IK_QSwingSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
{
- if (lmin >= lmax)
+ if (lmin > lmax)
return;
// clamp and convert to axis angle parameters
@@ -898,16 +898,13 @@ void IK_QElbowSegment::UpdateAngleApply()
void IK_QElbowSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
{
- if (lmin >= lmax)
+ if (lmin > lmax)
return;
// clamp and convert to axis angle parameters
lmin = MT_clamp(lmin, -MT_PI, MT_PI);
lmax = MT_clamp(lmax, -MT_PI, MT_PI);
- lmin = lmin;
- lmax = lmax;
-
if (axis == 1) {
m_min_twist = lmin;
m_max_twist = lmax;
diff --git a/intern/iksolver/intern/IK_QTask.cpp b/intern/iksolver/intern/IK_QTask.cpp
index 32ecb833899..32143518533 100644
--- a/intern/iksolver/intern/IK_QTask.cpp
+++ b/intern/iksolver/intern/IK_QTask.cpp
@@ -95,10 +95,10 @@ void IK_QPositionTask::ComputeJacobian(IK_QJacobian& jacobian)
MT_Vector3 axis = seg->Axis(i)*m_weight;
if (seg->Translational())
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis);
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis, 1e2);
else {
MT_Vector3 pa = p.cross(axis);
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, pa);
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, pa, 1e0);
}
}
}
@@ -147,10 +147,10 @@ void IK_QOrientationTask::ComputeJacobian(IK_QJacobian& jacobian)
for (i = 0; i < seg->NumberOfDoF(); i++) {
if (seg->Translational())
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, MT_Vector3(0, 0, 0));
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, MT_Vector3(0, 0, 0), 1e2);
else {
MT_Vector3 axis = seg->Axis(i)*m_weight;
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis);
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis, 1e0);
}
}
}
@@ -202,10 +202,10 @@ void IK_QCenterOfMassTask::JacobianSegment(IK_QJacobian& jacobian, MT_Vector3& c
axis *= /*segment->Mass()**/m_total_mass_inv;
if (segment->Translational())
- jacobian.SetDerivatives(m_id, segment->DoFId()+i, axis);
+ jacobian.SetDerivatives(m_id, segment->DoFId()+i, axis, 1e2);
else {
MT_Vector3 pa = axis.cross(p);
- jacobian.SetDerivatives(m_id, segment->DoFId()+i, pa);
+ jacobian.SetDerivatives(m_id, segment->DoFId()+i, pa, 1e0);
}
}
diff --git a/intern/itasc/CMakeLists.txt b/intern/itasc/CMakeLists.txt
index a0489c48144..26b61f5c6ce 100644
--- a/intern/itasc/CMakeLists.txt
+++ b/intern/itasc/CMakeLists.txt
@@ -28,6 +28,10 @@ set(INC
../../extern/Eigen2
)
+set(INC_SYS
+
+)
+
set(SRC
Armature.cpp
Cache.cpp
@@ -222,4 +226,4 @@ set(SRC
../../extern/Eigen2/Eigen/src/Sparse/UmfPackSupport.h
)
-blender_add_lib(bf_intern_itasc "${SRC}" "${INC}")
+blender_add_lib(bf_intern_itasc "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/itasc/ConstraintSet.cpp b/intern/itasc/ConstraintSet.cpp
index 3b50e353758..b07dc5bb983 100644
--- a/intern/itasc/ConstraintSet.cpp
+++ b/intern/itasc/ConstraintSet.cpp
@@ -134,6 +134,7 @@ bool ConstraintSet::setControlParameter(int id, ConstraintAction action, double
break;
default:
assert(action==ACT_NONE);
+ break;
}
return setControlParameters(&values, 1, timestep);
}
diff --git a/intern/memutil/CMakeLists.txt b/intern/memutil/CMakeLists.txt
index aecd3d5b6c9..54e43cb7236 100644
--- a/intern/memutil/CMakeLists.txt
+++ b/intern/memutil/CMakeLists.txt
@@ -29,6 +29,10 @@ set(INC
..
)
+set(INC_SYS
+
+)
+
set(SRC
intern/MEM_CacheLimiterC-Api.cpp
intern/MEM_RefCountedC-Api.cpp
@@ -43,4 +47,4 @@ set(SRC
MEM_SmartPtr.h
)
-blender_add_lib(bf_intern_memutil "${SRC}" "${INC}")
+blender_add_lib(bf_intern_memutil "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/mikktspace/CMakeLists.txt b/intern/mikktspace/CMakeLists.txt
index f84a499206c..b6552b18e37 100644
--- a/intern/mikktspace/CMakeLists.txt
+++ b/intern/mikktspace/CMakeLists.txt
@@ -28,11 +28,15 @@ set(INC
.
)
+set(INC_SYS
+
+)
+
set(SRC
mikktspace.c
mikktspace.h
)
-blender_add_lib(bf_intern_mikktspace "${SRC}" "${INC}")
+blender_add_lib(bf_intern_mikktspace "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/mikktspace/mikktspace.c b/intern/mikktspace/mikktspace.c
index c05ada84773..1bb73553012 100644
--- a/intern/mikktspace/mikktspace.c
+++ b/intern/mikktspace/mikktspace.c
@@ -243,7 +243,7 @@ tbool genTangSpace(const SMikkTSpaceContext * pContext, const float fAngularThre
int iNrActiveGroups = 0, index = 0;
const int iNrFaces = pContext->m_pInterface->m_getNumFaces(pContext);
tbool bRes = TFALSE;
- const float fThresCos = (const float) cos((fAngularThreshold*(float)M_PI)/180.0f);
+ const float fThresCos = (float) cos((fAngularThreshold*(float)M_PI)/180.0f);
// verify all call-backs have been set
if( pContext->m_pInterface->m_getNumFaces==NULL ||
@@ -1411,7 +1411,7 @@ STSpace EvalTspace(int face_indices[], const int iFaces, const int piTriListIn[]
// weight contribution by the angle
// between the two edge vectors
fCos = vdot(v1,v2); fCos=fCos>1?1:(fCos<(-1) ? (-1) : fCos);
- fAngle = (const float) acos(fCos);
+ fAngle = (float) acos(fCos);
fMagS = pTriInfos[f].fMagS;
fMagT = pTriInfos[f].fMagT;
diff --git a/intern/moto/CMakeLists.txt b/intern/moto/CMakeLists.txt
index b9fd8986268..1e73f960907 100644
--- a/intern/moto/CMakeLists.txt
+++ b/intern/moto/CMakeLists.txt
@@ -28,6 +28,10 @@ set(INC
include
)
+set(INC_SYS
+
+)
+
set(SRC
intern/MT_Assert.cpp
intern/MT_CmMatrix4x4.cpp
@@ -67,4 +71,4 @@ set(SRC
include/NM_Scalar.h
)
-blender_add_lib(bf_intern_moto "${SRC}" "${INC}")
+blender_add_lib(bf_intern_moto "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/opennl/CMakeLists.txt b/intern/opennl/CMakeLists.txt
index 699d2dec795..55b0bc5855f 100644
--- a/intern/opennl/CMakeLists.txt
+++ b/intern/opennl/CMakeLists.txt
@@ -36,6 +36,10 @@ set(INC
superlu
)
+set(INC_SYS
+
+)
+
set(SRC
intern/opennl.c
superlu/colamd.c
@@ -79,4 +83,4 @@ set(SRC
superlu/util.h
)
-blender_add_lib(bf_intern_opennl "${SRC}" "${INC}")
+blender_add_lib(bf_intern_opennl "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/smoke/CMakeLists.txt b/intern/smoke/CMakeLists.txt
index 486ef92f638..094d398a83c 100644
--- a/intern/smoke/CMakeLists.txt
+++ b/intern/smoke/CMakeLists.txt
@@ -28,6 +28,9 @@ set(INC
intern
../memutil
../../extern/bullet2/src
+)
+
+set(INC_SYS
${PNG_INCLUDE_DIR}
${ZLIB_INCLUDE_DIRS}
)
@@ -81,13 +84,15 @@ set(SRC
)
if(WITH_OPENMP)
- add_definitions(-DPARALLEL=1)
+ add_definitions(-DPARALLEL=1)
endif()
if(WITH_FFTW3)
add_definitions(-DFFTW3=1)
- list(APPEND INC ${FFTW3_INC})
+ list(APPEND INC
+ ${FFTW3_INCLUDE_DIRS}
+ )
endif()
-blender_add_lib(bf_intern_smoke "${SRC}" "${INC}")
+blender_add_lib(bf_intern_smoke "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/smoke/intern/Makefile.FFT b/intern/smoke/intern/Makefile.FFT
index e45af1df29b..7e9d089cec2 100644
--- a/intern/smoke/intern/Makefile.FFT
+++ b/intern/smoke/intern/Makefile.FFT
@@ -1,22 +1,22 @@
-# common stuff
-LDFLAGS_COMMON = -lfftw3 #-lglut -lglu32 -lopengl32 -lz -lpng
-CFLAGS_COMMON = -c -Wall -I./ #-I/cygdrive/c/lib/glvu/include -D_WIN32
-
-CC = g++
-CFLAGS = ${CFLAGS_COMMON} -O3 -Wno-unused
-LDFLAGS = ${LDFLAGS_COMMON}
-EXECUTABLE = noiseFFT
-
-SOURCES = noiseFFT.cpp
-OBJECTS = $(SOURCES:.cpp=.o)
-
-all: $(SOURCES) $(EXECUTABLE)
-
-$(EXECUTABLE): $(OBJECTS)
- $(CC) $(OBJECTS) $(LDFLAGS) -o $@
-
-.cpp.o:
- $(CC) $(CFLAGS) $< -o $@
-
-clean:
- rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
+# common stuff
+LDFLAGS_COMMON = -lfftw3 #-lglut -lglu32 -lopengl32 -lz -lpng
+CFLAGS_COMMON = -c -Wall -I./ #-I/cygdrive/c/lib/glvu/include -D_WIN32
+
+CC = g++
+CFLAGS = ${CFLAGS_COMMON} -O3 -Wno-unused
+LDFLAGS = ${LDFLAGS_COMMON}
+EXECUTABLE = noiseFFT
+
+SOURCES = noiseFFT.cpp
+OBJECTS = $(SOURCES:.cpp=.o)
+
+all: $(SOURCES) $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CC) $(OBJECTS) $(LDFLAGS) -o $@
+
+.cpp.o:
+ $(CC) $(CFLAGS) $< -o $@
+
+clean:
+ rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
diff --git a/intern/smoke/intern/Makefile.cygwin b/intern/smoke/intern/Makefile.cygwin
index c93753a67fe..2a747219554 100644
--- a/intern/smoke/intern/Makefile.cygwin
+++ b/intern/smoke/intern/Makefile.cygwin
@@ -1,23 +1,23 @@
-CC = g++
-LDFLAGS = -lz -lpng
-CFLAGS = -O3 -Wno-unused -c -Wall -I./ -D_WIN32
-EXECUTABLE = FLUID_3D
-
-SOURCES = main.cpp FLUID_3D.cpp FLUID_3D_SOLVERS.cpp FLUID_3D_STATIC.cpp SPHERE.cpp WTURBULENCE.cpp
-OBJECTS = $(SOURCES:.cpp=.o)
-
-all: $(SOURCES) $(EXECUTABLE)
-
-$(EXECUTABLE): $(OBJECTS)
- $(CC) $(OBJECTS) $(LDFLAGS) -o $@
-
-.cpp.o:
- $(CC) $(CFLAGS) $< -o $@
-
-SPHERE.o: SPHERE.h
-FLUID_3D.o: FLUID_3D.h FLUID_3D.cpp
-FLUID_3D_SOLVERS.o: FLUID_3D.h FLUID_3D_SOLVERS.cpp
-main.o: FLUID_3D.h FLUID_3D.cpp FLUID_3D_SOLVERS.cpp
-
-clean:
- rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
+CC = g++
+LDFLAGS = -lz -lpng
+CFLAGS = -O3 -Wno-unused -c -Wall -I./ -D_WIN32
+EXECUTABLE = FLUID_3D
+
+SOURCES = main.cpp FLUID_3D.cpp FLUID_3D_SOLVERS.cpp FLUID_3D_STATIC.cpp SPHERE.cpp WTURBULENCE.cpp
+OBJECTS = $(SOURCES:.cpp=.o)
+
+all: $(SOURCES) $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CC) $(OBJECTS) $(LDFLAGS) -o $@
+
+.cpp.o:
+ $(CC) $(CFLAGS) $< -o $@
+
+SPHERE.o: SPHERE.h
+FLUID_3D.o: FLUID_3D.h FLUID_3D.cpp
+FLUID_3D_SOLVERS.o: FLUID_3D.h FLUID_3D_SOLVERS.cpp
+main.o: FLUID_3D.h FLUID_3D.cpp FLUID_3D_SOLVERS.cpp
+
+clean:
+ rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
diff --git a/intern/smoke/intern/Makefile.linux b/intern/smoke/intern/Makefile.linux
index 8e71af465dd..5fbb6e6c3e3 100644
--- a/intern/smoke/intern/Makefile.linux
+++ b/intern/smoke/intern/Makefile.linux
@@ -1,23 +1,23 @@
-CC = g++
-LDFLAGS = -lz -lpng -fopenmp -lgomp
-CFLAGS = -c -Wall -I./ -fopenmp -DPARALLEL=1 -O3 -Wno-unused
-EXECUTABLE = FLUID_3D
-
-SOURCES = main.cpp FLUID_3D.cpp FLUID_3D_SOLVERS.cpp FLUID_3D_STATIC.cpp SPHERE.cpp WTURBULENCE.cpp
-OBJECTS = $(SOURCES:.cpp=.o)
-
-all: $(SOURCES) $(EXECUTABLE)
-
-$(EXECUTABLE): $(OBJECTS)
- $(CC) $(OBJECTS) $(LDFLAGS) -o $@
-
-.cpp.o:
- $(CC) $(CFLAGS) $< -o $@
-
-SPHERE.o: SPHERE.h
-FLUID_3D.o: FLUID_3D.h FLUID_3D.cpp
-FLUID_3D_SOLVERS.o: FLUID_3D.h FLUID_3D_SOLVERS.cpp
-main.o: FLUID_3D.h FLUID_3D.cpp FLUID_3D_SOLVERS.cpp
-
-clean:
- rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
+CC = g++
+LDFLAGS = -lz -lpng -fopenmp -lgomp
+CFLAGS = -c -Wall -I./ -fopenmp -DPARALLEL=1 -O3 -Wno-unused
+EXECUTABLE = FLUID_3D
+
+SOURCES = main.cpp FLUID_3D.cpp FLUID_3D_SOLVERS.cpp FLUID_3D_STATIC.cpp SPHERE.cpp WTURBULENCE.cpp
+OBJECTS = $(SOURCES:.cpp=.o)
+
+all: $(SOURCES) $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CC) $(OBJECTS) $(LDFLAGS) -o $@
+
+.cpp.o:
+ $(CC) $(CFLAGS) $< -o $@
+
+SPHERE.o: SPHERE.h
+FLUID_3D.o: FLUID_3D.h FLUID_3D.cpp
+FLUID_3D_SOLVERS.o: FLUID_3D.h FLUID_3D_SOLVERS.cpp
+main.o: FLUID_3D.h FLUID_3D.cpp FLUID_3D_SOLVERS.cpp
+
+clean:
+ rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
diff --git a/intern/smoke/intern/Makefile.mac b/intern/smoke/intern/Makefile.mac
index 227aaa10a16..d0b7bd38c85 100644
--- a/intern/smoke/intern/Makefile.mac
+++ b/intern/smoke/intern/Makefile.mac
@@ -1,35 +1,35 @@
-CC = g++
-
-# uncomment the other two OPENMP_... lines, if your gcc supports OpenMP
-#OPENMP_FLAGS = -fopenmp -DPARALLEL=1 -I/opt/gcc-4.3/usr/local/include
-#OPENMPLD_FLAGS = -fopenmp -lgomp -I/opt/gcc-4.3/usr/local/lib
-OPENMP_FLAGS =
-OPENMPLD_FLAGS =
-
-# assumes MacPorts libpng installation
-PNG_INCLUDE = -I/opt/local/include
-PNG_LIBS = -I/opt/local/lib
-
-LDFLAGS = $(PNG_LIBS)-lz -lpng $(OPENMPLD_FLAGS)
-CFLAGS = -c -Wall -I./ $(PNG_INCLUDE) $(OPENMP_FLAGS) -O3 -Wno-unused
-EXECUTABLE = FLUID_3D
-
-SOURCES = main.cpp FLUID_3D.cpp FLUID_3D_SOLVERS.cpp FLUID_3D_STATIC.cpp SPHERE.cpp WTURBULENCE.cpp
-OBJECTS = $(SOURCES:.cpp=.o)
-
-all: $(SOURCES) $(EXECUTABLE)
-
-$(EXECUTABLE): $(OBJECTS)
- $(CC) $(OBJECTS) $(LDFLAGS) -o $@
-
-.cpp.o:
- $(CC) $(CFLAGS) $< -o $@
-
-SPHERE.o: SPHERE.h
-FLUID_3D.o: FLUID_3D.h FLUID_3D.cpp
-FLUID_3D_SOLVERS.o: FLUID_3D.h FLUID_3D_SOLVERS.cpp
-main.o: FLUID_3D.h FLUID_3D.cpp FLUID_3D_SOLVERS.cpp
-
-clean:
- rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
-
+CC = g++
+
+# uncomment the other two OPENMP_... lines, if your gcc supports OpenMP
+#OPENMP_FLAGS = -fopenmp -DPARALLEL=1 -I/opt/gcc-4.3/usr/local/include
+#OPENMPLD_FLAGS = -fopenmp -lgomp -I/opt/gcc-4.3/usr/local/lib
+OPENMP_FLAGS =
+OPENMPLD_FLAGS =
+
+# assumes MacPorts libpng installation
+PNG_INCLUDE = -I/opt/local/include
+PNG_LIBS = -I/opt/local/lib
+
+LDFLAGS = $(PNG_LIBS)-lz -lpng $(OPENMPLD_FLAGS)
+CFLAGS = -c -Wall -I./ $(PNG_INCLUDE) $(OPENMP_FLAGS) -O3 -Wno-unused
+EXECUTABLE = FLUID_3D
+
+SOURCES = main.cpp FLUID_3D.cpp FLUID_3D_SOLVERS.cpp FLUID_3D_STATIC.cpp SPHERE.cpp WTURBULENCE.cpp
+OBJECTS = $(SOURCES:.cpp=.o)
+
+all: $(SOURCES) $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CC) $(OBJECTS) $(LDFLAGS) -o $@
+
+.cpp.o:
+ $(CC) $(CFLAGS) $< -o $@
+
+SPHERE.o: SPHERE.h
+FLUID_3D.o: FLUID_3D.h FLUID_3D.cpp
+FLUID_3D_SOLVERS.o: FLUID_3D.h FLUID_3D_SOLVERS.cpp
+main.o: FLUID_3D.h FLUID_3D.cpp FLUID_3D_SOLVERS.cpp
+
+clean:
+ rm -f *.o $(EXECUTABLE_LOADER) $(EXECUTABLE)
+
diff --git a/intern/smoke/intern/WAVELET_NOISE.h b/intern/smoke/intern/WAVELET_NOISE.h
index b556b4a2e66..66dfb95d143 100644
--- a/intern/smoke/intern/WAVELET_NOISE.h
+++ b/intern/smoke/intern/WAVELET_NOISE.h
@@ -45,6 +45,11 @@
#include <MERSENNETWISTER.h>
+#ifdef WIN32
+#include <float.h>
+#define isnan _isnan
+#endif
+
// Tile file header, update revision upon any change done to the noise generator
static const char tilefile_headerstring[] = "Noise Tile File rev. ";
static const char tilefile_revision[] = "001";
@@ -69,7 +74,7 @@ static void downsampleX(float *from, float *to, int n){
const float *a = &downCoeffs[16];
for (int i = 0; i < n / 2; i++) {
to[i] = 0;
- for (int k = 2 * i - 16; k <= 2 * i + 16; k++)
+ for (int k = 2 * i - 16; k < 2 * i + 16; k++)
to[i] += a[k - 2 * i] * from[modFast128(k)];
}
}
@@ -79,7 +84,7 @@ static void downsampleY(float *from, float *to, int n){
const float *a = &downCoeffs[16];
for (int i = 0; i < n / 2; i++) {
to[i * n] = 0;
- for (int k = 2 * i - 16; k <= 2 * i + 16; k++)
+ for (int k = 2 * i - 16; k < 2 * i + 16; k++)
to[i * n] += a[k - 2 * i] * from[modFast128(k) * n];
}
}
@@ -89,7 +94,7 @@ static void downsampleZ(float *from, float *to, int n){
const float *a = &downCoeffs[16];
for (int i = 0; i < n / 2; i++) {
to[i * n * n] = 0;
- for (int k = 2 * i - 16; k <= 2 * i + 16; k++)
+ for (int k = 2 * i - 16; k < 2 * i + 16; k++)
to[i * n * n] += a[k - 2 * i] * from[modFast128(k) * n * n];
}
}
@@ -262,6 +267,14 @@ static bool loadTile(float* const noiseTileData, std::string filename)
printf("loadTile: Noise tile '%s' is wrong size %d.\n", filename.c_str(), (int)bread);
return false;
}
+
+ // check for invalid nan tile data that could be generated. bug is now
+ // fixed, but invalid files may still hang around
+ if (isnan(noiseTileData[0])) {
+ printf("loadTile: Noise tile '%s' contains nan values.\n", filename.c_str());
+ return false;
+ }
+
return true;
}
diff --git a/intern/string/CMakeLists.txt b/intern/string/CMakeLists.txt
index 60796185e70..28bd198d29f 100644
--- a/intern/string/CMakeLists.txt
+++ b/intern/string/CMakeLists.txt
@@ -28,6 +28,10 @@ set(INC
.
)
+set(INC_SYS
+
+)
+
set(SRC
intern/STR_String.cpp
@@ -35,4 +39,4 @@ set(SRC
STR_String.h
)
-blender_add_lib(bf_intern_string "${SRC}" "${INC}")
+blender_add_lib(bf_intern_string "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/release/datafiles/splash.png b/release/datafiles/splash.png
index cad2bc5f06c..d6ccdb5b733 100644
--- a/release/datafiles/splash.png
+++ b/release/datafiles/splash.png
Binary files differ
diff --git a/release/environment-mswindows b/release/environment-mswindows
index f8890f89af8..41308533e0b 100644
--- a/release/environment-mswindows
+++ b/release/environment-mswindows
@@ -1,18 +1,18 @@
-# This is a Blender Environment Variable config file.
-#
-# Comment lines start with "#", other lines will be split at the "="
-# and the part before will be used as env var name and the part after
-# as env var value. The value can make reference to previous or
-# prelaunch variables with "%%" and the content will be replaced.
-# Once set, values of variables will not be overwritten.
-#
-# BLENDER_SHARE should be COMMON_APPDATA\\Blender Foundation\\Blender for typical installs.
-# BLENDER_VERSION will be set by the program before processing this file.
-BLENDER_USER_BASE=%USERPROFILE%\\Blender Foundation\\Blender\\%BLENDER_VERSION%
-BLENDER_SYSTEM_BASE=%BLENDER_SHARE%\\%BLENDER_VERSION%
-BLENDER_USER_DATAFILES=%USERPROFILE%\\Blender Foundation\\%BLENDER_VERSION%\\datafiles
-BLENDER_SYSTEM_DATAFILES=%BLENDER_SHARE%\\%BLENDER_VERSION%\\datafiles
-BLENDER_USER_PY=%USERPROFILE%\\Blender Foundation\\%BLENDER_VERSION%\\py
-BLENDER_SYSTEM_PY=%BLENDER_SHARE%\\%BLENDER_VERSION%\\py
-BLENDER_USER_PLUGINS=%USERPROFILE%\\Blender Foundation\\%BLENDER_VERSION%\\plugins
-BLENDER_SYSTEM_PLUGINS=%BLENDER_SHARE%\\%BLENDER_VERSION%\\plugins
+# This is a Blender Environment Variable config file.
+#
+# Comment lines start with "#", other lines will be split at the "="
+# and the part before will be used as env var name and the part after
+# as env var value. The value can make reference to previous or
+# prelaunch variables with "%%" and the content will be replaced.
+# Once set, values of variables will not be overwritten.
+#
+# BLENDER_SHARE should be COMMON_APPDATA\\Blender Foundation\\Blender for typical installs.
+# BLENDER_VERSION will be set by the program before processing this file.
+BLENDER_USER_BASE=%USERPROFILE%\\Blender Foundation\\Blender\\%BLENDER_VERSION%
+BLENDER_SYSTEM_BASE=%BLENDER_SHARE%\\%BLENDER_VERSION%
+BLENDER_USER_DATAFILES=%USERPROFILE%\\Blender Foundation\\%BLENDER_VERSION%\\datafiles
+BLENDER_SYSTEM_DATAFILES=%BLENDER_SHARE%\\%BLENDER_VERSION%\\datafiles
+BLENDER_USER_PY=%USERPROFILE%\\Blender Foundation\\%BLENDER_VERSION%\\py
+BLENDER_SYSTEM_PY=%BLENDER_SHARE%\\%BLENDER_VERSION%\\py
+BLENDER_USER_PLUGINS=%USERPROFILE%\\Blender Foundation\\%BLENDER_VERSION%\\plugins
+BLENDER_SYSTEM_PLUGINS=%BLENDER_SHARE%\\%BLENDER_VERSION%\\plugins
diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py
index 3877f711b7f..5aed0581ea9 100644
--- a/release/scripts/modules/addon_utils.py
+++ b/release/scripts/modules/addon_utils.py
@@ -31,6 +31,9 @@ __all__ = (
import bpy as _bpy
+error_duplicates = False
+
+
def paths():
# RELEASE SCRIPTS: official scripts distributed in Blender releases
paths = _bpy.utils.script_paths("addons")
@@ -47,9 +50,10 @@ def paths():
def modules(module_cache):
+ global error_duplicates
import os
- import sys
- import time
+
+ error_duplicates = False
path_list = paths()
@@ -119,7 +123,12 @@ def modules(module_cache):
modules_stale -= {mod_name}
mod = module_cache.get(mod_name)
if mod:
- if mod.__time__ != os.path.getmtime(mod_path):
+ if mod.__file__ != mod_path:
+ print("multiple addons with the same name:\n %r\n %r" %
+ (mod.__file__, mod_path))
+ error_duplicates = True
+
+ elif mod.__time__ != os.path.getmtime(mod_path):
print("reloading addon:", mod_name, mod.__time__, os.path.getmtime(mod_path), mod_path)
del module_cache[mod_name]
mod = None
@@ -173,11 +182,9 @@ def enable(module_name, default_set=True):
:return: the loaded module or None on failier.
:rtype: module
"""
- # note, this still gets added to _bpy_types.TypeMap
import os
import sys
- import bpy_types as _bpy_types
import imp
def handle_error():
@@ -246,8 +253,6 @@ def disable(module_name, default_set=True):
:type module_name: string
"""
import sys
- import bpy_types as _bpy_types
-
mod = sys.modules.get(module_name)
# possible this addon is from a previous session and didnt load a module this time.
diff --git a/release/scripts/modules/bpy/__init__.py b/release/scripts/modules/bpy/__init__.py
index 1df8e9e5588..0add2b3e6cd 100644
--- a/release/scripts/modules/bpy/__init__.py
+++ b/release/scripts/modules/bpy/__init__.py
@@ -22,24 +22,30 @@
Give access to blender data and utility functions.
"""
-# internal blender C module
-import _bpy
-from _bpy import types, props, app
+__all__ = (
+ "app",
+ "context",
+ "data",
+ "ops",
+ "path",
+ "props",
+ "types",
+ "utils",
+)
+
-data = _bpy.data
-context = _bpy.context
+# internal blender C module
+from _bpy import types, props, app, data, context
# python modules
-from . import utils, path
-from . import ops as _ops_module
+from . import utils, path, ops
# fake operator module
-ops = _ops_module.ops_fake_module
-
-import sys as _sys
+ops = ops.ops_fake_module
def _main():
+ import sys as _sys
# Possibly temp. addons path
from os.path import join, dirname, normpath
@@ -59,3 +65,5 @@ def _main():
_main()
+
+del _main
diff --git a/release/scripts/modules/bpy/ops.py b/release/scripts/modules/bpy/ops.py
index f54b0a1fefc..64c5a1a5f5f 100644
--- a/release/scripts/modules/bpy/ops.py
+++ b/release/scripts/modules/bpy/ops.py
@@ -29,7 +29,7 @@ op_as_string = ops_module.as_string
op_get_rna = ops_module.get_rna
-class bpy_ops(object):
+class BPyOps(object):
'''
Fake module like class.
@@ -42,7 +42,7 @@ class bpy_ops(object):
'''
if module.startswith('__'):
raise AttributeError(module)
- return bpy_ops_submodule(module)
+ return BPyOpsSubMod(module)
def __dir__(self):
@@ -67,7 +67,7 @@ class bpy_ops(object):
return "<module like class 'bpy.ops'>"
-class bpy_ops_submodule(object):
+class BPyOpsSubMod(object):
'''
Utility class to fake submodules.
@@ -84,7 +84,7 @@ class bpy_ops_submodule(object):
'''
if func.startswith('__'):
raise AttributeError(func)
- return bpy_ops_submodule_op(self.module, func)
+ return BPyOpsSubModOp(self.module, func)
def __dir__(self):
@@ -103,7 +103,7 @@ class bpy_ops_submodule(object):
return "<module like class 'bpy.ops.%s'>" % self.module
-class bpy_ops_submodule_op(object):
+class BPyOpsSubModOp(object):
'''
Utility class to fake submodule operators.
@@ -151,7 +151,7 @@ class bpy_ops_submodule_op(object):
self.func = func
def poll(self, *args):
- C_dict, C_exec = __class__._parse_args(args)
+ C_dict, C_exec = BPyOpsSubModOp._parse_args(args)
return op_poll(self.idname_py(), C_dict, C_exec)
def idname(self):
@@ -170,16 +170,16 @@ class bpy_ops_submodule_op(object):
wm = context.window_manager
# run to account for any rna values the user changes.
- __class__._scene_update(context)
+ BPyOpsSubModOp._scene_update(context)
if args:
- C_dict, C_exec = __class__._parse_args(args)
+ C_dict, C_exec = BPyOpsSubModOp._parse_args(args)
ret = op_call(self.idname_py(), C_dict, kw, C_exec)
else:
ret = op_call(self.idname_py(), None, kw)
if 'FINISHED' in ret and context.window_manager == wm:
- __class__._scene_update(context)
+ BPyOpsSubModOp._scene_update(context)
return ret
@@ -208,4 +208,4 @@ class bpy_ops_submodule_op(object):
return "<function bpy.ops.%s.%s at 0x%x'>" % \
(self.module, self.func, id(self))
-ops_fake_module = bpy_ops()
+ops_fake_module = BPyOps()
diff --git a/release/scripts/modules/bpy/path.py b/release/scripts/modules/bpy/path.py
index f7e5b988cc8..eb1a5ffc455 100644
--- a/release/scripts/modules/bpy/path.py
+++ b/release/scripts/modules/bpy/path.py
@@ -35,7 +35,7 @@ def abspath(path, start=None):
:type start: string
"""
if path.startswith("//"):
- return _os.path.join(_os.path.dirname(_bpy.data.filepath if start is None else start), path[2:])
+ return _os.path.join(_os.path.dirname(_bpy.data.filepath) if start is None else start, path[2:])
return path
@@ -117,7 +117,7 @@ def display_name_from_filepath(name):
"""
Returns the path stripped of directort and extension, ensured to be utf8 compatible.
"""
- return _os.path.splitext(_os.path.basename(name))[0].encode("utf8", "replace").decode("utf8")
+ return _os.path.splitext(basename(name))[0].encode("utf8", "replace").decode("utf8")
def resolve_ncase(path):
@@ -135,7 +135,7 @@ def resolve_ncase(path):
filename = os.path.basename(path) # filename may be a directory or a file
dirpath = os.path.dirname(path)
- suffix = ""
+ suffix = path[:0] # "" but ensure byte/str match
if not filename: # dir ends with a slash?
if len(dirpath) < len(path):
suffix = path[:len(path) - len(dirpath)]
@@ -231,3 +231,12 @@ def module_names(path, recursive=False):
modules.append(("%s.%s" % (filename, mod_name), mod_path))
return modules
+
+
+def basename(path):
+ """
+ Equivalent to os.path.basename, but skips a "//" suffix.
+
+ Use for Windows compatibility.
+ """
+ return _os.path.basename(path[2:] if path[:2] in {"//", b"//"} else path)
diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py
index 43c1692b192..6e3cbb244e3 100644
--- a/release/scripts/modules/bpy/utils.py
+++ b/release/scripts/modules/bpy/utils.py
@@ -35,6 +35,7 @@ import addon_utils as _addon_utils
_script_module_dirs = "startup", "modules", "bge_components"
+
def _test_import(module_name, loaded_modules):
use_time = _bpy.app.debug
@@ -297,11 +298,18 @@ _presets = _os.path.join(_scripts[0], "presets") # FIXME - multiple paths
def preset_paths(subdir):
"""
Returns a list of paths for a specific preset.
+
+ :arg subdir: preset subdirectory (must not be an absolute path).
+ :type subdir: string
+ :return: script paths.
+ :rtype: list
"""
dirs = []
for path in script_paths("presets", all=True):
directory = _os.path.join(path, subdir)
- if _os.path.isdir(directory):
+ if not directory.startswith(path):
+ raise Exception("invalid subdir given %r" % subdir)
+ elif _os.path.isdir(directory):
dirs.append(directory)
return dirs
@@ -378,7 +386,9 @@ def preset_find(name, preset_path, display_name=False):
def keyconfig_set(filepath):
from os.path import basename, splitext
- print("loading preset:", filepath)
+ if _bpy.app.debug:
+ print("loading preset:", filepath)
+
keyconfigs = _bpy.context.window_manager.keyconfigs
keyconfigs_old = keyconfigs[:]
diff --git a/release/scripts/modules/image_utils.py b/release/scripts/modules/bpy_extras/__init__.py
index 39e49ee1f96..06d41fa670e 100644
--- a/release/scripts/modules/image_utils.py
+++ b/release/scripts/modules/bpy_extras/__init__.py
@@ -18,10 +18,14 @@
# <pep8 compliant>
+"""
+Utility modules assosiated with the bpy module.
+"""
-def image_load(filepath, dirpath, place_holder=False, recursive=False, convert_callback=None):
- import bpy
- try:
- return bpy.data.images.load(filepath)
- except RuntimeError:
- return bpy.data.images.new("Untitled", 128, 128)
+__all__ = (
+ "object_utils",
+ "io_utils",
+ "image_utils",
+ "mesh_utils",
+ "view3d_utils",
+)
diff --git a/release/scripts/modules/bpy_extras/image_utils.py b/release/scripts/modules/bpy_extras/image_utils.py
new file mode 100644
index 00000000000..e56c1c651c4
--- /dev/null
+++ b/release/scripts/modules/bpy_extras/image_utils.py
@@ -0,0 +1,110 @@
+# ##### 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.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+__all__ = (
+ "load_image",
+)
+
+
+# limited replacement for BPyImage.comprehensiveImageLoad
+def load_image(imagepath,
+ dirname="",
+ place_holder=False,
+ recursive=False,
+ ncase_cmp=True,
+ convert_callback=None,
+ verbose=False,
+ ):
+ """
+ Return an image from the file path with options to search multiple paths and
+ return a placeholder if its not found.
+
+ :arg filepath: The image filename
+ If a path precedes it, this will be searched as well.
+ :type filepath: string
+ :arg dirname: is the directory where the image may be located - any file at
+ the end will be ignored.
+ :type dirname: string
+ :arg place_holder: if True a new place holder image will be created.
+ this is usefull so later you can relink the image to its original data.
+ :type place_holder: bool
+ :arg recursive: If True, directories will be recursivly searched.
+ Be carefull with this if you have files in your root directory because
+ it may take a long time.
+ :type recursive: bool
+ :arg ncase_cmp: on non windows systems, find the correct case for the file.
+ :type ncase_cmp: bool
+ :arg convert_callback: a function that takes an existing path and returns a new one.
+ Use this when loading image formats blender may not support, the CONVERT_CALLBACK
+ can take the path for a GIF (for example), convert it to a PNG and return the PNG's path.
+ For formats blender can read, simply return the path that is given.
+ :type convert_callback: function
+ :return: an image or None
+ :rtype: :class:`Image`
+ """
+ import os
+ import bpy
+
+ # TODO: recursive
+
+ def _image_load(path):
+ import bpy
+
+ if convert_callback:
+ path = convert_callback(path)
+
+ image = bpy.data.images.load(path)
+
+ if verbose:
+ print(" image loaded '%s'" % path)
+
+ return image
+
+ if verbose:
+ print("load_image('%s', '%s', ...)" % (imagepath, dirname))
+
+ if os.path.exists(imagepath):
+ return _image_load(imagepath)
+
+ variants = [imagepath]
+
+ if dirname:
+ variants += [os.path.join(dirname, imagepath),
+ os.path.join(dirname, bpy.path.basename(imagepath)),
+ ]
+
+ for filepath_test in variants:
+ if ncase_cmp:
+ ncase_variants = filepath_test, bpy.path.resolve_ncase(filepath_test)
+ else:
+ ncase_variants = (filepath_test, )
+
+ for nfilepath in ncase_variants:
+ if os.path.exists(nfilepath):
+ return _image_load(nfilepath)
+
+ if place_holder:
+ image = bpy.data.images.new(bpy.path.basename(imagepath), 128, 128)
+ # allow the path to be resolved later
+ image.filepath = imagepath
+ return image
+
+ # TODO comprehensiveImageLoad also searched in bpy.config.textureDir
+ return None
diff --git a/release/scripts/modules/bpy_extras/io_utils.py b/release/scripts/modules/bpy_extras/io_utils.py
new file mode 100644
index 00000000000..0a3f1392653
--- /dev/null
+++ b/release/scripts/modules/bpy_extras/io_utils.py
@@ -0,0 +1,385 @@
+# ##### 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.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+__all__ = (
+ "ExportHelper",
+ "ImportHelper",
+ "axis_conversion",
+ "axis_conversion_ensure",
+ "create_derived_objects",
+ "free_derived_objects",
+ "unpack_list",
+ "unpack_face_list",
+ "path_reference",
+ "path_reference_copy",
+ "path_reference_mode",
+ "unique_name"
+)
+
+import bpy
+from bpy.props import StringProperty, BoolProperty, EnumProperty
+
+
+class ExportHelper:
+ filepath = StringProperty(name="File Path", description="Filepath used for exporting the file", maxlen=1024, default="", subtype='FILE_PATH')
+ check_existing = BoolProperty(name="Check Existing", description="Check and warn on overwriting existing files", default=True, options={'HIDDEN'})
+
+ # subclasses can override with decorator
+ # True == use ext, False == no ext, None == do nothing.
+ check_extension = True
+
+ def invoke(self, context, event):
+ import os
+ if not self.filepath:
+ blend_filepath = context.blend_data.filepath
+ if not blend_filepath:
+ blend_filepath = "untitled"
+ else:
+ blend_filepath = os.path.splitext(blend_filepath)[0]
+
+ self.filepath = blend_filepath + self.filename_ext
+
+ context.window_manager.fileselect_add(self)
+ return {'RUNNING_MODAL'}
+
+ def check(self, context):
+ check_extension = self.check_extension
+
+ if check_extension is None:
+ return False
+
+ filepath = bpy.path.ensure_ext(self.filepath, self.filename_ext if check_extension else "")
+
+ if filepath != self.filepath:
+ self.filepath = filepath
+ return True
+
+ return False
+
+
+class ImportHelper:
+ filepath = StringProperty(name="File Path", description="Filepath used for importing the file", maxlen=1024, default="", subtype='FILE_PATH')
+
+ def invoke(self, context, event):
+ context.window_manager.fileselect_add(self)
+ return {'RUNNING_MODAL'}
+
+
+# Axis conversion function, not pretty LUT
+# use lookup tabes to convert between any axis
+_axis_convert_matrix = (
+ ((-1.0, 0.0, 0.0), (0.0, -1.0, 0.0), (0.0, 0.0, 1.0)),
+ ((-1.0, 0.0, 0.0), (0.0, 0.0, -1.0), (0.0, -1.0, 0.0)),
+ ((-1.0, 0.0, 0.0), (0.0, 0.0, 1.0), (0.0, 1.0, 0.0)),
+ ((-1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, -1.0)),
+ ((0.0, -1.0, 0.0), (-1.0, 0.0, 0.0), (0.0, 0.0, -1.0)),
+ ((0.0, -1.0, 0.0), (0.0, 0.0, -1.0), (1.0, 0.0, 0.0)),
+ ((0.0, -1.0, 0.0), (0.0, 0.0, 1.0), (-1.0, 0.0, 0.0)),
+ ((0.0, -1.0, 0.0), (1.0, 0.0, 0.0), (0.0, 0.0, 1.0)),
+ ((0.0, 0.0, -1.0), (-1.0, 0.0, 0.0), (0.0, 1.0, 0.0)),
+ ((0.0, 0.0, -1.0), (0.0, -1.0, 0.0), (-1.0, 0.0, 0.0)),
+ ((0.0, 0.0, -1.0), (0.0, 1.0, 0.0), (1.0, 0.0, 0.0)),
+ ((0.0, 0.0, -1.0), (1.0, 0.0, 0.0), (0.0, -1.0, 0.0)),
+ ((0.0, 0.0, 1.0), (-1.0, 0.0, 0.0), (0.0, -1.0, 0.0)),
+ ((0.0, 0.0, 1.0), (0.0, -1.0, 0.0), (1.0, 0.0, 0.0)),
+ ((0.0, 0.0, 1.0), (0.0, 1.0, 0.0), (-1.0, 0.0, 0.0)),
+ ((0.0, 0.0, 1.0), (1.0, 0.0, 0.0), (0.0, 1.0, 0.0)),
+ ((0.0, 1.0, 0.0), (-1.0, 0.0, 0.0), (0.0, 0.0, 1.0)),
+ ((0.0, 1.0, 0.0), (0.0, 0.0, -1.0), (-1.0, 0.0, 0.0)),
+ ((0.0, 1.0, 0.0), (0.0, 0.0, 1.0), (1.0, 0.0, 0.0)),
+ ((0.0, 1.0, 0.0), (1.0, 0.0, 0.0), (0.0, 0.0, -1.0)),
+ ((1.0, 0.0, 0.0), (0.0, -1.0, 0.0), (0.0, 0.0, -1.0)),
+ ((1.0, 0.0, 0.0), (0.0, 0.0, -1.0), (0.0, 1.0, 0.0)),
+ ((1.0, 0.0, 0.0), (0.0, 0.0, 1.0), (0.0, -1.0, 0.0)),
+ )
+
+# store args as a single int
+# (X Y Z -X -Y -Z) --> (0, 1, 2, 3, 4, 5)
+# each value is ((src_forward, src_up), (dst_forward, dst_up))
+# where all 4 values are or'd into a single value...
+# (i1<<0 | i1<<3 | i1<<6 | i1<<9)
+_axis_convert_lut = (
+ {0x8C8, 0x4D0, 0x2E0, 0xAE8, 0x701, 0x511, 0x119, 0xB29, 0x682, 0x88A, 0x09A, 0x2A2, 0x80B, 0x413, 0x223, 0xA2B, 0x644, 0x454, 0x05C, 0xA6C, 0x745, 0x94D, 0x15D, 0x365},
+ {0xAC8, 0x8D0, 0x4E0, 0x2E8, 0x741, 0x951, 0x159, 0x369, 0x702, 0xB0A, 0x11A, 0x522, 0xA0B, 0x813, 0x423, 0x22B, 0x684, 0x894, 0x09C, 0x2AC, 0x645, 0xA4D, 0x05D, 0x465},
+ {0x4C8, 0x2D0, 0xAE0, 0x8E8, 0x681, 0x291, 0x099, 0x8A9, 0x642, 0x44A, 0x05A, 0xA62, 0x40B, 0x213, 0xA23, 0x82B, 0x744, 0x354, 0x15C, 0x96C, 0x705, 0x50D, 0x11D, 0xB25},
+ {0x2C8, 0xAD0, 0x8E0, 0x4E8, 0x641, 0xA51, 0x059, 0x469, 0x742, 0x34A, 0x15A, 0x962, 0x20B, 0xA13, 0x823, 0x42B, 0x704, 0xB14, 0x11C, 0x52C, 0x685, 0x28D, 0x09D, 0x8A5},
+ {0x708, 0xB10, 0x120, 0x528, 0x8C1, 0xAD1, 0x2D9, 0x4E9, 0x942, 0x74A, 0x35A, 0x162, 0x64B, 0xA53, 0x063, 0x46B, 0x804, 0xA14, 0x21C, 0x42C, 0x885, 0x68D, 0x29D, 0x0A5},
+ {0xB08, 0x110, 0x520, 0x728, 0x941, 0x151, 0x359, 0x769, 0x802, 0xA0A, 0x21A, 0x422, 0xA4B, 0x053, 0x463, 0x66B, 0x884, 0x094, 0x29C, 0x6AC, 0x8C5, 0xACD, 0x2DD, 0x4E5},
+ {0x508, 0x710, 0xB20, 0x128, 0x881, 0x691, 0x299, 0x0A9, 0x8C2, 0x4CA, 0x2DA, 0xAE2, 0x44B, 0x653, 0xA63, 0x06B, 0x944, 0x754, 0x35C, 0x16C, 0x805, 0x40D, 0x21D, 0xA25},
+ {0x108, 0x510, 0x720, 0xB28, 0x801, 0x411, 0x219, 0xA29, 0x882, 0x08A, 0x29A, 0x6A2, 0x04B, 0x453, 0x663, 0xA6B, 0x8C4, 0x4D4, 0x2DC, 0xAEC, 0x945, 0x14D, 0x35D, 0x765},
+ {0x748, 0x350, 0x160, 0x968, 0xAC1, 0x2D1, 0x4D9, 0x8E9, 0xA42, 0x64A, 0x45A, 0x062, 0x68B, 0x293, 0x0A3, 0x8AB, 0xA04, 0x214, 0x41C, 0x82C, 0xB05, 0x70D, 0x51D, 0x125},
+ {0x948, 0x750, 0x360, 0x168, 0xB01, 0x711, 0x519, 0x129, 0xAC2, 0x8CA, 0x4DA, 0x2E2, 0x88B, 0x693, 0x2A3, 0x0AB, 0xA44, 0x654, 0x45C, 0x06C, 0xA05, 0x80D, 0x41D, 0x225},
+ {0x348, 0x150, 0x960, 0x768, 0xA41, 0x051, 0x459, 0x669, 0xA02, 0x20A, 0x41A, 0x822, 0x28B, 0x093, 0x8A3, 0x6AB, 0xB04, 0x114, 0x51C, 0x72C, 0xAC5, 0x2CD, 0x4DD, 0x8E5},
+ {0x148, 0x950, 0x760, 0x368, 0xA01, 0x811, 0x419, 0x229, 0xB02, 0x10A, 0x51A, 0x722, 0x08B, 0x893, 0x6A3, 0x2AB, 0xAC4, 0x8D4, 0x4DC, 0x2EC, 0xA45, 0x04D, 0x45D, 0x665},
+ {0x688, 0x890, 0x0A0, 0x2A8, 0x4C1, 0x8D1, 0xAD9, 0x2E9, 0x502, 0x70A, 0xB1A, 0x122, 0x74B, 0x953, 0x163, 0x36B, 0x404, 0x814, 0xA1C, 0x22C, 0x445, 0x64D, 0xA5D, 0x065},
+ {0x888, 0x090, 0x2A0, 0x6A8, 0x501, 0x111, 0xB19, 0x729, 0x402, 0x80A, 0xA1A, 0x222, 0x94B, 0x153, 0x363, 0x76B, 0x444, 0x054, 0xA5C, 0x66C, 0x4C5, 0x8CD, 0xADD, 0x2E5},
+ {0x288, 0x690, 0x8A0, 0x0A8, 0x441, 0x651, 0xA59, 0x069, 0x4C2, 0x2CA, 0xADA, 0x8E2, 0x34B, 0x753, 0x963, 0x16B, 0x504, 0x714, 0xB1C, 0x12C, 0x405, 0x20D, 0xA1D, 0x825},
+ {0x088, 0x290, 0x6A0, 0x8A8, 0x401, 0x211, 0xA19, 0x829, 0x442, 0x04A, 0xA5A, 0x662, 0x14B, 0x353, 0x763, 0x96B, 0x4C4, 0x2D4, 0xADC, 0x8EC, 0x505, 0x10D, 0xB1D, 0x725},
+ {0x648, 0x450, 0x060, 0xA68, 0x2C1, 0x4D1, 0x8D9, 0xAE9, 0x282, 0x68A, 0x89A, 0x0A2, 0x70B, 0x513, 0x123, 0xB2B, 0x204, 0x414, 0x81C, 0xA2C, 0x345, 0x74D, 0x95D, 0x165},
+ {0xA48, 0x650, 0x460, 0x068, 0x341, 0x751, 0x959, 0x169, 0x2C2, 0xACA, 0x8DA, 0x4E2, 0xB0B, 0x713, 0x523, 0x12B, 0x284, 0x694, 0x89C, 0x0AC, 0x205, 0xA0D, 0x81D, 0x425},
+ {0x448, 0x050, 0xA60, 0x668, 0x281, 0x091, 0x899, 0x6A9, 0x202, 0x40A, 0x81A, 0xA22, 0x50B, 0x113, 0xB23, 0x72B, 0x344, 0x154, 0x95C, 0x76C, 0x2C5, 0x4CD, 0x8DD, 0xAE5},
+ {0x048, 0xA50, 0x660, 0x468, 0x201, 0xA11, 0x819, 0x429, 0x342, 0x14A, 0x95A, 0x762, 0x10B, 0xB13, 0x723, 0x52B, 0x2C4, 0xAD4, 0x8DC, 0x4EC, 0x285, 0x08D, 0x89D, 0x6A5},
+ {0x808, 0xA10, 0x220, 0x428, 0x101, 0xB11, 0x719, 0x529, 0x142, 0x94A, 0x75A, 0x362, 0x8CB, 0xAD3, 0x2E3, 0x4EB, 0x044, 0xA54, 0x65C, 0x46C, 0x085, 0x88D, 0x69D, 0x2A5},
+ {0xA08, 0x210, 0x420, 0x828, 0x141, 0x351, 0x759, 0x969, 0x042, 0xA4A, 0x65A, 0x462, 0xACB, 0x2D3, 0x4E3, 0x8EB, 0x084, 0x294, 0x69C, 0x8AC, 0x105, 0xB0D, 0x71D, 0x525},
+ {0x408, 0x810, 0xA20, 0x228, 0x081, 0x891, 0x699, 0x2A9, 0x102, 0x50A, 0x71A, 0xB22, 0x4CB, 0x8D3, 0xAE3, 0x2EB, 0x144, 0x954, 0x75C, 0x36C, 0x045, 0x44D, 0x65D, 0xA65},
+ )
+
+_axis_convert_num = {'X': 0, 'Y': 1, 'Z': 2, '-X': 3, '-Y': 4, '-Z': 5}
+
+
+def axis_conversion(from_forward='Y', from_up='Z', to_forward='Y', to_up='Z'):
+ """
+ Each argument us an axis in ['X', 'Y', 'Z', '-X', '-Y', '-Z']
+ where the first 2 are a source and the second 2 are the target.
+ """
+ from mathutils import Matrix
+ from functools import reduce
+
+ if from_forward == to_forward and from_up == to_up:
+ return Matrix().to_3x3()
+
+ if from_forward[-1] == from_up[-1] or to_forward[-1] == to_up[-1]:
+ raise Exception("invalid axis arguments passed, "
+ "can't use up/forward on the same axis.")
+
+ value = reduce(int.__or__, (_axis_convert_num[a] << (i * 3)
+ for i, a in enumerate((from_forward,
+ from_up,
+ to_forward,
+ to_up,
+ ))))
+
+ for i, axis_lut in enumerate(_axis_convert_lut):
+ if value in axis_lut:
+ return Matrix(_axis_convert_matrix[i])
+ assert(0)
+
+
+def axis_conversion_ensure(operator, forward_attr, up_attr):
+ """
+ Function to ensure an operator has valid axis conversion settings, intended
+ to be used from :class:`Operator.check`.
+
+ :arg operator: the operator to access axis attributes from.
+ :type operator: :class:`Operator`
+ :arg forward_attr: attribute storing the forward axis
+ :type forward_attr: string
+ :arg up_attr: attribute storing the up axis
+ :type up_attr: string
+ :return: True if the value was modified.
+ :rtype: boolean
+ """
+ def validate(axis_forward, axis_up):
+ if axis_forward[-1] == axis_up[-1]:
+ axis_up = axis_up[0:-1] + 'XYZ'[('XYZ'.index(axis_up[-1]) + 1) % 3]
+
+ return axis_forward, axis_up
+
+ change = False
+
+ axis = getattr(operator, forward_attr), getattr(operator, up_attr)
+ axis_new = validate(*axis)
+
+ if axis != axis_new:
+ setattr(operator, forward_attr, axis_new[0])
+ setattr(operator, up_attr, axis_new[1])
+
+ return True
+ else:
+ return False
+
+
+# return a tuple (free, object list), free is True if memory should be freed later with free_derived_objects()
+def create_derived_objects(scene, ob):
+ if ob.parent and ob.parent.dupli_type in {'VERTS', 'FACES'}:
+ return False, None
+
+ if ob.dupli_type != 'NONE':
+ ob.dupli_list_create(scene)
+ return True, [(dob.object, dob.matrix) for dob in ob.dupli_list]
+ else:
+ return False, [(ob, ob.matrix_world)]
+
+
+def free_derived_objects(ob):
+ ob.dupli_list_clear()
+
+
+def unpack_list(list_of_tuples):
+ flat_list = []
+ flat_list_extend = flat_list.extend # a tich faster
+ for t in list_of_tuples:
+ flat_list_extend(t)
+ return flat_list
+
+
+# same as above except that it adds 0 for triangle faces
+def unpack_face_list(list_of_tuples):
+ #allocate the entire list
+ flat_ls = [0] * (len(list_of_tuples) * 4)
+ i = 0
+
+ for t in list_of_tuples:
+ if len(t) == 3:
+ if t[2] == 0:
+ t = t[1], t[2], t[0]
+ else: # assuem quad
+ if t[3] == 0 or t[2] == 0:
+ t = t[2], t[3], t[0], t[1]
+
+ flat_ls[i:i + len(t)] = t
+ i += 4
+ return flat_ls
+
+
+path_reference_mode = EnumProperty(
+ name="Path Mode",
+ description="Method used to reference paths",
+ items=(('AUTO', "Auto", "Use Relative paths with subdirectories only"),
+ ('ABSOLUTE', "Absolute", "Always write absolute paths"),
+ ('RELATIVE', "Relative", "Always write relative patsh (where possible)"),
+ ('MATCH', "Match", "Match Absolute/Relative setting with input path"),
+ ('STRIP', "Strip Path", "Filename only"),
+ ('COPY', "Copy", "copy the file to the destination path (or subdirectory)"),
+ ),
+ default='AUTO'
+ )
+
+
+def path_reference(filepath, base_src, base_dst, mode='AUTO', copy_subdir="", copy_set=None):
+ """
+ Return a filepath relative to a destination directory, for use with
+ exporters.
+
+ :arg filepath: the file path to return, supporting blenders relative '//' prefix.
+ :type filepath: string
+ :arg base_src: the directory the *filepath* is relative too (normally the blend file).
+ :type base_src: string
+ :arg base_dst: the directory the *filepath* will be referenced from (normally the export path).
+ :type base_dst: string
+ :arg mode: the method used get the path in ['AUTO', 'ABSOLUTE', 'RELATIVE', 'MATCH', 'STRIP', 'COPY']
+ :type mode: string
+ :arg copy_subdir: the subdirectory of *base_dst* to use when mode='COPY'.
+ :type copy_subdir: string
+ :arg copy_set: collect from/to pairs when mode='COPY', pass to *path_reference_copy* when exportign is done.
+ :type copy_set: set
+ :return: the new filepath.
+ :rtype: string
+ """
+ import os
+ is_relative = filepath.startswith("//")
+ filepath_abs = os.path.normpath(bpy.path.abspath(filepath, base_src))
+
+ if mode in ('ABSOLUTE', 'RELATIVE', 'STRIP'):
+ pass
+ elif mode == 'MATCH':
+ mode = 'RELATIVE' if is_relative else 'ABSOLUTE'
+ elif mode == 'AUTO':
+ mode = 'RELATIVE' if bpy.path.is_subdir(filepath, base_dst) else 'ABSOLUTE'
+ elif mode == 'COPY':
+ if copy_subdir:
+ subdir_abs = os.path.join(os.path.normpath(base_dst), copy_subdir)
+ else:
+ subdir_abs = os.path.normpath(base_dst)
+
+ filepath_cpy = os.path.join(subdir_abs, os.path.basename(filepath))
+
+ copy_set.add((filepath_abs, filepath_cpy))
+
+ filepath_abs = filepath_cpy
+ mode = 'RELATIVE'
+ else:
+ raise Exception("invalid mode given %r" % mode)
+
+ if mode == 'ABSOLUTE':
+ return filepath_abs
+ elif mode == 'RELATIVE':
+ return os.path.relpath(filepath_abs, base_dst)
+ elif mode == 'STRIP':
+ return os.path.basename(filepath_abs)
+
+
+def path_reference_copy(copy_set, report=print):
+ """
+ Execute copying files of path_reference
+
+ :arg copy_set: set of (from, to) pairs to copy.
+ :type copy_set: set
+ :arg report: function used for reporting warnings, takes a string argument.
+ :type report: function
+ """
+ if not copy_set:
+ return
+
+ import os
+ import shutil
+
+ for file_src, file_dst in copy_set:
+ if not os.path.exists(file_src):
+ report("missing %r, not copying" % file_src)
+ elif os.path.exists(file_dst) and os.path.samefile(file_src, file_dst):
+ pass
+ else:
+ dir_to = os.path.dirname(file_dst)
+
+ if not os.path.isdir(dir_to):
+ os.makedirs(dir_to)
+
+ shutil.copy(file_src, file_dst)
+
+
+def unique_name(key, name, name_dict, name_max=-1, clean_func=None):
+ """
+ Helper function for storing unique names which may have special characters
+ stripped and restricted to a maximum length.
+
+ :arg key: unique item this name belongs to, name_dict[key] will be reused
+ when available.
+ This can be the object, mesh, material, etc instance its self.
+ :type key: any hashable object assosiated with the *name*.
+ :arg name: The name used to create a unique value in *name_dict*.
+ :type name: string
+ :arg name_dict: This is used to cache namespace to ensure no collisions
+ occur, this should be an empty dict initially and only modified by this
+ function.
+ :type name_dict: dict
+ :arg clean_func: Function to call on *name* before creating a unique value.
+ :type clean_func: function
+ """
+ name_new = name_dict.get(key)
+ if name_new is None:
+ count = 1
+ name_dict_values = name_dict.values()
+ name_new = name_new_orig = name if clean_func is None else clean_func(name)
+
+ if name_max == -1:
+ while name_new in name_dict_values:
+ name_new = "%s.%03d" % (name_new_orig, 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_orig, count_str)
+ count += 1
+
+ name_dict[key] = name_new
+
+ return name_new
diff --git a/release/scripts/modules/bpy_extras/mesh_utils.py b/release/scripts/modules/bpy_extras/mesh_utils.py
new file mode 100644
index 00000000000..ecd620ff2c9
--- /dev/null
+++ b/release/scripts/modules/bpy_extras/mesh_utils.py
@@ -0,0 +1,510 @@
+# ##### 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.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8-80 compliant>
+
+__all__ = (
+ "mesh_linked_faces",
+ "edge_face_count_dict",
+ "edge_face_count",
+ "edge_loops_from_faces",
+ "edge_loops_from_edges",
+ "ngon_tesselate",
+ "face_random_points",
+)
+
+
+def mesh_linked_faces(mesh):
+ """
+ Splits the mesh into connected faces, use this for seperating cubes from
+ other mesh elements within 1 mesh datablock.
+
+ :arg mesh: the mesh used to group with.
+ :type mesh: :class:`Mesh`
+ :return: lists of lists containing faces.
+ :rtype: list
+ """
+
+ # Build vert face connectivity
+ vert_faces = [[] for i in range(len(mesh.vertices))]
+ for f in mesh.faces:
+ for v in f.vertices:
+ vert_faces[v].append(f)
+
+ # sort faces into connectivity groups
+ face_groups = [[f] for f in mesh.faces]
+ face_mapping = list(range(len(mesh.faces))) # map old, new face location
+
+ # Now clump faces iterativly
+ ok = True
+ while ok:
+ ok = False
+
+ for i, f in enumerate(mesh.faces):
+ mapped_index = face_mapping[f.index]
+ mapped_group = face_groups[mapped_index]
+
+ for v in f.vertices:
+ for nxt_f in vert_faces[v]:
+ if nxt_f != f:
+ nxt_mapped_index = face_mapping[nxt_f.index]
+
+ # We are not a part of the same group
+ if mapped_index != nxt_mapped_index:
+ ok = True
+
+ # Assign mapping to this group so they
+ # all map to this group
+ for grp_f in face_groups[nxt_mapped_index]:
+ face_mapping[grp_f.index] = mapped_index
+
+ # Move faces into this group
+ mapped_group.extend(face_groups[nxt_mapped_index])
+
+ # remove reference to the list
+ face_groups[nxt_mapped_index] = None
+
+ # return all face groups that are not null
+ # this is all the faces that are connected in their own lists.
+ return [fg for fg in face_groups if fg]
+
+
+def edge_face_count_dict(mesh):
+ """
+ :return: dict of edge keys with their value set to the number of
+ faces using each edge.
+ :rtype: dict
+ """
+ face_edge_keys = [face.edge_keys for face in mesh.faces]
+ face_edge_count = {}
+ for face_keys in face_edge_keys:
+ for key in face_keys:
+ try:
+ face_edge_count[key] += 1
+ except:
+ face_edge_count[key] = 1
+
+ return face_edge_count
+
+
+def edge_face_count(mesh):
+ """
+ :return: list face users for each item in mesh.edges.
+ :rtype: list
+ """
+ edge_face_count = edge_face_count_dict(mesh)
+ get = dict.get
+ return [get(edge_face_count, ed.key, 0) for ed in mesh.edges]
+
+
+def edge_loops_from_faces(mesh, faces=None, seams=()):
+ """
+ Edge loops defined by faces
+
+ Takes me.faces or a list of faces and returns the edge loops
+ These edge loops are the edges that sit between quads, so they dont touch
+ 1 quad, note: not connected will make 2 edge loops,
+ both only containing 2 edges.
+
+ return a list of edge key lists
+ [[(0, 1), (4, 8), (3, 8)], ...]
+
+ :arg mesh: the mesh used to get edge loops from.
+ :type mesh: :class:`Mesh`
+ :arg faces: optional face list to only use some of the meshes faces.
+ :type faces: :class:`MeshFaces`, sequence or or NoneType
+ :return: return a list of edge vertex index lists.
+ :rtype: list
+ """
+
+ OTHER_INDEX = 2, 3, 0, 1 # opposite face index
+
+ if faces is None:
+ faces = mesh.faces
+
+ edges = {}
+
+ for f in faces:
+# if len(f) == 4:
+ if f.vertices_raw[3] != 0:
+ edge_keys = f.edge_keys
+ for i, edkey in enumerate(f.edge_keys):
+ edges.setdefault(edkey, []).append(edge_keys[OTHER_INDEX[i]])
+
+ for edkey in seams:
+ edges[edkey] = []
+
+ # Collect edge loops here
+ edge_loops = []
+
+ for edkey, ed_adj in edges.items():
+ if 0 < len(ed_adj) < 3: # 1 or 2
+ # Seek the first edge
+ context_loop = [edkey, ed_adj[0]]
+ edge_loops.append(context_loop)
+ if len(ed_adj) == 2:
+ other_dir = ed_adj[1]
+ else:
+ other_dir = None
+
+ ed_adj[:] = []
+
+ flipped = False
+
+ while 1:
+ # from knowing the last 2, look for th next.
+ ed_adj = edges[context_loop[-1]]
+ if len(ed_adj) != 2:
+ # the original edge had 2 other edges
+ if other_dir and flipped == False:
+ flipped = True # only flip the list once
+ context_loop.reverse()
+ ed_adj[:] = []
+ context_loop.append(other_dir) # save 1 lookiup
+
+ ed_adj = edges[context_loop[-1]]
+ if len(ed_adj) != 2:
+ ed_adj[:] = []
+ break
+ else:
+ ed_adj[:] = []
+ break
+
+ i = ed_adj.index(context_loop[-2])
+ context_loop.append(ed_adj[not i])
+
+ # Dont look at this again
+ ed_adj[:] = []
+
+ return edge_loops
+
+
+def edge_loops_from_edges(mesh, edges=None):
+ """
+ Edge loops defined by edges
+
+ Takes me.edges or a list of edges and returns the edge loops
+
+ return a list of vertex indices.
+ [ [1, 6, 7, 2], ...]
+
+ closed loops have matching start and end values.
+ """
+ line_polys = []
+
+ # Get edges not used by a face
+ if edges is None:
+ edges = mesh.edges
+
+ if not hasattr(edges, "pop"):
+ edges = edges[:]
+
+ while edges:
+ current_edge = edges.pop()
+ vert_end, vert_start = current_edge.vertices[:]
+ line_poly = [vert_start, vert_end]
+
+ ok = True
+ while ok:
+ ok = False
+ #for i, ed in enumerate(edges):
+ i = len(edges)
+ while i:
+ i -= 1
+ ed = edges[i]
+ v1, v2 = ed.vertices
+ if v1 == vert_end:
+ line_poly.append(v2)
+ vert_end = line_poly[-1]
+ ok = 1
+ del edges[i]
+ # break
+ elif v2 == vert_end:
+ line_poly.append(v1)
+ vert_end = line_poly[-1]
+ ok = 1
+ del edges[i]
+ #break
+ elif v1 == vert_start:
+ line_poly.insert(0, v2)
+ vert_start = line_poly[0]
+ ok = 1
+ del edges[i]
+ # break
+ elif v2 == vert_start:
+ line_poly.insert(0, v1)
+ vert_start = line_poly[0]
+ ok = 1
+ del edges[i]
+ #break
+ line_polys.append(line_poly)
+
+ return line_polys
+
+
+def ngon_tesselate(from_data, indices, fix_loops=True):
+ '''
+ Takes a polyline of indices (fgon) and returns a list of face
+ indicie lists. Designed to be used for importers that need indices for an
+ fgon to create from existing verts.
+
+ from_data: either a mesh, or a list/tuple of vectors.
+ indices: a list of indices to use this list is the ordered closed polyline
+ to fill, and can be a subset of the data given.
+ fix_loops: If this is enabled polylines that use loops to make multiple
+ polylines are delt with correctly.
+ '''
+
+ from mathutils.geometry import tesselate_polygon
+ from mathutils import Vector
+ vector_to_tuple = Vector.to_tuple
+
+ if not indices:
+ return []
+
+ def mlen(co):
+ # manhatten length of a vector, faster then length
+ return abs(co[0]) + abs(co[1]) + abs(co[2])
+
+ def vert_treplet(v, i):
+ return v, vector_to_tuple(v, 6), i, mlen(v)
+
+ def ed_key_mlen(v1, v2):
+ if v1[3] > v2[3]:
+ return v2[1], v1[1]
+ else:
+ return v1[1], v2[1]
+
+ if not fix_loops:
+ '''
+ Normal single concave loop filling
+ '''
+ 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)]
+
+ # same as reversed(range(1, len(verts))):
+ for i in range(len(verts) - 1, 0, -1):
+ if verts[i][1] == verts[i - 1][0]:
+ verts.pop(i - 1)
+
+ fill = tesselate_polygon([verts])
+
+ else:
+ '''
+ Seperate this loop into multiple loops be finding edges that are
+ used twice. This is used by lightwave LWO files a lot
+ '''
+
+ if type(from_data) in (tuple, list):
+ verts = [vert_treplet(Vector(from_data[i]), ii)
+ for ii, i in enumerate(indices)]
+ else:
+ verts = [vert_treplet(from_data.vertices[i].co, ii)
+ for ii, i in enumerate(indices)]
+
+ edges = [(i, i - 1) for i in range(len(verts))]
+ if edges:
+ edges[0] = (0, len(verts) - 1)
+
+ if not verts:
+ return []
+
+ edges_used = set()
+ edges_doubles = set()
+ # We need to check if any edges are used twice location based.
+ for ed in edges:
+ edkey = ed_key_mlen(verts[ed[0]], verts[ed[1]])
+ if edkey in edges_used:
+ edges_doubles.add(edkey)
+ else:
+ edges_used.add(edkey)
+
+ # Store a list of unconnected loop segments split by double edges.
+ # will join later
+ loop_segments = []
+
+ v_prev = verts[0]
+ context_loop = [v_prev]
+ loop_segments = [context_loop]
+
+ for v in verts:
+ if v != v_prev:
+ # Are we crossing an edge we removed?
+ if ed_key_mlen(v, v_prev) in edges_doubles:
+ context_loop = [v]
+ loop_segments.append(context_loop)
+ else:
+ if context_loop and context_loop[-1][1] == v[1]:
+ #raise "as"
+ pass
+ else:
+ context_loop.append(v)
+
+ v_prev = v
+ # Now join loop segments
+
+ def join_seg(s1, s2):
+ if s2[-1][1] == s1[0][1]:
+ s1, s2 = s2, s1
+ elif s1[-1][1] == s2[0][1]:
+ pass
+ else:
+ return False
+
+ # If were stuill here s1 and s2 are 2 segments in the same polyline
+ s1.pop() # remove the last vert from s1
+ s1.extend(s2) # add segment 2 to segment 1
+
+ if s1[0][1] == s1[-1][1]: # remove endpoints double
+ s1.pop()
+
+ s2[:] = [] # Empty this segment s2 so we dont use it again.
+ return True
+
+ joining_segments = True
+ while joining_segments:
+ joining_segments = False
+ segcount = len(loop_segments)
+
+ for j in range(segcount - 1, -1, -1): # reversed(range(segcount)):
+ seg_j = loop_segments[j]
+ if seg_j:
+ for k in range(j - 1, -1, -1): # reversed(range(j)):
+ if not seg_j:
+ break
+ seg_k = loop_segments[k]
+
+ if seg_k and join_seg(seg_j, seg_k):
+ joining_segments = True
+
+ loop_list = loop_segments
+
+ for verts in loop_list:
+ while verts and verts[0][1] == verts[-1][1]:
+ verts.pop()
+
+ loop_list = [verts for verts in loop_list if len(verts) > 2]
+ # DONE DEALING WITH LOOP FIXING
+
+ # vert mapping
+ vert_map = [None] * len(indices)
+ ii = 0
+ for verts in loop_list:
+ if len(verts) > 2:
+ for i, vert in enumerate(verts):
+ vert_map[i + ii] = vert[2]
+ ii += len(verts)
+
+ fill = tesselate_polygon([[v[0] for v in loop] for loop in loop_list])
+ #draw_loops(loop_list)
+ #raise 'done loop'
+ # map to original indices
+ fill = [[vert_map[i] for i in reversed(f)] for f in fill]
+
+ if not fill:
+ print('Warning Cannot scanfill, fallback on a triangle fan.')
+ fill = [[0, i - 1, i] for i in range(2, len(indices))]
+ else:
+ # Use real scanfill.
+ # See if its flipped the wrong way.
+ flip = None
+ for fi in fill:
+ if flip != None:
+ break
+ for i, vi in enumerate(fi):
+ if vi == 0 and fi[i - 1] == 1:
+ flip = False
+ break
+ elif vi == 1 and fi[i - 1] == 0:
+ flip = True
+ break
+
+ if not flip:
+ for i, fi in enumerate(fill):
+ fill[i] = tuple([ii for ii in reversed(fi)])
+
+ return fill
+
+
+def face_random_points(num_points, faces):
+ """
+ Generates a list of random points over mesh faces.
+
+ :arg num_points: the number of random points to generate on each face.
+ :type int:
+ :arg faces: list of the faces to generate points on.
+ :type faces: :class:`MeshFaces`, sequence
+ :return: list of random points over all faces.
+ :rtype: list
+ """
+
+ from random import random
+ from mathutils.geometry import area_tri
+
+ # Split all quads into 2 tris, tris remain unchanged
+ tri_faces = []
+ for f in faces:
+ tris = []
+ verts = f.id_data.vertices
+ fv = f.vertices[:]
+ tris.append((verts[fv[0]].co,
+ verts[fv[1]].co,
+ verts[fv[2]].co,
+ ))
+ if len(fv) == 4:
+ tris.append((verts[fv[0]].co,
+ verts[fv[3]].co,
+ verts[fv[2]].co,
+ ))
+ tri_faces.append(tris)
+
+ # For each face, generate the required number of random points
+ sampled_points = [None] * (num_points * len(faces))
+ for i, tf in enumerate(tri_faces):
+ for k in range(num_points):
+ # If this is a quad, we need to weight its 2 tris by their area
+ if len(tf) != 1:
+ area1 = area_tri(*tf[0])
+ area2 = area_tri(*tf[1])
+ area_tot = area1 + area2
+
+ area1 = area1 / area_tot
+ area2 = area2 / area_tot
+
+ vecs = tf[0 if (random() < area1) else 1]
+ else:
+ vecs = tf[0]
+
+ u1 = random()
+ u2 = random()
+ u_tot = u1 + u2
+
+ if u_tot > 1:
+ u1 = 1.0 - u1
+ u2 = 1.0 - u2
+
+ side1 = vecs[1] - vecs[0]
+ side2 = vecs[2] - vecs[0]
+
+ p = vecs[0] + u1 * side1 + u2 * side2
+
+ sampled_points[num_points * i + k] = p
+
+ return sampled_points
diff --git a/release/scripts/modules/add_object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py
index 1cf7fc2f4d5..51a8d4b5e23 100644
--- a/release/scripts/modules/add_object_utils.py
+++ b/release/scripts/modules/bpy_extras/object_utils.py
@@ -18,11 +18,27 @@
# <pep8 compliant>
+__all__ = (
+ "add_object_align_init",
+ "object_data_add",
+)
+
+
import bpy
import mathutils
def add_object_align_init(context, operator):
+ """
+ Return a matrix using the operator settings and view context.
+
+ :arg context: The context to use.
+ :type context: :class:`Context`
+ :arg operator: The operator, checked for location and rotation properties.
+ :type operator: :class:`Operator`
+ :return: the matrix from the context and settings.
+ :rtype: :class:`Matrix`
+ """
space_data = context.space_data
if space_data.type != 'VIEW_3D':
space_data = None
@@ -64,7 +80,19 @@ def add_object_align_init(context, operator):
def object_data_add(context, obdata, operator=None):
-
+ """
+ Add an object using the view context and preference to to initialize the
+ location, rotation and layer.
+
+ :arg context: The context to use.
+ :type context: :class:`Context`
+ :arg obdata: the data used for the new object.
+ :type obdata: valid object data type or None.
+ :arg operator: The operator, checked for location and rotation properties.
+ :type operator: :class:`Operator`
+ :return: the newly created object in the scene.
+ :rtype: :class:`ObjectBase`
+ """
scene = context.scene
# ugh, could be made nicer
diff --git a/release/scripts/modules/bpy_extras/view3d_utils.py b/release/scripts/modules/bpy_extras/view3d_utils.py
new file mode 100644
index 00000000000..5796abce72c
--- /dev/null
+++ b/release/scripts/modules/bpy_extras/view3d_utils.py
@@ -0,0 +1,128 @@
+# ##### 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.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+__all__ = (
+ "region_2d_to_vector_3d",
+ "region_2d_to_location_3d",
+ "location_3d_to_region_2d",
+)
+
+
+def region_2d_to_vector_3d(region, rv3d, coord):
+ """
+ Return a direction vector from the viewport at the spesific 2d region
+ coordinate.
+
+ :arg region: region of the 3D viewport, typically bpy.context.region.
+ :type region: :class:`Region`
+ :arg rv3d: 3D region data, typically bpy.context.space_data.region_3d.
+ :type rv3d: :class:`RegionView3D`
+ :arg coord: 2d coordinates relative to the region:
+ (event.mouse_region_x, event.mouse_region_y) for example.
+ :type coord: 2d vector
+ :return: normalized 3d vector.
+ :rtype: :class:`Vector`
+ """
+ from mathutils import Vector
+
+ if rv3d.is_perspective:
+ persinv = rv3d.perspective_matrix.inverted()
+
+ out = Vector(((2.0 * coord[0] / region.width) - 1.0,
+ (2.0 * coord[1] / region.height) - 1.0,
+ -0.5
+ ))
+
+ w = ((out[0] * persinv[0][3]) +
+ (out[1] * persinv[1][3]) +
+ (out[2] * persinv[2][3]) + persinv[3][3])
+
+ return ((persinv * out) / w) - rv3d.view_matrix.inverted()[3].xyz
+ else:
+ return rv3d.view_matrix.inverted()[2].xyz.normalized()
+
+
+def region_2d_to_location_3d(region, rv3d, coord, depth_location):
+ """
+ Return a 3d location from the region relative 2d coords, aligned with
+ *depth_location*.
+
+ :arg region: region of the 3D viewport, typically bpy.context.region.
+ :type region: :class:`Region`
+ :arg rv3d: 3D region data, typically bpy.context.space_data.region_3d.
+ :type rv3d: :class:`RegionView3D`
+ :arg coord: 2d coordinates relative to the region;
+ (event.mouse_region_x, event.mouse_region_y) for example.
+ :type coord: 2d vector
+ :arg depth_location: the returned vectors depth is aligned with this since
+ there is no defined depth with a 2d region input.
+ :type depth_location: 3d vector
+ :return: normalized 3d vector.
+ :rtype: :class:`Vector`
+ """
+ from mathutils import Vector
+ from mathutils.geometry import intersect_point_line
+
+ persmat = rv3d.perspective_matrix.copy()
+ coord_vec = region_2d_to_vector_3d(region, rv3d, coord)
+ depth_location = Vector(depth_location)
+
+ if rv3d.is_perspective:
+ from mathutils.geometry import intersect_line_plane
+
+ origin_start = rv3d.view_matrix.inverted()[3].to_3d()
+ origin_end = origin_start + coord_vec
+ view_vec = rv3d.view_matrix.inverted()[2]
+ return intersect_line_plane(origin_start, origin_end, depth_location, view_vec, 1)
+ else:
+ dx = (2.0 * coord[0] / region.width) - 1.0
+ dy = (2.0 * coord[1] / region.height) - 1.0
+ persinv = persmat.inverted()
+ viewinv = rv3d.view_matrix.inverted()
+ origin_start = (persinv[0].xyz * dx) + (persinv[1].xyz * dy) + viewinv[3].xyz
+ origin_end = origin_start + coord_vec
+ return intersect_point_line(depth_location, origin_start, origin_end)[0]
+
+
+def location_3d_to_region_2d(region, rv3d, coord):
+ """
+ Return the *region* relative 2d location of a 3d position.
+
+ :arg region: region of the 3D viewport, typically bpy.context.region.
+ :type region: :class:`Region`
+ :arg rv3d: 3D region data, typically bpy.context.space_data.region_3d.
+ :type rv3d: :class:`RegionView3D`
+ :arg coord: 3d worldspace location.
+ :type coord: 3d vector
+ :return: 2d location
+ :rtype: :class:`Vector`
+ """
+ from mathutils import Vector
+
+ prj = rv3d.perspective_matrix * Vector((coord[0], coord[1], coord[2], 1.0))
+ if prj.w > 0.0:
+ width_half = region.width / 2.0
+ height_half = region.height / 2.0
+
+ return Vector((width_half + width_half * (prj.x / prj.w),
+ height_half + height_half * (prj.y / prj.w),
+ ))
+ else:
+ return None
diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py
index c3352dd33ad..8766c873dd8 100644
--- a/release/scripts/modules/bpy_types.py
+++ b/release/scripts/modules/bpy_types.py
@@ -20,7 +20,6 @@
from _bpy import types as bpy_types
import _bpy
-from mathutils import Vector
StructRNA = bpy_types.Struct.__bases__[0]
StructMetaPropGroup = _bpy.StructMetaPropGroup
@@ -144,19 +143,22 @@ class _GenericBone:
def x_axis(self):
""" Vector pointing down the x-axis of the bone.
"""
- return Vector((1.0, 0.0, 0.0)) * self.matrix.to_3x3()
+ from mathutils import Vector
+ return self.matrix.to_3x3() * Vector((1.0, 0.0, 0.0))
@property
def y_axis(self):
""" Vector pointing down the x-axis of the bone.
"""
- return Vector((0.0, 1.0, 0.0)) * self.matrix.to_3x3()
+ from mathutils import Vector
+ return self.matrix.to_3x3() * Vector((0.0, 1.0, 0.0))
@property
def z_axis(self):
""" Vector pointing down the x-axis of the bone.
"""
- return Vector((0.0, 0.0, 1.0)) * self.matrix.to_3x3()
+ from mathutils import Vector
+ return self.matrix.to_3x3() * Vector((0.0, 0.0, 1.0))
@property
def basename(self):
@@ -239,7 +241,7 @@ class _GenericBone:
chain.append(child)
else:
if len(children_basename):
- print("multiple basenames found, this is probably not what you want!", bone.name, children_basename)
+ print("multiple basenames found, this is probably not what you want!", self.name, children_basename)
break
@@ -292,9 +294,9 @@ class EditBone(StructRNA, _GenericBone, metaclass=StructMetaPropGroup):
:type roll: bool
"""
from mathutils import Vector
- z_vec = Vector((0.0, 0.0, 1.0)) * self.matrix.to_3x3()
- self.tail = self.tail * matrix
- self.head = self.head * matrix
+ z_vec = self.matrix.to_3x3() * Vector((0.0, 0.0, 1.0))
+ self.tail = matrix * self.tail
+ self.head = matrix * self.head
if scale:
scalar = matrix.median_scale
@@ -302,7 +304,7 @@ class EditBone(StructRNA, _GenericBone, metaclass=StructMetaPropGroup):
self.tail_radius *= scalar
if roll:
- self.align_roll(z_vec * matrix)
+ self.align_roll(matrix * z_vec)
def ord_ind(i1, i2):
@@ -356,163 +358,6 @@ class Mesh(bpy_types.ID):
def edge_keys(self):
return [edge_key for face in self.faces for edge_key in face.edge_keys]
- @property
- def edge_face_count_dict(self):
- face_edge_keys = [face.edge_keys for face in self.faces]
- face_edge_count = {}
- for face_keys in face_edge_keys:
- for key in face_keys:
- try:
- face_edge_count[key] += 1
- except:
- face_edge_count[key] = 1
-
- return face_edge_count
-
- @property
- def edge_face_count(self):
- edge_face_count_dict = self.edge_face_count_dict
- return [edge_face_count_dict.get(ed.key, 0) for ed in self.edges]
-
- def edge_loops_from_faces(self, faces=None, seams=()):
- """
- Edge loops defined by faces
-
- Takes me.faces or a list of faces and returns the edge loops
- These edge loops are the edges that sit between quads, so they dont touch
- 1 quad, note: not connected will make 2 edge loops, both only containing 2 edges.
-
- return a list of edge key lists
- [ [(0,1), (4, 8), (3,8)], ...]
-
- return a list of edge vertex index lists
- """
-
- OTHER_INDEX = 2, 3, 0, 1 # opposite face index
-
- if faces is None:
- faces = self.faces
-
- edges = {}
-
- for f in faces:
-# if len(f) == 4:
- if f.vertices_raw[3] != 0:
- edge_keys = f.edge_keys
- for i, edkey in enumerate(f.edge_keys):
- edges.setdefault(edkey, []).append(edge_keys[OTHER_INDEX[i]])
-
- for edkey in seams:
- edges[edkey] = []
-
- # Collect edge loops here
- edge_loops = []
-
- for edkey, ed_adj in edges.items():
- if 0 < len(ed_adj) < 3: # 1 or 2
- # Seek the first edge
- context_loop = [edkey, ed_adj[0]]
- edge_loops.append(context_loop)
- if len(ed_adj) == 2:
- other_dir = ed_adj[1]
- else:
- other_dir = None
-
- ed_adj[:] = []
-
- flipped = False
-
- while 1:
- # from knowing the last 2, look for th next.
- ed_adj = edges[context_loop[-1]]
- if len(ed_adj) != 2:
-
- if other_dir and flipped == False: # the original edge had 2 other edges
- flipped = True # only flip the list once
- context_loop.reverse()
- ed_adj[:] = []
- context_loop.append(other_dir) # save 1 lookiup
-
- ed_adj = edges[context_loop[-1]]
- if len(ed_adj) != 2:
- ed_adj[:] = []
- break
- else:
- ed_adj[:] = []
- break
-
- i = ed_adj.index(context_loop[-2])
- context_loop.append(ed_adj[not i])
-
- # Dont look at this again
- ed_adj[:] = []
-
- return edge_loops
-
- def edge_loops_from_edges(self, edges=None):
- """
- Edge loops defined by edges
-
- Takes me.edges or a list of edges and returns the edge loops
-
- return a list of vertex indices.
- [ [1, 6, 7, 2], ...]
-
- closed loops have matching start and end values.
- """
- line_polys = []
-
- # Get edges not used by a face
- if edges is None:
- edges = self.edges
-
- if not hasattr(edges, "pop"):
- edges = edges[:]
-
- edge_dict = {ed.key: ed for ed in self.edges if ed.select}
-
- while edges:
- current_edge = edges.pop()
- vert_end, vert_start = current_edge.vertices[:]
- line_poly = [vert_start, vert_end]
-
- ok = True
- while ok:
- ok = False
- #for i, ed in enumerate(edges):
- i = len(edges)
- while i:
- i -= 1
- ed = edges[i]
- v1, v2 = ed.vertices
- if v1 == vert_end:
- line_poly.append(v2)
- vert_end = line_poly[-1]
- ok = 1
- del edges[i]
- # break
- elif v2 == vert_end:
- line_poly.append(v1)
- vert_end = line_poly[-1]
- ok = 1
- del edges[i]
- #break
- elif v1 == vert_start:
- line_poly.insert(0, v2)
- vert_start = line_poly[0]
- ok = 1
- del edges[i]
- # break
- elif v2 == vert_start:
- line_poly.insert(0, v1)
- vert_start = line_poly[0]
- ok = 1
- del edges[i]
- #break
- line_polys.append(line_poly)
-
- return line_polys
-
class MeshEdge(StructRNA):
__slots__ = ()
diff --git a/release/scripts/modules/bpyml_ui.py b/release/scripts/modules/bpyml_ui.py
index 1e0522974d1..5df04b8bf34 100644
--- a/release/scripts/modules/bpyml_ui.py
+++ b/release/scripts/modules/bpyml_ui.py
@@ -22,7 +22,6 @@
import bpy as _bpy
import bpyml
from bpyml import TAG, ARGS, CHILDREN
-from types import ModuleType
_uilayout_rna = _bpy.types.UILayout.bl_rna
diff --git a/release/scripts/modules/console/complete_namespace.py b/release/scripts/modules/console/complete_namespace.py
index a31280ebff0..d787fed0967 100644
--- a/release/scripts/modules/console/complete_namespace.py
+++ b/release/scripts/modules/console/complete_namespace.py
@@ -37,6 +37,11 @@ def is_dict(obj):
return hasattr(obj, 'keys') and hasattr(getattr(obj, 'keys'), '__call__')
+def is_struct_seq(obj):
+ """Returns whether obj is a structured sequence subclass: sys.float_info"""
+ return isinstance(obj, tuple) and hasattr(obj, 'n_fields')
+
+
def complete_names(word, namespace):
"""Complete variable names or attributes
@@ -174,7 +179,7 @@ def complete(word, namespace, private=True):
if type(obj) in (bool, float, int, str):
return []
# an extra char '[', '(' or '.' will be added
- if hasattr(obj, '__getitem__'):
+ if hasattr(obj, '__getitem__') and not is_struct_seq(obj):
# list or dictionary
matches = complete_indices(word, namespace, obj)
elif hasattr(obj, '__call__'):
diff --git a/release/scripts/modules/console/intellisense.py b/release/scripts/modules/console/intellisense.py
index 9352d7c14e1..a177b305fda 100644
--- a/release/scripts/modules/console/intellisense.py
+++ b/release/scripts/modules/console/intellisense.py
@@ -53,7 +53,7 @@ RE_UNQUOTED_WORD = re.compile(
re.UNICODE)
-def complete(line, cursor, namespace, private=True):
+def complete(line, cursor, namespace, private):
"""Returns a list of possible completions:
* name completion
@@ -82,6 +82,9 @@ def complete(line, cursor, namespace, private=True):
if RE_MODULE.match(line):
from . import complete_import
matches = complete_import.complete(line)
+ if not private:
+ matches[:] = [m for m in matches if m[:1] != "_"]
+ matches.sort()
else:
from . import complete_namespace
matches = complete_namespace.complete(word, namespace, private)
@@ -120,15 +123,29 @@ def expand(line, cursor, namespace, private=True):
from . import complete_calltip
matches, word, scrollback = complete_calltip.complete(line,
cursor, namespace)
+ prefix = os.path.commonprefix(matches)[len(word):]
no_calltip = False
else:
matches, word = complete(line, cursor, namespace, private)
+ prefix = os.path.commonprefix(matches)[len(word):]
if len(matches) == 1:
scrollback = ''
else:
- scrollback = ' '.join([m.split('.')[-1] for m in matches])
+ # causes blender bug [#27495] since string keys may contain '.'
+ # scrollback = ' '.join([m.split('.')[-1] for m in matches])
+
+ # add white space to align with the cursor
+ white_space = " " + (" " * (cursor + len(prefix)))
+ word_prefix = word + prefix
+ scrollback = '\n'.join(
+ [white_space + m[len(word_prefix):]
+ if (word_prefix and m.startswith(word_prefix))
+ else
+ white_space + m.split('.')[-1]
+ for m in matches])
+
no_calltip = True
- prefix = os.path.commonprefix(matches)[len(word):]
+
if prefix:
line = line[:cursor] + prefix + line[cursor:]
cursor += len(prefix)
diff --git a/release/scripts/modules/console_python.py b/release/scripts/modules/console_python.py
index 3048fa1d597..455eabe377b 100644
--- a/release/scripts/modules/console_python.py
+++ b/release/scripts/modules/console_python.py
@@ -80,7 +80,7 @@ def get_console(console_id):
if console_data:
console, stdout, stderr = console_data
- # XXX, bug in python 3.1.2 ? (worked in 3.1.1)
+ # XXX, bug in python 3.1.2, 3.2 ? (worked in 3.1.1)
# seems there is no way to clear StringIO objects for writing, have to make new ones each time.
import io
stdout = io.StringIO()
diff --git a/release/scripts/modules/io_utils.py b/release/scripts/modules/io_utils.py
deleted file mode 100644
index 4fcfcfbd0a9..00000000000
--- a/release/scripts/modules/io_utils.py
+++ /dev/null
@@ -1,224 +0,0 @@
-# ##### 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.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-# <pep8 compliant>
-
-import bpy
-from bpy.props import StringProperty, BoolProperty, EnumProperty
-
-
-class ExportHelper:
- filepath = StringProperty(name="File Path", description="Filepath used for exporting the file", maxlen=1024, default="", subtype='FILE_PATH')
- check_existing = BoolProperty(name="Check Existing", description="Check and warn on overwriting existing files", default=True, options={'HIDDEN'})
-
- # subclasses can override with decorator
- # True == use ext, False == no ext, None == do nothing.
- check_extension = True
-
- def invoke(self, context, event):
- import os
- if not self.filepath:
- blend_filepath = context.blend_data.filepath
- if not blend_filepath:
- blend_filepath = "untitled"
- else:
- blend_filepath = os.path.splitext(blend_filepath)[0]
-
- self.filepath = blend_filepath + self.filename_ext
-
- context.window_manager.fileselect_add(self)
- return {'RUNNING_MODAL'}
-
- def check(self, context):
- check_extension = self.check_extension
-
- if check_extension is None:
- return False
-
- filepath = bpy.path.ensure_ext(self.filepath, self.filename_ext if check_extension else "")
-
- if filepath != self.filepath:
- self.filepath = filepath
- return True
-
- return False
-
-
-class ImportHelper:
- filepath = StringProperty(name="File Path", description="Filepath used for importing the file", maxlen=1024, default="", subtype='FILE_PATH')
-
- def invoke(self, context, event):
- context.window_manager.fileselect_add(self)
- return {'RUNNING_MODAL'}
-
-
-# limited replacement for BPyImage.comprehensiveImageLoad
-def load_image(imagepath, dirname):
- import os
-
- if os.path.exists(imagepath):
- return bpy.data.images.load(imagepath)
-
- variants = [imagepath, os.path.join(dirname, imagepath), os.path.join(dirname, os.path.basename(imagepath))]
-
- for filepath in variants:
- for nfilepath in (filepath, bpy.path.resolve_ncase(filepath)):
- if os.path.exists(nfilepath):
- return bpy.data.images.load(nfilepath)
-
- # TODO comprehensiveImageLoad also searched in bpy.config.textureDir
- return None
-
-
-# return a tuple (free, object list), free is True if memory should be freed later with free_derived_objects()
-def create_derived_objects(scene, ob):
- if ob.parent and ob.parent.dupli_type != 'NONE':
- return False, None
-
- if ob.dupli_type != 'NONE':
- ob.dupli_list_create(scene)
- return True, [(dob.object, dob.matrix) for dob in ob.dupli_list]
- else:
- return False, [(ob, ob.matrix_world)]
-
-
-def free_derived_objects(ob):
- ob.dupli_list_clear()
-
-
-def unpack_list(list_of_tuples):
- flat_list = []
- flat_list_extend = flat_list.extend # a tich faster
- for t in list_of_tuples:
- flat_list_extend(t)
- return flat_list
-
-
-# same as above except that it adds 0 for triangle faces
-def unpack_face_list(list_of_tuples):
- #allocate the entire list
- flat_ls = [0] * (len(list_of_tuples) * 4)
- i = 0
-
- for t in list_of_tuples:
- if len(t) == 3:
- if t[2] == 0:
- t = t[1], t[2], t[0]
- else: # assuem quad
- if t[3] == 0 or t[2] == 0:
- t = t[2], t[3], t[0], t[1]
-
- flat_ls[i:i + len(t)] = t
- i += 4
- return flat_ls
-
-
-path_reference_mode = EnumProperty(
- name="Path Mode",
- description="Method used to reference paths",
- items=(('AUTO', "Auto", "Use Relative paths with subdirectories only"),
- ('ABSOLUTE', "Absolute", "Always write absolute paths"),
- ('RELATIVE', "Relative", "Always write relative patsh (where possible)"),
- ('MATCH', "Match", "Match Absolute/Relative setting with input path"),
- ('STRIP', "Strip Path", "Filename only"),
- ('COPY', "Copy", "copy the file to the destination path (or subdirectory)"),
- ),
- default='AUTO'
- )
-
-
-def path_reference(filepath, base_src, base_dst, mode='AUTO', copy_subdir="", copy_set=None):
- """
- Return a filepath relative to a destination directory, for use with
- exporters.
-
- :arg filepath: the file path to return, supporting blenders relative '//' prefix.
- :type filepath: string
- :arg base_src: the directory the *filepath* is relative too (normally the blend file).
- :type base_src: string
- :arg base_dst: the directory the *filepath* will be referenced from (normally the export path).
- :type base_dst: string
- :arg mode: the method used get the path in ['AUTO', 'ABSOLUTE', 'RELATIVE', 'MATCH', 'STRIP', 'COPY']
- :type mode: string
- :arg copy_subdir: the subdirectory of *base_dst* to use when mode='COPY'.
- :type copy_subdir: string
- :arg copy_set: collect from/to pairs when mode='COPY', pass to *path_reference_copy* when exportign is done.
- :type copy_set: set
- :return: the new filepath.
- :rtype: string
- """
- import os
- is_relative = filepath.startswith("//")
- filepath_abs = os.path.normpath(bpy.path.abspath(filepath, base_src))
-
- if mode in ('ABSOLUTE', 'RELATIVE', 'STRIP'):
- pass
- elif mode == 'MATCH':
- mode = 'RELATIVE' if is_relative else 'ABSOLUTE'
- elif mode == 'AUTO':
- mode = 'RELATIVE' if bpy.path.is_subdir(filepath, base_dst) else 'ABSOLUTE'
- elif mode == 'COPY':
- if copy_subdir:
- subdir_abs = os.path.join(os.path.normpath(base_dst), copy_subdir)
- else:
- subdir_abs = os.path.normpath(base_dst)
-
- filepath_cpy = os.path.join(subdir_abs, os.path.basename(filepath))
-
- copy_set.add((filepath_abs, filepath_cpy))
-
- filepath_abs = filepath_cpy
- mode = 'RELATIVE'
- else:
- Excaption("invalid mode given %r" % mode)
-
- if mode == 'ABSOLUTE':
- return filepath_abs
- elif mode == 'RELATIVE':
- return os.path.relpath(filepath_abs, base_dst)
- elif mode == 'STRIP':
- return os.path.basename(filepath_abs)
-
-
-def path_reference_copy(copy_set, report=print):
- """
- Execute copying files of path_reference
-
- :arg copy_set: set of (from, to) pairs to copy.
- :type copy_set: set
- :arg report: function used for reporting warnings, takes a string argument.
- :type report: function
- """
- if not copy_set:
- return
-
- import os
- import shutil
-
- for file_src, file_dst in copy_set:
- if not os.path.exists(file_src):
- report("missing %r, not copying" % file_src)
- elif os.path.exists(file_dst) and os.path.samefile(file_src, file_dst):
- pass
- else:
- dir_to = os.path.dirname(file_dst)
-
- if not os.path.isdir(dir_to):
- os.makedirs(dir_to)
-
- shutil.copy(file_src, file_dst)
diff --git a/release/scripts/modules/mesh_utils.py b/release/scripts/modules/mesh_utils.py
deleted file mode 100644
index 5bacff7b0cc..00000000000
--- a/release/scripts/modules/mesh_utils.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# ##### 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.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-# <pep8 compliant>
-
-
-def mesh_linked_faces(mesh):
- '''
- Splits the mesh into connected parts,
- these parts are returned as lists of faces.
- used for seperating cubes from other mesh elements in the 1 mesh
- '''
-
- # Build vert face connectivity
- vert_faces = [[] for i in range(len(mesh.vertices))]
- for f in mesh.faces:
- for v in f.vertices:
- vert_faces[v].append(f)
-
- # sort faces into connectivity groups
- face_groups = [[f] for f in mesh.faces]
- face_mapping = list(range(len(mesh.faces))) # map old, new face location
-
- # Now clump faces iterativly
- ok = True
- while ok:
- ok = False
-
- for i, f in enumerate(mesh.faces):
- mapped_index = face_mapping[f.index]
- mapped_group = face_groups[mapped_index]
-
- for v in f.vertices:
- for nxt_f in vert_faces[v]:
- if nxt_f != f:
- nxt_mapped_index = face_mapping[nxt_f.index]
-
- # We are not a part of the same group
- if mapped_index != nxt_mapped_index:
- ok = True
-
- # Assign mapping to this group so they all map to this group
- for grp_f in face_groups[nxt_mapped_index]:
- face_mapping[grp_f.index] = mapped_index
-
- # Move faces into this group
- mapped_group.extend(face_groups[nxt_mapped_index])
-
- # remove reference to the list
- face_groups[nxt_mapped_index] = None
-
- # return all face groups that are not null
- # this is all the faces that are connected in their own lists.
- return [fg for fg in face_groups if fg]
diff --git a/release/scripts/modules/rna_prop_ui.py b/release/scripts/modules/rna_prop_ui.py
index 9311987e2e7..388ae2b0e13 100644
--- a/release/scripts/modules/rna_prop_ui.py
+++ b/release/scripts/modules/rna_prop_ui.py
@@ -111,12 +111,16 @@ def draw(layout, context, context_member, property_type, use_edit=True):
continue
row = layout.row()
- convert_to_pyobject = getattr(val, "convert_to_pyobject", None)
-
- val_orig = val
- if convert_to_pyobject:
- val_draw = val = val.convert_to_pyobject()
- val_draw = str(val_draw)
+ to_dict = getattr(val, "to_dict", None)
+ to_list = getattr(val, "to_list", None)
+
+ # val_orig = val # UNUSED
+ if to_dict:
+ val = to_dict()
+ val_draw = str(val)
+ elif to_list:
+ val = to_list()
+ val_draw = str(val)
else:
val_draw = val
@@ -131,7 +135,7 @@ def draw(layout, context, context_member, property_type, use_edit=True):
row.label(text=key)
# explicit exception for arrays
- if convert_to_pyobject and not hasattr(val_orig, "len"):
+ if to_dict or to_list:
row.label(text=val_draw)
else:
if key in rna_properties:
diff --git a/release/scripts/startup/bl_operators/add_mesh_torus.py b/release/scripts/startup/bl_operators/add_mesh_torus.py
index 460330a56a1..27a6d21d519 100644
--- a/release/scripts/startup/bl_operators/add_mesh_torus.py
+++ b/release/scripts/startup/bl_operators/add_mesh_torus.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
import mathutils
@@ -40,8 +40,10 @@ def add_torus(major_rad, minor_rad, major_seg, minor_seg):
for minor_index in range(minor_seg):
angle = 2 * pi * minor_index / minor_seg
- vec = Vector((major_rad + (cos(angle) * minor_rad), 0.0,
- (sin(angle) * minor_rad))) * quat
+ vec = quat * Vector((major_rad + (cos(angle) * minor_rad),
+ 0.0,
+ (sin(angle) * minor_rad),
+ ))
verts.extend(vec[:])
@@ -72,7 +74,11 @@ def add_torus(major_rad, minor_rad, major_seg, minor_seg):
return verts, faces
-from bpy.props import FloatProperty, IntProperty, BoolProperty, FloatVectorProperty
+from bpy.props import (FloatProperty,
+ IntProperty,
+ BoolProperty,
+ FloatVectorProperty,
+ )
class AddTorus(bpy.types.Operator):
@@ -82,7 +88,8 @@ class AddTorus(bpy.types.Operator):
bl_options = {'REGISTER', 'UNDO'}
major_radius = FloatProperty(name="Major Radius",
- description="Radius from the origin to the center of the cross sections",
+ description=("Radius from the origin to the "
+ "center of the cross sections"),
default=1.0, min=0.01, max=100.0)
minor_radius = FloatProperty(name="Minor Radius",
description="Radius of the torus' cross section",
@@ -132,7 +139,7 @@ class AddTorus(bpy.types.Operator):
mesh.faces.foreach_set("vertices_raw", faces)
mesh.update()
- import add_object_utils
- add_object_utils.object_data_add(context, mesh, operator=self)
+ from bpy_extras import object_utils
+ object_utils.object_data_add(context, mesh, operator=self)
return {'FINISHED'}
diff --git a/release/scripts/startup/bl_operators/image.py b/release/scripts/startup/bl_operators/image.py
index 462db3a2c5e..23bafe2eaae 100644
--- a/release/scripts/startup/bl_operators/image.py
+++ b/release/scripts/startup/bl_operators/image.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
from bpy.props import StringProperty
@@ -28,7 +28,11 @@ class EditExternally(bpy.types.Operator):
bl_label = "Image Edit Externally"
bl_options = {'REGISTER'}
- filepath = StringProperty(name="File Path", description="Path to an image file", maxlen=1024, default="")
+ filepath = StringProperty(
+ name="File Path",
+ description="Path to an image file",
+ maxlen=1024,
+ )
def _editor_guess(self, context):
import sys
@@ -57,10 +61,13 @@ class EditExternally(bpy.types.Operator):
def execute(self, context):
import os
import subprocess
- filepath = bpy.path.abspath(self.filepath)
+ filepath = os.path.normpath(bpy.path.abspath(self.filepath))
if not os.path.exists(filepath):
- self.report({'ERROR'}, "Image path %r not found." % filepath)
+ self.report({'ERROR'},
+ "Image path %r not found, image may be packed or "
+ "unsaved." % filepath)
+
return {'CANCELLED'}
cmd = self._editor_guess(context) + [filepath]
@@ -70,7 +77,10 @@ class EditExternally(bpy.types.Operator):
except:
import traceback
traceback.print_exc()
- self.report({'ERROR'}, "Image editor not found, please specify in User Preferences > File")
+ self.report({'ERROR'},
+ "Image editor not found, "
+ "please specify in User Preferences > File")
+
return {'CANCELLED'}
return {'FINISHED'}
@@ -104,7 +114,9 @@ class SaveDirty(bpy.types.Operator):
if "\\" not in filepath and "/" not in filepath:
self.report({'WARNING'}, "Invalid path: " + filepath)
elif filepath in unique_paths:
- self.report({'WARNING'}, "Path used by more then one image: " + filepath)
+ self.report({'WARNING'},
+ "Path used by more then one image: %r" %
+ filepath)
else:
unique_paths.add(filepath)
image.save()
@@ -121,7 +133,6 @@ class ProjectEdit(bpy.types.Operator):
def execute(self, context):
import os
- import subprocess
EXT = "png" # could be made an option but for now ok
@@ -143,14 +154,14 @@ class ProjectEdit(bpy.types.Operator):
filepath = os.path.basename(bpy.data.filepath)
filepath = os.path.splitext(filepath)[0]
- # filepath = bpy.path.clean_name(filepath) # fixes <memory> rubbish, needs checking
+ # fixes <memory> rubbish, needs checking
+ # filepath = bpy.path.clean_name(filepath)
- if filepath.startswith(".") or filepath == "":
- # TODO, have a way to check if the file is saved, assume startup.blend
+ if bpy.data.is_saved:
+ filepath = "//" + filepath
+ else:
tmpdir = context.user_preferences.filepaths.temporary_directory
filepath = os.path.join(tmpdir, "project_edit")
- else:
- filepath = "//" + filepath
obj = context.object
@@ -164,7 +175,7 @@ class ProjectEdit(bpy.types.Operator):
filepath_final = filepath + ("%.3d.%s" % (i, EXT))
i += 1
- image_new.name = os.path.basename(filepath_final)
+ image_new.name = bpy.path.basename(filepath_final)
ProjectEdit._proj_hack[0] = image_new.name
image_new.filepath_raw = filepath_final # TODO, filepath raw is crummy
diff --git a/release/scripts/startup/bl_operators/mesh.py b/release/scripts/startup/bl_operators/mesh.py
index 44d81ba53df..344b238709f 100644
--- a/release/scripts/startup/bl_operators/mesh.py
+++ b/release/scripts/startup/bl_operators/mesh.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
@@ -36,6 +36,7 @@ class MeshSelectInteriorFaces(bpy.types.Operator):
return (ob and ob.type == 'MESH')
def execute(self, context):
+ from bpy_extras import mesh_utils
ob = context.active_object
context.tool_settings.mesh_select_mode = False, False, True
is_editmode = (ob.mode == 'EDIT')
@@ -47,7 +48,7 @@ class MeshSelectInteriorFaces(bpy.types.Operator):
face_list = mesh.faces[:]
face_edge_keys = [face.edge_keys for face in face_list]
- edge_face_count = mesh.edge_face_count_dict
+ edge_face_count = mesh_utils.edge_face_count_dict(mesh)
def test_interior(index):
for key in face_edge_keys[index]:
@@ -80,14 +81,12 @@ class MeshMirrorUV(bpy.types.Operator):
@classmethod
def poll(cls, context):
- ob = context.active_object
- return (ob and ob.type == 'MESH')
+ obj = context.active_object
+ return (obj and obj.type == 'MESH' and obj.data.uv_textures.active)
def execute(self, context):
DIR = (self.direction == 'NEGATIVE')
- from mathutils import Vector
-
ob = context.active_object
is_editmode = (ob.mode == 'EDIT')
if is_editmode:
@@ -112,21 +111,18 @@ class MeshMirrorUV(bpy.types.Operator):
#for i, v in enumerate(mesh.vertices):
vmap = {}
- for mirror_a, mirror_b in (mirror_gt, mirror_lt), (mirror_lt, mirror_gt):
+ for mirror_a, mirror_b in ((mirror_gt, mirror_lt),
+ (mirror_lt, mirror_gt)):
for co, i in mirror_a.items():
nco = (-co[0], co[1], co[2])
j = mirror_b.get(nco)
if j is not None:
vmap[i] = j
- active_uv_layer = None
- for lay in mesh.uv_textures:
- if lay.active:
- active_uv_layer = lay.data
- break
-
+ active_uv_layer = mesh.uv_textures.active.data
fuvs = [(uv.uv1, uv.uv2, uv.uv3, uv.uv4) for uv in active_uv_layer]
- fuvs_cpy = [(uv[0].copy(), uv[1].copy(), uv[2].copy(), uv[3].copy()) for uv in fuvs]
+ fuvs_cpy = [(uv[0].copy(), uv[1].copy(), uv[2].copy(), uv[3].copy())
+ for uv in fuvs]
# as a list
faces = mesh.faces[:]
@@ -151,7 +147,6 @@ class MeshMirrorUV(bpy.types.Operator):
if j is not None:
fmap[i] = j
- done = [False] * len(faces)
for i, j in fmap.items():
if not fuvsel[i] or not fuvsel[j]:
@@ -169,10 +164,10 @@ class MeshMirrorUV(bpy.types.Operator):
v1 = faces[j].vertices[:]
v2 = [vmap[k] for k in faces[i].vertices[:]]
- for k in range(len(uv1)):
- k_map = v1.index(v2[k])
- uv1[k].x = - (uv2[k_map].x - 0.5) + 0.5
- uv1[k].y = uv2[k_map].y
+ if len(v1) == len(v2):
+ for k in range(len(v1)):
+ k_map = v1.index(v2[k])
+ uv1[k].xy = - (uv2[k_map].x - 0.5) + 0.5, uv2[k_map].y
if is_editmode:
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
diff --git a/release/scripts/startup/bl_operators/nla.py b/release/scripts/startup/bl_operators/nla.py
index 923ca92a162..469e9015e62 100644
--- a/release/scripts/startup/bl_operators/nla.py
+++ b/release/scripts/startup/bl_operators/nla.py
@@ -16,17 +16,16 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
-def pose_info():
+def pose_frame_info(obj):
from mathutils import Matrix
info = {}
- obj = bpy.context.object
pose = obj.pose
pose_items = pose.bones.items()
@@ -51,7 +50,6 @@ def pose_info():
except:
binfo["matrix_pose_inv"] = Matrix()
- print(binfo["matrix_pose"])
info[name] = binfo
for name, pbone in pose_items:
@@ -67,45 +65,86 @@ def pose_info():
matrix = binfo_parent["matrix_pose_inv"] * matrix
rest_matrix = binfo_parent["matrix_local_inv"] * rest_matrix
- matrix = rest_matrix.inverted() * matrix
+ binfo["matrix_key"] = rest_matrix.inverted() * matrix
+
+ return info
- binfo["matrix_key"] = matrix.copy()
+def obj_frame_info(obj):
+ info = {}
+ # parent = obj.parent
+ info["matrix_key"] = obj.matrix_local.copy()
return info
-def bake(frame_start, frame_end, step=1, only_selected=False):
+def bake(frame_start,
+ frame_end, step=1,
+ only_selected=False,
+ do_pose=True,
+ do_object=True,
+ do_constraint_clear=False,
+ ):
+
scene = bpy.context.scene
obj = bpy.context.object
pose = obj.pose
+ frame_back = scene.frame_current
+
+ if pose is None:
+ do_pose = False
- info_ls = []
+ if do_pose is None and do_object is None:
+ return None
+
+ pose_info = []
+ obj_info = []
frame_range = range(frame_start, frame_end + 1, step)
- # could spped this up by applying steps here too...
+ # -------------------------------------------------------------------------
+ # Collect transformations
+
+ # could speed this up by applying steps here too...
for f in frame_range:
scene.frame_set(f)
- info = pose_info()
- info_ls.append(info)
+ if do_pose:
+ pose_info.append(pose_frame_info(obj))
+ if do_object:
+ obj_info.append(obj_frame_info(obj))
+
f += 1
+ # -------------------------------------------------------------------------
+ # Create action
+
+ # incase animation data hassnt been created
+ atd = obj.animation_data_create()
action = bpy.data.actions.new("Action")
+ atd.action = action
- bpy.context.object.animation_data.action = action
+ if do_pose:
+ pose_items = pose.bones.items()
+ else:
+ pose_items = [] # skip
- pose_items = pose.bones.items()
+ # -------------------------------------------------------------------------
+ # Apply transformations to action
- for name, pbone in pose_items:
+ # pose
+ for name, pbone in (pose_items if do_pose else ()):
if only_selected and not pbone.bone.select:
continue
+ if do_constraint_clear:
+ while pbone.constraints:
+ pbone.constraints.remove(pbone.constraints[0])
+
for f in frame_range:
- matrix = info_ls[int((f - frame_start) / step)][name]["matrix_key"]
+ matrix = pose_info[(f - frame_start) // step][name]["matrix_key"]
- #pbone.location = matrix.to_translation()
- #pbone.rotation_quaternion = matrix.to_quaternion()
+ # pbone.location = matrix.to_translation()
+ # pbone.rotation_quaternion = matrix.to_quaternion()
pbone.matrix_basis = matrix
pbone.keyframe_insert("location", -1, f, name)
@@ -121,10 +160,35 @@ def bake(frame_start, frame_end, step=1, only_selected=False):
pbone.keyframe_insert("scale", -1, f, name)
+ # object. TODO. multiple objects
+ if do_object:
+ if do_constraint_clear:
+ while obj.constraints:
+ obj.constraints.remove(obj.constraints[0])
+
+ for f in frame_range:
+ matrix = obj_info[(f - frame_start) // step]["matrix_key"]
+ obj.matrix_local = matrix
+
+ obj.keyframe_insert("location", -1, f)
+
+ rotation_mode = obj.rotation_mode
+
+ if rotation_mode == 'QUATERNION':
+ obj.keyframe_insert("rotation_quaternion", -1, f)
+ elif rotation_mode == 'AXIS_ANGLE':
+ obj.keyframe_insert("rotation_axis_angle", -1, f)
+ else: # euler, XYZ, ZXY etc
+ obj.keyframe_insert("rotation_euler", -1, f)
+
+ obj.keyframe_insert("scale", -1, f)
+
+ scene.frame_set(frame_back)
+
return action
-from bpy.props import IntProperty, BoolProperty
+from bpy.props import IntProperty, BoolProperty, EnumProperty
class BakeAction(bpy.types.Operator):
@@ -144,10 +208,31 @@ class BakeAction(bpy.types.Operator):
default=1, min=1, max=120)
only_selected = BoolProperty(name="Only Selected",
default=True)
+ clear_consraints = BoolProperty(name="Clear Constraints",
+ default=False)
+ bake_types = EnumProperty(
+ name="Bake Data",
+ options={'ENUM_FLAG'},
+ items=(('POSE', "Pose", ""),
+ ('OBJECT', "Object", ""),
+ ),
+ default={'POSE'},
+ )
def execute(self, context):
- action = bake(self.frame_start, self.frame_end, self.step, self.only_selected)
+ action = bake(self.frame_start,
+ self.frame_end,
+ self.step,
+ self.only_selected,
+ 'POSE' in self.bake_types,
+ 'OBJECT' in self.bake_types,
+ self.clear_consraints,
+ )
+
+ if action is None:
+ self.report({'INFO'}, "Nothing to bake")
+ return {'CANCELLED'}
# basic cleanup, could move elsewhere
for fcu in action.fcurves:
diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py
index 0342a14a1b2..627a1530fe1 100644
--- a/release/scripts/startup/bl_operators/object.py
+++ b/release/scripts/startup/bl_operators/object.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
from bpy.props import StringProperty, BoolProperty, EnumProperty, IntProperty
@@ -28,9 +28,22 @@ class SelectPattern(bpy.types.Operator):
bl_label = "Select Pattern"
bl_options = {'REGISTER', 'UNDO'}
- pattern = StringProperty(name="Pattern", description="Name filter using '*' and '?' wildcard chars", maxlen=32, default="*")
- case_sensitive = BoolProperty(name="Case Sensitive", description="Do a case sensitive compare", default=False)
- extend = BoolProperty(name="Extend", description="Extend the existing selection", default=True)
+ pattern = StringProperty(
+ name="Pattern",
+ description="Name filter using '*' and '?' wildcard chars",
+ maxlen=32,
+ default="*",
+ )
+ case_sensitive = BoolProperty(
+ name="Case Sensitive",
+ description="Do a case sensitive compare",
+ default=False,
+ )
+ extend = BoolProperty(
+ name="Extend",
+ description="Extend the existing selection",
+ default=True,
+ )
def execute(self, context):
@@ -39,22 +52,37 @@ class SelectPattern(bpy.types.Operator):
if self.case_sensitive:
pattern_match = fnmatch.fnmatchcase
else:
- pattern_match = lambda a, b: fnmatch.fnmatchcase(a.upper(), b.upper())
-
+ pattern_match = (lambda a, b:
+ fnmatch.fnmatchcase(a.upper(), b.upper()))
+ is_ebone = False
obj = context.object
if obj and obj.mode == 'POSE':
items = obj.data.bones
+ if not self.extend:
+ bpy.ops.pose.select_all(action='DESELECT')
elif obj and obj.type == 'ARMATURE' and obj.mode == 'EDIT':
items = obj.data.edit_bones
+ if not self.extend:
+ bpy.ops.armature.select_all(action='DESELECT')
+ is_ebone = True
else:
items = context.visible_objects
+ if not self.extend:
+ bpy.ops.object.select_all(action='DESELECT')
# Can be pose bones or objects
for item in items:
if pattern_match(item.name, self.pattern):
item.select = True
- elif not self.extend:
- item.select = False
+
+ # hrmf, perhaps there should be a utility function for this.
+ if is_ebone:
+ item.select_head = True
+ item.select_tail = True
+ if item.use_connect:
+ item_parent = item.parent
+ if item_parent is not None:
+ item_parent.select_tail = True
return {'FINISHED'}
@@ -93,19 +121,25 @@ class SelectCamera(bpy.types.Operator):
class SelectHierarchy(bpy.types.Operator):
- '''Select object relative to the active objects position in the hierarchy'''
+ '''Select object relative to the active objects position''' \
+ '''in the hierarchy'''
bl_idname = "object.select_hierarchy"
bl_label = "Select Hierarchy"
bl_options = {'REGISTER', 'UNDO'}
- direction = EnumProperty(items=(
- ('PARENT', "Parent", ""),
- ('CHILD', "Child", "")),
- name="Direction",
- description="Direction to select in the hierarchy",
- default='PARENT')
+ direction = EnumProperty(
+ items=(('PARENT', "Parent", ""),
+ ('CHILD', "Child", ""),
+ ),
+ name="Direction",
+ description="Direction to select in the hierarchy",
+ default='PARENT')
- extend = BoolProperty(name="Extend", description="Extend the existing selection", default=False)
+ extend = BoolProperty(
+ name="Extend",
+ description="Extend the existing selection",
+ default=False,
+ )
@classmethod
def poll(cls, context):
@@ -163,7 +197,12 @@ class SubdivisionSet(bpy.types.Operator):
level = IntProperty(name="Level",
default=1, min=-100, max=100, soft_min=-6, soft_max=6)
- relative = BoolProperty(name="Relative", description="Apply the subsurf level as an offset relative to the current level", default=False)
+ relative = BoolProperty(
+ name="Relative",
+ description=("Apply the subsurf level as an offset "
+ "relative to the current level"),
+ default=False,
+ )
@classmethod
def poll(cls, context):
@@ -215,7 +254,8 @@ class SubdivisionSet(bpy.types.Operator):
mod = obj.modifiers.new("Subsurf", 'SUBSURF')
mod.levels = level
except:
- self.report({'WARNING'}, "Modifiers cannot be added to object: " + obj.name)
+ self.report({'WARNING'},
+ "Modifiers cannot be added to object: " + obj.name)
for obj in context.selected_editable_objects:
set_object_subd(obj)
@@ -224,23 +264,37 @@ class SubdivisionSet(bpy.types.Operator):
class ShapeTransfer(bpy.types.Operator):
- '''Copy another selected objects active shape to this one by applying the relative offsets'''
+ '''Copy another selected objects active shape to this one by ''' \
+ '''applying the relative offsets'''
bl_idname = "object.shape_key_transfer"
bl_label = "Transfer Shape Key"
bl_options = {'REGISTER', 'UNDO'}
- mode = EnumProperty(items=(
- ('OFFSET', "Offset", "Apply the relative positional offset"),
- ('RELATIVE_FACE', "Relative Face", "Calculate the geometricly relative position (using faces)."),
- ('RELATIVE_EDGE', "Relative Edge", "Calculate the geometricly relative position (using edges).")),
- name="Transformation Mode",
- description="Method to apply relative shape positions to the new shape",
- default='OFFSET')
-
- use_clamp = BoolProperty(name="Clamp Offset",
- description="Clamp the transformation to the distance each vertex moves in the original shape.",
- default=False)
+ mode = EnumProperty(
+ items=(('OFFSET',
+ "Offset",
+ "Apply the relative positional offset",
+ ),
+ ('RELATIVE_FACE',
+ "Relative Face",
+ "Calculate relative position (using faces).",
+ ),
+ ('RELATIVE_EDGE',
+ "Relative Edge",
+ "Calculate relative position (using edges).",
+ ),
+ ),
+ name="Transformation Mode",
+ description="Relative shape positions to the new shape method",
+ default='OFFSET',
+ )
+ use_clamp = BoolProperty(
+ name="Clamp Offset",
+ description=("Clamp the transformation to the distance each "
+ "vertex moves in the original shape."),
+ default=False,
+ )
def _main(self, ob_act, objects, mode='OFFSET', use_clamp=False):
@@ -272,13 +326,16 @@ class ShapeTransfer(bpy.types.Operator):
orig_shape_coords = me_cos(ob_act.active_shape_key.data)
orig_normals = me_nos(me.vertices)
- # orig_coords = me_cos(me.vertices) # the actual mverts location isnt as relyable as the base shape :S
+ # the actual mverts location isnt as relyable as the base shape :S
+ # orig_coords = me_cos(me.vertices)
orig_coords = me_cos(me.shape_keys.key_blocks[0].data)
for ob_other in objects:
me_other = ob_other.data
if len(me_other.vertices) != len(me.vertices):
- self.report({'WARNING'}, "Skipping '%s', vertex count differs" % ob_other.name)
+ self.report({'WARNING'},
+ ("Skipping '%s', "
+ "vertex count differs") % ob_other.name)
continue
target_normals = me_nos(me_other.vertices)
@@ -290,53 +347,90 @@ class ShapeTransfer(bpy.types.Operator):
ob_add_shape(ob_other, orig_key_name)
# editing the final coords, only list that stores wrapped coords
- target_shape_coords = [v.co for v in ob_other.active_shape_key.data]
+ target_shape_coords = [v.co for v in
+ ob_other.active_shape_key.data]
median_coords = [[] for i in range(len(me.vertices))]
# Method 1, edge
if mode == 'OFFSET':
for i, vert_cos in enumerate(median_coords):
- vert_cos.append(target_coords[i] + (orig_shape_coords[i] - orig_coords[i]))
+ vert_cos.append(target_coords[i] +
+ (orig_shape_coords[i] - orig_coords[i]))
elif mode == 'RELATIVE_FACE':
for face in me.faces:
i1, i2, i3, i4 = face.vertices_raw
if i4 != 0:
pt = barycentric_transform(orig_shape_coords[i1],
- orig_coords[i4], orig_coords[i1], orig_coords[i2],
- target_coords[i4], target_coords[i1], target_coords[i2])
+ orig_coords[i4],
+ orig_coords[i1],
+ orig_coords[i2],
+ target_coords[i4],
+ target_coords[i1],
+ target_coords[i2],
+ )
median_coords[i1].append(pt)
pt = barycentric_transform(orig_shape_coords[i2],
- orig_coords[i1], orig_coords[i2], orig_coords[i3],
- target_coords[i1], target_coords[i2], target_coords[i3])
+ orig_coords[i1],
+ orig_coords[i2],
+ orig_coords[i3],
+ target_coords[i1],
+ target_coords[i2],
+ target_coords[i3],
+ )
median_coords[i2].append(pt)
pt = barycentric_transform(orig_shape_coords[i3],
- orig_coords[i2], orig_coords[i3], orig_coords[i4],
- target_coords[i2], target_coords[i3], target_coords[i4])
+ orig_coords[i2],
+ orig_coords[i3],
+ orig_coords[i4],
+ target_coords[i2],
+ target_coords[i3],
+ target_coords[i4],
+ )
median_coords[i3].append(pt)
pt = barycentric_transform(orig_shape_coords[i4],
- orig_coords[i3], orig_coords[i4], orig_coords[i1],
- target_coords[i3], target_coords[i4], target_coords[i1])
+ orig_coords[i3],
+ orig_coords[i4],
+ orig_coords[i1],
+ target_coords[i3],
+ target_coords[i4],
+ target_coords[i1],
+ )
median_coords[i4].append(pt)
else:
pt = barycentric_transform(orig_shape_coords[i1],
- orig_coords[i3], orig_coords[i1], orig_coords[i2],
- target_coords[i3], target_coords[i1], target_coords[i2])
+ orig_coords[i3],
+ orig_coords[i1],
+ orig_coords[i2],
+ target_coords[i3],
+ target_coords[i1],
+ target_coords[i2],
+ )
median_coords[i1].append(pt)
pt = barycentric_transform(orig_shape_coords[i2],
- orig_coords[i1], orig_coords[i2], orig_coords[i3],
- target_coords[i1], target_coords[i2], target_coords[i3])
+ orig_coords[i1],
+ orig_coords[i2],
+ orig_coords[i3],
+ target_coords[i1],
+ target_coords[i2],
+ target_coords[i3],
+ )
median_coords[i2].append(pt)
pt = barycentric_transform(orig_shape_coords[i3],
- orig_coords[i2], orig_coords[i3], orig_coords[i1],
- target_coords[i2], target_coords[i3], target_coords[i1])
+ orig_coords[i2],
+ orig_coords[i3],
+ orig_coords[i1],
+ target_coords[i2],
+ target_coords[i3],
+ target_coords[i1],
+ )
median_coords[i3].append(pt)
elif mode == 'RELATIVE_EDGE':
@@ -374,7 +468,8 @@ class ShapeTransfer(bpy.types.Operator):
if use_clamp:
# clamp to the same movement as the original
# breaks copy between different scaled meshes.
- len_from = (orig_shape_coords[i] - orig_coords[i]).length
+ len_from = (orig_shape_coords[i] -
+ orig_coords[i]).length
ofs = co - target_coords[i]
ofs.length = len_from
co = target_coords[i] + ofs
@@ -395,7 +490,10 @@ class ShapeTransfer(bpy.types.Operator):
if 1: # swap from/to, means we cant copy to many at once.
if len(objects) != 1:
- self.report({'ERROR'}, "Expected one other selected mesh object to copy from")
+ self.report({'ERROR'},
+ ("Expected one other selected "
+ "mesh object to copy from"))
+
return {'CANCELLED'}
ob_act, objects = objects[0], [ob_act]
@@ -429,11 +527,14 @@ class JoinUVs(bpy.types.Operator):
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
if not mesh.uv_textures:
- self.report({'WARNING'}, "Object: %s, Mesh: '%s' has no UVs\n" % (obj.name, mesh.name))
+ self.report({'WARNING'},
+ "Object: %s, Mesh: '%s' has no UVs"
+ % (obj.name, mesh.name))
else:
len_faces = len(mesh.faces)
- uv_array = array.array('f', [0.0] * 8) * len_faces # seems to be the fastest way to create an array
+ # seems to be the fastest way to create an array
+ uv_array = array.array('f', [0.0] * 8) * len_faces
mesh.uv_textures.active.data.foreach_get("uv_raw", uv_array)
objects = context.selected_editable_objects[:]
@@ -450,11 +551,18 @@ class JoinUVs(bpy.types.Operator):
mesh_other.tag = True
if len(mesh_other.faces) != len_faces:
- self.report({'WARNING'}, "Object: %s, Mesh: '%s' has %d faces, expected %d\n" % (obj_other.name, mesh_other.name, len(mesh_other.faces), len_faces))
+ self.report({'WARNING'}, "Object: %s, Mesh: "
+ "'%s' has %d faces, expected %d\n"
+ % (obj_other.name,
+ mesh_other.name,
+ len(mesh_other.faces),
+ len_faces),
+ )
else:
uv_other = mesh_other.uv_textures.active
if not uv_other:
- uv_other = mesh_other.uv_textures.new() # should return the texture it adds
+ # should return the texture it adds
+ uv_other = mesh_other.uv_textures.new()
# finally do the copy
uv_other.data.foreach_set("uv_raw", uv_array)
@@ -482,14 +590,18 @@ class MakeDupliFace(bpy.types.Operator):
SCALE_FAC = 0.01
offset = 0.5 * SCALE_FAC
- base_tri = Vector((-offset, -offset, 0.0)), Vector((offset, -offset, 0.0)), Vector((offset, offset, 0.0)), Vector((-offset, offset, 0.0))
+ base_tri = (Vector((-offset, -offset, 0.0)),
+ Vector((+offset, -offset, 0.0)),
+ Vector((+offset, +offset, 0.0)),
+ Vector((-offset, +offset, 0.0)),
+ )
def matrix_to_quat(matrix):
# scale = matrix.median_scale
trans = matrix.to_translation()
rot = matrix.to_3x3() # also contains scale
- return [(b * rot) + trans for b in base_tri]
+ return [(rot * b) + trans for b in base_tri]
scene = bpy.context.scene
linked = {}
for obj in bpy.context.selected_objects:
@@ -498,7 +610,10 @@ class MakeDupliFace(bpy.types.Operator):
linked.setdefault(data, []).append(obj)
for data, objects in linked.items():
- face_verts = [axis for obj in objects for v in matrix_to_quat(obj.matrix_world) for axis in v]
+ face_verts = [axis for obj in objects
+ for v in matrix_to_quat(obj.matrix_world)
+ for axis in v]
+
faces = list(range(len(face_verts) // 3))
mesh = bpy.data.meshes.new(data.name + "_dupli")
@@ -535,7 +650,8 @@ class MakeDupliFace(bpy.types.Operator):
class IsolateTypeRender(bpy.types.Operator):
- '''Hide unselected render objects of same type as active by setting the hide render flag'''
+ '''Hide unselected render objects of same type as active ''' \
+ '''by setting the hide render flag'''
bl_idname = "object.isolate_type_render"
bl_label = "Restrict Render Unselected"
bl_options = {'REGISTER', 'UNDO'}
diff --git a/release/scripts/startup/bl_operators/object_align.py b/release/scripts/startup/bl_operators/object_align.py
index 644f30a4745..7fd769c40c9 100644
--- a/release/scripts/startup/bl_operators/object_align.py
+++ b/release/scripts/startup/bl_operators/object_align.py
@@ -16,106 +16,212 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
from mathutils import Vector
-def align_objects(align_x, align_y, align_z, align_mode, relative_to):
+def GlobalBB_LQ(bb_world):
+
+ # Initialize the variables with the 8th vertex
+ left, right, front, back, down, up = (bb_world[7][0],
+ bb_world[7][0],
+ bb_world[7][1],
+ bb_world[7][1],
+ bb_world[7][2],
+ bb_world[7][2],
+ )
+
+ # Test against the other 7 verts
+ for i in range(7):
+
+ # X Range
+ val = bb_world[i][0]
+ if val < left:
+ left = val
+
+ if val > right:
+ right = val
+
+ # Y Range
+ val = bb_world[i][1]
+ if val < front:
+ front = val
+
+ if val > back:
+ back = val
+
+ # Z Range
+ val = bb_world[i][2]
+ if val < down:
+ down = val
+
+ if val > up:
+ up = val
+
+ return (Vector((left, front, up)), Vector((right, back, down)))
+
+
+def GlobalBB_HQ(obj):
+
+ matrix_world = obj.matrix_world.copy()
+
+ # Initialize the variables with the last vertex
+
+ verts = obj.data.vertices
+
+ val = matrix_world * verts[-1].co
+
+ left, right, front, back, down, up = (val[0],
+ val[0],
+ val[1],
+ val[1],
+ val[2],
+ val[2],
+ )
+
+ # Test against all other verts
+ for i in range(len(verts) - 1):
+
+ vco = matrix_world * verts[i].co
+
+ # X Range
+ val = vco[0]
+ if val < left:
+ left = val
+
+ if val > right:
+ right = val
+
+ # Y Range
+ val = vco[1]
+ if val < front:
+ front = val
+
+ if val > back:
+ back = val
+
+ # Z Range
+ val = vco[2]
+ if val < down:
+ down = val
+
+ if val > up:
+ up = val
+
+ return Vector((left, front, up)), Vector((right, back, down))
+
+
+def align_objects(align_x,
+ align_y,
+ align_z,
+ align_mode,
+ relative_to,
+ bb_quality):
cursor = bpy.context.scene.cursor_location
- Left_Up_Front_SEL = [0.0, 0.0, 0.0]
- Right_Down_Back_SEL = [0.0, 0.0, 0.0]
+ Left_Front_Up_SEL = [0.0, 0.0, 0.0]
+ Right_Back_Down_SEL = [0.0, 0.0, 0.0]
flag_first = True
objs = []
for obj in bpy.context.selected_objects:
- matrix_world = obj.matrix_world
- bb_world = [Vector(v[:]) * matrix_world for v in obj.bound_box]
+ matrix_world = obj.matrix_world.copy()
+ bb_world = [matrix_world * Vector(v[:]) for v in obj.bound_box]
objs.append((obj, bb_world))
if not objs:
return False
for obj, bb_world in objs:
- Left_Up_Front = bb_world[1]
- Right_Down_Back = bb_world[7]
+
+ if bb_quality:
+ GBB = GlobalBB_HQ(obj)
+ else:
+ GBB = GlobalBB_LQ(bb_world)
+
+ Left_Front_Up = GBB[0]
+ Right_Back_Down = GBB[1]
# Active Center
if obj == bpy.context.active_object:
- center_active_x = (Left_Up_Front[0] + Right_Down_Back[0]) / 2.0
- center_active_y = (Left_Up_Front[1] + Right_Down_Back[1]) / 2.0
- center_active_z = (Left_Up_Front[2] + Right_Down_Back[2]) / 2.0
+ center_active_x = (Left_Front_Up[0] + Right_Back_Down[0]) / 2.0
+ center_active_y = (Left_Front_Up[1] + Right_Back_Down[1]) / 2.0
+ center_active_z = (Left_Front_Up[2] + Right_Back_Down[2]) / 2.0
- size_active_x = (Right_Down_Back[0] - Left_Up_Front[0]) / 2.0
- size_active_y = (Right_Down_Back[1] - Left_Up_Front[1]) / 2.0
- size_active_z = (Left_Up_Front[2] - Right_Down_Back[2]) / 2.0
+ size_active_x = (Right_Back_Down[0] - Left_Front_Up[0]) / 2.0
+ size_active_y = (Right_Back_Down[1] - Left_Front_Up[1]) / 2.0
+ size_active_z = (Left_Front_Up[2] - Right_Back_Down[2]) / 2.0
# Selection Center
if flag_first:
flag_first = False
- Left_Up_Front_SEL[0] = Left_Up_Front[0]
- Left_Up_Front_SEL[1] = Left_Up_Front[1]
- Left_Up_Front_SEL[2] = Left_Up_Front[2]
+ Left_Front_Up_SEL[0] = Left_Front_Up[0]
+ Left_Front_Up_SEL[1] = Left_Front_Up[1]
+ Left_Front_Up_SEL[2] = Left_Front_Up[2]
- Right_Down_Back_SEL[0] = Right_Down_Back[0]
- Right_Down_Back_SEL[1] = Right_Down_Back[1]
- Right_Down_Back_SEL[2] = Right_Down_Back[2]
+ Right_Back_Down_SEL[0] = Right_Back_Down[0]
+ Right_Back_Down_SEL[1] = Right_Back_Down[1]
+ Right_Back_Down_SEL[2] = Right_Back_Down[2]
else:
# X axis
- if Left_Up_Front[0] < Left_Up_Front_SEL[0]:
- Left_Up_Front_SEL[0] = Left_Up_Front[0]
+ if Left_Front_Up[0] < Left_Front_Up_SEL[0]:
+ Left_Front_Up_SEL[0] = Left_Front_Up[0]
# Y axis
- if Left_Up_Front[1] < Left_Up_Front_SEL[1]:
- Left_Up_Front_SEL[1] = Left_Up_Front[1]
+ if Left_Front_Up[1] < Left_Front_Up_SEL[1]:
+ Left_Front_Up_SEL[1] = Left_Front_Up[1]
# Z axis
- if Left_Up_Front[2] > Left_Up_Front_SEL[2]:
- Left_Up_Front_SEL[2] = Left_Up_Front[2]
+ if Left_Front_Up[2] > Left_Front_Up_SEL[2]:
+ Left_Front_Up_SEL[2] = Left_Front_Up[2]
# X axis
- if Right_Down_Back[0] > Right_Down_Back_SEL[0]:
- Right_Down_Back_SEL[0] = Right_Down_Back[0]
+ if Right_Back_Down[0] > Right_Back_Down_SEL[0]:
+ Right_Back_Down_SEL[0] = Right_Back_Down[0]
# Y axis
- if Right_Down_Back[1] > Right_Down_Back_SEL[1]:
- Right_Down_Back_SEL[1] = Right_Down_Back[1]
+ if Right_Back_Down[1] > Right_Back_Down_SEL[1]:
+ Right_Back_Down_SEL[1] = Right_Back_Down[1]
# Z axis
- if Right_Down_Back[2] < Right_Down_Back_SEL[2]:
- Right_Down_Back_SEL[2] = Right_Down_Back[2]
+ if Right_Back_Down[2] < Right_Back_Down_SEL[2]:
+ Right_Back_Down_SEL[2] = Right_Back_Down[2]
- center_sel_x = (Left_Up_Front_SEL[0] + Right_Down_Back_SEL[0]) / 2.0
- center_sel_y = (Left_Up_Front_SEL[1] + Right_Down_Back_SEL[1]) / 2.0
- center_sel_z = (Left_Up_Front_SEL[2] + Right_Down_Back_SEL[2]) / 2.0
+ center_sel_x = (Left_Front_Up_SEL[0] + Right_Back_Down_SEL[0]) / 2.0
+ center_sel_y = (Left_Front_Up_SEL[1] + Right_Back_Down_SEL[1]) / 2.0
+ center_sel_z = (Left_Front_Up_SEL[2] + Right_Back_Down_SEL[2]) / 2.0
# Main Loop
for obj, bb_world in objs:
+ matrix_world = obj.matrix_world.copy()
+ bb_world = [matrix_world * Vector(v[:]) for v in obj.bound_box]
- loc_world = obj.location
- bb_world = [Vector(v[:]) * obj.matrix_world for v in obj.bound_box]
+ if bb_quality:
+ GBB = GlobalBB_HQ(obj)
+ else:
+ GBB = GlobalBB_LQ(bb_world)
- Left_Up_Front = bb_world[1]
- Right_Down_Back = bb_world[7]
+ Left_Front_Up = GBB[0]
+ Right_Back_Down = GBB[1]
- center_x = (Left_Up_Front[0] + Right_Down_Back[0]) / 2.0
- center_y = (Left_Up_Front[1] + Right_Down_Back[1]) / 2.0
- center_z = (Left_Up_Front[2] + Right_Down_Back[2]) / 2.0
+ center_x = (Left_Front_Up[0] + Right_Back_Down[0]) / 2.0
+ center_y = (Left_Front_Up[1] + Right_Back_Down[1]) / 2.0
+ center_z = (Left_Front_Up[2] + Right_Back_Down[2]) / 2.0
- positive_x = Right_Down_Back[0]
- positive_y = Right_Down_Back[1]
- positive_z = Left_Up_Front[2]
+ positive_x = Right_Back_Down[0]
+ positive_y = Right_Back_Down[1]
+ positive_z = Left_Front_Up[2]
- negative_x = Left_Up_Front[0]
- negative_y = Left_Up_Front[1]
- negative_z = Right_Down_Back[2]
+ negative_x = Left_Front_Up[0]
+ negative_y = Left_Front_Up[1]
+ negative_z = Right_Back_Down[2]
obj_loc = obj.location
@@ -230,7 +336,7 @@ def align_objects(align_x, align_y, align_z, align_mode, relative_to):
return True
-from bpy.props import EnumProperty
+from bpy.props import EnumProperty, BoolProperty
class AlignObjects(bpy.types.Operator):
@@ -239,6 +345,13 @@ class AlignObjects(bpy.types.Operator):
bl_label = "Align Objects"
bl_options = {'REGISTER', 'UNDO'}
+ bb_quality = BoolProperty(
+ name="High Quality",
+ description=("Enables high quality calculation of the "
+ "bounding box for perfect results on complex "
+ "shape meshes with rotation/scale (Slow)"),
+ default=True)
+
align_mode = EnumProperty(items=(
('OPT_1', "Negative Sides", ""),
('OPT_2', "Centers", ""),
@@ -271,7 +384,12 @@ class AlignObjects(bpy.types.Operator):
def execute(self, context):
align_axis = self.align_axis
- ret = align_objects('X' in align_axis, 'Y' in align_axis, 'Z' in align_axis, self.align_mode, self.relative_to)
+ ret = align_objects('X' in align_axis,
+ 'Y' in align_axis,
+ 'Z' in align_axis,
+ self.align_mode,
+ self.relative_to,
+ self.bb_quality)
if not ret:
self.report({'WARNING'}, "No objects with bound-box selected")
diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py
index 21640fa3ee6..ef10bfd737d 100644
--- a/release/scripts/startup/bl_operators/object_quick_effects.py
+++ b/release/scripts/startup/bl_operators/object_quick_effects.py
@@ -16,16 +16,38 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
from mathutils import Vector
import bpy
-from bpy.props import BoolProperty, EnumProperty, IntProperty, FloatProperty, FloatVectorProperty
+from bpy.props import (BoolProperty,
+ EnumProperty,
+ IntProperty,
+ FloatProperty,
+ FloatVectorProperty,
+ )
+
+
+def object_ensure_material(obj, mat_name):
+ """ Use an existing material or add a new one.
+ """
+ mat = mat_slot = None
+ for mat_slot in obj.material_slots:
+ mat = mat_slot.material
+ if mat:
+ break
+ if mat is None:
+ mat = bpy.data.materials.new(mat_name)
+ if mat_slot:
+ mat_slot.material = mat
+ else:
+ obj.data.materials.append(mat)
+ return mat
-class MakeFur(bpy.types.Operator):
- bl_idname = "object.make_fur"
- bl_label = "Make Fur"
+class QuickFur(bpy.types.Operator):
+ bl_idname = "object.quick_fur"
+ bl_label = "Quick Fur"
bl_options = {'REGISTER', 'UNDO'}
density = EnumProperty(items=(
@@ -44,7 +66,8 @@ class MakeFur(bpy.types.Operator):
def execute(self, context):
fake_context = bpy.context.copy()
- mesh_objects = [obj for obj in context.selected_objects if obj.type == 'MESH']
+ mesh_objects = [obj for obj in context.selected_objects
+ if obj.type == 'MESH']
if not mesh_objects:
self.report({'ERROR'}, "Select at least one mesh object.")
@@ -75,14 +98,164 @@ class MakeFur(bpy.types.Operator):
psys.settings.child_type = 'INTERPOLATED'
obj.data.materials.append(mat)
- obj.particle_systems[-1].settings.material = len(obj.data.materials)
+ obj.particle_systems[-1].settings.material = \
+ len(obj.data.materials)
return {'FINISHED'}
+class QuickExplode(bpy.types.Operator):
+ bl_idname = "object.quick_explode"
+ bl_label = "Quick Explode"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ style = EnumProperty(items=(
+ ('EXPLODE', "Explode", ""),
+ ('BLEND', "Blend", "")),
+ name="Explode Style",
+ description="",
+ default='EXPLODE')
+
+ amount = IntProperty(name="Amount of pieces",
+ default=100, min=2, max=10000, soft_min=2, soft_max=10000)
+
+ frame_duration = IntProperty(name="Duration",
+ default=50, min=1, max=300000, soft_min=1, soft_max=10000)
+
+ frame_start = IntProperty(name="Start Frame",
+ default=1, min=1, max=300000, soft_min=1, soft_max=10000)
+
+ frame_end = IntProperty(name="End Frame",
+ default=10, min=1, max=300000, soft_min=1, soft_max=10000)
+
+ velocity = FloatProperty(name="Outwards Velocity",
+ default=1, min=0, max=300000, soft_min=0, soft_max=10)
+
+ fade = BoolProperty(name="Fade",
+ description="Fade the pieces over time.",
+ default=True)
+
+ def execute(self, context):
+ fake_context = bpy.context.copy()
+ obj_act = context.active_object
+
+ if obj_act is None or obj_act.type != 'MESH':
+ self.report({'ERROR'}, "Active object is not a mesh")
+ return {'CANCELLED'}
+
+ mesh_objects = [obj for obj in context.selected_objects
+ if obj.type == 'MESH' and obj != obj_act]
+ mesh_objects.insert(0, obj_act)
+
+ if self.style == 'BLEND' and len(mesh_objects) != 2:
+ self.report({'ERROR'}, "Select two mesh objects")
+ return {'CANCELLED'}
+ elif not mesh_objects:
+ self.report({'ERROR'}, "Select at least one mesh object")
+ return {'CANCELLED'}
+
+ for obj in mesh_objects:
+ if obj.particle_systems:
+ self.report({'ERROR'},
+ "Object %r already has a "
+ "particle system" % obj.name)
+
+ return {'CANCELLED'}
+
+ if self.fade:
+ tex = bpy.data.textures.new("Explode fade", 'BLEND')
+ tex.use_color_ramp = True
+
+ if self.style == 'BLEND':
+ tex.color_ramp.elements[0].position = 0.333
+ tex.color_ramp.elements[1].position = 0.666
+
+ tex.color_ramp.elements[0].color[3] = 1.0
+ tex.color_ramp.elements[1].color[3] = 0.0
+
+ if self.style == 'BLEND':
+ from_obj = mesh_objects[1]
+ to_obj = mesh_objects[0]
+
+ for obj in mesh_objects:
+ fake_context["object"] = obj
+ bpy.ops.object.particle_system_add(fake_context)
+
+ settings = obj.particle_systems[-1].settings
+ settings.count = self.amount
+ settings.frame_start = self.frame_start
+ settings.frame_end = self.frame_end - self.frame_duration
+ settings.lifetime = self.frame_duration
+ settings.normal_factor = self.velocity
+ settings.render_type = 'NONE'
+
+ explode = obj.modifiers.new(name='Explode', type='EXPLODE')
+ explode.use_edge_cut = True
+
+ if self.fade:
+ explode.show_dead = False
+ uv = obj.data.uv_textures.new("Explode fade")
+ explode.particle_uv = uv.name
+
+ mat = object_ensure_material(obj, "Explode Fade")
+
+ mat.use_transparency = True
+ mat.use_transparent_shadows = True
+ mat.alpha = 0.0
+ mat.specular_alpha = 0.0
+
+ tex_slot = mat.texture_slots.add()
+
+ tex_slot.texture = tex
+ tex_slot.texture_coords = 'UV'
+ tex_slot.uv_layer = uv.name
+
+ tex_slot.use_map_alpha = True
+
+ if self.style == 'BLEND':
+ if obj == to_obj:
+ tex_slot.alpha_factor = -1.0
+ elem = tex.color_ramp.elements[1]
+ elem.color = mat.diffuse_color
+ else:
+ elem = tex.color_ramp.elements[0]
+ elem.color = mat.diffuse_color
+ else:
+ tex_slot.use_map_color_diffuse = False
+
+ if self.style == 'BLEND':
+ settings.physics_type = 'KEYED'
+ settings.use_emit_random = False
+ settings.rotation_mode = 'NOR'
+
+ psys = obj.particle_systems[-1]
+
+ fake_context["particle_system"] = obj.particle_systems[-1]
+ bpy.ops.particle.new_target(fake_context)
+ bpy.ops.particle.new_target(fake_context)
+
+ if obj == from_obj:
+ psys.targets[1].object = to_obj
+ else:
+ psys.targets[0].object = from_obj
+ settings.normal_factor = -self.velocity
+ explode.show_unborn = False
+ explode.show_dead = True
+ else:
+ settings.factor_random = self.velocity
+ settings.angular_velocity_factor = self.velocity / 10.0
+
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ self.frame_start = context.scene.frame_current
+ self.frame_end = self.frame_start + self.frame_duration
+ return self.execute(context)
+
+
def obj_bb_minmax(obj, min_co, max_co):
for i in range(0, 8):
- bb_vec = Vector((obj.bound_box[i][0], obj.bound_box[i][1], obj.bound_box[i][2])) * obj.matrix_world
+ bb_vec = obj.matrix_world * Vector(obj.bound_box[i])
min_co[0] = min(bb_vec[0], min_co[0])
min_co[1] = min(bb_vec[1], min_co[1])
@@ -92,28 +265,33 @@ def obj_bb_minmax(obj, min_co, max_co):
max_co[2] = max(bb_vec[2], max_co[2])
-class MakeSmoke(bpy.types.Operator):
- bl_idname = "object.make_smoke"
- bl_label = "Make Smoke"
+class QuickSmoke(bpy.types.Operator):
+ bl_idname = "object.quick_smoke"
+ bl_label = "Quick Smoke"
bl_options = {'REGISTER', 'UNDO'}
- style = EnumProperty(items=(
- ('STREAM', "Stream", ""),
- ('PUFF', "Puff", ""),
- ('FIRE', "Fire", "")),
- name="Smoke Style",
- description="",
- default='STREAM')
-
- show_flows = BoolProperty(name="Render Smoke Objects",
- description="Keep the smoke objects visible during rendering.",
- default=False)
+ style = EnumProperty(
+ items=(('STREAM', "Stream", ""),
+ ('PUFF', "Puff", ""),
+ ('FIRE', "Fire", ""),
+ ),
+ name="Smoke Style",
+ description="",
+ default='STREAM',
+ )
+
+ show_flows = BoolProperty(
+ name="Render Smoke Objects",
+ description="Keep the smoke objects visible during rendering.",
+ default=False,
+ )
def execute(self, context):
fake_context = bpy.context.copy()
- mesh_objects = [obj for obj in context.selected_objects if obj.type == 'MESH']
- min_co = Vector((100000, 100000, 100000))
- max_co = Vector((-100000, -100000, -100000))
+ mesh_objects = [obj for obj in context.selected_objects
+ if obj.type == 'MESH']
+ min_co = Vector((100000.0, 100000.0, 100000.0))
+ max_co = -min_co
if not mesh_objects:
self.report({'ERROR'}, "Select at least one mesh object.")
@@ -171,21 +349,25 @@ class MakeSmoke(bpy.types.Operator):
mat.volume.density = 0
mat.volume.density_scale = 5
- mat.texture_slots.add()
- mat.texture_slots[0].texture = bpy.data.textures.new("Smoke Density", 'VOXEL_DATA')
- mat.texture_slots[0].texture.voxel_data.domain_object = obj
- mat.texture_slots[0].use_map_color_emission = False
- mat.texture_slots[0].use_map_density = True
+ tex = bpy.data.textures.new("Smoke Density", 'VOXEL_DATA')
+ tex.voxel_data.domain_object = obj
+
+ tex_slot = mat.texture_slots.add()
+ tex_slot.texture = tex
+ tex_slot.use_map_color_emission = False
+ tex_slot.use_map_density = True
# for fire add a second texture for emission and emission color
if self.style == 'FIRE':
mat.volume.emission = 5
- mat.texture_slots.add()
- mat.texture_slots[1].texture = bpy.data.textures.new("Smoke Heat", 'VOXEL_DATA')
- mat.texture_slots[1].texture.voxel_data.domain_object = obj
- mat.texture_slots[1].texture.use_color_ramp = True
+ tex = bpy.data.textures.new("Smoke Heat", 'VOXEL_DATA')
+ tex.voxel_data.domain_object = obj
+ tex.use_color_ramp = True
+
+ tex_slot = mat.texture_slots.add()
+ tex_slot.texture = tex
- ramp = mat.texture_slots[1].texture.color_ramp
+ ramp = tex.color_ramp
elem = ramp.elements.new(0.333)
elem.color[0] = elem.color[3] = 1
@@ -201,33 +383,43 @@ class MakeSmoke(bpy.types.Operator):
return {'FINISHED'}
-class MakeFluid(bpy.types.Operator):
- bl_idname = "object.make_fluid"
- bl_label = "Make Fluid"
+class QuickFluid(bpy.types.Operator):
+ bl_idname = "object.quick_fluid"
+ bl_label = "Quick Fluid"
bl_options = {'REGISTER', 'UNDO'}
- style = EnumProperty(items=(
- ('INFLOW', "Inflow", ""),
- ('BASIC', "Basic", "")),
+ style = EnumProperty(
+ items=(('INFLOW', "Inflow", ""),
+ ('BASIC', "Basic", ""),
+ ),
name="Fluid Style",
description="",
- default='BASIC')
-
- initial_velocity = FloatVectorProperty(name="Initial Velocity",
- description="Initial velocity of the fluid",
- default=(0.0, 0.0, 0.0), min=-100.0, max=100.0, subtype='VELOCITY')
-
- show_flows = BoolProperty(name="Render Fluid Objects",
- description="Keep the fluid objects visible during rendering.",
- default=False)
-
- start_baking = BoolProperty(name="Start Fluid Bake",
- description="Start baking the fluid immediately after creating the domain object.",
- default=False)
+ default='BASIC',
+ )
+ initial_velocity = FloatVectorProperty(
+ name="Initial Velocity",
+ description="Initial velocity of the fluid",
+ default=(0.0, 0.0, 0.0),
+ min=-100.0,
+ max=100.0,
+ subtype='VELOCITY',
+ )
+ show_flows = BoolProperty(
+ name="Render Fluid Objects",
+ description="Keep the fluid objects visible during rendering.",
+ default=False,
+ )
+ start_baking = BoolProperty(
+ name="Start Fluid Bake",
+ description=("Start baking the fluid immediately "
+ "after creating the domain object"),
+ default=False,
+ )
def execute(self, context):
fake_context = bpy.context.copy()
- mesh_objects = [obj for obj in context.selected_objects if (obj.type == 'MESH' and not 0 in obj.dimensions)]
+ mesh_objects = [obj for obj in context.selected_objects
+ if (obj.type == 'MESH' and not 0.0 in obj.dimensions)]
min_co = Vector((100000, 100000, 100000))
max_co = Vector((-100000, -100000, -100000))
@@ -240,7 +432,8 @@ class MakeFluid(bpy.types.Operator):
# make each selected object a fluid
bpy.ops.object.modifier_add(fake_context, type='FLUID_SIMULATION')
- # fluid has to be before constructive modifiers, so it might not be the last modifier
+ # fluid has to be before constructive modifiers,
+ # so it might not be the last modifier
for mod in obj.modifiers:
if mod.type == 'FLUID_SIMULATION':
break
@@ -264,10 +457,14 @@ class MakeFluid(bpy.types.Operator):
obj = context.active_object
obj.name = "Fluid Domain"
- # give the fluid some room below the flows and scale with initial velocity
+ # give the fluid some room below the flows
+ # and scale with initial velocity
v = 0.5 * self.initial_velocity
obj.location = 0.5 * (max_co + min_co) + Vector((0.0, 0.0, -1.0)) + v
- obj.scale = 0.5 * (max_co - min_co) + Vector((1.0, 1.0, 2.0)) + Vector((abs(v[0]), abs(v[1]), abs(v[2])))
+ obj.scale = (0.5 * (max_co - min_co) +
+ Vector((1.0, 1.0, 2.0)) +
+ Vector((abs(v[0]), abs(v[1]), abs(v[2])))
+ )
# setup smoke domain
bpy.ops.object.modifier_add(type='FLUID_SIMULATION')
diff --git a/release/scripts/startup/bl_operators/object_randomize_transform.py b/release/scripts/startup/bl_operators/object_randomize_transform.py
index 9dc5086086f..b94c4f06cd3 100644
--- a/release/scripts/startup/bl_operators/object_randomize_transform.py
+++ b/release/scripts/startup/bl_operators/object_randomize_transform.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
@@ -93,40 +93,69 @@ class RandomizeLocRotSize(bpy.types.Operator):
bl_label = "Randomize Transform"
bl_options = {'REGISTER', 'UNDO'}
- random_seed = IntProperty(name="Random Seed",
- description="Seed value for the random generator",
- default=0, min=0, max=1000)
-
- use_delta = BoolProperty(name="Transform Delta",
- description="Randomize delta transform values instead of regular transform", default=False)
-
- use_loc = BoolProperty(name="Randomize Location",
- description="Randomize the location values", default=True)
-
- loc = FloatVectorProperty(name="Location",
- description="Maximun distance the objects can spread over each axis",
- default=(0.0, 0.0, 0.0), min=-100.0, max=100.0, subtype='TRANSLATION')
-
- use_rot = BoolProperty(name="Randomize Rotation",
- description="Randomize the rotation values", default=True)
-
- rot = FloatVectorProperty(name="Rotation",
- description="Maximun rotation over each axis",
- default=(0.0, 0.0, 0.0), min=-180.0, max=180.0, subtype='TRANSLATION')
-
- use_scale = BoolProperty(name="Randomize Scale",
- description="Randomize the scale values", default=True)
-
- scale_even = BoolProperty(name="Scale Even",
- description="Use the same scale value for all axis", default=False)
+ random_seed = IntProperty(
+ name="Random Seed",
+ description="Seed value for the random generator",
+ min=0,
+ max=1000,
+ default=0,
+ )
+ use_delta = BoolProperty(
+ name="Transform Delta",
+ description=("Randomize delta transform values "
+ "instead of regular transform"),
+ default=False,
+ )
+ use_loc = BoolProperty(
+ name="Randomize Location",
+ description="Randomize the location values",
+ default=True,
+ )
+ loc = FloatVectorProperty(
+ name="Location",
+ description=("Maximun distance the objects "
+ "can spread over each axis"),
+ min=-100.0,
+ max=100.0,
+ default=(0.0, 0.0, 0.0),
+ subtype='TRANSLATION',
+ )
+ use_rot = BoolProperty(
+ name="Randomize Rotation",
+ description="Randomize the rotation values",
+ default=True,
+ )
+ rot = FloatVectorProperty(
+ name="Rotation",
+ description="Maximun rotation over each axis",
+ min=-180.0,
+ max=180.0,
+ default=(0.0, 0.0, 0.0),
+ subtype='TRANSLATION',
+ )
+ use_scale = BoolProperty(
+ name="Randomize Scale",
+ description="Randomize the scale values",
+ default=True,
+ )
+ scale_even = BoolProperty(
+ name="Scale Even",
+ description="Use the same scale value for all axis",
+ default=False,
+ )
'''scale_min = FloatProperty(name="Minimun Scale Factor",
description="Lowest scale percentage possible",
default=0.15, min=-1.0, max=1.0, precision=3)'''
- scale = FloatVectorProperty(name="Scale",
- description="Maximum scale randomization over each axis",
- default=(0.0, 0.0, 0.0), min=-100.0, max=100.0, subtype='TRANSLATION')
+ scale = FloatVectorProperty(
+ name="Scale",
+ description="Maximum scale randomization over each axis",
+ min=-100.0,
+ max=100.0,
+ default=(0.0, 0.0, 0.0),
+ subtype='TRANSLATION',
+ )
def execute(self, context):
from math import radians
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index 493c51ad237..fbcc327c3bd 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
@@ -30,8 +30,15 @@ class AddPresetBase():
# bl_label = "Add a Python Preset"
bl_options = {'REGISTER'} # only because invoke_props_popup requires.
- name = bpy.props.StringProperty(name="Name", description="Name of the preset, used to make the path name", maxlen=64, default="")
- remove_active = bpy.props.BoolProperty(default=False, options={'HIDDEN'})
+ name = bpy.props.StringProperty(
+ name="Name",
+ description="Name of the preset, used to make the path name",
+ maxlen=64,
+ )
+ remove_active = bpy.props.BoolProperty(
+ default=False,
+ options={'HIDDEN'},
+ )
@staticmethod
def as_filename(name): # could reuse for other presets
@@ -54,7 +61,10 @@ class AddPresetBase():
filename = self.as_filename(name)
- target_path = bpy.utils.user_resource('SCRIPTS', os.path.join("presets", self.preset_subdir), create=True)
+ target_path = os.path.join("presets", self.preset_subdir)
+ target_path = bpy.utils.user_resource('SCRIPTS',
+ target_path,
+ create=True)
if not target_path:
self.report({'WARNING'}, "Failed to create presets path")
@@ -95,7 +105,9 @@ class AddPresetBase():
filepath = bpy.utils.preset_find(preset_active, self.preset_subdir)
if not filepath:
- filepath = bpy.utils.preset_find(preset_active, self.preset_subdir, display_name=True)
+ filepath = bpy.utils.preset_find(preset_active,
+ self.preset_subdir,
+ display_name=True)
if not filepath:
return {'CANCELLED'}
@@ -133,8 +145,15 @@ class ExecutePreset(bpy.types.Operator):
bl_idname = "script.execute_preset"
bl_label = "Execute a Python Preset"
- filepath = bpy.props.StringProperty(name="Path", description="Path of the Python file to execute", maxlen=512, default="")
- menu_idname = bpy.props.StringProperty(name="Menu ID Name", description="ID name of the menu this was called from", default="")
+ filepath = bpy.props.StringProperty(
+ name="Path",
+ description="Path of the Python file to execute",
+ maxlen=512,
+ )
+ menu_idname = bpy.props.StringProperty(
+ name="Menu ID Name",
+ description="ID name of the menu this was called from",
+ )
def execute(self, context):
from os.path import basename
@@ -182,7 +201,10 @@ class AddPresetSSS(AddPresetBase, bpy.types.Operator):
preset_menu = "MATERIAL_MT_sss_presets"
preset_defines = [
- "material = (bpy.context.material.active_node_material if bpy.context.material.active_node_material else bpy.context.material)"
+ ("material = "
+ "bpy.context.material.active_node_material "
+ "if bpy.context.material.active_node_material "
+ "else bpy.context.material")
]
preset_values = [
@@ -306,7 +328,11 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator):
bl_label = "Operator Preset"
preset_menu = "WM_MT_operator_presets"
- operator = bpy.props.StringProperty(name="Operator", maxlen=64, options={'HIDDEN'})
+ operator = bpy.props.StringProperty(
+ name="Operator",
+ maxlen=64,
+ options={'HIDDEN'},
+ )
# XXX, not ideal
preset_defines = [
@@ -315,19 +341,22 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator):
@property
def preset_subdir(self):
- return __class__.operator_path(self.operator)
+ return AddPresetOperator.operator_path(self.operator)
@property
def preset_values(self):
properties_blacklist = bpy.types.Operator.bl_rna.properties.keys()
prefix, suffix = self.operator.split("_OT_", 1)
- operator_rna = getattr(getattr(bpy.ops, prefix.lower()), suffix).get_rna().bl_rna
+ op = getattr(getattr(bpy.ops, prefix.lower()), suffix)
+ operator_rna = op.get_rna().bl_rna
+ del op
ret = []
for prop_id, prop in operator_rna.properties.items():
- if (not prop.is_hidden) and prop_id not in properties_blacklist:
- ret.append("op.%s" % prop_id)
+ if not (prop.is_hidden or prop.is_skip_save):
+ if prop_id not in properties_blacklist:
+ ret.append("op.%s" % prop_id)
return ret
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 64af25e7b0f..a38d817d738 100644
--- a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
+++ b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
@@ -1,27 +1,23 @@
-# ***** BEGIN GPL LICENSE BLOCK *****
+# ##### BEGIN GPL LICENSE BLOCK #####
#
-# Script copyright (C) Campbell J Barton
+# 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 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.
#
-# 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.
#
-# 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.
-#
-# ***** END GPL LICENCE BLOCK *****
+# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
-# History
-#
# Originally written by Matt Ebb
import bpy
@@ -46,8 +42,10 @@ def guess_player_path(preset):
player_path = "djv_view"
if sys.platform == "darwin":
- # TODO, crummy supporting only 1 version, could find the newest installed version
- test_path = '/Applications/djv-0.8.2.app/Contents/Resources/bin/djv_view'
+ # TODO, crummy supporting only 1 version,
+ # could find the newest installed version
+ test_path = ("/Applications/djv-0.8.2.app"
+ "/Contents/Resources/bin/djv_view")
if os.path.exists(test_path):
player_path = test_path
@@ -60,6 +58,9 @@ def guess_player_path(preset):
elif preset == 'MPLAYER':
player_path = "mplayer"
+ else:
+ player_path = ""
+
return player_path
@@ -78,14 +79,14 @@ class PlayRenderedAnim(bpy.types.Operator):
preset = prefs.filepaths.animation_player_preset
player_path = prefs.filepaths.animation_player
- file_path = bpy.path.abspath(rd.filepath)
+ # file_path = bpy.path.abspath(rd.filepath) # UNUSED
is_movie = rd.is_movie_format
# try and guess a command line if it doesn't exist
- if player_path == '':
+ if player_path == "":
player_path = guess_player_path(preset)
- if is_movie == False and preset in ('FRAMECYCLER', 'RV', 'MPLAYER'):
+ if is_movie == False and preset in {'FRAMECYCLER', 'RV', 'MPLAYER'}:
# replace the number with '#'
file_a = rd.frame_path(frame=0)
@@ -95,11 +96,11 @@ class PlayRenderedAnim(bpy.types.Operator):
while len(file_a) == len(file_b):
frame_tmp = (frame_tmp * 10) + 9
- print(frame_tmp)
file_b = rd.frame_path(frame=frame_tmp)
file_b = rd.frame_path(frame=int(frame_tmp / 10))
- file = "".join((c if file_b[i] == c else "#") for i, c in enumerate(file_a))
+ file = ("".join((c if file_b[i] == c else "#")
+ for i, c in enumerate(file_a)))
else:
# works for movies and images
file = rd.frame_path(frame=scene.frame_start)
@@ -109,10 +110,35 @@ class PlayRenderedAnim(bpy.types.Operator):
cmd = [player_path]
# extra options, fps controls etc.
if preset == 'BLENDER24':
+ # -----------------------------------------------------------------
+ # Check blender is not 2.5x until it supports playback again
+ try:
+ process = subprocess.Popen([player_path, '--version'],
+ stdout=subprocess.PIPE,
+ )
+ except:
+ # ignore and allow the main execution to catch the problem.
+ process = None
+
+ if process is not None:
+ process.wait()
+ out = process.stdout.read()
+ process.stdout.close()
+ out_split = out.strip().split()
+ if out_split[0] == b'Blender':
+ if not out_split[1].startswith(b'2.4'):
+ self.report({'ERROR'},
+ "Blender %s doesn't support playback: %r" %
+ (out_split[1].decode(), player_path))
+ return {'CANCELLED'}
+ del out, out_split
+ del process
+ # -----------------------------------------------------------------
+
opts = ["-a", "-f", str(rd.fps), str(rd.fps_base), file]
cmd.extend(opts)
elif preset == 'DJV':
- opts = [file, "-playback_speed", str(rd.fps)]
+ opts = [file, "-playback_speed", "%d" % int(rd.fps / rd.fps_base)]
cmd.extend(opts)
elif preset == 'FRAMECYCLER':
opts = [file, "%d-%d" % (scene.frame_start, scene.frame_end)]
@@ -125,18 +151,26 @@ class PlayRenderedAnim(bpy.types.Operator):
if is_movie:
opts.append(file)
else:
- opts.append("mf://%s" % file.replace("#", "?"))
- opts += ["-mf", "fps=%.4f" % (rd.fps / rd.fps_base)]
+ opts += [("mf://%s" % file.replace("#", "?")),
+ "-mf",
+ "fps=%.4f" % (rd.fps / rd.fps_base),
+ ]
+
opts += ["-loop", "0", "-really-quiet", "-fs"]
cmd.extend(opts)
else: # 'CUSTOM'
cmd.append(file)
# launch it
+ print("Executing command:\n %r" % " ".join(cmd))
+
try:
process = subprocess.Popen(cmd)
- except:
- pass
- #raise OSError("Couldn't find an external animation player.")
+ except Exception as e:
+ import traceback
+ self.report({'ERROR'},
+ "Couldn't run external animation player with command "
+ "%r\n%s" % (" ".join(cmd), str(e)))
+ return {'CANCELLED'}
return {'FINISHED'}
diff --git a/release/scripts/startup/bl_operators/uvcalc_follow_active.py b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
index ad5ec15ff80..43ca9af59ba 100644
--- a/release/scripts/startup/bl_operators/uvcalc_follow_active.py
+++ b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
@@ -25,6 +25,8 @@ import bpy
def extend(obj, operator, EXTEND_MODE):
+ from bpy_extras import mesh_utils
+
me = obj.data
me_verts = me.vertices
# script will fail without UVs
@@ -40,7 +42,6 @@ def extend(obj, operator, EXTEND_MODE):
edge_average_lengths = {}
OTHER_INDEX = 2, 3, 0, 1
- FAST_INDICIES = 0, 2, 1, 3 # order is faster
def extend_uvs(face_source, face_target, edge_key):
'''
@@ -170,7 +171,7 @@ def extend(obj, operator, EXTEND_MODE):
edge_faces[edkey] = [i]
if EXTEND_MODE == 'LENGTH':
- edge_loops = me.edge_loops_from_faces(face_sel, [ed.key for ed in me.edges if ed.use_seam])
+ edge_loops = mesh_utils.edge_loops_from_faces(me, face_sel, [ed.key for ed in me.edges if ed.use_seam])
me_verts = me.vertices
for loop in edge_loops:
looplen = [0.0]
diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
index 3893612437a..9ae0cd0ddf9 100644
--- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py
+++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
@@ -406,7 +406,7 @@ def lightmap_uvpack(meshes,
ok = False
# Tall boxes in groups of 2
- for d, boxes in odd_dict.items():
+ for d, boxes in list(odd_dict.items()):
if d[1] < max_int_dimension:
#\boxes.sort(key = lambda a: len(a.children))
while len(boxes) >= 2:
@@ -427,7 +427,7 @@ def lightmap_uvpack(meshes,
odd_dict.setdefault((w, h), []).append(pf_parent)
# Even boxes in groups of 4
- for d, boxes in even_dict.items():
+ for d, boxes in list(even_dict.items()):
if d < max_int_dimension:
boxes.sort(key=lambda a: len(a.children))
@@ -444,7 +444,7 @@ def lightmap_uvpack(meshes,
del even_dict
del odd_dict
- orig = len(pretty_faces)
+ # orig = len(pretty_faces)
pretty_faces = [pf for pf in pretty_faces if not pf.has_parent]
@@ -489,7 +489,10 @@ def lightmap_uvpack(meshes,
if PREF_APPLY_IMAGE:
if not PREF_PACK_IN_ONE:
- image = Image.New("lightmap", PREF_IMG_PX_SIZE, PREF_IMG_PX_SIZE, 24)
+ image = bpy.data.images.new(name="lightmap",
+ width=PREF_IMG_PX_SIZE,
+ height=PREF_IMG_PX_SIZE,
+ )
for f in face_sel:
# f.image = image
@@ -530,7 +533,7 @@ def unwrap(operator, context, **kwargs):
return {'FINISHED'}
-from bpy.props import BoolProperty, FloatProperty, IntProperty, EnumProperty
+from bpy.props import BoolProperty, FloatProperty, IntProperty
class LightMapPack(bpy.types.Operator):
diff --git a/release/scripts/startup/bl_operators/uvcalc_smart_project.py b/release/scripts/startup/bl_operators/uvcalc_smart_project.py
index 4f5b1d8b233..851f33bde11 100644
--- a/release/scripts/startup/bl_operators/uvcalc_smart_project.py
+++ b/release/scripts/startup/bl_operators/uvcalc_smart_project.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# TODO <pep8 compliant>
from mathutils import Matrix, Vector, geometry
import bpy
@@ -243,7 +243,7 @@ def testNewVecLs2DRotIsBetter(vecs, mat=-1, bestAreaSoFar = -1):
# Do this allong the way
if mat != -1:
- v = vecs[i] = v*mat
+ v = vecs[i] = mat * v
x= v.x
y= v.y
if x<minx: minx= x
@@ -746,13 +746,9 @@ def packIslands(islandList):
uv.y= (uv.y+yoffset) * yfactor
-
def VectoQuat(vec):
vec = vec.normalized()
- if abs(vec.x) > 0.5:
- return vec.to_track_quat('Z', 'X')
- else:
- return vec.to_track_quat('Z', 'Y')
+ return vec.to_track_quat('Z', 'X' if abs(vec.x) > 0.5 else 'Y').inverted()
class thickface(object):
@@ -791,7 +787,11 @@ def main_consts():
global ob
ob = None
-def main(context, island_margin, projection_limit):
+def main(context,
+ island_margin,
+ projection_limit,
+ user_area_weight,
+ ):
global USER_FILL_HOLES
global USER_FILL_HOLES_QUALITY
global USER_STRETCH_ASPECT
@@ -812,21 +812,25 @@ def main(context, island_margin, projection_limit):
global RotMatStepRotation
main_consts()
-#XXX objects= bpy.data.scenes.active.objects
- objects = context.selected_editable_objects
-
+ # 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.
-#XXX ob = objects.active
- ob= objects[0]
+ ob = context.active_object
if ob and (not ob.select) and ob.type == 'MESH':
# Add to the list
obList =[ob]
del objects
+ '''
+
+ # quick workaround
+ obList = [ob for ob in [context.active_object] if ob and ob.type == 'MESH']
if not obList:
raise('error, no selected mesh objects')
@@ -840,7 +844,6 @@ def main(context, island_margin, projection_limit):
USER_FILL_HOLES = (0)
USER_FILL_HOLES_QUALITY = (50) # Only for hole filling.
USER_VIEW_INIT = (0) # Only for hole filling.
- USER_AREA_WEIGHT = (1) # Only for hole filling.
# Reuse variable
if len(obList) == 1:
@@ -966,12 +969,15 @@ def main(context, island_margin, projection_limit):
# Add the average of all these faces normals as a projectionVec
averageVec = Vector((0.0, 0.0, 0.0))
- if USER_AREA_WEIGHT:
+ if user_area_weight == 0.0:
for fprop in newProjectMeshFaces:
- averageVec += (fprop.no * fprop.area)
+ averageVec += fprop.no
+ elif user_area_weight == 1.0:
+ for fprop in newProjectMeshFaces:
+ averageVec += fprop.no * fprop.area
else:
for fprop in newProjectMeshFaces:
- averageVec += fprop.no
+ averageVec += fprop.no * ((fprop.area * user_area_weight) + (1.0 - user_area_weight))
if averageVec.x != 0 or averageVec.y != 0 or averageVec.z != 0: # Avoid NAN
projectVecs.append(averageVec.normalized())
@@ -1058,7 +1064,7 @@ def main(context, island_margin, projection_limit):
f_uv = f.uv
for j, v in enumerate(f.v):
# XXX - note, between mathutils in 2.4 and 2.5 the order changed.
- f_uv[j][:] = (v.co * MatQuat)[:2]
+ f_uv[j][:] = (MatQuat * v.co).xy
if USER_SHARE_SPACE:
@@ -1094,12 +1100,8 @@ def main(context, island_margin, projection_limit):
"""
pup_block = [\
'Projection',\
-* ('Angle Limit:', USER_PROJECTION_LIMIT, 1, 89, ''),\
('Selected Faces Only', USER_ONLY_SELECTED_FACES, 'Use only selected faces from all selected meshes.'),\
('Init from view', USER_VIEW_INIT, 'The first projection will be from the view vector.'),\
- ('Area Weight', USER_AREA_WEIGHT, 'Weight projections vector by face area.'),\
- '',\
- '',\
'',\
'UV Layout',\
('Share Tex Space', USER_SHARE_SPACE, 'Objects Share texture space, map all objects into 1 uvmap.'),\
@@ -1121,11 +1123,15 @@ class SmartProject(bpy.types.Operator):
bl_options = {'REGISTER', 'UNDO'}
angle_limit = FloatProperty(name="Angle Limit",
- description="lower for more projection groups, higher for less distortion.",
+ description="lower for more projection groups, higher for less distortion",
default=66.0, min=1.0, max=89.0)
island_margin = FloatProperty(name="Island Margin",
- description="Margin to reduce bleed from adjacent islands.",
+ description="Margin to reduce bleed from adjacent islands",
+ default=0.0, min=0.0, max=1.0)
+
+ user_area_weight = FloatProperty(name="Area Weight",
+ description="Weight projections vector by faces with larger areas",
default=0.0, min=0.0, max=1.0)
@classmethod
@@ -1133,7 +1139,11 @@ class SmartProject(bpy.types.Operator):
return context.active_object != None
def execute(self, context):
- main(context, self.island_margin, self.angle_limit)
+ main(context,
+ self.island_margin,
+ self.angle_limit,
+ self.user_area_weight,
+ )
return {'FINISHED'}
def invoke(self, context, event):
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 53c8d562297..af33e45668c 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -19,7 +19,9 @@
# <pep8 compliant>
import bpy
-from bpy.props import StringProperty, BoolProperty, IntProperty, FloatProperty
+from bpy.props import StringProperty, BoolProperty, IntProperty, \
+ FloatProperty, EnumProperty
+
from rna_prop_ui import rna_idprop_ui_prop_get, rna_idprop_ui_prop_clear
@@ -106,7 +108,7 @@ class WM_OT_context_set_boolean(bpy.types.Operator):
'''Set a context value.'''
bl_idname = "wm.context_set_boolean"
bl_label = "Context Set Boolean"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = BoolProperty(name="Value",
@@ -119,7 +121,7 @@ class WM_OT_context_set_int(bpy.types.Operator): # same as enum
'''Set a context value.'''
bl_idname = "wm.context_set_int"
bl_label = "Context Set"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = IntProperty(name="Value", description="Assign value", default=0)
@@ -132,7 +134,7 @@ class WM_OT_context_scale_int(bpy.types.Operator):
'''Scale an int context value.'''
bl_idname = "wm.context_scale_int"
bl_label = "Context Set"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = FloatProperty(name="Value", description="Assign value", default=1.0)
@@ -168,7 +170,7 @@ class WM_OT_context_set_float(bpy.types.Operator): # same as enum
'''Set a context value.'''
bl_idname = "wm.context_set_float"
bl_label = "Context Set Float"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = FloatProperty(name="Value",
@@ -182,7 +184,7 @@ class WM_OT_context_set_string(bpy.types.Operator): # same as enum
'''Set a context value.'''
bl_idname = "wm.context_set_string"
bl_label = "Context Set String"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = StringProperty(name="Value",
@@ -195,7 +197,7 @@ class WM_OT_context_set_enum(bpy.types.Operator):
'''Set a context value.'''
bl_idname = "wm.context_set_enum"
bl_label = "Context Set Enum"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = StringProperty(name="Value",
@@ -209,7 +211,7 @@ class WM_OT_context_set_value(bpy.types.Operator):
'''Set a context value.'''
bl_idname = "wm.context_set_value"
bl_label = "Context Set Value"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = StringProperty(name="Value",
@@ -227,7 +229,7 @@ class WM_OT_context_toggle(bpy.types.Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_toggle"
bl_label = "Context Toggle"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
@@ -246,7 +248,7 @@ class WM_OT_context_toggle_enum(bpy.types.Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_toggle_enum"
bl_label = "Context Toggle Values"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value_1 = StringProperty(name="Value", \
@@ -273,7 +275,7 @@ class WM_OT_context_cycle_int(bpy.types.Operator):
'''vertex keys, groups' etc.'''
bl_idname = "wm.context_cycle_int"
bl_label = "Context Int Cycle"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
reverse = rna_reverse_prop
@@ -307,7 +309,7 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_cycle_enum"
bl_label = "Context Enum Cycle"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
reverse = rna_reverse_prop
@@ -360,7 +362,7 @@ class WM_OT_context_cycle_array(bpy.types.Operator):
Useful for cycling the active mesh edit mode.'''
bl_idname = "wm.context_cycle_array"
bl_label = "Context Array Cycle"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
reverse = rna_reverse_prop
@@ -406,7 +408,7 @@ class WM_MT_context_menu_enum(bpy.types.Menu):
class WM_OT_context_menu_enum(bpy.types.Operator):
bl_idname = "wm.context_menu_enum"
bl_label = "Context Enum Menu"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
def execute(self, context):
@@ -420,7 +422,7 @@ class WM_OT_context_set_id(bpy.types.Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_set_id"
bl_label = "Set Library ID"
- bl_options = {'UNDO'}
+ bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
value = StringProperty(name="Value",
@@ -457,14 +459,76 @@ doc_id = StringProperty(name="Doc ID",
doc_new = StringProperty(name="Edit Description",
description="", maxlen=1024, default="")
+data_path_iter = StringProperty(
+ description="The data path relative to the context, must point to an iterable.")
+
+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):
+ '''Set boolean values for a collection of items'''
+ bl_idname = "wm.context_collection_boolean_set"
+ bl_label = "Context Collection Boolean Set"
+ bl_options = {'UNDO', 'REGISTER', 'INTERNAL'}
+
+ data_path_iter = data_path_iter
+ data_path_item = data_path_item
+
+ type = EnumProperty(items=(
+ ('TOGGLE', "Toggle", ""),
+ ('ENABLE', "Enable", ""),
+ ('DISABLE', "Disable", ""),
+ ),
+ name="Type")
+
+ def execute(self, context):
+ data_path_iter = self.data_path_iter
+ data_path_item = self.data_path_item
+
+ items = list(getattr(context, data_path_iter))
+ items_ok = []
+ is_set = False
+ for item in items:
+ try:
+ value_orig = eval("item." + data_path_item)
+ except:
+ continue
+
+ if value_orig == True:
+ is_set = True
+ elif value_orig == False:
+ pass
+ else:
+ self.report({'WARNING'}, "Non boolean value found: %s[ ].%s" %
+ (data_path_iter, data_path_item))
+ return {'CANCELLED'}
+
+ items_ok.append(item)
+
+ if self.type == 'ENABLE':
+ is_set = True
+ elif self.type == 'DISABLE':
+ is_set = False
+ else:
+ is_set = not is_set
+
+ exec_str = "item.%s = %s" % (data_path_item, is_set)
+ for item in items_ok:
+ exec(exec_str)
+
+ return {'FINISHED'}
+
class WM_OT_context_modal_mouse(bpy.types.Operator):
'''Adjust arbitrary values with mouse input'''
bl_idname = "wm.context_modal_mouse"
bl_label = "Context Modal Mouse"
+ bl_options = {'GRAB_POINTER', 'BLOCKING', 'INTERNAL'}
+
+ data_path_iter = data_path_iter
+ data_path_item = data_path_item
- data_path_iter = StringProperty(description="The data path relative to the context, must point to an iterable.")
- data_path_item = StringProperty(description="The data path from each iterable to the value (int or float)")
input_scale = FloatProperty(default=0.01, description="Scale the mouse movement by this value before applying the delta")
invert = BoolProperty(default=False, description="Invert the mouse input")
initial_x = IntProperty(options={'HIDDEN'})
@@ -940,6 +1004,14 @@ class WM_OT_copy_prev_settings(bpy.types.Operator):
self.report({'ERROR'}, "Source path %r exists" % path_src)
else:
shutil.copytree(path_src, path_dst)
+
+ # in 2.57 and earlier windows installers, system scripts were copied
+ # into the configuration directory, don't want to copy those
+ system_script = os.path.join(path_dst, 'scripts/modules/bpy_types.py')
+ if os.path.isfile(system_script):
+ shutil.rmtree(os.path.join(path_dst, 'scripts'))
+ shutil.rmtree(os.path.join(path_dst, 'plugins'))
+
# dont loose users work if they open the splash later.
if bpy.data.is_saved is bpy.data.is_dirty is False:
bpy.ops.wm.read_homefile()
diff --git a/release/scripts/startup/bl_ui/__init__.py b/release/scripts/startup/bl_ui/__init__.py
index 5c565fbd300..bf63c6071b9 100644
--- a/release/scripts/startup/bl_ui/__init__.py
+++ b/release/scripts/startup/bl_ui/__init__.py
@@ -85,25 +85,26 @@ def register():
from bpy.props import StringProperty, EnumProperty
WindowManager = bpy.types.WindowManager
+ def addon_filter_items(self, context):
+ import addon_utils
+
+ items = [('All', "All", ""),
+ ('Enabled', "Enabled", ""),
+ ('Disabled', "Disabled", ""),
+ ]
+
+ items_unique = set()
+
+ for mod in addon_utils.modules(space_userpref.USERPREF_PT_addons._addons_fake_modules):
+ info = addon_utils.module_bl_info(mod)
+ items_unique.add(info["category"])
+
+ items.extend([(cat, cat, "") for cat in sorted(items_unique)])
+ return items
+
WindowManager.addon_search = StringProperty(name="Search", description="Search within the selected filter")
WindowManager.addon_filter = EnumProperty(
- items=[('All', "All", ""),
- ('Enabled', "Enabled", ""),
- ('Disabled', "Disabled", ""),
- ('3D View', "3D View", ""),
- ('Add Curve', "Add Curve", ""),
- ('Add Mesh', "Add Mesh", ""),
- ('Animation', "Animation", ""),
- ('Development', "Development", ""),
- ('Game Engine', "Game Engine", ""),
- ('Import-Export', "Import-Export", ""),
- ('Mesh', "Mesh", ""),
- ('Object', "Object", ""),
- ('Render', "Render", ""),
- ('Rigging', "Rigging", ""),
- ('Text Editor', "Text Editor", ""),
- ('System', "System", "")
- ],
+ items=addon_filter_items,
name="Category",
description="Filter add-ons by category",
)
diff --git a/release/scripts/startup/bl_ui/properties_animviz.py b/release/scripts/startup/bl_ui/properties_animviz.py
index eb1bbfd2fb1..3b33a7ccc61 100644
--- a/release/scripts/startup/bl_ui/properties_animviz.py
+++ b/release/scripts/startup/bl_ui/properties_animviz.py
@@ -94,4 +94,5 @@ class OnionSkinButtonsPanel():
col.prop(arm, "show_only_ghost_selected", text="Selected Only")
if __name__ == "__main__": # only for live edit.
+ import bpy
bpy.utils.register_module(__name__)
diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py
index 9477dc866ab..f2a3bac2373 100644
--- a/release/scripts/startup/bl_ui/properties_data_armature.py
+++ b/release/scripts/startup/bl_ui/properties_data_armature.py
@@ -299,10 +299,7 @@ class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # in
return (context.object) and (context.armature)
def draw(self, context):
- layout = self.layout
-
ob = context.object
-
self.draw_settings(context, ob.pose.animation_visualisation, bones=True)
diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py
index e5076fd20d5..80cd5227fca 100644
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@ -127,6 +127,7 @@ class DATA_PT_camera_display(CameraButtonsPanel, bpy.types.Panel):
col.prop(cam, "show_mist", text="Mist")
col.prop(cam, "show_title_safe", text="Title Safe")
col.prop(cam, "show_name", text="Name")
+ col.prop_menu_enum(cam, "show_guide")
col = split.column()
col.prop(cam, "draw_size", text="Size")
diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py
index 623daffac93..3c88127c724 100644
--- a/release/scripts/startup/bl_ui/properties_data_curve.py
+++ b/release/scripts/startup/bl_ui/properties_data_curve.py
@@ -113,9 +113,24 @@ class DATA_PT_shape_curve(CurveButtonsPanel, bpy.types.Panel):
sub.prop(curve, "use_fill_back")
col.prop(curve, "use_fill_deform", text="Fill Deformed")
- col.label(text="Textures:")
- col.prop(curve, "use_uv_as_generated")
- col.prop(curve, "use_auto_texspace")
+
+class DATA_PT_curve_texture_space(CurveButtonsPanel, bpy.types.Panel):
+ bl_label = "Texture Space"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ curve = context.curve
+
+ row = layout.row()
+ row.prop(curve, "use_auto_texspace")
+ row.prop(curve, "use_uv_as_generated")
+
+ row = layout.row()
+ row.column().prop(curve, "texspace_location", text="Location")
+ row.column().prop(curve, "texspace_size", text="Size")
class DATA_PT_geometry_curve(CurveButtonsPanel, bpy.types.Panel):
diff --git a/release/scripts/startup/bl_ui/properties_data_empty.py b/release/scripts/startup/bl_ui/properties_data_empty.py
index e46cd1270ad..42b0af7eaf5 100644
--- a/release/scripts/startup/bl_ui/properties_data_empty.py
+++ b/release/scripts/startup/bl_ui/properties_data_empty.py
@@ -39,6 +39,15 @@ class DATA_PT_empty(DataButtonsPanel, bpy.types.Panel):
ob = context.object
layout.prop(ob, "empty_draw_type", text="Display")
+
+ if ob.empty_draw_type == 'IMAGE':
+ layout.template_ID(ob, "data", open="image.open", unlink="image.unlink")
+
+ layout.prop(ob, "color", text="Transparency", index=3, slider=True)
+ row = layout.row(align=True)
+ row.prop(ob, "empty_image_offset", text="Offset X", index=0)
+ row.prop(ob, "empty_image_offset", text="Offset Y", index=1)
+
layout.prop(ob, "empty_draw_size", text="Size")
if __name__ == "__main__": # only for live edit.
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index b1d1789fadd..618a88f0879 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -46,6 +46,8 @@ class MESH_MT_shape_key_specials(bpy.types.Menu):
layout.operator("object.shape_key_transfer", icon='COPY_ID') # icon is not ideal
layout.operator("object.join_shapes", icon='COPY_ID') # icon is not ideal
layout.operator("object.shape_key_mirror", icon='ARROW_LEFTRIGHT')
+ op = layout.operator("object.shape_key_add", icon='ZOOMIN', text="New Shape From Mix")
+ op.from_mix = True
class MeshButtonsPanel():
@@ -97,8 +99,9 @@ class DATA_PT_normals(MeshButtonsPanel, bpy.types.Panel):
split.prop(mesh, "show_double_sided")
-class DATA_PT_settings(MeshButtonsPanel, bpy.types.Panel):
- bl_label = "Settings"
+class DATA_PT_texture_space(MeshButtonsPanel, bpy.types.Panel):
+ bl_label = "Texture Space"
+ bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
def draw(self, context):
@@ -107,7 +110,13 @@ class DATA_PT_settings(MeshButtonsPanel, bpy.types.Panel):
mesh = context.mesh
layout.prop(mesh, "texture_mesh")
+
+ layout.separator()
+
layout.prop(mesh, "use_auto_texspace")
+ row = layout.row()
+ row.column().prop(mesh, "texspace_location", text="Location")
+ row.column().prop(mesh, "texspace_size", text="Size")
class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel):
@@ -193,7 +202,8 @@ class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel):
col = row.column()
sub = col.column(align=True)
- sub.operator("object.shape_key_add", icon='ZOOMIN', text="")
+ op = sub.operator("object.shape_key_add", icon='ZOOMIN', text="")
+ op.from_mix = False
sub.operator("object.shape_key_remove", icon='ZOOMOUT', text="")
sub.menu("MESH_MT_shape_key_specials", icon='DOWNARROW_HLT', text="")
@@ -280,9 +290,8 @@ class DATA_PT_texface(MeshButtonsPanel, bpy.types.Panel):
@classmethod
def poll(cls, context):
- ob = context.active_object
-
- return (context.mode == 'EDIT_MESH') and ob and ob.type == 'MESH'
+ obj = context.object
+ return (context.mode == 'EDIT_MESH') and obj and obj.type == 'MESH'
def draw(self, context):
layout = self.layout
diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py
index 81ba15d6f40..6dda99bc37f 100644
--- a/release/scripts/startup/bl_ui/properties_data_metaball.py
+++ b/release/scripts/startup/bl_ui/properties_data_metaball.py
@@ -72,6 +72,23 @@ 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):
+ bl_label = "Texture Space"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ mball = context.meta_ball
+
+ layout.prop(mball, "use_auto_texspace")
+
+ row = layout.row()
+ row.column().prop(mball, "texspace_location", text="Location")
+ row.column().prop(mball, "texspace_size", text="Size")
+
+
class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel):
bl_label = "Active Element"
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 27af84dbcfb..0a4d0b60514 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -219,7 +219,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.label(text="Texture Coordinates:")
col.prop(md, "texture_coords", text="")
if md.texture_coords == 'OBJECT':
- layout.prop(md, "texture_coordinate_object", text="Object")
+ layout.prop(md, "texture_coords_object", text="Object")
elif md.texture_coords == 'UV' and ob.type == 'MESH':
layout.prop_search(md, "uv_layer", ob.data, "uv_textures")
@@ -394,6 +394,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.operator("object.multires_higher_levels_delete", text="Delete Higher")
col.operator("object.multires_reshape", text="Reshape")
col.operator("object.multires_base_apply", text="Apply Base")
+ col.prop(md, "use_subsurf_uv")
col.prop(md, "show_only_control_edges")
layout.separator()
@@ -483,11 +484,10 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.label(text="Mode:")
col.prop(md, "wrap_method", text="")
- split = layout.split(percentage=0.25)
-
- col = split.column()
-
if md.wrap_method == 'PROJECT':
+ split = layout.split(percentage=0.25)
+
+ col = split.column()
col.label(text="Axis:")
col.prop(md, "use_project_x")
col.prop(md, "use_project_y")
@@ -499,7 +499,6 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.prop(md, "use_positive_direction")
col = split.column()
-
col.label(text="Cull Faces:")
col.prop(md, "cull_face", expand=True)
@@ -673,7 +672,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.prop(md, "texture_coords", text="")
if md.texture_coords == 'OBJECT':
- layout.prop(md, "texture_coordinate_object", text="Object")
+ layout.prop(md, "texture_coords_object", text="Object")
elif md.texture_coords == 'UV' and ob.type == 'MESH':
layout.prop_search(md, "uv_layer", ob.data, "uv_textures")
diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index 52d6b5f1376..2a52ae23782 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -174,6 +174,7 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
row.prop(mat, "use_transparency")
sub = row.column()
sub.prop(mat, "offset_z")
+
sub.active = mat_type and mat.use_transparency and mat.transparency_method == 'Z_TRANSPARENCY'
row = layout.row()
@@ -199,6 +200,7 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
col.prop(mat, "shadow_cast_alpha", text="Casting Alpha")
col.prop(mat, "use_cast_buffer_shadows")
col.prop(mat, "use_cast_approximate")
+ col.prop(mat, "pass_index")
class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel):
@@ -729,6 +731,8 @@ class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel):
col.prop(mat, "use_vertex_color_paint")
col.prop(mat, "use_vertex_color_light")
col.prop(mat, "use_object_color")
+ if simple_material(base_mat):
+ col.prop(mat, "pass_index")
class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel):
@@ -883,7 +887,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
sub = col.column()
sub.enabled = True
sub.active = False
- sub.prop(vol, "use_light_cache")
+ sub.label("Light Cache Enabled")
col.prop(vol, "cache_resolution")
sub = col.column(align=True)
diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py
index ae66642e903..cdbcf2cf533 100644
--- a/release/scripts/startup/bl_ui/properties_object.py
+++ b/release/scripts/startup/bl_ui/properties_object.py
@@ -34,7 +34,6 @@ class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
space = context.space_data
- ob = context.object
if space.use_pin_id:
layout.template_ID(space, "pin_id")
diff --git a/release/scripts/startup/bl_ui/properties_object_constraint.py b/release/scripts/startup/bl_ui/properties_object_constraint.py
index 59f9ca16d1a..5f79dd3127a 100644
--- a/release/scripts/startup/bl_ui/properties_object_constraint.py
+++ b/release/scripts/startup/bl_ui/properties_object_constraint.py
@@ -651,6 +651,24 @@ class ConstraintButtonsPanel():
sub.prop(con, "from_min_z", text="Min")
sub.prop(con, "from_max_z", text="Max")
+ col = layout.column()
+ row = col.row()
+ row.label(text="Source to Destination Mapping:")
+
+ # note: chr(187) is the ASCII arrow ( >> ). Blender Text Editor can't
+ # open it. Thus we are using the hardcoded value instead.
+ row = col.row()
+ row.prop(con, "map_to_x_from", expand=False, text="")
+ row.label(text=" %s X" % chr(187))
+
+ row = col.row()
+ row.prop(con, "map_to_y_from", expand=False, text="")
+ row.label(text=" %s Y" % chr(187))
+
+ row = col.row()
+ row.prop(con, "map_to_z_from", expand=False, text="")
+ row.label(text=" %s Z" % chr(187))
+
split = layout.split()
col = split.column()
@@ -661,7 +679,6 @@ class ConstraintButtonsPanel():
col = split.column()
col.label(text="X:")
- col.row().prop(con, "map_to_x_from", expand=True)
sub = col.column(align=True)
sub.prop(con, "to_min_x", text="Min")
@@ -669,7 +686,6 @@ class ConstraintButtonsPanel():
col = split.column()
col.label(text="Y:")
- col.row().prop(con, "map_to_y_from", expand=True)
sub = col.column(align=True)
sub.prop(con, "to_min_y", text="Min")
@@ -677,7 +693,6 @@ class ConstraintButtonsPanel():
col = split.column()
col.label(text="Z:")
- col.row().prop(con, "map_to_z_from", expand=True)
sub = col.column(align=True)
sub.prop(con, "to_min_z", text="Min")
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index 5037308c6fd..4c92296dacd 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -168,10 +168,8 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
if psys != None and psys.is_edited:
if psys.is_global_hair:
layout.operator("particle.connect_hair")
- layout.label(text="Hair is disconnected.")
else:
layout.operator("particle.disconnect_hair")
- layout.label(text="")
elif psys != None and part.type == 'REACTOR':
split.enabled = particle_panel_enabled(context, psys)
split.prop(psys, "reactor_target_object")
@@ -881,6 +879,15 @@ class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
col = row.column()
col.prop(part, "billboard_offset")
+ row = layout.row()
+ col = row.column()
+ col.prop(part, "billboard_size", text="Scale")
+ if part.billboard_align == 'VEL':
+ col = row.column(align=True)
+ col.label("Velocity Scale:")
+ col.prop(part, "billboard_velocity_head", text="Head")
+ col.prop(part, "billboard_velocity_tail", text="Tail")
+
if psys:
col = layout.column()
col.prop_search(psys, "billboard_normal_uv", ob.data, "uv_textures")
diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py
index 5da89d0090a..c7e3a9e7220 100644
--- a/release/scripts/startup/bl_ui/properties_physics_fluid.py
+++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py
@@ -257,6 +257,7 @@ class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel):
col.prop(fluid, "slip_type", text="")
if fluid.slip_type == 'PARTIALSLIP':
col.prop(fluid, "partial_slip_factor", slider=True, text="Amount")
+ col.prop(fluid, "surface_noobs")
col = split.column()
col.label(text="Surface:")
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index a3b10702fa7..6d36db29a6c 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -141,6 +141,7 @@ class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel):
col.prop(rl, "use_pass_uv")
col.prop(rl, "use_pass_mist")
col.prop(rl, "use_pass_object_index")
+ col.prop(rl, "use_pass_material_index")
col.prop(rl, "use_pass_color")
col = split.column()
@@ -172,8 +173,130 @@ class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel):
row.prop(rl, "exclude_refraction", text="")
+class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
+ bl_label = "Dimensions"
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ scene = context.scene
+ rd = scene.render
+
+ row = layout.row(align=True)
+ row.menu("RENDER_MT_presets", text=bpy.types.RENDER_MT_presets.bl_label)
+ row.operator("render.preset_add", text="", icon="ZOOMIN")
+ row.operator("render.preset_add", text="", icon="ZOOMOUT").remove_active = True
+
+ split = layout.split()
+
+ col = split.column()
+ sub = col.column(align=True)
+ sub.label(text="Resolution:")
+ sub.prop(rd, "resolution_x", text="X")
+ sub.prop(rd, "resolution_y", text="Y")
+ sub.prop(rd, "resolution_percentage", text="")
+
+ sub.label(text="Aspect Ratio:")
+ sub.prop(rd, "pixel_aspect_x", text="X")
+ sub.prop(rd, "pixel_aspect_y", text="Y")
+
+ row = col.row()
+ row.prop(rd, "use_border", text="Border")
+ sub = row.row()
+ sub.active = rd.use_border
+ sub.prop(rd, "use_crop_to_border", text="Crop")
+
+ col = split.column()
+ sub = col.column(align=True)
+ sub.label(text="Frame Range:")
+ sub.prop(scene, "frame_start", text="Start")
+ sub.prop(scene, "frame_end", text="End")
+ sub.prop(scene, "frame_step", text="Step")
+
+ sub.label(text="Frame Rate:")
+ if rd.fps_base == 1:
+ fps_rate = round(rd.fps / rd.fps_base)
+ else:
+ fps_rate = round(rd.fps / rd.fps_base, 2)
+
+ # TODO: Change the following to iterate over existing presets
+ custom_framerate = (fps_rate not in {23.98, 24, 25, 29.97, 30, 50, 59.94, 60})
+
+ if custom_framerate == True:
+ fps_label_text = "Custom (" + str(fps_rate) + " fps)"
+ else:
+ fps_label_text = str(fps_rate) + " fps"
+
+ sub.menu("RENDER_MT_framerate_presets", text=fps_label_text)
+
+ if custom_framerate or (bpy.types.RENDER_MT_framerate_presets.bl_label == "Custom"):
+ sub.prop(rd, "fps")
+ sub.prop(rd, "fps_base", text="/")
+ subrow = sub.row(align=True)
+ subrow.label(text="Time Remapping:")
+ subrow = sub.row(align=True)
+ subrow.prop(rd, "frame_map_old", text="Old")
+ subrow.prop(rd, "frame_map_new", text="New")
+
+
+class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel):
+ bl_label = "Anti-Aliasing"
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+ def draw_header(self, context):
+ rd = context.scene.render
+
+ self.layout.prop(rd, "use_antialiasing", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ rd = context.scene.render
+ layout.active = rd.use_antialiasing
+
+ split = layout.split()
+
+ col = split.column()
+ col.row().prop(rd, "antialiasing_samples", expand=True)
+ sub = col.row()
+ sub.enabled = not rd.use_border
+ sub.prop(rd, "use_full_sample")
+
+ col = split.column()
+ col.prop(rd, "pixel_filter_type", text="")
+ col.prop(rd, "filter_size", text="Size")
+
+
+class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel):
+ bl_label = "Sampled Motion Blur"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+ @classmethod
+ def poll(cls, context):
+ rd = context.scene.render
+ return not rd.use_full_sample and (rd.engine in cls.COMPAT_ENGINES)
+
+ def draw_header(self, context):
+ rd = context.scene.render
+
+ self.layout.prop(rd, "use_motion_blur", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ rd = context.scene.render
+ layout.active = rd.use_motion_blur
+
+ row = layout.row()
+ row.prop(rd, "motion_blur_samples")
+ row.prop(rd, "motion_blur_shutter")
+
+
class RENDER_PT_shading(RenderButtonsPanel, bpy.types.Panel):
bl_label = "Shading"
+ bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
def draw(self, context):
@@ -254,8 +377,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel):
col.prop(rd, "use_compositing")
col.prop(rd, "use_sequencer")
- col = split.column()
- col.prop(rd, "dither_intensity", text="Dither", slider=True)
+ split.prop(rd, "dither_intensity", text="Dither", slider=True)
layout.separator()
@@ -276,6 +398,51 @@ class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel):
sub.prop(rd, "edge_color", text="")
+class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel):
+ bl_label = "Stamp"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+ def draw_header(self, context):
+ rd = context.scene.render
+
+ self.layout.prop(rd, "use_stamp", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ rd = context.scene.render
+
+ layout.active = rd.use_stamp
+
+ split = layout.split()
+
+ col = split.column()
+ col.prop(rd, "use_stamp_time", text="Time")
+ col.prop(rd, "use_stamp_date", text="Date")
+ col.prop(rd, "use_stamp_render_time", text="RenderTime")
+ col.prop(rd, "use_stamp_frame", text="Frame")
+ col.prop(rd, "use_stamp_scene", text="Scene")
+ col.prop(rd, "use_stamp_camera", text="Camera")
+ col.prop(rd, "use_stamp_lens", text="Lens")
+ col.prop(rd, "use_stamp_filename", text="Filename")
+ col.prop(rd, "use_stamp_marker", text="Marker")
+ col.prop(rd, "use_stamp_sequencer_strip", text="Seq. Strip")
+
+ col = split.column()
+ col.active = rd.use_stamp
+ col.prop(rd, "stamp_foreground", slider=True)
+ col.prop(rd, "stamp_background", slider=True)
+ col.separator()
+ col.prop(rd, "stamp_font_size", text="Font Size")
+
+ row = layout.split(percentage=0.2)
+ row.prop(rd, "use_stamp_note", text="Note")
+ sub = row.row()
+ sub.active = rd.use_stamp_note
+ sub.prop(rd, "stamp_note_text", text="")
+
+
class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel):
bl_label = "Output"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -433,172 +600,6 @@ class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
split.prop(rd, "ffmpeg_audio_volume", slider=True)
-class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel):
- bl_label = "Anti-Aliasing"
- COMPAT_ENGINES = {'BLENDER_RENDER'}
-
- def draw_header(self, context):
- rd = context.scene.render
-
- self.layout.prop(rd, "use_antialiasing", text="")
-
- def draw(self, context):
- layout = self.layout
-
- rd = context.scene.render
- layout.active = rd.use_antialiasing
-
- split = layout.split()
-
- col = split.column()
- col.row().prop(rd, "antialiasing_samples", expand=True)
- sub = col.row()
- sub.enabled = not rd.use_border
- sub.prop(rd, "use_full_sample")
-
- col = split.column()
- col.prop(rd, "pixel_filter_type", text="")
- col.prop(rd, "filter_size", text="Size")
-
-
-class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel):
- bl_label = "Sampled Motion Blur"
- bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER'}
-
- @classmethod
- def poll(cls, context):
- rd = context.scene.render
- return not rd.use_full_sample and (rd.engine in cls.COMPAT_ENGINES)
-
- def draw_header(self, context):
- rd = context.scene.render
-
- self.layout.prop(rd, "use_motion_blur", text="")
-
- def draw(self, context):
- layout = self.layout
-
- rd = context.scene.render
- layout.active = rd.use_motion_blur
-
- row = layout.row()
- row.prop(rd, "motion_blur_samples")
- row.prop(rd, "motion_blur_shutter")
-
-
-class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
- bl_label = "Dimensions"
- COMPAT_ENGINES = {'BLENDER_RENDER'}
-
- def draw(self, context):
- layout = self.layout
-
- scene = context.scene
- rd = scene.render
-
- row = layout.row(align=True)
- row.menu("RENDER_MT_presets", text=bpy.types.RENDER_MT_presets.bl_label)
- row.operator("render.preset_add", text="", icon="ZOOMIN")
- row.operator("render.preset_add", text="", icon="ZOOMOUT").remove_active = True
-
- split = layout.split()
-
- col = split.column()
- sub = col.column(align=True)
- sub.label(text="Resolution:")
- sub.prop(rd, "resolution_x", text="X")
- sub.prop(rd, "resolution_y", text="Y")
- sub.prop(rd, "resolution_percentage", text="")
-
- sub.label(text="Aspect Ratio:")
- sub.prop(rd, "pixel_aspect_x", text="X")
- sub.prop(rd, "pixel_aspect_y", text="Y")
-
- row = col.row()
- row.prop(rd, "use_border", text="Border")
- sub = row.row()
- sub.active = rd.use_border
- sub.prop(rd, "use_crop_to_border", text="Crop")
-
- col = split.column()
- sub = col.column(align=True)
- sub.label(text="Frame Range:")
- sub.prop(scene, "frame_start", text="Start")
- sub.prop(scene, "frame_end", text="End")
- sub.prop(scene, "frame_step", text="Step")
-
- sub.label(text="Frame Rate:")
- if rd.fps_base == 1:
- fps_rate = round(rd.fps / rd.fps_base)
- else:
- fps_rate = round(rd.fps / rd.fps_base, 2)
-
- # TODO: Change the following to iterate over existing presets
- custom_framerate = (fps_rate not in {23.98, 24, 25, 29.97, 30, 50, 59.94, 60})
-
- if custom_framerate == True:
- fps_label_text = "Custom (" + str(fps_rate) + " fps)"
- else:
- fps_label_text = str(fps_rate) + " fps"
-
- sub.menu("RENDER_MT_framerate_presets", text=fps_label_text)
-
- if custom_framerate or (bpy.types.RENDER_MT_framerate_presets.bl_label == "Custom"):
- sub.prop(rd, "fps")
- sub.prop(rd, "fps_base", text="/")
- subrow = sub.row(align=True)
- subrow.label(text="Time Remapping:")
- subrow = sub.row(align=True)
- subrow.prop(rd, "frame_map_old", text="Old")
- subrow.prop(rd, "frame_map_new", text="New")
-
-
-class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel):
- bl_label = "Stamp"
- bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER'}
-
- def draw_header(self, context):
- rd = context.scene.render
-
- self.layout.prop(rd, "use_stamp", text="")
-
- def draw(self, context):
- layout = self.layout
-
- rd = context.scene.render
-
- layout.active = rd.use_stamp
-
- split = layout.split()
-
- col = split.column()
- col.prop(rd, "use_stamp_time", text="Time")
- col.prop(rd, "use_stamp_date", text="Date")
- col.prop(rd, "use_stamp_render_time", text="RenderTime")
- col.prop(rd, "use_stamp_frame", text="Frame")
- col.prop(rd, "use_stamp_scene", text="Scene")
- col.prop(rd, "use_stamp_camera", text="Camera")
- col.prop(rd, "use_stamp_lens", text="Lens")
- col.prop(rd, "use_stamp_filename", text="Filename")
- col.prop(rd, "use_stamp_marker", text="Marker")
- col.prop(rd, "use_stamp_sequencer_strip", text="Seq. Strip")
-
- col = split.column()
- col.active = rd.use_stamp
- col.prop(rd, "stamp_foreground", slider=True)
- col.prop(rd, "stamp_background", slider=True)
- col.separator()
- col.prop(rd, "stamp_font_size", text="Font Size")
-
- row = layout.split(percentage=0.2)
- row.prop(rd, "use_stamp_note", text="Note")
- sub = row.row()
- sub.active = rd.use_stamp_note
- sub.prop(rd, "stamp_note_text", text="")
-
-
class RENDER_PT_bake(RenderButtonsPanel, bpy.types.Panel):
bl_label = "Bake"
bl_options = {'DEFAULT_CLOSED'}
@@ -613,29 +614,42 @@ class RENDER_PT_bake(RenderButtonsPanel, bpy.types.Panel):
layout.prop(rd, "bake_type")
- if rd.bake_type == 'NORMALS':
- layout.prop(rd, "bake_normal_space")
- elif rd.bake_type in {'DISPLACEMENT', 'AO'}:
- layout.prop(rd, "use_bake_normalize")
+ multires_bake = False
+ if rd.bake_type in ['NORMALS', 'DISPLACEMENT']:
+ layout.prop(rd, 'use_bake_multires')
+ multires_bake = rd.use_bake_multires
- # col.prop(rd, "bake_aa_mode")
- # col.prop(rd, "use_bake_antialiasing")
+ if not multires_bake:
+ if rd.bake_type == 'NORMALS':
+ layout.prop(rd, "bake_normal_space")
+ elif rd.bake_type in {'DISPLACEMENT', 'AO'}:
+ layout.prop(rd, "use_bake_normalize")
- layout.separator()
+ # col.prop(rd, "bake_aa_mode")
+ # col.prop(rd, "use_bake_antialiasing")
- split = layout.split()
+ layout.separator()
- col = split.column()
- col.prop(rd, "use_bake_clear")
- col.prop(rd, "bake_margin")
- col.prop(rd, "bake_quad_split", text="Split")
+ split = layout.split()
+
+ col = split.column()
+ col.prop(rd, "use_bake_clear")
+ col.prop(rd, "bake_margin")
+ col.prop(rd, "bake_quad_split", text="Split")
+
+ col = split.column()
+ col.prop(rd, "use_bake_selected_to_active")
+ sub = col.column()
+ sub.active = rd.use_bake_selected_to_active
+ sub.prop(rd, "bake_distance")
+ sub.prop(rd, "bake_bias")
+ else:
+ if rd.bake_type == 'DISPLACEMENT':
+ layout.prop(rd, "use_bake_lores_mesh")
+
+ layout.prop(rd, "use_bake_clear")
+ layout.prop(rd, "bake_margin")
- col = split.column()
- col.prop(rd, "use_bake_selected_to_active")
- sub = col.column()
- sub.active = rd.use_bake_selected_to_active
- sub.prop(rd, "bake_distance")
- sub.prop(rd, "bake_bias")
if __name__ == "__main__": # only for live edit.
bpy.utils.register_module(__name__)
diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py
index 01890bc3c99..7ca8818cbd2 100644
--- a/release/scripts/startup/bl_ui/properties_texture.py
+++ b/release/scripts/startup/bl_ui/properties_texture.py
@@ -88,15 +88,15 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel):
@classmethod
def poll(cls, context):
engine = context.scene.render.engine
- if not hasattr(context, "texture_slot"):
+ if not (hasattr(context, "texture_slot") or hasattr(context, "texture_node")):
return False
return ((context.material or context.world or context.lamp or context.brush or context.texture or context.particle_system or isinstance(context.space_data.pin_id, bpy.types.ParticleSettings))
and (engine in cls.COMPAT_ENGINES))
def draw(self, context):
layout = self.layout
- slot = context.texture_slot
- node = context.texture_node
+ slot = getattr(context, "texture_slot", None)
+ node = getattr(context, "texture_node", None)
space = context.space_data
tex = context.texture
idblock = context_tex_datablock(context)
@@ -208,7 +208,7 @@ class TextureSlotPanel(TextureButtonsPanel):
return False
engine = context.scene.render.engine
- return TextureButtonsPanel.poll(self, context) and (engine in cls.COMPAT_ENGINES)
+ return TextureButtonsPanel.poll(cls, context) and (engine in cls.COMPAT_ENGINES)
# Texture Type Panels #
@@ -393,7 +393,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
idblock = context_tex_datablock(context)
tex = context.texture
- slot = context.texture_slot
+ slot = getattr(context, "texture_slot", None)
split = layout.split()
@@ -408,7 +408,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
col = split.column()
#Only for Material based textures, not for Lamp/World...
- if isinstance(idblock, bpy.types.Material):
+ if slot and isinstance(idblock, bpy.types.Material):
col.prop(tex, "use_normal_map")
row = col.row()
row.active = tex.use_normal_map
diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py
index 4f398c9fbd9..c577af01374 100644
--- a/release/scripts/startup/bl_ui/properties_world.py
+++ b/release/scripts/startup/bl_ui/properties_world.py
@@ -20,8 +20,6 @@
import bpy
from rna_prop_ui import PropertyPanel
-# TODO, "color_range" not in the UI
-
class WorldButtonsPanel():
bl_space_type = 'PROPERTIES'
@@ -96,6 +94,10 @@ class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel):
col.active = world.use_sky_blend
row.column().prop(world, "ambient_color")
+ row = layout.row()
+ row.prop(world, "exposure")
+ row.prop(world, "color_range")
+
class WORLD_PT_ambient_occlusion(WorldButtonsPanel, bpy.types.Panel):
bl_label = "Ambient Occlusion"
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 77583b80824..fa5579ea2e0 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -198,6 +198,10 @@ class IMAGE_MT_uvs_transform(bpy.types.Menu):
layout.operator("transform.rotate")
layout.operator("transform.resize")
+ layout.separator()
+
+ layout.operator("transform.shear")
+
class IMAGE_MT_uvs_snap(bpy.types.Menu):
bl_label = "Snap"
@@ -434,9 +438,9 @@ class IMAGE_PT_game_properties(bpy.types.Panel):
@classmethod
def poll(cls, context):
- rd = context.scene.render
sima = context.space_data
- return (sima and sima.image) and (rd.engine == 'BLENDER_GAME')
+ # display even when not in game mode because these settings effect the 3d view
+ return (sima and sima.image) # and (rd.engine == 'BLENDER_GAME')
def draw(self, context):
layout = self.layout
@@ -615,10 +619,9 @@ class IMAGE_PT_view_properties(bpy.types.Panel):
split = layout.split()
col = split.column()
+ col.prop(uvedit, "show_faces")
col.prop(uvedit, "show_smooth_edges", text="Smooth")
col.prop(uvedit, "show_modified_edges", text="Modified")
- #col.prop(uvedit, "show_edges")
- #col.prop(uvedit, "show_faces")
col = split.column()
col.prop(uvedit, "show_stretch", text="Stretch")
diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py
index 1fb2e5b735e..f66cee7f431 100644
--- a/release/scripts/startup/bl_ui/space_info.py
+++ b/release/scripts/startup/bl_ui/space_info.py
@@ -61,7 +61,9 @@ class INFO_HT_header(bpy.types.Header):
layout.template_reports_banner()
- layout.label(text=scene.statistics())
+ row = layout.row(align=True)
+ row.operator("wm.splash", text="", icon='BLENDER', emboss=False)
+ row.label(text=scene.statistics())
# XXX: this should be right-aligned to the RHS of the region
layout.operator("wm.window_fullscreen_toggle", icon='FULLSCREEN_ENTER', text="")
@@ -350,7 +352,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-257/'
+ layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-258/'
layout.separator()
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index fed1cc49c4c..2088d8798f2 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -138,6 +138,7 @@ class NODE_MT_node(bpy.types.Menu):
layout.operator("node.duplicate_move")
layout.operator("node.delete")
+ layout.operator("node.delete_reconnect")
layout.separator()
layout.operator("node.link_make")
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 2079aef6402..c477a2ff62b 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -42,7 +42,7 @@ class SEQUENCER_HT_header(bpy.types.Header):
sub = row.row(align=True)
sub.menu("SEQUENCER_MT_view")
- if (st.view_type == 'SEQUENCER') or (st.view_type == 'SEQUENCER_PREVIEW'):
+ if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}:
sub.menu("SEQUENCER_MT_select")
sub.menu("SEQUENCER_MT_marker")
sub.menu("SEQUENCER_MT_add")
@@ -50,17 +50,17 @@ class SEQUENCER_HT_header(bpy.types.Header):
layout.prop(st, "view_type", expand=True, text="")
- if (st.view_type == 'PREVIEW') or (st.view_type == 'SEQUENCER_PREVIEW'):
+ if st.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'}:
layout.prop(st, "display_mode", expand=True, text="")
- if (st.view_type == 'SEQUENCER'):
+ if st.view_type == 'SEQUENCER':
row = layout.row(align=True)
row.operator("sequencer.copy", text="", icon='COPYDOWN')
row.operator("sequencer.paste", text="", icon='PASTEDOWN')
layout.separator()
layout.operator("sequencer.refresh_all")
- elif (st.view_type == 'SEQUENCER_PREVIEW'):
+ elif st.view_type == 'SEQUENCER_PREVIEW':
layout.separator()
layout.operator("sequencer.refresh_all")
layout.prop(st, "display_channel", text="Channel")
@@ -101,9 +101,9 @@ class SEQUENCER_MT_view(bpy.types.Menu):
layout.separator()
- if (st.view_type == 'SEQUENCER') or (st.view_type == 'SEQUENCER_PREVIEW'):
+ if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}:
layout.operator("sequencer.view_all", text='View all Sequences')
- if (st.view_type == 'PREVIEW') or (st.view_type == 'SEQUENCER_PREVIEW'):
+ if st.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'}:
layout.operator_context = 'INVOKE_REGION_PREVIEW'
layout.operator("sequencer.view_all_preview", text='Fit preview in window')
layout.operator("sequencer.view_zoom_ratio", text='Show preview 1:1').ratio = 1.0
@@ -213,6 +213,7 @@ class SEQUENCER_MT_add_effect(bpy.types.Menu):
layout.operator("sequencer.effect_strip_add", text="Color").type = 'COLOR'
layout.operator("sequencer.effect_strip_add", text="Speed Control").type = 'SPEED'
layout.operator("sequencer.effect_strip_add", text="Multicam Selector").type = 'MULTICAM'
+ layout.operator("sequencer.effect_strip_add", text="Adjustment Layer").type = 'ADJUSTMENT'
class SEQUENCER_MT_strip(bpy.types.Menu):
@@ -299,7 +300,7 @@ class SequencerButtonsPanel():
@staticmethod
def has_sequencer(context):
- return (context.space_data.view_type == 'SEQUENCER') or (context.space_data.view_type == 'SEQUENCER_PREVIEW')
+ return (context.space_data.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'})
@classmethod
def poll(cls, context):
@@ -312,7 +313,7 @@ class SequencerButtonsPanel_Output():
@staticmethod
def has_preview(context):
- return (context.space_data.view_type == 'PREVIEW') or (context.space_data.view_type == 'SEQUENCER_PREVIEW')
+ return (context.space_data.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'})
@classmethod
def poll(cls, context):
@@ -391,7 +392,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
'PLUGIN',
'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'SPEED',
- 'MULTICAM'}
+ 'MULTICAM', 'ADJUSTMENT'}
def draw(self, context):
layout = self.layout
@@ -530,7 +531,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
'PLUGIN',
'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
- 'MULTICAM', 'SPEED'}
+ 'MULTICAM', 'SPEED', 'ADJUSTMENT'}
def draw(self, context):
layout = self.layout
@@ -656,11 +657,17 @@ class SEQUENCER_PT_scene(SequencerButtonsPanel, bpy.types.Panel):
layout.template_ID(strip, "scene")
+ scene = strip.scene
+ if scene:
+ layout.prop(scene.render, "use_sequencer")
+
layout.label(text="Camera Override")
layout.template_ID(strip, "scene_camera")
- sce = strip.scene
- layout.label(text="Original frame range: %d-%d (%d)" % (sce.frame_start, sce.frame_end, sce.frame_end - sce.frame_start + 1))
+ if scene:
+ sta = scene.frame_start
+ end = scene.frame_end
+ layout.label(text="Original frame range: %d-%d (%d)" % (sta, end, end - sta + 1))
class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
@@ -680,7 +687,7 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
'PLUGIN',
'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
- 'MULTICAM', 'SPEED'}
+ 'MULTICAM', 'SPEED', 'ADJUSTMENT'}
def draw(self, context):
layout = self.layout
diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py
index 3d3fc8499af..b787fc5cf75 100644
--- a/release/scripts/startup/bl_ui/space_text.py
+++ b/release/scripts/startup/bl_ui/space_text.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
@@ -33,19 +33,21 @@ class TEXT_HT_header(bpy.types.Header):
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
- sub.menu("TEXT_MT_view")
- sub.menu("TEXT_MT_text")
+ row.menu("TEXT_MT_view")
+ row.menu("TEXT_MT_text")
+
if text:
- sub.menu("TEXT_MT_edit")
- sub.menu("TEXT_MT_format")
+ row.menu("TEXT_MT_edit")
+ row.menu("TEXT_MT_format")
+
+ row.menu("TEXT_MT_templates")
if text and text.is_modified:
- row = layout.row()
- # row.color(redalert)
- row.operator("text.resolve_conflict", text="", icon='HELP')
+ sub = row.row()
+ sub.alert = True
+ sub.operator("text.resolve_conflict", text="", icon='HELP')
- layout.template_ID(st, "text", new="text.new", unlink="text.unlink")
+ row.template_ID(st, "text", new="text.new", unlink="text.unlink")
row = layout.row(align=True)
row.prop(st, "show_line_numbers", text="")
@@ -63,11 +65,13 @@ class TEXT_HT_header(bpy.types.Header):
row = layout.row()
if text.filepath:
if text.is_dirty:
- row.label(text="File: *%s (unsaved)" % text.filepath)
+ row.label(text="File: *%r (unsaved)" % text.filepath)
else:
- row.label(text="File: %s" % text.filepath)
+ row.label(text="File: %r" % text.filepath)
else:
- row.label(text="Text: External" if text.library else "Text: Internal")
+ row.label(text="Text: External"
+ if text.library
+ else "Text: Internal")
class TEXT_PT_properties(bpy.types.Panel):
@@ -129,6 +133,7 @@ class TEXT_PT_find(bpy.types.Panel):
layout.operator("text.mark_all")
# settings
+ layout.prop(st, "use_match_case")
row = layout.row()
row.prop(st, "use_find_wrap", text="Wrap")
row.prop(st, "use_find_all", text="All")
@@ -149,8 +154,12 @@ class TEXT_MT_view(bpy.types.Menu):
layout.separator()
- layout.operator("text.move", text="Top of File").type = 'FILE_TOP'
- layout.operator("text.move", text="Bottom of File").type = 'FILE_BOTTOM'
+ layout.operator("text.move",
+ text="Top of File",
+ ).type = 'FILE_TOP'
+ layout.operator("text.move",
+ text="Bottom of File",
+ ).type = 'FILE_BOTTOM'
class TEXT_MT_text(bpy.types.Menu):
@@ -184,19 +193,15 @@ class TEXT_MT_text(bpy.types.Menu):
# XXX uiMenuItemO(head, 0, "text.refresh_pyconstraints");
#endif
- layout.separator()
-
- layout.menu("TEXT_MT_templates")
-
class TEXT_MT_templates(bpy.types.Menu):
- '''
- Creates the menu items by scanning scripts/templates
- '''
- bl_label = "Script Templates"
+ bl_label = "Templates"
def draw(self, context):
- self.path_menu(bpy.utils.script_paths("templates"), "text.open", {"internal": True})
+ self.path_menu(bpy.utils.script_paths("templates"),
+ "text.open",
+ {"internal": True},
+ )
class TEXT_MT_edit_select(bpy.types.Menu):
@@ -245,8 +250,12 @@ class TEXT_MT_edit_to3d(bpy.types.Menu):
def draw(self, context):
layout = self.layout
- layout.operator("text.to_3d_object", text="One Object").split_lines = False
- layout.operator("text.to_3d_object", text="One Object Per Line").split_lines = True
+ layout.operator("text.to_3d_object",
+ text="One Object",
+ ).split_lines = False
+ layout.operator("text.to_3d_object",
+ text="One Object Per Line",
+ ).split_lines = True
class TEXT_MT_edit(bpy.types.Menu):
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index bf396e98c79..576709c6072 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -94,7 +94,7 @@ class USERPREF_HT_header(bpy.types.Header):
layout.operator("wm.keyconfig_import")
elif userpref.active_section == 'ADDONS':
layout.operator("wm.addon_install")
- layout.menu("USERPREF_MT_addons_dev_guides", text=" Addons Developer Guides", icon='INFO')
+ layout.menu("USERPREF_MT_addons_dev_guides")
elif userpref.active_section == 'THEMES':
layout.operator("ui.reset_default_theme")
@@ -126,7 +126,7 @@ class USERPREF_MT_appconfigs(bpy.types.Menu):
preset_operator = "wm.appconfig_activate"
def draw(self, context):
- props = self.layout.operator("wm.appconfig_default", text="Blender (default)")
+ self.layout.operator("wm.appconfig_default", text="Blender (default)")
# now draw the presets
bpy.types.Menu.draw_preset(self, context)
@@ -199,6 +199,7 @@ class USERPREF_PT_interface(bpy.types.Panel):
col.prop(view, "use_zoom_to_mouse")
col.prop(view, "use_rotate_around_active")
col.prop(view, "use_global_pivot")
+ col.prop(view, "use_camera_lock_parent")
col.separator()
@@ -437,6 +438,8 @@ class USERPREF_PT_system(bpy.types.Panel):
col.label(text="OpenGL:")
col.prop(system, "gl_clip_alpha", slider=True)
col.prop(system, "use_mipmaps")
+ col.label(text="Anisotropic Filtering")
+ col.prop(system, "anisotropic_filter", text="")
col.prop(system, "use_vertex_buffer_objects")
#Anti-aliasing is disabled as it breaks broder/lasso select
#col.prop(system, "use_antialiasing")
@@ -752,7 +755,7 @@ class USERPREF_PT_file(bpy.types.Panel):
from bl_ui.space_userpref_keymap import InputKeyMapPanel
-class USERPREF_PT_input(InputKeyMapPanel):
+class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "Input"
@@ -846,17 +849,14 @@ class USERPREF_PT_input(InputKeyMapPanel):
class USERPREF_MT_addons_dev_guides(bpy.types.Menu):
- bl_label = "Addons develoment guides"
+ bl_label = "Development Guides"
# menu to open webpages with addons development guides
def draw(self, context):
layout = self.layout
- layout.operator('wm.url_open', text='API Concepts'
- ).url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro'
- layout.operator('wm.url_open', text='Addons guidelines',
- ).url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Guidelines/Addons'
- layout.operator('wm.url_open', text='How to share your addon',
- ).url = 'http://wiki.blender.org/index.php/Dev:Py/Sharing'
+ layout.operator('wm.url_open', text='API Concepts', icon='URL').url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro'
+ layout.operator('wm.url_open', text='Addon Guidelines', icon='URL').url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Guidelines/Addons'
+ 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):
@@ -876,6 +876,29 @@ class USERPREF_PT_addons(bpy.types.Panel):
def module_get(mod_name):
return USERPREF_PT_addons._addons_fake_modules[mod_name]
+ @staticmethod
+ def is_user_addon(mod, user_addon_paths):
+ if not user_addon_paths:
+ user_script_path = bpy.utils.user_script_path()
+ if user_script_path is not None:
+ user_addon_paths.append(os.path.join(user_script_path(), "addons"))
+ user_addon_paths.append(os.path.join(bpy.utils.resource_path('USER'), "scripts", "addons"))
+
+ for path in user_addon_paths:
+ if bpy.path.is_subdir(mod.__file__, path):
+ return True
+ return False
+
+ @staticmethod
+ def draw_error(layout, message):
+ lines = message.split("\n")
+ box = layout.box()
+ rowsub = box.row()
+ rowsub.label(lines[0])
+ rowsub.label(icon='ERROR')
+ for l in lines[1:]:
+ box.label(l)
+
def draw(self, context):
layout = self.layout
@@ -888,6 +911,7 @@ class USERPREF_PT_addons(bpy.types.Panel):
split = layout.split(percentage=0.2)
col = split.column()
col.prop(context.window_manager, "addon_search", text="", icon='VIEWZOOM')
+ col.label(text="Categories")
col.prop(context.window_manager, "addon_filter", expand=True)
col.label(text="Supported Level")
@@ -895,10 +919,21 @@ class USERPREF_PT_addons(bpy.types.Panel):
col = split.column()
+ # set in addon_utils.modules(...)
+ if addon_utils.error_duplicates:
+ self.draw_error(col,
+ "Multiple addons using the same name found!\n"
+ "likely a problem with the script search path.\n"
+ "(see console for details)",
+ )
+
filter = context.window_manager.addon_filter
search = context.window_manager.addon_search.lower()
support = context.window_manager.addon_support
+ # initialized on demand
+ user_addon_paths = []
+
for mod, info in addons:
module_name = mod.__name__
@@ -968,18 +1003,21 @@ class USERPREF_PT_addons(bpy.types.Panel):
split = colsub.row().split(percentage=0.15)
split.label(text="Warning:")
split.label(text=' ' + info["warning"], icon='ERROR')
- if info["wiki_url"] or info["tracker_url"]:
+
+ user_addon = USERPREF_PT_addons.is_user_addon(mod, user_addon_paths)
+ tot_row = bool(info["wiki_url"]) + bool(info["tracker_url"]) + bool(user_addon)
+
+ if tot_row:
split = colsub.row().split(percentage=0.15)
split.label(text="Internet:")
if info["wiki_url"]:
split.operator("wm.url_open", text="Link to the Wiki", icon='HELP').url = info["wiki_url"]
if info["tracker_url"]:
split.operator("wm.url_open", text="Report a Bug", icon='URL').url = info["tracker_url"]
+ if user_addon:
+ split.operator("wm.addon_remove", text="Remove", icon='CANCEL').module = mod.__name__
- if info["wiki_url"] and info["tracker_url"]:
- split.separator()
- else:
- split.separator()
+ for i in range(4 - tot_row):
split.separator()
# Append missing scripts
@@ -1103,7 +1141,6 @@ class WM_OT_addon_install(bpy.types.Operator):
del pyfile_dir
# done checking for exceptional case
- addon_files_old = set(os.listdir(path_addons))
addons_old = {mod.__name__ for mod in addon_utils.modules(USERPREF_PT_addons._addons_fake_modules)}
#check to see if the file is in compressed format (.zip)
@@ -1116,7 +1153,7 @@ class WM_OT_addon_install(bpy.types.Operator):
if self.overwrite:
for f in file_to_extract.namelist():
- __class__._module_remove(path_addons, f)
+ WM_OT_addon_install._module_remove(path_addons, f)
else:
for f in file_to_extract.namelist():
path_dest = os.path.join(path_addons, os.path.basename(f))
@@ -1140,7 +1177,7 @@ class WM_OT_addon_install(bpy.types.Operator):
path_dest = os.path.join(path_addons, os.path.basename(pyfile))
if self.overwrite:
- __class__._module_remove(path_addons, os.path.basename(pyfile))
+ WM_OT_addon_install._module_remove(path_addons, os.path.basename(pyfile))
elif os.path.exists(path_dest):
self.report({'WARNING'}, "File already installed to %r\n" % path_dest)
return {'CANCELLED'}
@@ -1185,6 +1222,54 @@ class WM_OT_addon_install(bpy.types.Operator):
return {'RUNNING_MODAL'}
+class WM_OT_addon_remove(bpy.types.Operator):
+ "Disable an addon"
+ bl_idname = "wm.addon_remove"
+ bl_label = "Remove Add-On"
+
+ module = StringProperty(name="Module", description="Module name of the addon to remove")
+
+ @staticmethod
+ def path_from_addon(module):
+ for mod in addon_utils.modules(USERPREF_PT_addons._addons_fake_modules):
+ if mod.__name__ == module:
+ filepath = mod.__file__
+ if os.path.exists(filepath):
+ if os.path.splitext(os.path.basename(filepath))[0] == "__init__":
+ return os.path.dirname(filepath), True
+ else:
+ return filepath, False
+ return None, False
+
+ def execute(self, context):
+ path, isdir = WM_OT_addon_remove.path_from_addon(self.module)
+ if path is None:
+ self.report('WARNING', "Addon path %r could not be found" % path)
+ return {'CANCELLED'}
+
+ # incase its enabled
+ addon_utils.disable(self.module)
+
+ import shutil
+ if isdir:
+ shutil.rmtree(path)
+ else:
+ os.remove(path)
+
+ context.area.tag_redraw()
+ return {'FINISHED'}
+
+ # lame confirmation check
+ def draw(self, context):
+ self.layout.label(text="Remove Addon: %r?" % self.module)
+ path, isdir = WM_OT_addon_remove.path_from_addon(self.module)
+ self.layout.label(text="Path: %r" % path)
+
+ def invoke(self, context, event):
+ wm = context.window_manager
+ return wm.invoke_props_dialog(self, width=600)
+
+
class WM_OT_addon_expand(bpy.types.Operator):
"Display more information on this add-on"
bl_idname = "wm.addon_expand"
diff --git a/release/scripts/startup/bl_ui/space_userpref_keymap.py b/release/scripts/startup/bl_ui/space_userpref_keymap.py
index 378fe231091..85764c55304 100644
--- a/release/scripts/startup/bl_ui/space_userpref_keymap.py
+++ b/release/scripts/startup/bl_ui/space_userpref_keymap.py
@@ -138,7 +138,7 @@ class USERPREF_MT_keyconfigs(bpy.types.Menu):
bpy.types.Menu.draw_preset(self, context)
-class InputKeyMapPanel(bpy.types.Panel):
+class InputKeyMapPanel:
bl_space_type = 'USER_PREFERENCES'
bl_label = "Input"
bl_region_type = 'WINDOW'
@@ -189,9 +189,9 @@ class InputKeyMapPanel(bpy.types.Panel):
if km.is_modal:
row.label(text="", icon='LINKED')
if km.is_user_defined:
- op = row.operator("wm.keymap_restore", text="Restore")
+ row.operator("wm.keymap_restore", text="Restore")
else:
- op = row.operator("wm.keymap_edit", text="Edit")
+ row.operator("wm.keymap_edit", text="Edit")
if km.show_expanded_children:
if children:
@@ -213,7 +213,7 @@ class InputKeyMapPanel(bpy.types.Panel):
col = self.indented_layout(col, level + 1)
subcol = col.split(percentage=0.2).column()
subcol.enabled = km.is_user_defined
- op = subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
+ subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
col.separator()
@@ -234,7 +234,7 @@ class InputKeyMapPanel(bpy.types.Panel):
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):
- __class__.draw_kmi_properties(box, value, title=pname)
+ InputKeyMapPanel.draw_kmi_properties(box, value, title=pname)
else:
flow.prop(properties, pname)
@@ -325,7 +325,7 @@ class InputKeyMapPanel(bpy.types.Panel):
# Operator properties
props = kmi.properties
if props is not None:
- __class__.draw_kmi_properties(box, props)
+ InputKeyMapPanel.draw_kmi_properties(box, props)
# Modal key maps attached to this operator
if not km.is_modal:
@@ -351,9 +351,9 @@ class InputKeyMapPanel(bpy.types.Panel):
row.label()
if km.is_user_defined:
- op = row.operator("wm.keymap_restore", text="Restore")
+ row.operator("wm.keymap_restore", text="Restore")
else:
- op = row.operator("wm.keymap_edit", text="Edit")
+ row.operator("wm.keymap_edit", text="Edit")
for kmi in filtered_items:
self.draw_kmi(display_keymaps, kc, km, kmi, col, 1)
@@ -362,7 +362,7 @@ class InputKeyMapPanel(bpy.types.Panel):
col = self.indented_layout(layout, 1)
subcol = col.split(percentage=0.2).column()
subcol.enabled = km.is_user_defined
- op = subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
+ subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
def draw_hierarchy(self, display_keymaps, layout):
for entry in KM_HIERARCHY:
@@ -411,8 +411,8 @@ def export_properties(prefix, properties, lines=None):
if lines is None:
lines = []
- for pname in properties.keys():
- if not properties.is_property_hidden(pname):
+ 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):
export_properties(prefix + "." + pname, value, lines)
@@ -723,9 +723,7 @@ class WM_OT_keyitem_add(bpy.types.Operator):
bl_label = "Add Key Map Item"
def execute(self, context):
- wm = context.window_manager
km = context.keymap
- kc = wm.keyconfigs.default
if km.is_modal:
km.keymap_items.new_modal("", 'A', 'PRESS') # kmi
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 7d31bc39b0a..083c330f61d 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -54,21 +54,13 @@ class VIEW3D_HT_header(bpy.types.Header):
sub.menu("VIEW3D_MT_object")
row = layout.row()
+ # Contains buttons like Mode, Pivot, Manipulator, Layer, Mesh Select Mode...
row.template_header_3D()
- # do in C for now since these buttons cant be both toggle AND exclusive.
- '''
- if obj and obj.mode == 'EDIT' and obj.type == 'MESH':
- row_sub = row.row(align=True)
- row_sub.prop(toolsettings, "mesh_select_mode", text="", index=0, icon='VERTEXSEL')
- row_sub.prop(toolsettings, "mesh_select_mode", text="", index=1, icon='EDGESEL')
- row_sub.prop(toolsettings, "mesh_select_mode", text="", index=2, icon='FACESEL')
- '''
-
if obj:
# Particle edit
if obj.mode == 'PARTICLE_EDIT':
- row.prop(toolsettings.particle_edit, "select_mode", text="", expand=True, toggle=True)
+ row.prop(toolsettings.particle_edit, "select_mode", text="", expand=True)
# Occlude geometry
if view.viewport_shade in {'SOLID', 'SHADED', 'TEXTURED'} and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')):
@@ -87,16 +79,21 @@ class VIEW3D_HT_header(bpy.types.Header):
row.prop(toolsettings, "proportional_edit_falloff", text="", icon_only=True)
# Snap
+ snap_element = toolsettings.snap_element
row = layout.row(align=True)
row.prop(toolsettings, "use_snap", text="")
row.prop(toolsettings, "snap_element", text="", icon_only=True)
- if toolsettings.snap_element != 'INCREMENT':
+ if snap_element != 'INCREMENT':
row.prop(toolsettings, "snap_target", text="")
- if obj and obj.mode == 'OBJECT':
- row.prop(toolsettings, "use_snap_align_rotation", text="")
- if toolsettings.snap_element == 'VOLUME':
+ if obj:
+ if obj.mode == 'OBJECT':
+ row.prop(toolsettings, "use_snap_align_rotation", text="")
+ elif obj.mode == 'EDIT':
+ row.prop(toolsettings, "use_snap_self", text="")
+
+ if snap_element == 'VOLUME':
row.prop(toolsettings, "use_snap_peel_object", text="")
- elif toolsettings.snap_element == 'FACE':
+ elif snap_element == 'FACE':
row.prop(toolsettings, "use_snap_project", text="")
# OpenGL render
@@ -685,6 +682,7 @@ class VIEW3D_MT_object(bpy.types.Menu):
layout.operator("ed.undo")
layout.operator("ed.redo")
+ layout.operator("ed.undo_history")
layout.separator()
@@ -771,10 +769,16 @@ class VIEW3D_MT_object_specials(bpy.types.Menu):
if obj.type == 'CAMERA':
layout.operator_context = 'INVOKE_REGION_WIN'
- props = layout.operator("wm.context_modal_mouse", text="Camera Lens Angle")
- props.data_path_iter = "selected_editable_objects"
- props.data_path_item = "data.lens"
- props.input_scale = 0.1
+ if obj.data.type == 'PERSP':
+ props = layout.operator("wm.context_modal_mouse", text="Camera Lens Angle")
+ props.data_path_iter = "selected_editable_objects"
+ props.data_path_item = "data.lens"
+ props.input_scale = 0.1
+ else:
+ props = layout.operator("wm.context_modal_mouse", text="Camera Lens Scale")
+ props.data_path_iter = "selected_editable_objects"
+ props.data_path_item = "data.ortho_scale"
+ props.input_scale = 0.01
if not obj.data.dof_object:
#layout.label(text="Test Has DOF obj");
@@ -1049,6 +1053,7 @@ class VIEW3D_MT_paint_weight(bpy.types.Menu):
layout.operator("ed.undo")
layout.operator("ed.redo")
+ layout.operator("ed.undo_history")
layout.separator()
@@ -1096,17 +1101,18 @@ class VIEW3D_MT_sculpt(bpy.types.Menu):
layout.operator_menu_enum("brush.curve_preset", "shape")
layout.separator()
- sculpt_tool = brush.sculpt_tool
+ if brush is not None: # unlikely but can happen
+ sculpt_tool = brush.sculpt_tool
- if sculpt_tool != 'GRAB':
- layout.prop_menu_enum(brush, "stroke_method")
+ if sculpt_tool != 'GRAB':
+ layout.prop_menu_enum(brush, "stroke_method")
- if sculpt_tool in {'DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'}:
- layout.prop_menu_enum(brush, "direction")
+ if sculpt_tool in {'DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'}:
+ layout.prop_menu_enum(brush, "direction")
- if sculpt_tool == 'LAYER':
- layout.prop(brush, "use_persistent")
- layout.operator("sculpt.set_persistent_base")
+ if sculpt_tool == 'LAYER':
+ layout.prop(brush, "use_persistent")
+ layout.operator("sculpt.set_persistent_base")
layout.separator()
layout.prop(sculpt, "use_threaded", text="Threaded Sculpt")
@@ -1129,6 +1135,7 @@ class VIEW3D_MT_particle(bpy.types.Menu):
layout.operator("ed.undo")
layout.operator("ed.redo")
+ layout.operator("ed.undo_history")
layout.separator()
@@ -1182,6 +1189,7 @@ class VIEW3D_MT_pose(bpy.types.Menu):
layout.operator("ed.undo")
layout.operator("ed.redo")
+ layout.operator("ed.undo_history")
layout.separator()
@@ -1239,7 +1247,7 @@ class VIEW3D_MT_pose(bpy.types.Menu):
layout.separator()
layout.menu("VIEW3D_MT_pose_showhide")
- layout.operator_menu_enum("pose.flags_set", 'mode', text="Bone Settings")
+ layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings")
class VIEW3D_MT_pose_transform(bpy.types.Menu):
@@ -1360,6 +1368,49 @@ class VIEW3D_MT_pose_apply(bpy.types.Menu):
layout.operator("pose.visual_transform_apply")
+class BoneOptions:
+ def draw(self, context):
+ layout = self.layout
+
+ options = [
+ "show_wire",
+ "use_deform",
+ "use_envelope_multiply",
+ "use_inherit_rotation",
+ "use_inherit_scale",
+ ]
+
+ if context.mode == 'EDIT_ARMATURE':
+ bone_props = bpy.types.EditBone.bl_rna.properties
+ data_path_iter = "selected_bones"
+ opt_suffix = ""
+ options.append("lock")
+ else: # posemode
+ bone_props = bpy.types.Bone.bl_rna.properties
+ data_path_iter = "selected_pose_bones"
+ opt_suffix = "bone."
+
+ for opt in options:
+ props = layout.operator("wm.context_collection_boolean_set", text=bone_props[opt].name)
+ props.data_path_iter = data_path_iter
+ props.data_path_item = opt_suffix + opt
+ props.type = self.type
+
+
+class VIEW3D_MT_bone_options_toggle(bpy.types.Menu, BoneOptions):
+ bl_label = "Toggle Bone Options"
+ type = 'TOGGLE'
+
+
+class VIEW3D_MT_bone_options_enable(bpy.types.Menu, BoneOptions):
+ bl_label = "Enable Bone Options"
+ type = 'ENABLE'
+
+
+class VIEW3D_MT_bone_options_disable(bpy.types.Menu, BoneOptions):
+ bl_label = "Disable Bone Options"
+ type = 'DISABLE'
+
# ********** Edit Menus, suffix from ob.type **********
@@ -1373,6 +1424,7 @@ class VIEW3D_MT_edit_mesh(bpy.types.Menu):
layout.operator("ed.undo")
layout.operator("ed.redo")
+ layout.operator("ed.undo_history")
layout.separator()
@@ -1844,6 +1896,7 @@ class VIEW3D_MT_edit_meta(bpy.types.Menu):
layout.operator("ed.undo")
layout.operator("ed.redo")
+ layout.operator("ed.undo_history")
layout.separator()
@@ -1951,7 +2004,7 @@ class VIEW3D_MT_edit_armature(bpy.types.Menu):
layout.separator()
- layout.operator_menu_enum("armature.flags_set", "mode", text="Bone Settings")
+ layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings")
class VIEW3D_MT_armature_specials(bpy.types.Menu):
@@ -2024,6 +2077,9 @@ class VIEW3D_PT_view3d_properties(bpy.types.Panel):
elif not view.lock_object:
col.prop(view, "lock_cursor", text="Lock to Cursor")
+ col = layout.column()
+ col.prop(view, "lock_camera")
+
col = layout.column(align=True)
col.label(text="Clip:")
col.prop(view, "clip_start", text="Start")
@@ -2315,7 +2371,8 @@ class VIEW3D_PT_etch_a_ton(bpy.types.Panel):
col.prop(toolsettings, "use_etch_autoname")
col.prop(toolsettings, "etch_number")
col.prop(toolsettings, "etch_side")
- col.operator("sketch.convert", text="Convert")
+
+ col.operator("sketch.convert", text="Convert")
class VIEW3D_PT_context_properties(bpy.types.Panel):
@@ -2348,7 +2405,7 @@ class VIEW3D_PT_context_properties(bpy.types.Panel):
def draw(self, context):
import rna_prop_ui
- member = __class__._active_context_member(context)
+ member = VIEW3D_PT_context_properties._active_context_member(context)
if member:
# Draw with no edit button
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index a6db6fbdde8..91cfd22b3d6 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -58,8 +58,8 @@ def draw_gpencil_tools(context, layout):
row = col.row()
row.prop(context.tool_settings, "use_grease_pencil_sessions")
-# ********** default tools for objectmode ****************
+# ********** default tools for objectmode ****************
class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):
bl_context = "objectmode"
@@ -117,7 +117,8 @@ class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel):
col.operator("transform.translate")
col.operator("transform.rotate")
col.operator("transform.resize", text="Scale")
- col.operator("transform.shrink_fatten", text="Along Normal")
+ col.operator("transform.shrink_fatten", text="Shrink/Fatten")
+ col.operator("transform.push_pull", text="Push/Pull")
col = layout.column(align=True)
col.label(text="Deform:")
@@ -466,7 +467,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
if not context.particle_edit_object:
@@ -687,7 +688,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
tex_slot = brush.texture_slot
@@ -786,7 +787,7 @@ class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
col = layout.column(align=True)
@@ -821,7 +822,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
image_paint = context.image_paint_object
@@ -944,7 +945,6 @@ class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel):
tool_settings = context.tool_settings
sculpt = tool_settings.sculpt
- settings = __class__.paint_settings(context)
layout.label(text="Lock:")
row = layout.row(align=True)
@@ -974,7 +974,6 @@ class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel):
layout = self.layout
sculpt = context.tool_settings.sculpt
- settings = __class__.paint_settings(context)
split = layout.split()
@@ -997,14 +996,22 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel):
@classmethod
def poll(cls, context):
- return (context.sculpt_object and context.tool_settings.sculpt) or (context.vertex_paint_object and context.tool_settings.vertex_paint) or (context.weight_paint_object and context.tool_settings.weight_paint) or (context.image_paint_object and context.tool_settings.image_paint)
+ ts = context.tool_settings
+ return ((context.sculpt_object and ts.sculpt) or
+ (context.vertex_paint_object and ts.vertex_paint) or
+ (context.weight_paint_object and ts.weight_paint) or
+ (context.image_paint_object and ts.image_paint))
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
+ if brush is None: # unlikely but can happen
+ layout.label(text="Brush Unset")
+ return
+
col = layout.column()
if context.sculpt_object and context.tool_settings.sculpt:
@@ -1245,7 +1252,7 @@ class VIEW3D_PT_tools_particlemode(View3DPanel, bpy.types.Panel):
if pe.type == 'PARTICLES':
if ob.particle_systems:
if len(ob.particle_systems) > 1:
- layout.template_list(ob, "particle_systems", ob.particle_systems, "active_index", type='ICONS')
+ layout.template_list(ob, "particle_systems", ob.particle_systems, "active_index", rows=2, maxrows=3)
ptcache = ob.particle_systems.active.point_cache
else:
@@ -1254,7 +1261,7 @@ class VIEW3D_PT_tools_particlemode(View3DPanel, bpy.types.Panel):
ptcache = md.point_cache
if ptcache and len(ptcache.point_caches) > 1:
- layout.template_list(ptcache, "point_caches", ptcache.point_caches, "active_index", type='ICONS')
+ layout.template_list(ptcache, "point_caches", ptcache.point_caches, "active_index", rows=2, maxrows=3)
if not pe.is_editable:
layout.label(text="Point cache must be baked")
diff --git a/release/scripts/startup/keyingsets_builtins.py b/release/scripts/startup/keyingsets_builtins.py
index 8cb63ea48cf..dcc1afed74b 100644
--- a/release/scripts/startup/keyingsets_builtins.py
+++ b/release/scripts/startup/keyingsets_builtins.py
@@ -407,7 +407,7 @@ class BUILTIN_KSI_DeltaRotation(bpy.types.KeyingSetInfo):
# add the property name to the base path
# rotation mode affects the property used
if data.rotation_mode == 'QUATERNION':
- path = path_add_property(base_path, "delta_rotation_quaternion")
+ path = keyingsets_utils.path_add_property(base_path, "delta_rotation_quaternion")
elif data.rotation_mode == 'AXIS_ANGLE':
# XXX: for now, this is not available yet
#path = path_add_property(base_path, "delta_rotation_axis_angle")
diff --git a/release/scripts/templates/batch_export.py b/release/scripts/templates/batch_export.py
new file mode 100644
index 00000000000..45d26f4b525
--- /dev/null
+++ b/release/scripts/templates/batch_export.py
@@ -0,0 +1,33 @@
+# exports each selected object into its own file
+
+import bpy
+import os
+
+# export to blend file location
+basedir = os.path.dirname(bpy.data.filepath)
+
+if not basedir:
+ raise Exception("Blend file is not saved")
+
+selection = bpy.context.selected_objects
+
+bpy.ops.object.select_all(action='DESELECT')
+
+for obj in selection:
+
+ obj.select = True
+
+ name = bpy.path.clean_name(obj.name)
+ fn = os.path.join(basedir, name)
+
+ bpy.ops.export_scene.fbx(filepath=fn + ".fbx", use_selection=True)
+
+ ## Can be used for multiple formats
+ # bpy.ops.export_scene.x3d(filepath=fn + ".x3d", use_selection=True)
+
+ obj.select = False
+
+ print("written:", fn)
+
+for obj in selection:
+ obj.select = True
diff --git a/release/scripts/templates/operator_export.py b/release/scripts/templates/operator_export.py
index 1b1c90c8a21..4cf943a53b7 100644
--- a/release/scripts/templates/operator_export.py
+++ b/release/scripts/templates/operator_export.py
@@ -12,7 +12,7 @@ def write_some_data(context, filepath, use_some_setting):
# ExportHelper is a helper class, defines filename and
# invoke() function which calls the file selector.
-from io_utils import ExportHelper
+from bpy_extras.io_utils import ExportHelper
from bpy.props import StringProperty, BoolProperty, EnumProperty
diff --git a/release/scripts/templates/operator_mesh_add.py b/release/scripts/templates/operator_mesh_add.py
index 65b08eebb4e..10d23a6712d 100644
--- a/release/scripts/templates/operator_mesh_add.py
+++ b/release/scripts/templates/operator_mesh_add.py
@@ -80,8 +80,8 @@ class AddBox(bpy.types.Operator):
mesh.update()
# add the mesh as an object into the scene with this utility module
- import add_object_utils
- add_object_utils.object_data_add(context, mesh, operator=self)
+ from bpy_extras import object_utils
+ object_utils.object_data_add(context, mesh, operator=self)
return {'FINISHED'}
diff --git a/release/scripts/templates/ui_menu.py b/release/scripts/templates/ui_menu.py
new file mode 100644
index 00000000000..d3c94b86809
--- /dev/null
+++ b/release/scripts/templates/ui_menu.py
@@ -0,0 +1,49 @@
+import bpy
+
+
+class CustomMenu(bpy.types.Menu):
+ bl_label = "Custom Menu"
+ bl_idname = "OBJECT_MT_custom_menu"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("wm.open_mainfile")
+ layout.operator("wm.save_as_mainfile").copy = True
+
+ layout.operator("object.shade_smooth")
+
+ layout.label(text="Hello world!", icon='WORLD_DATA')
+
+ # use an operator enum property to populate a submenu
+ layout.operator_menu_enum("object.select_by_type",
+ property="type",
+ text="Select All by Type...",
+ )
+
+ # call another menu
+ layout.operator("wm.call_menu", text="Unwrap").name = "VIEW3D_MT_uv_map"
+
+
+def draw_item(self, context):
+ layout = self.layout
+ layout.menu(CustomMenu.bl_idname)
+
+
+def register():
+ bpy.utils.register_class(CustomMenu)
+
+ # lets add ourselves to the main header
+ bpy.types.INFO_HT_header.append(draw_item)
+
+
+def unregister():
+ bpy.utils.unregister_class(CustomMenu)
+
+ bpy.types.INFO_HT_header.remove(draw_item)
+
+if __name__ == "__main__":
+ register()
+
+ # The menu can also be called from scripts
+ bpy.ops.wm.call_menu(name=CustomMenu.bl_idname)
diff --git a/release/scripts/templates/ui_menu_simple.py b/release/scripts/templates/ui_menu_simple.py
new file mode 100644
index 00000000000..2129dfd81a4
--- /dev/null
+++ b/release/scripts/templates/ui_menu_simple.py
@@ -0,0 +1,26 @@
+import bpy
+
+
+class SimpleCustomMenu(bpy.types.Menu):
+ bl_label = "Simple Custom Menu"
+ bl_idname = "OBJECT_MT_simple_custom_menu"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("wm.open_mainfile")
+ layout.operator("wm.save_as_mainfile")
+
+
+def register():
+ bpy.utils.register_class(SimpleCustomMenu)
+
+
+def unregister():
+ bpy.utils.unregister_class(SimpleCustomMenu)
+
+if __name__ == "__main__":
+ register()
+
+ # The menu can also be called from scripts
+ bpy.ops.wm.call_menu(name=SimpleCustomMenu.bl_idname)
diff --git a/release/scripts/templates/panel_simple.py b/release/scripts/templates/ui_panel_simple.py
index e5bf70cb654..cde6126b626 100644
--- a/release/scripts/templates/panel_simple.py
+++ b/release/scripts/templates/ui_panel_simple.py
@@ -1,8 +1,9 @@
import bpy
-class OBJECT_PT_hello(bpy.types.Panel):
+class HelloWorldPanel(bpy.types.Panel):
bl_label = "Hello World Panel"
+ bl_idname = "OBJECT_PT_hello"
bl_space_type = "PROPERTIES"
bl_region_type = "WINDOW"
bl_context = "object"
@@ -22,11 +23,11 @@ class OBJECT_PT_hello(bpy.types.Panel):
def register():
- bpy.utils.register_class(OBJECT_PT_hello)
+ bpy.utils.register_class(HelloWorldPanel)
def unregister():
- bpy.utils.unregister_class(OBJECT_PT_hello)
+ bpy.utils.unregister_class(HelloWorldPanel)
if __name__ == "__main__":
diff --git a/release/text/GPL-license.txt b/release/text/GPL-license.txt
index 8860b2a8afa..e8c0353e734 100644
--- a/release/text/GPL-license.txt
+++ b/release/text/GPL-license.txt
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff --git a/release/text/readme.html b/release/text/readme.html
index 1014d8ef80a..2b5a4071a7f 100644
--- a/release/text/readme.html
+++ b/release/text/readme.html
@@ -12,22 +12,22 @@
</style>
</head>
<body>
-<p class="title"><b>Blender 2.57</b></p>
+<p class="title"><b>Blender 2.58</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.57</b></p>
-<p class="body">The Blender Foundation and online developer community is proud to present Blender 2.57. This release is the first 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-256-beta/">More information about this release</a>.</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="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.57 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.57. 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.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><br></p>
<p class="header"><b>Package Contents</b></p>
<p class="body">The downloaded Blender package includes:</p>
@@ -51,7 +51,7 @@
<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-257/">www.blender.org/development/release-logs/blender-257/</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>
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>
diff --git a/release/windows/installer/00.sconsblender.nsi b/release/windows/installer/00.sconsblender.nsi
index 2a37f7f6ba6..eddd215c64d 100644
--- a/release/windows/installer/00.sconsblender.nsi
+++ b/release/windows/installer/00.sconsblender.nsi
@@ -1,261 +1,235 @@
-;
-; $Id$
-;
-; Blender Self-Installer for Windows (NSIS - http://nsis.sourceforge.net)
-;
-
-SetCompressor /SOLID lzma
-
-Name "Blender [VERSION]"
-
-RequestExecutionLevel admin
-
-!include "MUI.nsh"
-!include "WinVer.nsh"
-!include "FileFunc.nsh"
-!include "WordFunc.nsh"
-!include "nsDialogs.nsh"
-!include "x64.nsh"
-
-!define MUI_ABORTWARNING
-
-!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Blender. It is recommended that you close all other applications before starting Setup."
-!define MUI_WELCOMEFINISHPAGE_BITMAP "[RELDIR]\01.installer.bmp"
-!define MUI_HEADERIMAGE
-!define MUI_HEADERIMAGE_BITMAP "[RELDIR]\00.header.bmp"
-!define MUI_COMPONENTSPAGE_SMALLDESC
-!define MUI_FINISHPAGE_RUN "$INSTDIR\blender.exe"
-!define MUI_CHECKBITMAP "[RELDIR]\00.checked.bmp"
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP "[RELDIR]\01.installer.bmp"
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "[DISTDIR]\Copyright.txt"
-!insertmacro MUI_PAGE_COMPONENTS
-
-!insertmacro MUI_PAGE_DIRECTORY
-Page custom DataLocation DataLocationOnLeave
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-
-!insertmacro Locate
-!insertmacro VersionCompare
-
-
-Icon "[RELDIR]\00.installer.ico"
-UninstallIcon "[RELDIR]\00.installer.ico"
-
-;--------------------------------
-;Languages
-
- !insertmacro MUI_LANGUAGE "English"
-
-;--------------------------------
-;Language Strings
-
- ;Description
- LangString DESC_InstallFiles ${LANG_ENGLISH} "Copy all required files to the application folder."
- LangString DESC_StartMenu ${LANG_ENGLISH} "Add shortcut items to the Start Menu. (Recommended)"
- LangString DESC_DesktopShortcut ${LANG_ENGLISH} "Add a shortcut to Blender on your desktop."
- LangString DESC_BlendRegister ${LANG_ENGLISH} "Blender can register itself with .blend files to allow double-clicking from Windows Explorer, etc."
- LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Specify User Data Location"
-;--------------------------------
-;Data
-
-Caption "Blender [VERSION] Installer"
-OutFile "[DISTDIR]\..\blender-[VERSION]-windows[BITNESS].exe"
-InstallDir $INSTDIR ; $INSTDIR is set inside .onInit
-BrandingText "Blender Foundation | http://www.blender.org"
-ComponentText "This will install Blender [VERSION] on your computer."
-
-DirText "Use the field below to specify the folder where you want Blender to be copied to. To specify a different folder, type a new name or use the Browse button to select an existing folder."
-
-SilentUnInstall normal
-
-Var BLENDERHOME
-Var SHORTVERSION ; This is blender_version_decimal() from path_util.c
-
-; Custom controls
-Var HWND
-
-Var HWND_APPDATA
-Var HWND_INSTDIR
-Var HWND_HOMEDIR
-
-Function .onInit
- ClearErrors
- StrCpy $SHORTVERSION "[SHORTVERSION]"
-
- ${If} ${RunningX64}
- ${If} "[BITNESS]" == "32"
- ${OrIf} "[BITNESS]" == "-mingw"
- StrCpy $INSTDIR "$PROGRAMFILES32\Blender Foundation\Blender" ; Can't use InstallDir inside Section
- ${ElseIf} "[BITNESS]" == "64"
- StrCpy $INSTDIR "$PROGRAMFILES64\Blender Foundation\Blender"
- ${EndIf}
- ${Else}
- StrCpy $INSTDIR "$PROGRAMFILES\Blender Foundation\Blender"
- ${EndIf}
-FunctionEnd
-
-Function un.onInit
-FunctionEnd
-
-Function DataLocation
- nsDialogs::Create /NOUNLOAD 1018
- Pop $HWND
-
- ${If} $HWND == error
- Abort
- ${EndIf}
-
- ${NSD_CreateLabel} 0 0 100% 24u "Please specify where you wish to install Blender's user data files. Be aware that if you choose to use your Application Data directory, your preferences and scripts will only be accessible by the current user account."
- ${NSD_CreateRadioButton} 0 50 100% 12u "Use Application Data directory (recommended)"
- Pop $HWND_APPDATA
- ${NSD_CreateRadioButton} 0 80 100% 12u "Use installation directory"
- Pop $HWND_INSTDIR
- ${NSD_CreateRadioButton} 0 110 100% 12u "I have defined a %HOME% variable, please install files there"
- Pop $HWND_HOMEDIR
-
- ${If} ${AtMostWinME}
- GetDlgItem $0 $HWND $HWND_APPDATA
- EnableWindow $0 0
- SendMessage $HWND_INSTDIR ${BM_SETCHECK} 1 0
- ${Else}
- SendMessage $HWND_APPDATA ${BM_SETCHECK} 1 0
- ${EndIf}
-
- nsDialogs::Show
-
-FunctionEnd
-
-Function DataLocationOnLeave
- ${NSD_GetState} $HWND_APPDATA $R0
- ${If} $R0 == "1"
- SetShellVarContext current
- StrCpy $BLENDERHOME "$APPDATA\Blender Foundation\Blender"
- SetShellVarContext all
- ${Else}
- ${NSD_GetState} $HWND_INSTDIR $R0
- ${If} $R0 == "1"
- StrCpy $BLENDERHOME $INSTDIR
- ${Else}
- ${NSD_GetState} $HWND_HOMEDIR $R0
- ${If} $R0 == "1"
- ReadEnvStr $BLENDERHOME "HOME"
- ${EndIf}
- ${EndIf}
- ${EndIf}
-FunctionEnd
-
-Section "Blender [VERSION] (required)" InstallFiles
- SectionIn RO
-
- ; Set output path to the installation directory.
- SetOutPath $INSTDIR
- ; The contents of Blender installation root dir
- [ROOTDIRCONTS]
-
- ; All datafiles (python, scripts, config)
- [DODATAFILES]
-
- SetOutPath $INSTDIR
- ${If} ${RunningX64}
- SetRegView 64
- ${EndIf}
- ; Write the installation path into the registry
- WriteRegStr HKLM "SOFTWARE\BlenderFoundation" "Install_Dir" "$INSTDIR"
- WriteRegStr HKLM "SOFTWARE\BlenderFoundation" "ConfigData_Dir" "$BLENDERHOME"
- WriteRegStr HKLM "SOFTWARE\BlenderFoundation" "ShortVersion" "[SHORTVERSION]"
- ; Write the uninstall keys for Windows
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayName" "Blender"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "Publisher" "Blender Foundation"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "URLInfoAbout" "http://www.blender.org/"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayVersion" "[VERSION]"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayIcon" "$INSTDIR\blender.exe"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "UninstallString" '"$INSTDIR\uninstall.exe"'
- WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "NoModify" 1
- WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "NoRepair " 1
- WriteUninstaller "uninstall.exe"
-
-SectionEnd
-
-Section "Add Start Menu Shortcuts" StartMenu
- SetShellVarContext all
- CreateDirectory "$SMPROGRAMS\Blender Foundation\Blender\"
- CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
- CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Blender.lnk" "$INSTDIR\Blender.exe" "" "$INSTDIR\blender.exe" 0
- CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Readme.lnk" "$INSTDIR\readme.html" "" "" 0
- CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Copyright.lnk" "$INSTDIR\Copyright.txt" "" "$INSTDIR\copyright.txt" 0
- CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\GPL-license.lnk" "$INSTDIR\GPL-license.txt" "" "$INSTDIR\GPL-license.txt" 0
- System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' ; refresh icons
-SectionEnd
-
-Section "Add Desktop Shortcut" DesktopShortcut
- CreateShortCut "$DESKTOP\Blender.lnk" "$INSTDIR\blender.exe" "" "$INSTDIR\blender.exe" 0
- System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' ; refresh icons
-SectionEnd
-
-Section "Open .blend files with Blender" BlendRegister
- ExecWait '"$INSTDIR\blender.exe" -r'
-SectionEnd
-
-UninstallText "This will uninstall Blender [VERSION], and all installed files. Before continuing make sure you have created backup of all the files you may want to keep: startup.blend, bookmarks.txt, recent-files.txt. Hit 'Uninstall' to continue."
-
-Section "Uninstall"
- ; Remove registry keys
- ${If} ${RunningX64}
- SetRegView 64
- ${EndIf}
-
- ReadRegStr $BLENDERHOME HKLM "SOFTWARE\BlenderFoundation" "ConfigData_Dir"
- ReadRegStr $SHORTVERSION HKLM "SOFTWARE\BlenderFoundation" "ShortVersion"
- DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Blender"
- DeleteRegKey HKLM "SOFTWARE\BlenderFoundation"
- DeleteRegKey HKCR ".blend"
- DeleteRegKey HKCR "blendfile"
- DeleteRegKey HKCR "CLSID\{D45F043D-F17F-4e8a-8435-70971D9FA46D}"
- SetShellVarContext all
-
- ; Remove files
- [DELROOTDIRCONTS]
-
- Delete "$INSTDIR\uninstall.exe"
-
- MessageBox MB_YESNO "Recursively erase contents of $BLENDERHOME\$SHORTVERSION\scripts? NOTE: This includes all installed scripts and *any* file and directory you have manually created, installed later or copied. This also including .blend files." IDNO NextNoScriptRemove
- RMDir /r "$BLENDERHOME\$SHORTVERSION\scripts"
-NextNoScriptRemove:
- MessageBox MB_YESNO "Recursively erase contents from $BLENDERHOME\$SHORTVERSION\config? NOTE: This includes your startup.blend, bookmarks and any other file and directory you may have created in that directory" IDNO NextNoConfigRemove
- RMDir /r "$BLENDERHOME\$SHORTVERSION\config"
-NextNoConfigRemove:
- MessageBox MB_YESNO "Recursively erase contents from $BLENDERHOME\$SHORTVERSION\plugins? NOTE: This includes files and subdirectories in this directory" IDNO NextNoPluginRemove
- RMDir /r "$BLENDERHOME\$SHORTVERSION\plugins"
-NextNoPluginRemove:
- ; Try to remove dirs, but leave them if they contain anything
- RMDir "$BLENDERHOME\$SHORTVERSION\plugins"
- RMDir "$BLENDERHOME\$SHORTVERSION\config"
- RMDir "$BLENDERHOME\$SHORTVERSION\scripts"
- RMDir "$BLENDERHOME\$SHORTVERSION"
- RMDir "$BLENDERHOME"
- ; Remove shortcuts
- Delete "$SMPROGRAMS\Blender Foundation\Blender\*.*"
- Delete "$DESKTOP\Blender.lnk"
- ; Remove all link related directories and files
- RMDir /r "$SMPROGRAMS\Blender Foundation"
- ; Clear out installation dir
- RMDir /r "$INSTDIR"
-
- System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' ; Refresh icons
-SectionEnd
-
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${InstallFiles} $(DESC_InstallFiles)
- !insertmacro MUI_DESCRIPTION_TEXT ${StartMenu} $(DESC_StartMenu)
- !insertmacro MUI_DESCRIPTION_TEXT ${DesktopShortcut} $(DESC_DesktopShortcut)
- !insertmacro MUI_DESCRIPTION_TEXT ${BlendRegister} $(DESC_BlendRegister)
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
+;
+; $Id$
+;
+; Blender Self-Installer for Windows (NSIS - http://nsis.sourceforge.net)
+;
+
+SetCompressor /SOLID lzma
+
+Name "Blender [VERSION]"
+
+RequestExecutionLevel admin
+
+!include "MUI.nsh"
+!include "WinVer.nsh"
+!include "FileFunc.nsh"
+!include "WordFunc.nsh"
+!include "nsDialogs.nsh"
+!include "x64.nsh"
+
+!define MUI_ABORTWARNING
+
+!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Blender. It is recommended that you close all other applications before starting Setup."
+!define MUI_WELCOMEFINISHPAGE_BITMAP "[RELDIR]\01.installer.bmp"
+!define MUI_HEADERIMAGE
+!define MUI_HEADERIMAGE_BITMAP "[RELDIR]\00.header.bmp"
+!define MUI_COMPONENTSPAGE_SMALLDESC
+!define MUI_FINISHPAGE_RUN "$INSTDIR\blender.exe"
+!define MUI_CHECKBITMAP "[RELDIR]\00.checked.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "[RELDIR]\01.installer.bmp"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "[DISTDIR]\Copyright.txt"
+!insertmacro MUI_PAGE_COMPONENTS
+
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+UninstPage custom un.OptionalRemoveConfig un.OptionalRemoveConfigOnLeave
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
+!insertmacro Locate
+!insertmacro VersionCompare
+
+
+Icon "[RELDIR]\00.installer.ico"
+UninstallIcon "[RELDIR]\00.installer.ico"
+
+;--------------------------------
+;Languages
+
+ !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Language Strings
+
+ ;Description
+ LangString DESC_InstallFiles ${LANG_ENGLISH} "Copy all required files to the application folder."
+ LangString DESC_StartMenu ${LANG_ENGLISH} "Add shortcut items to the Start Menu. (Recommended)"
+ LangString DESC_DesktopShortcut ${LANG_ENGLISH} "Add a shortcut to Blender on your desktop."
+ LangString DESC_BlendRegister ${LANG_ENGLISH} "Blender can register itself with .blend files to allow double-clicking from Windows Explorer, etc."
+;--------------------------------
+;Data
+
+Caption "Blender [VERSION] Installer"
+OutFile "[DISTDIR]\..\blender-[VERSION]-windows[BITNESS].exe"
+InstallDir $INSTDIR ; $INSTDIR is set inside .onInit
+BrandingText "Blender Foundation | http://www.blender.org"
+ComponentText "This will install Blender [VERSION] on your computer."
+
+DirText "Use the field below to specify the folder where you want Blender to be copied to. To specify a different folder, type a new name or use the Browse button to select an existing folder."
+
+SilentUnInstall normal
+
+Var SHORTVERSION ; This is blender_version_decimal() from path_util.c
+Var BLENDERCONFIG
+Var REMOVECONFIG
+
+; Custom controls
+Var HWND
+
+Var HWND_KEEPCONFIG
+Var HWND_REMOVECONFIG
+
+Function .onInit
+ ClearErrors
+ StrCpy $SHORTVERSION "[SHORTVERSION]"
+
+ ${If} ${RunningX64}
+ ${If} "[BITNESS]" == "32"
+ ${OrIf} "[BITNESS]" == "-mingw"
+ StrCpy $INSTDIR "$PROGRAMFILES32\Blender Foundation\Blender" ; Can't use InstallDir inside Section
+ ${ElseIf} "[BITNESS]" == "64"
+ StrCpy $INSTDIR "$PROGRAMFILES64\Blender Foundation\Blender"
+ ${EndIf}
+ ${Else}
+ StrCpy $INSTDIR "$PROGRAMFILES\Blender Foundation\Blender"
+ ${EndIf}
+FunctionEnd
+
+Function un.onInit
+ SetShellVarContext current
+ StrCpy $BLENDERCONFIG "$APPDATA\Blender Foundation\Blender"
+ SetShellVarContext all
+FunctionEnd
+
+Function un.OptionalRemoveConfig
+ nsDialogs::Create /NOUNLOAD 1018
+ Pop $HWND
+
+ ${If} $HWND == error
+ Abort
+ ${EndIf}
+
+ ${NSD_CreateRadioButton} 0 50 100% 12u "Keep configuration files, autosaved .blend files and installed addons (recommended)"
+ Pop $HWND_KEEPCONFIG
+ ${NSD_CreateRadioButton} 0 80 100% 12u "Remove all files, including configuration files, autosaved .blend files and installed addons"
+ Pop $HWND_REMOVECONFIG
+
+ SendMessage $HWND_KEEPCONFIG ${BM_SETCHECK} 1 0
+
+ nsDialogs::Show
+
+FunctionEnd
+
+Function un.OptionalRemoveConfigOnLeave
+ ${NSD_GetState} $HWND_REMOVECONFIG $R0
+ ${If} $R0 == "1"
+ StrCpy $REMOVECONFIG "1"
+ ${Else}
+ StrCpy $REMOVECONFIG "0"
+ ${EndIf}
+FunctionEnd
+
+
+Section "Blender [VERSION] (required)" InstallFiles
+ SectionIn RO
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR
+ ; The contents of Blender installation root dir
+ [ROOTDIRCONTS]
+
+ ; All datafiles (python, scripts, datafiles)
+ [DODATAFILES]
+
+ SetOutPath $INSTDIR
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+ ; Write the installation path into the registry
+ WriteRegStr HKLM "SOFTWARE\BlenderFoundation" "Install_Dir" "$INSTDIR"
+ WriteRegStr HKLM "SOFTWARE\BlenderFoundation" "ShortVersion" "[SHORTVERSION]"
+ ; Write the uninstall keys for Windows
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayName" "Blender"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "Publisher" "Blender Foundation"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "URLInfoAbout" "http://www.blender.org/"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayVersion" "[VERSION]"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayIcon" "$INSTDIR\blender.exe"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "NoModify" 1
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "NoRepair " 1
+ WriteUninstaller "uninstall.exe"
+
+SectionEnd
+
+Section "Add Start Menu Shortcuts" StartMenu
+ SetShellVarContext all
+ CreateDirectory "$SMPROGRAMS\Blender Foundation\Blender\"
+ CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
+ CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Blender.lnk" "$INSTDIR\Blender.exe" "" "$INSTDIR\blender.exe" 0
+ CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Readme.lnk" "$INSTDIR\readme.html" "" "" 0
+ CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Copyright.lnk" "$INSTDIR\Copyright.txt" "" "$INSTDIR\copyright.txt" 0
+ CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\GPL-license.lnk" "$INSTDIR\GPL-license.txt" "" "$INSTDIR\GPL-license.txt" 0
+ System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' ; refresh icons
+SectionEnd
+
+Section "Add Desktop Shortcut" DesktopShortcut
+ CreateShortCut "$DESKTOP\Blender.lnk" "$INSTDIR\blender.exe" "" "$INSTDIR\blender.exe" 0
+ System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' ; refresh icons
+SectionEnd
+
+Section "Open .blend files with Blender" BlendRegister
+ ExecWait '"$INSTDIR\blender.exe" -r'
+SectionEnd
+
+UninstallText "This will uninstall Blender [VERSION], and all installed files. Hit 'Uninstall' to continue."
+
+Section "Uninstall"
+ ; Remove registry keys
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+
+ ReadRegStr $SHORTVERSION HKLM "SOFTWARE\BlenderFoundation" "ShortVersion"
+ DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Blender"
+ DeleteRegKey HKLM "SOFTWARE\BlenderFoundation"
+ DeleteRegKey HKCR ".blend"
+ DeleteRegKey HKCR "blendfile"
+ DeleteRegKey HKCR "CLSID\{D45F043D-F17F-4e8a-8435-70971D9FA46D}"
+ SetShellVarContext all
+
+ ; Remove files
+ [DELROOTDIRCONTS]
+ [DELDATAFILES]
+ [DELDATADIRS]
+
+ Delete "$INSTDIR\uninstall.exe"
+
+ ${If} $REMOVECONFIG == "1"
+ RMDir /r "$BLENDERCONFIG\$SHORTVERSION"
+ ${Endif}
+
+ ; Remove install directory if it's empty
+ RMDir $INSTDIR
+ ; Remove shortcuts
+ Delete "$SMPROGRAMS\Blender Foundation\Blender\*.*"
+ Delete "$DESKTOP\Blender.lnk"
+ ; Remove all link related directories and files
+ RMDir "$SMPROGRAMS\Blender Foundation\Blender"
+ RMDir "$SMPROGRAMS\Blender Foundation"
+
+ System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' ; Refresh icons
+SectionEnd
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${InstallFiles} $(DESC_InstallFiles)
+ !insertmacro MUI_DESCRIPTION_TEXT ${StartMenu} $(DESC_StartMenu)
+ !insertmacro MUI_DESCRIPTION_TEXT ${DesktopShortcut} $(DESC_DesktopShortcut)
+ !insertmacro MUI_DESCRIPTION_TEXT ${BlendRegister} $(DESC_BlendRegister)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
diff --git a/source/blender/CMakeLists.txt b/source/blender/CMakeLists.txt
index 263d81fab0a..a073f5083e5 100644
--- a/source/blender/CMakeLists.txt
+++ b/source/blender/CMakeLists.txt
@@ -91,7 +91,6 @@ add_subdirectory(blenlib)
add_subdirectory(render)
add_subdirectory(blenfont)
add_subdirectory(blenloader)
-add_subdirectory(readblenfile)
add_subdirectory(blenpluginapi)
add_subdirectory(ikplugin)
add_subdirectory(gpu)
@@ -123,6 +122,5 @@ if(WITH_PYTHON)
endif()
if(WITH_OPENCOLLADA)
- add_subdirectory(collada)
+ add_subdirectory(collada)
endif()
-
diff --git a/source/blender/SConscript b/source/blender/SConscript
index 549725a57a0..969bd2966fc 100644
--- a/source/blender/SConscript
+++ b/source/blender/SConscript
@@ -12,7 +12,6 @@ SConscript(['avi/SConscript',
'imbuf/SConscript',
'makesdna/SConscript',
'makesrna/SConscript',
- 'readblenfile/SConscript',
'render/SConscript',
'nodes/SConscript',
'modifiers/SConscript',
diff --git a/source/blender/avi/AVI_avi.h b/source/blender/avi/AVI_avi.h
index 85685e2bd4c..97dc12f57d8 100644
--- a/source/blender/avi/AVI_avi.h
+++ b/source/blender/avi/AVI_avi.h
@@ -55,6 +55,7 @@
#ifndef __AVI_H__
#define __AVI_H__
+#include "MEM_sys_types.h"
#include <stdio.h> /* for FILE */
typedef struct _AviChunk {
@@ -185,16 +186,16 @@ typedef struct _AviMovie {
#define AVI_MOVIE_READ 0
#define AVI_MOVIE_WRITE 1
- unsigned long size;
+ int64_t size;
AviMainHeader *header;
AviStreamRec *streams;
AviIndexEntry *entries;
int index_entries;
- int movi_offset;
- int read_offset;
- long *offset_table;
+ int64_t movi_offset;
+ int64_t read_offset;
+ int64_t *offset_table;
/* Local data goes here */
int interlace;
diff --git a/source/blender/avi/CMakeLists.txt b/source/blender/avi/CMakeLists.txt
index 77a43e5560e..0fd6435ec4e 100644
--- a/source/blender/avi/CMakeLists.txt
+++ b/source/blender/avi/CMakeLists.txt
@@ -26,7 +26,11 @@
set(INC
.
+ ../blenlib
../../../intern/guardedalloc
+)
+
+set(INC_SYS
${JPEG_INCLUDE_DIR}
)
@@ -47,4 +51,4 @@ set(SRC
intern/rgb32.h
)
-blender_add_lib(bf_avi "${SRC}" "${INC}")
+blender_add_lib(bf_avi "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/avi/SConscript b/source/blender/avi/SConscript
index 0bf8c3c74db..4d2ce8fd845 100644
--- a/source/blender/avi/SConscript
+++ b/source/blender/avi/SConscript
@@ -3,7 +3,7 @@ Import ('env')
sources = env.Glob('intern/*.c')
-incs = '. #/intern/guardedalloc'
+incs = '. #/intern/guardedalloc ../blenlib'
incs += ' ' + env['BF_JPEG_INC']
env.BlenderLib ('bf_avi', sources, Split(incs), [], libtype=['core','player'], priority = [190,120] )
diff --git a/source/blender/avi/intern/avi.c b/source/blender/avi/intern/avi.c
index 82bf3a3d21b..ff3aafbf065 100644
--- a/source/blender/avi/intern/avi.c
+++ b/source/blender/avi/intern/avi.c
@@ -42,6 +42,9 @@
#include <ctype.h>
#include "MEM_guardedalloc.h"
+#include "MEM_sys_types.h"
+
+#include "BLI_winstuff.h"
#include "AVI_avi.h"
#include "avi_intern.h"
@@ -593,7 +596,6 @@ AviError AVI_open_movie (const char *name, AviMovie *movie) {
movie->movi_offset = ftell (movie->fp);
movie->read_offset = movie->movi_offset;
- if (AVI_DEBUG) printf ("movi_offset is %d\n", movie->movi_offset);
/* Read in the index if the file has one, otherwise create one */
if (movie->header->Flags & AVIF_HASINDEX) {
@@ -707,8 +709,8 @@ AviError AVI_open_compress (char *name, AviMovie *movie, int streams, ...) {
AviList list;
AviChunk chunk;
int i;
- int header_pos1, header_pos2;
- int stream_pos1, stream_pos2;
+ int64_t header_pos1, header_pos2;
+ int64_t stream_pos1, stream_pos2;
movie->type = AVI_MOVIE_WRITE;
movie->fp = fopen (name, "wb");
@@ -718,7 +720,7 @@ AviError AVI_open_compress (char *name, AviMovie *movie, int streams, ...) {
if (movie->fp == NULL)
return AVI_ERROR_OPEN;
- movie->offset_table = (long *) MEM_mallocN ((1+streams*2) * sizeof (long),"offsettable");
+ movie->offset_table = (int64_t *) MEM_mallocN ((1+streams*2) * sizeof (int64_t),"offsettable");
for (i=0; i < 1 + streams*2; i++)
movie->offset_table[i] = -1L;
@@ -897,7 +899,7 @@ AviError AVI_write_frame (AviMovie *movie, int frame_num, ...) {
AviIndexEntry *temp;
va_list ap;
int stream;
- long rec_off;
+ int64_t rec_off;
AviFormat format;
void *buffer;
int size;
diff --git a/source/blender/avi/intern/options.c b/source/blender/avi/intern/options.c
index edb708d8a69..96c62843436 100644
--- a/source/blender/avi/intern/options.c
+++ b/source/blender/avi/intern/options.c
@@ -40,6 +40,8 @@
#include "avi_intern.h"
#include "endian.h"
+#include "BLI_winstuff.h"
+
/* avi_set_compress_options gets its own file... now don't WE feel important? */
AviError AVI_set_compress_option (AviMovie *movie, int option_type, int stream, AviOption option, void *opt_data) {
diff --git a/source/blender/blenfont/CMakeLists.txt b/source/blender/blenfont/CMakeLists.txt
index 15fbfaa2de2..82099d4f125 100644
--- a/source/blender/blenfont/CMakeLists.txt
+++ b/source/blender/blenfont/CMakeLists.txt
@@ -24,12 +24,15 @@
set(INC
.
+ ../blenkernel
../blenlib
- ../makesdna
../editors/include
- ../blenkernel
+ ../makesdna
../../../intern/guardedalloc
- ${GLEW_INCLUDE_PATH}
+)
+
+set(INC_SYS
+ ${GLEW_INCLUDE_PATH}
${FREETYPE_INCLUDE_DIRS}
)
@@ -47,7 +50,9 @@ set(SRC
)
if(WITH_INTERNATIONAL)
- list(APPEND INC ${GETTEXT_INC})
+ list(APPEND INC_SYS
+ ${GETTEXT_INC}
+ )
add_definitions(-DINTERNATIONAL)
endif()
@@ -55,5 +60,5 @@ if(WIN32 AND NOT UNIX)
add_definitions(-DUSE_GETTEXT_DLL)
endif()
-blender_add_lib(bf_blenfont "${SRC}" "${INC}")
+blender_add_lib(bf_blenfont "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/blenfont/intern/blf_dir.c b/source/blender/blenfont/intern/blf_dir.c
index 857ead0b7cd..fd874d991ea 100644
--- a/source/blender/blenfont/intern/blf_dir.c
+++ b/source/blender/blenfont/intern/blf_dir.c
@@ -51,6 +51,7 @@
#include "BLF_api.h"
#include "blf_internal_types.h"
+#include "blf_internal.h"
static ListBase global_font_dir= { NULL, NULL };
@@ -150,6 +151,7 @@ char *blf_dir_search(const char *file)
return(s);
}
+#if 0 // UNUSED
int blf_dir_split(const char *str, char *file, int *size)
{
int i, len;
@@ -173,6 +175,7 @@ int blf_dir_split(const char *str, char *file, int *size)
}
return(0);
}
+#endif
/* Some font have additional file with metrics information,
* in general, the extension of the file is: .afm or .pfm
diff --git a/source/blender/blenfont/intern/blf_internal.h b/source/blender/blenfont/intern/blf_internal.h
index 34df8d72103..9271d8d5a9e 100644
--- a/source/blender/blenfont/intern/blf_internal.h
+++ b/source/blender/blenfont/intern/blf_internal.h
@@ -44,7 +44,7 @@ int blf_utf8_next(unsigned char *buf, int *iindex);
char *blf_dir_search(const char *file);
char *blf_dir_metrics_search(const char *filename);
-int blf_dir_split(const char *str, char *file, int *size);
+// int blf_dir_split(const char *str, char *file, int *size); // UNUSED
int blf_font_init(void);
void blf_font_exit(void);
diff --git a/source/blender/blenkernel/BKE_action.h b/source/blender/blenkernel/BKE_action.h
index 698f0f0fecf..7d3de68c005 100644
--- a/source/blender/blenkernel/BKE_action.h
+++ b/source/blender/blenkernel/BKE_action.h
@@ -216,7 +216,7 @@ void pose_remove_group(struct Object *ob);
/* Assorted Evaluation ----------------- */
/* Used for the Action Constraint */
-void what_does_obaction(struct Scene *scene, struct Object *ob, struct Object *workob, struct bPose *pose, struct bAction *act, char groupname[], float cframe);
+void what_does_obaction(struct Object *ob, struct Object *workob, struct bPose *pose, struct bAction *act, char groupname[], float cframe);
/* for proxy */
void copy_pose_result(struct bPose *to, struct bPose *from);
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index 7e9f531162b..18f6ad21333 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -42,8 +42,8 @@ extern "C" {
/* these lines are grep'd, watch out for our not-so-awesome regex
* and keep comment above the defines.
- * Use STRINGIFY() rather then defining with quotes */
-#define BLENDER_VERSION 257
+ * Use STRINGIFY() rather than defining with quotes */
+#define BLENDER_VERSION 258
#define BLENDER_SUBVERSION 1
#define BLENDER_MINVERSION 250
@@ -51,7 +51,7 @@ extern "C" {
/* used by packaging tools */
/* can be left blank, otherwise a,b,c... etc with no quotes */
-#define BLENDER_VERSION_CHAR b
+#define BLENDER_VERSION_CHAR a
/* alpha/beta/rc/release, docs use this */
#define BLENDER_VERSION_CYCLE beta
@@ -89,6 +89,7 @@ extern int BKE_undo_valid(const char *name);
extern void BKE_reset_undo(void);
extern char *BKE_undo_menu_string(void);
extern void BKE_undo_number(struct bContext *C, int nr);
+extern char *BKE_undo_get_name(int nr, int *active);
extern void BKE_undo_save_quit(void);
extern struct Main *BKE_undo_get_main(struct Scene **scene);
diff --git a/source/blender/blenkernel/BKE_brush.h b/source/blender/blenkernel/BKE_brush.h
index a9d379e6c69..ebb9714cd1b 100644
--- a/source/blender/blenkernel/BKE_brush.h
+++ b/source/blender/blenkernel/BKE_brush.h
@@ -71,7 +71,7 @@ float brush_curve_strength(struct Brush *br, float p, const float len); /* used
/* sampling */
void brush_sample_tex(struct Brush *brush, float *xy, float *rgba, const int thread);
void brush_imbuf_new(struct Brush *brush, short flt, short texfalloff, int size,
- struct ImBuf **imbuf);
+ struct ImBuf **imbuf, int use_color_correction);
/* painting */
struct BrushPainter;
@@ -82,7 +82,7 @@ BrushPainter *brush_painter_new(struct Brush *brush);
void brush_painter_require_imbuf(BrushPainter *painter, short flt,
short texonly, int size);
int brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos,
- double time, float pressure, void *user);
+ double time, float pressure, void *user, int use_color_correction);
void brush_painter_break_stroke(BrushPainter *painter);
void brush_painter_free(BrushPainter *painter);
@@ -90,8 +90,7 @@ void brush_painter_free(BrushPainter *painter);
unsigned int *brush_gen_texture_cache(struct Brush *br, int half_side);
/* radial control */
-void brush_radial_control_invoke(struct wmOperator *op, struct Brush *br, float size_weight);
-int brush_radial_control_exec(struct wmOperator *op, struct Brush *br, float size_weight);
+struct ImBuf *brush_gen_radial_control_imbuf(struct Brush *br);
/* unified strength and size */
diff --git a/source/blender/blenkernel/BKE_colortools.h b/source/blender/blenkernel/BKE_colortools.h
index b3709853a8c..744ed9dba9c 100644
--- a/source/blender/blenkernel/BKE_colortools.h
+++ b/source/blender/blenkernel/BKE_colortools.h
@@ -78,7 +78,6 @@ void curvemapping_premultiply(struct CurveMapping *cumap, int restore);
int curvemapping_RGBA_does_something(struct CurveMapping *cumap);
void curvemapping_initialize(struct CurveMapping *cumap);
void curvemapping_table_RGBA(struct CurveMapping *cumap, float **array, int *size);
-void colorcorrection_do_ibuf(struct ImBuf *ibuf, const char *profile);
void scopes_update(struct Scopes *scopes, struct ImBuf *ibuf, int use_color_management);
void scopes_free(struct Scopes *scopes);
diff --git a/source/blender/blenkernel/BKE_deform.h b/source/blender/blenkernel/BKE_deform.h
index a9ac201beda..64cea929573 100644
--- a/source/blender/blenkernel/BKE_deform.h
+++ b/source/blender/blenkernel/BKE_deform.h
@@ -59,9 +59,9 @@ float defvert_array_find_weight_safe(const struct MDeformVert *dvert, int index
void defvert_copy(struct MDeformVert *dvert_r, const struct MDeformVert *dvert);
void defvert_sync(struct MDeformVert *dvert_r, const struct MDeformVert *dvert, int use_verify);
-void defvert_sync_mapped(struct MDeformVert *dvert_r, const struct MDeformVert *dvert, int *flip_map, int use_verify);
+void defvert_sync_mapped(struct MDeformVert *dvert_r, const struct MDeformVert *dvert, const int *flip_map, int use_verify);
void defvert_remap (struct MDeformVert *dvert, int *map);
-void defvert_flip(struct MDeformVert *dvert, int *flip_map);
+void defvert_flip(struct MDeformVert *dvert, const int *flip_map);
void defvert_normalize(struct MDeformVert *dvert);
/* utility function, note that 32 chars is the maximum string length since its only
diff --git a/source/blender/blenkernel/BKE_depsgraph.h b/source/blender/blenkernel/BKE_depsgraph.h
index 14251fb1762..f36073ba841 100644
--- a/source/blender/blenkernel/BKE_depsgraph.h
+++ b/source/blender/blenkernel/BKE_depsgraph.h
@@ -51,22 +51,23 @@ struct GHash;
/* **** DAG relation types *** */
/* scene link to object */
-#define DAG_RL_SCENE 1
+#define DAG_RL_SCENE (1<<0)
/* object link to data */
-#define DAG_RL_DATA 2
+#define DAG_RL_DATA (1<<1)
/* object changes object (parent, track, constraints) */
-#define DAG_RL_OB_OB 4
+#define DAG_RL_OB_OB (1<<2)
/* object changes obdata (hooks, constraints) */
-#define DAG_RL_OB_DATA 8
+#define DAG_RL_OB_DATA (1<<3)
/* data changes object (vertex parent) */
-#define DAG_RL_DATA_OB 16
+#define DAG_RL_DATA_OB (1<<4)
/* data changes data (deformers) */
-#define DAG_RL_DATA_DATA 32
+#define DAG_RL_DATA_DATA (1<<5)
-#define DAG_NO_RELATION 64
-#define DAG_RL_ALL 63
-#define DAG_RL_ALL_BUT_DATA 61
+#define DAG_NO_RELATION (1<<6)
+
+#define DAG_RL_ALL_BUT_DATA (DAG_RL_SCENE|DAG_RL_OB_OB|DAG_RL_OB_DATA|DAG_RL_DATA_OB|DAG_RL_DATA_DATA)
+#define DAG_RL_ALL (DAG_RL_ALL_BUT_DATA|DAG_RL_DATA)
typedef void (*graph_action_func)(void * ob, void **data);
diff --git a/source/blender/blenkernel/BKE_displist.h b/source/blender/blenkernel/BKE_displist.h
index 68745975dae..b00db53a199 100644
--- a/source/blender/blenkernel/BKE_displist.h
+++ b/source/blender/blenkernel/BKE_displist.h
@@ -97,15 +97,10 @@ extern void makeDispListCurveTypes_forRender(struct Scene *scene, struct Object
extern void makeDispListCurveTypes_forOrco(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
extern void makeDispListMBall(struct Scene *scene, struct Object *ob);
extern void makeDispListMBall_forRender(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
-extern void shadeDispList(struct Scene *scene, struct Base *base);
-extern void shadeMeshMCol(struct Scene *scene, struct Object *ob, struct Mesh *me);
int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4);
-void reshadeall_displist(struct Scene *scene);
void filldisplist(struct ListBase *dispbase, struct ListBase *to, int flipnormal);
-void fastshade_free_render(void);
-
float calc_taper(struct Scene *scene, struct Object *taperobj, int cur, int tot);
/* add Orco layer to the displist object which has got derived mesh and return orco */
diff --git a/source/blender/blenkernel/BKE_effect.h b/source/blender/blenkernel/BKE_effect.h
index 97ac711651b..12f9383cefb 100644
--- a/source/blender/blenkernel/BKE_effect.h
+++ b/source/blender/blenkernel/BKE_effect.h
@@ -105,6 +105,7 @@ typedef struct EffectorCache {
/* precalculated for guides */
struct GuideEffectorData *guide_data;
float guide_loc[4], guide_dir[3], guide_radius;
+ float velocity[3];
float frame;
int flag;
diff --git a/source/blender/blenkernel/BKE_global.h b/source/blender/blenkernel/BKE_global.h
index 0360acbea32..d21b0428d76 100644
--- a/source/blender/blenkernel/BKE_global.h
+++ b/source/blender/blenkernel/BKE_global.h
@@ -145,6 +145,7 @@ typedef struct Global {
#define G_FILE_IGNORE_DEPRECATION_WARNINGS (1 << 22) /* deprecated */
#define G_FILE_RECOVER (1 << 23)
#define G_FILE_RELATIVE_REMAP (1 << 24)
+#define G_FILE_HISTORY (1 << 25)
/* G.windowstate */
#define G_WINDOWSTATE_USERDEF 0
diff --git a/source/blender/blenkernel/BKE_icons.h b/source/blender/blenkernel/BKE_icons.h
index 5404402718d..3c12a5d615d 100644
--- a/source/blender/blenkernel/BKE_icons.h
+++ b/source/blender/blenkernel/BKE_icons.h
@@ -52,6 +52,7 @@ struct Icon
typedef struct Icon Icon;
struct PreviewImage;
+struct ID;
void BKE_icons_init(int first_dyn_id);
@@ -74,11 +75,14 @@ void BKE_icon_changed(int icon_id);
/* free all icons */
void BKE_icons_free(void);
+/* free the preview image for use in list */
+void BKE_previewimg_freefunc(void *link);
+
/* free the preview image */
void BKE_previewimg_free(struct PreviewImage **prv);
/* free the preview image belonging to the id */
-void BKE_previewimg_free_id(ID *id);
+void BKE_previewimg_free_id(struct ID *id);
/* create a new preview image */
struct PreviewImage* BKE_previewimg_create(void) ;
@@ -87,6 +91,6 @@ struct PreviewImage* BKE_previewimg_create(void) ;
struct PreviewImage* BKE_previewimg_copy(struct PreviewImage *prv);
/* retrieve existing or create new preview image */
-PreviewImage* BKE_previewimg_get(ID *id);
+struct PreviewImage* BKE_previewimg_get(struct ID *id);
#endif /* BKE_ICONS_H */
diff --git a/source/blender/blenkernel/BKE_multires.h b/source/blender/blenkernel/BKE_multires.h
index ea34ff4aa07..ba23b2d79c0 100644
--- a/source/blender/blenkernel/BKE_multires.h
+++ b/source/blender/blenkernel/BKE_multires.h
@@ -91,6 +91,7 @@ void multires_topology_changed(struct Scene *scene, struct Object *ob);
void old_mdisps_bilinear(float out[3], float (*disps)[3], const int st, float u, float v);
void mdisp_rot_crn_to_face(const int S, const int corners, const int face_side, const float x, const float y, float *u, float *v);
int mdisp_rot_face_to_crn(const int corners, const int face_side, const float u, const float v, float *x, float *y);
+int mdisp_rot_face_to_quad_crn(const int corners, const int face_side, const float u, const float v, float *x, float *y);
void mdisp_apply_weight(const int S, const int corners, int x, int y, const int face_side, float crn_weight[4][2], float *u_r, float *v_r);
void mdisp_flip_disp(const int S, const int corners, const float axis_x[2], const float axis_y[2], float disp[3]);
void mdisp_join_tris(struct MDisps *dst, struct MDisps *tri1, struct MDisps *tri2);
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index a126f405d09..e44b5d96852 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -88,6 +88,7 @@ typedef struct bNodeType {
/* this line is set on startup of blender */
void (*uifunc)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr);
+ void (*uifuncbut)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr);
const char *(*labelfunc)(struct bNode *);
void (*initfunc)(struct bNode *);
@@ -319,9 +320,10 @@ void ntreeGPUMaterialNodes(struct bNodeTree *ntree, struct GPUMaterial *mat);
#define RRES_OUT_REFRACT 12
#define RRES_OUT_INDIRECT 13
#define RRES_OUT_INDEXOB 14
-#define RRES_OUT_MIST 15
-#define RRES_OUT_EMIT 16
-#define RRES_OUT_ENV 17
+#define RRES_OUT_INDEXMA 15
+#define RRES_OUT_MIST 16
+#define RRES_OUT_EMIT 17
+#define RRES_OUT_ENV 18
/* note: types are needed to restore callbacks, don't change values */
#define CMP_NODE_VIEWER 201
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h
index 3a98f892bd8..a6b5c04b5c3 100644
--- a/source/blender/blenkernel/BKE_object.h
+++ b/source/blender/blenkernel/BKE_object.h
@@ -83,6 +83,7 @@ float dof_camera(struct Object *ob);
void *add_lamp(const char *name);
struct Lamp *copy_lamp(struct Lamp *la);
+struct Lamp *localize_lamp(struct Lamp *la);
void make_local_lamp(struct Lamp *la);
void free_camera(struct Camera *ca);
void free_lamp(struct Lamp *la);
diff --git a/source/blender/blenkernel/BKE_particle.h b/source/blender/blenkernel/BKE_particle.h
index 4dfc53e1734..5b565223ece 100644
--- a/source/blender/blenkernel/BKE_particle.h
+++ b/source/blender/blenkernel/BKE_particle.h
@@ -147,7 +147,8 @@ typedef struct ParticleBillboardData
struct Object *ob;
float vec[3], vel[3];
float offset[2];
- float size, tilt, random, time;
+ float size[2];
+ float tilt, random, time;
int uv[3];
int lock, num;
int totnum;
@@ -300,6 +301,8 @@ void psys_get_pointcache_start_end(struct Scene *scene, ParticleSystem *psys, in
void psys_check_boid_data(struct ParticleSystem *psys);
+void psys_get_birth_coordinates(struct ParticleSimulationData *sim, struct ParticleData *pa, struct ParticleKey *state, float dtime, float cfra);
+
void particle_system_update(struct Scene *scene, struct Object *ob, struct ParticleSystem *psys);
/* ----------- functions needed only inside particlesystem ------------ */
diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h
index 56b0cd63e01..bc443b4a3a6 100644
--- a/source/blender/blenkernel/BKE_screen.h
+++ b/source/blender/blenkernel/BKE_screen.h
@@ -246,6 +246,9 @@ void BKE_screen_view3d_sync(struct View3D *v3d, struct Scene *scene);
void BKE_screen_view3d_scene_sync(struct bScreen *sc);
void BKE_screen_view3d_main_sync(ListBase *screen_lb, struct Scene *scene);
+/* zoom factor conversion */
+float BKE_screen_view3d_zoom_to_fac(float camzoom);
+float BKE_screen_view3d_zoom_from_fac(float zoomfac);
/* screen */
void free_screen(struct bScreen *sc);
diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h
index 57829e957f7..bedd58876bc 100644
--- a/source/blender/blenkernel/BKE_sequencer.h
+++ b/source/blender/blenkernel/BKE_sequencer.h
@@ -268,6 +268,10 @@ void seq_translate(struct Scene *scene, struct Sequence *seq, int delta);
void seq_sound_init(struct Scene *scene, struct Sequence *seq);
struct Sequence *seq_foreground_frame_get(struct Scene *scene, int frame);
struct ListBase *seq_seqbase(struct ListBase *seqbase, struct Sequence *seq);
+struct Sequence *seq_metastrip(
+ ListBase * seqbase /* = ed->seqbase */,
+ struct Sequence * meta /* = NULL */, struct Sequence *seq);
+
void seq_offset_animdata(struct Scene *scene, struct Sequence *seq, int ofs);
void seq_dupe_animdata(struct Scene *scene, char *name_from, char *name_to);
int shuffle_seq(struct ListBase * seqbasep, struct Sequence *test, struct Scene *evil_scene);
@@ -275,7 +279,7 @@ int shuffle_seq_time(ListBase * seqbasep, struct Scene *evil_scene);
int seqbase_isolated_sel_check(struct ListBase *seqbase);
void free_imbuf_seq(struct Scene *scene, struct ListBase * seqbasep, int check_mem_usage, int keep_file_handles);
struct Sequence *seq_dupli_recursive(struct Scene *scene, struct Scene *scene_to, struct Sequence * seq, int dupe_flag);
-int seq_swap(struct Sequence *seq_a, struct Sequence *seq_b);
+int seq_swap(struct Sequence *seq_a, struct Sequence *seq_b, const char **error_str);
void seq_update_sound(struct Scene* scene, struct Sequence *seq);
void seq_update_muting(struct Scene* scene, struct Editing *ed);
diff --git a/source/blender/blenkernel/BKE_sketch.h b/source/blender/blenkernel/BKE_sketch.h
index 360a95bfb24..087cabc5c3d 100644
--- a/source/blender/blenkernel/BKE_sketch.h
+++ b/source/blender/blenkernel/BKE_sketch.h
@@ -73,8 +73,8 @@ typedef struct SK_Overdraw
typedef struct SK_DrawData
{
- short mval[2];
- short previous_mval[2];
+ int mval[2];
+ int previous_mval[2];
SK_PType type;
} SK_DrawData;
@@ -152,7 +152,7 @@ void sk_endContinuousStroke(SK_Stroke *stk);
void sk_updateNextPoint(SK_Sketch *sketch, SK_Stroke *stk);
-void sk_initDrawData(SK_DrawData *dd, const short mval[2]);
+void sk_initDrawData(SK_DrawData *dd, const int mval[2]);
void sk_deleteSelectedStrokes(SK_Sketch *sketch);
void sk_selectAllSketch(SK_Sketch *sketch, int mode);
diff --git a/source/blender/blenkernel/BKE_subsurf.h b/source/blender/blenkernel/BKE_subsurf.h
index b82db853d37..a400c1e27b9 100644
--- a/source/blender/blenkernel/BKE_subsurf.h
+++ b/source/blender/blenkernel/BKE_subsurf.h
@@ -54,7 +54,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
struct DerivedMesh *dm,
struct SubsurfModifierData *smd,
int useRenderParams, float (*vertCos)[3],
- int isFinalCalc, int editMode);
+ int isFinalCalc, int forEditMode, int inEditMode);
void subsurf_calculate_limit_positions(struct Mesh *me, float (*positions_r)[3]);
diff --git a/source/blender/blenkernel/BKE_text.h b/source/blender/blenkernel/BKE_text.h
index 136ce416037..bf80b033fbd 100644
--- a/source/blender/blenkernel/BKE_text.h
+++ b/source/blender/blenkernel/BKE_text.h
@@ -58,7 +58,7 @@ void write_text(struct Text *text, const char *str);
char* txt_to_buf (struct Text *text);
void txt_clean_text (struct Text *text);
void txt_order_cursors (struct Text *text);
-int txt_find_string (struct Text *text, char *findstr, int wrap);
+int txt_find_string (struct Text *text, char *findstr, int wrap, int match_case);
int txt_has_sel (struct Text *text);
int txt_get_span (struct TextLine *from, struct TextLine *to);
void txt_move_up (struct Text *text, short sel);
@@ -91,12 +91,12 @@ void txt_backspace_word (struct Text *text);
int txt_add_char (struct Text *text, char add);
int txt_add_raw_char (struct Text *text, char add);
int txt_replace_char (struct Text *text, char add);
-void txt_export_to_object (struct Text *text);
+void txt_export_to_object(struct Text *text);
void txt_export_to_objects(struct Text *text);
-void unindent (struct Text *text);
-void comment (struct Text *text);
-void indent (struct Text *text);
-void uncomment (struct Text *text);
+void txt_unindent (struct Text *text);
+void txt_comment (struct Text *text);
+void txt_indent (struct Text *text);
+void txt_uncomment (struct Text *text);
int setcurr_tab_spaces (struct Text *text, int space);
void txt_add_marker (struct Text *text, struct TextLine *line, int start, int end, const unsigned char color[4], int group, int flags);
diff --git a/source/blender/blenkernel/BKE_texture.h b/source/blender/blenkernel/BKE_texture.h
index c8fa7a5e81f..9fb93f60fd5 100644
--- a/source/blender/blenkernel/BKE_texture.h
+++ b/source/blender/blenkernel/BKE_texture.h
@@ -103,6 +103,8 @@ void set_current_material_texture(struct Material *ma, struct Tex *tex);
void set_current_lamp_texture(struct Lamp *la, struct Tex *tex);
void set_current_particle_texture(struct ParticleSettings *part, struct Tex *tex);
+int has_current_material_texture(struct Material *ma);
+
struct TexMapping *add_mapping(void);
void init_mapping(struct TexMapping *texmap);
diff --git a/source/blender/blenkernel/BKE_world.h b/source/blender/blenkernel/BKE_world.h
index 30780b87085..6c8d1ba7945 100644
--- a/source/blender/blenkernel/BKE_world.h
+++ b/source/blender/blenkernel/BKE_world.h
@@ -40,6 +40,7 @@ struct World;
void free_world(struct World *sc);
struct World *add_world(const char *name);
struct World *copy_world(struct World *wrld);
+struct World *localize_world(struct World *wrld);
void make_local_world(struct World *wrld);
#endif
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 4e948d2918b..defcef58463 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -32,8 +32,10 @@ endif()
set(INC
.
../avi
+ ../blenfont
../blenlib
../blenloader
+ ../editors/include
../gpu
../ikplugin
../imbuf
@@ -41,19 +43,22 @@ set(INC
../makesrna
../modifiers
../nodes
- ../editors/include
../render/extern/include
- ../../../intern/audaspace/intern
- ../../../intern/bsp/extern ../blenfont
+ ../../../intern/bsp/extern
../../../intern/decimation/extern
../../../intern/elbeem/extern
../../../intern/guardedalloc
../../../intern/iksolver/extern
../../../intern/memutil
+ ../../../intern/mikktspace
../../../intern/opennl/extern
../../../intern/smoke/extern
- ../../../intern/mikktspace
- ../../../source/blender/windowmanager # XXX - BAD LEVEL CALL WM_api.h
+
+ # XXX - BAD LEVEL CALL WM_api.h
+ ../windowmanager
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
${ZLIB_INCLUDE_DIRS}
)
@@ -122,7 +127,6 @@ set(SRC
intern/particle_system.c
intern/pointcache.c
intern/property.c
- intern/python_component.c
intern/report.c
intern/sca.c
intern/scene.c
@@ -205,7 +209,6 @@ set(SRC
BKE_plugin_types.h
BKE_pointcache.h
BKE_property.h
- BKE_pycomponent.h
BKE_report.h
BKE_sca.h
BKE_scene.h
@@ -235,13 +238,24 @@ set(SRC
add_definitions(-DGLEW_STATIC)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_BULLET)
- list(APPEND INC ../../../extern/bullet2/src)
+ list(APPEND INC
+ ../../../extern/bullet2/src
+ )
add_definitions(-DUSE_BULLET)
endif()
if(WITH_MOD_CLOTH_ELTOPO)
- list(APPEND INC ../../../extern/eltopo)
+ list(APPEND INC
+ ../../../extern/eltopo
+ )
add_definitions(-DWITH_ELTOPO)
endif()
@@ -265,27 +279,41 @@ if(WITH_IMAGE_CINEON)
add_definitions(-DWITH_CINEON)
endif()
+if(WITH_IMAGE_FRAMESERVER)
+ add_definitions(-DWITH_FRAMESERVER)
+endif()
+
if(WITH_IMAGE_HDR)
add_definitions(-DWITH_HDR)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC ${FFMPEG_INC})
+ list(APPEND INC
+ ../../../intern/ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
-if(WITH_LCMS)
- list(APPEND INC ${LCMS_INCLUDE_DIR})
- add_definitions(-DWITH_LCMS)
-endif()
-
if(WITH_PYTHON)
- list(APPEND INC ../python ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
@@ -301,22 +329,30 @@ if(NOT WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM)
endif()
+if(WITH_MOD_SMOKE)
+ add_definitions(-DWITH_SMOKE)
+endif()
+
if(WITH_JACK)
add_definitions(-DWITH_JACK)
endif()
if(WITH_LZO)
- list(APPEND INC ../../../extern/lzo/minilzo)
+ list(APPEND INC_SYS
+ ../../../extern/lzo/minilzo
+ )
add_definitions(-DWITH_LZO)
endif()
if(WITH_LZMA)
- list(APPEND INC ../../../extern/lzma)
+ list(APPEND INC_SYS
+ ../../../extern/lzma
+ )
add_definitions(-DWITH_LZMA)
endif()
if(MSVC)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
endif()
-blender_add_lib(bf_blenkernel "${SRC}" "${INC}")
+blender_add_lib(bf_blenkernel "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript
index dc327abd3ad..5ea42ee65ae 100644
--- a/source/blender/blenkernel/SConscript
+++ b/source/blender/blenkernel/SConscript
@@ -14,12 +14,16 @@ incs += ' ../gpu #/extern/glew/include'
incs += ' #/intern/smoke/extern'
incs += ' #/intern/mikktspace'
incs += ' #/intern/audaspace/intern'
+incs += ' #/intern/ffmpeg'
incs += ' ' + env['BF_OPENGL_INC']
incs += ' ' + env['BF_ZLIB_INC']
defs = [ 'GLEW_STATIC' ]
+defs.append('WITH_SMOKE') # TODO, make optional
+defs.append('WITH_FRAMESERVER') # TODO, make optional
+
if env['WITH_BF_PYTHON']:
incs += ' ../python'
incs += ' ' + env['BF_PYTHON_INC']
@@ -78,10 +82,6 @@ if env['OURPLATFORM'] == 'darwin':
if env['BF_NO_ELBEEM']:
defs.append('DISABLE_ELBEEM')
-if env['WITH_BF_LCMS']:
- defs.append('WITH_LCMS')
- incs += ' ' + env['BF_LCMS_INC']
-
if env['WITH_BF_LZO']:
incs += ' #/extern/lzo/minilzo'
defs.append('WITH_LZO')
diff --git a/source/blender/blenkernel/depsgraph_private.h b/source/blender/blenkernel/depsgraph_private.h
index 1fed115893c..ef4f320602b 100644
--- a/source/blender/blenkernel/depsgraph_private.h
+++ b/source/blender/blenkernel/depsgraph_private.h
@@ -69,8 +69,9 @@ typedef struct DagNode
void * ob;
void * first_ancestor;
int ancestor_count;
- unsigned int lay; // accumulated layers of its relations + itself
+ unsigned int lay; // accumulated layers of its relations + itself
unsigned int scelay; // layers due to being in scene
+ unsigned int customdata_mask; // customdata mask
int lasttime; // if lasttime != DagForest->time, this node was not evaluated yet for flushing
int BFS_dist; // BFS distance
int DFS_dist; // DFS distance
diff --git a/source/blender/blenkernel/intern/BME_tools.c b/source/blender/blenkernel/intern/BME_tools.c
index 7665b581d7e..99b6e7f9095 100644
--- a/source/blender/blenkernel/intern/BME_tools.c
+++ b/source/blender/blenkernel/intern/BME_tools.c
@@ -1002,7 +1002,7 @@ static BME_Mesh *BME_bevel_initialize(BME_Mesh *bm, int options, int UNUSED(defg
}
/* edge pass */
- threshold = (float)cos((angle + 0.00001) * M_PI / 180.0);
+ threshold = (float)cos((angle + 0.001) * M_PI / 180.0);
for (e=bm->edges.first; e; e=e->next) {
e->tflag1 = BME_BEVEL_ORIG;
weight = 0.0;
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index 5b49d9a9841..f7086c81756 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -831,7 +831,10 @@ void pose_remove_group (Object *ob)
/* now, remove it from the pose */
BLI_freelinkN(&pose->agroups, grp);
- pose->active_group= 0;
+ pose->active_group--;
+ if(pose->active_group < 0 || pose->agroups.first == NULL) {
+ pose->active_group= 0;
+ }
}
}
@@ -1125,7 +1128,7 @@ void copy_pose_result(bPose *to, bPose *from)
/* For the calculation of the effects of an Action at the given frame on an object
* This is currently only used for the Action Constraint
*/
-void what_does_obaction (Scene *UNUSED(scene), Object *ob, Object *workob, bPose *pose, bAction *act, char groupname[], float cframe)
+void what_does_obaction (Object *ob, Object *workob, bPose *pose, bAction *act, char groupname[], float cframe)
{
bActionGroup *agrp= action_groups_find_named(act, groupname);
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c
index e12ec559f4b..8aa816f9cb5 100644
--- a/source/blender/blenkernel/intern/anim.c
+++ b/source/blender/blenkernel/intern/anim.c
@@ -171,7 +171,12 @@ bMotionPath *animviz_verify_motionpaths(Scene *scene, Object *ob, bPoseChannel *
avs= &ob->avs;
dst= &ob->mpath;
}
-
+
+ /* avoid 0 size allocs */
+ if(avs->path_sf >= avs->path_ef) {
+ return NULL;
+ }
+
/* if there is already a motionpath, just return that,
* but provided it's settings are ok
*/
@@ -714,12 +719,13 @@ static void group_duplilist(ListBase *lb, Scene *scene, Object *ob, int level, i
/* note, if you check on layer here, render goes wrong... it still deforms verts and uses parent imat */
if(go->ob!=ob) {
- /* Group Dupli Offset, should apply after everything else */
- if (group->dupli_ofs[0] || group->dupli_ofs[1] || group->dupli_ofs[2]) {
+ /* group dupli offset, should apply after everything else */
+ if(!is_zero_v3(group->dupli_ofs)) {
copy_m4_m4(tmat, go->ob->obmat);
sub_v3_v3v3(tmat[3], tmat[3], group->dupli_ofs);
mul_m4_m4m4(mat, tmat, ob->obmat);
- } else {
+ }
+ else {
mul_m4_m4m4(mat, go->ob->obmat, ob->obmat);
}
@@ -1206,7 +1212,7 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
float tmat[4][4], mat[4][4], pamat[4][4], vec[3], size=0.0;
float (*obmat)[4], (*oldobmat)[4];
int a, b, counter, hair = 0;
- int totpart, totchild, totgroup=0, pa_num;
+ int totpart, totchild, totgroup=0 /*, pa_num */;
int no_draw_flag = PARS_UNEXIST;
@@ -1323,7 +1329,7 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
if(pa->flag & no_draw_flag)
continue;
- pa_num = pa->num;
+ /* pa_num = pa->num; */ /* UNUSED */
pa_time = pa->time;
size = pa->size;
}
@@ -1331,7 +1337,7 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
/* handle child particle */
cpa = &psys->child[a - totpart];
- pa_num = a;
+ /* pa_num = a; */ /* UNUSED */
pa_time = psys->particles[cpa->parent].time;
size = psys_get_child_size(psys, cpa, ctime, NULL);
}
@@ -1390,7 +1396,17 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
if(part->ren_as==PART_DRAW_GR && psys->part->draw & PART_DRAW_WHOLE_GR) {
for(go= part->dup_group->gobject.first, b=0; go; go= go->next, b++) {
- mul_m4_m4m4(tmat, oblist[b]->obmat, pamat);
+
+ /* group dupli offset, should apply after everything else */
+ if(!is_zero_v3(part->dup_group->dupli_ofs)) {
+ copy_m4_m4(tmat, oblist[b]->obmat);
+ sub_v3_v3v3(tmat[3], tmat[3], part->dup_group->dupli_ofs);
+ mul_m4_m4m4(tmat, tmat, pamat);
+ }
+ else {
+ mul_m4_m4m4(tmat, oblist[b]->obmat, pamat);
+ }
+
mul_mat3_m4_fl(tmat, size*scale);
if(par_space_mat)
mul_m4_m4m4(mat, tmat, par_space_mat);
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c
index 5198172c205..fdc102bf779 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -1043,6 +1043,9 @@ static short animsys_remap_path (AnimMapper *UNUSED(remap), char *path, char **d
}
+/* less then 1.0 evaluates to false, use epsilon to avoid float error */
+#define ANIMSYS_FLOAT_AS_BOOL(value) ((value) > ((1.0f-FLT_EPSILON)))
+
/* Write the given value to a setting using RNA, and return success */
static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_index, float value)
{
@@ -1074,9 +1077,9 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i
{
case PROP_BOOLEAN:
if (array_len)
- RNA_property_boolean_set_index(&new_ptr, prop, array_index, (int)value);
+ RNA_property_boolean_set_index(&new_ptr, prop, array_index, ANIMSYS_FLOAT_AS_BOOL(value));
else
- RNA_property_boolean_set(&new_ptr, prop, (int)value);
+ RNA_property_boolean_set(&new_ptr, prop, ANIMSYS_FLOAT_AS_BOOL(value));
break;
case PROP_INT:
if (array_len)
@@ -1867,9 +1870,9 @@ void nladata_flush_channels (ListBase *channels)
{
case PROP_BOOLEAN:
if (RNA_property_array_length(ptr, prop))
- RNA_property_boolean_set_index(ptr, prop, array_index, (int)value);
+ RNA_property_boolean_set_index(ptr, prop, array_index, ANIMSYS_FLOAT_AS_BOOL(value));
else
- RNA_property_boolean_set(ptr, prop, (int)value);
+ RNA_property_boolean_set(ptr, prop, ANIMSYS_FLOAT_AS_BOOL(value));
break;
case PROP_INT:
if (RNA_property_array_length(ptr, prop))
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index fd25ebe266f..0b31e51d62e 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -1343,8 +1343,12 @@ void vec_roll_to_mat3(float *vec, float roll, float mat[][3])
cross_v3_v3v3(axis,target,nor);
/* was 0.0000000000001, caused bug [#23954], smaller values give unstable
- * roll when toggling editmode */
- if (dot_v3v3(axis,axis) > 0.00001f) {
+ * roll when toggling editmode.
+ *
+ * was 0.00001, causes bug [#27675], with 0.00000495,
+ * so a value inbetween these is needed.
+ */
+ if (dot_v3v3(axis,axis) > 0.000001f) {
/* if nor is *not* a multiple of target ... */
normalize_v3(axis);
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c
index 75c6303d800..8b4bbbd3c83 100644
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@ -64,6 +64,7 @@
#include "BLI_dynstr.h"
#include "BLI_path_util.h"
#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
#include "IMB_imbuf.h"
@@ -96,7 +97,7 @@ UserDef U;
/* ListBase = {NULL, NULL}; */
short ENDIAN_ORDER;
-static char versionstr[48]= "";
+char versionstr[48]= "";
/* ********** free ********** */
@@ -110,6 +111,9 @@ void free_blender(void)
BKE_spacetypes_free(); /* after free main, it uses space callbacks */
IMB_exit();
+
+ BLI_cb_finalize();
+
seq_stripelem_cache_destruct();
free_nodesystem();
@@ -129,9 +133,9 @@ void initglobals(void)
ENDIAN_ORDER= (((char*)&ENDIAN_ORDER)[0])? L_ENDIAN: B_ENDIAN;
if(BLENDER_SUBVERSION)
- BLI_snprintf(versionstr, sizeof(versionstr), "www.blender.org %d.%d", BLENDER_VERSION, BLENDER_SUBVERSION);
+ BLI_snprintf(versionstr, sizeof(versionstr), "blender.org %d.%d", BLENDER_VERSION, BLENDER_SUBVERSION);
else
- BLI_snprintf(versionstr, sizeof(versionstr), "www.blender.org %d", BLENDER_VERSION);
+ BLI_snprintf(versionstr, sizeof(versionstr), "blender.org %d", BLENDER_VERSION);
#ifdef _WIN32 // FULLSCREEN
G.windowstate = G_WINDOWSTATE_USERDEF;
@@ -154,7 +158,6 @@ static void clear_global(void)
{
// extern short winqueue_break; /* screen.c */
- fastshade_free_render(); /* lamps hang otherwise */
free_main(G.main); /* free all lib data */
// free_vertexpaint();
@@ -180,7 +183,6 @@ static void clean_paths(Main *main)
BLI_bpathIterator_free(bpi);
for(scene= main->scene.first; scene; scene= scene->id.next) {
- BLI_clean(scene->r.backbuf);
BLI_clean(scene->r.pic);
}
}
@@ -191,7 +193,7 @@ static void clean_paths(Main *main)
/* note, this is called on Undo so any slow conversion functions here
* should be avoided or check (mode!='u') */
-static void setup_app_data(bContext *C, BlendFileData *bfd, const char *filename)
+static void setup_app_data(bContext *C, BlendFileData *bfd, const char *filepath)
{
bScreen *curscreen= NULL;
Scene *curscene= NULL;
@@ -295,18 +297,18 @@ static void setup_app_data(bContext *C, BlendFileData *bfd, const char *filename
if(recover && bfd->filename[0] && G.relbase_valid) {
/* in case of autosave or quit.blend, use original filename instead
* use relbase_valid to make sure the file is saved, else we get <memory2> in the filename */
- filename= bfd->filename;
+ filepath= bfd->filename;
}
#if 0
else if (!G.relbase_valid) {
/* otherwise, use an empty string as filename, rather than <memory2> */
- filename="";
+ filepath="";
}
#endif
/* these are the same at times, should never copy to the same location */
- if(G.main->name != filename)
- BLI_strncpy(G.main->name, filename, FILE_MAX);
+ if(G.main->name != filepath)
+ BLI_strncpy(G.main->name, filepath, FILE_MAX);
/* baseflags, groups, make depsgraph, etc */
set_scene_bg(G.main, CTX_data_scene(C));
@@ -353,15 +355,15 @@ void BKE_userdef_free(void)
BLI_freelistN(&U.addons);
}
-int BKE_read_file(bContext *C, const char *dir, ReportList *reports)
+int BKE_read_file(bContext *C, const char *filepath, ReportList *reports)
{
BlendFileData *bfd;
int retval= BKE_READ_FILE_OK;
- if(strstr(dir, BLENDER_STARTUP_FILE)==NULL) /* dont print user-pref loading */
- printf("read blend: %s\n", dir);
+ if(strstr(filepath, BLENDER_STARTUP_FILE)==NULL) /* dont print user-pref loading */
+ printf("read blend: %s\n", filepath);
- bfd= BLO_read_from_file(dir, reports);
+ bfd= BLO_read_from_file(filepath, reports);
if (bfd) {
if(bfd->user) retval= BKE_READ_FILE_OK_USERPREFS;
@@ -372,10 +374,10 @@ int BKE_read_file(bContext *C, const char *dir, ReportList *reports)
retval= BKE_READ_FILE_FAIL;
}
else
- setup_app_data(C, bfd, dir); // frees BFD
+ setup_app_data(C, bfd, filepath); // frees BFD
}
else
- BKE_reports_prependf(reports, "Loading %s failed: ", dir);
+ BKE_reports_prependf(reports, "Loading %s failed: ", filepath);
return (bfd?retval:BKE_READ_FILE_FAIL);
}
@@ -521,19 +523,20 @@ void BKE_write_undo(bContext *C, const char *name)
/* disk save version */
if(UNDO_DISK) {
static int counter= 0;
- char tstr[FILE_MAXDIR+FILE_MAXFILE];
+ char filepath[FILE_MAXDIR+FILE_MAXFILE];
char numstr[32];
-
- /* calculate current filename */
+ int fileflags = G.fileflags & ~(G_FILE_HISTORY); /* don't do file history on undo */
+
+ /* calculate current filepath */
counter++;
counter= counter % U.undosteps;
BLI_snprintf(numstr, sizeof(numstr), "%d.blend", counter);
- BLI_make_file_string("/", tstr, btempdir, numstr);
+ BLI_make_file_string("/", filepath, btempdir, numstr);
- success= BLO_write_file(CTX_data_main(C), tstr, G.fileflags, NULL, NULL);
+ success= BLO_write_file(CTX_data_main(C), filepath, fileflags, NULL, NULL);
- BLI_strncpy(curundo->str, tstr, sizeof(curundo->str));
+ BLI_strncpy(curundo->str, filepath, sizeof(curundo->str));
}
else {
MemFile *prevfile=NULL;
@@ -619,7 +622,7 @@ void BKE_reset_undo(void)
/* based on index nr it does a restore */
void BKE_undo_number(bContext *C, int nr)
{
- curundo= BLI_findlink(&undobase, nr - 1);
+ curundo= BLI_findlink(&undobase, nr);
BKE_undo_step(C, 0);
}
@@ -645,6 +648,21 @@ int BKE_undo_valid(const char *name)
return undobase.last != undobase.first;
}
+/* get name of undo item, return null if no item with this index */
+/* if active pointer, set it to 1 if true */
+char *BKE_undo_get_name(int nr, int *active)
+{
+ UndoElem *uel= BLI_findlink(&undobase, nr);
+
+ if(active) *active= 0;
+
+ if(uel) {
+ if(active && uel==curundo)
+ *active= 1;
+ return uel->name;
+ }
+ return NULL;
+}
char *BKE_undo_menu_string(void)
{
diff --git a/source/blender/blenkernel/intern/boids.c b/source/blender/blenkernel/intern/boids.c
index 9f808704eee..a0f38e675f9 100644
--- a/source/blender/blenkernel/intern/boids.c
+++ b/source/blender/blenkernel/intern/boids.c
@@ -937,6 +937,7 @@ void boid_brain(BoidBrainData *bbd, int p, ParticleData *pa)
BoidValues val;
BoidState *state = get_boid_state(boids, pa);
BoidParticle *bpa = pa->boid;
+ ParticleSystem *psys = bbd->sim->psys;
int rand;
//BoidCondition *cond;
@@ -959,9 +960,8 @@ void boid_brain(BoidBrainData *bbd, int p, ParticleData *pa)
bbd->wanted_co[0]=bbd->wanted_co[1]=bbd->wanted_co[2]=bbd->wanted_speed=0.0f;
/* create random seed for every particle & frame */
- BLI_srandom(bbd->sim->psys->seed + p);
- rand = BLI_rand();
- BLI_srandom((int)bbd->cfra + rand);
+ rand = (int)(PSYS_FRAND(psys->seed + p) * 1000);
+ rand = (int)(PSYS_FRAND((int)bbd->cfra + rand) * 1000);
set_boid_values(&val, bbd->part->boids, pa);
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index fa3b756ae27..c497cd2813a 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -235,8 +235,6 @@ void make_local_brush(Brush *brush)
if(paint_brush(&scene->toolsettings->imapaint.paint)==brush) {
if(scene->id.lib==NULL) {
paint_brush_set(&scene->toolsettings->imapaint.paint, brushn);
- brushn->id.us++;
- brush->id.us--;
}
}
}
@@ -426,13 +424,6 @@ void brush_curve_preset(Brush *b, /*CurveMappingPreset*/int preset)
curvemapping_changed(b->curve, 0);
}
-static MTex *brush_active_texture(Brush *brush)
-{
- if(brush)
- return &brush->mtex;
- return NULL;
-}
-
int brush_texture_set_nr(Brush *brush, int nr)
{
ID *idtest, *id=NULL;
@@ -528,7 +519,7 @@ void brush_sample_tex(Brush *brush, float *xy, float *rgba, const int thread)
}
-void brush_imbuf_new(Brush *brush, short flt, short texfall, int bufsize, ImBuf **outbuf)
+void brush_imbuf_new(Brush *brush, short flt, short texfall, int bufsize, ImBuf **outbuf, int use_color_correction)
{
ImBuf *ibuf;
float xy[2], dist, rgba[4], *dstf;
@@ -536,7 +527,8 @@ void brush_imbuf_new(Brush *brush, short flt, short texfall, int bufsize, ImBuf
const int radius= brush_size(brush);
char *dst, crgb[3];
const float alpha= brush_alpha(brush);
-
+ float brush_rgb[3];
+
imbflag= (flt)? IB_rectfloat: IB_rect;
xoff = -bufsize/2.0f + 0.5f;
yoff = -bufsize/2.0f + 0.5f;
@@ -548,6 +540,11 @@ void brush_imbuf_new(Brush *brush, short flt, short texfall, int bufsize, ImBuf
ibuf= IMB_allocImBuf(bufsize, bufsize, 32, imbflag);
if (flt) {
+ copy_v3_v3(brush_rgb, brush->rgb);
+ if(use_color_correction){
+ srgb_to_linearrgb_v3_v3(brush_rgb, brush_rgb);
+ }
+
for (y=0; y < ibuf->y; y++) {
dstf = ibuf->rect_float + y*rowbytes;
@@ -558,7 +555,7 @@ void brush_imbuf_new(Brush *brush, short flt, short texfall, int bufsize, ImBuf
if (texfall == 0) {
dist = sqrt(xy[0]*xy[0] + xy[1]*xy[1]);
- VECCOPY(dstf, brush->rgb);
+ VECCOPY(dstf, brush_rgb);
dstf[3]= alpha*brush_curve_strength_clamp(brush, dist, radius);
}
else if (texfall == 1) {
@@ -568,10 +565,7 @@ void brush_imbuf_new(Brush *brush, short flt, short texfall, int bufsize, ImBuf
dist = sqrt(xy[0]*xy[0] + xy[1]*xy[1]);
brush_sample_tex(brush, xy, rgba, 0);
-
- dstf[0] = rgba[0]*brush->rgb[0];
- dstf[1] = rgba[1]*brush->rgb[1];
- dstf[2] = rgba[2]*brush->rgb[2];
+ mul_v3_v3v3(dstf, rgba, brush_rgb);
dstf[3] = rgba[3]*alpha*brush_curve_strength_clamp(brush, dist, radius);
}
}
@@ -869,7 +863,7 @@ static void brush_painter_fixed_tex_partial_update(BrushPainter *painter, float
brush_painter_do_partial(painter, NULL, x1, y2, x2, ibuf->y, 0, 0, pos);
}
-static void brush_painter_refresh_cache(BrushPainter *painter, float *pos)
+static void brush_painter_refresh_cache(BrushPainter *painter, float *pos, int use_color_correction)
{
Brush *brush= painter->brush;
BrushPainterCache *cache= &painter->cache;
@@ -896,11 +890,11 @@ static void brush_painter_refresh_cache(BrushPainter *painter, float *pos)
size= (cache->size)? cache->size: diameter;
if (brush->flag & BRUSH_FIXED_TEX) {
- brush_imbuf_new(brush, flt, 3, size, &cache->maskibuf);
+ brush_imbuf_new(brush, flt, 3, size, &cache->maskibuf, use_color_correction);
brush_painter_fixed_tex_partial_update(painter, pos);
}
else
- brush_imbuf_new(brush, flt, 2, size, &cache->ibuf);
+ brush_imbuf_new(brush, flt, 2, size, &cache->ibuf, use_color_correction);
cache->lastsize= diameter;
cache->lastalpha= alpha;
@@ -959,7 +953,7 @@ void brush_jitter_pos(Brush *brush, float *pos, float *jitterpos)
}
}
-int brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos, double time, float pressure, void *user)
+int brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos, double time, float pressure, void *user, int use_color_correction)
{
Brush *brush= painter->brush;
int totpaintops= 0;
@@ -977,7 +971,7 @@ int brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos, doubl
brush_apply_pressure(painter, brush, pressure);
if (painter->cache.enabled)
- brush_painter_refresh_cache(painter, pos);
+ brush_painter_refresh_cache(painter, pos, use_color_correction);
totpaintops += func(user, painter->cache.ibuf, pos, pos);
painter->lasttime= time;
@@ -1050,7 +1044,7 @@ int brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos, doubl
brush_jitter_pos(brush, paintpos, finalpos);
if (painter->cache.enabled)
- brush_painter_refresh_cache(painter, finalpos);
+ brush_painter_refresh_cache(painter, finalpos, use_color_correction);
totpaintops +=
func(user, painter->cache.ibuf, painter->lastpaintpos, finalpos);
@@ -1064,7 +1058,7 @@ int brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos, doubl
brush_jitter_pos(brush, pos, finalpos);
if (painter->cache.enabled)
- brush_painter_refresh_cache(painter, finalpos);
+ brush_painter_refresh_cache(painter, finalpos, use_color_correction);
totpaintops += func(user, painter->cache.ibuf, pos, finalpos);
@@ -1092,7 +1086,7 @@ int brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos, doubl
brush_jitter_pos(brush, pos, finalpos);
if (painter->cache.enabled)
- brush_painter_refresh_cache(painter, finalpos);
+ brush_painter_refresh_cache(painter, finalpos, use_color_correction);
totpaintops +=
func(user, painter->cache.ibuf, painter->lastmousepos, finalpos);
@@ -1185,7 +1179,7 @@ unsigned int *brush_gen_texture_cache(Brush *br, int half_side)
}
/**** Radial Control ****/
-static struct ImBuf *brush_gen_radial_control_imbuf(Brush *br)
+struct ImBuf *brush_gen_radial_control_imbuf(Brush *br)
{
ImBuf *im = MEM_callocN(sizeof(ImBuf), "radial control texture");
unsigned int *texcache;
@@ -1219,50 +1213,6 @@ static struct ImBuf *brush_gen_radial_control_imbuf(Brush *br)
return im;
}
-void brush_radial_control_invoke(wmOperator *op, Brush *br, float size_weight)
-{
- int mode = RNA_enum_get(op->ptr, "mode");
- float original_value= 0;
-
- if(mode == WM_RADIALCONTROL_SIZE)
- original_value = brush_size(br) * size_weight;
- else if(mode == WM_RADIALCONTROL_STRENGTH)
- original_value = brush_alpha(br);
- else if(mode == WM_RADIALCONTROL_ANGLE) {
- MTex *mtex = brush_active_texture(br);
- if(mtex)
- original_value = mtex->rot;
- }
-
- RNA_float_set(op->ptr, "initial_value", original_value);
- op->customdata = brush_gen_radial_control_imbuf(br);
-}
-
-int brush_radial_control_exec(wmOperator *op, Brush *br, float size_weight)
-{
- int mode = RNA_enum_get(op->ptr, "mode");
- float new_value = RNA_float_get(op->ptr, "new_value");
- const float conv = 0.017453293;
-
- if(mode == WM_RADIALCONTROL_SIZE)
- if (brush_use_locked_size(br)) {
- float initial_value = RNA_float_get(op->ptr, "initial_value");
- const float unprojected_radius = brush_unprojected_radius(br);
- brush_set_unprojected_radius(br, unprojected_radius * new_value/initial_value * size_weight);
- }
- else
- brush_set_size(br, new_value * size_weight);
- else if(mode == WM_RADIALCONTROL_STRENGTH)
- brush_set_alpha(br, new_value);
- else if(mode == WM_RADIALCONTROL_ANGLE) {
- MTex *mtex = brush_active_texture(br);
- if(mtex)
- mtex->rot = new_value * conv;
- }
-
- return OPERATOR_FINISHED;
-}
-
/* Unified Size and Strength */
static void set_unified_settings(Brush *brush, short flag, int value)
@@ -1302,6 +1252,19 @@ static short unified_settings(Brush *brush)
return 0;
}
+// XXX: be careful about setting size and unprojected radius
+// because they depend on one another
+// these functions do not set the other corresponding value
+// this can lead to odd behavior if size and unprojected
+// radius become inconsistent.
+// the biggest problem is that it isn't possible to change
+// unprojected radius because a view context is not
+// available. my ussual solution to this is to use the
+// ratio of change of the size to change the unprojected
+// radius. Not completely convinced that is correct.
+// In anycase, a better solution is needed to prevent
+// inconsistency.
+
static void set_unified_size(Brush *brush, int value)
{
Scene *sce;
diff --git a/source/blender/blenkernel/intern/bvhutils.c b/source/blender/blenkernel/intern/bvhutils.c
index 5520e4d1d41..c3aeb440938 100644
--- a/source/blender/blenkernel/intern/bvhutils.c
+++ b/source/blender/blenkernel/intern/bvhutils.c
@@ -493,7 +493,7 @@ static void mesh_edges_nearest_point(void *userdata, int index, const float *co,
// NOTE: casts to "float*" here are due to co being "const float*"
closest_to_line_segment_v3(nearest_tmp, (float*)co, t0, t1);
- dist = len_v3v3(nearest_tmp, (float*)co);
+ dist = len_squared_v3v3(nearest_tmp, (float*)co);
if(dist < nearest->dist)
{
@@ -719,7 +719,7 @@ void free_bvhtree_from_mesh(struct BVHTreeFromMesh *data)
if(!data->cached)
BLI_bvhtree_free(data->tree);
- memset( data, 0, sizeof(data) );
+ memset( data, 0, sizeof(*data) );
}
}
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 72ee9b55800..662c872b7f1 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -284,8 +284,10 @@ static void cdDM_drawVerts(DerivedMesh *dm)
else { /* use OpenGL VBOs or Vertex Arrays instead for better, faster rendering */
GPU_vertex_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
- if(dm->drawObject->nelements) glDrawArrays(GL_POINTS,0, dm->drawObject->nelements);
- else glDrawArrays(GL_POINTS,0, dm->drawObject->nlooseverts);
+ if(dm->drawObject->tot_triangle_point)
+ glDrawArrays(GL_POINTS,0, dm->drawObject->tot_triangle_point);
+ else
+ glDrawArrays(GL_POINTS,0, dm->drawObject->tot_loose_point);
}
GPU_buffer_unbind();
}
@@ -547,9 +549,10 @@ static void cdDM_drawFacesSolid(DerivedMesh *dm,
GPU_normal_setup( dm );
if( !GPU_buffer_legacy(dm) ) {
glShadeModel(GL_SMOOTH);
- for( a = 0; a < dm->drawObject->nmaterials; a++ ) {
+ for( a = 0; a < dm->drawObject->totmaterial; a++ ) {
if( setMaterial(dm->drawObject->materials[a].mat_nr+1, NULL) )
- glDrawArrays(GL_TRIANGLES, dm->drawObject->materials[a].start, dm->drawObject->materials[a].end-dm->drawObject->materials[a].start);
+ glDrawArrays(GL_TRIANGLES, dm->drawObject->materials[a].start,
+ dm->drawObject->materials[a].totpoint);
}
}
GPU_buffer_unbind( );
@@ -629,13 +632,13 @@ static void cdDM_drawFacesColored(DerivedMesh *dm, int useTwoSided, unsigned cha
GPU_color_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
glShadeModel(GL_SMOOTH);
- glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->nelements);
+ glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->tot_triangle_point);
if( useTwoSided ) {
GPU_color4_upload(dm,cp2);
GPU_color_setup(dm);
glCullFace(GL_FRONT);
- glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->nelements);
+ glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->tot_triangle_point);
glCullFace(GL_BACK);
}
}
@@ -787,8 +790,8 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm,
glShadeModel( GL_SMOOTH );
lastFlag = 0;
- for(i = 0; i < dm->drawObject->nelements/3; i++) {
- int actualFace = dm->drawObject->faceRemap[i];
+ for(i = 0; i < dm->drawObject->tot_triangle_point/3; i++) {
+ int actualFace = dm->drawObject->triangle_to_mface[i];
int flag = 1;
if(drawParams) {
@@ -819,13 +822,13 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm,
startFace = i;
}
}
- if( startFace < dm->drawObject->nelements/3 ) {
+ if( startFace < dm->drawObject->tot_triangle_point/3 ) {
if( lastFlag != 0 ) { /* if the flag is 0 it means the face is hidden or invisible */
if (lastFlag==1 && col)
GPU_color_switch(1);
else
GPU_color_switch(0);
- glDrawArrays(GL_TRIANGLES,startFace*3,dm->drawObject->nelements-startFace*3);
+ glDrawArrays(GL_TRIANGLES, startFace*3, dm->drawObject->tot_triangle_point - startFace*3);
}
}
}
@@ -935,7 +938,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
if( useColors && mc )
GPU_color_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
- int tottri = dm->drawObject->nelements/3;
+ int tottri = dm->drawObject->tot_triangle_point/3;
glShadeModel(GL_SMOOTH);
if(tottri == 0) {
@@ -947,17 +950,17 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
}
else {
/* we need to check if the next material changes */
- int next_actualFace= dm->drawObject->faceRemap[0];
+ int next_actualFace= dm->drawObject->triangle_to_mface[0];
for( i = 0; i < tottri; i++ ) {
- //int actualFace = dm->drawObject->faceRemap[i];
+ //int actualFace = dm->drawObject->triangle_to_mface[i];
int actualFace = next_actualFace;
MFace *mface= mf + actualFace;
int drawSmooth= (mface->flag & ME_SMOOTH);
int draw = 1;
if(i != tottri-1)
- next_actualFace= dm->drawObject->faceRemap[i+1];
+ next_actualFace= dm->drawObject->triangle_to_mface[i+1];
orig= (index==NULL) ? actualFace : index[actualFace];
@@ -1129,9 +1132,9 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
GPU_normal_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
- for( i = 0; i < dm->drawObject->nelements/3; i++ ) {
+ for( i = 0; i < dm->drawObject->tot_triangle_point/3; i++ ) {
- a = dm->drawObject->faceRemap[i];
+ a = dm->drawObject->triangle_to_mface[i];
mface = mf + a;
new_matnr = mface->mat_nr + 1;
@@ -1153,7 +1156,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
if( numdata != 0 ) {
- GPU_buffer_free(buffer, NULL);
+ GPU_buffer_free(buffer);
buffer = NULL;
}
@@ -1193,7 +1196,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
}
if( numdata != 0 ) {
elementsize = GPU_attrib_element_size( datatypes, numdata );
- buffer = GPU_buffer_alloc( elementsize*dm->drawObject->nelements, NULL );
+ buffer = GPU_buffer_alloc( elementsize*dm->drawObject->tot_triangle_point);
if( buffer == NULL ) {
GPU_buffer_unbind();
dm->drawObject->legacy = 1;
@@ -1202,7 +1205,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
varray = GPU_buffer_lock_stream(buffer);
if( varray == NULL ) {
GPU_buffer_unbind();
- GPU_buffer_free(buffer, NULL);
+ GPU_buffer_free(buffer);
dm->drawObject->legacy = 1;
return;
}
@@ -1284,6 +1287,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
QUATCOPY((float *)&varray[elementsize*curface*3+offset+elementsize*2], tang);
offset += sizeof(float)*4;
}
+ (void)offset;
}
curface++;
if(mface->v4) {
@@ -1324,6 +1328,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
QUATCOPY((float *)&varray[elementsize*curface*3+offset+elementsize*2], tang);
offset += sizeof(float)*4;
}
+ (void)offset;
}
curface++;
i++;
@@ -1341,7 +1346,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
}
GPU_buffer_unbind();
}
- GPU_buffer_free( buffer, NULL );
+ GPU_buffer_free(buffer);
}
glShadeModel(GL_FLAT);
diff --git a/source/blender/blenkernel/intern/colortools.c b/source/blender/blenkernel/intern/colortools.c
index 1d7481b365a..9a6c2cc7e31 100644
--- a/source/blender/blenkernel/intern/colortools.c
+++ b/source/blender/blenkernel/intern/colortools.c
@@ -37,10 +37,6 @@
#include <stdlib.h>
#include <float.h>
-#ifdef WITH_LCMS
-#include <lcms.h>
-#endif
-
#include "MEM_guardedalloc.h"
#include "DNA_color_types.h"
@@ -789,60 +785,6 @@ void curvemapping_evaluate_premulRGBF(CurveMapping *cumap, float *vecout, const
}
-#ifdef WITH_LCMS
-/* basic error handler, if we dont do this blender will exit */
-static int ErrorReportingFunction(int ErrorCode, const char *ErrorText)
-{
- fprintf(stderr, "%s:%d\n", ErrorText, ErrorCode);
- return 1;
-}
-#endif
-
-void colorcorrection_do_ibuf(ImBuf *ibuf, const char *profile)
-{
-#ifdef WITH_LCMS
- if (ibuf->crect == NULL)
- {
- cmsHPROFILE proofingProfile;
-
- /* TODO, move to initialization area of code */
- //cmsSetLogErrorHandler(ErrorReportingFunction);
- cmsSetErrorHandler(ErrorReportingFunction);
-
- /* will return NULL if the file isn't fount */
- proofingProfile = cmsOpenProfileFromFile(profile, "r");
-
- cmsErrorAction(LCMS_ERROR_SHOW);
-
- if(proofingProfile) {
- cmsHPROFILE imageProfile;
- cmsHTRANSFORM hTransform;
-
- ibuf->crect = MEM_mallocN(ibuf->x*ibuf->y*sizeof(int), "imbuf crect");
-
- imageProfile = cmsCreate_sRGBProfile();
-
-
- hTransform = cmsCreateProofingTransform(imageProfile, TYPE_RGBA_8, imageProfile, TYPE_RGBA_8,
- proofingProfile,
- INTENT_ABSOLUTE_COLORIMETRIC,
- INTENT_ABSOLUTE_COLORIMETRIC,
- cmsFLAGS_SOFTPROOFING);
-
- cmsDoTransform(hTransform, ibuf->rect, ibuf->crect, ibuf->x * ibuf->y);
-
- cmsDeleteTransform(hTransform);
- cmsCloseProfile(imageProfile);
- cmsCloseProfile(proofingProfile);
- }
- }
-#else
- /* unused */
- (void)ibuf;
- (void)profile;
-#endif
-}
-
/* only used for image editor curves */
void curvemapping_do_ibuf(CurveMapping *cumap, ImBuf *ibuf)
{
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index d3c14a9dd12..7be4744a224 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -424,7 +424,7 @@ void constraint_mat_convertspace (Object *ob, bPoseChannel *pchan, float mat[][4
/* ------------ General Target Matrix Tools ---------- */
/* function that sets the given matrix based on given vertex group in mesh */
-static void contarget_get_mesh_mat (Scene *scene, Object *ob, const char *substring, float mat[][4])
+static void contarget_get_mesh_mat (Object *ob, const char *substring, float mat[][4])
{
DerivedMesh *dm = NULL;
Mesh *me= ob->data;
@@ -449,16 +449,9 @@ static void contarget_get_mesh_mat (Scene *scene, Object *ob, const char *substr
freeDM= 1;
}
else {
- /* when not in EditMode, use the 'final' derived mesh
- * - check if the custom data masks for derivedFinal mean that we can just use that
- * (this is more effficient + sufficient for most cases)
- */
- if (!(ob->lastDataMask & CD_MASK_MDEFORMVERT)) {
- dm = mesh_get_derived_final(scene, ob, CD_MASK_MDEFORMVERT);
- freeDM= 1;
- }
- else
- dm = (DerivedMesh *)ob->derivedFinal;
+ /* when not in EditMode, use the 'final' derived mesh, depsgraph
+ * ensures we build with CD_MDEFORMVERT layer */
+ dm = (DerivedMesh *)ob->derivedFinal;
}
/* only continue if there's a valid DerivedMesh */
@@ -587,7 +580,7 @@ static void contarget_get_lattice_mat (Object *ob, const char *substring, float
/* generic function to get the appropriate matrix for most target cases */
/* The cases where the target can be object data have not been implemented */
-static void constraint_target_to_mat4 (Scene *scene, Object *ob, const char *substring, float mat[][4], short from, short to, float headtail)
+static void constraint_target_to_mat4 (Object *ob, const char *substring, float mat[][4], short from, short to, float headtail)
{
/* Case OBJECT */
if (!strlen(substring)) {
@@ -604,7 +597,7 @@ static void constraint_target_to_mat4 (Scene *scene, Object *ob, const char *sub
* way as constraints can only really affect things on object/bone level.
*/
else if (ob->type == OB_MESH) {
- contarget_get_mesh_mat(scene, ob, substring, mat);
+ contarget_get_mesh_mat(ob, substring, mat);
constraint_mat_convertspace(ob, NULL, mat, from, to);
}
else if (ob->type == OB_LATTICE) {
@@ -684,10 +677,10 @@ static bConstraintTypeInfo CTI_CONSTRNAME = {
/* This function should be used for the get_target_matrix member of all
* constraints that are not picky about what happens to their target matrix.
*/
-static void default_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
+static void default_get_tarmat (bConstraint *con, bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
{
if (VALID_CONS_TARGET(ct))
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
else if (ct)
unit_m4(ct->matrix);
}
@@ -1159,7 +1152,7 @@ static void kinematic_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstra
bKinematicConstraint *data= con->data;
if (VALID_CONS_TARGET(ct))
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
else if (ct) {
if (data->flag & CONSTRAINT_IK_AUTO) {
Object *ob= cob->ob;
@@ -2046,7 +2039,7 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT
/* firstly calculate the matrix the normal way, then let the py-function override
* this matrix if it needs to do so
*/
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
/* only execute target calculation if allowed */
#ifdef WITH_PYTHON
@@ -2165,7 +2158,7 @@ static void actcon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraint
unit_m4(ct->matrix);
/* get the transform matrix of the target */
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, tempmat, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, tempmat, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
/* determine where in transform range target is */
/* data->type is mapped as follows for backwards compatability:
@@ -2216,7 +2209,7 @@ static void actcon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraint
tchan->rotmode= pchan->rotmode;
/* evaluate action using workob (it will only set the PoseChannel in question) */
- what_does_obaction(cob->scene, cob->ob, &workob, pose, data->act, pchan->name, t);
+ what_does_obaction(cob->ob, &workob, pose, data->act, pchan->name, t);
/* convert animation to matrices for use here */
pchan_calc_mat(tchan);
@@ -2230,7 +2223,7 @@ static void actcon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraint
/* evaluate using workob */
// FIXME: we don't have any consistent standards on limiting effects on object...
- what_does_obaction(cob->scene, cob->ob, &workob, NULL, data->act, NULL, t);
+ what_does_obaction(cob->ob, &workob, NULL, data->act, NULL, t);
object_to_mat4(&workob, ct->matrix);
}
else {
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index b104c6c9b30..202a3f28d9a 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -1859,7 +1859,7 @@ static void make_bevel_list_3D_minimum_twist(BevList *bl)
* do this by calculating the tilt angle difference, then apply
* the rotation gradually over the entire curve
*
- * note that the split is between last and second last, rather then first/last as youd expect.
+ * note that the split is between last and second last, rather than first/last as youd expect.
*
* real order is like this
* 0,1,2,3,4 --> 1,2,3,4,0
@@ -2431,6 +2431,7 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
{
float *p1,*p2,*p3, pt[3];
float dx1,dy1,dz1,dx,dy,dz,vx,vy,vz,len,len1,len2;
+ const float eps= 1e-5;
if(bezt->h1==0 && bezt->h2==0) return;
@@ -2587,30 +2588,38 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
if(bezt->f1 & SELECT) { /* order of calculation */
if(bezt->h2==HD_ALIGN) { /* aligned */
- len= len2/len1;
- p2[3]= p2[0]+len*(p2[0]-p2[-3]);
- p2[4]= p2[1]+len*(p2[1]-p2[-2]);
- p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ if(len1>eps) {
+ len= len2/len1;
+ p2[3]= p2[0]+len*(p2[0]-p2[-3]);
+ p2[4]= p2[1]+len*(p2[1]-p2[-2]);
+ p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ }
}
if(bezt->h1==HD_ALIGN) {
- len= len1/len2;
- p2[-3]= p2[0]+len*(p2[0]-p2[3]);
- p2[-2]= p2[1]+len*(p2[1]-p2[4]);
- p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ if(len2>eps) {
+ len= len1/len2;
+ p2[-3]= p2[0]+len*(p2[0]-p2[3]);
+ p2[-2]= p2[1]+len*(p2[1]-p2[4]);
+ p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ }
}
}
else {
if(bezt->h1==HD_ALIGN) {
- len= len1/len2;
- p2[-3]= p2[0]+len*(p2[0]-p2[3]);
- p2[-2]= p2[1]+len*(p2[1]-p2[4]);
- p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ if(len2>eps) {
+ len= len1/len2;
+ p2[-3]= p2[0]+len*(p2[0]-p2[3]);
+ p2[-2]= p2[1]+len*(p2[1]-p2[4]);
+ p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ }
}
if(bezt->h2==HD_ALIGN) { /* aligned */
- len= len2/len1;
- p2[3]= p2[0]+len*(p2[0]-p2[-3]);
- p2[4]= p2[1]+len*(p2[1]-p2[-2]);
- p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ if(len1>eps) {
+ len= len2/len1;
+ p2[3]= p2[0]+len*(p2[0]-p2[-3]);
+ p2[4]= p2[1]+len*(p2[1]-p2[-2]);
+ p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ }
}
}
}
diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index f5f069767eb..8d19322c0db 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.c
@@ -466,7 +466,6 @@ static void layerInterp_mdisps(void **sources, float *UNUSED(weights),
MDisps tris[2];
int vindex[4] = {0};
- S = 0;
for(i = 0; i < 2; i++)
for(y = 0; y < 4; y++)
for(x = 0; x < 4; x++)
@@ -540,7 +539,7 @@ static void layerInterp_mdisps(void **sources, float *UNUSED(weights),
float face_u, face_v, crn_u, crn_v;
mdisp_apply_weight(S, dst_corners, x, y, st, crn_weight, &face_u, &face_v);
- crn = mdisp_rot_face_to_crn(src_corners, st, face_u, face_v, &crn_u, &crn_v);
+ crn = mdisp_rot_face_to_quad_crn(src_corners, st, face_u, face_v, &crn_u, &crn_v);
old_mdisps_bilinear((*out), &s->disps[crn*side*side], side, crn_u, crn_v);
mdisp_flip_disp(crn, dst_corners, axis_x, axis_y, *out);
diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c
index 0696653d2e4..11a0a5884ee 100644
--- a/source/blender/blenkernel/intern/deform.c
+++ b/source/blender/blenkernel/intern/deform.c
@@ -121,7 +121,7 @@ void defvert_sync (MDeformVert *dvert_r, const MDeformVert *dvert, int use_verif
}
/* be sure all flip_map values are valid */
-void defvert_sync_mapped (MDeformVert *dvert_r, const MDeformVert *dvert, int *flip_map, int use_verify)
+void defvert_sync_mapped (MDeformVert *dvert_r, const MDeformVert *dvert, const int *flip_map, int use_verify)
{
if(dvert->totweight && dvert_r->totweight) {
int i;
@@ -170,7 +170,7 @@ void defvert_normalize (MDeformVert *dvert)
}
}
-void defvert_flip (MDeformVert *dvert, int *flip_map)
+void defvert_flip (MDeformVert *dvert, const int *flip_map)
{
MDeformWeight *dw;
int i;
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 6813d5d18a6..d39be9d683c 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -372,6 +372,9 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
node2->first_ancestor = ob;
node2->ancestor_count += 1;
}
+
+ /* also build a custom data mask for dependencies that need certain layers */
+ node->customdata_mask= 0;
if (ob->type == OB_ARMATURE) {
if (ob->pose){
@@ -451,8 +454,12 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
case PARSKEL:
dag_add_relation(dag,node2,node,DAG_RL_DATA_DATA|DAG_RL_OB_OB, "Parent");
break;
- case PARVERT1: case PARVERT3: case PARBONE:
+ case PARVERT1: case PARVERT3:
dag_add_relation(dag,node2,node,DAG_RL_DATA_OB|DAG_RL_OB_OB, "Vertex Parent");
+ node2->customdata_mask |= CD_MASK_ORIGINDEX;
+ break;
+ case PARBONE:
+ dag_add_relation(dag,node2,node,DAG_RL_DATA_OB|DAG_RL_OB_OB, "Bone Parent");
break;
default:
if(ob->parent->type==OB_LATTICE)
@@ -592,7 +599,7 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
if(part->ren_as == PART_DRAW_GR && part->dup_group) {
for(go=part->dup_group->gobject.first; go; go=go->next) {
node2 = dag_get_node(dag, go->ob);
- dag_add_relation(dag, node, node2, DAG_RL_OB_OB, "Particle Group Visualisation");
+ dag_add_relation(dag, node2, node, DAG_RL_OB_OB, "Particle Group Visualisation");
}
}
@@ -647,8 +654,11 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
if (ELEM(con->type, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_CLAMPTO))
dag_add_relation(dag, node2, node, DAG_RL_DATA_OB|DAG_RL_OB_OB, cti->name);
else {
- if (ELEM3(obt->type, OB_ARMATURE, OB_MESH, OB_LATTICE) && (ct->subtarget[0]))
+ if (ELEM3(obt->type, OB_ARMATURE, OB_MESH, OB_LATTICE) && (ct->subtarget[0])) {
dag_add_relation(dag, node2, node, DAG_RL_DATA_OB|DAG_RL_OB_OB, cti->name);
+ if (obt->type == OB_MESH)
+ node2->customdata_mask |= CD_MASK_MDEFORMVERT;
+ }
else
dag_add_relation(dag, node2, node, DAG_RL_OB_OB, cti->name);
}
@@ -722,6 +732,9 @@ struct DagForest *build_dag(Main *bmain, Scene *sce, short mask)
itA->node->color |= itA->type;
}
}
+
+ /* also flush custom data mask */
+ ((Object*)node->ob)->customdata_mask= node->customdata_mask;
}
}
/* now set relations equal, so that when only one parent changes, the correct recalcs are found */
@@ -1189,7 +1202,7 @@ DagNodeQueue * graph_dfs(void)
int skip = 0;
int minheight;
int maxpos=0;
- int is_cycle = 0;
+ /* int is_cycle = 0; */ /* UNUSED */
/*
*fprintf(stderr,"starting DFS \n ------------\n");
*/
@@ -1245,7 +1258,7 @@ DagNodeQueue * graph_dfs(void)
} else {
if (itA->node->color == DAG_GRAY) { // back edge
fprintf(stderr,"dfs back edge :%15s %15s \n",((ID *) node->ob)->name, ((ID *) itA->node->ob)->name);
- is_cycle = 1;
+ /* is_cycle = 1; */ /* UNUSED */
} else if (itA->node->color == DAG_BLACK) {
;
/* already processed node but we may want later to change distance either to shorter to longer.
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index b5194ca2f89..8f57490d057 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -65,13 +65,12 @@
#include "BKE_lattice.h"
#include "BKE_modifier.h"
-#include "RE_pipeline.h"
-#include "RE_shader_ext.h"
-
#include "BLO_sys_types.h" // for intptr_t support
#include "ED_curve.h" /* for BKE_curve_nurbs */
+extern Material defmaterial; /* material.c */
+
static void boundbox_displist(Object *ob);
void free_disp_elem(DispList *dl)
@@ -284,513 +283,6 @@ int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, i
return 1;
}
-/* ***************************** shade displist. note colors now are in rgb(a) order ******************** */
-
-/* create default shade input... save cpu cycles with ugly global */
-/* XXXX bad code warning: local ShadeInput initialize... */
-static ShadeInput shi;
-static void init_fastshade_shadeinput(Render *re)
-{
- memset(&shi, 0, sizeof(ShadeInput));
- shi.lay= RE_GetScene(re)->lay;
- shi.view[2]= -1.0f;
- shi.passflag= SCE_PASS_COMBINED;
- shi.combinedflag= -1;
-}
-
-static Render *fastshade_get_render(Scene *UNUSED(scene))
-{
- // XXX 2.5: this crashes combined with previewrender
- // due to global R so disabled for now
-#if 0
- /* XXX ugly global still, but we can't do preview while rendering */
- if(G.rendering==0) {
-
- Render *re= RE_GetRender("_Shade View_");
- if(re==NULL) {
- re= RE_NewRender("_Shade View_");
-
- RE_Database_Baking(re, scene, 0, 0); /* 0= no faces */
- }
- return re;
- }
-#endif
-
- return NULL;
-}
-
-/* called on file reading */
-void fastshade_free_render(void)
-{
- Render *re= RE_GetRender("_Shade View_");
-
- if(re) {
- RE_Database_Free(re);
- RE_FreeRender(re);
- }
-}
-
-static int fastshade_customdata_layer_num(int n, int active)
-{
- /* make the active layer the first */
- if (n == active) return 0;
- else if (n < active) return n+1;
- else return n;
-}
-
-static void fastshade_customdata(CustomData *fdata, int a, int j, Material *ma)
-{
- CustomDataLayer *layer;
- MTFace *mtface;
- int index, n, needuv= ma->texco & TEXCO_UV;
- char *vertcol;
-
- shi.totuv= 0;
- shi.totcol= 0;
-
- for(index=0; index<fdata->totlayer; index++) {
- layer= &fdata->layers[index];
-
- if(needuv && layer->type == CD_MTFACE && shi.totuv < MAX_MTFACE) {
- n= fastshade_customdata_layer_num(shi.totuv, layer->active_rnd);
- mtface= &((MTFace*)layer->data)[a];
-
- shi.uv[shi.totuv].uv[0]= 2.0f*mtface->uv[j][0]-1.0f;
- shi.uv[shi.totuv].uv[1]= 2.0f*mtface->uv[j][1]-1.0f;
- shi.uv[shi.totuv].uv[2]= 1.0f;
-
- shi.uv[shi.totuv].name= layer->name;
- shi.totuv++;
- }
- else if(layer->type == CD_MCOL && shi.totcol < MAX_MCOL) {
- n= fastshade_customdata_layer_num(shi.totcol, layer->active_rnd);
- vertcol= (char*)&((MCol*)layer->data)[a*4 + j];
-
- shi.col[shi.totcol].col[0]= ((float)vertcol[3])/255.0f;
- shi.col[shi.totcol].col[1]= ((float)vertcol[2])/255.0f;
- shi.col[shi.totcol].col[2]= ((float)vertcol[1])/255.0f;
-
- shi.col[shi.totcol].name= layer->name;
- shi.totcol++;
- }
- }
-
- if(needuv && shi.totuv == 0)
- VECCOPY(shi.uv[0].uv, shi.lo);
-
- if(shi.totcol)
- VECCOPY(shi.vcol, shi.col[0].col);
-}
-
-static void fastshade(float *co, float *nor, float *orco, Material *ma, char *col1, char *col2)
-{
- ShadeResult shr;
- int a;
-
- VECCOPY(shi.co, co);
- shi.vn[0]= -nor[0];
- shi.vn[1]= -nor[1];
- shi.vn[2]= -nor[2];
- VECCOPY(shi.vno, shi.vn);
- VECCOPY(shi.facenor, shi.vn);
-
- if(ma->texco) {
- VECCOPY(shi.lo, orco);
-
- if(ma->texco & TEXCO_GLOB) {
- VECCOPY(shi.gl, shi.lo);
- }
- if(ma->texco & TEXCO_WINDOW) {
- VECCOPY(shi.winco, shi.lo);
- }
- if(ma->texco & TEXCO_STICKY) {
- VECCOPY(shi.sticky, shi.lo);
- }
- if(ma->texco & TEXCO_OBJECT) {
- VECCOPY(shi.co, shi.lo);
- }
- if(ma->texco & TEXCO_NORM) {
- VECCOPY(shi.orn, shi.vn);
- }
- if(ma->texco & TEXCO_REFL) {
- float inp= 2.0f * (shi.vn[2]);
- shi.ref[0]= (inp*shi.vn[0]);
- shi.ref[1]= (inp*shi.vn[1]);
- shi.ref[2]= (-1.0f + inp*shi.vn[2]);
- }
- }
-
- shi.mat= ma; /* set each time... node shaders change it */
- RE_shade_external(NULL, &shi, &shr);
-
- a= 256.0f*(shr.combined[0]);
- col1[0]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[1]);
- col1[1]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[2]);
- col1[2]= CLAMPIS(a, 0, 255);
-
- if(col2) {
- shi.vn[0]= -shi.vn[0];
- shi.vn[1]= -shi.vn[1];
- shi.vn[2]= -shi.vn[2];
-
- shi.mat= ma; /* set each time... node shaders change it */
- RE_shade_external(NULL, &shi, &shr);
-
- a= 256.0f*(shr.combined[0]);
- col2[0]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[1]);
- col2[1]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[2]);
- col2[2]= CLAMPIS(a, 0, 255);
- }
-}
-
-static void init_fastshade_for_ob(Render *re, Object *ob, int *need_orco_r, float mat[4][4], float imat[3][3])
-{
- float tmat[4][4];
- float amb[3]= {0.0f, 0.0f, 0.0f};
- int a;
-
- /* initialize globals in render */
- RE_shade_external(re, NULL, NULL);
-
- /* initialize global here */
- init_fastshade_shadeinput(re);
-
- RE_DataBase_GetView(re, tmat);
- mul_m4_m4m4(mat, ob->obmat, tmat);
-
- invert_m4_m4(tmat, mat);
- copy_m3_m4(imat, tmat);
- if(ob->transflag & OB_NEG_SCALE) mul_m3_fl(imat, -1.0);
-
- if (need_orco_r) *need_orco_r= 0;
- for(a=0; a<ob->totcol; a++) {
- Material *ma= give_current_material(ob, a+1);
- if(ma) {
- init_render_material(ma, 0, amb);
-
- if(ma->texco & TEXCO_ORCO) {
- if (need_orco_r) *need_orco_r= 1;
- }
- }
- }
-}
-
-static void end_fastshade_for_ob(Object *ob)
-{
- int a;
-
- for(a=0; a<ob->totcol; a++) {
- Material *ma= give_current_material(ob, a+1);
- if(ma)
- end_render_material(ma);
- }
-}
-
-
-static void mesh_create_shadedColors(Render *re, Object *ob, int onlyForMesh, unsigned int **col1_r, unsigned int **col2_r)
-{
- Mesh *me= ob->data;
- DerivedMesh *dm;
- MVert *mvert;
- MFace *mface;
- unsigned int *col1, *col2;
- float *orco, *vnors, *nors, imat[3][3], mat[4][4], vec[3];
- int a, i, need_orco, totface, totvert;
- CustomDataMask dataMask = CD_MASK_BAREMESH | CD_MASK_MCOL
- | CD_MASK_MTFACE | CD_MASK_NORMAL;
-
-
- init_fastshade_for_ob(re, ob, &need_orco, mat, imat);
-
- if(need_orco)
- dataMask |= CD_MASK_ORCO;
-
- if (onlyForMesh)
- dm = mesh_get_derived_deform(RE_GetScene(re), ob, dataMask);
- else
- dm = mesh_get_derived_final(RE_GetScene(re), ob, dataMask);
-
- mvert = dm->getVertArray(dm);
- mface = dm->getFaceArray(dm);
- nors = dm->getFaceDataArray(dm, CD_NORMAL);
- totvert = dm->getNumVerts(dm);
- totface = dm->getNumFaces(dm);
- orco= dm->getVertDataArray(dm, CD_ORCO);
-
- if (onlyForMesh) {
- col1 = *col1_r;
- col2 = NULL;
- } else {
- *col1_r = col1 = MEM_mallocN(sizeof(*col1)*totface*4, "col1");
-
- if (col2_r && (me->flag & ME_TWOSIDED))
- col2 = MEM_mallocN(sizeof(*col2)*totface*4, "col2");
- else
- col2 = NULL;
-
- if (col2_r) *col2_r = col2;
- }
-
- /* vertexnormals */
- vnors= MEM_mallocN(totvert*3*sizeof(float), "vnors disp");
- for (a=0; a<totvert; a++) {
- MVert *mv = &mvert[a];
- float *vn= &vnors[a*3];
- float xn= mv->no[0];
- float yn= mv->no[1];
- float zn= mv->no[2];
-
- /* transpose ! */
- vn[0]= imat[0][0]*xn+imat[0][1]*yn+imat[0][2]*zn;
- vn[1]= imat[1][0]*xn+imat[1][1]*yn+imat[1][2]*zn;
- vn[2]= imat[2][0]*xn+imat[2][1]*yn+imat[2][2]*zn;
- normalize_v3(vn);
- }
-
- for (i=0; i<totface; i++) {
- extern Material defmaterial; /* material.c */
- MFace *mf= &mface[i];
- Material *ma= give_current_material(ob, mf->mat_nr+1);
- int j, vidx[4], nverts= mf->v4?4:3;
- unsigned char *col1base= (unsigned char*) &col1[i*4];
- unsigned char *col2base= (unsigned char*) (col2?&col2[i*4]:NULL);
- float nor[3], n1[3];
-
- if(ma==NULL) ma= &defmaterial;
-
- vidx[0]= mf->v1;
- vidx[1]= mf->v2;
- vidx[2]= mf->v3;
- vidx[3]= mf->v4;
-
- if (nors) {
- VECCOPY(nor, &nors[i*3]);
- } else {
- if (mf->v4)
- normal_quad_v3( nor,mvert[mf->v1].co, mvert[mf->v2].co, mvert[mf->v3].co, mvert[mf->v4].co);
- else
- normal_tri_v3( nor,mvert[mf->v1].co, mvert[mf->v2].co, mvert[mf->v3].co);
- }
-
- n1[0]= imat[0][0]*nor[0]+imat[0][1]*nor[1]+imat[0][2]*nor[2];
- n1[1]= imat[1][0]*nor[0]+imat[1][1]*nor[1]+imat[1][2]*nor[2];
- n1[2]= imat[2][0]*nor[0]+imat[2][1]*nor[1]+imat[2][2]*nor[2];
- normalize_v3(n1);
-
- for (j=0; j<nverts; j++) {
- MVert *mv= &mvert[vidx[j]];
- char *col1= (char*)&col1base[j*4];
- char *col2= (char*)(col2base?&col2base[j*4]:NULL);
- float *vn = (mf->flag & ME_SMOOTH)?&vnors[3*vidx[j]]:n1;
-
- mul_v3_m4v3(vec, mat, mv->co);
-
- mul_v3_v3fl(vec, vn, 0.001f);
-
- fastshade_customdata(&dm->faceData, i, j, ma);
- fastshade(vec, vn, orco?&orco[vidx[j]*3]:mv->co, ma, col1, col2);
- }
- }
- MEM_freeN(vnors);
-
- dm->release(dm);
-
- end_fastshade_for_ob(ob);
-}
-
-void shadeMeshMCol(Scene *scene, Object *ob, Mesh *me)
-{
- Render *re= fastshade_get_render(scene);
- int a;
- char *cp;
- unsigned int *mcol= (unsigned int*)me->mcol;
-
- if(re) {
- mesh_create_shadedColors(re, ob, 1, &mcol, NULL);
- me->mcol= (MCol*)mcol;
-
- /* swap bytes */
- for(cp= (char *)me->mcol, a= 4*me->totface; a>0; a--, cp+=4) {
- SWAP(char, cp[0], cp[3]);
- SWAP(char, cp[1], cp[2]);
- }
- }
-}
-
-/* has base pointer, to check for layer */
-/* called from drawobject.c */
-void shadeDispList(Scene *scene, Base *base)
-{
- Object *ob= base->object;
- DispList *dl, *dlob;
- Material *ma = NULL;
- Render *re;
- float imat[3][3], mat[4][4], vec[3];
- float *fp, *nor, n1[3];
- unsigned int *col1;
- int a, need_orco;
-
- re= fastshade_get_render(scene);
- if(re==NULL)
- return;
-
- dl = find_displist(&ob->disp, DL_VERTCOL);
- if (dl) {
- BLI_remlink(&ob->disp, dl);
- free_disp_elem(dl);
- }
-
- if(ob->type==OB_MESH) {
- dl= MEM_callocN(sizeof(DispList), "displistshade");
- dl->type= DL_VERTCOL;
-
- mesh_create_shadedColors(re, ob, 0, &dl->col1, &dl->col2);
-
- /* add dl to ob->disp after mesh_create_shadedColors, because it
- might indirectly free ob->disp */
- BLI_addtail(&ob->disp, dl);
- }
- else {
-
- init_fastshade_for_ob(re, ob, &need_orco, mat, imat);
-
- if (ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) {
-
- /* now we need the normals */
- dl= ob->disp.first;
-
- while(dl) {
- extern Material defmaterial; /* material.c */
-
- dlob= MEM_callocN(sizeof(DispList), "displistshade");
- BLI_addtail(&ob->disp, dlob);
- dlob->type= DL_VERTCOL;
- dlob->parts= dl->parts;
- dlob->nr= dl->nr;
-
- if(dl->type==DL_INDEX3) {
- col1= dlob->col1= MEM_mallocN(sizeof(int)*dl->nr, "col1");
- }
- else {
- col1= dlob->col1= MEM_mallocN(sizeof(int)*dl->parts*dl->nr, "col1");
- }
-
-
- ma= give_current_material(ob, dl->col+1);
- if(ma==NULL) ma= &defmaterial;
-
- if(dl->type==DL_INDEX3) {
- if(dl->nors) {
- /* there's just one normal */
- n1[0]= imat[0][0]*dl->nors[0]+imat[0][1]*dl->nors[1]+imat[0][2]*dl->nors[2];
- n1[1]= imat[1][0]*dl->nors[0]+imat[1][1]*dl->nors[1]+imat[1][2]*dl->nors[2];
- n1[2]= imat[2][0]*dl->nors[0]+imat[2][1]*dl->nors[1]+imat[2][2]*dl->nors[2];
- normalize_v3(n1);
-
- fp= dl->verts;
-
- a= dl->nr;
- while(a--) {
- mul_v3_m4v3(vec, mat, fp);
-
- fastshade(vec, n1, fp, ma, (char *)col1, NULL);
-
- fp+= 3; col1++;
- }
- }
- }
- else if(dl->type==DL_SURF) {
- if(dl->nors) {
- a= dl->nr*dl->parts;
- fp= dl->verts;
- nor= dl->nors;
-
- while(a--) {
- mul_v3_m4v3(vec, mat, fp);
-
- n1[0]= imat[0][0]*nor[0]+imat[0][1]*nor[1]+imat[0][2]*nor[2];
- n1[1]= imat[1][0]*nor[0]+imat[1][1]*nor[1]+imat[1][2]*nor[2];
- n1[2]= imat[2][0]*nor[0]+imat[2][1]*nor[1]+imat[2][2]*nor[2];
- normalize_v3(n1);
-
- fastshade(vec, n1, fp, ma, (char *)col1, NULL);
-
- fp+= 3; nor+= 3; col1++;
- }
- }
- }
- dl= dl->next;
- }
- }
- else if(ob->type==OB_MBALL) {
- /* there are normals already */
- dl= ob->disp.first;
-
- while(dl) {
-
- if(dl->type==DL_INDEX4) {
- if(dl->nors) {
- extern Material defmaterial; /* material.c */
-
- if(dl->col1) MEM_freeN(dl->col1);
- col1= dl->col1= MEM_mallocN(sizeof(int)*dl->nr, "col1");
-
- ma= give_current_material(ob, dl->col+1);
- if(ma==NULL) ma= &defmaterial;
-
- fp= dl->verts;
- nor= dl->nors;
-
- a= dl->nr;
- while(a--) {
- mul_v3_m4v3(vec, mat, fp);
-
- /* transpose ! */
- n1[0]= imat[0][0]*nor[0]+imat[0][1]*nor[1]+imat[0][2]*nor[2];
- n1[1]= imat[1][0]*nor[0]+imat[1][1]*nor[1]+imat[1][2]*nor[2];
- n1[2]= imat[2][0]*nor[0]+imat[2][1]*nor[1]+imat[2][2]*nor[2];
- normalize_v3(n1);
-
- fastshade(vec, n1, fp, ma, (char *)col1, NULL);
-
- fp+= 3; col1++; nor+= 3;
- }
- }
- }
- dl= dl->next;
- }
- }
-
- end_fastshade_for_ob(ob);
- }
-}
-
-/* frees render and shade part of displists */
-/* note: dont do a shade again, until a redraw happens */
-void reshadeall_displist(Scene *scene)
-{
- Base *base;
- Object *ob;
-
- fastshade_free_render();
-
- for(base= scene->base.first; base; base= base->next) {
- ob= base->object;
-
- if(ELEM5(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL))
- freedisplist(&ob->disp);
-
- if(base->lay & scene->lay) {
- /* Metaballs have standard displist at the Object */
- if(ob->type==OB_MBALL) shadeDispList(scene, base);
- }
- }
-}
-
/* ****************** make displists ********************* */
static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, int forRender)
@@ -984,16 +476,7 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal)
dl= dl->next;
}
- if(totvert && BLI_edgefill(0)) { // XXX (obedit && obedit->actcol)?(obedit->actcol-1):0)) {
-
- /* count faces */
- tot= 0;
- efa= fillfacebase.first;
- while(efa) {
- tot++;
- efa= efa->next;
- }
-
+ if(totvert && (tot= BLI_edgefill(0))) { // XXX (obedit && obedit->actcol)?(obedit->actcol-1):0)) {
if(tot) {
dlnew= MEM_callocN(sizeof(DispList), "filldisplist");
dlnew->type= DL_INDEX3;
@@ -1973,8 +1456,9 @@ static void boundbox_displist(Object *ob)
}
if(!doit) {
- min[0] = min[1] = min[2] = -1.0f;
- max[0] = max[1] = max[2] = 1.0f;
+ /* there's no geometry in displist, use zero-sized boundbox */
+ zero_v3(min);
+ zero_v3(max);
}
}
diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c
index ee46bef6038..4b95c44f55f 100644
--- a/source/blender/blenkernel/intern/effect.c
+++ b/source/blender/blenkernel/intern/effect.c
@@ -241,6 +241,16 @@ static void precalculate_effector(EffectorCache *eff)
}
else if(eff->psys)
psys_update_particle_tree(eff->psys, eff->scene->r.cfra);
+
+ /* Store object velocity */
+ if(eff->ob) {
+ float old_vel[3];
+
+ where_is_object_time(eff->scene, eff->ob, cfra - 1.0f);
+ copy_v3_v3(old_vel, eff->ob->obmat[3]);
+ where_is_object_time(eff->scene, eff->ob, cfra);
+ sub_v3_v3v3(eff->velocity, eff->ob->obmat[3], old_vel);
+ }
}
static EffectorCache *new_effector_cache(Scene *scene, Object *ob, ParticleSystem *psys, PartDeflect *pd)
{
@@ -680,10 +690,6 @@ int get_effector_data(EffectorCache *eff, EffectorData *efd, EffectedPoint *poin
Object *ob = eff->ob;
Object obcopy = *ob;
- /* XXX this is not thread-safe, but used from multiple threads by
- particle system */
- where_is_object_time(eff->scene, ob, cfra);
-
/* use z-axis as normal*/
normalize_v3_v3(efd->nor, ob->obmat[2]);
@@ -702,13 +708,8 @@ int get_effector_data(EffectorCache *eff, EffectorData *efd, EffectedPoint *poin
VECCOPY(efd->loc, ob->obmat[3]);
}
- if(real_velocity) {
- VECCOPY(efd->vel, ob->obmat[3]);
-
- where_is_object_time(eff->scene, ob, cfra - 1.0f);
-
- sub_v3_v3v3(efd->vel, efd->vel, ob->obmat[3]);
- }
+ if(real_velocity)
+ copy_v3_v3(efd->vel, eff->velocity);
*eff->ob = obcopy;
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c
index b1272ee2d53..d6a9d950015 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -2039,7 +2039,7 @@ float evaluate_fcurve (FCurve *fcu, float evaltime)
* here so that the curve can be sampled correctly
*/
if (fcu->flag & FCURVE_INT_VALUES)
- cvalue= (float)((int)cvalue);
+ cvalue= floorf(cvalue + 0.5f);
/* return evaluated value */
return cvalue;
diff --git a/source/blender/blenkernel/intern/icons.c b/source/blender/blenkernel/intern/icons.c
index 09c189a8847..9effd25c142 100644
--- a/source/blender/blenkernel/intern/icons.c
+++ b/source/blender/blenkernel/intern/icons.c
@@ -125,25 +125,33 @@ struct PreviewImage* BKE_previewimg_create(void)
prv_img = MEM_callocN(sizeof(PreviewImage), "img_prv");
- for (i=0; i<PREVIEW_MIPMAPS; ++i) {
+ for (i=0; i<NUM_ICON_SIZES; ++i) {
prv_img->changed[i] = 1;
prv_img->changed_timestamp[i] = 0;
}
return prv_img;
}
-void BKE_previewimg_free(PreviewImage **prv)
+void BKE_previewimg_freefunc(void *link)
{
- if(prv && (*prv)) {
+ PreviewImage *prv = (PreviewImage *)link;
+ if (prv) {
int i;
-
- for (i=0; i<PREVIEW_MIPMAPS;++i) {
- if ((*prv)->rect[i]) {
- MEM_freeN((*prv)->rect[i]);
- (*prv)->rect[i] = NULL;
+
+ for (i=0; i<NUM_ICON_SIZES;++i) {
+ if (prv->rect[i]) {
+ MEM_freeN(prv->rect[i]);
+ prv->rect[i] = NULL;
}
}
- MEM_freeN((*prv));
+ MEM_freeN(prv);
+ }
+}
+
+void BKE_previewimg_free(PreviewImage **prv)
+{
+ if(prv && (*prv)) {
+ BKE_previewimg_freefunc(*prv);
*prv = NULL;
}
}
@@ -155,7 +163,7 @@ struct PreviewImage* BKE_previewimg_copy(PreviewImage *prv)
if (prv) {
prv_img = MEM_dupallocN(prv);
- for (i=0; i < PREVIEW_MIPMAPS; ++i) {
+ for (i=0; i < NUM_ICON_SIZES; ++i) {
if (prv->rect[i]) {
prv_img->rect[i] = MEM_dupallocN(prv->rect[i]);
} else {
@@ -237,7 +245,7 @@ void BKE_icon_changed(int id)
/* all previews changed */
if (prv) {
int i;
- for (i=0; i<PREVIEW_MIPMAPS; ++i) {
+ for (i=0; i<NUM_ICON_SIZES; ++i) {
prv->changed[i] = 1;
prv->changed_timestamp[i]++;
}
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index 22d19c5484f..ab67d7e3f25 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -381,9 +381,7 @@ Image *BKE_add_image_file(const char *name)
ima= image_alloc(libname, IMA_SRC_FILE, IMA_TYPE_IMAGE);
BLI_strncpy(ima->name, name, sizeof(ima->name));
- /* do a wild guess! */
- if(BLI_testextensie(name, ".avi") || BLI_testextensie(name, ".mov")
- || BLI_testextensie(name, ".mpg") || BLI_testextensie(name, ".mp4"))
+ if(BLI_testextensie_array(name, imb_ext_movie))
ima->source= IMA_SRC_MOVIE;
return ima;
@@ -434,6 +432,7 @@ Image *BKE_add_image_size(unsigned int width, unsigned int height, const char *n
ima->gen_x= width;
ima->gen_y= height;
ima->gen_type= uvtestgrid;
+ ima->gen_flag |= (floatbuf ? IMA_GEN_FLOAT : 0);
ibuf= add_ibuf_size(width, height, name, depth, floatbuf, uvtestgrid, color);
image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
@@ -1031,7 +1030,7 @@ void BKE_stamp_buf(Scene *scene, Object *camera, unsigned char *rect, float *rec
BLF_buffer_col(mono, scene->r.fg_stamp[0], scene->r.fg_stamp[1], scene->r.fg_stamp[2], 1.0);
pad= BLF_width_max(mono);
- /* use 'h_fixed' rather then 'h', aligns better */
+ /* use 'h_fixed' rather than 'h', aligns better */
h_fixed= BLF_height_max(mono);
y_ofs = -BLF_descender(mono);
@@ -2174,7 +2173,7 @@ ImBuf *BKE_image_acquire_ibuf(Image *ima, ImageUser *iuser, void **lock_r)
/* UV testgrid or black or solid etc */
if(ima->gen_x==0) ima->gen_x= 1024;
if(ima->gen_y==0) ima->gen_y= 1024;
- ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, 24, 0, ima->gen_type, color);
+ ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, 24, (ima->gen_flag & IMA_GEN_FLOAT) != 0, ima->gen_type, color);
image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
ima->ok= IMA_OK_LOADED;
}
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index 4b532362cd8..8b0cfb1d156 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -63,6 +63,7 @@
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_object.h"
+#include "BKE_deform.h"
#include "RNA_access.h"
@@ -1005,7 +1006,7 @@ static float *get_weights_array(Object *ob, char *vgroup)
MDeformVert *dvert= NULL;
EditMesh *em= NULL;
EditVert *eve;
- int totvert= 0, index= 0;
+ int totvert= 0, defgrp_index= 0;
/* no vgroup string set? */
if(vgroup[0]==0) return NULL;
@@ -1028,10 +1029,10 @@ static float *get_weights_array(Object *ob, char *vgroup)
if(dvert==NULL) return NULL;
/* find the group (weak loop-in-loop) */
- index= defgroup_name_index(ob, vgroup);
- if(index >= 0) {
+ defgrp_index= defgroup_name_index(ob, vgroup);
+ if(defgrp_index >= 0) {
float *weights;
- int i, j;
+ int i;
weights= MEM_callocN(totvert*sizeof(float), "weights");
@@ -1040,23 +1041,13 @@ static float *get_weights_array(Object *ob, char *vgroup)
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
if(dvert) {
- for(j=0; j<dvert->totweight; j++) {
- if(dvert->dw[j].def_nr == index) {
- weights[i]= dvert->dw[j].weight;
- break;
- }
- }
+ weights[i]= defvert_find_weight(dvert, defgrp_index);
}
}
}
else {
for(i=0; i < totvert; i++, dvert++) {
- for(j=0; j<dvert->totweight; j++) {
- if(dvert->dw[j].def_nr == index) {
- weights[i]= dvert->dw[j].weight;
- break;
- }
- }
+ weights[i]= defvert_find_weight(dvert, defgrp_index);
}
}
diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c
index f0ac7040deb..094214858f9 100644
--- a/source/blender/blenkernel/intern/lattice.c
+++ b/source/blender/blenkernel/intern/lattice.c
@@ -607,7 +607,7 @@ static int calc_curve_deform(Scene *scene, Object *par, float *co, short axis, C
if(cd->no_rot_axis) { /* set by caller */
- /* this is not exactly the same as 2.4x, since the axis is having rotation removed rather then
+ /* this is not exactly the same as 2.4x, since the axis is having rotation removed rather than
* changing the axis before calculating the tilt but serves much the same purpose */
float dir_flat[3]={0,0,0}, q[4];
copy_v3_v3(dir_flat, dir);
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index fd58dc2dfc0..3f01c55e935 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -258,9 +258,8 @@ Material *localize_material(Material *ma)
man->preview = NULL;
- if(ma->nodetree) {
+ if(ma->nodetree)
man->nodetree= ntreeLocalize(ma->nodetree);
- }
man->gpumaterial.first= man->gpumaterial.last= NULL;
@@ -551,7 +550,7 @@ Material *material_pop_id(ID *id, int index)
Material **mat;
if(index + 1 != (*totcol))
- memmove((*matar), (*matar) + 1, (*totcol) - (index + 1));
+ memmove((*matar)+index, (*matar)+(index+1), sizeof(void *) * ((*totcol) - (index + 1)));
(*totcol)--;
@@ -868,6 +867,10 @@ static void do_init_render_material(Material *ma, int r_mode, float *amb)
if(ma->strand_surfnor > 0.0f)
ma->mode_l |= MA_STR_SURFDIFF;
+
+ /* parses the geom+tex nodes */
+ if(ma->nodetree && ma->use_nodes)
+ ntreeShaderGetTexcoMode(ma->nodetree, r_mode, &ma->texco, &ma->mode_l);
}
static void init_render_nodetree(bNodeTree *ntree, Material *basemat, int r_mode, float *amb)
@@ -888,8 +891,6 @@ static void init_render_nodetree(bNodeTree *ntree, Material *basemat, int r_mode
init_render_nodetree((bNodeTree *)node->id, basemat, r_mode, amb);
}
}
- /* parses the geom+tex nodes */
- ntreeShaderGetTexcoMode(ntree, r_mode, &basemat->texco, &basemat->mode_l);
}
void init_render_material(Material *mat, int r_mode, float *amb)
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c
index 5706a3997e6..88a670ecb22 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -465,18 +465,19 @@ static DerivedMesh *multires_dm_create_local(Object *ob, DerivedMesh *dm, int lv
return multires_dm_create_from_derived(&mmd, 1, dm, ob, 0, 0);
}
-static DerivedMesh *subsurf_dm_create_local(Object *UNUSED(ob), DerivedMesh *dm, int lvl, int simple, int optimal)
+static DerivedMesh *subsurf_dm_create_local(Object *ob, DerivedMesh *dm, int lvl, int simple, int optimal, int plain_uv)
{
SubsurfModifierData smd= {{NULL}};
smd.levels = smd.renderLevels = lvl;
- smd.flags |= eSubsurfModifierFlag_SubsurfUv;
+ if(!plain_uv)
+ smd.flags |= eSubsurfModifierFlag_SubsurfUv;
if(simple)
smd.subdivType = ME_SIMPLE_SUBSURF;
if(optimal)
smd.flags |= eSubsurfModifierFlag_ControlEdges;
- return subsurf_make_derived_from_derived(dm, &smd, 0, NULL, 0, 0);
+ return subsurf_make_derived_from_derived(dm, &smd, 0, NULL, 0, 0, (ob->mode & OB_MODE_EDIT));
}
@@ -591,7 +592,7 @@ void multiresModifier_base_apply(MultiresModifierData *mmd, Object *ob)
/* subdivide the mesh to highest level without displacements */
cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- origdm = subsurf_dm_create_local(ob, cddm, totlvl, 0, 0);
+ origdm = subsurf_dm_create_local(ob, cddm, totlvl, 0, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
cddm->release(cddm);
/* calc disps */
@@ -626,7 +627,7 @@ static void multires_subdivide(MultiresModifierData *mmd, Object *ob, int totlvl
/* create subsurf DM from original mesh at high level */
cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- highdm = subsurf_dm_create_local(ob, cddm, totlvl, simple, 0);
+ highdm = subsurf_dm_create_local(ob, cddm, totlvl, simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
/* create multires DM from original mesh at low level */
lowdm = multires_dm_create_local(ob, cddm, lvl, lvl, simple);
@@ -830,7 +831,7 @@ static void multiresModifier_update(DerivedMesh *dm)
else cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- highdm = subsurf_dm_create_local(ob, cddm, totlvl, mmd->simple, 0);
+ highdm = subsurf_dm_create_local(ob, cddm, totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
/* create multires DM from original mesh and displacements */
lowdm = multires_dm_create_local(ob, cddm, lvl, totlvl, mmd->simple);
@@ -884,7 +885,7 @@ static void multiresModifier_update(DerivedMesh *dm)
else cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- subdm = subsurf_dm_create_local(ob, cddm, mmd->totlvl, mmd->simple, 0);
+ subdm = subsurf_dm_create_local(ob, cddm, mmd->totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
cddm->release(cddm);
multiresModifier_disp_run(dm, me, 1, 0, subdm->getGridData(subdm), mmd->totlvl);
@@ -927,7 +928,8 @@ DerivedMesh *multires_dm_create_from_derived(MultiresModifierData *mmd, int loca
return dm;
result = subsurf_dm_create_local(ob, dm, lvl,
- mmd->simple, mmd->flags & eMultiresModifierFlag_ControlEdges);
+ mmd->simple, mmd->flags & eMultiresModifierFlag_ControlEdges,
+ mmd->flags & eMultiresModifierFlag_PlainUv);
if(!local_mmd) {
ccgdm = (CCGDerivedMesh*)result;
@@ -1020,7 +1022,7 @@ static void old_mdisps_rotate(int S, int UNUSED(newside), int oldside, int x, in
static void old_mdisps_convert(MFace *mface, MDisps *mdisp)
{
- int newlvl = log(sqrt(mdisp->totdisp)-1)/log(2);
+ int newlvl = log(sqrt(mdisp->totdisp)-1)/M_LN2;
int oldlvl = newlvl+1;
int oldside = multires_side_tot[oldlvl];
int newside = multires_side_tot[newlvl];
@@ -1633,7 +1635,7 @@ static void multires_apply_smat(Scene *scene, Object *ob, float smat[3][3])
MEM_freeN(vertCos);
/* scaled ccgDM for tangent space of object with applied scale */
- dm= subsurf_dm_create_local(ob, cddm, high_mmd.totlvl, high_mmd.simple, 0);
+ dm= subsurf_dm_create_local(ob, cddm, high_mmd.totlvl, high_mmd.simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
cddm->release(cddm);
/*numGrids= dm->getNumGrids(dm);*/ /*UNUSED*/
@@ -1756,7 +1758,7 @@ void multires_topology_changed(Scene *scene, Object *ob)
int nvert= me->mface[i].v4 ? 4 : 3;
/* allocate memory for mdisp, the whole disp layer would be erased otherwise */
- if(!mdisp->totdisp) {
+ if(!mdisp->totdisp || !mdisp->disps) {
if(grid) {
mdisp->totdisp= nvert*grid;
mdisp->disps= MEM_callocN(mdisp->totdisp*sizeof(float)*3, "mdisp topology");
@@ -1997,6 +1999,7 @@ void mdisp_rot_crn_to_face(const int S, const int corners, const int face_side,
}
}
+/* Find per-corner coordinate with given per-face UV coord */
int mdisp_rot_face_to_crn(const int corners, const int face_side, const float u, const float v, float *x, float *y)
{
const float offset = face_side*0.5f - 0.5f;
@@ -2022,6 +2025,61 @@ int mdisp_rot_face_to_crn(const int corners, const int face_side, const float u,
*y = v - offset;
}
} else {
+ int grid_size = offset;
+ float w = (face_side - 1) - u - v;
+ float W1, W2;
+
+ if (u >= v && u >= w) {S = 0; W1= w; W2= v;}
+ else if (v >= u && v >= w) {S = 1; W1 = u; W2 = w;}
+ else {S = 2; W1 = v; W2 = u;}
+
+ W1 /= (face_side-1);
+ W2 /= (face_side-1);
+
+ *x = (1-(2*W1)/(1-W2)) * grid_size;
+ *y = (1-(2*W2)/(1-W1)) * grid_size;
+ }
+
+ return S;
+}
+
+/* Find per-corner coordinate with given per-face UV coord
+ Practically as the previous funciton but it assumes a bit different coordinate system for triangles
+ which is optimized for MDISP layer interpolation:
+
+ v
+ ^
+ | /|
+ | / |
+ | / |
+ |/______|___> u
+
+ */
+int mdisp_rot_face_to_quad_crn(const int corners, const int face_side, const float u, const float v, float *x, float *y)
+{
+ const float offset = face_side*0.5f - 0.5f;
+ int S = 0;
+
+ if (corners == 4) {
+ if(u <= offset && v <= offset) S = 0;
+ else if(u > offset && v <= offset) S = 1;
+ else if(u > offset && v > offset) S = 2;
+ else if(u <= offset && v >= offset) S = 3;
+
+ if(S == 0) {
+ *y = offset - u;
+ *x = offset - v;
+ } else if(S == 1) {
+ *x = u - offset;
+ *y = offset - v;
+ } else if(S == 2) {
+ *y = u - offset;
+ *x = v - offset;
+ } else if(S == 3) {
+ *x= offset - u;
+ *y = v - offset;
+ }
+ } else {
float crn[3][4][2];
float p[2] = {u, v};
@@ -2148,7 +2206,7 @@ void mdisp_join_tris(MDisps *dst, MDisps *tri1, MDisps *tri2)
face_v = st - 1 - face_v;
} else src = tri1;
- crn = mdisp_rot_face_to_crn(3, st, face_u, face_v, &crn_u, &crn_v);
+ crn = mdisp_rot_face_to_quad_crn(3, st, face_u, face_v, &crn_u, &crn_v);
old_mdisps_bilinear((*out), &src->disps[crn*side*side], side, crn_u, crn_v);
(*out)[0] = 0;
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index ba2434bba23..13469e0b58b 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -32,8 +32,10 @@
*/
-#ifdef WITH_PYTHON
-#include <Python.h>
+#if 0 /* pynodes commented for now */
+# ifdef WITH_PYTHON
+# include <Python.h>
+# endif
#endif
#include "MEM_guardedalloc.h"
@@ -350,7 +352,7 @@ static bNodeType ntype_group;
/* groups display their internal tree name as label */
static const char *group_label(bNode *node)
{
- return node->id->name+2;
+ return (node->id)? node->id->name+2: "Missing Datablock";
}
void register_node_type_group(ListBase *lb)
@@ -2072,11 +2074,12 @@ static int set_stack_indexes_group(bNode *node, int index)
bNodeTree *ngroup= (bNodeTree*)node->id;
bNodeSocket *sock;
- if((ngroup->init & NTREE_TYPE_INIT)==0)
+ if(ngroup && (ngroup->init & NTREE_TYPE_INIT)==0)
ntreeInitTypes(ngroup);
node->stack_index = index;
- index += ntree_begin_exec_tree(ngroup);
+ if(ngroup)
+ index += ntree_begin_exec_tree(ngroup);
for (sock=node->inputs.first; sock; sock=sock->next) {
if (sock->link && sock->link->fromsock) {
@@ -2199,7 +2202,7 @@ static void composit_begin_exec(bNodeTree *ntree, bNodeStack *stack)
if(node->type==CMP_NODE_CURVE_RGB)
curvemapping_premultiply(node->storage, 0);
}
- if(node->type==NODE_GROUP)
+ if(node->type==NODE_GROUP && node->id)
composit_begin_exec((bNodeTree *)node->id, stack + node->stack_index);
}
@@ -2225,7 +2228,7 @@ static void composit_end_exec(bNodeTree *ntree, bNodeStack *stack)
if(node->type==CMP_NODE_CURVE_RGB)
curvemapping_premultiply(node->storage, 1);
- if(node->type==NODE_GROUP)
+ if(node->type==NODE_GROUP && node->id)
composit_end_exec((bNodeTree *)node->id, stack + node->stack_index);
node->need_exec= 0;
@@ -2415,6 +2418,11 @@ void ntreeBeginExecTree(bNodeTree *ntree)
if(ntree->type==NTREE_COMPOSIT)
composit_begin_exec(ntree, ntree->stack);
+
+ /* ensures only a single output node is enabled, texnode allows multiple though */
+ if(ntree->type!=NTREE_TEXTURE)
+ ntreeSetOutput(ntree);
+
}
ntree->init |= NTREE_EXEC_INIT;
@@ -2762,9 +2770,6 @@ void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int do_preview)
/* fixed seed, for example noise texture */
BLI_srandom(rd->cfra);
- /* ensures only a single output node is enabled */
- ntreeSetOutput(ntree);
-
/* sets need_exec tags in nodes */
curnode = totnode= setExecutableNodes(ntree, &thdata);
@@ -3153,6 +3158,8 @@ static void force_hidden_passes(bNode *node, int passflag)
if(!(passflag & SCE_PASS_INDIRECT)) sock->flag |= SOCK_UNAVAIL;
sock= BLI_findlink(&node->outputs, RRES_OUT_INDEXOB);
if(!(passflag & SCE_PASS_INDEXOB)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_INDEXMA);
+ if(!(passflag & SCE_PASS_INDEXMA)) sock->flag |= SOCK_UNAVAIL;
sock= BLI_findlink(&node->outputs, RRES_OUT_MIST);
if(!(passflag & SCE_PASS_MIST)) sock->flag |= SOCK_UNAVAIL;
sock= BLI_findlink(&node->outputs, RRES_OUT_EMIT);
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 79a4e6443d2..48c1c2b9b6e 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -869,11 +869,32 @@ Lamp *copy_lamp(Lamp *la)
lan->curfalloff = curvemapping_copy(la->curfalloff);
-#if 0 // XXX old animation system
- id_us_plus((ID *)lan->ipo);
-#endif // XXX old animation system
+ if(la->preview)
+ lan->preview = BKE_previewimg_copy(la->preview);
+
+ return lan;
+}
+
+Lamp *localize_lamp(Lamp *la)
+{
+ Lamp *lan;
+ int a;
+
+ lan= copy_libblock(la);
+ BLI_remlink(&G.main->lamp, lan);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(lan->mtex[a]) {
+ lan->mtex[a]= MEM_mallocN(sizeof(MTex), "localize_lamp");
+ memcpy(lan->mtex[a], la->mtex[a], sizeof(MTex));
+ /* free lamp decrements */
+ id_us_plus((ID *)lan->mtex[a]->tex);
+ }
+ }
+
+ lan->curfalloff = curvemapping_copy(la->curfalloff);
- if (la->preview) lan->preview = BKE_previewimg_copy(la->preview);
+ lan->preview= NULL;
return lan;
}
@@ -1630,12 +1651,6 @@ void object_make_proxy(Object *ob, Object *target, Object *gob)
/* there is also a timing calculation in drawobject() */
-static int no_speed_curve= 0;
-
-void disable_speed_curve(int val)
-{
- no_speed_curve= val;
-}
// XXX THIS CRUFT NEEDS SERIOUS RECODING ASAP!
/* ob can be NULL */
@@ -1673,21 +1688,20 @@ void object_rot_to_mat3(Object *ob, float mat[][3])
{
float rmat[3][3], dmat[3][3];
- /* initialise the delta-rotation matrix, which will get (pre)multiplied
+ /* 'dmat' is the delta-rotation matrix, which will get (pre)multiplied
* with the rotation matrix to yield the appropriate rotation
*/
- unit_m3(dmat);
-
+
/* rotations may either be quats, eulers (with various rotation orders), or axis-angle */
if (ob->rotmode > 0) {
/* euler rotations (will cause gimble lock, but this can be alleviated a bit with rotation orders) */
- eulO_to_mat3( rmat,ob->rot, ob->rotmode);
- eulO_to_mat3( dmat,ob->drot, ob->rotmode);
+ eulO_to_mat3(rmat, ob->rot, ob->rotmode);
+ eulO_to_mat3(dmat, ob->drot, ob->rotmode);
}
else if (ob->rotmode == ROT_MODE_AXISANGLE) {
/* axis-angle - not really that great for 3D-changing orientations */
- axis_angle_to_mat3( rmat,ob->rotAxis, ob->rotAngle);
- axis_angle_to_mat3( dmat,ob->drotAxis, ob->drotAngle);
+ axis_angle_to_mat3(rmat, ob->rotAxis, ob->rotAngle);
+ axis_angle_to_mat3(dmat, ob->drotAxis, ob->drotAngle);
}
else {
/* quats are normalised before use to eliminate scaling issues */
@@ -1722,9 +1736,22 @@ void object_mat3_to_rot(Object *ob, float mat[][3], short use_compat)
ob->rotAngle -= ob->drotAngle;
break;
default: /* euler */
- if(use_compat) mat3_to_compatible_eulO(ob->rot, ob->rot, ob->rotmode, mat);
- else mat3_to_eulO(ob->rot, ob->rotmode, mat);
- sub_v3_v3(ob->rot, ob->drot);
+ {
+ float quat[4];
+ float dquat[4];
+ float tmat[3][3];
+
+ /* without drot we could apply 'mat' directly */
+ mat3_to_quat(quat, mat);
+ eulO_to_quat(dquat, ob->drot, ob->rotmode);
+ invert_qt(dquat);
+ mul_qt_qtqt(quat, dquat, quat);
+ quat_to_mat3(tmat, quat);
+ /* end drot correction */
+
+ if(use_compat) mat3_to_compatible_eulO(ob->rot, ob->rot, ob->rotmode, tmat);
+ else mat3_to_eulO(ob->rot, ob->rotmode, tmat);
+ }
}
}
@@ -1740,7 +1767,7 @@ void object_apply_mat4(Object *ob, float mat[][4], const short use_compat, const
mul_m4_m4m4(rmat, mat, imat); /* get the parent relative matrix */
object_apply_mat4(ob, rmat, use_compat, FALSE);
- /* same as below, use rmat rather then mat */
+ /* same as below, use rmat rather than mat */
mat4_to_loc_rot_size(ob->loc, rot, ob->size, rmat);
object_mat3_to_rot(ob, rot, use_compat);
}
@@ -1916,9 +1943,10 @@ static void give_parvert(Object *par, int nr, float *vec)
if(dm) {
MVert *mvert= dm->getVertArray(dm);
int *index = (int *)dm->getVertDataArray(dm, CD_ORIGINDEX);
- int i, count = 0, vindex, numVerts = dm->getNumVerts(dm);
+ int i, vindex, numVerts = dm->getNumVerts(dm);
/* get the average of all verts with (original index == nr) */
+ count= 0;
for(i = 0; i < numVerts; i++) {
vindex= (index)? index[i]: i;
@@ -2362,24 +2390,42 @@ void object_set_dimensions(Object *ob, const float *value)
void minmax_object(Object *ob, float *min, float *max)
{
BoundBox bb;
- Mesh *me;
- Curve *cu;
float vec[3];
int a;
+ short change= FALSE;
switch(ob->type) {
-
case OB_CURVE:
case OB_FONT:
case OB_SURF:
- cu= ob->data;
-
- if(cu->bb==NULL) tex_space_curve(cu);
- bb= *(cu->bb);
-
- for(a=0; a<8; a++) {
- mul_m4_v3(ob->obmat, bb.vec[a]);
- DO_MINMAX(bb.vec[a], min, max);
+ {
+ Curve *cu= ob->data;
+
+ if(cu->bb==NULL) tex_space_curve(cu);
+ bb= *(cu->bb);
+
+ for(a=0; a<8; a++) {
+ mul_m4_v3(ob->obmat, bb.vec[a]);
+ DO_MINMAX(bb.vec[a], min, max);
+ }
+ change= TRUE;
+ }
+ break;
+ case OB_LATTICE:
+ {
+ Lattice *lt= ob->data;
+ BPoint *bp= lt->def;
+ int u, v, w;
+
+ for(w=0; w<lt->pntsw; w++) {
+ for(v=0; v<lt->pntsv; v++) {
+ for(u=0; u<lt->pntsu; u++, bp++) {
+ mul_v3_m4v3(vec, ob->obmat, bp->vec);
+ DO_MINMAX(vec, min, max);
+ }
+ }
+ }
+ change= TRUE;
}
break;
case OB_ARMATURE:
@@ -2391,25 +2437,27 @@ void minmax_object(Object *ob, float *min, float *max)
mul_v3_m4v3(vec, ob->obmat, pchan->pose_tail);
DO_MINMAX(vec, min, max);
}
- break;
+ change= TRUE;
}
- /* no break, get_mesh will give NULL and it passes on to default */
+ break;
case OB_MESH:
- me= get_mesh(ob);
-
- if(me) {
- bb = *mesh_get_bb(ob);
-
- for(a=0; a<8; a++) {
- mul_m4_v3(ob->obmat, bb.vec[a]);
- DO_MINMAX(bb.vec[a], min, max);
+ {
+ Mesh *me= get_mesh(ob);
+
+ if(me) {
+ bb = *mesh_get_bb(ob);
+
+ for(a=0; a<8; a++) {
+ mul_m4_v3(ob->obmat, bb.vec[a]);
+ DO_MINMAX(bb.vec[a], min, max);
+ }
+ change= TRUE;
}
}
- if(min[0] < max[0] ) break;
-
- /* else here no break!!!, mesh can be zero sized */
-
- default:
+ break;
+ }
+
+ if(change == FALSE) {
DO_MINMAX(ob->obmat[3], min, max);
copy_v3_v3(vec, ob->obmat[3]);
@@ -2419,7 +2467,6 @@ void minmax_object(Object *ob, float *min, float *max)
copy_v3_v3(vec, ob->obmat[3]);
sub_v3_v3(vec, ob->size);
DO_MINMAX(vec, min, max);
- break;
}
}
@@ -2597,11 +2644,12 @@ void object_handle_update(Scene *scene, Object *ob)
#else /* ensure CD_MASK_BAREMESH for now */
EditMesh *em = (ob == scene->obedit)? BKE_mesh_get_editmesh(ob->data): NULL;
+ unsigned int data_mask= scene->customdata_mask | ob->customdata_mask | CD_MASK_BAREMESH;
if(em) {
- makeDerivedMesh(scene, ob, em, scene->customdata_mask | CD_MASK_BAREMESH); /* was CD_MASK_BAREMESH */
+ makeDerivedMesh(scene, ob, em, data_mask); /* was CD_MASK_BAREMESH */
BKE_mesh_end_editmesh(ob->data, em);
} else
- makeDerivedMesh(scene, ob, NULL, scene->customdata_mask | CD_MASK_BAREMESH);
+ makeDerivedMesh(scene, ob, NULL, data_mask);
#endif
}
@@ -3012,9 +3060,14 @@ static KeyBlock *insert_lattkey(Scene *scene, Object *ob, const char *name, int
if(newkey || from_mix==FALSE) {
kb= add_keyblock(key, name);
-
- /* create from lattice */
- latt_to_key(lt, kb);
+ if (!newkey) {
+ KeyBlock *basekb= (KeyBlock *)key->block.first;
+ kb->data= MEM_dupallocN(basekb->data);
+ kb->totelem= basekb->totelem;
+ }
+ else {
+ latt_to_key(lt, kb);
+ }
}
else {
/* copy from current values */
@@ -3050,7 +3103,10 @@ static KeyBlock *insert_curvekey(Scene *scene, Object *ob, const char *name, int
KeyBlock *basekb= (KeyBlock *)key->block.first;
kb->data= MEM_dupallocN(basekb->data);
kb->totelem= basekb->totelem;
- } else curve_to_key(cu, kb, lb);
+ }
+ else {
+ curve_to_key(cu, kb, lb);
+ }
}
else {
/* copy from current values */
diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c
index 5be492d1108..d00eb6192da 100644
--- a/source/blender/blenkernel/intern/paint.c
+++ b/source/blender/blenkernel/intern/paint.c
@@ -85,8 +85,11 @@ Brush *paint_brush(Paint *p)
void paint_brush_set(Paint *p, Brush *br)
{
- if(p)
+ if(p) {
+ id_us_min((ID *)p->brush);
+ id_us_plus((ID *)br);
p->brush= br;
+ }
}
int paint_facesel_test(Object *ob)
@@ -110,12 +113,17 @@ void paint_init(Paint *p, const char col[3])
p->flags |= PAINT_SHOW_BRUSH;
}
-void free_paint(Paint *UNUSED(paint))
+void free_paint(Paint *paint)
{
- /* nothing */
+ id_us_min((ID *)paint->brush);
}
+/* called when copying scene settings, so even if 'src' and 'tar' are the same
+ * still do a id_us_plus(), rather then if we were copying betweem 2 existing
+ * scenes where a matching value should decrease the existing user count as
+ * with paint_brush_set() */
void copy_paint(Paint *src, Paint *tar)
{
tar->brush= src->brush;
+ id_us_plus((ID *)tar->brush);
}
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index 5ec4c36177f..5995b895061 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -2889,8 +2889,6 @@ void psys_cache_paths(ParticleSimulationData *sim, float cfra)
if(psys_in_edit_mode(sim->scene, psys))
if(psys->renderdata==0 && (psys->edit==NULL || pset->flag & PE_DRAW_PART)==0)
return;
-
- BLI_srandom(psys->seed);
keyed = psys->flag & PSYS_KEYED;
baked = psys->pointcache->mem_cache.first && psys->part->type != PART_HAIR;
@@ -3057,7 +3055,7 @@ void psys_cache_edit_paths(Scene *scene, Object *ob, PTCacheEdit *edit, float cf
ParticleKey result;
float birthtime = 0.0f, dietime = 0.0f;
- float t, time = 0.0f, keytime = 0.0f, frs_sec;
+ float t, time = 0.0f, keytime = 0.0f /*, frs_sec */;
float hairmat[4][4], rotmat[3][3], prev_tangent[3] = {0.0f, 0.0f, 0.0f};
int k, i;
int steps = (int)pow(2.0, (double)pset->draw_step);
@@ -3078,7 +3076,7 @@ void psys_cache_edit_paths(Scene *scene, Object *ob, PTCacheEdit *edit, float cf
recalc_set = 1;
}
- frs_sec = (psys || edit->pid.flag & PTCACHE_VEL_PER_SEC) ? 25.0f : 1.0f;
+ /* frs_sec = (psys || edit->pid.flag & PTCACHE_VEL_PER_SEC) ? 25.0f : 1.0f; */ /* UNUSED */
if(pset->brushtype == PE_BRUSH_WEIGHT) {
;/* use weight painting colors now... */
@@ -3534,6 +3532,8 @@ static void default_particle_settings(ParticleSettings *part)
part->path_start = 0.0f;
part->path_end = 1.0f;
+ part->bb_size[0] = part->bb_size[1] = 1.0f;
+
part->keyed_loops = 1;
part->color_vec_max = 1.f;
@@ -4018,7 +4018,11 @@ void psys_get_particle_on_path(ParticleSimulationData *sim, int p, ParticleKey *
init_particle_interpolation(sim->ob, psys, pa, &pind);
do_particle_interpolation(psys, p, pa, t, &pind, state);
- if(!keyed && !cached) {
+ if(pind.dm) {
+ mul_m4_v3(sim->ob->obmat, state->co);
+ mul_mat3_m4_v3(sim->ob->obmat, state->vel);
+ }
+ else if(!keyed && !cached && !(psys->flag & PSYS_GLOBAL_HAIR)) {
if((pa->flag & PARS_REKEY)==0) {
psys_mat_hair_to_global(sim->ob, sim->psmd->dm, part->from, pa, hairmat);
mul_m4_v3(hairmat, state->co);
@@ -4368,58 +4372,45 @@ void psys_get_dupli_path_transform(ParticleSimulationData *sim, ParticleData *pa
Object *ob = sim->ob;
ParticleSystem *psys = sim->psys;
ParticleSystemModifierData *psmd = sim->psmd;
- float loc[3], nor[3], vec[3], side[3], len, obrotmat[4][4], qmat[4][4];
- float xvec[3] = {-1.0, 0.0, 0.0}, q[4], nmat[3][3];
+ float loc[3], nor[3], vec[3], side[3], len;
+ float xvec[3] = {-1.0, 0.0, 0.0}, nmat[3][3];
sub_v3_v3v3(vec, (cache+cache->steps)->co, cache->co);
len= normalize_v3(vec);
- if(psys->part->rotmode) {
- if(pa == NULL)
- pa= psys->particles+cpa->pa[0];
-
- vec_to_quat( q,xvec, ob->trackflag, ob->upflag);
- quat_to_mat4( obrotmat,q);
- obrotmat[3][3]= 1.0f;
+ if(pa == NULL && psys->part->childflat != PART_CHILD_FACES)
+ pa = psys->particles + cpa->pa[0];
- quat_to_mat4( qmat,pa->state.rot);
- mul_m4_m4m4(mat, obrotmat, qmat);
- }
- else {
- if(pa == NULL && psys->part->childflat != PART_CHILD_FACES)
- pa = psys->particles + cpa->pa[0];
-
- if(pa)
- psys_particle_on_emitter(psmd,sim->psys->part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,loc,nor,0,0,0,0);
- else
- psys_particle_on_emitter(psmd,PART_FROM_FACE,cpa->num,DMCACHE_ISCHILD,cpa->fuv,cpa->foffset,loc,nor,0,0,0,0);
+ if(pa)
+ psys_particle_on_emitter(psmd,sim->psys->part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,loc,nor,0,0,0,0);
+ else
+ psys_particle_on_emitter(psmd,PART_FROM_FACE,cpa->num,DMCACHE_ISCHILD,cpa->fuv,cpa->foffset,loc,nor,0,0,0,0);
- copy_m3_m4(nmat, ob->imat);
- transpose_m3(nmat);
- mul_m3_v3(nmat, nor);
-
- /* make sure that we get a proper side vector */
- if(fabs(dot_v3v3(nor,vec))>0.999999) {
- if(fabs(dot_v3v3(nor,xvec))>0.999999) {
- nor[0] = 0.0f;
- nor[1] = 1.0f;
- nor[2] = 0.0f;
- }
- else {
- nor[0] = 1.0f;
- nor[1] = 0.0f;
- nor[2] = 0.0f;
- }
- }
- cross_v3_v3v3(side, nor, vec);
- normalize_v3(side);
- cross_v3_v3v3(nor, vec, side);
+ copy_m3_m4(nmat, ob->imat);
+ transpose_m3(nmat);
+ mul_m3_v3(nmat, nor);
- unit_m4(mat);
- VECCOPY(mat[0], vec);
- VECCOPY(mat[1], side);
- VECCOPY(mat[2], nor);
+ /* make sure that we get a proper side vector */
+ if(fabs(dot_v3v3(nor,vec))>0.999999) {
+ if(fabs(dot_v3v3(nor,xvec))>0.999999) {
+ nor[0] = 0.0f;
+ nor[1] = 1.0f;
+ nor[2] = 0.0f;
+ }
+ else {
+ nor[0] = 1.0f;
+ nor[1] = 0.0f;
+ nor[2] = 0.0f;
+ }
}
+ cross_v3_v3v3(side, nor, vec);
+ normalize_v3(side);
+ cross_v3_v3v3(nor, vec, side);
+
+ unit_m4(mat);
+ VECCOPY(mat[0], vec);
+ VECCOPY(mat[1], side);
+ VECCOPY(mat[2], nor);
*scale= len;
}
@@ -4501,8 +4492,8 @@ void psys_make_billboard(ParticleBillboardData *bb, float xvec[3], float yvec[3]
mul_v3_fl(tvec, -sin(bb->tilt * (float)M_PI));
VECADD(yvec, yvec, tvec);
- mul_v3_fl(xvec, bb->size);
- mul_v3_fl(yvec, bb->size);
+ mul_v3_fl(xvec, bb->size[0]);
+ mul_v3_fl(yvec, bb->size[1]);
VECADDFAC(center, bb->vec, xvec, bb->offset[0]);
VECADDFAC(center, center, yvec, bb->offset[1]);
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index c2aa297b174..1423f520b95 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -890,7 +890,7 @@ static void distribute_threads_exec(ParticleThread *thread, ParticleData *pa, Ch
if(ctx->tree){
KDTreeNearest ptn[10];
int w,maxw;//, do_seams;
- float maxd,mind,/*dd,*/totw= 0.0f;
+ float maxd /*, mind,dd */, totw= 0.0f;
int parent[10];
float pweight[10];
@@ -899,7 +899,7 @@ static void distribute_threads_exec(ParticleThread *thread, ParticleData *pa, Ch
maxw = BLI_kdtree_find_n_nearest(ctx->tree,4,orco1,NULL,ptn);
maxd=ptn[maxw-1].dist;
- mind=ptn[0].dist;
+ /* mind=ptn[0].dist; */ /* UNUSED */
/* the weights here could be done better */
for(w=0; w<maxw; w++){
@@ -1250,7 +1250,7 @@ static int distribute_threads_init_data(ParticleThread *threads, Scene *scene, D
double step, pos;
step= (totpart < 2) ? 0.5 : 1.0/(double)totpart;
- pos= 1e-16; /* tiny offset to avoid zero weight face */
+ pos= 1e-6; /* tiny offset to avoid zero weight face */
i= 0;
for(p=0; p<totpart; p++, pos+=step) {
@@ -1562,8 +1562,7 @@ static void initialize_all_particles(ParticleSimulationData *sim)
}
}
}
-/* sets particle to the emitter surface with initial velocity & rotation */
-void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime, float cfra)
+void psys_get_birth_coordinates(ParticleSimulationData *sim, ParticleData *pa, ParticleKey *state, float dtime, float cfra)
{
Object *ob = sim->ob;
ParticleSystem *psys = sim->psys;
@@ -1575,17 +1574,6 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
float q_phase[4];
int p = pa - psys->particles;
part=psys->part;
-
- /* get precise emitter matrix if particle is born */
- if(part->type!=PART_HAIR && dtime > 0.f && pa->time < cfra && pa->time >= sim->psys->cfra) {
- /* we have to force RECALC_ANIM here since where_is_objec_time only does drivers */
- while(ob) {
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, pa->time, ADT_RECALC_ANIM);
- ob = ob->parent;
- }
- ob = sim->ob;
- where_is_object_time(sim->scene, ob, pa->time);
- }
/* get birth location from object */
if(part->tanfac != 0.f)
@@ -1594,7 +1582,7 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
psys_particle_on_emitter(sim->psmd, part->from,pa->num, pa->num_dmcache, pa->fuv,pa->foffset,loc,nor,0,0,0,0);
/* get possible textural influence */
- psys_get_texture(sim, pa, &ptex, PAMAP_IVEL|PAMAP_LIFE, cfra);
+ psys_get_texture(sim, pa, &ptex, PAMAP_IVEL, cfra);
/* particles live in global space so */
/* let's convert: */
@@ -1654,37 +1642,27 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
mat4_to_quat(rot,ob->obmat);
mul_qt_qtqt(r_rot,r_rot,rot);
}
-#if 0
- }
-#endif
if(part->phystype==PART_PHYS_BOIDS && pa->boid) {
- BoidParticle *bpa = pa->boid;
float dvec[3], q[4], mat[3][3];
- copy_v3_v3(pa->state.co,loc);
+ copy_v3_v3(state->co,loc);
/* boids don't get any initial velocity */
- zero_v3(pa->state.vel);
+ zero_v3(state->vel);
/* boids store direction in ave */
if(fabsf(nor[2])==1.0f) {
- sub_v3_v3v3(pa->state.ave, loc, ob->obmat[3]);
- normalize_v3(pa->state.ave);
+ sub_v3_v3v3(state->ave, loc, ob->obmat[3]);
+ normalize_v3(state->ave);
}
else {
- VECCOPY(pa->state.ave, nor);
+ VECCOPY(state->ave, nor);
}
- /* and gravity in r_ve */
- bpa->gravity[0] = bpa->gravity[1] = 0.0f;
- bpa->gravity[2] = -1.0f;
- if((sim->scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY)
- && sim->scene->physics_settings.gravity[2]!=0.0f)
- bpa->gravity[2] = sim->scene->physics_settings.gravity[2];
/* calculate rotation matrix */
- project_v3_v3v3(dvec, r_vel, pa->state.ave);
- sub_v3_v3v3(mat[0], pa->state.ave, dvec);
+ project_v3_v3v3(dvec, r_vel, state->ave);
+ sub_v3_v3v3(mat[0], state->ave, dvec);
normalize_v3(mat[0]);
negate_v3_v3(mat[2], r_vel);
normalize_v3(mat[2]);
@@ -1692,12 +1670,7 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
/* apply rotation */
mat3_to_quat_is_ok( q,mat);
- copy_qt_qt(pa->state.rot, q);
-
- bpa->data.health = part->boids->health;
- bpa->data.mode = eBoidMode_InAir;
- bpa->data.state_id = ((BoidState*)part->boids->states.first)->id;
- bpa->data.acc[0]=bpa->data.acc[1]=bpa->data.acc[2]=0.0f;
+ copy_qt_qt(state->rot, q);
}
else {
/* conversion done so now we apply new: */
@@ -1710,7 +1683,7 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
/* *emitter velocity */
if(dtime != 0.f && part->obfac != 0.f){
- sub_v3_v3v3(vel, loc, pa->state.co);
+ sub_v3_v3v3(vel, loc, state->co);
mul_v3_fl(vel, part->obfac/dtime);
}
@@ -1747,13 +1720,13 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
if(part->partfac != 0.f)
madd_v3_v3fl(vel, p_vel, part->partfac);
- mul_v3_v3fl(pa->state.vel, vel, ptex.ivel);
+ mul_v3_v3fl(state->vel, vel, ptex.ivel);
/* -location from emitter */
- copy_v3_v3(pa->state.co,loc);
+ copy_v3_v3(state->co,loc);
/* -rotation */
- unit_qt(pa->state.rot);
+ unit_qt(state->rot);
if(part->rotmode){
/* create vector into which rotation is aligned */
@@ -1793,25 +1766,64 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
axis_angle_to_quat( q_phase,x_vec, phasefac*(float)M_PI);
/* combine base rotation & phase */
- mul_qt_qtqt(pa->state.rot, rot, q_phase);
+ mul_qt_qtqt(state->rot, rot, q_phase);
}
/* -angular velocity */
- zero_v3(pa->state.ave);
+ zero_v3(state->ave);
if(part->avemode){
switch(part->avemode){
case PART_AVE_SPIN:
- copy_v3_v3(pa->state.ave, vel);
+ copy_v3_v3(state->ave, vel);
break;
case PART_AVE_RAND:
- copy_v3_v3(pa->state.ave, r_ave);
+ copy_v3_v3(state->ave, r_ave);
break;
}
- normalize_v3(pa->state.ave);
- mul_v3_fl(pa->state.ave,part->avefac);
+ normalize_v3(state->ave);
+ mul_v3_fl(state->ave, part->avefac);
+ }
+ }
+}
+/* sets particle to the emitter surface with initial velocity & rotation */
+void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime, float cfra)
+{
+ Object *ob = sim->ob;
+ ParticleSystem *psys = sim->psys;
+ ParticleSettings *part;
+ ParticleTexture ptex;
+ int p = pa - psys->particles;
+ part=psys->part;
+
+ /* get precise emitter matrix if particle is born */
+ if(part->type!=PART_HAIR && dtime > 0.f && pa->time < cfra && pa->time >= sim->psys->cfra) {
+ /* we have to force RECALC_ANIM here since where_is_objec_time only does drivers */
+ while(ob) {
+ BKE_animsys_evaluate_animdata(&ob->id, ob->adt, pa->time, ADT_RECALC_ANIM);
+ ob = ob->parent;
}
+ ob = sim->ob;
+ where_is_object_time(sim->scene, ob, pa->time);
+ }
+
+ psys_get_birth_coordinates(sim, pa, &pa->state, dtime, cfra);
+
+ if(part->phystype==PART_PHYS_BOIDS && pa->boid) {
+ BoidParticle *bpa = pa->boid;
+
+ /* and gravity in r_ve */
+ bpa->gravity[0] = bpa->gravity[1] = 0.0f;
+ bpa->gravity[2] = -1.0f;
+ if((sim->scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY)
+ && sim->scene->physics_settings.gravity[2]!=0.0f)
+ bpa->gravity[2] = sim->scene->physics_settings.gravity[2];
+
+ bpa->data.health = part->boids->health;
+ bpa->data.mode = eBoidMode_InAir;
+ bpa->data.state_id = ((BoidState*)part->boids->states.first)->id;
+ bpa->data.acc[0]=bpa->data.acc[1]=bpa->data.acc[2]=0.0f;
}
@@ -1819,6 +1831,9 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
pa->lifetime = 100.0f;
}
else{
+ /* get possible textural influence */
+ psys_get_texture(sim, pa, &ptex, PAMAP_LIFE, cfra);
+
pa->lifetime = part->lifetime * ptex.life;
if(part->randlife != 0.0f)
@@ -1904,6 +1919,7 @@ static void set_keyed_keys(ParticleSimulationData *sim)
PARTICLE_P;
ParticleKey *key;
int totpart = psys->totpart, k, totkeys = psys->totkeyed;
+ int keyed_flag = 0;
ksim.scene= sim->scene;
@@ -1933,6 +1949,8 @@ static void set_keyed_keys(ParticleSimulationData *sim)
for(k=0; k<totkeys; k++) {
ksim.ob = pt->ob ? pt->ob : sim->ob;
ksim.psys = BLI_findlink(&ksim.ob->particlesystem, pt->psys - 1);
+ keyed_flag = (ksim.psys->flag & PSYS_KEYED);
+ ksim.psys->flag &= ~PSYS_KEYED;
LOOP_PARTICLES {
key = pa->keys + k;
@@ -1956,6 +1974,8 @@ static void set_keyed_keys(ParticleSimulationData *sim)
if(psys->flag & PSYS_KEYED_TIMING && pt->duration!=0.0f)
k++;
+ ksim.psys->flag |= keyed_flag;
+
pt = (pt->next && pt->next->flag & PTARGET_VALID)? pt->next : psys->targets.first;
}
@@ -3490,13 +3510,15 @@ static void do_hair_dynamics(ParticleSimulationData *sim)
static void hair_step(ParticleSimulationData *sim, float cfra)
{
ParticleSystem *psys = sim->psys;
-/* ParticleSettings *part = psys->part; */
+ ParticleSettings *part = psys->part;
PARTICLE_P;
float disp = (float)psys_get_current_display_percentage(psys)/100.0f;
- BLI_srandom(psys->seed);
-
LOOP_PARTICLES {
+ pa->size = part->size;
+ if(part->randsize > 0.0f)
+ pa->size *= 1.0f - part->randsize * PSYS_FRAND(p + 1);
+
if(PSYS_FRAND(p) > disp)
pa->flag |= PARS_NO_DISP;
else
@@ -3650,7 +3672,7 @@ static void dynamics_step(ParticleSimulationData *sim, float cfra)
pa->size *= 1.0f - part->randsize * PSYS_FRAND(p + 1);
birthtime = pa->time;
- dietime = birthtime + pa->lifetime;
+ dietime = pa->dietime;
/* store this, so we can do multiple loops over particles */
pa->state.time = dfra;
@@ -3781,8 +3803,6 @@ static void cached_step(ParticleSimulationData *sim, float cfra)
PARTICLE_P;
float disp, dietime;
- BLI_srandom(psys->seed);
-
psys_update_effectors(sim);
disp= (float)psys_get_current_display_percentage(psys)/100.0f;
@@ -3967,7 +3987,7 @@ static void system_step(ParticleSimulationData *sim, float cfra)
BKE_ptcache_id_time(pid, sim->scene, 0.0f, &startframe, &endframe, NULL);
/* clear everythin on start frame */
- if((int)cfra == startframe) {
+ if(cfra == startframe) {
BKE_ptcache_id_reset(sim->scene, pid, PTCACHE_RESET_OUTDATED);
BKE_ptcache_validate(cache, startframe);
cache->flag &= ~PTCACHE_REDO_NEEDED;
@@ -4034,7 +4054,6 @@ static void system_step(ParticleSimulationData *sim, float cfra)
/* set particles to be not calculated TODO: can't work with pointcache */
disp= (float)psys_get_current_display_percentage(psys)/100.0f;
- BLI_srandom(psys->seed);
LOOP_PARTICLES {
if(PSYS_FRAND(p) > disp)
pa->flag |= PARS_NO_DISP;
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 64893bb0b5b..b8f4b2d302f 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -516,6 +516,7 @@ static int ptcache_cloth_totpoint(void *cloth_v, int UNUSED(cfra))
return clmd->clothObject ? clmd->clothObject->numverts : 0;
}
+#ifdef WITH_SMOKE
/* Smoke functions */
static int ptcache_smoke_totpoint(void *smoke_v, int UNUSED(cfra))
{
@@ -652,6 +653,11 @@ static void ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
}
}
}
+#else // WITH_SMOKE
+static int ptcache_smoke_totpoint(void *UNUSED(smoke_v), int UNUSED(cfra)) { return 0; };
+static void ptcache_smoke_read(PTCacheFile *UNUSED(pf), void *UNUSED(smoke_v)) {}
+static int ptcache_smoke_write(PTCacheFile *UNUSED(pf), void *UNUSED(smoke_v)) { return 0; }
+#endif // WITH_SMOKE
/* Creating ID's */
void BKE_ptcache_id_from_softbody(PTCacheID *pid, Object *ob, SoftBody *sb)
@@ -2124,7 +2130,8 @@ void BKE_ptcache_id_time(PTCacheID *pid, Scene *scene, float cfra, int *startfra
{
Object *ob;
PointCache *cache;
- float offset, time, nexttime;
+ /* float offset; unused for now */
+ float time, nexttime;
/* TODO: this has to be sorter out once bsystem_time gets redone, */
/* now caches can handle interpolating etc. too - jahka */
@@ -2152,13 +2159,18 @@ void BKE_ptcache_id_time(PTCacheID *pid, Scene *scene, float cfra, int *startfra
*startframe= cache->startframe;
*endframe= cache->endframe;
- // XXX ipoflag is depreceated - old animation system stuff
- if (/*(ob->ipoflag & OB_OFFS_PARENT) &&*/ (ob->partype & PARSLOW)==0) {
+ /* TODO: time handling with object offsets and simulated vs. cached
+ * particles isn't particularly easy, so for now what you see is what
+ * you get. In the future point cache could handle the whole particle
+ * system timing. */
+#if 0
+ if ((ob->partype & PARSLOW)==0) {
offset= give_timeoffset(ob);
*startframe += (int)(offset+0.5f);
*endframe += (int)(offset+0.5f);
}
+#endif
}
/* verify cached_frames array is up to date */
diff --git a/source/blender/blenkernel/intern/sca.c b/source/blender/blenkernel/intern/sca.c
index 16cef67ea6d..0d523599598 100644
--- a/source/blender/blenkernel/intern/sca.c
+++ b/source/blender/blenkernel/intern/sca.c
@@ -430,6 +430,7 @@ void init_actuator(bActuator *act)
act->data= MEM_callocN(sizeof(bCameraActuator), "camact");
ca = act->data;
ca->axis = ACT_CAMERA_X;
+ ca->damping = 1.0/32.0;
break;
case ACT_EDIT_OBJECT:
act->data= MEM_callocN(sizeof(bEditObjectActuator), "editobact");
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 791d572d385..51eaba3c05b 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -468,6 +468,7 @@ Scene *add_scene(const char *name)
sce->r.ffcodecdata.audio_mixrate = 44100;
sce->r.ffcodecdata.audio_volume = 1.0f;
+ sce->r.ffcodecdata.audio_bitrate = 192;
BLI_strncpy(sce->r.engine, "BLENDER_RENDER", sizeof(sce->r.engine));
@@ -475,8 +476,7 @@ Scene *add_scene(const char *name)
sce->audio.doppler_factor = 1.0;
sce->audio.speed_of_sound = 343.3;
- strcpy(sce->r.backbuf, "//backbuf");
- strcpy(sce->r.pic, U.renderdir);
+ BLI_strncpy(sce->r.pic, U.renderdir, sizeof(sce->r.pic));
BLI_init_rctf(&sce->r.safety, 0.1f, 0.9f, 0.1f, 0.9f);
sce->r.osa= 8;
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index 63e35408381..50b3e32278a 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -31,6 +31,7 @@
* \ingroup bke
*/
+#include "BLI_winstuff.h"
#include <string.h>
#include <stdio.h>
@@ -416,3 +417,20 @@ void BKE_screen_view3d_main_sync(ListBase *screen_lb, Scene *scene)
}
}
+/* magic zoom calculation, no idea what
+ * it signifies, if you find out, tell me! -zr
+ */
+
+/* simple, its magic dude!
+ * well, to be honest, this gives a natural feeling zooming
+ * with multiple keypad presses (ton)
+ */
+float BKE_screen_view3d_zoom_to_fac(float camzoom)
+{
+ return powf(((float)M_SQRT2 + camzoom/50.0f), 2.0f) / 4.0f;
+}
+
+float BKE_screen_view3d_zoom_from_fac(float zoomfac)
+{
+ return ((sqrtf(4.0f * zoomfac) - (float)M_SQRT2) * 50.0f);
+}
diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c
index 6f49155c0fd..8c19b0c15c3 100644
--- a/source/blender/blenkernel/intern/seqeffects.c
+++ b/source/blender/blenkernel/intern/seqeffects.c
@@ -1582,7 +1582,7 @@ typedef struct WipeZone {
static void precalc_wipe_zone(WipeZone *wipezone, WipeVars *wipe, int xo, int yo)
{
wipezone->flip = (wipe->angle < 0);
- wipezone->angle = pow(fabsf(wipe->angle)/45.0f, log(xo)/log(2.0f));
+ wipezone->angle = pow(fabsf(wipe->angle)/45.0f, log(xo)/M_LN2);
wipezone->xo = xo;
wipezone->yo = yo;
wipezone->width = (int)(wipe->edgeWidth*((xo+yo)/2.0f));
@@ -2373,7 +2373,7 @@ static void RVBlurBitmap2_float ( float* map, int width,int height,
/* Blancmange (bmange@airdmhor.gen.nz) */
k = -1.0f/(2.0f*(float)M_PI*blur*blur);
- fval=0;
+
for (ix = 0;ix< halfWidth;ix++){
weight = (float)exp(k*(ix*ix));
filter[halfWidth - ix] = weight;
@@ -2859,6 +2859,83 @@ static struct ImBuf * do_multicam(
}
/* **********************************************************************
+ ADJUSTMENT
+ ********************************************************************** */
+
+/* no effect inputs for adjustment, we use give_ibuf_seq */
+static int num_inputs_adjustment(void)
+{
+ return 0;
+}
+
+static int early_out_adjustment(struct Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
+{
+ return -1;
+}
+
+static struct ImBuf * do_adjustment_impl(SeqRenderData context, Sequence * seq,
+ float cfra)
+{
+ Editing * ed;
+ ListBase * seqbasep;
+ struct ImBuf * i = 0;
+
+ ed = context.scene->ed;
+
+ seqbasep = seq_seqbase(&ed->seqbase, seq);
+
+ if (seq->machine > 0) {
+ i = give_ibuf_seqbase(context, cfra,
+ seq->machine - 1, seqbasep);
+ }
+
+ /* found nothing? so let's work the way up the metastrip stack, so
+ that it is possible to group a bunch of adjustment strips into
+ a metastrip and have that work on everything below the metastrip
+ */
+
+ if (!i) {
+ Sequence * meta;
+
+ meta = seq_metastrip(&ed->seqbase, NULL, seq);
+
+ if (meta) {
+ i = do_adjustment_impl(context, meta, cfra);
+ }
+ }
+
+ return i;
+}
+
+static struct ImBuf * do_adjustment(
+ SeqRenderData context, Sequence *seq, float cfra,
+ float UNUSED(facf0), float UNUSED(facf1),
+ struct ImBuf *UNUSED(ibuf1), struct ImBuf *UNUSED(ibuf2),
+ struct ImBuf *UNUSED(ibuf3))
+{
+ struct ImBuf * i = 0;
+ struct ImBuf * out;
+ Editing * ed;
+
+ ed = context.scene->ed;
+
+ if (!ed) {
+ return NULL;
+ }
+
+ i = do_adjustment_impl(context, seq, cfra);
+
+ if (input_have_to_preprocess(context, seq, cfra)) {
+ out = IMB_dupImBuf(i);
+ IMB_freeImBuf(i);
+ } else {
+ out = i;
+ }
+
+ return out;
+}
+
+/* **********************************************************************
SPEED
********************************************************************** */
static void init_speed_effect(Sequence *seq)
@@ -2944,10 +3021,15 @@ void sequence_effect_speed_rebuild_map(Scene *scene, Sequence * seq, int force)
/* if not already done, load / initialize data */
get_sequence_effect(seq);
- if (!(force || seq->len != v->length || !v->frameMap)) {
+ if ( (force == FALSE) &&
+ (seq->len == v->length) &&
+ (v->frameMap != NULL)
+ ) {
return;
}
- if (!seq->seq1) { /* make coverity happy and check for (CID 598)
+ if ( (seq->seq1 == NULL) ||
+ (seq->len < 1)
+ ) { /* make coverity happy and check for (CID 598)
input strip ... */
return;
}
@@ -3256,6 +3338,11 @@ static struct SeqEffectHandle get_sequence_effect_impl(int seq_type)
rval.early_out = early_out_multicam;
rval.execute = do_multicam;
break;
+ case SEQ_ADJUSTMENT:
+ rval.num_inputs = num_inputs_adjustment;
+ rval.early_out = early_out_adjustment;
+ rval.execute = do_adjustment;
+ break;
}
return rval;
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index e3639dd1c51..d6a152a5280 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -73,15 +73,24 @@
#include "BKE_context.h"
#include "BKE_sound.h"
-#include "AUD_C-API.h"
+
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#ifdef WIN32
#define snprintf _snprintf
#endif
-/* **** XXX ******** */
-//static void waitcursor(int val) {}
-//static int blender_test_break() {return 0;}
+
+static ImBuf* seq_render_strip_stack(
+ SeqRenderData context, ListBase *seqbasep, float cfra, int chanshown);
+
+static ImBuf * seq_render_strip(
+ SeqRenderData context, Sequence * seq, float cfra);
+
+static void seq_free_animdata(Scene *scene, Sequence *seq);
+
/* **** XXX ******** */
#define SELECT 1
@@ -177,8 +186,6 @@ void seq_free_strip(Strip *strip)
MEM_freeN(strip);
}
-static void seq_free_animdata(Scene *scene, Sequence *seq);
-
void seq_free_sequence(Scene *scene, Sequence *seq)
{
if(seq->strip) seq_free_strip(seq->strip);
@@ -191,6 +198,10 @@ void seq_free_sequence(Scene *scene, Sequence *seq)
sh.free(seq);
}
+ if(seq->sound) {
+ ((ID *)seq->sound)->us--;
+ }
+
/* clipboard has no scene and will never have a sound handle or be active */
if(scene) {
Editing *ed = scene->ed;
@@ -446,51 +457,6 @@ void seq_end(SeqIterator *iter)
* in metastrips!)
**********************************************************************
*/
-#if 0 /* UNUSED */
-static void do_seq_count(ListBase *seqbase, int *totseq)
-{
- Sequence *seq;
-
- seq= seqbase->first;
- while(seq) {
- (*totseq)++;
- if(seq->seqbase.first) do_seq_count(&seq->seqbase, totseq);
- seq= seq->next;
- }
-}
-
-static void do_build_seqar(ListBase *seqbase, Sequence ***seqar, int depth)
-{
- Sequence *seq;
-
- seq= seqbase->first;
- while(seq) {
- seq->depth= depth;
- if(seq->seqbase.first) do_build_seqar(&seq->seqbase, seqar, depth+1);
- **seqar= seq;
- (*seqar)++;
- seq= seq->next;
- }
-}
-
-static void build_seqar(ListBase *seqbase, Sequence ***seqar, int *totseq)
-{
- Sequence **tseqar;
-
- *totseq= 0;
- do_seq_count(seqbase, totseq);
-
- if(*totseq==0) {
- *seqar= NULL;
- return;
- }
- *seqar= MEM_mallocN(sizeof(void *)* *totseq, "seqar");
- tseqar= *seqar;
-
- do_build_seqar(seqbase, seqar, 0);
- *seqar= tseqar;
-}
-#endif /* UNUSED */
static void do_seq_count_cb(ListBase *seqbase, int *totseq,
int (*test_func)(Sequence * seq))
@@ -624,8 +590,22 @@ void calc_sequence(Scene *scene, Sequence *seq)
if (seq->seq1) {
seq->start= seq->startdisp= MAX3(seq->seq1->startdisp, seq->seq2->startdisp, seq->seq3->startdisp);
seq->enddisp= MIN3(seq->seq1->enddisp, seq->seq2->enddisp, seq->seq3->enddisp);
+ /* we cant help if strips don't overlap, it wont give useful results.
+ * but at least ensure 'len' is never negative which causes bad bugs elsewhere. */
+ if(seq->enddisp < seq->startdisp) {
+ /* simple start/end swap */
+ seq->start= seq->enddisp;
+ seq->enddisp = seq->startdisp;
+ seq->startdisp= seq->start;
+ seq->flag |= SEQ_INVALID_EFFECT;
+ }
+ else {
+ seq->flag &= ~SEQ_INVALID_EFFECT;
+ }
+
seq->len= seq->enddisp - seq->startdisp;
- } else {
+ }
+ else {
calc_sequence_disp(scene, seq);
}
@@ -720,6 +700,7 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
}
seq->strip->len = seq->len;
case SEQ_SOUND:
+#ifdef WITH_AUDASPACE
if(!seq->sound)
return;
seq->len = ceil(AUD_getInfo(seq->sound->playback_handle).length * FPS);
@@ -729,6 +710,9 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
seq->len = 0;
}
seq->strip->len = seq->len;
+#else
+ return;
+#endif
break;
case SEQ_SCENE:
{
@@ -916,6 +900,7 @@ static const char *give_seqname_by_type(int type)
case SEQ_TRANSFORM: return "Transform";
case SEQ_COLOR: return "Color";
case SEQ_MULTICAM: return "Multicam";
+ case SEQ_ADJUSTMENT: return "Adjustment";
case SEQ_SPEED: return "Speed";
default:
return NULL;
@@ -1013,16 +998,22 @@ static float give_stripelem_index(Sequence *seq, float cfra)
int sta = seq->start;
int end = seq->start+seq->len-1;
- if(seq->len == 0) return -1;
+ if (seq->type & SEQ_EFFECT) {
+ end = seq->enddisp;
+ }
+
+ if(end < sta) {
+ return -1;
+ }
if(seq->flag&SEQ_REVERSE_FRAMES) {
/*reverse frame in this sequence */
- if(cfra <= sta) nr= seq->len-1;
+ if(cfra <= sta) nr= end - sta;
else if(cfra >= end) nr= 0;
else nr= end - cfra;
} else {
if(cfra <= sta) nr= 0;
- else if(cfra >= end) nr= seq->len-1;
+ else if(cfra >= end) nr= end - sta;
else nr= cfra - sta;
}
@@ -1039,7 +1030,11 @@ StripElem *give_stripelem(Sequence *seq, int cfra)
{
StripElem *se= seq->strip->stripdata;
- if(seq->type != SEQ_MOVIE) { /* movie use the first */
+ if(seq->type == SEQ_IMAGE) { /* only
+ IMAGE strips use the whole array,
+ MOVIE strips use only
+ the first element, all other strips
+ don't use this... */
int nr = (int) give_stripelem_index(seq, cfra);
if (nr == -1 || se == NULL) return NULL;
@@ -1093,15 +1088,12 @@ static int get_shown_sequences( ListBase * seqbasep, int cfra, int chanshown, Se
}
if(evaluate_seq_frame_gen(seq_arr, seqbasep, cfra)) {
- if (b > 0) {
- if (seq_arr[b] == NULL) {
- return 0;
- }
- } else {
- for (b = MAXSEQ; b > 0; b--) {
- if (video_seq_is_rendered(seq_arr[b])) {
- break;
- }
+ if (b == 0) {
+ b = MAXSEQ;
+ }
+ for (; b > 0; b--) {
+ if (video_seq_is_rendered(seq_arr[b])) {
+ break;
}
}
}
@@ -2071,8 +2063,9 @@ static ImBuf * seq_render_strip(SeqRenderData context, Sequence * seq, float cfr
break;
}
case SEQ_EFFECT:
- {
- ibuf = seq_render_effect_strip_impl(context, seq, cfra);
+ {
+ ibuf = seq_render_effect_strip_impl(
+ context, seq, seq->start + nr);
break;
}
case SEQ_IMAGE:
@@ -2855,7 +2848,10 @@ void seq_tx_set_final_right(Sequence *seq, int val)
since they work a bit differently to normal image seq's (during transform) */
int seq_single_check(Sequence *seq)
{
- return (seq->len==1 && ELEM3(seq->type, SEQ_IMAGE, SEQ_COLOR, SEQ_MULTICAM));
+ return (seq->len==1 && (
+ seq->type == SEQ_IMAGE
+ || ((seq->type & SEQ_EFFECT) &&
+ get_sequence_effect_num_inputs(seq->type) == 0)));
}
/* check if the selected seq's reference unselected seq's */
@@ -3214,26 +3210,49 @@ ListBase *seq_seqbase(ListBase *seqbase, Sequence *seq)
return NULL;
}
-int seq_swap(Sequence *seq_a, Sequence *seq_b)
+Sequence *seq_metastrip(ListBase * seqbase, Sequence * meta, Sequence *seq)
+{
+ Sequence * iseq;
+
+ for(iseq = seqbase->first; iseq; iseq = iseq->next) {
+ Sequence * rval;
+
+ if (seq == iseq) {
+ return meta;
+ } else if(iseq->seqbase.first &&
+ (rval = seq_metastrip(&iseq->seqbase, iseq, seq))) {
+ return rval;
+ }
+ }
+
+ return NULL;
+}
+
+int seq_swap(Sequence *seq_a, Sequence *seq_b, const char **error_str)
{
char name[sizeof(seq_a->name)];
- if(seq_a->len != seq_b->len)
+ if(seq_a->len != seq_b->len) {
+ *error_str= "Strips must be the same length";
return 0;
+ }
/* type checking, could be more advanced but disalow sound vs non-sound copy */
if(seq_a->type != seq_b->type) {
if(seq_a->type == SEQ_SOUND || seq_b->type == SEQ_SOUND) {
+ *error_str= "Strips were not compatible";
return 0;
}
/* disallow effects to swap with non-effects strips */
if((seq_a->type & SEQ_EFFECT) != (seq_b->type & SEQ_EFFECT)) {
+ *error_str= "Strips were not compatible";
return 0;
}
if((seq_a->type & SEQ_EFFECT) && (seq_b->type & SEQ_EFFECT)) {
if(get_sequence_effect_num_inputs(seq_a->type) != get_sequence_effect_num_inputs(seq_b->type)) {
+ *error_str= "Strips must have the same number of inputs";
return 0;
}
}
@@ -3482,6 +3501,7 @@ Sequence *sequencer_add_image_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
return seq;
}
+#ifdef WITH_AUDASPACE
Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load)
{
Scene *scene= CTX_data_scene(C); /* only for sound */
@@ -3523,7 +3543,8 @@ Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
strip->len = seq->len = ceil(info.length * FPS);
strip->us= 1;
- strip->stripdata= se= MEM_callocN(seq->len*sizeof(StripElem), "stripelem");
+ /* we only need 1 element to store the filename */
+ strip->stripdata= se= MEM_callocN(sizeof(StripElem), "stripelem");
BLI_split_dirfile(seq_load->path, strip->dir, se->name);
@@ -3538,6 +3559,15 @@ Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
return seq;
}
+#else // WITH_AUDASPACE
+Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load)
+{
+ (void)C;
+ (void)seqbasep;
+ (void)seq_load;
+ return NULL;
+}
+#endif // WITH_AUDASPACE
Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load)
{
@@ -3572,7 +3602,8 @@ Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
strip->len = seq->len = IMB_anim_get_duration( an );
strip->us= 1;
- strip->stripdata= se= MEM_callocN(seq->len*sizeof(StripElem), "stripelem");
+ /* we only need 1 element for MOVIE strips */
+ strip->stripdata= se= MEM_callocN(sizeof(StripElem), "stripelem");
BLI_split_dirfile(seq_load->path, strip->dir, se->name);
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c
index 5b6c6bf8732..7b04a72666d 100644
--- a/source/blender/blenkernel/intern/shrinkwrap.c
+++ b/source/blender/blenkernel/intern/shrinkwrap.c
@@ -562,7 +562,7 @@ void shrinkwrapModifier_deform(ShrinkwrapModifierData *smd, Object *ob, DerivedM
ssmd.subdivType = ME_CC_SUBSURF; //catmull clark
ssmd.levels = smd->subsurfLevels; //levels
- ss_mesh = subsurf_make_derived_from_derived(dm, &ssmd, FALSE, NULL, 0, 0);
+ ss_mesh = subsurf_make_derived_from_derived(dm, &ssmd, FALSE, NULL, 0, 0, (ob->mode & OB_MODE_EDIT));
if(ss_mesh)
{
diff --git a/source/blender/blenkernel/intern/sketch.c b/source/blender/blenkernel/intern/sketch.c
index ec0f5d1316b..4cc5a880625 100644
--- a/source/blender/blenkernel/intern/sketch.c
+++ b/source/blender/blenkernel/intern/sketch.c
@@ -543,7 +543,7 @@ int sk_stroke_filtermval(SK_DrawData *dd)
return retval;
}
-void sk_initDrawData(SK_DrawData *dd, const short mval[2])
+void sk_initDrawData(SK_DrawData *dd, const int mval[2])
{
dd->mval[0] = mval[0];
dd->mval[1] = mval[1];
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index 4405bce3d51..6ab1574ca80 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -140,6 +140,19 @@ static void fill_scs_points(Object *ob, DerivedMesh *dm, SmokeCollSettings *scs)
#define TRI_UVOFFSET (1./4.)
+/* Stubs to use when smoke is disabled */
+#ifndef WITH_SMOKE
+struct WTURBULENCE *smoke_turbulence_init(int *UNUSED(res), int UNUSED(amplify), int UNUSED(noisetype)) { return NULL; }
+struct FLUID_3D *smoke_init(int *UNUSED(res), float *UNUSED(p0)) { return NULL; }
+void smoke_free(struct FLUID_3D *UNUSED(fluid)) {}
+void smoke_turbulence_free(struct WTURBULENCE *UNUSED(wt)) {}
+void smoke_initWaveletBlenderRNA(struct WTURBULENCE *UNUSED(wt), float *UNUSED(strength)) {}
+void smoke_initBlenderRNA(struct FLUID_3D *UNUSED(fluid), float *UNUSED(alpha), float *UNUSED(beta), float *UNUSED(dt_factor), float *UNUSED(vorticity), int *UNUSED(border_colli)) {}
+long long smoke_get_mem_req(int UNUSED(xres), int UNUSED(yres), int UNUSED(zres), int UNUSED(amplify)) { return 0; }
+void smokeModifier_do(SmokeModifierData *UNUSED(smd), Scene *UNUSED(scene), Object *UNUSED(ob), DerivedMesh *UNUSED(dm)) {}
+#endif // WITH_SMOKE
+
+
static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, DerivedMesh *dm)
{
if((smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain && !smd->domain->fluid)
@@ -805,6 +818,9 @@ void smokeModifier_copy(struct SmokeModifierData *smd, struct SmokeModifierData
// forward decleration
static void smoke_calc_transparency(float *result, float *input, float *p0, float *p1, int res[3], float dx, float *light, bresenham_callback cb, float correct);
static float calc_voxel_transp(float *result, float *input, int res[3], int *pixel, float *tRay, float correct);
+
+#ifdef WITH_SMOKE
+
static int get_lamp(Scene *scene, float *light)
{
Base *base_tmp = NULL;
@@ -1646,3 +1662,4 @@ static void smoke_calc_transparency(float *result, float *input, float *p0, floa
}
}
+#endif // WITH_SMOKE
diff --git a/source/blender/blenkernel/intern/softbody.c b/source/blender/blenkernel/intern/softbody.c
index 30d2816769c..2960d8a41e5 100644
--- a/source/blender/blenkernel/intern/softbody.c
+++ b/source/blender/blenkernel/intern/softbody.c
@@ -75,6 +75,7 @@ variables on the UI for now
#include "BKE_curve.h"
#include "BKE_effect.h"
#include "BKE_global.h"
+#include "BKE_modifier.h"
#include "BKE_softbody.h"
#include "BKE_DerivedMesh.h"
#include "BKE_pointcache.h"
@@ -289,21 +290,24 @@ typedef struct ccd_Mesh {
-static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
+static ccd_Mesh *ccd_mesh_make(Object *ob)
{
+ CollisionModifierData *cmd;
ccd_Mesh *pccd_M = NULL;
ccdf_minmax *mima =NULL;
MFace *mface=NULL;
float v[3],hull;
int i;
+ cmd =(CollisionModifierData *)modifiers_findByType(ob, eModifierType_Collision);
+
/* first some paranoia checks */
- if (!dm) return NULL;
- if (!dm->getNumVerts(dm) || !dm->getNumFaces(dm)) return NULL;
+ if (!cmd) return NULL;
+ if (!cmd->numverts || !cmd->numfaces) return NULL;
pccd_M = MEM_mallocN(sizeof(ccd_Mesh),"ccd_Mesh");
- pccd_M->totvert = dm->getNumVerts(dm);
- pccd_M->totface = dm->getNumFaces(dm);
+ pccd_M->totvert = cmd->numverts;
+ pccd_M->totface = cmd->numfaces;
pccd_M->savety = CCD_SAVETY;
pccd_M->bbmin[0]=pccd_M->bbmin[1]=pccd_M->bbmin[2]=1e30f;
pccd_M->bbmax[0]=pccd_M->bbmax[1]=pccd_M->bbmax[2]=-1e30f;
@@ -314,12 +318,10 @@ static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
hull = MAX2(ob->pd->pdef_sbift,ob->pd->pdef_sboft);
/* alloc and copy verts*/
- pccd_M->mvert = dm->dupVertArray(dm);
- /* ah yeah, put the verices to global coords once */
- /* and determine the ortho BB on the fly */
+ pccd_M->mvert = MEM_dupallocN(cmd->xnew);
+ /* note that xnew coords are already in global space, */
+ /* determine the ortho BB */
for(i=0; i < pccd_M->totvert; i++){
- mul_m4_v3(ob->obmat, pccd_M->mvert[i].co);
-
/* evaluate limits */
VECCOPY(v,pccd_M->mvert[i].co);
pccd_M->bbmin[0] = MIN2(pccd_M->bbmin[0],v[0]-hull);
@@ -332,7 +334,7 @@ static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
}
/* alloc and copy faces*/
- pccd_M->mface = dm->dupFaceArray(dm);
+ pccd_M->mface = MEM_dupallocN(cmd->mfaces);
/* OBBs for idea1 */
pccd_M->mima = MEM_mallocN(sizeof(ccdf_minmax)*pccd_M->totface,"ccd_Mesh_Faces_mima");
@@ -386,19 +388,22 @@ static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
}
return pccd_M;
}
-static void ccd_mesh_update(Object *ob,ccd_Mesh *pccd_M, DerivedMesh *dm)
+static void ccd_mesh_update(Object *ob,ccd_Mesh *pccd_M)
{
- ccdf_minmax *mima =NULL;
+ CollisionModifierData *cmd;
+ ccdf_minmax *mima =NULL;
MFace *mface=NULL;
float v[3],hull;
int i;
+ cmd =(CollisionModifierData *)modifiers_findByType(ob, eModifierType_Collision);
+
/* first some paranoia checks */
- if (!dm) return ;
- if (!dm->getNumVerts(dm) || !dm->getNumFaces(dm)) return ;
+ if (!cmd) return ;
+ if (!cmd->numverts || !cmd->numfaces) return ;
- if ((pccd_M->totvert != dm->getNumVerts(dm)) ||
- (pccd_M->totface != dm->getNumFaces(dm))) return;
+ if ((pccd_M->totvert != cmd->numverts) ||
+ (pccd_M->totface != cmd->numfaces)) return;
pccd_M->bbmin[0]=pccd_M->bbmin[1]=pccd_M->bbmin[2]=1e30f;
pccd_M->bbmax[0]=pccd_M->bbmax[1]=pccd_M->bbmax[2]=-1e30f;
@@ -411,12 +416,10 @@ static void ccd_mesh_update(Object *ob,ccd_Mesh *pccd_M, DerivedMesh *dm)
if(pccd_M->mprevvert) MEM_freeN(pccd_M->mprevvert);
pccd_M->mprevvert = pccd_M->mvert;
/* alloc and copy verts*/
- pccd_M->mvert = dm->dupVertArray(dm);
- /* ah yeah, put the verices to global coords once */
- /* and determine the ortho BB on the fly */
+ pccd_M->mvert = MEM_dupallocN(cmd->xnew);
+ /* note that xnew coords are already in global space, */
+ /* determine the ortho BB */
for(i=0; i < pccd_M->totvert; i++){
- mul_m4_v3(ob->obmat, pccd_M->mvert[i].co);
-
/* evaluate limits */
VECCOPY(v,pccd_M->mvert[i].co);
pccd_M->bbmin[0] = MIN2(pccd_M->bbmin[0],v[0]-hull);
@@ -555,21 +558,8 @@ static void ccd_build_deflector_hash(Scene *scene, Object *vertexowner, GHash *h
/*+++ only with deflecting set */
if(ob->pd && ob->pd->deflect && BLI_ghash_lookup(hash, ob) == NULL) {
- DerivedMesh *dm= NULL;
-
- if(ob->softflag & OB_SB_COLLFINAL) /* so maybe someone wants overkill to collide with subsurfed */
- dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
- else
- dm = mesh_get_derived_deform(scene, ob, CD_MASK_BAREMESH);
-
- if(dm){
- ccd_Mesh *ccdmesh = ccd_mesh_make(ob, dm);
- BLI_ghash_insert(hash, ob, ccdmesh);
-
- /* we did copy & modify all we need so give 'em away again */
- dm->release(dm);
-
- }
+ ccd_Mesh *ccdmesh = ccd_mesh_make(ob);
+ BLI_ghash_insert(hash, ob, ccdmesh);
}/*--- only with deflecting set */
}/* mesh && layer*/
@@ -595,21 +585,9 @@ static void ccd_update_deflector_hash(Scene *scene, Object *vertexowner, GHash *
/*+++ only with deflecting set */
if(ob->pd && ob->pd->deflect) {
- DerivedMesh *dm= NULL;
-
- if(ob->softflag & OB_SB_COLLFINAL) { /* so maybe someone wants overkill to collide with subsurfed */
- dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
- } else {
- dm = mesh_get_derived_deform(scene, ob, CD_MASK_BAREMESH);
- }
- if(dm){
- ccd_Mesh *ccdmesh = BLI_ghash_lookup(hash,ob);
- if (ccdmesh)
- ccd_mesh_update(ob,ccdmesh,dm);
-
- /* we did copy & modify all we need so give 'em away again */
- dm->release(dm);
- }
+ ccd_Mesh *ccdmesh = BLI_ghash_lookup(hash,ob);
+ if (ccdmesh)
+ ccd_mesh_update(ob,ccdmesh);
}/*--- only with deflecting set */
}/* mesh && layer*/
@@ -640,7 +618,7 @@ static void add_mesh_quad_diag_springs(Object *ob)
{
Mesh *me= ob->data;
MFace *mface= me->mface;
- BodyPoint *bp;
+ /*BodyPoint *bp;*/ /*UNUSED*/
BodySpring *bs, *bs_new;
int a ;
@@ -661,7 +639,7 @@ static void add_mesh_quad_diag_springs(Object *ob)
/* fill the tail */
a = 0;
bs = bs_new+ob->soft->totspring;
- bp= ob->soft->bpoint;
+ /*bp= ob->soft->bpoint; */ /*UNUSED*/
if(mface ) {
for(a=me->totface; a>0; a--, mface++) {
if(mface->v4) {
@@ -1042,7 +1020,10 @@ static int sb_detect_aabb_collisionCached( float UNUSED(force[3]), unsigned int
GHash *hash;
GHashIterator *ihash;
float aabbmin[3],aabbmax[3];
- int a, deflected=0;
+ int deflected=0;
+#if 0
+ int a;
+#endif
if ((sb == NULL) || (sb->scratch ==NULL)) return 0;
VECCOPY(aabbmin,sb->scratch->aabbmin);
@@ -1056,17 +1037,20 @@ static int sb_detect_aabb_collisionCached( float UNUSED(force[3]), unsigned int
ob = BLI_ghashIterator_getKey (ihash);
/* only with deflecting set */
if(ob->pd && ob->pd->deflect) {
+#if 0 /* UNUSED */
MFace *mface= NULL;
MVert *mvert= NULL;
MVert *mprevvert= NULL;
ccdf_minmax *mima= NULL;
+#endif
if(ccdm){
+#if 0 /* UNUSED */
mface= ccdm->mface;
mvert= ccdm->mvert;
mprevvert= ccdm->mprevvert;
mima= ccdm->mima;
a = ccdm->totface;
-
+#endif
if ((aabbmax[0] < ccdm->bbmin[0]) ||
(aabbmax[1] < ccdm->bbmin[1]) ||
(aabbmax[2] < ccdm->bbmin[2]) ||
@@ -2095,19 +2079,25 @@ static void sb_spring_force(Object *ob,int bpi,BodySpring *bs,float iks,float UN
float dir[3],dvel[3];
float distance,forcefactor,kd,absvel,projvel,kw;
+#if 0 /* UNUSED */
int ia,ic;
+#endif
/* prepare depending on which side of the spring we are on */
if (bpi == bs->v1){
bp1 = &sb->bpoint[bs->v1];
bp2 = &sb->bpoint[bs->v2];
+#if 0 /* UNUSED */
ia =3*bs->v1;
ic =3*bs->v2;
+#endif
}
else if (bpi == bs->v2){
bp1 = &sb->bpoint[bs->v2];
bp2 = &sb->bpoint[bs->v1];
+#if 0 /* UNUSED */
ia =3*bs->v2;
ic =3*bs->v1;
+#endif
}
else{
/* TODO make this debug option */
@@ -2454,23 +2444,23 @@ static void softbody_calc_forcesEx(Scene *scene, Object *ob, float forcetime, fl
* this will ruin adaptive stepsize AKA heun! (BM)
*/
SoftBody *sb= ob->soft; /* is supposed to be there */
- BodyPoint *bproot;
+ /*BodyPoint *bproot;*/ /* UNUSED */
ListBase *do_effector = NULL;
- float gravity;
+ /* float gravity; */ /* UNUSED */
/* float iks; */
float fieldfactor = -1.0f, windfactor = 0.25;
- int do_deflector,do_selfcollision,do_springcollision,do_aero;
+ int do_deflector /*,do_selfcollision*/ ,do_springcollision,do_aero;
- gravity = sb->grav * sb_grav_force_scale(ob);
+ /* gravity = sb->grav * sb_grav_force_scale(ob); */ /* UNUSED */
/* check conditions for various options */
do_deflector= query_external_colliders(scene, ob);
- do_selfcollision=((ob->softflag & OB_SB_EDGES) && (sb->bspring)&& (ob->softflag & OB_SB_SELF));
+ /* do_selfcollision=((ob->softflag & OB_SB_EDGES) && (sb->bspring)&& (ob->softflag & OB_SB_SELF)); */ /* UNUSED */
do_springcollision=do_deflector && (ob->softflag & OB_SB_EDGES) &&(ob->softflag & OB_SB_EDGECOLL);
do_aero=((sb->aeroedge)&& (ob->softflag & OB_SB_EDGES));
/* iks = 1.0f/(1.0f-sb->inspring)-1.0f; */ /* inner spring constants function */ /* UNUSED */
- bproot= sb->bpoint; /* need this for proper spring addressing */
+ /* bproot= sb->bpoint; */ /* need this for proper spring addressing */ /* UNUSED */
if (do_springcollision || do_aero)
sb_sfesf_threads_run(scene, ob, timenow,sb->totspring,NULL);
@@ -2516,7 +2506,7 @@ static void softbody_calc_forces(Scene *scene, Object *ob, float forcetime, floa
*/
SoftBody *sb= ob->soft; /* is supposed to be there */
BodyPoint *bp;
- BodyPoint *bproot;
+ /* BodyPoint *bproot; */ /* UNUSED */
BodySpring *bs;
ListBase *do_effector = NULL;
float iks, ks, kd, gravity[3] = {0.0f,0.0f,0.0f};
@@ -2547,7 +2537,7 @@ static void softbody_calc_forces(Scene *scene, Object *ob, float forcetime, floa
do_aero=((sb->aeroedge)&& (ob->softflag & OB_SB_EDGES));
iks = 1.0f/(1.0f-sb->inspring)-1.0f ;/* inner spring constants function */
- bproot= sb->bpoint; /* need this for proper spring addressing */
+ /* bproot= sb->bpoint; */ /* need this for proper spring addressing */ /* UNUSED */
if (do_springcollision || do_aero) scan_for_ext_spring_forces(scene, ob, timenow);
/* after spring scan because it uses Effoctors too */
diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c
index e0e456a371e..1c61646a3d8 100644
--- a/source/blender/blenkernel/intern/sound.c
+++ b/source/blender/blenkernel/intern/sound.c
@@ -21,7 +21,9 @@
#include "DNA_screen_types.h"
#include "DNA_sound_types.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "BKE_utildefines.h"
#include "BKE_global.h"
@@ -34,6 +36,61 @@
#include "BKE_animsys.h"
+struct bSound* sound_new_file(struct Main *bmain, const char *filename)
+{
+ bSound* sound = NULL;
+
+ char str[FILE_MAX];
+ char *path;
+
+ int len;
+
+ strcpy(str, filename);
+
+ path = /*bmain ? bmain->name :*/ G.main->name;
+
+ BLI_path_abs(str, path);
+
+ len = strlen(filename);
+ while(len > 0 && filename[len-1] != '/' && filename[len-1] != '\\')
+ len--;
+
+ sound = alloc_libblock(&bmain->sound, ID_SO, filename+len);
+ BLI_strncpy(sound->name, filename, FILE_MAX);
+// XXX unused currently sound->type = SOUND_TYPE_FILE;
+
+ sound_load(bmain, sound);
+
+ if(!sound->playback_handle)
+ {
+ free_libblock(&bmain->sound, sound);
+ sound = NULL;
+ }
+
+ return sound;
+}
+
+void sound_free(struct bSound* sound)
+{
+ if (sound->packedfile)
+ {
+ freePackedFile(sound->packedfile);
+ sound->packedfile = NULL;
+ }
+
+#ifdef WITH_AUDASPACE
+ if(sound->handle)
+ {
+ AUD_unload(sound->handle);
+ sound->handle = NULL;
+ sound->playback_handle = NULL;
+ }
+#endif // WITH_AUDASPACE
+}
+
+
+#ifdef WITH_AUDASPACE
+
static int force_device = -1;
#ifdef WITH_JACK
@@ -123,40 +180,6 @@ void sound_exit(void)
AUD_exit();
}
-struct bSound* sound_new_file(struct Main *bmain, const char *filename)
-{
- bSound* sound = NULL;
-
- char str[FILE_MAX];
- char *path;
-
- int len;
-
- strcpy(str, filename);
-
- path = /*bmain ? bmain->name :*/ G.main->name;
-
- BLI_path_abs(str, path);
-
- len = strlen(filename);
- while(len > 0 && filename[len-1] != '/' && filename[len-1] != '\\')
- len--;
-
- sound = alloc_libblock(&bmain->sound, ID_SO, filename+len);
- BLI_strncpy(sound->name, filename, FILE_MAX);
-// XXX unused currently sound->type = SOUND_TYPE_FILE;
-
- sound_load(bmain, sound);
-
- if(!sound->playback_handle)
- {
- free_libblock(&bmain->sound, sound);
- sound = NULL;
- }
-
- return sound;
-}
-
// XXX unused currently
#if 0
struct bSound* sound_new_buffer(struct bContext *C, struct bSound *source)
@@ -301,22 +324,6 @@ void sound_load(struct Main *bmain, struct bSound* sound)
}
}
-void sound_free(struct bSound* sound)
-{
- if (sound->packedfile)
- {
- freePackedFile(sound->packedfile);
- sound->packedfile = NULL;
- }
-
- if(sound->handle)
- {
- AUD_unload(sound->handle);
- sound->handle = NULL;
- sound->playback_handle = NULL;
- }
-}
-
static float sound_get_volume(Scene* scene, Sequence* sequence, float time)
{
AnimData *adt= BKE_animdata_from_id(&scene->id);
@@ -490,8 +497,9 @@ int sound_scene_playing(struct Scene *scene)
int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length, float start, float end)
{
AUD_Sound* limiter = AUD_limitSound(sound->cache, start, end);
- return AUD_readSound(limiter, buffer, length);
+ int ret= AUD_readSound(limiter, buffer, length);
AUD_unload(limiter);
+ return ret;
}
int sound_get_channels(struct bSound* sound)
@@ -502,3 +510,34 @@ int sound_get_channels(struct bSound* sound)
return info.specs.channels;
}
+
+#else // WITH_AUDASPACE
+
+#include "BLI_utildefines.h"
+
+int sound_define_from_str(const char *UNUSED(str)) { return -1;}
+void sound_force_device(int UNUSED(device)) {}
+void sound_init_once(void) {}
+void sound_init(struct Main *UNUSED(bmain)) {}
+void sound_exit(void) {}
+void sound_cache(struct bSound* UNUSED(sound), int UNUSED(ignore)) { }
+void sound_delete_cache(struct bSound* UNUSED(sound)) {}
+void sound_load(struct Main *UNUSED(bmain), struct bSound* UNUSED(sound)) {}
+void sound_create_scene(struct Scene *UNUSED(scene)) {}
+void sound_destroy_scene(struct Scene *UNUSED(scene)) {}
+void sound_mute_scene(struct Scene *UNUSED(scene), int UNUSED(muted)) {}
+void* sound_scene_add_scene_sound(struct Scene *UNUSED(scene), struct Sequence* UNUSED(sequence), int UNUSED(startframe), int UNUSED(endframe), int UNUSED(frameskip)) { return NULL; }
+void* sound_add_scene_sound(struct Scene *UNUSED(scene), struct Sequence* UNUSED(sequence), int UNUSED(startframe), int UNUSED(endframe), int UNUSED(frameskip)) { return NULL; }
+void sound_remove_scene_sound(struct Scene *UNUSED(scene), void* UNUSED(handle)) {}
+void sound_mute_scene_sound(struct Scene *UNUSED(scene), void* UNUSED(handle), char UNUSED(mute)) {}
+void sound_move_scene_sound(struct Scene *UNUSED(scene), void* UNUSED(handle), int UNUSED(startframe), int UNUSED(endframe), int UNUSED(frameskip)) {}
+static void sound_start_play_scene(struct Scene *UNUSED(scene)) {}
+void sound_play_scene(struct Scene *UNUSED(scene)) {}
+void sound_stop_scene(struct Scene *UNUSED(scene)) {}
+void sound_seek_scene(struct bContext *UNUSED(C)) {}
+float sound_sync_scene(struct Scene *UNUSED(scene)) { return 0.0f; }
+int sound_scene_playing(struct Scene *UNUSED(scene)) { return -1; }
+int sound_read_sound_buffer(struct bSound* UNUSED(sound), float* UNUSED(buffer), int UNUSED(length), float UNUSED(start), float UNUSED(end)) { return 0; }
+int sound_get_channels(struct bSound* UNUSED(sound)) { return 1; }
+
+#endif // WITH_AUDASPACE
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index 5d44841df8b..67d7e7bffd6 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -1176,7 +1176,8 @@ static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(draw
CCGSubSurf *ss = ccgdm->ss;
CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss);
CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss);
- int i, edgeSize = ccgSubSurf_getEdgeSize(ss);
+ int i, j, edgeSize = ccgSubSurf_getEdgeSize(ss);
+ int totedge = ccgSubSurf_getNumEdges(ss);
int gridSize = ccgSubSurf_getGridSize(ss);
int useAging;
@@ -1184,13 +1185,16 @@ static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(draw
ccgSubSurf_getUseAgeCounts(ss, &useAging, NULL, NULL, NULL);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
- CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
+ for (j=0; j< totedge; j++) {
+ CCGEdge *e = ccgdm->edgeMap[j].edge;
DMGridData *edgeData = ccgSubSurf_getEdgeDataArray(ss, e);
if (!drawLooseEdges && !ccgSubSurf_getEdgeNumFaces(e))
continue;
+ if(ccgdm->edgeFlags && !(ccgdm->edgeFlags[j] & ME_EDGEDRAW))
+ continue;
+
if (useAging && !(G.f&G_BACKBUFSEL)) {
int ageCol = 255-ccgSubSurf_getEdgeAge(ss, e)*4;
glColor3ub(0, ageCol>0?ageCol:0, 0);
@@ -2617,7 +2621,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
struct DerivedMesh *dm,
struct SubsurfModifierData *smd,
int useRenderParams, float (*vertCos)[3],
- int isFinalCalc, int editMode)
+ int isFinalCalc, int forEditMode, int inEditMode)
{
int useSimple = smd->subdivType == ME_SIMPLE_SUBSURF;
int useAging = smd->flags & eSubsurfModifierFlag_DebugIncr;
@@ -2625,7 +2629,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
int drawInteriorEdges = !(smd->flags & eSubsurfModifierFlag_ControlEdges);
CCGDerivedMesh *result;
- if(editMode) {
+ if(forEditMode) {
int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->levels): smd->levels;
smd->emCache = _getSubSurf(smd->emCache, levels, useAging, 0,
@@ -2656,7 +2660,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
int useAging = smd->flags & eSubsurfModifierFlag_DebugIncr;
int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->levels): smd->levels;
CCGSubSurf *ss;
-
+
/* It is quite possible there is a much better place to do this. It
* depends a bit on how rigourously we expect this function to never
* be called in editmode. In semi-theory we could share a single
@@ -2664,8 +2668,11 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
* the same so we would need some way of converting them. Its probably
* not worth the effort. But then why am I even writing this long
* comment that no one will read? Hmmm. - zr
+ *
+ * Addendum: we can't really ensure that this is never called in edit
+ * mode, so now we have a parameter to verify it. - brecht
*/
- if(smd->emCache) {
+ if(!inEditMode && smd->emCache) {
ccgSubSurf_free(smd->emCache);
smd->emCache = NULL;
}
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index ba5d4282416..2c507370288 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -238,7 +238,7 @@ static void cleanup_textline(TextLine * tl)
int reopen_text(Text *text)
{
FILE *fp;
- int i, llen, len, res;
+ int i, llen, len;
unsigned char *buffer;
TextLine *tmp;
char str[FILE_MAXDIR+FILE_MAXFILE];
@@ -281,7 +281,7 @@ int reopen_text(Text *text)
fclose(fp);
- res= stat(str, &st);
+ stat(str, &st);
text->mtime= st.st_mtime;
text->nlines=0;
@@ -334,7 +334,7 @@ Text *add_text(const char *file, const char *relpath)
{
Main *bmain= G.main;
FILE *fp;
- int i, llen, len, res;
+ int i, llen, len;
unsigned char *buffer;
TextLine *tmp;
Text *ta;
@@ -374,7 +374,7 @@ Text *add_text(const char *file, const char *relpath)
fclose(fp);
- res= stat(str, &st);
+ stat(str, &st);
ta->mtime= st.st_mtime;
ta->nlines=0;
@@ -400,7 +400,13 @@ Text *add_text(const char *file, const char *relpath)
llen++;
}
- if (llen!=0 || ta->nlines==0) {
+ /* create new line in cases:
+ - rest of line (if last line in file hasn't got \n terminator).
+ in this case content of such line would be used to fill text line buffer
+ - file is empty. in this case new line is needed to start editing from.
+ - last characted in buffer is \n. in this case new line is needed to
+ deal with newline at end of file. (see [#28087]) (sergey) */
+ if (llen!=0 || ta->nlines==0 || buffer[len-1]=='\n') {
tmp= (TextLine*) MEM_mallocN(sizeof(TextLine), "textline");
tmp->line= (char*) MEM_mallocN(llen+1, "textline_string");
tmp->format= NULL;
@@ -1232,21 +1238,19 @@ char *txt_to_buf (Text *text)
return buf;
}
-int txt_find_string(Text *text, char *findstr, int wrap)
+int txt_find_string(Text *text, char *findstr, int wrap, int match_case)
{
TextLine *tl, *startl;
char *s= NULL;
- int oldcl, oldsl;
if (!text || !text->curl || !text->sell) return 0;
txt_order_cursors(text);
- oldcl= txt_get_span(text->lines.first, text->curl);
- oldsl= txt_get_span(text->lines.first, text->sell);
tl= startl= text->sell;
- s= strstr(&tl->line[text->selc], findstr);
+ if(match_case) s= strstr(&tl->line[text->selc], findstr);
+ else s= BLI_strcasestr(&tl->line[text->selc], findstr);
while (!s) {
tl= tl->next;
if (!tl) {
@@ -1256,7 +1260,8 @@ int txt_find_string(Text *text, char *findstr, int wrap)
break;
}
- s= strstr(tl->line, findstr);
+ if(match_case) s= strstr(tl->line, findstr);
+ else s= BLI_strcasestr(tl->line, findstr);
if (tl==startl)
break;
}
@@ -1418,6 +1423,8 @@ void txt_insert_buf(Text *text, const char *in_buffer)
}
undoing= u;
+
+ (void)count;
}
/******************/
@@ -1892,13 +1899,13 @@ void txt_do_undo(Text *text)
if (op==UNDO_INDENT) {
- unindent(text);
+ txt_unindent(text);
} else if (op== UNDO_UNINDENT) {
- indent(text);
+ txt_indent(text);
} else if (op == UNDO_COMMENT) {
- uncomment(text);
+ txt_uncomment(text);
} else if (op == UNDO_UNCOMMENT) {
- comment(text);
+ txt_comment(text);
}
text->undo_pos--;
@@ -2108,13 +2115,13 @@ void txt_do_redo(Text *text)
}
if (op==UNDO_INDENT) {
- indent(text);
+ txt_indent(text);
} else if (op== UNDO_UNINDENT) {
- unindent(text);
+ txt_unindent(text);
} else if (op == UNDO_COMMENT) {
- comment(text);
+ txt_comment(text);
} else if (op == UNDO_UNCOMMENT) {
- uncomment(text);
+ txt_uncomment(text);
}
break;
default:
@@ -2412,7 +2419,7 @@ static int txt_add_char_intern (Text *text, char add, int replace_tabs)
return 1;
}
- /* insert spaces rather then tabs */
+ /* insert spaces rather than tabs */
if (add == '\t' && replace_tabs) {
txt_convert_tab_to_spaces(text);
return 1;
@@ -2499,7 +2506,7 @@ int txt_replace_char (Text *text, char add)
return 1;
}
-void indent(Text *text)
+void txt_indent(Text *text)
{
int len, num;
char *tmp;
@@ -2510,7 +2517,7 @@ void indent(Text *text)
/* hardcoded: TXT_TABSIZE = 4 spaces: */
int spaceslen = TXT_TABSIZE;
- /* insert spaces rather then tabs */
+ /* insert spaces rather than tabs */
if (text->flags & TXT_TABSTOSPACES){
add = tab_to_spaces;
indentlen = spaceslen;
@@ -2562,7 +2569,7 @@ void indent(Text *text)
}
}
-void unindent(Text *text)
+void txt_unindent(Text *text)
{
int num = 0;
const char *remove = "\t";
@@ -2571,7 +2578,7 @@ void unindent(Text *text)
/* hardcoded: TXT_TABSIZE = 4 spaces: */
int spaceslen = TXT_TABSIZE;
- /* insert spaces rather then tabs */
+ /* insert spaces rather than tabs */
if (text->flags & TXT_TABSTOSPACES){
remove = tab_to_spaces;
indent = spaceslen;
@@ -2620,7 +2627,7 @@ void unindent(Text *text)
}
}
-void comment(Text *text)
+void txt_comment(Text *text)
{
int len, num;
char *tmp;
@@ -2672,7 +2679,7 @@ void comment(Text *text)
}
}
-void uncomment(Text *text)
+void txt_uncomment(Text *text)
{
int num = 0;
char remove = '#';
@@ -2749,19 +2756,19 @@ int setcurr_tab_spaces (Text *text, int space)
* 2) within an identifier
* 3) after the cursor (text->curc), i.e. when creating space before a function def [#25414]
*/
- int a, indent = 0;
+ int a, is_indent = 0;
for(a=0; (a < text->curc) && (text->curl->line[a] != '\0'); a++)
{
char ch= text->curl->line[a];
if (ch=='#') {
break;
} else if (ch==':') {
- indent = 1;
- } else if (ch==']' || ch=='}' || ch=='"' || ch=='\'') {
- indent = 0;
+ is_indent = 1;
+ } else if (ch!=' ' && ch!='\t') {
+ is_indent = 0;
}
}
- if (indent) {
+ if (is_indent) {
i += space;
}
}
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index 9cd07de31dc..036ba34d0c8 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -1191,6 +1191,28 @@ void set_current_material_texture(Material *ma, Tex *newtex)
}
}
+int has_current_material_texture(Material *ma)
+{
+ bNode *node;
+
+ if(ma && ma->use_nodes && ma->nodetree) {
+ node= nodeGetActiveID(ma->nodetree, ID_TE);
+
+ if(node) {
+ return 1;
+ }
+ else {
+ node= nodeGetActiveID(ma->nodetree, ID_MA);
+ if(node)
+ ma= (Material*)node->id;
+ else
+ ma= NULL;
+ }
+ }
+
+ return (ma != NULL);
+}
+
Tex *give_current_world_texture(World *world)
{
MTex *mtex= NULL;
@@ -1464,6 +1486,10 @@ int BKE_texture_dependsOnTime(const struct Tex *texture)
// assume anything in adt means the texture is animated
return 1;
}
+ else if(texture->type == TEX_NOISE) {
+ // noise always varies with time
+ return 1;
+ }
return 0;
}
diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c
index 7a76e61c17b..d413177873f 100644
--- a/source/blender/blenkernel/intern/world.c
+++ b/source/blender/blenkernel/intern/world.c
@@ -43,6 +43,7 @@
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
+#include "BLI_listbase.h"
#include "BLI_utildefines.h"
#include "BKE_world.h"
@@ -117,17 +118,36 @@ World *copy_world(World *wrld)
for(a=0; a<MAX_MTEX; a++) {
if(wrld->mtex[a]) {
- wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "copymaterial");
+ wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "copy_world");
memcpy(wrldn->mtex[a], wrld->mtex[a], sizeof(MTex));
id_us_plus((ID *)wrldn->mtex[a]->tex);
}
}
- if (wrld->preview) wrldn->preview = BKE_previewimg_copy(wrld->preview);
+ if(wrld->preview)
+ wrldn->preview = BKE_previewimg_copy(wrld->preview);
-#if 0 // XXX old animation system
- id_us_plus((ID *)wrldn->ipo);
-#endif // XXX old animation system
+ return wrldn;
+}
+
+World *localize_world(World *wrld)
+{
+ World *wrldn;
+ int a;
+
+ wrldn= copy_libblock(wrld);
+ BLI_remlink(&G.main->world, wrldn);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(wrld->mtex[a]) {
+ wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "localize_world");
+ memcpy(wrldn->mtex[a], wrld->mtex[a], sizeof(MTex));
+ /* free world decrements */
+ id_us_plus((ID *)wrldn->mtex[a]->tex);
+ }
+ }
+
+ wrldn->preview= NULL;
return wrldn;
}
diff --git a/source/blender/blenkernel/intern/writeavi.c b/source/blender/blenkernel/intern/writeavi.c
index ba7f9bdd415..769a3f9b11e 100644
--- a/source/blender/blenkernel/intern/writeavi.c
+++ b/source/blender/blenkernel/intern/writeavi.c
@@ -105,13 +105,18 @@ bMovieHandle *BKE_get_movie_handle(int imtype)
mh.get_movie_path = filepath_ffmpeg;
}
#endif
+#ifdef WITH_FRAMESERVER
if (imtype == R_FRAMESERVER) {
mh.start_movie = start_frameserver;
mh.append_movie = append_frameserver;
mh.end_movie = end_frameserver;
mh.get_next_frame = frameserver_loop;
}
-
+#endif
+
+ /* incase all above are disabled */
+ (void)imtype;
+
return &mh;
}
diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
index 9b1c3b2ddb8..4db53999f10 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -39,19 +39,6 @@
#include <libswscale/swscale.h>
#include <libavcodec/opt.h>
-#if LIBAVFORMAT_VERSION_INT < (49 << 16)
-#define FFMPEG_OLD_FRAME_RATE 1
-#else
-#define FFMPEG_CODEC_IS_POINTER 1
-#define FFMPEG_CODEC_TIME_BASE 1
-#endif
-
-#if LIBAVFORMAT_VERSION_INT >= (52 << 16)
-#define OUTFILE_PB (outfile->pb)
-#else
-#define OUTFILE_PB (&outfile->pb)
-#endif
-
#if defined(WIN32) && (!(defined snprintf))
#define snprintf _snprintf
#endif
@@ -62,7 +49,9 @@
#include "BLI_blenlib.h"
-#include "AUD_C-API.h" /* must be before BKE_sound.h for define */
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "BKE_global.h"
#include "BKE_idprop.h"
@@ -74,6 +63,8 @@
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
+#include "ffmpeg_compat.h"
+
extern void do_init_ffmpeg(void);
static int ffmpeg_type = 0;
@@ -100,7 +91,9 @@ static uint8_t* audio_output_buffer = 0;
static int audio_outbuf_size = 0;
static double audio_time = 0.0f;
+#ifdef WITH_AUDASPACE
static AUD_Device* audio_mixdown_device = 0;
+#endif
#define FFMPEG_AUTOSPLIT_SIZE 2000000000
@@ -114,24 +107,13 @@ static void delete_picture(AVFrame* f)
}
}
-#ifdef FFMPEG_CODEC_IS_POINTER
-static AVCodecContext* get_codec_from_stream(AVStream* stream)
-{
- return stream->codec;
-}
-#else
-static AVCodecContext* get_codec_from_stream(AVStream* stream)
-{
- return &stream->codec;
-}
-#endif
-
+#ifdef WITH_AUDASPACE
static int write_audio_frame(void)
{
AVCodecContext* c = NULL;
AVPacket pkt;
- c = get_codec_from_stream(audio_stream);
+ c = audio_stream->codec;
av_init_packet(&pkt);
pkt.size = 0;
@@ -153,23 +135,22 @@ static int write_audio_frame(void)
if(c->coded_frame && c->coded_frame->pts != AV_NOPTS_VALUE)
{
-#ifdef FFMPEG_CODEC_TIME_BASE
pkt.pts = av_rescale_q(c->coded_frame->pts,
- c->time_base, audio_stream->time_base);
-#else
- pkt.pts = c->coded_frame->pts;
-#endif
+ c->time_base, audio_stream->time_base);
fprintf(stderr, "Audio Frame PTS: %d\n", (int)pkt.pts);
}
pkt.stream_index = audio_stream->index;
- pkt.flags |= PKT_FLAG_KEY;
+
+ pkt.flags |= AV_PKT_FLAG_KEY;
+
if (av_interleaved_write_frame(outfile, &pkt) != 0) {
fprintf(stderr, "Error writing audio packet!\n");
return -1;
}
return 0;
}
+#endif // #ifdef WITH_AUDASPACE
/* Allocate a temporary frame */
static AVFrame* alloc_picture(int pix_fmt, int width, int height)
@@ -263,10 +244,10 @@ static int write_video_frame(RenderData *rd, AVFrame* frame, ReportList *reports
{
int outsize = 0;
int ret, success= 1;
- AVCodecContext* c = get_codec_from_stream(video_stream);
-#ifdef FFMPEG_CODEC_TIME_BASE
+ AVCodecContext* c = video_stream->codec;
+
frame->pts = rd->cfra - rd->sfra;
-#endif
+
if (rd->mode & R_FIELDS) {
frame->top_field_first = ((rd->mode & R_ODDFIELD) != 0);
}
@@ -278,19 +259,15 @@ static int write_video_frame(RenderData *rd, AVFrame* frame, ReportList *reports
av_init_packet(&packet);
if (c->coded_frame->pts != AV_NOPTS_VALUE) {
-#ifdef FFMPEG_CODEC_TIME_BASE
packet.pts = av_rescale_q(c->coded_frame->pts,
c->time_base,
video_stream->time_base);
-#else
- packet.pts = c->coded_frame->pts;
-#endif
fprintf(stderr, "Video Frame PTS: %d\n", (int)packet.pts);
} else {
fprintf(stderr, "Video Frame PTS: not set\n");
}
if (c->coded_frame->key_frame)
- packet.flags |= PKT_FLAG_KEY;
+ packet.flags |= AV_PKT_FLAG_KEY;
packet.stream_index = video_stream->index;
packet.data = video_buffer;
packet.size = outsize;
@@ -312,7 +289,7 @@ static AVFrame* generate_video_frame(uint8_t* pixels, ReportList *reports)
{
uint8_t* rendered_frame;
- AVCodecContext* c = get_codec_from_stream(video_stream);
+ AVCodecContext* c = video_stream->codec;
int width = c->width;
int height = c->height;
AVFrame* rgb_frame;
@@ -396,7 +373,7 @@ static void set_ffmpeg_property_option(AVCodecContext* c, IDProperty * prop)
switch(prop->type) {
case IDP_STRING:
fprintf(stderr, "%s.\n", IDP_String(prop));
- rv = av_set_string(c, prop->name, IDP_String(prop));
+ av_set_string3(c, prop->name, IDP_String(prop), 1, &rv);
break;
case IDP_FLOAT:
fprintf(stderr, "%g.\n", IDP_Float(prop));
@@ -407,7 +384,7 @@ static void set_ffmpeg_property_option(AVCodecContext* c, IDProperty * prop)
if (param) {
if (IDP_Int(prop)) {
- rv = av_set_string(c, name, param);
+ av_set_string3(c, name, param, 1, &rv);
} else {
return;
}
@@ -459,9 +436,9 @@ static AVStream* alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex
/* Set up the codec context */
- c = get_codec_from_stream(st);
+ c = st->codec;
c->codec_id = codec_id;
- c->codec_type = CODEC_TYPE_VIDEO;
+ c->codec_type = AVMEDIA_TYPE_VIDEO;
/* Get some values from the current render settings */
@@ -469,7 +446,6 @@ static AVStream* alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex
c->width = rectx;
c->height = recty;
-#ifdef FFMPEG_CODEC_TIME_BASE
/* FIXME: Really bad hack (tm) for NTSC support */
if (ffmpeg_type == FFMPEG_DV && rd->frs_sec != 25) {
c->time_base.den = 2997;
@@ -482,20 +458,6 @@ static AVStream* alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex
c->time_base.den = rd->frs_sec * 100000;
c->time_base.num = ((double) rd->frs_sec_base) * 100000;
}
-#else
- /* FIXME: Really bad hack (tm) for NTSC support */
- if (ffmpeg_type == FFMPEG_DV && rd->frs_sec != 25) {
- c->frame_rate = 2997;
- c->frame_rate_base = 100;
- } else if ((double) ((int) rd->frs_sec_base) ==
- rd->frs_sec_base) {
- c->frame_rate = rd->frs_sec;
- c->frame_rate_base = rd->frs_sec_base;
- } else {
- c->frame_rate = rd->frs_sec * 100000;
- c->frame_rate_base = ((double) rd->frs_sec_base)*100000;
- }
-#endif
c->gop_size = ffmpeg_gop_size;
c->bit_rate = ffmpeg_video_bitrate*1000;
@@ -519,7 +481,7 @@ static AVStream* alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex
c->pix_fmt = PIX_FMT_YUV422P;
}
- if (codec_id == CODEC_ID_XVID) {
+ if (ffmpeg_type == FFMPEG_XVID) {
/* arghhhh ... */
c->pix_fmt = PIX_FMT_YUV420P;
c->codec_tag = (('D'<<24) + ('I'<<16) + ('V'<<8) + 'X');
@@ -586,9 +548,9 @@ static AVStream* alloc_audio_stream(RenderData *rd, int codec_id, AVFormatContex
st = av_new_stream(of, 1);
if (!st) return NULL;
- c = get_codec_from_stream(st);
+ c = st->codec;
c->codec_id = codec_id;
- c->codec_type = CODEC_TYPE_AUDIO;
+ c->codec_type = AVMEDIA_TYPE_AUDIO;
c->sample_rate = rd->ffcodecdata.audio_mixrate;
c->bit_rate = ffmpeg_audio_bitrate*1000;
@@ -666,13 +628,13 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
BKE_report(reports, RPT_ERROR, "No valid formats found.");
return 0;
}
- fmt = guess_format(NULL, exts[0], NULL);
+ fmt = av_guess_format(NULL, exts[0], NULL);
if (!fmt) {
BKE_report(reports, RPT_ERROR, "No valid formats found.");
return 0;
}
- of = av_alloc_format_context();
+ of = avformat_alloc_context();
if (!of) {
BKE_report(reports, RPT_ERROR, "Error opening output file");
return 0;
@@ -713,7 +675,7 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
fmt->video_codec = CODEC_ID_H264;
break;
case FFMPEG_XVID:
- fmt->video_codec = CODEC_ID_XVID;
+ fmt->video_codec = CODEC_ID_MPEG4;
break;
case FFMPEG_FLV:
fmt->video_codec = CODEC_ID_FLV1;
@@ -772,7 +734,7 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
return 0;
}
if (!(fmt->flags & AVFMT_NOFILE)) {
- if (url_fopen(&of->pb, name, URL_WRONLY) < 0) {
+ if (avio_open(&of->pb, name, AVIO_FLAG_WRITE) < 0) {
BKE_report(reports, RPT_ERROR, "Could not open file for writing.");
return 0;
}
@@ -780,7 +742,7 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
av_write_header(of);
outfile = of;
- dump_format(of, 0, name, 1);
+ av_dump_format(of, 0, name, 1);
return 1;
}
@@ -807,7 +769,7 @@ void flush_ffmpeg(void)
int outsize = 0;
int ret = 0;
- AVCodecContext* c = get_codec_from_stream(video_stream);
+ AVCodecContext* c = video_stream->codec;
/* get the delayed frames */
while (1) {
AVPacket packet;
@@ -822,19 +784,15 @@ void flush_ffmpeg(void)
break;
}
if (c->coded_frame->pts != AV_NOPTS_VALUE) {
-#ifdef FFMPEG_CODEC_TIME_BASE
packet.pts = av_rescale_q(c->coded_frame->pts,
c->time_base,
video_stream->time_base);
-#else
- packet.pts = c->coded_frame->pts;
-#endif
fprintf(stderr, "Video Frame PTS: %d\n", (int)packet.pts);
} else {
fprintf(stderr, "Video Frame PTS: not set\n");
}
if (c->coded_frame->key_frame) {
- packet.flags |= PKT_FLAG_KEY;
+ packet.flags |= AV_PKT_FLAG_KEY;
}
packet.stream_index = video_stream->index;
packet.data = video_buffer;
@@ -845,7 +803,7 @@ void flush_ffmpeg(void)
break;
}
}
- avcodec_flush_buffers(get_codec_from_stream(video_stream));
+ avcodec_flush_buffers(video_stream->codec);
}
/* **********************************************************************
@@ -899,22 +857,23 @@ int start_ffmpeg(struct Scene *scene, RenderData *rd, int rectx, int recty, Repo
ffmpeg_autosplit_count = 0;
success = start_ffmpeg_impl(rd, rectx, recty, reports);
-
+#ifdef WITH_AUDASPACE
if(audio_stream)
{
- AVCodecContext* c = get_codec_from_stream(audio_stream);
+ AVCodecContext* c = audio_stream->codec;
AUD_DeviceSpecs specs;
specs.channels = c->channels;
specs.format = AUD_FORMAT_S16;
specs.rate = rd->ffcodecdata.audio_mixrate;
audio_mixdown_device = sound_mixdown(scene, specs, rd->sfra, rd->ffcodecdata.audio_volume);
}
-
+#endif
return success;
}
void end_ffmpeg(void);
+#ifdef WITH_AUDASPACE
static void write_audio_frames(double to_pts)
{
int finished = 0;
@@ -926,6 +885,7 @@ static void write_audio_frames(double to_pts)
}
}
}
+#endif
int append_ffmpeg(RenderData *rd, int frame, int *pixels, int rectx, int recty, ReportList *reports)
{
@@ -945,7 +905,7 @@ int append_ffmpeg(RenderData *rd, int frame, int *pixels, int rectx, int recty,
success= (avframe && write_video_frame(rd, avframe, reports));
if (ffmpeg_autosplit) {
- if (url_ftell(OUTFILE_PB) > FFMPEG_AUTOSPLIT_SIZE) {
+ if (avio_tell(outfile->pb) > FFMPEG_AUTOSPLIT_SIZE) {
end_ffmpeg();
ffmpeg_autosplit_count++;
success &= start_ffmpeg_impl(rd, rectx, recty, reports);
@@ -953,8 +913,9 @@ int append_ffmpeg(RenderData *rd, int frame, int *pixels, int rectx, int recty,
}
}
+#ifdef WITH_AUDASPACE
write_audio_frames((frame - rd->sfra) / (((double)rd->frs_sec) / rd->frs_sec_base));
-
+#endif
return success;
}
@@ -968,13 +929,15 @@ void end_ffmpeg(void)
write_audio_frames();
}*/
+#ifdef WITH_AUDASPACE
if(audio_mixdown_device)
{
AUD_closeReadDevice(audio_mixdown_device);
audio_mixdown_device = 0;
}
-
- if (video_stream && get_codec_from_stream(video_stream)) {
+#endif
+
+ if (video_stream && video_stream->codec) {
fprintf(stderr, "Flushing delayed frames...\n");
flush_ffmpeg ();
}
@@ -985,8 +948,8 @@ void end_ffmpeg(void)
/* Close the video codec */
- if (video_stream && get_codec_from_stream(video_stream)) {
- avcodec_close(get_codec_from_stream(video_stream));
+ if (video_stream && video_stream->codec) {
+ avcodec_close(video_stream->codec);
printf("zero video stream %p\n", video_stream);
video_stream = 0;
}
@@ -1007,7 +970,7 @@ void end_ffmpeg(void)
}
if (outfile && outfile->oformat) {
if (!(outfile->oformat->flags & AVFMT_NOFILE)) {
- url_fclose(OUTFILE_PB);
+ avio_close(outfile->pb);
}
}
if (outfile) {
@@ -1101,12 +1064,12 @@ IDProperty *ffmpeg_property_add(RenderData *rd, char * type, int opt_index, int
switch (o->type) {
case FF_OPT_TYPE_INT:
case FF_OPT_TYPE_INT64:
- val.i = o->default_val;
+ val.i = FFMPEG_DEF_OPT_VAL_INT(o);
idp_type = IDP_INT;
break;
case FF_OPT_TYPE_DOUBLE:
case FF_OPT_TYPE_FLOAT:
- val.f = o->default_val;
+ val.f = FFMPEG_DEF_OPT_VAL_DOUBLE(o);
idp_type = IDP_FLOAT;
break;
case FF_OPT_TYPE_STRING:
@@ -1314,7 +1277,7 @@ void ffmpeg_set_preset(RenderData *rd, int preset)
case FFMPEG_PRESET_XVID:
if(preset == FFMPEG_PRESET_XVID) {
rd->ffcodecdata.type = FFMPEG_AVI;
- rd->ffcodecdata.codec = CODEC_ID_XVID;
+ rd->ffcodecdata.codec = CODEC_ID_MPEG4;
}
else if(preset == FFMPEG_PRESET_THEORA) {
rd->ffcodecdata.type = FFMPEG_OGG; // XXX broken
@@ -1357,7 +1320,7 @@ void ffmpeg_verify_image_type(RenderData *rd)
}
}
else if(rd->imtype == R_XVID) {
- if(rd->ffcodecdata.codec != CODEC_ID_XVID) {
+ if(rd->ffcodecdata.codec != CODEC_ID_MPEG4) {
ffmpeg_set_preset(rd, FFMPEG_PRESET_XVID);
audio= 1;
}
diff --git a/source/blender/blenkernel/intern/writeframeserver.c b/source/blender/blenkernel/intern/writeframeserver.c
index 2239f6d3147..d13d15d1269 100644
--- a/source/blender/blenkernel/intern/writeframeserver.c
+++ b/source/blender/blenkernel/intern/writeframeserver.c
@@ -22,6 +22,7 @@
*
*/
+#ifdef WITH_FRAMESERVER
#include <string.h>
#include <stdio.h>
@@ -381,3 +382,4 @@ void end_frameserver(void)
shutdown_socket_system();
}
+#endif /* WITH_FRAMESERVER */
diff --git a/source/blender/blenlib/BLI_callbacks.h b/source/blender/blenlib/BLI_callbacks.h
new file mode 100644
index 00000000000..1735848e774
--- /dev/null
+++ b/source/blender/blenlib/BLI_callbacks.h
@@ -0,0 +1,72 @@
+/*
+ * $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) 2001-2002 by NaN Holding BV.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): mar 2001 Nzc
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/blenlib/BLI_callbacks.h
+ * \ingroup bli
+ */
+
+
+#ifndef BLI_CALLBACKS_H
+#define BLI_CALLBACKS_H
+
+struct bContext;
+struct Main;
+struct ID;
+
+typedef enum {
+ BLI_CB_EVT_RENDER_PRE,
+ BLI_CB_EVT_RENDER_POST,
+ BLI_CB_EVT_LOAD_PRE,
+ BLI_CB_EVT_LOAD_POST,
+ BLI_CB_EVT_SAVE_PRE,
+ BLI_CB_EVT_SAVE_POST,
+ BLI_CB_EVT_TOT
+} eCbEvent;
+
+
+typedef struct {
+ struct bCallbackFuncStore *next, *prev;
+ void (* func)(struct Main *, struct ID *, void *arg);
+ void *arg;
+ short alloc;
+} bCallbackFuncStore;
+
+
+void BLI_exec_cb(struct Main *main, struct ID *self, eCbEvent evt);
+void BLI_add_cb(bCallbackFuncStore *funcstore, eCbEvent evt);
+
+#endif
+
+
+void BLI_cb_init(void);
+void BLI_cb_finalize(void);
+
+
+/* This is blenlib internal only, unrelated to above */
+void callLocalErrorCallBack(const char* msg);
diff --git a/source/blender/blenlib/BLI_math_base.h b/source/blender/blenlib/BLI_math_base.h
index 6ff57b08724..b5bab6f15be 100644
--- a/source/blender/blenlib/BLI_math_base.h
+++ b/source/blender/blenlib/BLI_math_base.h
@@ -39,6 +39,10 @@
#include <math.h>
#include "BLI_math_inline.h"
+#ifdef __sun__
+#include <ieeefp.h> /* for finite() */
+#endif
+
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
diff --git a/source/blender/blenlib/BLI_math_color.h b/source/blender/blenlib/BLI_math_color.h
index fe09706cb3d..a6a1238a064 100644
--- a/source/blender/blenlib/BLI_math_color.h
+++ b/source/blender/blenlib/BLI_math_color.h
@@ -70,6 +70,7 @@ unsigned int rgb_to_cpack(float r, float g, float b);
unsigned int hsv_to_cpack(float h, float s, float v);
float rgb_to_grayscale(float rgb[3]);
+unsigned char rgb_to_grayscale_byte(unsigned char rgb[3]);
/***************** Profile Transformations ********************/
diff --git a/source/blender/blenlib/BLI_math_geom.h b/source/blender/blenlib/BLI_math_geom.h
index 756d1501536..506e271071c 100644
--- a/source/blender/blenlib/BLI_math_geom.h
+++ b/source/blender/blenlib/BLI_math_geom.h
@@ -66,6 +66,9 @@ float closest_to_line_v3(float r[3], const float p[3], const float l1[3], const
float closest_to_line_v2(float r[2], const float p[2], const float l1[2], const float l2[2]);
void closest_to_line_segment_v3(float r[3], const float p[3], const float l1[3], const float l2[3]);
+float line_point_factor_v3(const float p[3], const float l1[3], const float l2[3]);
+float line_point_factor_v2(const float p[2], const float l1[2], const float l2[2]);
+
/******************************* Intersection ********************************/
/* TODO int return value consistency */
@@ -77,7 +80,9 @@ void closest_to_line_segment_v3(float r[3], const float p[3], const float l1[3],
#define ISECT_LINE_LINE_CROSS 2
int isect_line_line_v2(const float a1[2], const float a2[2], const float b1[2], const float b2[2]);
-int isect_line_line_v2_short(const short a1[2], const short a2[2], const short b1[2], const short b2[2]);
+int isect_line_line_v2_int(const int a1[2], const int a2[2], const int b1[2], const int b2[2]);
+int isect_line_sphere_v3(const float l1[3], const float l2[3], const float sp[3], const float r, float r_p1[3], float r_p2[3]);
+int isect_line_sphere_v2(const float l1[2], const float l2[2], const float sp[2], const float r, float r_p1[2], float r_p2[2]);
int isect_seg_seg_v2_point(const float v1[2], const float v2[2], const float v3[2], const float v4[2], float vi[2]);
/* Returns the number of point of interests
@@ -96,6 +101,18 @@ int isect_line_line_strict_v3(const float v1[3], const float v2[3],
int isect_ray_plane_v3(float p1[3], float d[3], float v0[3],
float v1[3], float v2[3], float *lambda, int clip);
+/**
+ * Intersect line/plane, optionally treat line as directional (like a ray) with the no_flip argument.
+ * @param out The intersection point.
+ * @param l1 The first point of the line.
+ * @param l2 The second point of the line.
+ * @param plane_co A point on the plane to intersect with.
+ * @param plane_no The direction of the plane (does not need to be normalized).
+ * @param no_flip When true, the intersection point will always be from l1 to l2, even if this is not on the plane.
+ */
+int isect_line_plane_v3(float out[3], const float l1[3], const float l2[3],
+ const float plane_co[3], const float plane_no[3], const short no_flip);
+
/* line/ray triangle */
int isect_line_tri_v3(const float p1[3], const float p2[3],
const float v0[3], const float v1[3], const float v2[3], float *lambda, float uv[2]);
@@ -150,6 +167,9 @@ void barycentric_transform(float pt_tar[3], float const pt_src[3],
void barycentric_weights_v2(const float v1[2], const float v2[2], const float v3[2],
const float co[2], float w[3]);
+void resolve_tri_uv(float uv[2], const float st[2], const float st0[2], const float st1[2], const float st2[2]);
+void resolve_quad_uv(float uv[2], const float st[2], const float st0[2], const float st1[2], const float st2[2], const float st3[2]);
+
/***************************** View & Projection *****************************/
void lookat_m4(float mat[4][4], float vx, float vy,
diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h
index 939c4348461..d8719f399ae 100644
--- a/source/blender/blenlib/BLI_math_matrix.h
+++ b/source/blender/blenlib/BLI_math_matrix.h
@@ -84,7 +84,7 @@ void mul_v3_m4v3(float r[3], float M[4][4], float v[3]);
void mul_mat3_m4_v3(float M[4][4], float r[3]);
void mul_m4_v4(float M[4][4], float r[4]);
void mul_v4_m4v4(float r[4], float M[4][4], float v[4]);
-void mul_project_m4_v4(float M[4][4], float r[3]);
+void mul_project_m4_v3(float M[4][4], float vec[3]);
void mul_m3_v3(float M[3][3], float r[3]);
void mul_v3_m3v3(float r[3], float M[3][3], float a[3]);
diff --git a/source/blender/blenlib/BLI_math_vector.h b/source/blender/blenlib/BLI_math_vector.h
index 5f26bff0ad9..decfa22c3e6 100644
--- a/source/blender/blenlib/BLI_math_vector.h
+++ b/source/blender/blenlib/BLI_math_vector.h
@@ -58,6 +58,8 @@ MINLINE void swap_v4_v4(float a[4], float b[4]);
/********************************* Arithmetic ********************************/
+MINLINE void add_v3_fl(float r[3], float f);
+MINLINE void add_v4_fl(float r[4], float f);
MINLINE void add_v2_v2(float r[2], const float a[2]);
MINLINE void add_v2_v2v2(float r[2], const float a[2], const float b[2]);
MINLINE void add_v3_v3(float r[3], const float a[3]);
diff --git a/source/blender/blenlib/BLI_path_util.h b/source/blender/blenlib/BLI_path_util.h
index dd4ae781832..81fc8a50db6 100644
--- a/source/blender/blenlib/BLI_path_util.h
+++ b/source/blender/blenlib/BLI_path_util.h
@@ -50,11 +50,7 @@ char *BLI_get_folder_version(const int id, const int ver, const int do_check);
/* folder_id */
/* general, will find based on user/local/system priority */
-#define BLENDER_CONFIG 1
#define BLENDER_DATAFILES 2
-#define BLENDER_SCRIPTS 3
-#define BLENDER_PLUGINS 4
-#define BLENDER_PYTHON 5
/* user-specific */
#define BLENDER_USER_CONFIG 31
@@ -64,7 +60,6 @@ char *BLI_get_folder_version(const int id, const int ver, const int do_check);
#define BLENDER_USER_AUTOSAVE 35
/* system */
-#define BLENDER_SYSTEM_CONFIG 51 /* optional */
#define BLENDER_SYSTEM_DATAFILES 52
#define BLENDER_SYSTEM_SCRIPTS 53
#define BLENDER_SYSTEM_PLUGINS 54
@@ -86,7 +81,7 @@ char *BLI_get_folder_version(const int id, const int ver, const int do_check);
#ifdef WIN32
#define BLENDER_USER_FORMAT "%s\\Blender Foundation\\Blender\\%s"
#define BLENDER_SYSTEM_FORMAT "%s\\Blender Foundation\\Blender\\%s"
-#elif __APPLE__
+#elif defined(__APPLE__)
#define BLENDER_USER_FORMAT "%s/Blender/%s"
#define BLENDER_SYSTEM_FORMAT "%s/Blender/%s"
#else
diff --git a/source/blender/blenlib/BLI_scanfill.h b/source/blender/blenlib/BLI_scanfill.h
index e2f102c20eb..c5acf7b7f70 100644
--- a/source/blender/blenlib/BLI_scanfill.h
+++ b/source/blender/blenlib/BLI_scanfill.h
@@ -53,7 +53,7 @@ extern "C" {
/* scanfill.c: used in displist only... */
struct EditVert *BLI_addfillvert(float *vec);
struct EditEdge *BLI_addfilledge(struct EditVert *v1, struct EditVert *v2);
-int BLI_edgefill(int mat_nr);
+int BLI_edgefill(short mat_nr);
void BLI_end_edgefill(void);
/* These callbacks are needed to make the lib finction properly */
diff --git a/source/blender/blenlib/BLI_string.h b/source/blender/blenlib/BLI_string.h
index 635c38e1d13..408809661cf 100644
--- a/source/blender/blenlib/BLI_string.h
+++ b/source/blender/blenlib/BLI_string.h
@@ -123,13 +123,6 @@ __attribute__ ((format (printf, 1, 2)))
;
/**
- * Compare two strings
- *
- * @retval True if the strings are equal, false otherwise.
- */
-int BLI_streq(const char *a, const char *b);
-
- /**
* Compare two strings without regard to case.
*
* @retval True if the strings are equal, false otherwise.
@@ -147,6 +140,9 @@ void BLI_timestr(double _time, char *str); /* time var is global */
int BLI_utf8_invalid_byte(const char *str, int length);
int BLI_utf8_invalid_strip(char *str, int length);
+void BLI_ascii_strtolower(char *str, int len);
+void BLI_ascii_strtoupper(char *str, int len);
+
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h
index a376d048412..9af55601ff7 100644
--- a/source/blender/blenlib/BLI_utildefines.h
+++ b/source/blender/blenlib/BLI_utildefines.h
@@ -103,6 +103,12 @@
#define FTOCHAR(val) ((val)<=0.0f)? 0 : (((val)>(1.0f-0.5f/255.0f))? 255 : (char)((255.0f*(val))+0.5f))
#define FTOUSHORT(val) ((val >= 1.0f-0.5f/65535)? 65535: (val <= 0.0f)? 0: (unsigned short)(val*65535.0f + 0.5f))
+#define F3TOCHAR3(v2,v1) (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2]))
+#define F3TOCHAR4(v2,v1) { (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2])); \
+ (v1)[3]=FTOCHAR((v2[3])); (v1)[3] = 255; }
+#define F4TOCHAR4(v2,v1) { (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2])); \
+ (v1)[3]=FTOCHAR((v2[3])); (v1)[3]=FTOCHAR((v2[3])); }
+
#define VECCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);}
#define VECCOPY2D(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1);}
diff --git a/source/blender/blenlib/BLI_winstuff.h b/source/blender/blenlib/BLI_winstuff.h
index d0eb3c7d67d..e0c819c2dba 100644
--- a/source/blender/blenlib/BLI_winstuff.h
+++ b/source/blender/blenlib/BLI_winstuff.h
@@ -98,6 +98,15 @@ extern "C" {
typedef unsigned int mode_t;
#endif
+/* use functions that take a 64 bit offset for files larger than 4GB */
+#ifndef FREE_WINDOWS
+#include <stdio.h>
+#define fseek(stream, offset, origin) _fseeki64(stream, offset, origin)
+#define ftell(stream) _ftelli64(stream)
+#define lseek(fd, offset, origin) _lseeki64(fd, offset, origin)
+#define tell(fd) _telli64(fd)
+#endif
+
/* mingw using _SSIZE_T_ to declare ssize_t type */
#ifndef _SSIZE_T_
#define _SSIZE_T_
diff --git a/source/blender/blenlib/CMakeLists.txt b/source/blender/blenlib/CMakeLists.txt
index b7827d62851..b4fc983008c 100644
--- a/source/blender/blenlib/CMakeLists.txt
+++ b/source/blender/blenlib/CMakeLists.txt
@@ -26,12 +26,15 @@
set(INC
.
- ../makesdna
../blenkernel
../blenloader
../gpu
+ ../makesdna
../../../intern/ghost
../../../intern/guardedalloc
+)
+
+set(INC_SYS
${ZLIB_INCLUDE_DIRS}
${FREETYPE_INCLUDE_DIRS}
)
@@ -49,6 +52,7 @@ set(SRC
intern/DLRB_tree.c
intern/boxpack2d.c
intern/bpath.c
+ intern/callbacks.c
intern/cpu.c
intern/dynlib.c
intern/edgehash.c
@@ -86,6 +90,7 @@ set(SRC
BLI_blenlib.h
BLI_boxpack2d.h
BLI_bpath.h
+ BLI_callbacks.h
BLI_cpu.h
BLI_dlrbTree.h
BLI_dynlib.h
@@ -129,17 +134,18 @@ set(SRC
BLI_voxel.h
BLI_winstuff.h
PIL_time.h
- intern/BLI_callbacks.h
intern/dynamiclist.h
)
if(WITH_BINRELOC)
+ list(APPEND INC_SYS
+ ${BINRELOC_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_BINRELOC)
- list(APPEND INC "${BINRELOC_INC}")
endif()
if(WITH_OPENMP)
add_definitions(-DPARALLEL=1)
endif()
-blender_add_lib(bf_blenlib "${SRC}" "${INC}")
+blender_add_lib(bf_blenlib "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c
index f8a85c8ba76..527692348e7 100644
--- a/source/blender/blenlib/intern/BLI_kdopbvh.c
+++ b/source/blender/blenlib/intern/BLI_kdopbvh.c
@@ -1687,13 +1687,13 @@ static void dfs_range_query(RangeQueryData *data, BVHNode *node)
{
if(node->totnode == 0)
{
-
+#if 0 /*UNUSED*/
//Calculate the node min-coords (if the node was a point then this is the point coordinates)
float co[3];
co[0] = node->bv[0];
co[1] = node->bv[2];
co[2] = node->bv[4];
-
+#endif
}
else
{
diff --git a/source/blender/blenlib/intern/bpath.c b/source/blender/blenlib/intern/bpath.c
index a56b1392b69..654ade8955f 100644
--- a/source/blender/blenlib/intern/bpath.c
+++ b/source/blender/blenlib/intern/bpath.c
@@ -68,21 +68,16 @@
#include "BKE_utildefines.h"
#include "BKE_report.h"
-//XXX #include "BIF_screen.h" /* only for wait cursor */
-//
-/* for sequence */
-//XXX #include "BSE_sequence.h"
-//XXX define below from BSE_sequence.h - otherwise potentially odd behaviour
-
-
-typedef struct BPathIteratorSeqData {
+typedef struct BPathIteratorSeqData
+{
int totseq;
int seq;
- struct Sequence **seqar; /* Sequence */
- struct Scene *scene; /* Current scene */
+ struct Sequence **seqar; /* Sequence */
+ struct Scene *scene; /* Current scene */
} BPathIteratorSeqData;
-typedef struct BPathIterator {
+typedef struct BPathIterator
+{
char* _path; /* never access directly, use BLI_bpathIterator_getPath */
const char* _lib;
const char* _name;
@@ -94,7 +89,7 @@ typedef struct BPathIterator {
void (*setpath_callback)(struct BPathIterator *, const char *);
void (*getpath_callback)(struct BPathIterator *, char *);
- const char* base_path; /* base path, the directry the blend file is in - normally bmain->name */
+ const char* base_path; /* base path, the directory the blend file is in - normally bmain->name */
Main *bmain;
@@ -116,7 +111,7 @@ enum BPathTypes {
BPATH_SEQ,
BPATH_CDATA,
- BPATH_DONE
+ BPATH_DONE
};
void BLI_bpathIterator_init(struct BPathIterator **bpi_pt, Main *bmain, const char *basedir, const int flag)
@@ -128,10 +123,10 @@ void BLI_bpathIterator_init(struct BPathIterator **bpi_pt, Main *bmain, const ch
bpi->type= BPATH_IMAGE;
bpi->data= NULL;
-
+
bpi->getpath_callback= NULL;
bpi->setpath_callback= NULL;
-
+
/* Sequencer specific */
bpi->seqdata.totseq= 0;
bpi->seqdata.seq= 0;
@@ -147,62 +142,75 @@ void BLI_bpathIterator_init(struct BPathIterator **bpi_pt, Main *bmain, const ch
}
#if 0
-static void BLI_bpathIterator_alloc(struct BPathIterator **bpi) {
+static void BLI_bpathIterator_alloc(struct BPathIterator **bpi)
+{
*bpi= MEM_mallocN(sizeof(BPathIterator), "BLI_bpathIterator_alloc");
}
#endif
-void BLI_bpathIterator_free(struct BPathIterator *bpi) {
+void BLI_bpathIterator_free(struct BPathIterator *bpi)
+{
if (bpi->seqdata.seqar)
MEM_freeN((void *)bpi->seqdata.seqar);
bpi->seqdata.seqar= NULL;
bpi->seqdata.scene= NULL;
-
+
MEM_freeN(bpi);
}
-void BLI_bpathIterator_getPath(struct BPathIterator *bpi, char *path) {
+void BLI_bpathIterator_getPath(struct BPathIterator *bpi, char *path)
+{
if (bpi->getpath_callback) {
bpi->getpath_callback(bpi, path);
- } else {
+ }
+ else {
strcpy(path, bpi->_path); /* warning, we assume 'path' are long enough */
}
}
-void BLI_bpathIterator_setPath(struct BPathIterator *bpi, const char *path) {
+void BLI_bpathIterator_setPath(struct BPathIterator *bpi, const char *path)
+{
if (bpi->setpath_callback) {
bpi->setpath_callback(bpi, path);
- } else {
+ }
+ else {
strcpy(bpi->_path, path); /* warning, we assume 'path' are long enough */
}
}
-void BLI_bpathIterator_getPathExpanded(struct BPathIterator *bpi, char *path_expanded) {
+void BLI_bpathIterator_getPathExpanded(struct BPathIterator *bpi, char *path_expanded)
+{
const char *libpath;
-
+
BLI_bpathIterator_getPath(bpi, path_expanded);
libpath= BLI_bpathIterator_getLib(bpi);
-
+
if (libpath) { /* check the files location relative to its library path */
BLI_path_abs(path_expanded, libpath);
- } else { /* local data, use the blend files path */
+ }
+ else { /* local data, use the blend files path */
BLI_path_abs(path_expanded, bpi->base_path);
}
BLI_cleanup_file(NULL, path_expanded);
}
-const char* BLI_bpathIterator_getLib(struct BPathIterator *bpi) {
+const char* BLI_bpathIterator_getLib(struct BPathIterator *bpi)
+{
return bpi->_lib;
}
-const char* BLI_bpathIterator_getName(struct BPathIterator *bpi) {
+const char* BLI_bpathIterator_getName(struct BPathIterator *bpi)
+{
return bpi->_name;
}
-int BLI_bpathIterator_getType(struct BPathIterator *bpi) {
+int BLI_bpathIterator_getType(struct BPathIterator *bpi)
+{
return bpi->type;
}
-unsigned int BLI_bpathIterator_getPathMaxLen(struct BPathIterator *bpi) {
+unsigned int BLI_bpathIterator_getPathMaxLen(struct BPathIterator *bpi)
+{
return bpi->len;
}
-const char* BLI_bpathIterator_getBasePath(struct BPathIterator *bpi) {
+const char* BLI_bpathIterator_getBasePath(struct BPathIterator *bpi)
+{
return bpi->base_path;
}
@@ -211,10 +219,10 @@ static struct Image *ima_stepdata__internal(struct Image *ima, const int step_ne
{
if (ima==NULL)
return NULL;
-
+
if (step_next)
ima= ima->id.next;
-
+
while (ima) {
if (ELEM3(ima->source, IMA_SRC_FILE, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
if(ima->packedfile==NULL || (flag & BPATH_USE_PACKED)) {
@@ -223,7 +231,7 @@ static struct Image *ima_stepdata__internal(struct Image *ima, const int step_ne
}
/* image is not a image with a path, skip it */
ima= ima->id.next;
- }
+ }
return ima;
}
@@ -240,7 +248,7 @@ static struct Tex *tex_stepdata__internal(struct Tex *tex, const int step_next,
break;
/* image is not a image with a path, skip it */
tex= tex->id.next;
- }
+ }
return tex;
}
@@ -257,7 +265,7 @@ static struct Text *text_stepdata__internal(struct Text *text, const int step_ne
break;
/* image is not a image with a path, skip it */
text= text->id.next;
- }
+ }
return text;
}
@@ -265,20 +273,20 @@ static struct VFont *vf_stepdata__internal(struct VFont *vf, const int step_next
{
if (vf==NULL)
return NULL;
-
+
if (step_next)
vf= vf->id.next;
-
+
while (vf) {
if (strcmp(vf->name, FO_BUILTIN_NAME)!=0) {
if(vf->packedfile==NULL || (flag & BPATH_USE_PACKED)) {
break;
}
}
-
+
/* font with no path, skip it */
vf= vf->id.next;
- }
+ }
return vf;
}
@@ -286,10 +294,10 @@ static struct bSound *snd_stepdata__internal(struct bSound *snd, int step_next,
{
if (snd==NULL)
return NULL;
-
+
if (step_next)
snd= snd->id.next;
-
+
while (snd) {
if(snd->packedfile==NULL || (flag & BPATH_USE_PACKED)) {
break;
@@ -297,7 +305,7 @@ static struct bSound *snd_stepdata__internal(struct bSound *snd, int step_next,
/* font with no path, skip it */
snd= snd->id.next;
- }
+ }
return snd;
}
@@ -305,16 +313,16 @@ static struct Sequence *seq_stepdata__internal(struct BPathIterator *bpi, int st
{
Editing *ed;
Sequence *seq;
-
+
/* Initializing */
if (bpi->seqdata.scene==NULL) {
bpi->seqdata.scene= bpi->bmain->scene.first;
}
-
+
if (step_next) {
bpi->seqdata.seq++;
}
-
+
while (bpi->seqdata.scene) {
ed= seq_give_editing(bpi->seqdata.scene, 0);
if (ed) {
@@ -323,10 +331,11 @@ static struct Sequence *seq_stepdata__internal(struct BPathIterator *bpi, int st
seq_array(ed, &bpi->seqdata.seqar, &bpi->seqdata.totseq, 0);
bpi->seqdata.seq= 0;
}
-
+
if (bpi->seqdata.seq >= bpi->seqdata.totseq) {
seq= NULL;
- } else {
+ }
+ else {
seq= bpi->seqdata.seqar[bpi->seqdata.seq];
while (!SEQ_HAS_PATH(seq) && seq->plugin==NULL) {
bpi->seqdata.seq++;
@@ -339,7 +348,8 @@ static struct Sequence *seq_stepdata__internal(struct BPathIterator *bpi, int st
}
if (seq) {
return seq;
- } else {
+ }
+ else {
/* keep looking through the next scene, reallocate seq array */
if (bpi->seqdata.seqar) {
MEM_freeN((void *)bpi->seqdata.seqar);
@@ -347,19 +357,21 @@ static struct Sequence *seq_stepdata__internal(struct BPathIterator *bpi, int st
}
bpi->seqdata.scene= bpi->seqdata.scene->id.next;
}
- } else {
+ }
+ else {
/* no seq data in this scene, next */
bpi->seqdata.scene= bpi->seqdata.scene->id.next;
}
}
-
+
return NULL;
}
-static void seq_getpath(struct BPathIterator *bpi, char *path) {
+static void seq_getpath(struct BPathIterator *bpi, char *path)
+{
Sequence *seq= (Sequence *)bpi->data;
-
+
path[0]= '\0'; /* incase we cant get the path */
if (seq==NULL) return;
if (SEQ_HAS_PATH(seq)) {
@@ -369,7 +381,7 @@ static void seq_getpath(struct BPathIterator *bpi, char *path) {
if (seq->strip->stripdata) { /* should always be true! */
/* Using the first image is weak for image sequences */
strcat(path, seq->strip->stripdata->name);
- }
+ }
}
else {
/* simple case */
@@ -381,10 +393,11 @@ static void seq_getpath(struct BPathIterator *bpi, char *path) {
}
}
-static void seq_setpath(struct BPathIterator *bpi, const char *path) {
+static void seq_setpath(struct BPathIterator *bpi, const char *path)
+{
Sequence *seq= (Sequence *)bpi->data;
- if (seq==NULL) return;
-
+ if (seq==NULL) return;
+
if (SEQ_HAS_PATH(seq)) {
if (ELEM3(seq->type, SEQ_IMAGE, SEQ_MOVIE, SEQ_SOUND)) {
BLI_split_dirfile(path, seq->strip->dir, seq->strip->stripdata->name);
@@ -399,7 +412,8 @@ static void seq_setpath(struct BPathIterator *bpi, const char *path) {
}
}
-static void text_getpath(struct BPathIterator *bpi, char *path) {
+static void text_getpath(struct BPathIterator *bpi, char *path)
+{
Text *text= (Text *)bpi->data;
path[0]= '\0'; /* incase we cant get the path */
if(text->name) {
@@ -407,9 +421,10 @@ static void text_getpath(struct BPathIterator *bpi, char *path) {
}
}
-static void text_setpath(struct BPathIterator *bpi, const char *path) {
+static void text_setpath(struct BPathIterator *bpi, const char *path)
+{
Text *text= (Text *)bpi->data;
- if (text==NULL) return;
+ if (text==NULL) return;
if(text->name) {
MEM_freeN(text->name);
@@ -418,27 +433,29 @@ static void text_setpath(struct BPathIterator *bpi, const char *path) {
text->name= BLI_strdup(path);
}
-static struct Mesh *cdata_stepdata__internal(struct Mesh *me, int step_next) {
+static struct Mesh *cdata_stepdata__internal(struct Mesh *me, int step_next)
+{
if (me==NULL)
return NULL;
-
+
if (step_next)
me= me->id.next;
-
+
while (me) {
if (me->fdata.external) {
break;
}
-
+
me= me->id.next;
- }
+ }
return me;
}
-static void bpi_type_step__internal(struct BPathIterator *bpi) {
+static void bpi_type_step__internal(struct BPathIterator *bpi)
+{
bpi->type++; /* advance to the next type */
bpi->data= NULL;
-
+
switch (bpi->type) {
case BPATH_SEQ:
bpi->getpath_callback= seq_getpath;
@@ -455,27 +472,29 @@ static void bpi_type_step__internal(struct BPathIterator *bpi) {
}
}
-void BLI_bpathIterator_step(struct BPathIterator *bpi) {
+void BLI_bpathIterator_step(struct BPathIterator *bpi)
+{
while (bpi->type != BPATH_DONE) {
-
+
if ((bpi->type) == BPATH_IMAGE) {
/*if (bpi->data) bpi->data= ((ID *)bpi->data)->next;*/
if (bpi->data) bpi->data= ima_stepdata__internal((Image *)bpi->data, 1, bpi->flag); /* must skip images that have no path */
else bpi->data= ima_stepdata__internal(bpi->bmain->image.first, 0, bpi->flag);
-
+
if (bpi->data) {
/* get the path info from this datatype */
Image *ima= (Image *)bpi->data;
-
+
bpi->_lib= ima->id.lib ? ima->id.lib->filepath : NULL;
bpi->_path= ima->name;
bpi->_name= ima->id.name+2;
bpi->len= sizeof(ima->name);
-
+
/* we are done, advancing to the next item, this type worked fine */
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
}
@@ -502,7 +521,8 @@ void BLI_bpathIterator_step(struct BPathIterator *bpi) {
/* we are done, advancing to the next item, this type worked fine */
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
}
@@ -524,11 +544,11 @@ void BLI_bpathIterator_step(struct BPathIterator *bpi) {
/* we are done, advancing to the next item, this type worked fine */
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
}
-
else if ((bpi->type) == BPATH_SOUND) {
if (bpi->data) bpi->data= snd_stepdata__internal((bSound *)bpi->data, 1, bpi->flag); /* must skip images that have no path */
else bpi->data= snd_stepdata__internal(bpi->bmain->sound.first, 0, bpi->flag);
@@ -544,16 +564,16 @@ void BLI_bpathIterator_step(struct BPathIterator *bpi) {
/* we are done, advancing to the next item, this type worked fine */
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
-
-
- } else if ((bpi->type) == BPATH_FONT) {
-
+ }
+ else if ((bpi->type) == BPATH_FONT) {
+
if (bpi->data) bpi->data= vf_stepdata__internal((VFont *)bpi->data, 1, bpi->flag);
else bpi->data= vf_stepdata__internal(bpi->bmain->vfont.first, 0, bpi->flag);
-
+
if (bpi->data) {
/* get the path info from this datatype */
VFont *vf= (VFont *)bpi->data;
@@ -565,29 +585,33 @@ void BLI_bpathIterator_step(struct BPathIterator *bpi) {
/* we are done, advancing to the next item, this type worked fine */
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
- } else if ((bpi->type) == BPATH_LIB) {
+ }
+ else if ((bpi->type) == BPATH_LIB) {
if (bpi->data) bpi->data= ((ID *)bpi->data)->next;
else bpi->data= bpi->bmain->library.first;
-
+
if (bpi->data) {
/* get the path info from this datatype */
Library *lib= (Library *)bpi->data;
-
+
bpi->_lib= NULL;
bpi->_path= lib->name;
bpi->_name= NULL;
bpi->len= sizeof(lib->name);
-
+
/* we are done, advancing to the next item, this type worked fine */
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
- } else if ((bpi->type) == BPATH_SEQ) {
+ }
+ else if ((bpi->type) == BPATH_SEQ) {
if (bpi->data) bpi->data= seq_stepdata__internal( bpi, 1 );
else bpi->data= seq_stepdata__internal( bpi, 0 );
if (bpi->data) {
@@ -596,10 +620,12 @@ void BLI_bpathIterator_step(struct BPathIterator *bpi) {
bpi->_name= seq->name+2;
bpi->len= seq->plugin ? sizeof(seq->plugin->name) : sizeof(seq->strip->dir) + sizeof(seq->strip->stripdata->name);
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
- } else if ((bpi->type) == BPATH_CDATA) {
+ }
+ else if ((bpi->type) == BPATH_CDATA) {
if (bpi->data) bpi->data= cdata_stepdata__internal( bpi->data, 1 );
else bpi->data= cdata_stepdata__internal( bpi->bmain->mesh.first, 0 );
@@ -610,7 +636,8 @@ void BLI_bpathIterator_step(struct BPathIterator *bpi) {
bpi->_name= me->id.name+2;
bpi->len= sizeof(me->fdata.external->filename);
break;
- } else {
+ }
+ else {
bpi_type_step__internal(bpi);
}
}
@@ -627,7 +654,7 @@ static void bpath_as_report(struct BPathIterator *bpi, const char *message, Repo
const char *prefix;
const char *name;
char path_expanded[FILE_MAXDIR*2];
-
+
if(reports==NULL)
return;
@@ -660,7 +687,7 @@ static void bpath_as_report(struct BPathIterator *bpi, const char *message, Repo
prefix= "Unknown";
break;
}
-
+
name= BLI_bpathIterator_getName(bpi);
BLI_bpathIterator_getPathExpanded(bpi, path_expanded);
@@ -674,14 +701,14 @@ static void bpath_as_report(struct BPathIterator *bpi, const char *message, Repo
/* high level function */
void checkMissingFiles(Main *bmain, ReportList *reports) {
struct BPathIterator *bpi;
-
+
/* be sure there is low chance of the path being too short */
- char filepath_expanded[FILE_MAXDIR*2];
-
+ char filepath_expanded[FILE_MAXDIR*2];
+
BLI_bpathIterator_init(&bpi, bmain, bmain->name, 0);
while (!BLI_bpathIterator_isDone(bpi)) {
BLI_bpathIterator_getPathExpanded(bpi, filepath_expanded);
-
+
if (!BLI_exists(filepath_expanded))
bpath_as_report(bpi, "file not found", reports);
@@ -696,33 +723,41 @@ void makeFilesRelative(Main *bmain, const char *basedir, ReportList *reports) {
struct BPathIterator *bpi;
char filepath[FILE_MAX];
const char *libpath;
-
+
/* be sure there is low chance of the path being too short */
char filepath_relative[(FILE_MAXDIR * 2) + FILE_MAXFILE];
-
+
+ if(basedir[0] == '\0') {
+ printf("makeFilesRelative: basedir='', this is a bug\n");
+ return;
+ }
+
BLI_bpathIterator_init(&bpi, bmain, basedir, 0);
while (!BLI_bpathIterator_isDone(bpi)) {
BLI_bpathIterator_getPath(bpi, filepath);
libpath= BLI_bpathIterator_getLib(bpi);
-
+
if(strncmp(filepath, "//", 2)) {
if (libpath) { /* cant make relative if we are library - TODO, LOG THIS */
linked++;
- } else { /* local data, use the blend files path */
+ }
+ else { /* local data, use the blend files path */
BLI_strncpy(filepath_relative, filepath, sizeof(filepath_relative));
/* Important BLI_cleanup_dir runs before the path is made relative
- * because it wont work for paths that start with "//../" */
+ * because it wont work for paths that start with "//../" */
BLI_cleanup_file(bpi->base_path, filepath_relative); /* fix any /foo/../foo/ */
BLI_path_rel(filepath_relative, bpi->base_path);
/* be safe and check the length */
if (BLI_bpathIterator_getPathMaxLen(bpi) <= strlen(filepath_relative)) {
bpath_as_report(bpi, "couldn't make path relative (too long)", reports);
failed++;
- } else {
+ }
+ else {
if(strncmp(filepath_relative, "//", 2)==0) {
BLI_bpathIterator_setPath(bpi, filepath_relative);
changed++;
- } else {
+ }
+ else {
bpath_as_report(bpi, "couldn't make path relative", reports);
failed++;
}
@@ -747,30 +782,38 @@ void makeFilesAbsolute(Main *bmain, const char *basedir, ReportList *reports)
struct BPathIterator *bpi;
char filepath[FILE_MAX];
const char *libpath;
-
+
/* be sure there is low chance of the path being too short */
char filepath_absolute[(FILE_MAXDIR * 2) + FILE_MAXFILE];
-
+
+ if(basedir[0] == '\0') {
+ printf("makeFilesAbsolute: basedir='', this is a bug\n");
+ return;
+ }
+
BLI_bpathIterator_init(&bpi, bmain, basedir, 0);
while (!BLI_bpathIterator_isDone(bpi)) {
BLI_bpathIterator_getPath(bpi, filepath);
libpath= BLI_bpathIterator_getLib(bpi);
-
+
if(strncmp(filepath, "//", 2)==0) {
if (libpath) { /* cant make absolute if we are library - TODO, LOG THIS */
linked++;
- } else { /* get the expanded path and check it is relative or too long */
+ }
+ else { /* get the expanded path and check it is relative or too long */
BLI_bpathIterator_getPathExpanded(bpi, filepath_absolute);
BLI_cleanup_file(bpi->base_path, filepath_absolute); /* fix any /foo/../foo/ */
/* to be safe, check the length */
if (BLI_bpathIterator_getPathMaxLen(bpi) <= strlen(filepath_absolute)) {
bpath_as_report(bpi, "couldn't make absolute (too long)", reports);
failed++;
- } else {
+ }
+ else {
if(strncmp(filepath_absolute, "//", 2)) {
BLI_bpathIterator_setPath(bpi, filepath_absolute);
changed++;
- } else {
+ }
+ else {
bpath_as_report(bpi, "couldn't make absolute", reports);
failed++;
}
@@ -801,25 +844,25 @@ static int findFileRecursive(char *filename_new, const char *dirname, const char
struct stat status;
char path[FILE_MAX];
int size;
-
+
dir= opendir(dirname);
-
+
if (dir==NULL)
return 0;
-
+
if (*filesize == -1)
*filesize= 0; /* dir opened fine */
-
+
while ((de= readdir(dir)) != NULL) {
-
+
if (strcmp(".", de->d_name)==0 || strcmp("..", de->d_name)==0)
continue;
-
+
BLI_join_dirfile(path, sizeof(path), dirname, de->d_name);
-
+
if (stat(path, &status) != 0)
continue; /* cant stat, dont bother with this file, could print debug info here */
-
+
if (S_ISREG(status.st_mode)) { /* is file */
if (strncmp(filename, de->d_name, FILE_MAX)==0) { /* name matches */
/* open the file to read its size */
@@ -829,7 +872,8 @@ static int findFileRecursive(char *filename_new, const char *dirname, const char
BLI_strncpy(filename_new, path, FILE_MAX);
}
}
- } else if (S_ISDIR(status.st_mode)) { /* is subdir */
+ }
+ else if (S_ISDIR(status.st_mode)) { /* is subdir */
if (*recur_depth <= MAX_RECUR) {
(*recur_depth)++;
findFileRecursive(filename_new, path, filename, filesize, recur_depth);
@@ -844,54 +888,55 @@ static int findFileRecursive(char *filename_new, const char *dirname, const char
/* high level function - call from fileselector */
void findMissingFiles(Main *bmain, const char *str) {
struct BPathIterator *bpi;
-
+
/* be sure there is low chance of the path being too short */
- char filepath_expanded[FILE_MAXDIR*2];
+ char filepath_expanded[FILE_MAXDIR*2];
char filepath[FILE_MAX];
const char *libpath;
int filesize, recur_depth;
-
+
char dirname[FILE_MAX], filename_new[FILE_MAX];
-
+
//XXX waitcursor( 1 );
-
+
BLI_split_dirfile(str, dirname, NULL);
-
+
BLI_bpathIterator_init(&bpi, bmain, bmain->name, 0);
-
+
while (!BLI_bpathIterator_isDone(bpi)) {
BLI_bpathIterator_getPath(bpi, filepath);
libpath= BLI_bpathIterator_getLib(bpi);
-
+
/* Check if esc was pressed because searching files can be slow */
/*XXX if (blender_test_break()) {
break;
}*/
-
+
if (libpath==NULL) {
-
+
BLI_bpathIterator_getPathExpanded(bpi, filepath_expanded);
-
+
if (!BLI_exists(filepath_expanded)) {
/* can the dir be opened? */
filesize= -1;
recur_depth= 0;
-
+
findFileRecursive(filename_new, dirname, BLI_path_basename(filepath), &filesize, &recur_depth);
if (filesize == -1) { /* could not open dir */
printf("Could not open dir \"%s\"\n", dirname);
return;
}
-
+
if (filesize > 0) {
-
- if (BLI_bpathIterator_getPathMaxLen(bpi) < strlen(filename_new)) {
+
+ if (BLI_bpathIterator_getPathMaxLen(bpi) < strlen(filename_new)) {
printf("cannot set path \"%s\" too long!", filename_new);
- } else {
+ }
+ else {
/* copy the found path into the old one */
if (G.relbase_valid)
BLI_path_rel(filename_new, bpi->base_path);
-
+
BLI_bpathIterator_setPath(bpi, filename_new);
}
}
@@ -900,6 +945,6 @@ void findMissingFiles(Main *bmain, const char *str) {
BLI_bpathIterator_step(bpi);
}
BLI_bpathIterator_free(bpi);
-
+
//XXX waitcursor( 0 );
}
diff --git a/source/blender/blenlib/intern/callbacks.c b/source/blender/blenlib/intern/callbacks.c
new file mode 100644
index 00000000000..a033e01696d
--- /dev/null
+++ b/source/blender/blenlib/intern/callbacks.c
@@ -0,0 +1,70 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Blender Foundation (2011)
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include "BLI_utildefines.h"
+#include "BLI_listbase.h"
+#include "BLI_callbacks.h"
+
+#include "MEM_guardedalloc.h"
+
+static ListBase callback_slots[BLI_CB_EVT_TOT]= {{0}};
+
+void BLI_exec_cb(struct Main *main, struct ID *self, eCbEvent evt)
+{
+ ListBase *lb= &callback_slots[evt];
+ bCallbackFuncStore *funcstore;
+
+ for(funcstore= (bCallbackFuncStore *)lb->first; funcstore; funcstore= (bCallbackFuncStore *)funcstore->next) {
+ funcstore->func(main, self, funcstore->arg);
+ }
+}
+
+void BLI_add_cb(bCallbackFuncStore *funcstore, eCbEvent evt)
+{
+ ListBase *lb= &callback_slots[evt];
+ BLI_addtail(lb, funcstore);
+}
+
+void BLI_cb_init(void)
+{
+ /* do nothing */
+}
+
+/* call on application exit */
+void BLI_cb_finalize(void)
+{
+ eCbEvent evt;
+ for(evt= 0; evt < BLI_CB_EVT_TOT; evt++) {
+ ListBase *lb= &callback_slots[evt];
+ bCallbackFuncStore *funcstore;
+ bCallbackFuncStore *funcstore_next;
+ for(funcstore= (bCallbackFuncStore *)lb->first; funcstore; funcstore= funcstore_next) {
+ funcstore_next= (bCallbackFuncStore *)funcstore->next;
+ BLI_remlink(lb, funcstore);
+ if(funcstore->alloc) {
+ MEM_freeN(funcstore);
+ }
+ }
+ }
+}
diff --git a/source/blender/blenlib/intern/edgehash.c b/source/blender/blenlib/intern/edgehash.c
index bcd6855f272..5108d1bbbe1 100644
--- a/source/blender/blenlib/intern/edgehash.c
+++ b/source/blender/blenlib/intern/edgehash.c
@@ -96,7 +96,7 @@ void BLI_edgehash_insert(EdgeHash *eh, int v0, int v1, void *val) {
eh->buckets[hash]= e;
if (++eh->nentries>eh->nbuckets*3) {
- Entry *e, **old= eh->buckets;
+ Entry **old= eh->buckets;
int i, nold= eh->nbuckets;
eh->nbuckets= hashsizes[++eh->cursize];
diff --git a/source/blender/blenlib/intern/math_base.c b/source/blender/blenlib/intern/math_base.c
index 0e122a23faa..8ad93495f6d 100644
--- a/source/blender/blenlib/intern/math_base.c
+++ b/source/blender/blenlib/intern/math_base.c
@@ -34,7 +34,7 @@
#include "BLI_math.h"
/* WARNING: MSVC compiling hack for double_round() */
-#if (WIN32 || WIN64) && !(FREE_WINDOWS)
+#if (defined(WIN32) || defined(WIN64)) && !(defined(FREE_WINDOWS))
/* from python 3.1 pymath.c */
double copysign(double x, double y)
diff --git a/source/blender/blenlib/intern/math_base_inline.c b/source/blender/blenlib/intern/math_base_inline.c
index d37f1d6c5f0..2a2b1100fd9 100644
--- a/source/blender/blenlib/intern/math_base_inline.c
+++ b/source/blender/blenlib/intern/math_base_inline.c
@@ -114,7 +114,7 @@ MINLINE float shell_angle_to_dist(const float angle)
/* used for zoom values*/
MINLINE float power_of_2(float val)
{
- return (float)pow(2.0, ceil(log((double)val) / log(2.0)));
+ return (float)pow(2.0, ceil(log((double)val) / M_LN2));
}
MINLINE float minf(float a, float b)
diff --git a/source/blender/blenlib/intern/math_color.c b/source/blender/blenlib/intern/math_color.c
index 512086f0e17..93143eb7db3 100644
--- a/source/blender/blenlib/intern/math_color.c
+++ b/source/blender/blenlib/intern/math_color.c
@@ -194,6 +194,10 @@ void hex_to_rgb(char *hexcol, float *r, float *g, float *b)
CLAMP(*g, 0.0f, 1.0f);
CLAMP(*b, 0.0f, 1.0f);
}
+ else {
+ /* avoid using un-initialized vars */
+ *r= *g= *b= 0.0f;
+ }
}
void rgb_to_hsv(float r, float g, float b, float *lh, float *ls, float *lv)
@@ -484,6 +488,11 @@ float rgb_to_grayscale(float rgb[3])
return 0.3f*rgb[0] + 0.58f*rgb[1] + 0.12f*rgb[2];
}
+unsigned char rgb_to_grayscale_byte(unsigned char rgb[3])
+{
+ return (76*(unsigned short)rgb[0] + 148*(unsigned short)rgb[1] + 31*(unsigned short)rgb[2]) / 255;
+}
+
/* ********************************* lift/gamma/gain / ASC-CDL conversion ********************************* */
void lift_gamma_gain_to_asc_cdl(float *lift, float *gamma, float *gain, float *offset, float *slope, float *power)
diff --git a/source/blender/blenlib/intern/math_geom.c b/source/blender/blenlib/intern/math_geom.c
index 500b0625177..fc329fe1bf1 100644
--- a/source/blender/blenlib/intern/math_geom.c
+++ b/source/blender/blenlib/intern/math_geom.c
@@ -37,8 +37,6 @@
#include "BLI_memarena.h"
#include "BLI_utildefines.h"
-
-
/********************************** Polygons *********************************/
void cent_tri_v3(float cent[3], const float v1[3], const float v2[3], const float v3[3])
@@ -239,7 +237,7 @@ float dist_to_line_segment_v3(const float v1[3], const float v2[3], const float
/******************************* Intersection ********************************/
/* intersect Line-Line, shorts */
-int isect_line_line_v2_short(const short v1[2], const short v2[2], const short v3[2], const short v4[2])
+int isect_line_line_v2_int(const int v1[2], const int v2[2], const int v3[2], const int v4[2])
{
float div, labda, mu;
@@ -349,6 +347,133 @@ int isect_seg_seg_v2_point(const float v1[2], const float v2[2], const float v3[
return -1;
}
+int isect_line_sphere_v3(const float l1[3], const float l2[3],
+ const float sp[3], const float r,
+ float r_p1[3], float r_p2[3])
+{
+ /* l1: coordinates (point of line)
+ * l2: coordinates (point of line)
+ * sp, r: coordinates and radius (sphere)
+ * r_p1, r_p2: return intersection coordinates
+ */
+
+
+ /* adapted for use in blender by Campbell Barton - 2011
+ *
+ * atelier iebele abel - 2001
+ * atelier@iebele.nl
+ * http://www.iebele.nl
+ *
+ * sphere_line_intersection function adapted from:
+ * http://astronomy.swin.edu.au/pbourke/geometry/sphereline
+ * Paul Bourke pbourke@swin.edu.au
+ */
+
+ const float ldir[3]= {
+ l2[0] - l1[0],
+ l2[1] - l1[1],
+ l2[2] - l1[2]
+ };
+
+ const float a= dot_v3v3(ldir, ldir);
+
+ const float b= 2.0f *
+ (ldir[0] * (l1[0] - sp[0]) +
+ ldir[1] * (l1[1] - sp[1]) +
+ ldir[2] * (l1[2] - sp[2]));
+
+ const float c=
+ dot_v3v3(sp, sp) +
+ dot_v3v3(l1, l1) -
+ (2.0f * dot_v3v3(sp, l1)) -
+ (r * r);
+
+ const float i = b * b - 4.0f * a * c;
+
+ float mu;
+
+ if (i < 0.0f) {
+ /* no intersections */
+ return 0;
+ }
+ else if (i == 0.0f) {
+ /* one intersection */
+ mu = -b / (2.0f * a);
+ madd_v3_v3v3fl(r_p1, l1, ldir, mu);
+ return 1;
+ }
+ else if (i > 0.0) {
+ const float i_sqrt= sqrt(i); /* avoid calc twice */
+
+ /* first intersection */
+ mu = (-b + i_sqrt) / (2.0f * a);
+ madd_v3_v3v3fl(r_p1, l1, ldir, mu);
+
+ /* second intersection */
+ mu = (-b - i_sqrt) / (2.0f * a);
+ madd_v3_v3v3fl(r_p2, l1, ldir, mu);
+ return 2;
+ }
+ else {
+ /* math domain error - nan */
+ return -1;
+ }
+}
+
+/* keep in sync with isect_line_sphere_v3 */
+int isect_line_sphere_v2(const float l1[2], const float l2[2],
+ const float sp[2], const float r,
+ float r_p1[2], float r_p2[2])
+{
+ const float ldir[2]= {
+ l2[0] - l1[0],
+ l2[1] - l1[1]
+ };
+
+ const float a= dot_v2v2(ldir, ldir);
+
+ const float b= 2.0f *
+ (ldir[0] * (l1[0] - sp[0]) +
+ ldir[1] * (l1[1] - sp[1]));
+
+ const float c=
+ dot_v2v2(sp, sp) +
+ dot_v2v2(l1, l1) -
+ (2.0f * dot_v2v2(sp, l1)) -
+ (r * r);
+
+ const float i = b * b - 4.0f * a * c;
+
+ float mu;
+
+ if (i < 0.0f) {
+ /* no intersections */
+ return 0;
+ }
+ else if (i == 0.0f) {
+ /* one intersection */
+ mu = -b / (2.0f * a);
+ madd_v2_v2v2fl(r_p1, l1, ldir, mu);
+ return 1;
+ }
+ else if (i > 0.0) {
+ const float i_sqrt= sqrt(i); /* avoid calc twice */
+
+ /* first intersection */
+ mu = (-b + i_sqrt) / (2.0f * a);
+ madd_v2_v2v2fl(r_p1, l1, ldir, mu);
+
+ /* second intersection */
+ mu = (-b - i_sqrt) / (2.0f * a);
+ madd_v2_v2v2fl(r_p2, l1, ldir, mu);
+ return 2;
+ }
+ else {
+ /* math domain error - nan */
+ return -1;
+ }
+}
+
/*
-1: colliniar
1: intersection
@@ -529,8 +654,9 @@ int isect_ray_tri_v3(const float p1[3], const float d[3], const float v0[3], con
int isect_ray_plane_v3(float p1[3], float d[3], float v0[3], float v1[3], float v2[3], float *lambda, int clip)
{
float p[3], s[3], e1[3], e2[3], q[3];
- float a, f, u, v;
-
+ float a, f;
+ /* float u, v; */ /*UNUSED*/
+
sub_v3_v3v3(e1, v1, v0);
sub_v3_v3v3(e2, v2, v0);
@@ -543,11 +669,11 @@ int isect_ray_plane_v3(float p1[3], float d[3], float v0[3], float v1[3], float
sub_v3_v3v3(s, p1, v0);
- u = f * dot_v3v3(s, p);
+ /* u = f * dot_v3v3(s, p); */ /*UNUSED*/
cross_v3_v3v3(q, s, e1);
- v = f * dot_v3v3(d, q);
+ /* v = f * dot_v3v3(d, q); */ /*UNUSED*/
*lambda = f * dot_v3v3(e2, q);
if (clip && (*lambda < 0.0f)) return 0;
@@ -639,6 +765,48 @@ int isect_ray_tri_threshold_v3(const float p1[3], const float d[3], const float
return 1;
}
+int isect_line_plane_v3(float out[3], const float l1[3], const float l2[3], const float plane_co[3], const float plane_no[3], const short no_flip)
+{
+ float l_vec[3]; /* l1 -> l2 normalized vector */
+ float p_no[3]; /* 'plane_no' normalized */
+ float dot;
+
+ sub_v3_v3v3(l_vec, l2, l1);
+
+ normalize_v3(l_vec);
+ normalize_v3_v3(p_no, plane_no);
+
+ dot= dot_v3v3(l_vec, p_no);
+ if(dot == 0.0f) {
+ return 0;
+ }
+ else {
+ float l1_plane[3]; /* line point aligned with the plane */
+ float dist; /* 'plane_no' aligned distance to the 'plane_co' */
+
+ /* for pradictable flipping since the plane is only used to
+ * define a direction, ignore its flipping and aligned with 'l_vec' */
+ if(dot < 0.0f) {
+ dot= -dot;
+ negate_v3(p_no);
+ }
+
+ add_v3_v3v3(l1_plane, l1, p_no);
+
+ dist = line_point_factor_v3(plane_co, l1, l1_plane);
+
+ /* treat line like a ray, when 'no_flip' is set */
+ if(no_flip && dist < 0.0f) {
+ dist= -dist;
+ }
+
+ mul_v3_fl(l_vec, dist / dot);
+
+ add_v3_v3v3(out, l1, l_vec);
+
+ return 1;
+ }
+}
/* Adapted from the paper by Kasper Fauerby */
/* "Improved Collision detection and Response" */
@@ -1074,16 +1242,22 @@ float closest_to_line_v2(float cp[2],const float p[2], const float l1[2], const
return lambda;
}
-#if 0
/* little sister we only need to know lambda */
-static float lambda_cp_line(float p[3], float l1[3], float l2[3])
+float line_point_factor_v3(const float p[3], const float l1[3], const float l2[3])
{
float h[3],u[3];
sub_v3_v3v3(u, l2, l1);
sub_v3_v3v3(h, p, l1);
return(dot_v3v3(u,h)/dot_v3v3(u,u));
}
-#endif
+
+float line_point_factor_v2(const float p[2], const float l1[2], const float l2[2])
+{
+ float h[2], u[2];
+ sub_v2_v2v2(u, l2, l1);
+ sub_v2_v2v2(h, p, l1);
+ return(dot_v2v2(u, h)/dot_v2v2(u, u));
+}
/* Similar to LineIntersectsTriangleUV, except it operates on a quad and in 2d, assumes point is in quad */
void isect_point_quad_uv_v2(const float v0[2], const float v1[2], const float v2[2], const float v3[2], const float pt[2], float *uv)
@@ -1768,6 +1942,80 @@ void interp_cubic_v3(float x[3], float v[3], const float x1[3], const float v1[3
v[2]= 3*a[2]*t2 + 2*b[2]*t + v1[2];
}
+/* unfortunately internal calculations have to be done at double precision to achieve correct/stable results. */
+
+#define IS_ZERO(x) ((x>(-DBL_EPSILON) && x<DBL_EPSILON) ? 1 : 0)
+
+/* Barycentric reverse */
+void resolve_tri_uv(float uv[2], const float st[2], const float st0[2], const float st1[2], const float st2[2])
+{
+ /* find UV such that
+ t= u*t0 + v*t1 + (1-u-v)*t2
+ u*(t0-t2) + v*(t1-t2)= t-t2 */
+ const double a= st0[0]-st2[0], b= st1[0]-st2[0];
+ const double c= st0[1]-st2[1], d= st1[1]-st2[1];
+ const double det= a*d - c*b;
+
+ if(IS_ZERO(det)==0) { /* det should never be zero since the determinant is the signed ST area of the triangle. */
+ const double x[]= {st[0]-st2[0], st[1]-st2[1]};
+
+ uv[0]= (float)((d*x[0] - b*x[1])/det);
+ uv[1]= (float)(((-c)*x[0] + a*x[1])/det);
+ } else zero_v2(uv);
+}
+
+/* bilinear reverse */
+void resolve_quad_uv(float uv[2], const float st[2], const float st0[2], const float st1[2], const float st2[2], const float st3[2])
+{
+ const double signed_area= (st0[0]*st1[1] - st0[1]*st1[0]) + (st1[0]*st2[1] - st1[1]*st2[0]) +
+ (st2[0]*st3[1] - st2[1]*st3[0]) + (st3[0]*st0[1] - st3[1]*st0[0]);
+
+ /* X is 2D cross product (determinant)
+ A= (p0-p) X (p0-p3)*/
+ const double a= (st0[0]-st[0])*(st0[1]-st3[1]) - (st0[1]-st[1])*(st0[0]-st3[0]);
+
+ /* B= ( (p0-p) X (p1-p2) + (p1-p) X (p0-p3) ) / 2 */
+ const double b= 0.5 * ( ((st0[0]-st[0])*(st1[1]-st2[1]) - (st0[1]-st[1])*(st1[0]-st2[0])) +
+ ((st1[0]-st[0])*(st0[1]-st3[1]) - (st1[1]-st[1])*(st0[0]-st3[0])) );
+
+ /* C = (p1-p) X (p1-p2) */
+ const double fC= (st1[0]-st[0])*(st1[1]-st2[1]) - (st1[1]-st[1])*(st1[0]-st2[0]);
+ const double denom= a - 2*b + fC;
+
+ // clear outputs
+ zero_v2(uv);
+
+ if(IS_ZERO(denom)!=0) {
+ const double fDen= a-fC;
+ if(IS_ZERO(fDen)==0)
+ uv[0]= (float)(a / fDen);
+ } else {
+ const double desc_sq= b*b - a*fC;
+ const double desc= sqrt(desc_sq<0.0?0.0:desc_sq);
+ const double s= signed_area>0 ? (-1.0) : 1.0;
+
+ uv[0]= (float)(( (a-b) + s * desc ) / denom);
+ }
+
+ /* find UV such that
+ fST = (1-u)(1-v)*ST0 + u*(1-v)*ST1 + u*v*ST2 + (1-u)*v*ST3 */
+ {
+ const double denom_s= (1-uv[0])*(st0[0]-st3[0]) + uv[0]*(st1[0]-st2[0]);
+ const double denom_t= (1-uv[0])*(st0[1]-st3[1]) + uv[0]*(st1[1]-st2[1]);
+ int i= 0; double denom= denom_s;
+
+ if(fabs(denom_s)<fabs(denom_t)) {
+ i= 1;
+ denom=denom_t;
+ }
+
+ if(IS_ZERO(denom)==0)
+ uv[1]= (float) (( (1-uv[0])*(st0[i]-st[i]) + uv[0]*(st1[i]-st[i]) ) / denom);
+ }
+}
+
+#undef IS_ZERO
+
/***************************** View & Projection *****************************/
void orthographic_m4(float matrix[][4], const float left, const float right, const float bottom, const float top, const float nearClip, const float farClip)
diff --git a/source/blender/blenlib/intern/math_matrix.c b/source/blender/blenlib/intern/math_matrix.c
index 9fde87d734f..5edf6e28d4c 100644
--- a/source/blender/blenlib/intern/math_matrix.c
+++ b/source/blender/blenlib/intern/math_matrix.c
@@ -340,11 +340,9 @@ void mul_mat3_m4_v3(float mat[][4], float *vec)
vec[2]= x*mat[0][2] + y*mat[1][2] + mat[2][2]*vec[2];
}
-void mul_project_m4_v4(float mat[][4], float *vec)
+void mul_project_m4_v3(float mat[][4], float vec[3])
{
- float w;
-
- w = vec[0]*mat[0][3] + vec[1]*mat[1][3] + vec[2]*mat[2][3] + mat[3][3];
+ const float w= vec[0]*mat[0][3] + vec[1]*mat[1][3] + vec[2]*mat[2][3] + mat[3][3];
mul_m4_v3(mat, vec);
vec[0] /= w;
diff --git a/source/blender/blenlib/intern/math_vector_inline.c b/source/blender/blenlib/intern/math_vector_inline.c
index 9f6a8afe2d5..e2b7c770356 100644
--- a/source/blender/blenlib/intern/math_vector_inline.c
+++ b/source/blender/blenlib/intern/math_vector_inline.c
@@ -102,6 +102,21 @@ MINLINE void swap_v4_v4(float a[4], float b[4])
/********************************* Arithmetic ********************************/
+MINLINE void add_v3_fl(float r[3], float f)
+{
+ r[0] += f;
+ r[1] += f;
+ r[2] += f;
+}
+
+MINLINE void add_v4_fl(float r[4], float f)
+{
+ r[0] += f;
+ r[1] += f;
+ r[2] += f;
+ r[3] += f;
+}
+
MINLINE void add_v2_v2(float *r, const float *a)
{
r[0] += a[0];
diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c
index 1f4b0ffdd5c..f89283178ec 100644
--- a/source/blender/blenlib/intern/path_util.c
+++ b/source/blender/blenlib/intern/path_util.c
@@ -153,7 +153,7 @@ void BLI_stringenc(char *string, const char *head, const char *tail, unsigned sh
int BLI_split_name_num(char *left, int *nr, const char *name, const char delim)
{
int a;
-
+
*nr= 0;
a= strlen(name);
memcpy(left, name, (a + 1) * sizeof(char));
@@ -216,13 +216,13 @@ int BLI_uniquename_cb(int (*unique_check)(void *, const char *), void *arg, cons
int number;
int len= BLI_split_name_num(left, &number, name, delim);
do {
- int newlen= BLI_snprintf(tempname, name_len, "%s%c%03d", left, delim, number);
+ int newlen= BLI_snprintf(tempname, name_len, "%s%c%03d", left, delim, ++number);
if(newlen >= name_len) {
len -= ((newlen + 1) - name_len);
if(len < 0) len= number= 0;
left[len]= '\0';
}
- } while(number++, unique_check(arg, tempname));
+ } while(unique_check(arg, tempname));
BLI_strncpy(name, tempname, name_len);
@@ -736,7 +736,7 @@ int BLI_path_cwd(char *path)
* cwd should contain c:\ etc on win32 so the relbase can be NULL
* relbase being NULL also prevents // being misunderstood as relative to the current
* blend file which isnt a feature we want to use in this case since were dealing
- * with a path from the command line, rather then from inside Blender */
+ * with a path from the command line, rather than from inside Blender */
char origpath[FILE_MAXDIR + FILE_MAXFILE];
BLI_strncpy(origpath, path, FILE_MAXDIR + FILE_MAXFILE);
@@ -902,10 +902,23 @@ static int get_path_local(char *targetpath, const char *folder_name, const char
return 0;
}
+static int is_portable_install(void)
+{
+ /* detect portable install by the existance of config folder */
+ const int ver= BLENDER_VERSION;
+ char path[FILE_MAX];
+
+ return get_path_local(path, "config", NULL, ver);
+}
+
static int get_path_user(char *targetpath, const char *folder_name, const char *subfolder_name, const char *envvar, const int ver)
{
char user_path[FILE_MAX];
const char *user_base_path;
+
+ /* for portable install, user path is always local */
+ if (is_portable_install())
+ return get_path_local(targetpath, folder_name, subfolder_name, ver);
user_path[0] = '\0';
@@ -1020,13 +1033,12 @@ char *BLI_get_folder(int folder_id, const char *subfolder)
switch (folder_id) {
case BLENDER_DATAFILES: /* general case */
- if (get_path_local(path, "datafiles", subfolder, ver)) break;
if (get_path_user(path, "datafiles", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
+ if (get_path_local(path, "datafiles", subfolder, ver)) break;
if (get_path_system(path, "datafiles", subfolder, "BLENDER_SYSTEM_DATAFILES", ver)) break;
return NULL;
case BLENDER_USER_DATAFILES:
- if (get_path_local(path, "datafiles", subfolder, ver)) break;
if (get_path_user(path, "datafiles", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
return NULL;
@@ -1036,34 +1048,14 @@ char *BLI_get_folder(int folder_id, const char *subfolder)
return NULL;
case BLENDER_USER_AUTOSAVE:
- if (get_path_local(path, "autosave", subfolder, ver)) break;
if (get_path_user(path, "autosave", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
return NULL;
- case BLENDER_CONFIG: /* general case */
- if (get_path_local(path, "config", subfolder, ver)) break;
- if (get_path_user(path, "config", subfolder, "BLENDER_USER_CONFIG", ver)) break;
- if (get_path_system(path, "config", subfolder, "BLENDER_SYSTEM_CONFIG", ver)) break;
- return NULL;
-
case BLENDER_USER_CONFIG:
- if (get_path_local(path, "config", subfolder, ver)) break;
if (get_path_user(path, "config", subfolder, "BLENDER_USER_CONFIG", ver)) break;
return NULL;
- case BLENDER_SYSTEM_CONFIG:
- if (get_path_local(path, "config", subfolder, ver)) break;
- if (get_path_system(path, "config", subfolder, "BLENDER_SYSTEM_CONFIG", ver)) break;
- return NULL;
-
- case BLENDER_SCRIPTS: /* general case */
- if (get_path_local(path, "scripts", subfolder, ver)) break;
- if (get_path_user(path, "scripts", subfolder, "BLENDER_USER_SCRIPTS", ver)) break;
- if (get_path_system(path, "scripts", subfolder, "BLENDER_SYSTEM_SCRIPTS", ver)) break;
- return NULL;
-
case BLENDER_USER_SCRIPTS:
- if (get_path_local(path, "scripts", subfolder, ver)) break;
if (get_path_user(path, "scripts", subfolder, "BLENDER_USER_SCRIPTS", ver)) break;
return NULL;
@@ -1072,11 +1064,6 @@ char *BLI_get_folder(int folder_id, const char *subfolder)
if (get_path_system(path, "scripts", subfolder, "BLENDER_SYSTEM_SCRIPTS", ver)) break;
return NULL;
- case BLENDER_PYTHON: /* general case */
- if (get_path_local(path, "python", subfolder, ver)) break;
- if (get_path_system(path, "python", subfolder, "BLENDER_SYSTEM_PYTHON", ver)) break;
- return NULL;
-
case BLENDER_SYSTEM_PYTHON:
if (get_path_local(path, "python", subfolder, ver)) break;
if (get_path_system(path, "python", subfolder, "BLENDER_SYSTEM_PYTHON", ver)) break;
@@ -1691,10 +1678,9 @@ void BLI_where_am_i(char *fullname, const size_t maxlen, const char *name)
#ifdef _WIN32
if(GetModuleFileName(0, fullname, maxlen)) {
- GetShortPathName(fullname, fullname, maxlen);
if(!BLI_exists(fullname)) {
printf("path can't be found: \"%.*s\"\n", maxlen, fullname);
- MessageBox(NULL, "path constains invalid characters or is too long (see console)", "Error", MB_OK);
+ MessageBox(NULL, "path contains invalid characters or is too long (see console)", "Error", MB_OK);
}
return;
}
@@ -1745,18 +1731,6 @@ void BLI_where_am_i(char *fullname, const size_t maxlen, const char *name)
printf("guessing '%s' == '%s'\n", name, fullname);
}
#endif
-
-#ifdef _WIN32
- // in windows change long filename to short filename because
- // win2k doesn't know how to parse a commandline with lots of
- // spaces and double-quotes. There's another solution to this
- // with spawnv(P_WAIT, bprogname, argv) instead of system() but
- // that's even uglier
- GetShortPathName(fullname, fullname, maxlen);
-#if defined(DEBUG)
- printf("Shortname = '%s'\n", fullname);
-#endif
-#endif
}
}
diff --git a/source/blender/blenlib/intern/pbvh.c b/source/blender/blenlib/intern/pbvh.c
index 95a43a998d3..85d79ae3b85 100644
--- a/source/blender/blenlib/intern/pbvh.c
+++ b/source/blender/blenlib/intern/pbvh.c
@@ -1189,8 +1189,9 @@ void BLI_pbvh_node_get_verts(PBVH *bvh, PBVHNode *node, int **vert_indices, MVer
void BLI_pbvh_node_num_verts(PBVH *bvh, PBVHNode *node, int *uniquevert, int *totvert)
{
if(bvh->grids) {
- if(totvert) *totvert= node->totprim*bvh->gridsize*bvh->gridsize;
- if(uniquevert) *uniquevert= *totvert;
+ const int tot= node->totprim*bvh->gridsize*bvh->gridsize;
+ if(totvert) *totvert= tot;
+ if(uniquevert) *uniquevert= tot;
}
else {
if(totvert) *totvert= node->uniq_verts + node->face_verts;
@@ -1437,7 +1438,7 @@ int BLI_pbvh_node_planes_contain_AABB(PBVHNode *node, void *data)
{
float (*planes)[4] = data;
int i, axis;
- float vmin[3], vmax[3], bb_min[3], bb_max[3];
+ float vmin[3] /*, vmax[3]*/, bb_min[3], bb_max[3];
BLI_pbvh_node_get_BB(node, bb_min, bb_max);
@@ -1445,11 +1446,11 @@ int BLI_pbvh_node_planes_contain_AABB(PBVHNode *node, void *data)
for(axis = 0; axis < 3; ++axis) {
if(planes[i][axis] > 0) {
vmin[axis] = bb_min[axis];
- vmax[axis] = bb_max[axis];
+ /*vmax[axis] = bb_max[axis];*/ /*UNUSED*/
}
else {
vmin[axis] = bb_max[axis];
- vmax[axis] = bb_min[axis];
+ /*vmax[axis] = bb_min[axis];*/ /*UNUSED*/
}
}
diff --git a/source/blender/blenlib/intern/rand.c b/source/blender/blenlib/intern/rand.c
index d889c1b9bf2..9bd540e46ea 100644
--- a/source/blender/blenlib/intern/rand.c
+++ b/source/blender/blenlib/intern/rand.c
@@ -58,6 +58,8 @@ typedef unsigned long long r_uint64;
#define LOWSEED 0x330E
+extern unsigned char hash[]; // noise.c
+
/***/
struct RNG {
@@ -83,8 +85,6 @@ void rng_seed(RNG *rng, unsigned int seed) {
}
void rng_srandom(RNG *rng, unsigned int seed) {
- extern unsigned char hash[]; // noise.c
-
rng_seed(rng, seed + hash[seed & 255]);
seed= rng_getInt(rng);
rng_seed(rng, seed + hash[seed & 255]);
@@ -180,8 +180,6 @@ static RNG rng_tab[BLENDER_MAX_THREADS];
void BLI_thread_srandom(int thread, unsigned int seed)
{
- extern unsigned char hash[]; // noise.c
-
if(thread >= BLENDER_MAX_THREADS)
thread= 0;
diff --git a/source/blender/blenlib/intern/rct.c b/source/blender/blenlib/intern/rct.c
index cf65539bd68..17b07b49309 100644
--- a/source/blender/blenlib/intern/rct.c
+++ b/source/blender/blenlib/intern/rct.c
@@ -241,7 +241,7 @@ void BLI_copy_rcti_rctf(rcti *tar, const rctf *src)
void print_rctf(const char *str, rctf *rect)
{
- printf("%s: xmin %.3f, xmax %.3f, ymin %.3f, ymax %.3f (%.3fx%.3f)\n", str, rect->xmin, rect->xmax, rect->ymin, rect->xmax, rect->xmax - rect->xmin, rect->ymax - rect->ymin);
+ printf("%s: xmin %.3f, xmax %.3f, ymin %.3f, ymax %.3f (%.3fx%.3f)\n", str, rect->xmin, rect->xmax, rect->ymin, rect->ymax, rect->xmax - rect->xmin, rect->ymax - rect->ymin);
}
void print_rcti(const char *str, rcti *rect)
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c
index 423b9b99569..47a07d86e66 100644
--- a/source/blender/blenlib/intern/scanfill.c
+++ b/source/blender/blenlib/intern/scanfill.c
@@ -85,7 +85,6 @@ typedef struct PolyFill {
typedef struct ScFillVert {
EditVert *v1;
EditEdge *first,*last;
- short f,f1;
} ScFillVert;
@@ -95,9 +94,9 @@ typedef struct ScFillVert {
static ScFillVert *scdata;
-ListBase fillvertbase = {0,0};
-ListBase filledgebase = {0,0};
-ListBase fillfacebase = {0,0};
+ListBase fillvertbase = {NULL, NULL};
+ListBase filledgebase = {NULL, NULL};
+ListBase fillfacebase = {NULL, NULL};
static short cox, coy;
@@ -219,7 +218,7 @@ EditEdge *BLI_addfilledge(EditVert *v1, EditVert *v2)
return newed;
}
-static void addfillface(EditVert *v1, EditVert *v2, EditVert *v3, int mat_nr)
+static void addfillface(EditVert *v1, EditVert *v2, EditVert *v3, short mat_nr)
{
/* does not make edges */
EditFace *evl;
@@ -495,7 +494,7 @@ static void splitlist(ListBase *tempve, ListBase *temped, short nr)
}
-static void scanfill(PolyFill *pf, int mat_nr)
+static int scanfill(PolyFill *pf, short mat_nr)
{
ScFillVert *sc = NULL, *sc1;
EditVert *eve,*v1,*v2,*v3;
@@ -748,11 +747,13 @@ static void scanfill(PolyFill *pf, int mat_nr)
}
MEM_freeN(scdata);
+
+ return totface;
}
-int BLI_edgefill(int mat_nr)
+int BLI_edgefill(short mat_nr)
{
/*
- fill works with its own lists, so create that first (no faces!)
@@ -760,6 +761,7 @@ int BLI_edgefill(int mat_nr)
- struct elements xs en ys are not used here: don't hide stuff in it
- edge flag ->f becomes 2 when it's a new edge
- mode: & 1 is check for crossings, then create edges (TO DO )
+ - returns number of triangle faces added.
*/
ListBase tempve, temped;
EditVert *eve;
@@ -767,6 +769,7 @@ int BLI_edgefill(int mat_nr)
PolyFill *pflist,*pf;
float *minp, *maxp, *v1, *v2, norm[3], len;
short a,c,poly=0,ok=0,toggle=0;
+ int totfaces= 0; /* total faces added */
/* reset variables */
eve= fillvertbase.first;
@@ -1030,7 +1033,7 @@ int BLI_edgefill(int mat_nr)
for(a=0;a<poly;a++) {
if(pf->edges>1) {
splitlist(&tempve,&temped,pf->nr);
- scanfill(pf, mat_nr);
+ totfaces += scanfill(pf, mat_nr);
}
pf++;
}
@@ -1040,6 +1043,6 @@ int BLI_edgefill(int mat_nr)
/* FREE */
MEM_freeN(pflist);
- return 1;
+ return totfaces;
}
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
index e9db148e992..41eedef8835 100644
--- a/source/blender/blenlib/intern/storage.c
+++ b/source/blender/blenlib/intern/storage.c
@@ -478,7 +478,7 @@ LinkNode *BLI_read_file_as_lines(const char *name)
FILE *fp= fopen(name, "r");
LinkNode *lines= NULL;
char *buf;
- int size;
+ int64_t size;
if (!fp) return NULL;
diff --git a/source/blender/blenlib/intern/string.c b/source/blender/blenlib/intern/string.c
index ee5bd17c901..8e0314ec17f 100644
--- a/source/blender/blenlib/intern/string.c
+++ b/source/blender/blenlib/intern/string.c
@@ -212,11 +212,6 @@ char *BLI_replacestr(char *str, const char *oldText, const char *newText)
}
}
-int BLI_streq(const char *a, const char *b)
-{
- return (strcmp(a, b)==0);
-}
-
int BLI_strcaseeq(const char *a, const char *b)
{
return (BLI_strcasecmp(a, b)==0);
@@ -469,3 +464,21 @@ int BLI_utf8_invalid_strip(char *str, int length)
return tot;
}
+void BLI_ascii_strtolower(char *str, int len)
+{
+ int i;
+
+ for(i=0; i<len; i++)
+ if(str[i] >= 'A' && str[i] <= 'Z')
+ str[i] += 'a' - 'A';
+}
+
+void BLI_ascii_strtoupper(char *str, int len)
+{
+ int i;
+
+ for(i=0; i<len; i++)
+ if(str[i] >= 'a' && str[i] <= 'z')
+ str[i] -= 'a' - 'A';
+}
+
diff --git a/source/blender/blenlib/intern/uvproject.c b/source/blender/blenlib/intern/uvproject.c
index d139fb1ab71..be7682a63d4 100644
--- a/source/blender/blenlib/intern/uvproject.c
+++ b/source/blender/blenlib/intern/uvproject.c
@@ -70,7 +70,7 @@ void project_from_camera(float target[2], float source[3], UvCameraInfo *uci)
vec2d[0]= pv4[0];
vec2d[1]= pv4[2];
target[0]= angle * ((float)M_PI / uci->camangle);
- target[1]= pv4[1] / (len_v2(vec2d) * uci->camsize);
+ target[1]= pv4[1] / (len_v2(vec2d) * (uci->camsize * 2.0f));
}
}
else {
@@ -146,7 +146,11 @@ UvCameraInfo *project_camera_info(Object *ob, float (*rotmat)[4], float winx, fl
uci.camangle= lens_to_angle(camera->lens) / 2.0f;
uci.camsize= uci.do_persp ? tanf(uci.camangle) : camera->ortho_scale;
- if (invert_m4_m4(uci.caminv, ob->obmat)) {
+ /* account for scaled cameras */
+ copy_m4_m4(uci.caminv, ob->obmat);
+ normalize_m4(uci.caminv);
+
+ if (invert_m4(uci.caminv)) {
UvCameraInfo *uci_pt;
/* normal projection */
@@ -169,8 +173,8 @@ UvCameraInfo *project_camera_info(Object *ob, float (*rotmat)[4], float winx, fl
}
/* include 0.5f here to move the UVs into the center */
- uci.shiftx = 0.5f - camera->shiftx;
- uci.shifty = 0.5f - camera->shifty;
+ uci.shiftx = 0.5f - (camera->shiftx * uci.xasp);
+ uci.shifty = 0.5f - (camera->shifty * uci.yasp);
uci_pt= MEM_mallocN(sizeof(UvCameraInfo), "UvCameraInfo");
*uci_pt= uci;
diff --git a/source/blender/blenloader/BLO_readfile.h b/source/blender/blenloader/BLO_readfile.h
index 22083eda1c8..85d4b936c51 100644
--- a/source/blender/blenloader/BLO_readfile.h
+++ b/source/blender/blenloader/BLO_readfile.h
@@ -49,6 +49,8 @@ struct SpaceFile;
struct SpaceImaSel;
struct UserDef;
struct bContext;
+struct BHead;
+struct FileData;
typedef struct BlendHandle BlendHandle;
@@ -79,12 +81,12 @@ typedef struct BlendFileData {
* returns NULL and sets a report in the list if
* it cannot open the file.
*
- * @param file The path of the file to open.
+ * @param filepath The path of the file to open.
* @param reports If the return value is NULL, errors
* indicating the cause of the failure.
* @return The data of the file.
*/
-BlendFileData* BLO_read_from_file(const char *file, struct ReportList *reports);
+BlendFileData* BLO_read_from_file(const char *filepath, struct ReportList *reports);
/**
* Open a blender file from memory. The function
@@ -209,22 +211,38 @@ int BLO_has_bfile_extension(char *str);
*/
int BLO_is_a_library(const char *path, char *dir, char *group);
-struct Main* BLO_library_append_begin(const struct bContext *C, BlendHandle** bh, char *dir);
+struct Main* BLO_library_append_begin(const struct bContext *C, BlendHandle** bh, const char *filepath);
+
/**
* Link/Append a named datablock from an external blend file.
*
+ * @param mainl The main database to link from (not the active one).
+ * @param bh The blender file handle.
+ * @param idname The name of the datablock (without the 2 char ID prefix)
+ * @param idcode The kind of datablock to link.
+ * @return the appended ID when found.
+ */
+struct ID *BLO_library_append_named_part(struct Main *mainl, BlendHandle** bh, const char *idname, const int idcode);
+
+/**
+ * Link/Append a named datablock from an external blend file.
+ * optionally instance the object in the scene when the flags are set.
+ *
* @param C The context, when NULL instancing object in the scene isnt done.
* @param mainl The main database to link from (not the active one).
* @param bh The blender file handle.
- * @param name The name of the datablock (without the 2 char ID prefix)
+ * @param idname The name of the datablock (without the 2 char ID prefix)
* @param idcode The kind of datablock to link.
* @param flag Options for linking, used for instancing.
- * @return Boolean, 0 when the datablock could not be found.
+ * @return the appended ID when found.
*/
-int BLO_library_append_named_part(const struct bContext *C, struct Main *mainl, BlendHandle** bh, const char *name, int idcode, short flag);
+struct ID *BLO_library_append_named_part_ex(const struct bContext *C, struct Main *mainl, BlendHandle** bh, const char *idname, const int idcode, const short flag);
+
void BLO_library_append_end(const struct bContext *C, struct Main *mainl, BlendHandle** bh, int idcode, short flag);
+void *BLO_library_read_struct(struct FileData *fd, struct BHead *bh, const char *blockname);
+
/* deprecated */
#if 1
void BLO_script_library_append(BlendHandle **bh, char *dir, char *name, int idcode, short flag, struct Main *mainvar, struct Scene *scene, struct ReportList *reports);
diff --git a/source/blender/blenlib/intern/BLI_callbacks.h b/source/blender/blenloader/BLO_runtime.h
index ad09339e61a..920b14e92fa 100644
--- a/source/blender/blenlib/intern/BLI_callbacks.h
+++ b/source/blender/blenloader/BLO_runtime.h
@@ -1,8 +1,4 @@
/*
- * blenlib/BLI_editVert.h mar 2001 Nzc
- *
- * These callbacks are needed in the lib
- *
* $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
@@ -29,18 +25,29 @@
* Contributor(s): none yet.
*
* ***** END GPL LICENSE BLOCK *****
+ *
*/
-/** \file blender/blenlib/intern/BLI_callbacks.h
- * \ingroup bli
+#ifndef BLO_RUNTIME_H
+#define BLO_RUNTIME_H
+
+/** \file BLO_runtime.h
+ * \ingroup blenloader
*/
+#ifdef __cplusplus
+extern "C" {
+#endif
-#ifndef BLI_CALLBACKS_H
-#define BLI_CALLBACKS_H
+struct BlendFileData;
+struct ReportList;
-// This is blenlib internal only
-void callLocalErrorCallBack(const char* msg);
+int BLO_is_a_runtime(char *file);
+struct BlendFileData *BLO_read_runtime(char *file, struct ReportList *reports);
+#ifdef __cplusplus
+}
#endif
+#endif /* BLO_RUNTIME_H */
+
diff --git a/source/blender/blenloader/BLO_writefile.h b/source/blender/blenloader/BLO_writefile.h
index 651928aa6a1..5c41350a463 100644
--- a/source/blender/blenloader/BLO_writefile.h
+++ b/source/blender/blenloader/BLO_writefile.h
@@ -39,7 +39,7 @@ struct MemFile;
struct Main;
struct ReportList;
-extern int BLO_write_file(struct Main *mainvar, char *dir, int write_flags, struct ReportList *reports, int *thumb);
+extern int BLO_write_file(struct Main *mainvar, const char *filepath, int write_flags, struct ReportList *reports, int *thumb);
extern int BLO_write_file_mem(struct Main *mainvar, struct MemFile *compare, struct MemFile *current, int write_flags);
extern int BLO_write_runtime(struct Main *mainvar, const char *file, char *exename, struct ReportList *reports);
diff --git a/source/blender/blenloader/CMakeLists.txt b/source/blender/blenloader/CMakeLists.txt
index 4d8ac9bc4b6..be15b191c8a 100644
--- a/source/blender/blenloader/CMakeLists.txt
+++ b/source/blender/blenloader/CMakeLists.txt
@@ -26,23 +26,27 @@
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../makesdna
- ../readblenfile
../makesrna
../render/extern/include
../../../intern/guardedalloc
+)
+
+set(INC_SYS
${ZLIB_INCLUDE_DIRS}
)
set(SRC
intern/readblenentry.c
intern/readfile.c
+ intern/runtime.c
intern/undofile.c
intern/writefile.c
BLO_readfile.h
+ BLO_runtime.h
BLO_soundfile.h
BLO_sys_types.h
BLO_undofile.h
@@ -54,4 +58,4 @@ if(WITH_BUILDINFO)
add_definitions(-DNAN_BUILDINFO)
endif()
-blender_add_lib(bf_blenloader "${SRC}" "${INC}")
+blender_add_lib(bf_blenloader "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/blenloader/SConscript b/source/blender/blenloader/SConscript
index 695d17f0638..be9908d84e6 100644
--- a/source/blender/blenloader/SConscript
+++ b/source/blender/blenloader/SConscript
@@ -4,7 +4,7 @@ Import ('env')
sources = env.Glob('intern/*.c')
incs = '. #/intern/guardedalloc ../blenlib ../blenkernel'
-incs += ' ../makesdna ../readblenfile ../editors/include'
+incs += ' ../makesdna ../editors/include'
incs += ' ../render/extern/include ../makesrna'
incs += ' ' + env['BF_ZLIB_INC']
diff --git a/source/blender/blenloader/intern/readblenentry.c b/source/blender/blenloader/intern/readblenentry.c
index 39fab1929da..4ce5685ff18 100644
--- a/source/blender/blenloader/intern/readblenentry.c
+++ b/source/blender/blenloader/intern/readblenentry.c
@@ -62,8 +62,6 @@
#include "readfile.h"
-#include "BLO_readblenfile.h"
-
#include "BLO_sys_types.h" // needed for intptr_t
#ifdef _WIN32
@@ -150,15 +148,14 @@ LinkNode *BLO_blendhandle_get_previews(BlendHandle *bh, int ofblocktype, int *to
LinkNode *previews= NULL;
BHead *bhead;
int looking=0;
- int npreviews = 0;
PreviewImage* prv = NULL;
PreviewImage* new_prv = NULL;
int tot= 0;
for (bhead= blo_firstbhead(fd); bhead; bhead= blo_nextbhead(fd, bhead)) {
if (bhead->code==ofblocktype) {
- ID *id= (ID*) (bhead+1);
- switch(GS(id->name))
+ char *idname= bhead_id_name(fd, bhead);
+ switch(GS(idname))
{
case ID_MA: /* fall through */
case ID_TE: /* fall through */
@@ -176,31 +173,29 @@ LinkNode *BLO_blendhandle_get_previews(BlendHandle *bh, int ofblocktype, int *to
} else if (bhead->code==DATA) {
if (looking) {
if (bhead->SDNAnr == DNA_struct_find_nr(fd->filesdna, "PreviewImage") ) {
- prv = (PreviewImage*) (bhead+1);
- npreviews = 0;
- memcpy(new_prv, prv, sizeof(PreviewImage));
- if (prv->rect[0]) {
- unsigned int *rect = NULL;
- // int rectlen = 0;
- new_prv->rect[0] = MEM_callocN(new_prv->w[0]*new_prv->h[0]*sizeof(unsigned int), "prvrect");
- bhead= blo_nextbhead(fd, bhead);
- rect = (unsigned int*)(bhead+1);
- // rectlen = new_prv->w[0]*new_prv->h[0]*sizeof(unsigned int);
- memcpy(new_prv->rect[0], rect, bhead->len);
- } else {
- new_prv->rect[0] = NULL;
- }
-
- if (prv->rect[1]) {
- unsigned int *rect = NULL;
- // int rectlen = 0;
- new_prv->rect[1] = MEM_callocN(new_prv->w[1]*new_prv->h[1]*sizeof(unsigned int), "prvrect");
- bhead= blo_nextbhead(fd, bhead);
- rect = (unsigned int*)(bhead+1);
- // rectlen = new_prv->w[1]*new_prv->h[1]*sizeof(unsigned int);
- memcpy(new_prv->rect[1], rect, bhead->len);
- } else {
- new_prv->rect[1] = NULL;
+ prv = BLO_library_read_struct(fd, bhead, "PreviewImage");
+ if (prv) {
+ memcpy(new_prv, prv, sizeof(PreviewImage));
+ if (prv->rect[0]) {
+ unsigned int *rect = NULL;
+ new_prv->rect[0] = MEM_callocN(new_prv->w[0]*new_prv->h[0]*sizeof(unsigned int), "prvrect");
+ bhead= blo_nextbhead(fd, bhead);
+ rect = (unsigned int*)(bhead+1);
+ memcpy(new_prv->rect[0], rect, bhead->len);
+ } else {
+ new_prv->rect[0] = NULL;
+ }
+
+ if (prv->rect[1]) {
+ unsigned int *rect = NULL;
+ new_prv->rect[1] = MEM_callocN(new_prv->w[1]*new_prv->h[1]*sizeof(unsigned int), "prvrect");
+ bhead= blo_nextbhead(fd, bhead);
+ rect = (unsigned int*)(bhead+1);
+ memcpy(new_prv->rect[1], rect, bhead->len);
+ } else {
+ new_prv->rect[1] = NULL;
+ }
+ MEM_freeN(prv);
}
}
}
@@ -253,15 +248,15 @@ void BLO_blendhandle_close(BlendHandle *bh) {
/**********/
-BlendFileData *BLO_read_from_file(const char *file, ReportList *reports)
+BlendFileData *BLO_read_from_file(const char *filepath, ReportList *reports)
{
BlendFileData *bfd = NULL;
FileData *fd;
- fd = blo_openblenderfile(file, reports);
+ fd = blo_openblenderfile(filepath, reports);
if (fd) {
fd->reports= reports;
- bfd= blo_read_file_internal(fd, file);
+ bfd= blo_read_file_internal(fd, filepath);
blo_freefiledata(fd);
}
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 9ff30916eff..1099823a8b1 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -76,6 +76,7 @@
#include "DNA_node_types.h"
#include "DNA_object_fluidsim.h" // NT
#include "DNA_packedFile_types.h"
+#include "DNA_particle_types.h"
#include "DNA_property_types.h"
#include "DNA_text_types.h"
#include "DNA_view3d_types.h"
@@ -138,7 +139,6 @@
//XXX #include "BIF_previewrender.h" // bedlelvel, for struct RenderInfo
#include "BLO_readfile.h"
#include "BLO_undofile.h"
-#include "BLO_readblenfile.h" // streaming read pipe, for BLO_readblenfile BLO_readblenfilememory
#include "readfile.h"
@@ -489,13 +489,13 @@ static void read_file_version(FileData *fd, Main *main)
}
-static Main *blo_find_main(FileData *fd, ListBase *mainlist, const char *name, const char *relabase)
+static Main *blo_find_main(FileData *fd, ListBase *mainlist, const char *filepath, const char *relabase)
{
Main *m;
Library *lib;
char name1[FILE_MAXDIR+FILE_MAXFILE];
- strncpy(name1, name, sizeof(name1)-1);
+ BLI_strncpy(name1, filepath, sizeof(name1));
cleanup_path(relabase, name1);
// printf("blo_find_main: original in %s\n", name);
// printf("blo_find_main: converted to %s\n", name1);
@@ -513,14 +513,14 @@ static Main *blo_find_main(FileData *fd, ListBase *mainlist, const char *name, c
BLI_addtail(mainlist, m);
lib= alloc_libblock(&m->library, ID_LI, "lib");
- strncpy(lib->name, name, sizeof(lib->name)-1);
+ strncpy(lib->name, filepath, sizeof(lib->name)-1);
BLI_strncpy(lib->filepath, name1, sizeof(lib->filepath));
m->curlib= lib;
read_file_version(fd, m);
- if(G.f & G_DEBUG) printf("blo_find_main: added new lib %s\n", name);
+ if(G.f & G_DEBUG) printf("blo_find_main: added new lib %s\n", filepath);
return m;
}
@@ -946,14 +946,14 @@ static FileData *blo_decode_and_check(FileData *fd, ReportList *reports)
/* cannot be called with relative paths anymore! */
/* on each new library added, it now checks for the current FileData and expands relativeness */
-FileData *blo_openblenderfile(const char *name, ReportList *reports)
+FileData *blo_openblenderfile(const char *filepath, ReportList *reports)
{
gzFile gzfile;
errno= 0;
- gzfile= gzopen(name, "rb");
+ gzfile= gzopen(filepath, "rb");
if (gzfile == (gzFile)Z_NULL) {
- BKE_reportf(reports, RPT_ERROR, "Unable to open \"%s\": %s.", name, errno ? strerror(errno) : "Unknown error reading file");
+ BKE_reportf(reports, RPT_ERROR, "Unable to open \"%s\": %s.", filepath, errno ? strerror(errno) : "Unknown error reading file");
return NULL;
} else {
FileData *fd = filedata_new();
@@ -961,7 +961,7 @@ FileData *blo_openblenderfile(const char *name, ReportList *reports)
fd->read = fd_read_gzip_from_file;
/* needed for library_append and read_libraries */
- BLI_strncpy(fd->relabase, name, sizeof(fd->relabase));
+ BLI_strncpy(fd->relabase, filepath, sizeof(fd->relabase));
return blo_decode_and_check(fd, reports);
}
@@ -1084,7 +1084,7 @@ int BLO_is_a_library(const char *path, char *dir, char *group)
/* now we know that we are in a blend file and it is safe to
assume that gp actually points to a group */
- if (BLI_streq("Screen", gp)==0)
+ if (strcmp("Screen", gp)!=0)
BLI_strncpy(group, gp, GROUP_MAX);
}
return 1;
@@ -1585,7 +1585,7 @@ static PreviewImage *direct_link_preview_image(FileData *fd, PreviewImage *old_p
if (prv) {
int i;
- for (i=0; i < PREVIEW_MIPMAPS; ++i) {
+ for (i=0; i < NUM_ICON_SIZES; ++i) {
if (prv->rect[i]) {
prv->rect[i] = newdataadr(fd, prv->rect[i]);
}
@@ -1738,6 +1738,12 @@ static void direct_link_fmodifiers(FileData *fd, ListBase *list)
FMod_Generator *data= (FMod_Generator *)fcm->data;
data->coefficients= newdataadr(fd, data->coefficients);
+
+ if(fd->flags & FD_FLAGS_SWITCH_ENDIAN) {
+ unsigned int a;
+ for(a = 0; a < data->arraysize; a++)
+ SWITCH_INT(data->coefficients[a]);
+ }
}
break;
case FMODIFIER_TYPE_ENVELOPE:
@@ -2089,7 +2095,7 @@ static void lib_nodetree_do_versions_group(bNodeTree *ntree)
for (node=ntree->nodes.first; node; node=node->next) {
if (node->type==NODE_GROUP) {
bNodeTree *ngroup= (bNodeTree*)node->id;
- if (ngroup->flag & NTREE_DO_VERSIONS)
+ if (ngroup && (ngroup->flag & NTREE_DO_VERSIONS))
lib_node_do_versions_group(node);
}
}
@@ -2117,7 +2123,7 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
}
{
- int has_old_groups=0;
+ /*int has_old_groups=0;*/ /*UNUSED*/
/* XXX this should actually be part of do_versions, but since we need
* finished library linking, it is not possible there. Instead in do_versions
* we have set the NTREE_DO_VERSIONS flag, so at this point we can do the
@@ -2127,7 +2133,7 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
if (ntree->flag & NTREE_DO_VERSIONS) {
/* this adds copies and links from all unlinked internal sockets to group inputs/outputs. */
nodeGroupExposeAllSockets(ntree);
- has_old_groups = 1;
+ /*has_old_groups = 1;*/ /*UNUSED*/
}
}
/* now verify all types in material trees, groups are set OK now */
@@ -3157,9 +3163,37 @@ static void lib_link_particlesettings(FileData *fd, Main *main)
if(part->effector_weights)
part->effector_weights->group = newlibadr(fd, part->id.lib, part->effector_weights->group);
- dw = part->dupliweights.first;
- for(; dw; dw=dw->next)
- dw->ob = newlibadr(fd, part->id.lib, dw->ob);
+ if(part->dupliweights.first) {
+ int index_ok = 0;
+ /* check for old files without indices (all indexes 0) */
+ dw = part->dupliweights.first;
+ if(part->dupliweights.first == part->dupliweights.last) {
+ /* special case for only one object in the group */
+ index_ok = 1;
+ }
+ else {
+ for(; dw; dw=dw->next) {
+ if(dw->index > 0) {
+ index_ok = 1;
+ break;
+ }
+ }
+ }
+
+ if(index_ok) {
+ /* if we have indexes, let's use them */
+ dw = part->dupliweights.first;
+ for(; dw; dw=dw->next) {
+ GroupObject *go = (GroupObject *)BLI_findlink(&part->dup_group->gobject, dw->index);
+ dw->ob = go ? go->ob : NULL;
+ }
+ }
+ else {
+ /* otherwise try to get objects from own library (won't work on library linked groups) */
+ for(; dw; dw=dw->next)
+ dw->ob = newlibadr(fd, part->id.lib, dw->ob);
+ }
+ }
if(part->boids) {
BoidState *state = part->boids->states.first;
@@ -3534,6 +3568,18 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh)
mesh->mr->edge_creases= newdataadr(fd, mesh->mr->edge_creases);
mesh->mr->verts = newdataadr(fd, mesh->mr->verts);
+
+ /* If mesh has the same number of vertices as the
+ highest multires level, load the current mesh verts
+ into multires and discard the old data. Needed
+ because some saved files either do not have a verts
+ array, or the verts array contains out-of-date
+ data. */
+ if(mesh->totvert == ((MultiresLevel*)mesh->mr->levels.last)->totvert) {
+ if(mesh->mr->verts)
+ MEM_freeN(mesh->mr->verts);
+ mesh->mr->verts = MEM_dupallocN(mesh->mvert);
+ }
for(; lvl; lvl= lvl->next) {
lvl->verts= newdataadr(fd, lvl->verts);
@@ -3543,16 +3589,11 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh)
}
}
- /* Gracefully handle corrupted mesh */
+ /* if multires is present but has no valid vertex data,
+ there's no way to recover it; silently remove multires */
if(mesh->mr && !mesh->mr->verts) {
- /* If totals match, simply load the current mesh verts into multires */
- if(mesh->totvert == ((MultiresLevel*)mesh->mr->levels.last)->totvert)
- mesh->mr->verts = MEM_dupallocN(mesh->mvert);
- else {
- /* Otherwise, we can't recover the data, silently remove multires */
- multires_free(mesh->mr);
- mesh->mr = NULL;
- }
+ multires_free(mesh->mr);
+ mesh->mr = NULL;
}
if((fd->flags & FD_FLAGS_SWITCH_ENDIAN) && mesh->tface) {
@@ -3839,26 +3880,10 @@ static void lib_link_object(FileData *fd, Main *main)
if(smd && smd->type == MOD_SMOKE_TYPE_DOMAIN && smd->domain)
{
- smd->domain->coll_group = newlibadr_us(fd, ob->id.lib, smd->domain->coll_group);
- smd->domain->eff_group = newlibadr_us(fd, ob->id.lib, smd->domain->eff_group);
- smd->domain->fluid_group = newlibadr_us(fd, ob->id.lib, smd->domain->fluid_group);
-
- smd->domain->effector_weights->group = newlibadr(fd, ob->id.lib, smd->domain->effector_weights->group);
-
smd->domain->flags |= MOD_SMOKE_FILE_LOAD; /* flag for refreshing the simulation after loading */
}
}
- {
- ClothModifierData *clmd = (ClothModifierData *)modifiers_findByType(ob, eModifierType_Cloth);
-
- if(clmd)
- {
- clmd->sim_parms->effector_weights->group = newlibadr(fd, ob->id.lib, clmd->sim_parms->effector_weights->group);
- clmd->coll_parms->group= newlibadr(fd, ob->id.lib, clmd->coll_parms->group);
- }
- }
-
/* texture field */
if(ob->pd)
lib_link_partdeflect(fd, &ob->id, ob->pd);
@@ -3969,7 +3994,7 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb)
fluidmd->fss= newdataadr(fd, fluidmd->fss);
fluidmd->fss->fmd= fluidmd;
- fluidmd->fss->meshSurfNormals = NULL;
+ fluidmd->fss->meshVelocities = NULL;
}
else if (md->type==eModifierType_Smoke) {
SmokeModifierData *smd = (SmokeModifierData*) md;
@@ -4142,9 +4167,8 @@ static void direct_link_object(FileData *fd, Object *ob)
bActuator *act;
PythonComponent *pc;
ComponentProperty *cprop;
- int a;
- /* weak weak... this was only meant as draw flag, now is used in give_base too */
+ /* weak weak... this was only meant as draw flag, now is used in give_base_to_objects too */
ob->flag &= ~OB_FROMGROUP;
/* loading saved files with editmode enabled works, but for undo we like
@@ -4242,6 +4266,7 @@ static void direct_link_object(FileData *fd, Object *ob)
sb->keys= newdataadr(fd, sb->keys);
test_pointer_array(fd, (void **)&sb->keys);
if(sb->keys) {
+ int a;
for(a=0; a<sb->totkey; a++) {
sb->keys[a]= newdataadr(fd, sb->keys[a]);
}
@@ -4349,6 +4374,7 @@ static void direct_link_object(FileData *fd, Object *ob)
MEM_freeN(hook);
}
+ ob->customdata_mask= 0;
ob->bb= NULL;
ob->derivedDeform= NULL;
ob->derivedFinal= NULL;
@@ -4856,7 +4882,6 @@ static void lib_link_screen(FileData *fd, Main *main)
else if(sl->spacetype==SPACE_FILE) {
SpaceFile *sfile= (SpaceFile *)sl;
sfile->files= NULL;
- sfile->params= NULL;
sfile->op= NULL;
sfile->layout= NULL;
sfile->folders_prev= NULL;
@@ -5469,7 +5494,7 @@ static void direct_link_screen(FileData *fd, bScreen *sc)
sfile->files= NULL;
sfile->layout= NULL;
sfile->op= NULL;
- sfile->params= NULL;
+ sfile->params= newdataadr(fd, sfile->params);
}
}
@@ -5529,20 +5554,31 @@ static void lib_link_library(FileData *UNUSED(fd), Main *main)
}
}
-/* Always call this once you havbe loaded new library data to set the relative paths correctly in relation to the blend file */
+/* Always call this once you have loaded new library data to set the relative paths correctly in relation to the blend file */
static void fix_relpaths_library(const char *basepath, Main *main)
{
Library *lib;
/* BLO_read_from_memory uses a blank filename */
- if (basepath==NULL || basepath[0] == '\0')
- return;
-
- for(lib= main->library.first; lib; lib= lib->id.next) {
- /* Libraries store both relative and abs paths, recreate relative paths,
- * relative to the blend file since indirectly linked libs will be relative to their direct linked library */
- if (strncmp(lib->name, "//", 2)==0) { /* if this is relative to begin with? */
- strncpy(lib->name, lib->filepath, sizeof(lib->name));
- BLI_path_rel(lib->name, basepath);
+ if (basepath==NULL || basepath[0] == '\0') {
+ for(lib= main->library.first; lib; lib= lib->id.next) {
+ /* when loading a linked lib into a file which has not been saved,
+ * there is nothing we can be relative to, so instead we need to make
+ * it absolute. This can happen when appending an object with a relative
+ * link into an unsaved blend file. See [#27405].
+ * The remap relative option will make it relative again on save - campbell */
+ if (strncmp(lib->name, "//", 2)==0) {
+ strncpy(lib->name, lib->filepath, sizeof(lib->name));
+ }
+ }
+ }
+ else {
+ for(lib= main->library.first; lib; lib= lib->id.next) {
+ /* Libraries store both relative and abs paths, recreate relative paths,
+ * relative to the blend file since indirectly linked libs will be relative to their direct linked library */
+ if (strncmp(lib->name, "//", 2)==0) { /* if this is relative to begin with? */
+ strncpy(lib->name, lib->filepath, sizeof(lib->name));
+ BLI_path_rel(lib->name, basepath);
+ }
}
}
}
@@ -5659,11 +5695,10 @@ static BHead *read_data_into_oldnewmap(FileData *fd, BHead *bhead, const char *a
while(bhead && bhead->code==DATA) {
void *data;
#if 0
- /* XXX DUMB DEBUGGING OPTION TO GIVE NAMES for guarded malloc errors */
+ /* XXX DUMB DEBUGGING OPTION TO GIVE NAMES for guarded malloc errors */
short *sp= fd->filesdna->structs[bhead->SDNAnr];
- char *allocname = fd->filesdna->types[ sp[0] ];
char *tmp= malloc(100);
-
+ allocname = fd->filesdna->types[ sp[0] ];
strcpy(tmp, allocname);
data= read_struct(fd, bhead, tmp);
#else
@@ -6281,7 +6316,7 @@ static void area_add_header_region(ScrArea *sa, ListBase *lb)
BLI_addtail(lb, ar);
ar->regiontype= RGN_TYPE_HEADER;
- if(sa->headertype==1)
+ if(sa->headertype==HEADERDOWN)
ar->alignment= RGN_ALIGN_BOTTOM;
else
ar->alignment= RGN_ALIGN_TOP;
@@ -8385,7 +8420,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
ArmatureModifierData *amd = (ArmatureModifierData*) md;
if(amd->object && amd->deformflag==0) {
Object *oba= newlibadr(fd, lib, amd->object);
- bArmature *arm= newlibadr(fd, lib, oba->data);
+ arm= newlibadr(fd, lib, oba->data);
amd->deformflag= arm->deformflag;
}
}
@@ -8532,7 +8567,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
int a;
for(a=0; a<MAX_MTEX; a++) {
if(ma->mtex[a] && ma->mtex[a]->tex) {
- Tex *tex= newlibadr(fd, lib, ma->mtex[a]->tex);
+ tex= newlibadr(fd, lib, ma->mtex[a]->tex);
if(tex && tex->type==TEX_STUCCI)
ma->mtex[a]->mapto &= ~(MAP_COL|MAP_SPEC|MAP_REF);
}
@@ -8724,7 +8759,6 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
/* now, subversion control! */
if(main->subversionfile < 3) {
- bScreen *sc;
Image *ima;
Tex *tex;
@@ -9641,7 +9675,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
fluidmd->fss->lastgoodframe = INT_MAX;
fluidmd->fss->flag = 0;
- fluidmd->fss->meshSurfNormals = NULL;
+ fluidmd->fss->meshVelocities = NULL;
}
}
}
@@ -9700,7 +9734,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
nu->radius_interp = 3;
/* resolu and resolv are now used differently for surfaces
- * rather then using the resolution to define the entire number of divisions,
+ * rather than using the resolution to define the entire number of divisions,
* use it for the number of divisions per segment
*/
if (nu->pntsv > 1) {
@@ -10140,7 +10174,6 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
ToolSettings *ts;
//PTCacheID *pid;
//ListBase pidlist;
- int a;
for(ob = main->object.first; ob; ob = ob->id.next) {
//BKE_ptcache_ids_from_object(&pidlist, ob);
@@ -10179,6 +10212,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
for(ma = main->mat.first; ma; ma = ma->id.next) {
+ int a;
if(ma->mode & MA_WIRE) {
ma->material_type= MA_TYPE_WIRE;
ma->mode &= ~MA_WIRE;
@@ -10264,8 +10298,6 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
sce->gm.attrib = sce->r.attrib;
//Stereo
- sce->gm.xsch = sce->r.xsch;
- sce->gm.ysch = sce->r.ysch;
sce->gm.stereomode = sce->r.stereomode;
/* reassigning stereomode NO_STEREO and DOME to a separeted flag*/
if (sce->gm.stereomode == 1){ //1 = STEREO_NOSTEREO
@@ -11505,7 +11537,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
do_version_bone_roll_256(bone);
/* fix for objects which have zero dquat's
- * since this is multiplied with the quat rather then added */
+ * since this is multiplied with the quat rather than added */
for(ob= main->object.first; ob; ob= ob->id.next) {
if(is_zero_v4(ob->dquat)) {
unit_qt(ob->dquat);
@@ -11612,9 +11644,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
}
- /* put compatibility code here until next subversion bump */
-
- {
+ if (main->versionfile < 258 || (main->versionfile == 258 && main->subversionfile < 1)){
/* screen view2d settings were not properly initialized [#27164]
* v2d->scroll caused the bug but best reset other values too which are in old blend files only.
* need to make less ugly - possibly an iterator? */
@@ -11666,6 +11696,35 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
}
}
+
+ {
+ /* add default value for behind strength of camera actuator */
+ Object *ob;
+ bActuator *act;
+ for(ob = main->object.first; ob; ob= ob->id.next) {
+ for(act= ob->actuators.first; act; act= act->next) {
+ if (act->type == ACT_CAMERA) {
+ bCameraActuator *ba= act->data;
+
+ ba->damping = 1.0/32.0;
+ }
+ }
+ }
+ }
+
+ {
+ ParticleSettings *part;
+ for(part = main->particle.first; part; part = part->id.next) {
+ /* Initialize particle billboard scale */
+ part->bb_size[0] = part->bb_size[1] = 1.0f;
+ }
+ }
+ }
+
+ /* put compatibility code here until next subversion bump */
+
+ {
+
}
/* WATCH IT!!!: pointers from libdata have not been converted yet here! */
@@ -11748,7 +11807,8 @@ static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead)
// XXX
user->uifonts.first= user->uifonts.last= NULL;
- user->uistyles.first= user->uistyles.last= NULL;
+
+ link_list(fd, &user->uistyles);
/* free fd->datamap again */
oldnewmap_free_unused(fd->datamap);
@@ -11757,7 +11817,7 @@ static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead)
return bhead;
}
-BlendFileData *blo_read_file_internal(FileData *fd, const char *filename)
+BlendFileData *blo_read_file_internal(FileData *fd, const char *filepath)
{
BHead *bhead= blo_firstbhead(fd);
BlendFileData *bfd;
@@ -11769,7 +11829,7 @@ BlendFileData *blo_read_file_internal(FileData *fd, const char *filename)
bfd->main->versionfile= fd->fileversion;
bfd->type= BLENFILETYPE_BLEND;
- strncpy(bfd->main->name, filename, sizeof(bfd->main->name)-1);
+ strncpy(bfd->main->name, filepath, sizeof(bfd->main->name)-1);
while(bhead) {
switch(bhead->code) {
@@ -12208,6 +12268,9 @@ static void expand_material(FileData *fd, Main *mainvar, Material *ma)
if(ma->nodetree)
expand_nodetree(fd, mainvar, ma->nodetree);
+
+ if(ma->group)
+ expand_doit(fd, mainvar, ma->group);
}
static void expand_lamp(FileData *fd, Main *mainvar, Lamp *la)
@@ -12722,11 +12785,11 @@ static int object_in_any_scene(Main *mainvar, Object *ob)
return 0;
}
-/* when *lib set, it also does objects that were in the appended group */
-static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, int is_group_append)
+static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const short idcode, const short is_link)
{
Object *ob;
Base *base;
+ const short is_group_append= (is_link==FALSE && idcode==ID_GR);
/* give all objects which are LIB_INDIRECT a base, or for a group when *lib has been set */
for(ob= mainvar->object.first; ob; ob= ob->id.next) {
@@ -12742,12 +12805,32 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, int is
int do_it= 0;
- if(ob->id.us==0)
+ if(ob->id.us==0) {
do_it= 1;
- else if(ob->id.us==1 && lib)
- if(ob->id.lib==lib && (ob->flag & OB_FROMGROUP) && object_in_any_scene(mainvar, ob)==0)
- do_it= 1;
-
+ }
+ else if(idcode==ID_GR) {
+ if(ob->id.us==1 && is_link==FALSE && ob->id.lib==lib) {
+ if((ob->flag & OB_FROMGROUP) && object_in_any_scene(mainvar, ob)==0) {
+ do_it= 1;
+ }
+ }
+ }
+ else {
+ /* when appending, make sure any indirectly loaded objects
+ * get a base else they cant be accessed at all [#27437] */
+ if(ob->id.us==1 && is_link==FALSE && ob->id.lib==lib) {
+
+ /* we may be appending from a scene where we already
+ * have a linked object which is not in any scene [#27616] */
+ if((ob->id.flag & LIB_PRE_EXISTING)==0) {
+
+ if(object_in_any_scene(mainvar, ob)==0) {
+ do_it= 1;
+ }
+ }
+ }
+ }
+
if(do_it) {
base= MEM_callocN( sizeof(Base), "add_ext_base");
BLI_addtail(&(sce->base), base);
@@ -12764,7 +12847,6 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, int is
}
}
-/* when *lib set, it also does objects that were in the appended group */
static void give_base_to_groups(Main *mainvar, Scene *scene)
{
Group *group;
@@ -12796,29 +12878,22 @@ static void give_base_to_groups(Main *mainvar, Scene *scene)
}
/* returns true if the item was found
- * but it may already have already been appended/linked */
-static int append_named_part(const bContext *C, Main *mainl, FileData *fd, const char *name, int idcode, short flag)
+* but it may already have already been appended/linked */
+static ID *append_named_part(Main *mainl, FileData *fd, const char *idname, const short idcode)
{
- Scene *scene= CTX_data_scene(C);
- Object *ob;
- Base *base;
BHead *bhead;
- ID *id;
- int endloop=0;
+ ID *id= NULL;
int found=0;
- bhead = blo_firstbhead(fd);
- while(bhead && endloop==0) {
+ for(bhead= blo_firstbhead(fd); bhead; bhead= blo_nextbhead(fd, bhead)) {
+ if(bhead->code==idcode) {
+ const char *idname_test= bhead_id_name(fd, bhead);
- if(bhead->code==ENDB) endloop= 1;
- else if(bhead->code==idcode) {
- char *idname= bhead_id_name(fd, bhead);
-
- if(strcmp(idname+2, name)==0) {
+ if(strcmp(idname_test + 2, idname)==0) {
found= 1;
id= is_yet_read(fd, mainl, bhead);
if(id==NULL) {
- read_libblock(fd, mainl, bhead, LIB_TESTEXT, NULL);
+ read_libblock(fd, mainl, bhead, LIB_TESTEXT, &id);
}
else {
printf("append: already linked\n");
@@ -12829,47 +12904,67 @@ static int append_named_part(const bContext *C, Main *mainl, FileData *fd, const
}
}
- if(idcode==ID_OB && scene) { /* loose object: give a base */
- base= MEM_callocN( sizeof(Base), "app_nam_part");
- BLI_addtail(&scene->base, base);
-
- if(id==NULL) ob= mainl->object.last;
- else ob= (Object *)id;
-
- /* link at active layer (view3d->lay if in context, else scene->lay */
- if((flag & FILE_ACTIVELAY)) {
- View3D *v3d = CTX_wm_view3d(C);
- if (v3d) {
- ob->lay = v3d->layact;
- } else {
- ob->lay = scene->lay;
- }
- }
- ob->mode= 0;
- base->lay= ob->lay;
- base->object= ob;
- ob->id.us++;
-
- if(flag & FILE_AUTOSELECT) {
- base->flag |= SELECT;
- base->object->flag = base->flag;
- /* do NOT make base active here! screws up GUI stuff, if you want it do it on src/ level */
- }
- }
- endloop= 1;
+ break;
}
}
+ else if(bhead->code==ENDB) {
+ break;
+ }
+ }
- bhead = blo_nextbhead(fd, bhead);
+ /* if we found the id but the id is NULL, this is really bad */
+ BLI_assert((found != 0) == (id != NULL));
+
+ return found ? id : NULL;
+}
+
+static ID *append_named_part_ex(const bContext *C, Main *mainl, FileData *fd, const char *idname, const int idcode, const int flag)
+{
+ ID *id= append_named_part(mainl, fd, idname, idcode);
+
+ if(id && (GS(id->name) == ID_OB)) { /* loose object: give a base */
+ Scene *scene= CTX_data_scene(C); /* can be NULL */
+ if(scene) {
+ Base *base;
+ Object *ob;
+
+ base= MEM_callocN( sizeof(Base), "app_nam_part");
+ BLI_addtail(&scene->base, base);
+
+ ob= (Object *)id;
+
+ /* link at active layer (view3d->lay if in context, else scene->lay */
+ if((flag & FILE_ACTIVELAY)) {
+ View3D *v3d = CTX_wm_view3d(C);
+ ob->lay = v3d ? v3d->layact : scene->lay;
+ }
+
+ ob->mode= 0;
+ base->lay= ob->lay;
+ base->object= ob;
+ ob->id.us++;
+
+ if(flag & FILE_AUTOSELECT) {
+ base->flag |= SELECT;
+ base->object->flag = base->flag;
+ /* do NOT make base active here! screws up GUI stuff, if you want it do it on src/ level */
+ }
+ }
}
- return found;
+ return id;
+}
+
+ID *BLO_library_append_named_part(Main *mainl, BlendHandle** bh, const char *idname, const int idcode)
+{
+ FileData *fd= (FileData*)(*bh);
+ return append_named_part(mainl, fd, idname, idcode);
}
-int BLO_library_append_named_part(const bContext *C, Main *mainl, BlendHandle** bh, const char *name, int idcode, short flag)
+ID *BLO_library_append_named_part_ex(const bContext *C, Main *mainl, BlendHandle** bh, const char *idname, const int idcode, const short flag)
{
FileData *fd= (FileData*)(*bh);
- return append_named_part(C, mainl, fd, name, idcode, flag);
+ return append_named_part_ex(C, mainl, fd, idname, idcode, flag);
}
static void append_id_part(FileData *fd, Main *mainvar, ID *id, ID **id_r)
@@ -12878,8 +12973,8 @@ static void append_id_part(FileData *fd, Main *mainvar, ID *id, ID **id_r)
for (bhead= blo_firstbhead(fd); bhead; bhead= blo_nextbhead(fd, bhead)) {
if (bhead->code == GS(id->name)) {
-
- if (BLI_streq(id->name, bhead_id_name(fd, bhead))) {
+
+ if (strcmp(id->name, bhead_id_name(fd, bhead))==0) {
id->flag &= ~LIB_READ;
id->flag |= LIB_TEST;
// printf("read lib block %s\n", id->name);
@@ -12894,7 +12989,7 @@ static void append_id_part(FileData *fd, Main *mainvar, ID *id, ID **id_r)
/* common routine to append/link something from a library */
-static Main* library_append_begin(const bContext *C, FileData **fd, char *dir)
+static Main* library_append_begin(const bContext *C, FileData **fd, const char *filepath)
{
Main *mainvar= CTX_data_main(C);
Main *mainl;
@@ -12903,7 +12998,7 @@ static Main* library_append_begin(const bContext *C, FileData **fd, char *dir)
blo_split_main(&(*fd)->mainlist, mainvar);
/* which one do we need? */
- mainl = blo_find_main(*fd, &(*fd)->mainlist, dir, G.main->name);
+ mainl = blo_find_main(*fd, &(*fd)->mainlist, filepath, G.main->name);
/* needed for do_version */
mainl->versionfile= (*fd)->fileversion;
@@ -12912,10 +13007,10 @@ static Main* library_append_begin(const bContext *C, FileData **fd, char *dir)
return mainl;
}
-Main* BLO_library_append_begin(const bContext *C, BlendHandle** bh, char *dir)
+Main* BLO_library_append_begin(const bContext *C, BlendHandle** bh, const char *filepath)
{
FileData *fd= (FileData*)(*bh);
- return library_append_begin(C, &fd, dir);
+ return library_append_begin(C, &fd, filepath);
}
static void append_do_cursor(Scene *scene, Library *curlib, short flag)
@@ -13000,23 +13095,21 @@ static void library_append_end(const bContext *C, Main *mainl, FileData **fd, in
/* give a base to loose objects. If group append, do it for objects too */
if(scene) {
+ const short is_link= (flag & FILE_LINK) != 0;
if(idcode==ID_SCE) {
/* dont instance anything when linking in scenes, assume the scene its self instances the data */
}
- else if(idcode==ID_GR) {
- if (flag & FILE_LINK) {
- give_base_to_objects(mainvar, scene, NULL, 0);
- } else {
- give_base_to_objects(mainvar, scene, curlib, 1);
- }
+ else {
+ give_base_to_objects(mainvar, scene, curlib, idcode, is_link);
if (flag & FILE_GROUP_INSTANCE) {
give_base_to_groups(mainvar, scene);
}
- } else {
- give_base_to_objects(mainvar, scene, NULL, 0);
}
}
+ else {
+ printf("library_append_end, scene is NULL (objects wont get bases)\n");
+ }
/* has been removed... erm, why? s..ton) */
/* 20040907: looks like they are give base already in append_named_part(); -Nathan L */
/* 20041208: put back. It only linked direct, not indirect objects (ton) */
@@ -13037,30 +13130,10 @@ void BLO_library_append_end(const bContext *C, struct Main *mainl, BlendHandle**
*bh= (BlendHandle*)fd;
}
-/* this is a version of BLO_library_append needed by the BPython API, so
- * scripts can load data from .blend files -- see Blender.Library module.*/
-/* append to scene */
-/* this should probably be moved into the Python code anyway */
-/* tentatively removed, Python should be able to use the split functions too: */
-/* BLO_library_append_begin, BLO_library_append_end, BLO_library_append_named_part */
-#if 0
-void BLO_script_library_append(BlendHandle **bh, char *dir, const char *name,
- int idcode, short flag, Main *mainvar, Scene *scene, ReportList *reports)
+void *BLO_library_read_struct(FileData *fd, BHead *bh, const char *blockname)
{
- FileData *fd= (FileData*)(*bh);
-
- /* try to append the requested object */
- fd->reports= reports;
- library_append(mainvar, scene, name, dir, idcode, 0, &fd, NULL, 0, flag );
- if(fd) fd->reports= NULL;
-
- /* do we need to do this? */
- if(scene)
- DAG_scene_sort(bmain, scene);
-
- *bh= (BlendHandle*)fd;
+ return read_struct(fd, bh, blockname);
}
-#endif
/* ************* READ LIBRARY ************** */
diff --git a/source/blender/blenloader/intern/readfile.h b/source/blender/blenloader/intern/readfile.h
index b409e456fe6..d4e42ccde16 100644
--- a/source/blender/blenloader/intern/readfile.h
+++ b/source/blender/blenloader/intern/readfile.h
@@ -113,9 +113,9 @@ struct Main;
void blo_join_main(ListBase *mainlist);
void blo_split_main(ListBase *mainlist, struct Main *main);
-BlendFileData *blo_read_file_internal(FileData *fd, const char *filename);
+BlendFileData *blo_read_file_internal(FileData *fd, const char *filepath);
-FileData *blo_openblenderfile(const char *name, struct ReportList *reports);
+FileData *blo_openblenderfile(const char *filepath, struct ReportList *reports);
FileData *blo_openblendermemory(void *buffer, int buffersize, struct ReportList *reports);
FileData *blo_openblendermemfile(struct MemFile *memfile, struct ReportList *reports);
diff --git a/source/blender/readblenfile/intern/BLO_readblenfile.c b/source/blender/blenloader/intern/runtime.c
index 351de4bd215..f5308b5ea5c 100644
--- a/source/blender/readblenfile/intern/BLO_readblenfile.c
+++ b/source/blender/blenloader/intern/runtime.c
@@ -27,11 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*
*/
+
/**
- * \file BLO_readblenfile.c
- * \brief This file handles the loading if .blend files
- * \ingroup blo
+ * \file runtime.c
+ * \brief This file handles the loading of .blend files embedded in runtimes
+ * \ingroup blenloader
*/
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -46,90 +48,56 @@
#endif
#include "BLO_readfile.h"
-#include "BLO_readblenfile.h"
+#include "BLO_runtime.h"
#include "BKE_blender.h"
#include "BKE_report.h"
+#include "BKE_utildefines.h"
#include "BLI_blenlib.h"
-/** Magic number for the file header */
-const char *headerMagic = "BLENDFI";
-
-/**
- * \brief Set the version number into the array.
- *
- * version contains the integer number of the version
- * i.e. 227
- * array[1] gets set to the div of the number by 100 i.e. 2
- * array[2] gets the remainder i.e. 27
- */
-void BLO_setversionnumber(char array[4], int version)
-{
- memset(array, 0, sizeof(char)*4);
-
- array[1] = version / 100;
- array[2] = version % 100;
-}
-
-/**
- * Sets version number using BLENDER_VERSION
- * Function that calls the setversionnumber(char[],int) with
- * the BLENDER_VERSION constant and sets the resultant array
- * with the version parts.
- * see BLO_setversionnumber(char[],int).
- */
-void BLO_setcurrentversionnumber(char array[4])
-{
- BLO_setversionnumber(array, BLENDER_VERSION);
-}
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
/* Runtime reading */
-static int handle_read_msb_int(int handle) {
+static int handle_read_msb_int(int handle)
+{
unsigned char buf[4];
- if (read(handle, buf, 4)!=4)
+ if(read(handle, buf, 4) != 4)
return -1;
- else
- return (buf[0]<<24) + (buf[1]<<16) + (buf[2]<<8) + (buf[3]<<0);
+
+ return (buf[0]<<24) + (buf[1]<<16) + (buf[2]<<8) + (buf[3]<<0);
}
-int blo_is_a_runtime(char *path) {
+int BLO_is_a_runtime(char *path)
+{
int res= 0, fd= open(path, O_BINARY|O_RDONLY, 0);
int datastart;
char buf[8];
- if (fd==-1)
+ if(fd==-1)
goto cleanup;
lseek(fd, -12, SEEK_END);
datastart= handle_read_msb_int(fd);
- if (datastart==-1)
+
+ if(datastart==-1)
goto cleanup;
- else if (read(fd, buf, 8)!=8)
+ else if(read(fd, buf, 8)!=8)
goto cleanup;
- else if (memcmp(buf, "BRUNTIME", 8)!=0)
+ else if(memcmp(buf, "BRUNTIME", 8)!=0)
goto cleanup;
else
res= 1;
cleanup:
- if (fd!=-1)
+ if(fd!=-1)
close(fd);
return res;
}
-BlendFileData *
-blo_read_runtime(
- char *path,
- ReportList *reports)
+BlendFileData *BLO_read_runtime(char *path, ReportList *reports)
{
BlendFileData *bfd= NULL;
size_t actualsize;
@@ -137,7 +105,8 @@ blo_read_runtime(
char buf[8];
fd= open(path, O_BINARY|O_RDONLY, 0);
- if (fd==-1) {
+
+ if(fd==-1) {
BKE_reportf(reports, RPT_ERROR, "Unable to open \"%s\": %s.", path, strerror(errno));
goto cleanup;
}
@@ -147,16 +116,20 @@ blo_read_runtime(
lseek(fd, -12, SEEK_END);
datastart= handle_read_msb_int(fd);
- if (datastart==-1) {
+
+ if(datastart==-1) {
BKE_reportf(reports, RPT_ERROR, "Unable to read \"%s\" (problem seeking)", path);
goto cleanup;
- } else if (read(fd, buf, 8)!=8) {
+ }
+ else if(read(fd, buf, 8)!=8) {
BKE_reportf(reports, RPT_ERROR, "Unable to read \"%s\" (truncated header)", path);
goto cleanup;
- } else if (memcmp(buf, "BRUNTIME", 8)!=0) {
+ }
+ else if(memcmp(buf, "BRUNTIME", 8)!=0) {
BKE_reportf(reports, RPT_ERROR, "Unable to read \"%s\" (not a blend file)", path);
goto cleanup;
- } else {
+ }
+ else {
//printf("starting to read runtime from %s at datastart %d\n", path, datastart);
lseek(fd, datastart, SEEK_SET);
bfd = blo_read_blendafterruntime(fd, path, actualsize-datastart, reports);
@@ -164,7 +137,7 @@ blo_read_runtime(
}
cleanup:
- if (fd!=-1)
+ if(fd!=-1)
close(fd);
return bfd;
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 28074b52322..3f2abd8355c 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -724,7 +724,8 @@ static void write_userdef(WriteData *wd)
wmKeyMap *keymap;
wmKeyMapItem *kmi;
bAddon *bext;
-
+ uiStyle *style;
+
writestruct(wd, USER, "UserDef", 1, &U);
for(btheme= U.themes.first; btheme; btheme=btheme->next)
@@ -743,6 +744,10 @@ static void write_userdef(WriteData *wd)
for(bext= U.addons.first; bext; bext=bext->next)
writestruct(wd, DATA, "bAddon", 1, bext);
+
+ for(style= U.uistyles.first; style; style= style->next) {
+ writestruct(wd, DATA, "uiStyle", 1, style);
+ }
}
static void write_boid_state(WriteData *wd, BoidState *state)
@@ -833,6 +838,7 @@ static void write_particlesettings(WriteData *wd, ListBase *idbase)
{
ParticleSettings *part;
ParticleDupliWeight *dw;
+ GroupObject *go;
int a;
part= idbase->first;
@@ -847,8 +853,16 @@ static void write_particlesettings(WriteData *wd, ListBase *idbase)
writestruct(wd, DATA, "EffectorWeights", 1, part->effector_weights);
dw = part->dupliweights.first;
- for(; dw; dw=dw->next)
+ for(; dw; dw=dw->next) {
+ /* update indices */
+ dw->index = 0;
+ go = part->dup_group->gobject.first;
+ while(go && go->ob != dw->ob) {
+ go=go->next;
+ dw->index++;
+ }
writestruct(wd, DATA, "ParticleDupliWeight", 1, dw);
+ }
if(part->boids && part->phystype == PART_PHYS_BOIDS) {
BoidState *state = part->boids->states.first;
@@ -2130,7 +2144,11 @@ static void write_screens(WriteData *wd, ListBase *scrbase)
writestruct(wd, DATA, "SpaceButs", 1, sl);
}
else if(sl->spacetype==SPACE_FILE) {
+ SpaceFile *sfile= (SpaceFile *)sl;
+
writestruct(wd, DATA, "SpaceFile", 1, sl);
+ if(sfile->params)
+ writestruct(wd, DATA, "FileSelectParams", 1, sfile->params);
}
else if(sl->spacetype==SPACE_SEQ) {
writestruct(wd, DATA, "SpaceSeq", 1, sl);
@@ -2162,8 +2180,8 @@ static void write_screens(WriteData *wd, ListBase *scrbase)
writestruct(wd, DATA, "SpaceText", 1, sl);
}
else if(sl->spacetype==SPACE_SCRIPT) {
- SpaceScript *sc = (SpaceScript*)sl;
- sc->but_refs = NULL;
+ SpaceScript *scr = (SpaceScript*)sl;
+ scr->but_refs = NULL;
writestruct(wd, DATA, "SpaceScript", 1, sl);
}
else if(sl->spacetype==SPACE_ACTION) {
@@ -2552,15 +2570,50 @@ static int write_file_handle(Main *mainvar, int handle, MemFile *compare, MemFil
return endwrite(wd);
}
+/* do reverse file history: .blend1 -> .blend2, .blend -> .blend1 */
+/* return: success(0), failure(1) */
+static int do_history(const char *name, ReportList *reports)
+{
+ char tempname1[FILE_MAXDIR+FILE_MAXFILE], tempname2[FILE_MAXDIR+FILE_MAXFILE];
+ int hisnr= U.versions;
+
+ if(U.versions==0) return 0;
+ if(strlen(name)<2) {
+ BKE_report(reports, RPT_ERROR, "Unable to make version backup: filename too short");
+ return 1;
+ }
+
+ while(hisnr > 1) {
+ BLI_snprintf(tempname1, sizeof(tempname1), "%s%d", name, hisnr-1);
+ BLI_snprintf(tempname2, sizeof(tempname2), "%s%d", name, hisnr);
+
+ if(BLI_rename(tempname1, tempname2)) {
+ BKE_report(reports, RPT_ERROR, "Unable to make version backup");
+ return 1;
+ }
+ hisnr--;
+ }
+
+ /* is needed when hisnr==1 */
+ BLI_snprintf(tempname1, sizeof(tempname1), "%s%d", name, hisnr);
+
+ if(BLI_rename(name, tempname1)) {
+ BKE_report(reports, RPT_ERROR, "Unable to make version backup");
+ return 1;
+ }
+
+ return 0;
+}
+
/* return: success (1) */
-int BLO_write_file(Main *mainvar, char *dir, int write_flags, ReportList *reports, int *thumb)
+int BLO_write_file(Main *mainvar, const char *filepath, int write_flags, ReportList *reports, int *thumb)
{
char userfilename[FILE_MAXDIR+FILE_MAXFILE];
char tempname[FILE_MAXDIR+FILE_MAXFILE+1];
int file, err, write_user_block;
/* open temporary file, so we preserve the original in case we crash */
- BLI_snprintf(tempname, sizeof(tempname), "%s@", dir);
+ BLI_snprintf(tempname, sizeof(tempname), "%s@", filepath);
file = open(tempname,O_BINARY+O_WRONLY+O_CREAT+O_TRUNC, 0666);
if(file == -1) {
@@ -2572,68 +2625,83 @@ int BLO_write_file(Main *mainvar, char *dir, int write_flags, ReportList *report
if(write_flags & G_FILE_RELATIVE_REMAP) {
char dir1[FILE_MAXDIR+FILE_MAXFILE];
char dir2[FILE_MAXDIR+FILE_MAXFILE];
- BLI_split_dirfile(dir, dir1, NULL);
+ BLI_split_dirfile(filepath, dir1, NULL);
BLI_split_dirfile(mainvar->name, dir2, NULL);
/* just incase there is some subtle difference */
BLI_cleanup_dir(mainvar->name, dir1);
BLI_cleanup_dir(mainvar->name, dir2);
- if(strcmp(dir1, dir2)==0)
+ if(BLI_path_cmp(dir1, dir2)==0) {
write_flags &= ~G_FILE_RELATIVE_REMAP;
- else
- makeFilesAbsolute(mainvar, G.main->name, NULL);
+ }
+ else {
+ if(G.relbase_valid) {
+ /* blend may not have been saved before. Tn this case
+ * we should not have any relative paths, but if there
+ * is somehow, an invalid or empty G.main->name it will
+ * print an error, dont try make the absolute in this case. */
+ makeFilesAbsolute(mainvar, G.main->name, NULL);
+ }
+ }
}
BLI_make_file_string(G.main->name, userfilename, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_STARTUP_FILE);
- write_user_block= (BLI_path_cmp(dir, userfilename) == 0);
+ write_user_block= (BLI_path_cmp(filepath, userfilename) == 0);
if(write_flags & G_FILE_RELATIVE_REMAP)
- makeFilesRelative(mainvar, dir, NULL); /* note, making relative to something OTHER then G.main->name */
+ makeFilesRelative(mainvar, filepath, NULL); /* note, making relative to something OTHER then G.main->name */
/* actual file writing */
err= write_file_handle(mainvar, file, NULL,NULL, write_user_block, write_flags, thumb);
close(file);
- /* rename/compress */
- if(!err) {
- if(write_flags & G_FILE_COMPRESS) {
- /* compressed files have the same ending as regular files... only from 2.4!!! */
- char gzname[FILE_MAXDIR+FILE_MAXFILE+4];
- int ret;
+ if (err) {
+ BKE_report(reports, RPT_ERROR, strerror(errno));
+ remove(tempname);
- /* first write compressed to separate @.gz */
- BLI_snprintf(gzname, sizeof(gzname), "%s@.gz", dir);
- ret = BLI_gzip(tempname, gzname);
-
- if(0==ret) {
- /* now rename to real file name, and delete temp @ file too */
- if(BLI_rename(gzname, dir) != 0) {
- BKE_report(reports, RPT_ERROR, "Can't change old file. File saved with @.");
- return 0;
- }
+ return 0;
+ }
- BLI_delete(tempname, 0, 0);
- }
- else if(-1==ret) {
- BKE_report(reports, RPT_ERROR, "Failed opening .gz file.");
- return 0;
- }
- else if(-2==ret) {
- BKE_report(reports, RPT_ERROR, "Failed opening .blend file for compression.");
+ /* file save to temporary file was successful */
+ /* now do reverse file history (move .blend1 -> .blend2, .blend -> .blend1) */
+ if (write_flags & G_FILE_HISTORY) {
+ int err_hist = do_history(filepath, reports);
+ if (err_hist) {
+ BKE_report(reports, RPT_ERROR, "Version backup failed. File saved with @");
+ return 0;
+ }
+ }
+
+ if(write_flags & G_FILE_COMPRESS) {
+ /* compressed files have the same ending as regular files... only from 2.4!!! */
+ char gzname[FILE_MAXDIR+FILE_MAXFILE+4];
+ int ret;
+
+ /* first write compressed to separate @.gz */
+ BLI_snprintf(gzname, sizeof(gzname), "%s@.gz", filepath);
+ ret = BLI_gzip(tempname, gzname);
+
+ if(0==ret) {
+ /* now rename to real file name, and delete temp @ file too */
+ if(BLI_rename(gzname, filepath) != 0) {
+ BKE_report(reports, RPT_ERROR, "Can't change old file. File saved with @.");
return 0;
}
+
+ BLI_delete(tempname, 0, 0);
}
- else if(BLI_rename(tempname, dir) != 0) {
- BKE_report(reports, RPT_ERROR, "Can't change old file. File saved with @");
+ else if(-1==ret) {
+ BKE_report(reports, RPT_ERROR, "Failed opening .gz file.");
+ return 0;
+ }
+ else if(-2==ret) {
+ BKE_report(reports, RPT_ERROR, "Failed opening .blend file for compression.");
return 0;
}
-
}
- else {
- BKE_report(reports, RPT_ERROR, strerror(errno));
- remove(tempname);
-
+ else if(BLI_rename(tempname, filepath) != 0) {
+ BKE_report(reports, RPT_ERROR, "Can't change old file. File saved with @");
return 0;
}
diff --git a/source/blender/blenpluginapi/CMakeLists.txt b/source/blender/blenpluginapi/CMakeLists.txt
index 1e3a3398861..9d398291b85 100644
--- a/source/blender/blenpluginapi/CMakeLists.txt
+++ b/source/blender/blenpluginapi/CMakeLists.txt
@@ -28,12 +28,16 @@ set(INC
.
..
../blenlib
+ ../blenloader
../imbuf
../makesdna
- ../blenloader
../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
intern/pluginapi.c
@@ -46,8 +50,10 @@ set(SRC
)
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ${QUICKTIME_INC})
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
-blender_add_lib(bf_blenpluginapi "${SRC}" "${INC}")
+blender_add_lib(bf_blenpluginapi "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/blenpluginapi/iff.h b/source/blender/blenpluginapi/iff.h
index bccc7bdb769..77cdf889ea5 100644
--- a/source/blender/blenpluginapi/iff.h
+++ b/source/blender/blenpluginapi/iff.h
@@ -113,9 +113,10 @@ LIBIMPORT void interlace(struct ImBuf *ib);
LIBIMPORT void IMB_rectcpy(struct ImBuf *dbuf, struct ImBuf *sbuf,
int destx, int desty, int srcx, int srcy, int width, int height);
-LIBIMPORT void IMB_rectfill(struct ImBuf *drect, float col[4]);
+LIBIMPORT void IMB_rectfill(struct ImBuf *drect, const float col[4]);
LIBIMPORT void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, int y2);
LIBIMPORT void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2);
+LIBIMPORT void IMB_rectfill_alpha(struct ImBuf *drect, const float value);
#endif /* IFF_H */
diff --git a/source/blender/collada/AnimationImporter.cpp b/source/blender/collada/AnimationImporter.cpp
index a166324bde7..336f127b11f 100644
--- a/source/blender/collada/AnimationImporter.cpp
+++ b/source/blender/collada/AnimationImporter.cpp
@@ -53,12 +53,12 @@
#include <algorithm>
-// use this for retrieving bone names, since these must be unique
+// first try node name, if not available (since is optional), fall back to original id
template<class T>
static const char *bc_get_joint_name(T *node)
{
- const std::string& id = node->getOriginalId();
- return id.size() ? id.c_str() : node->getName().c_str();
+ const std::string& id = node->getName();
+ return id.size() ? id.c_str() : node->getOriginalId().c_str();
}
FCurve *AnimationImporter::create_fcurve(int array_index, const char *rna_path)
@@ -827,7 +827,8 @@ void AnimationImporter::evaluate_transform_at_frame(float mat[4][4], COLLADAFW::
unit_m4(m);
- if (!evaluate_animation(tm, m, fra, node->getOriginalId().c_str())) {
+ std::string nodename = node->getName().size() ? node->getName() : node->getOriginalId();
+ if (!evaluate_animation(tm, m, fra, nodename.c_str())) {
switch (type) {
case COLLADAFW::Transformation::ROTATE:
dae_rotate_to_mat4(tm, m);
diff --git a/source/blender/collada/ArmatureExporter.cpp b/source/blender/collada/ArmatureExporter.cpp
index 90c3cfbb001..ad9098db3d8 100644
--- a/source/blender/collada/ArmatureExporter.cpp
+++ b/source/blender/collada/ArmatureExporter.cpp
@@ -89,14 +89,14 @@ void ArmatureExporter::add_instance_controller(Object *ob)
ins.add();
}
-void ArmatureExporter::export_controllers(Scene *sce)
+void ArmatureExporter::export_controllers(Scene *sce, bool export_selected)
{
scene = sce;
openLibrary();
GeometryFunctor gf;
- gf.forEachMeshObjectInScene<ArmatureExporter>(sce, *this);
+ gf.forEachMeshObjectInScene<ArmatureExporter>(sce, *this, export_selected);
closeLibrary();
}
@@ -351,12 +351,17 @@ std::string ArmatureExporter::add_inv_bind_mats_source(Object *ob_arm, ListBase
bPoseChannel *pchan = get_pose_channel(pose, def->name);
+ float pose_mat[4][4];
float mat[4][4];
float world[4][4];
float inv_bind_mat[4][4];
+ // pose_mat is the same as pchan->pose_mat, but without the rotation
+ unit_m4(pose_mat);
+ translate_m4(pose_mat, pchan->pose_head[0], pchan->pose_head[1], pchan->pose_head[2]);
+
// make world-space matrix, pose_mat is armature-space
- mul_m4_m4m4(world, pchan->pose_mat, ob_arm->obmat);
+ mul_m4_m4m4(world, pose_mat, ob_arm->obmat);
invert_m4_m4(mat, world);
converter.mat4_to_dae(inv_bind_mat, mat);
diff --git a/source/blender/collada/ArmatureExporter.h b/source/blender/collada/ArmatureExporter.h
index f72e5244a36..f4488942f7b 100644
--- a/source/blender/collada/ArmatureExporter.h
+++ b/source/blender/collada/ArmatureExporter.h
@@ -65,7 +65,7 @@ public:
void add_instance_controller(Object *ob);
- void export_controllers(Scene *sce);
+ void export_controllers(Scene *sce, bool export_selected);
void operator()(Object *ob);
diff --git a/source/blender/collada/ArmatureImporter.cpp b/source/blender/collada/ArmatureImporter.cpp
index 8987e4ffaf7..8b8e89fd4f5 100644
--- a/source/blender/collada/ArmatureImporter.cpp
+++ b/source/blender/collada/ArmatureImporter.cpp
@@ -42,12 +42,12 @@
#include "ArmatureImporter.h"
-// use this for retrieving bone names, since these must be unique
+// use node name, or fall back to original id if not present (name is optional)
template<class T>
static const char *bc_get_joint_name(T *node)
{
- const std::string& id = node->getOriginalId();
- return id.size() ? id.c_str() : node->getName().c_str();
+ const std::string& id = node->getName();
+ return id.size() ? id.c_str() : node->getOriginalId().c_str();
}
ArmatureImporter::ArmatureImporter(UnitConverter *conv, MeshImporterBase *mesh, AnimationImporterBase *anim, Scene *sce) :
diff --git a/source/blender/collada/CMakeLists.txt b/source/blender/collada/CMakeLists.txt
index fa7bfee8ee5..e2a68d19682 100644
--- a/source/blender/collada/CMakeLists.txt
+++ b/source/blender/collada/CMakeLists.txt
@@ -28,31 +28,35 @@ remove_strict_flags()
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
- ../windowmanager
+ ../editors/include
../makesdna
../makesrna
- ../editors/include
+ ../windowmanager
../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
if(APPLE)
- list(APPEND INC
- ${OPENCOLLADA_INC}/COLLADAStreamWriter
- ${OPENCOLLADA_INC}/COLLADABaseUtils
- ${OPENCOLLADA_INC}/COLLADAFramework
- ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader
- ${OPENCOLLADA_INC}/GeneratedSaxParser
+ list(APPEND INC_SYS
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADAStreamWriter
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADABaseUtils
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADAFramework
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADASaxFrameworkLoader
+ ${OPENCOLLADA_INCLUDE_DIR}/GeneratedSaxParser
)
else()
- list(APPEND INC
- ${OPENCOLLADA_INC}/COLLADAStreamWriter/include
- ${OPENCOLLADA_INC}/COLLADABaseUtils/include
- ${OPENCOLLADA_INC}/COLLADAFramework/include
- ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader/include
- ${OPENCOLLADA_INC}/GeneratedSaxParser/include
+ list(APPEND INC_SYS
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADAStreamWriter/include
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADABaseUtils/include
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADAFramework/include
+ ${OPENCOLLADA_INCLUDE_DIR}/COLLADASaxFrameworkLoader/include
+ ${OPENCOLLADA_INCLUDE_DIR}/GeneratedSaxParser/include
)
endif()
@@ -111,4 +115,4 @@ if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
endif()
-blender_add_lib(bf_collada "${SRC}" "${INC}")
+blender_add_lib(bf_collada "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/collada/CameraExporter.cpp b/source/blender/collada/CameraExporter.cpp
index f8fa0fd55c0..6ce9eb782d3 100644
--- a/source/blender/collada/CameraExporter.cpp
+++ b/source/blender/collada/CameraExporter.cpp
@@ -42,24 +42,25 @@
CamerasExporter::CamerasExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryCameras(sw){}
template<class Functor>
-void forEachCameraObjectInScene(Scene *sce, Functor &f)
+void forEachCameraObjectInScene(Scene *sce, Functor &f, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
- if (ob->type == OB_CAMERA && ob->data) {
+ if (ob->type == OB_CAMERA && ob->data
+ && !(export_selected && !(ob->flag & SELECT))) {
f(ob, sce);
}
base= base->next;
}
}
-void CamerasExporter::exportCameras(Scene *sce)
+void CamerasExporter::exportCameras(Scene *sce, bool export_selected)
{
openLibrary();
- forEachCameraObjectInScene(sce, *this);
+ forEachCameraObjectInScene(sce, *this, export_selected);
closeLibrary();
}
diff --git a/source/blender/collada/CameraExporter.h b/source/blender/collada/CameraExporter.h
index 922eaf6b1d0..999a6ddd3e5 100644
--- a/source/blender/collada/CameraExporter.h
+++ b/source/blender/collada/CameraExporter.h
@@ -40,7 +40,7 @@ class CamerasExporter: COLLADASW::LibraryCameras
{
public:
CamerasExporter(COLLADASW::StreamWriter *sw);
- void exportCameras(Scene *sce);
+ void exportCameras(Scene *sce, bool export_selected);
void operator()(Object *ob, Scene *sce);
};
diff --git a/source/blender/collada/DocumentExporter.cpp b/source/blender/collada/DocumentExporter.cpp
index 00daac60281..e6e0953680c 100644
--- a/source/blender/collada/DocumentExporter.cpp
+++ b/source/blender/collada/DocumentExporter.cpp
@@ -170,7 +170,7 @@ public:
SceneExporter(COLLADASW::StreamWriter *sw, ArmatureExporter *arm) : COLLADASW::LibraryVisualScenes(sw),
arm_exporter(arm) {}
- void exportScene(Scene *sce) {
+ void exportScene(Scene *sce, bool export_selected) {
// <library_visual_scenes> <visual_scene>
std::string id_naming = id_name(sce);
openVisualScene(translate_id(id_naming), id_naming);
@@ -179,7 +179,7 @@ public:
//forEachMeshObjectInScene(sce, *this);
//forEachCameraObjectInScene(sce, *this);
//forEachLampObjectInScene(sce, *this);
- exportHierarchy(sce);
+ exportHierarchy(sce, export_selected);
// </visual_scene> </library_visual_scenes>
closeVisualScene();
@@ -187,7 +187,7 @@ public:
closeLibrary();
}
- void exportHierarchy(Scene *sce)
+ void exportHierarchy(Scene *sce, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
@@ -198,8 +198,11 @@ public:
case OB_MESH:
case OB_CAMERA:
case OB_LAMP:
- case OB_EMPTY:
case OB_ARMATURE:
+ case OB_EMPTY:
+ if (export_selected && !(ob->flag & SELECT)) {
+ break;
+ }
// write nodes....
writeNodes(ob, sce);
break;
@@ -929,7 +932,7 @@ protected:
}
};
-void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
+void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename, bool selected)
{
PointerRNA sceneptr, unit_settings;
PropertyRNA *system; /* unused , *scale; */
@@ -1011,31 +1014,31 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
// <library_cameras>
if(has_object_type(sce, OB_CAMERA)) {
CamerasExporter ce(&sw);
- ce.exportCameras(sce);
+ ce.exportCameras(sce, selected);
}
// <library_lights>
if(has_object_type(sce, OB_LAMP)) {
LightsExporter le(&sw);
- le.exportLights(sce);
+ le.exportLights(sce, selected);
}
// <library_images>
ImagesExporter ie(&sw, filename);
- ie.exportImages(sce);
+ ie.exportImages(sce, selected);
// <library_effects>
EffectsExporter ee(&sw);
- ee.exportEffects(sce);
+ ee.exportEffects(sce, selected);
// <library_materials>
MaterialsExporter me(&sw);
- me.exportMaterials(sce);
+ me.exportMaterials(sce, selected);
// <library_geometries>
if(has_object_type(sce, OB_MESH)) {
GeometryExporter ge(&sw);
- ge.exportGeom(sce);
+ ge.exportGeom(sce, selected);
}
// <library_animations>
@@ -1045,12 +1048,12 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
// <library_controllers>
ArmatureExporter arm_exporter(&sw);
if(has_object_type(sce, OB_ARMATURE)) {
- arm_exporter.export_controllers(sce);
+ arm_exporter.export_controllers(sce, selected);
}
// <library_visual_scenes>
SceneExporter se(&sw, &arm_exporter);
- se.exportScene(sce);
+ se.exportScene(sce, selected);
// <scene>
std::string scene_name(translate_id(id_name(sce)));
diff --git a/source/blender/collada/DocumentExporter.h b/source/blender/collada/DocumentExporter.h
index 9d6d2114cd8..923313c4ed9 100644
--- a/source/blender/collada/DocumentExporter.h
+++ b/source/blender/collada/DocumentExporter.h
@@ -34,7 +34,7 @@ struct Scene;
class DocumentExporter
{
public:
- void exportCurrentScene(Scene *sce, const char* filename);
+ void exportCurrentScene(Scene *sce, const char* filename, bool selected);
void exportScenes(const char* filename);
};
diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp
index 72341e1caa2..78ee444bb4e 100644
--- a/source/blender/collada/DocumentImporter.cpp
+++ b/source/blender/collada/DocumentImporter.cpp
@@ -309,7 +309,7 @@ Object* DocumentImporter::create_lamp_object(COLLADAFW::InstanceLight *lamp, Sce
return ob;
}
-Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Node *source_node, COLLADAFW::Node *instance_node, Scene *sce, bool is_library_node)
+Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Node *source_node, COLLADAFW::Node *instance_node, Scene *sce, Object *par_ob, bool is_library_node)
{
Object *obn = copy_object(source_ob);
obn->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
@@ -353,10 +353,10 @@ Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Nod
Object *new_child = NULL;
if (inodes.getCount()) { // \todo loop through instance nodes
const COLLADAFW::UniqueId& id = inodes[0]->getInstanciatedObjectId();
- new_child = create_instance_node(object_map[id], node_map[id], child_node, sce, is_library_node);
+ new_child = create_instance_node(object_map[id], node_map[id], child_node, sce, NULL, is_library_node);
}
else {
- new_child = create_instance_node(object_map[child_id], child_node, NULL, sce, is_library_node);
+ new_child = create_instance_node(object_map[child_id], child_node, NULL, sce, NULL, is_library_node);
}
bc_set_parent(new_child, obn, mContext, true);
@@ -367,7 +367,12 @@ Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Nod
// when we have an instance_node, don't return the object, because otherwise
// its correct location gets overwritten in write_node(). Fixes bug #26012.
- if(instance_node) return NULL;
+ if(instance_node) {
+ if (par_ob && obn)
+ bc_set_parent(obn, par_ob, mContext);
+ return NULL;
+ }
+
else return obn;
}
@@ -385,11 +390,11 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
COLLADAFW::InstanceLightPointerArray &lamp = node->getInstanceLights();
COLLADAFW::InstanceControllerPointerArray &controller = node->getInstanceControllers();
COLLADAFW::InstanceNodePointerArray &inst_node = node->getInstanceNodes();
- int geom_done = 0;
- int camera_done = 0;
- int lamp_done = 0;
- int controller_done = 0;
- int inst_done = 0;
+ size_t geom_done = 0;
+ size_t camera_done = 0;
+ size_t lamp_done = 0;
+ size_t controller_done = 0;
+ size_t inst_done = 0;
// XXX linking object with the first <instance_geometry>, though a node may have more of them...
// maybe join multiple <instance_...> meshes into 1, and link object with it? not sure...
@@ -423,7 +428,7 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
Object *source_ob = object_map[node_id];
COLLADAFW::Node *source_node = node_map[node_id];
- ob = create_instance_node(source_ob, source_node, node, sce, is_library_node);
+ ob = create_instance_node(source_ob, source_node, node, sce, par, is_library_node);
}
++inst_done;
}
@@ -436,7 +441,8 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
// check if object is not NULL
if (!ob) return;
- rename_id(&ob->id, (char*)node->getOriginalId().c_str());
+ std::string nodename = node->getName().size() ? node->getName() : node->getOriginalId();
+ rename_id(&ob->id, (char*)nodename.c_str());
object_map[node->getUniqueId()] = ob;
node_map[node->getUniqueId()] = node;
@@ -518,7 +524,7 @@ bool DocumentImporter::writeMaterial( const COLLADAFW::Material* cmat )
if(mImportStage!=General)
return true;
- const std::string& str_mat_id = cmat->getOriginalId();
+ const std::string& str_mat_id = cmat->getName().size() ? cmat->getName() : cmat->getOriginalId();
Material *ma = add_material((char*)str_mat_id.c_str());
this->uid_effect_map[cmat->getInstantiatedEffect()] = ma;
@@ -670,6 +676,18 @@ void DocumentImporter::write_profile_COMMON(COLLADAFW::EffectCommon *ef, Materia
i++;
}
}
+
+ if(ef->getOpacity().isTexture()) {
+ COLLADAFW::Texture ctex = ef->getOpacity().getTexture();
+ mtex = create_texture(ef, ctex, ma, i, texindex_texarray_map);
+ if(mtex != NULL) {
+ mtex->mapto = MAP_ALPHA;
+ mtex->tex->imaflag |= TEX_USEALPHA;
+ i++;
+ ma->spectra = ma->alpha = 0;
+ ma->mode |= MA_ZTRANSP|MA_TRANSP;
+ }
+ }
// TRANSPARENT
// color
// if (ef->getOpacity().isColor()) {
@@ -959,12 +977,12 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
if(IS_EQ(linatt, 0.0f) && quadatt > 0.0f) {
att2 = quadatt;
- d = (1.0f/quadatt) * 2;
+ d = sqrt(1.0f/quadatt);
}
// linear light
else if(IS_EQ(quadatt, 0.0f) && linatt > 0.0f) {
att1 = linatt;
- d = (1.0f/linatt) * 2;
+ d = (1.0f/linatt);
} else if (IS_EQ(constatt, 1.0f)) {
att1 = 1.0f;
} else {
@@ -987,9 +1005,12 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
case COLLADAFW::Light::SPOT_LIGHT:
{
lamp->type = LA_SPOT;
- lamp->falloff_type = LA_FALLOFF_INVSQUARE;
lamp->att1 = att1;
lamp->att2 = att2;
+ if(IS_EQ(att1, 0.0f) && att2 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVSQUARE;
+ if(IS_EQ(att2, 0.0f) && att1 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVLINEAR;
lamp->spotsize = light->getFallOffAngle().getValue();
lamp->spotblend = light->getFallOffExponent().getValue();
}
@@ -1004,9 +1025,12 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
case COLLADAFW::Light::POINT_LIGHT:
{
lamp->type = LA_LOCAL;
- lamp->falloff_type = LA_FALLOFF_INVSQUARE;
lamp->att1 = att1;
lamp->att2 = att2;
+ if(IS_EQ(att1, 0.0f) && att2 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVSQUARE;
+ if(IS_EQ(att2, 0.0f) && att1 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVLINEAR;
}
break;
case COLLADAFW::Light::UNDEFINED:
diff --git a/source/blender/collada/DocumentImporter.h b/source/blender/collada/DocumentImporter.h
index e57d621eeef..5ccec534680 100644
--- a/source/blender/collada/DocumentImporter.h
+++ b/source/blender/collada/DocumentImporter.h
@@ -72,7 +72,7 @@ public:
/** these should not be here */
Object* create_camera_object(COLLADAFW::InstanceCamera*, Scene*);
Object* create_lamp_object(COLLADAFW::InstanceLight*, Scene*);
- Object* create_instance_node(Object*, COLLADAFW::Node*, COLLADAFW::Node*, Scene*, bool);
+ Object* create_instance_node(Object*, COLLADAFW::Node*, COLLADAFW::Node*, Scene*, Object*, bool);
void write_node(COLLADAFW::Node*, COLLADAFW::Node*, Scene*, Object*, bool);
MTex* create_texture(COLLADAFW::EffectCommon*, COLLADAFW::Texture&, Material*, int, TexIndexTextureArrayMap&);
void write_profile_COMMON(COLLADAFW::EffectCommon*, Material*);
diff --git a/source/blender/collada/EffectExporter.cpp b/source/blender/collada/EffectExporter.cpp
index ff714533199..f51330165f3 100644
--- a/source/blender/collada/EffectExporter.cpp
+++ b/source/blender/collada/EffectExporter.cpp
@@ -78,12 +78,12 @@ bool EffectsExporter::hasEffects(Scene *sce)
return false;
}
-void EffectsExporter::exportEffects(Scene *sce)
+void EffectsExporter::exportEffects(Scene *sce, bool export_selected)
{
if(hasEffects(sce)) {
openLibrary();
MaterialFunctor mf;
- mf.forEachMaterialInScene<EffectsExporter>(sce, *this);
+ mf.forEachMaterialInScene<EffectsExporter>(sce, *this, export_selected);
closeLibrary();
}
@@ -273,7 +273,7 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
std::string uvname = strlen(t->uvname) ? t->uvname : active_uv;
// color
- if (t->mapto & MAP_COL) {
+ if (t->mapto & (MAP_COL | MAP_COLSPEC)) {
ep.setDiffuse(createTexture(ima, uvname, sampler));
}
// ambient
diff --git a/source/blender/collada/EffectExporter.h b/source/blender/collada/EffectExporter.h
index 2b25d1b889f..86143ae4d07 100644
--- a/source/blender/collada/EffectExporter.h
+++ b/source/blender/collada/EffectExporter.h
@@ -47,7 +47,7 @@ class EffectsExporter: COLLADASW::LibraryEffects
{
public:
EffectsExporter(COLLADASW::StreamWriter *sw);
- void exportEffects(Scene *sce);
+ void exportEffects(Scene *sce, bool export_selected);
void operator()(Material *ma, Object *ob);
diff --git a/source/blender/collada/GeometryExporter.cpp b/source/blender/collada/GeometryExporter.cpp
index 5df5ab99b91..b724844b1ec 100644
--- a/source/blender/collada/GeometryExporter.cpp
+++ b/source/blender/collada/GeometryExporter.cpp
@@ -47,13 +47,13 @@
GeometryExporter::GeometryExporter(COLLADASW::StreamWriter *sw) : COLLADASW::LibraryGeometries(sw) {}
-void GeometryExporter::exportGeom(Scene *sce)
+void GeometryExporter::exportGeom(Scene *sce, bool export_selected)
{
openLibrary();
mScene = sce;
GeometryFunctor gf;
- gf.forEachMeshObjectInScene<GeometryExporter>(sce, *this);
+ gf.forEachMeshObjectInScene<GeometryExporter>(sce, *this, export_selected);
closeLibrary();
}
diff --git a/source/blender/collada/GeometryExporter.h b/source/blender/collada/GeometryExporter.h
index 0b9abaebc25..7f3426a1915 100644
--- a/source/blender/collada/GeometryExporter.h
+++ b/source/blender/collada/GeometryExporter.h
@@ -60,7 +60,7 @@ class GeometryExporter : COLLADASW::LibraryGeometries
public:
GeometryExporter(COLLADASW::StreamWriter *sw);
- void exportGeom(Scene *sce);
+ void exportGeom(Scene *sce, bool export_selected);
void operator()(Object *ob);
@@ -102,14 +102,15 @@ struct GeometryFunctor {
// f should have
// void operator()(Object* ob)
template<class Functor>
- void forEachMeshObjectInScene(Scene *sce, Functor &f)
+ void forEachMeshObjectInScene(Scene *sce, Functor &f, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
- if (ob->type == OB_MESH && ob->data) {
+ if (ob->type == OB_MESH && ob->data
+ && !(export_selected && !(ob->flag && SELECT))) {
f(ob);
}
base= base->next;
diff --git a/source/blender/collada/ImageExporter.cpp b/source/blender/collada/ImageExporter.cpp
index b7a5ef4c4e4..8e426e9dba8 100644
--- a/source/blender/collada/ImageExporter.cpp
+++ b/source/blender/collada/ImageExporter.cpp
@@ -71,12 +71,12 @@ bool ImagesExporter::hasImages(Scene *sce)
return false;
}
-void ImagesExporter::exportImages(Scene *sce)
+void ImagesExporter::exportImages(Scene *sce, bool export_selected)
{
if(hasImages(sce)) {
openLibrary();
MaterialFunctor mf;
- mf.forEachMaterialInScene<ImagesExporter>(sce, *this);
+ mf.forEachMaterialInScene<ImagesExporter>(sce, *this, export_selected);
closeLibrary();
}
diff --git a/source/blender/collada/ImageExporter.h b/source/blender/collada/ImageExporter.h
index 04e3010dc7a..6b81c099259 100644
--- a/source/blender/collada/ImageExporter.h
+++ b/source/blender/collada/ImageExporter.h
@@ -47,7 +47,7 @@ class ImagesExporter: COLLADASW::LibraryImages
public:
ImagesExporter(COLLADASW::StreamWriter *sw, const char* filename);
- void exportImages(Scene *sce);
+ void exportImages(Scene *sce, bool export_selected);
void operator()(Material *ma, Object *ob);
private:
bool hasImages(Scene *sce);
diff --git a/source/blender/collada/LightExporter.cpp b/source/blender/collada/LightExporter.cpp
index 89599c62768..c2cc0c1e157 100644
--- a/source/blender/collada/LightExporter.cpp
+++ b/source/blender/collada/LightExporter.cpp
@@ -38,13 +38,14 @@
#include "collada_internal.h"
template<class Functor>
-void forEachLampObjectInScene(Scene *sce, Functor &f)
+void forEachLampObjectInScene(Scene *sce, Functor &f, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
- if (ob->type == OB_LAMP && ob->data) {
+ if (ob->type == OB_LAMP && ob->data
+ && !(export_selected && !(ob->flag & SELECT))) {
f(ob);
}
base= base->next;
@@ -53,11 +54,11 @@ void forEachLampObjectInScene(Scene *sce, Functor &f)
LightsExporter::LightsExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryLights(sw){}
-void LightsExporter::exportLights(Scene *sce)
+void LightsExporter::exportLights(Scene *sce, bool export_selected)
{
openLibrary();
- forEachLampObjectInScene(sce, *this);
+ forEachLampObjectInScene(sce, *this, export_selected);
closeLibrary();
}
@@ -67,26 +68,24 @@ void LightsExporter::operator()(Object *ob)
std::string la_id(get_light_id(ob));
std::string la_name(id_name(la));
COLLADASW::Color col(la->r * la->energy, la->g * la->energy, la->b * la->energy);
- float e, d, constatt, linatt, quadatt;
- float r;
+ float d, constatt, linatt, quadatt;
d = la->dist;
- r = d/2.0f;
constatt = 1.0f;
if(la->falloff_type==LA_FALLOFF_INVLINEAR) {
- linatt = 1.0f / r;
+ linatt = 1.0f / d;
quadatt = 0.0f;
}
else {
linatt = 0.0f;
- quadatt = 1.0f / r;
+ quadatt = 1.0f / (d * d);
}
// sun
if (la->type == LA_SUN) {
- COLLADASW::DirectionalLight cla(mSW, la_id, la_name, e);
+ COLLADASW::DirectionalLight cla(mSW, la_id, la_name);
cla.setColor(col);
cla.setConstantAttenuation(constatt);
exportBlenderProfile(cla, la);
@@ -94,7 +93,7 @@ void LightsExporter::operator()(Object *ob)
}
// hemi
else if (la->type == LA_HEMI) {
- COLLADASW::AmbientLight cla(mSW, la_id, la_name, e);
+ COLLADASW::AmbientLight cla(mSW, la_id, la_name);
cla.setColor(col);
cla.setConstantAttenuation(constatt);
exportBlenderProfile(cla, la);
@@ -102,7 +101,7 @@ void LightsExporter::operator()(Object *ob)
}
// spot
else if (la->type == LA_SPOT) {
- COLLADASW::SpotLight cla(mSW, la_id, la_name, e);
+ COLLADASW::SpotLight cla(mSW, la_id, la_name);
cla.setColor(col);
cla.setFallOffAngle(la->spotsize);
cla.setFallOffExponent(la->spotblend);
@@ -114,7 +113,7 @@ void LightsExporter::operator()(Object *ob)
}
// lamp
else if (la->type == LA_LOCAL) {
- COLLADASW::PointLight cla(mSW, la_id, la_name, e);
+ COLLADASW::PointLight cla(mSW, la_id, la_name);
cla.setColor(col);
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
@@ -125,7 +124,7 @@ void LightsExporter::operator()(Object *ob)
// area lamp is not supported
// it will be exported as a local lamp
else {
- COLLADASW::PointLight cla(mSW, la_id, la_name, e);
+ COLLADASW::PointLight cla(mSW, la_id, la_name);
cla.setColor(col);
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
diff --git a/source/blender/collada/LightExporter.h b/source/blender/collada/LightExporter.h
index 3706582e52c..2ae1a19fdb1 100644
--- a/source/blender/collada/LightExporter.h
+++ b/source/blender/collada/LightExporter.h
@@ -41,7 +41,7 @@ class LightsExporter: COLLADASW::LibraryLights
{
public:
LightsExporter(COLLADASW::StreamWriter *sw);
- void exportLights(Scene *sce);
+ void exportLights(Scene *sce, bool export_selected);
void operator()(Object *ob);
private:
bool exportBlenderProfile(COLLADASW::Light &cla, Lamp *la);
diff --git a/source/blender/collada/MaterialExporter.cpp b/source/blender/collada/MaterialExporter.cpp
index 0030f2a6285..9d29177578d 100644
--- a/source/blender/collada/MaterialExporter.cpp
+++ b/source/blender/collada/MaterialExporter.cpp
@@ -35,14 +35,38 @@
MaterialsExporter::MaterialsExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryMaterials(sw){}
-void MaterialsExporter::exportMaterials(Scene *sce)
+void MaterialsExporter::exportMaterials(Scene *sce, bool export_selected)
{
- openLibrary();
+ if(hasMaterials(sce)) {
+ openLibrary();
- MaterialFunctor mf;
- mf.forEachMaterialInScene<MaterialsExporter>(sce, *this);
+ MaterialFunctor mf;
+ mf.forEachMaterialInScene<MaterialsExporter>(sce, *this, export_selected);
- closeLibrary();
+ closeLibrary();
+ }
+}
+
+
+bool MaterialsExporter::hasMaterials(Scene *sce)
+{
+ Base *base = (Base *)sce->base.first;
+
+ while(base) {
+ Object *ob= base->object;
+ int a;
+ for(a = 0; a < ob->totcol; a++)
+ {
+ Material *ma = give_current_material(ob, a+1);
+
+ // no material, but check all of the slots
+ if (!ma) continue;
+
+ return true;
+ }
+ base= base->next;
+ }
+ return false;
}
void MaterialsExporter::operator()(Material *ma, Object *ob)
diff --git a/source/blender/collada/MaterialExporter.h b/source/blender/collada/MaterialExporter.h
index 033c8526346..c080e4b0596 100644
--- a/source/blender/collada/MaterialExporter.h
+++ b/source/blender/collada/MaterialExporter.h
@@ -49,8 +49,11 @@ class MaterialsExporter: COLLADASW::LibraryMaterials
{
public:
MaterialsExporter(COLLADASW::StreamWriter *sw);
- void exportMaterials(Scene *sce);
+ void exportMaterials(Scene *sce, bool export_selected);
void operator()(Material *ma, Object *ob);
+
+private:
+ bool hasMaterials(Scene *sce);
};
// used in forEachMaterialInScene
@@ -86,11 +89,11 @@ struct MaterialFunctor {
// f should have
// void operator()(Material* ma)
template<class Functor>
- void forEachMaterialInScene(Scene *sce, Functor &f)
+ void forEachMaterialInScene(Scene *sce, Functor &f, bool export_selected)
{
ForEachMaterialFunctor<Functor> matfunc(&f);
GeometryFunctor gf;
- gf.forEachMeshObjectInScene<ForEachMaterialFunctor<Functor> >(sce, matfunc);
+ gf.forEachMeshObjectInScene<ForEachMaterialFunctor<Functor> >(sce, matfunc, export_selected);
}
};
diff --git a/source/blender/collada/MeshImporter.cpp b/source/blender/collada/MeshImporter.cpp
index b6576858c51..760fb2359a4 100644
--- a/source/blender/collada/MeshImporter.cpp
+++ b/source/blender/collada/MeshImporter.cpp
@@ -62,7 +62,7 @@ extern "C" {
#include "MeshImporter.h"
#include "collada_utils.h"
-// works for COLLADAFW::Node, COLLADAFW::Geometry
+// get node name, or fall back to original id if not present (name is optional)
template<class T>
static const char *bc_get_dae_name(T *node)
{
@@ -144,15 +144,18 @@ void WVDataWrapper::print()
}
#endif
-void UVDataWrapper::getUV(int uv_index[2], float *uv)
+void UVDataWrapper::getUV(int uv_index, float *uv)
{
+ int stride = mVData->getStride(0);
+ if(stride==0) stride = 2;
+
switch(mVData->getType()) {
case COLLADAFW::MeshVertexData::DATA_TYPE_FLOAT:
{
COLLADAFW::ArrayPrimitiveType<float>* values = mVData->getFloatValues();
if (values->empty()) return;
- uv[0] = (*values)[uv_index[0]];
- uv[1] = (*values)[uv_index[1]];
+ uv[0] = (*values)[uv_index*stride];
+ uv[1] = (*values)[uv_index*stride + 1];
}
break;
@@ -160,8 +163,8 @@ void UVDataWrapper::getUV(int uv_index[2], float *uv)
{
COLLADAFW::ArrayPrimitiveType<double>* values = mVData->getDoubleValues();
if (values->empty()) return;
- uv[0] = (float)(*values)[uv_index[0]];
- uv[1] = (float)(*values)[uv_index[1]];
+ uv[0] = (float)(*values)[uv_index*stride];
+ uv[1] = (float)(*values)[uv_index*stride + 1];
}
break;
@@ -197,54 +200,36 @@ void MeshImporter::rotate_face_indices(MFace *mface) {
void MeshImporter::set_face_uv(MTFace *mtface, UVDataWrapper &uvs,
COLLADAFW::IndexList& index_list, unsigned int *tris_indices)
{
- int uv_indices[4][2];
-
// per face vertex indices, this means for quad we have 4 indices, not 8
COLLADAFW::UIntValuesArray& indices = index_list.getIndices();
- // make indices into FloatOrDoubleArray
- for (int i = 0; i < 3; i++) {
- int uv_index = indices[tris_indices[i]];
- uv_indices[i][0] = uv_index * 2;
- uv_indices[i][1] = uv_index * 2 + 1;
- }
-
- uvs.getUV(uv_indices[0], mtface->uv[0]);
- uvs.getUV(uv_indices[1], mtface->uv[1]);
- uvs.getUV(uv_indices[2], mtface->uv[2]);
+ uvs.getUV(indices[tris_indices[0]], mtface->uv[0]);
+ uvs.getUV(indices[tris_indices[1]], mtface->uv[1]);
+ uvs.getUV(indices[tris_indices[2]], mtface->uv[2]);
}
void MeshImporter::set_face_uv(MTFace *mtface, UVDataWrapper &uvs,
COLLADAFW::IndexList& index_list, int index, bool quad)
{
- int uv_indices[4][2];
-
// per face vertex indices, this means for quad we have 4 indices, not 8
COLLADAFW::UIntValuesArray& indices = index_list.getIndices();
- // make indices into FloatOrDoubleArray
- for (int i = 0; i < (quad ? 4 : 3); i++) {
- int uv_index = indices[index + i];
- uv_indices[i][0] = uv_index * 2;
- uv_indices[i][1] = uv_index * 2 + 1;
- }
-
- uvs.getUV(uv_indices[0], mtface->uv[0]);
- uvs.getUV(uv_indices[1], mtface->uv[1]);
- uvs.getUV(uv_indices[2], mtface->uv[2]);
+ uvs.getUV(indices[index + 0], mtface->uv[0]);
+ uvs.getUV(indices[index + 1], mtface->uv[1]);
+ uvs.getUV(indices[index + 2], mtface->uv[2]);
- if (quad) uvs.getUV(uv_indices[3], mtface->uv[3]);
+ if (quad) uvs.getUV(indices[index + 3], mtface->uv[3]);
#ifdef COLLADA_DEBUG
/*if (quad) {
fprintf(stderr, "face uv:\n"
- "((%d, %d), (%d, %d), (%d, %d), (%d, %d))\n"
+ "((%d, %d, %d, %d))\n"
"((%.1f, %.1f), (%.1f, %.1f), (%.1f, %.1f), (%.1f, %.1f))\n",
- uv_indices[0][0], uv_indices[0][1],
- uv_indices[1][0], uv_indices[1][1],
- uv_indices[2][0], uv_indices[2][1],
- uv_indices[3][0], uv_indices[3][1],
+ indices[index + 0],
+ indices[index + 1],
+ indices[index + 2],
+ indices[index + 3],
mtface->uv[0][0], mtface->uv[0][1],
mtface->uv[1][0], mtface->uv[1][1],
@@ -253,12 +238,12 @@ void MeshImporter::set_face_uv(MTFace *mtface, UVDataWrapper &uvs,
}
else {
fprintf(stderr, "face uv:\n"
- "((%d, %d), (%d, %d), (%d, %d))\n"
+ "((%d, %d, %d))\n"
"((%.1f, %.1f), (%.1f, %.1f), (%.1f, %.1f))\n",
- uv_indices[0][0], uv_indices[0][1],
- uv_indices[1][0], uv_indices[1][1],
- uv_indices[2][0], uv_indices[2][1],
+ indices[index + 0],
+ indices[index + 1],
+ indices[index + 2],
mtface->uv[0][0], mtface->uv[0][1],
mtface->uv[1][0], mtface->uv[1][1],
@@ -755,9 +740,11 @@ MTex *MeshImporter::assign_textures_to_uvlayer(COLLADAFW::TextureCoordinateBindi
MTex *color_texture)
{
const COLLADAFW::TextureMapId texture_index = ctexture.getTextureMapId();
- const size_t setindex = ctexture.getSetIndex();
+ size_t setindex = ctexture.getSetIndex();
std::string uvname = ctexture.getSemantic();
+ if(setindex==-1) return NULL;
+
const CustomData *data = &me->fdata;
int layer_index = CustomData_get_layer_index(data, CD_MTFACE);
CustomDataLayer *cdl = &data->layers[layer_index+setindex];
@@ -833,7 +820,6 @@ MTFace *MeshImporter::assign_material_to_geom(COLLADAFW::MaterialBinding cmateri
if (*color_texture &&
strlen((*color_texture)->uvname) &&
strcmp(layername, (*color_texture)->uvname) != 0) {
-
texture_face = (MTFace*)CustomData_get_layer_named(&me->fdata, CD_MTFACE,
(*color_texture)->uvname);
strcpy(layername, (*color_texture)->uvname);
@@ -903,7 +889,7 @@ Object *MeshImporter::create_mesh_object(COLLADAFW::Node *node, COLLADAFW::Insta
uid_object_map[*geom_uid] = ob;
// name Object
- const std::string& id = node->getOriginalId();
+ const std::string& id = node->getName().size() ? node->getName() : node->getOriginalId();
if (id.length())
rename_id(&ob->id, (char*)id.c_str());
@@ -915,6 +901,7 @@ Object *MeshImporter::create_mesh_object(COLLADAFW::Node *node, COLLADAFW::Insta
if (old_mesh->id.us == 0) free_libblock(&G.main->mesh, old_mesh);
char layername[100];
+ layername[0] = '\0';
MTFace *texture_face = NULL;
MTex *color_texture = NULL;
@@ -957,7 +944,7 @@ bool MeshImporter::write_geometry(const COLLADAFW::Geometry* geom)
return true;
}
- const std::string& str_geom_id = mesh->getOriginalId();
+ const std::string& str_geom_id = mesh->getName().size() ? mesh->getName() : mesh->getOriginalId();
Mesh *me = add_mesh((char*)str_geom_id.c_str());
// store the Mesh pointer to link it later with an Object
diff --git a/source/blender/collada/MeshImporter.h b/source/blender/collada/MeshImporter.h
index 20fdb0dcc6e..88ee0e46c33 100644
--- a/source/blender/collada/MeshImporter.h
+++ b/source/blender/collada/MeshImporter.h
@@ -69,7 +69,7 @@ public:
void print();
#endif
- void getUV(int uv_index[2], float *uv);
+ void getUV(int uv_index, float *uv);
};
class MeshImporter : public MeshImporterBase
diff --git a/source/blender/collada/SkinInfo.cpp b/source/blender/collada/SkinInfo.cpp
index 10780de2e70..83b9449c8f2 100644
--- a/source/blender/collada/SkinInfo.cpp
+++ b/source/blender/collada/SkinInfo.cpp
@@ -48,12 +48,12 @@
#include "SkinInfo.h"
#include "collada_utils.h"
-// use this for retrieving bone names, since these must be unique
+// use name, or fall back to original id if name not present (name is optional)
template<class T>
static const char *bc_get_joint_name(T *node)
{
- const std::string& id = node->getOriginalId();
- return id.size() ? id.c_str() : node->getName().c_str();
+ const std::string& id = node->getName();
+ return id.size() ? id.c_str() : node->getOriginalId().c_str();
}
// This is used to store data passed in write_controller_data.
diff --git a/source/blender/collada/collada.cpp b/source/blender/collada/collada.cpp
index 51caf62f6e7..c15e608c360 100644
--- a/source/blender/collada/collada.cpp
+++ b/source/blender/collada/collada.cpp
@@ -51,7 +51,7 @@ extern "C"
return 1;
}
- int collada_export(Scene *sce, const char *filepath)
+ int collada_export(Scene *sce, const char *filepath, int selected)
{
DocumentExporter exp;
@@ -64,7 +64,7 @@ extern "C"
}
/* end! */
- exp.exportCurrentScene(sce, filepath);
+ exp.exportCurrentScene(sce, filepath, selected);
return 1;
}
diff --git a/source/blender/collada/collada.h b/source/blender/collada/collada.h
index a167784e217..915a77354e3 100644
--- a/source/blender/collada/collada.h
+++ b/source/blender/collada/collada.h
@@ -39,7 +39,7 @@ extern "C" {
* both return 1 on success, 0 on error
*/
int collada_import(bContext *C, const char *filepath);
- int collada_export(Scene *sce, const char *filepath);
+ int collada_export(Scene *sce, const char *filepath, int selected);
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/collada/collada_internal.cpp b/source/blender/collada/collada_internal.cpp
index 4f4d16d3b0d..27397c3008e 100644
--- a/source/blender/collada/collada_internal.cpp
+++ b/source/blender/collada/collada_internal.cpp
@@ -265,7 +265,7 @@ std::string get_light_id(Object *ob)
std::string get_joint_id(Bone *bone, Object *ob_arm)
{
- return translate_id(id_name(ob_arm) + "_" + bone->name);
+ return translate_id(/*id_name(ob_arm) + "_" +*/ bone->name);
}
std::string get_camera_id(Object *ob)
diff --git a/source/blender/editors/CMakeLists.txt b/source/blender/editors/CMakeLists.txt
index 651cb66833d..abda4f11a2c 100644
--- a/source/blender/editors/CMakeLists.txt
+++ b/source/blender/editors/CMakeLists.txt
@@ -19,39 +19,42 @@
#
# ***** END GPL LICENSE BLOCK *****
-add_subdirectory(animation)
-add_subdirectory(armature)
-add_subdirectory(curve)
+if(WITH_BLENDER)
+ add_subdirectory(animation)
+ add_subdirectory(armature)
+ add_subdirectory(curve)
+ add_subdirectory(gpencil)
+ add_subdirectory(interface)
+ add_subdirectory(mesh)
+ add_subdirectory(metaball)
+ add_subdirectory(object)
+ add_subdirectory(physics)
+ add_subdirectory(render)
+ add_subdirectory(screen)
+ add_subdirectory(sculpt_paint)
+ add_subdirectory(sound)
+ add_subdirectory(space_action)
+ add_subdirectory(space_api)
+ add_subdirectory(space_buttons)
+ add_subdirectory(space_console)
+ add_subdirectory(space_file)
+ add_subdirectory(space_graph)
+ add_subdirectory(space_image)
+ add_subdirectory(space_info)
+ add_subdirectory(space_logic)
+ add_subdirectory(space_nla)
+ add_subdirectory(space_node)
+ add_subdirectory(space_outliner)
+ add_subdirectory(space_script)
+ add_subdirectory(space_sequencer)
+ add_subdirectory(space_sound)
+ add_subdirectory(space_text)
+ add_subdirectory(space_time)
+ add_subdirectory(space_userpref)
+ add_subdirectory(space_view3d)
+ add_subdirectory(transform)
+ add_subdirectory(util)
+ add_subdirectory(uvedit)
+endif()
+
add_subdirectory(datafiles)
-add_subdirectory(gpencil)
-add_subdirectory(interface)
-add_subdirectory(mesh)
-add_subdirectory(metaball)
-add_subdirectory(object)
-add_subdirectory(physics)
-add_subdirectory(render)
-add_subdirectory(screen)
-add_subdirectory(sculpt_paint)
-add_subdirectory(sound)
-add_subdirectory(space_action)
-add_subdirectory(space_api)
-add_subdirectory(space_buttons)
-add_subdirectory(space_console)
-add_subdirectory(space_file)
-add_subdirectory(space_graph)
-add_subdirectory(space_image)
-add_subdirectory(space_info)
-add_subdirectory(space_logic)
-add_subdirectory(space_nla)
-add_subdirectory(space_node)
-add_subdirectory(space_outliner)
-add_subdirectory(space_script)
-add_subdirectory(space_sequencer)
-add_subdirectory(space_sound)
-add_subdirectory(space_text)
-add_subdirectory(space_time)
-add_subdirectory(space_userpref)
-add_subdirectory(space_view3d)
-add_subdirectory(transform)
-add_subdirectory(util)
-add_subdirectory(uvedit)
diff --git a/source/blender/editors/animation/CMakeLists.txt b/source/blender/editors/animation/CMakeLists.txt
index 8fc1ec429cc..83fe91d6f76 100644
--- a/source/blender/editors/animation/CMakeLists.txt
+++ b/source/blender/editors/animation/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -51,4 +54,4 @@ set(SRC
anim_intern.h
)
-blender_add_lib(bf_editor_animation "${SRC}" "${INC}")
+blender_add_lib(bf_editor_animation "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c
index 4edcca46935..9145cc2b79d 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1881,6 +1881,7 @@ static void ANIM_OT_channels_select_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= animchannels_borderselect_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= animedit_poll_channels_nla_tweakmode_off;
@@ -2148,7 +2149,7 @@ static int animchannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *
bAnimContext ac;
ARegion *ar;
View2D *v2d;
- int mval[2], channel_index;
+ int channel_index;
int notifierFlags = 0;
short selectmode;
float x, y;
@@ -2162,10 +2163,6 @@ static int animchannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *
ar= ac.ar;
v2d= &ar->v2d;
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
/* select mode is either replace (deselect all, then add) or add/extend */
if (RNA_boolean_get(op->ptr, "extend"))
selectmode= SELECT_INVERT;
@@ -2179,7 +2176,7 @@ static int animchannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *
* so that the tops of channels get caught ok. Since ACHANNEL_FIRST is really ACHANNEL_HEIGHT, we simply use
* ACHANNEL_HEIGHT_HALF.
*/
- UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, &y);
+ UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, &y);
UI_view2d_listview_view_to_cell(v2d, ACHANNEL_NAMEWIDTH, ACHANNEL_STEP, 0, (float)ACHANNEL_HEIGHT_HALF, x, y, NULL, &channel_index);
/* handle mouse-click in the relevant channel then */
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 71893cee89a..967002131c2 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -1645,10 +1645,6 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
break;
}
- /* special exception for drivers instead of action */
- if (ads->filterflag & ADS_FILTER_ONLYDRIVERS)
- expanded= EXPANDED_DRVD(adt);
-
/* include data-expand widget? */
if ((filter_mode & ANIMFILTER_CURVESONLY) == 0) {
/* check if filtering by active status */
diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c
index c802ba621f1..b3338396598 100644
--- a/source/blender/editors/animation/anim_markers.c
+++ b/source/blender/editors/animation/anim_markers.c
@@ -50,6 +50,7 @@
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_screen.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -717,7 +718,7 @@ static void ed_marker_move_apply(wmOperator *op)
}
/* only for modal */
-static void ed_marker_move_cancel(bContext *C, wmOperator *op)
+static int ed_marker_move_cancel(bContext *C, wmOperator *op)
{
RNA_int_set(op->ptr, "frames", 0);
ed_marker_move_apply(op);
@@ -725,6 +726,8 @@ static void ed_marker_move_cancel(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_SCENE|ND_MARKERS, NULL);
WM_event_add_notifier(C, NC_ANIMATION|ND_MARKERS, NULL);
+
+ return OPERATOR_CANCELLED;
}
@@ -886,6 +889,7 @@ static void MARKER_OT_move(wmOperatorType *ot)
ot->invoke= ed_marker_move_invoke_wrapper;
ot->modal= ed_marker_move_modal;
ot->poll= ed_markers_poll_selected_markers;
+ ot->cancel= ed_marker_move_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
@@ -980,6 +984,7 @@ static void MARKER_OT_duplicate(wmOperatorType *ot)
ot->invoke= ed_marker_duplicate_invoke_wrapper;
ot->modal= ed_marker_move_modal;
ot->poll= ed_markers_poll_selected_markers;
+ ot->cancel= ed_marker_move_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -1185,6 +1190,7 @@ static void MARKER_OT_select_border(wmOperatorType *ot)
ot->exec= ed_marker_border_select_exec;
ot->invoke= ed_marker_select_border_invoke_wrapper;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ed_markers_poll_markers_exist;
@@ -1411,7 +1417,9 @@ static void MARKER_OT_make_links_scene(wmOperatorType *ot)
static int ed_marker_camera_bind_exec(bContext *C, wmOperator *UNUSED(op))
{
+ bScreen *sc= CTX_wm_screen(C);
Scene *scene= CTX_data_scene(C);
+ Object *ob = CTX_data_active_object(C);
ListBase *markers= ED_context_get_markers(C);
TimeMarker *marker;
@@ -1419,10 +1427,15 @@ static int ed_marker_camera_bind_exec(bContext *C, wmOperator *UNUSED(op))
if(marker == NULL)
return OPERATOR_CANCELLED;
- marker->camera= scene->camera;
+ marker->camera= ob;
+
+ /* camera may have changes */
+ scene_camera_switch_update(scene);
+ BKE_screen_view3d_scene_sync(sc);
WM_event_add_notifier(C, NC_SCENE|ND_MARKERS, NULL);
WM_event_add_notifier(C, NC_ANIMATION|ND_MARKERS, NULL);
+ WM_event_add_notifier(C, NC_SCENE|NA_EDITED, scene); /* so we get view3d redraws */
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/animation/anim_ops.c b/source/blender/editors/animation/anim_ops.c
index ff9521f1ebd..7a94a21d41e 100644
--- a/source/blender/editors/animation/anim_ops.c
+++ b/source/blender/editors/animation/anim_ops.c
@@ -107,14 +107,9 @@ static int frame_from_event(bContext *C, wmEvent *event)
{
ARegion *region= CTX_wm_region(C);
float viewx;
- int x, y;
-
- /* convert screen coordinates to region coordinates */
- x= event->x - region->winrct.xmin;
- y= event->y - region->winrct.ymin;
-
+
/* convert from region coordinates to View2D 'tot' space */
- UI_view2d_region_to_view(&region->v2d, x, y, &viewx, NULL);
+ UI_view2d_region_to_view(&region->v2d, event->mval[0], event->mval[1], &viewx, NULL);
/* round result to nearest int (frames are ints!) */
return (int)floor(viewx+0.5f);
@@ -204,8 +199,8 @@ static int previewrange_define_exec(bContext *C, wmOperator *op)
* - must clamp within allowable limits
* - end must not be before start (though this won't occur most of the time)
*/
- if (sfra < 1) sfra = 1.0f;
- if (efra < 1) efra = 1.0f;
+ FRAMENUMBER_MIN_CLAMP(sfra);
+ FRAMENUMBER_MIN_CLAMP(efra);
if (efra < sfra) efra= sfra;
scene->r.flag |= SCER_PRV_RANGE;
@@ -229,6 +224,7 @@ static void ANIM_OT_previewrange_set(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= previewrange_define_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_animview_active;
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index c4108e0ce33..00e11d8b1a4 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -372,7 +372,7 @@ static void add_bezt_to_keyblocks_list(DLRBT_Tree *blocks, DLRBT_Tree *beztTree,
blocks->root= (DLRBT_Node *)new_ab;
}
else {
- ActKeyBlock *ab, *abp=NULL, *abn=NULL;
+ ActKeyBlock *ab, *abn=NULL;
/* try to find a keyblock that starts on the previous beztriple, and add a new one if none start there
* Note: we can't search from end to try to optimise this as it causes errors there's
@@ -382,7 +382,7 @@ static void add_bezt_to_keyblocks_list(DLRBT_Tree *blocks, DLRBT_Tree *beztTree,
// A|--------------|A ______________ B|--------------|B
// A|------------------------------------------------|A
// A|----|A|---|A|-----------------------------------|A
- for (ab= blocks->root; ab; abp= ab, ab= abn) {
+ for (ab= blocks->root; ab; ab= abn) {
/* check if this is a match, or whether we go left or right */
if (ab->start == prev->vec[1][0]) {
/* set selection status and 'touched' status */
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index cb93d2bf70b..1ba695209b2 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -1360,6 +1360,7 @@ void ANIM_OT_keyframe_delete_v3d (wmOperatorType *ot)
{
/* identifiers */
ot->name= "Delete Keyframe";
+ ot->description= "Remove keyframes on current frame for selected object";
ot->idname= "ANIM_OT_keyframe_delete_v3d";
/* callbacks */
diff --git a/source/blender/editors/animation/keyingsets.c b/source/blender/editors/animation/keyingsets.c
index 04565b4c236..c525c9af626 100644
--- a/source/blender/editors/animation/keyingsets.c
+++ b/source/blender/editors/animation/keyingsets.c
@@ -578,9 +578,8 @@ void ANIM_keyingset_info_register (KeyingSetInfo *ksi)
}
/* Remove the given KeyingSetInfo from the list of type infos, and also remove the builtin set if appropriate */
-void ANIM_keyingset_info_unregister (const bContext *C, KeyingSetInfo *ksi)
+void ANIM_keyingset_info_unregister (Main *bmain, KeyingSetInfo *ksi)
{
- Main *bmain= CTX_data_main(C);
KeyingSet *ks, *ksn;
/* find relevant builtin KeyingSets which use this, and remove them */
@@ -697,7 +696,7 @@ KeyingSet *ANIM_get_keyingset_for_autokeying(Scene *scene, const char *tranformK
/* Menu of All Keying Sets ----------------------------- */
/* Dynamically populate an enum of Keying Sets */
-EnumPropertyItem *ANIM_keying_sets_enum_itemf (bContext *C, PointerRNA *UNUSED(ptr), int *free)
+EnumPropertyItem *ANIM_keying_sets_enum_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Scene *scene = CTX_data_scene(C);
KeyingSet *ks;
diff --git a/source/blender/editors/armature/CMakeLists.txt b/source/blender/editors/armature/CMakeLists.txt
index 3234254f745..9a44525611a 100644
--- a/source/blender/editors/armature/CMakeLists.txt
+++ b/source/blender/editors/armature/CMakeLists.txt
@@ -22,13 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
../../../../intern/opennl/extern
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -52,4 +55,4 @@ set(SRC
reeb.h
)
-blender_add_lib(bf_editor_armature "${SRC}" "${INC}")
+blender_add_lib(bf_editor_armature "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/armature/armature_intern.h b/source/blender/editors/armature/armature_intern.h
index 86dc2182e03..85da7a212c9 100644
--- a/source/blender/editors/armature/armature_intern.h
+++ b/source/blender/editors/armature/armature_intern.h
@@ -79,8 +79,6 @@ void ARMATURE_OT_separate(struct wmOperatorType *ot);
void ARMATURE_OT_autoside_names(struct wmOperatorType *ot);
void ARMATURE_OT_flip_names(struct wmOperatorType *ot);
-void ARMATURE_OT_flags_set(struct wmOperatorType *ot);
-
void ARMATURE_OT_layers_show_all(struct wmOperatorType *ot);
void ARMATURE_OT_armature_layers(struct wmOperatorType *ot);
void ARMATURE_OT_bone_layers(struct wmOperatorType *ot);
@@ -125,8 +123,6 @@ void POSE_OT_flip_names(struct wmOperatorType *ot);
void POSE_OT_quaternions_flip(struct wmOperatorType *ot);
-void POSE_OT_flags_set(struct wmOperatorType *ot);
-
void POSE_OT_armature_layers(struct wmOperatorType *ot);
void POSE_OT_bone_layers(struct wmOperatorType *ot);
@@ -206,7 +202,7 @@ void POSE_OT_propagate(struct wmOperatorType *ot);
/* editarmature.c */
EditBone *make_boneList(struct ListBase *edbo, struct ListBase *bones, struct EditBone *parent, struct Bone *actBone);
-void BIF_sk_selectStroke(struct bContext *C, const short mval[2], short extend);
+void BIF_sk_selectStroke(struct bContext *C, const int mval[2], short extend);
/* duplicate method */
void preEditBoneDuplicate(struct ListBase *editbones);
diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c
index 545cff82483..16b748737ca 100644
--- a/source/blender/editors/armature/armature_ops.c
+++ b/source/blender/editors/armature/armature_ops.c
@@ -85,8 +85,6 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(ARMATURE_OT_autoside_names);
WM_operatortype_append(ARMATURE_OT_flip_names);
- WM_operatortype_append(ARMATURE_OT_flags_set);
-
WM_operatortype_append(ARMATURE_OT_layers_show_all);
WM_operatortype_append(ARMATURE_OT_armature_layers);
WM_operatortype_append(ARMATURE_OT_bone_layers);
@@ -141,8 +139,6 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(POSE_OT_quaternions_flip);
- WM_operatortype_append(POSE_OT_flags_set);
-
WM_operatortype_append(POSE_OT_armature_layers);
WM_operatortype_append(POSE_OT_bone_layers);
@@ -268,12 +264,9 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "ARMATURE_OT_separate", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
/* set flags */
- kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_flags_set", WKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 2); // toggle
- kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_flags_set", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 1); // enable
- kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_flags_set", WKEY, KM_PRESS, KM_ALT, 0);
- RNA_enum_set(kmi->ptr, "mode", 0); // clear
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_toggle", WKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_enable", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_disable", WKEY, KM_PRESS, KM_ALT, 0);
/* armature/bone layers */
WM_keymap_add_item(keymap, "ARMATURE_OT_layers_show_all", ACCENTGRAVEKEY, KM_PRESS, KM_CTRL, 0);
@@ -349,13 +342,10 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
WM_keymap_add_menu(keymap, "VIEW3D_MT_pose_group", GKEY, KM_PRESS, KM_CTRL, 0);
/* set flags */
- kmi= WM_keymap_add_item(keymap, "POSE_OT_flags_set", WKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 2); // toggle
- kmi= WM_keymap_add_item(keymap, "POSE_OT_flags_set", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 1); // enable
- kmi= WM_keymap_add_item(keymap, "POSE_OT_flags_set", WKEY, KM_PRESS, KM_ALT, 0);
- RNA_enum_set(kmi->ptr, "mode", 0); // clear
-
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_toggle", WKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_enable", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_disable", WKEY, KM_PRESS, KM_ALT, 0);
+
/* armature/bone layers */
WM_keymap_add_item(keymap, "ARMATURE_OT_layers_show_all", ACCENTGRAVEKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "POSE_OT_armature_layers", MKEY, KM_PRESS, KM_SHIFT, 0);
diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c
index f4e9c7c5d3e..628cdbf21e9 100644
--- a/source/blender/editors/armature/editarmature.c
+++ b/source/blender/editors/armature/editarmature.c
@@ -1352,30 +1352,6 @@ static void *get_nearest_bone (bContext *C, short findunsel, int x, int y)
return NULL;
}
-/* helper for setflag_sel_bone() */
-static void bone_setflag (int *bone, int flag, short mode)
-{
- if (bone && flag) {
- /* exception for inverse flags */
- if (flag == BONE_NO_DEFORM) {
- if (mode == 2)
- *bone |= flag;
- else if (mode == 1)
- *bone &= ~flag;
- else
- *bone ^= flag;
- }
- else {
- if (mode == 2)
- *bone &= ~flag;
- else if (mode == 1)
- *bone |= flag;
- else
- *bone ^= flag;
- }
- }
-}
-
/* Get the first available child of an editbone */
static EditBone *editbone_get_child(bArmature *arm, EditBone *pabone, short use_visibility)
{
@@ -1396,105 +1372,6 @@ static EditBone *editbone_get_child(bArmature *arm, EditBone *pabone, short use_
return chbone;
}
-/* callback for posemode setflag */
-static int pose_setflag_exec (bContext *C, wmOperator *op)
-{
- int flag= RNA_enum_get(op->ptr, "type");
- int mode= RNA_enum_get(op->ptr, "mode");
-
- /* loop over all selected pchans */
- CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pose_bones)
- {
- bone_setflag(&pchan->bone->flag, flag, mode);
- }
- CTX_DATA_END;
-
- /* note, notifier might evolve */
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ED_object_pose_armature(CTX_data_active_object(C)));
-
- return OPERATOR_FINISHED;
-}
-
-/* callback for editbones setflag */
-static int armature_bones_setflag_exec (bContext *C, wmOperator *op)
-{
- int flag= RNA_enum_get(op->ptr, "type");
- int mode= RNA_enum_get(op->ptr, "mode");
-
- /* loop over all selected pchans */
- CTX_DATA_BEGIN(C, EditBone *, ebone, selected_bones)
- {
- bone_setflag(&ebone->flag, flag, mode);
- }
- CTX_DATA_END;
-
- /* note, notifier might evolve */
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, CTX_data_edit_object(C));
-
- return OPERATOR_FINISHED;
-}
-
-/* settings that can be changed */
-static EnumPropertyItem prop_bone_setting_types[] = {
- {BONE_DRAWWIRE, "DRAWWIRE", 0, "Draw Wire", ""},
- {BONE_NO_DEFORM, "DEFORM", 0, "Deform", ""},
- {BONE_MULT_VG_ENV, "MULT_VG", 0, "Multiply Vertex Groups", ""},
- {BONE_HINGE, "HINGE", 0, "Hinge", ""},
- {BONE_NO_SCALE, "NO_SCALE", 0, "No Scale", ""},
- {BONE_EDITMODE_LOCKED, "LOCKED", 0, "Locked", "(For EditMode only)"},
- {0, NULL, 0, NULL, NULL}
-};
-
-/* ways that settings can be changed */
-static EnumPropertyItem prop_bone_setting_modes[] = {
- {0, "CLEAR", 0, "Clear", ""},
- {1, "ENABLE", 0, "Enable", ""},
- {2, "TOGGLE", 0, "Toggle", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-
-void ARMATURE_OT_flags_set (wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Set Bone Flags";
- ot->idname= "ARMATURE_OT_flags_set";
- ot->description= "Set flags for armature bones";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= armature_bones_setflag_exec;
- ot->poll= ED_operator_editarmature;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-
- /* properties */
- ot->prop= RNA_def_enum(ot->srna, "type", prop_bone_setting_types, 0, "Type", "");
- RNA_def_enum(ot->srna, "mode", prop_bone_setting_modes, 0, "Mode", "");
-}
-
-void POSE_OT_flags_set (wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Set Bone Flags";
- ot->idname= "POSE_OT_flags_set";
- ot->description= "Set flags for armature bones";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= pose_setflag_exec;
- ot->poll= ED_operator_posemode;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-
- /* properties */
- ot->prop= RNA_def_enum(ot->srna, "type", prop_bone_setting_types, 0, "Type", "");
- RNA_def_enum(ot->srna, "mode", prop_bone_setting_modes, 0, "Mode", "");
-}
-
-
/* **************** END PoseMode & EditMode *************************** */
/* **************** Posemode stuff ********************** */
@@ -1522,22 +1399,17 @@ static void selectconnected_posebonechildren (Object *ob, Bone *bone, int extend
/* within active object context */
/* previously known as "selectconnected_posearmature" */
static int pose_select_connected_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- ARegion *ar= CTX_wm_region(C);
+{
Object *ob= CTX_data_edit_object(C);
Bone *bone, *curBone, *next= NULL;
int extend= RNA_boolean_get(op->ptr, "extend");
- int x, y;
-
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
view3d_operator_needs_opengl(C);
if (extend)
- bone= get_nearest_bone(C, 0, x, y);
+ bone= get_nearest_bone(C, 0, event->mval[0], event->mval[1]);
else
- bone= get_nearest_bone(C, 1, x, y);
+ bone= get_nearest_bone(C, 1, event->mval[0], event->mval[1]);
if (!bone)
return OPERATOR_CANCELLED;
@@ -1606,21 +1478,15 @@ static int armature_select_linked_invoke(bContext *C, wmOperator *op, wmEvent *e
bArmature *arm;
EditBone *bone, *curBone, *next;
int extend= RNA_boolean_get(op->ptr, "extend");
- int x, y;
- ARegion *ar;
Object *obedit= CTX_data_edit_object(C);
arm= obedit->data;
- ar= CTX_wm_region(C);
-
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
view3d_operator_needs_opengl(C);
if (extend)
- bone= get_nearest_bone(C, 0, x, y);
+ bone= get_nearest_bone(C, 0, event->mval[0], event->mval[1]);
else
- bone= get_nearest_bone(C, 1, x, y);
+ bone= get_nearest_bone(C, 1, event->mval[0], event->mval[1]);
if (!bone)
return OPERATOR_CANCELLED;
@@ -1698,7 +1564,7 @@ void ARMATURE_OT_select_linked(wmOperatorType *ot)
/* does bones and points */
/* note that BONE ROOT only gets drawn for root bones (or without IK) */
-static EditBone *get_nearest_editbonepoint (ViewContext *vc, const short mval[2], ListBase *edbo, int findunsel, int *selmask)
+static EditBone *get_nearest_editbonepoint (ViewContext *vc, const int mval[2], ListBase *edbo, int findunsel, int *selmask)
{
EditBone *ebone;
rcti rect;
@@ -1958,7 +1824,7 @@ static int ebone_select_flag(EditBone *ebone)
}
/* context: editmode armature in view3d */
-int mouse_armature(bContext *C, const short mval[2], int extend)
+int mouse_armature(bContext *C, const int mval[2], int extend)
{
Object *obedit= CTX_data_edit_object(C);
bArmature *arm= obedit->data;
@@ -2365,6 +2231,7 @@ EditBone *ED_armature_edit_bone_add(bArmature *arm, const char *name)
void add_primitive_bone(Scene *scene, View3D *v3d, RegionView3D *rv3d)
{
Object *obedit= scene->obedit; // XXX get from context
+ bArmature *arm= obedit->data;
float obmat[3][3], curs[3], viewmat[3][3], totmat[3][3], imat[3][3];
EditBone *bone;
@@ -2383,7 +2250,9 @@ void add_primitive_bone(Scene *scene, View3D *v3d, RegionView3D *rv3d)
ED_armature_deselect_all(obedit, 0);
/* Create a bone */
- bone= ED_armature_edit_bone_add(obedit->data, "Bone");
+ bone= ED_armature_edit_bone_add(arm, "Bone");
+
+ arm->act_edbone= bone;
copy_v3_v3(bone->head, curs);
@@ -2497,43 +2366,20 @@ static int armature_click_extrude_invoke(bContext *C, wmOperator *op, wmEvent *e
Scene *scene;
ARegion *ar;
View3D *v3d;
- RegionView3D *rv3d;
- float dx, dy, fz, *fp = NULL, dvec[3], oldcurs[3];
- short mx, my, mval[2];
+ float *fp = NULL, tvec[3], oldcurs[3], mval_f[2];
int retv;
scene= CTX_data_scene(C);
ar= CTX_wm_region(C);
v3d = CTX_wm_view3d(C);
- rv3d= CTX_wm_region_view3d(C);
fp= give_cursor(scene, v3d);
copy_v3_v3(oldcurs, fp);
-
- mx= event->x - ar->winrct.xmin;
- my= event->y - ar->winrct.ymin;
- project_short_noclip(ar, fp, mval);
-
- initgrabz(rv3d, fp[0], fp[1], fp[2]);
-
- if(mval[0]!=IS_CLIPPED) {
-
- window_to_3d_delta(ar, dvec, mval[0]-mx, mval[1]-my);
- sub_v3_v3v3(fp, fp, dvec);
- }
- else {
-
- dx= ((float)(mx-(ar->winx/2)))*rv3d->zfac/(ar->winx/2);
- dy= ((float)(my-(ar->winy/2)))*rv3d->zfac/(ar->winy/2);
-
- fz= rv3d->persmat[0][3]*fp[0]+ rv3d->persmat[1][3]*fp[1]+ rv3d->persmat[2][3]*fp[2]+ rv3d->persmat[3][3];
- fz= fz/rv3d->zfac;
-
- fp[0]= (rv3d->persinv[0][0]*dx + rv3d->persinv[1][0]*dy+ rv3d->persinv[2][0]*fz)-rv3d->ofs[0];
- fp[1]= (rv3d->persinv[0][1]*dx + rv3d->persinv[1][1]*dy+ rv3d->persinv[2][1]*fz)-rv3d->ofs[1];
- fp[2]= (rv3d->persinv[0][2]*dx + rv3d->persinv[1][2]*dy+ rv3d->persinv[2][2]*fz)-rv3d->ofs[2];
- }
+
+ VECCOPY2D(mval_f, event->mval);
+ ED_view3d_win_to_3d(ar, fp, mval_f, tvec);
+ copy_v3_v3(fp, tvec);
/* extrude to the where new cursor is and store the operation result */
retv= armature_click_extrude_exec(C, op);
@@ -5548,6 +5394,26 @@ void ED_armature_bone_rename(bArmature *arm, char *oldnamep, char *newnamep)
BKE_animdata_fix_paths_rename(&ob->id, ob->adt, "pose.bones", oldname, newname, 0, 0, 1);
}
}
+
+ {
+ /* correct view locking */
+ bScreen *screen;
+ for(screen= G.main->screen.first; screen; screen= screen->id.next) {
+ ScrArea *sa;
+ /* add regions */
+ for(sa= screen->areabase.first; sa; sa= sa->next) {
+ SpaceLink *sl= sa->spacedata.first;
+ if(sl->spacetype == SPACE_VIEW3D) {
+ View3D *v3d= (View3D *)sl;
+ if(v3d->ob_centre && v3d->ob_centre->data == arm) {
+ if (!strcmp(v3d->ob_centre_bone, oldname)) {
+ BLI_strncpy(v3d->ob_centre_bone, newname, MAXBONENAME);
+ }
+ }
+ }
+ }
+ }
+ }
}
}
diff --git a/source/blender/editors/armature/editarmature_sketch.c b/source/blender/editors/armature/editarmature_sketch.c
index 158c0d23ddc..97f85b92b32 100644
--- a/source/blender/editors/armature/editarmature_sketch.c
+++ b/source/blender/editors/armature/editarmature_sketch.c
@@ -374,16 +374,16 @@ static void sk_autoname(bContext *C, ReebArc *arc)
int valid = 0;
int caps = 0;
- if (BLI_streq(side, ""))
+ if (side[0] == '\0')
{
valid = 1;
}
- else if (BLI_streq(side, "R") || BLI_streq(side, "L"))
+ else if (strcmp(side, "R")==0 || strcmp(side, "L")==0)
{
valid = 1;
caps = 1;
}
- else if (BLI_streq(side, "r") || BLI_streq(side, "l"))
+ else if (strcmp(side, "r")==0 || strcmp(side, "l")==0)
{
valid = 1;
caps = 0;
@@ -702,7 +702,7 @@ static void sk_drawStrokeSubdivision(ToolSettings *toolsettings, SK_Stroke *stk)
}
}
-static SK_Point *sk_snapPointStroke(bContext *C, SK_Stroke *stk, short mval[2], int *dist, int *index, int all_pts)
+static SK_Point *sk_snapPointStroke(bContext *C, SK_Stroke *stk, int mval[2], int *dist, int *index, int all_pts)
{
ARegion *ar = CTX_wm_region(C);
SK_Point *pt = NULL;
@@ -736,7 +736,7 @@ static SK_Point *sk_snapPointStroke(bContext *C, SK_Stroke *stk, short mval[2],
}
#if 0 /* UNUSED 2.5 */
-static SK_Point *sk_snapPointArmature(bContext *C, Object *ob, ListBase *ebones, short mval[2], int *dist)
+static SK_Point *sk_snapPointArmature(bContext *C, Object *ob, ListBase *ebones, int mval[2], int *dist)
{
ARegion *ar = CTX_wm_region(C);
SK_Point *pt = NULL;
@@ -1005,7 +1005,7 @@ static void sk_interpolateDepth(bContext *C, SK_Stroke *stk, int start, int end,
float pval[2];
project_float(ar, stk->points[i].p, pval);
- viewray(ar, v3d, pval, ray_start, ray_normal);
+ ED_view3d_win_to_ray(ar, v3d, pval, ray_start, ray_normal);
mul_v3_fl(ray_normal, distance * progress / length);
add_v3_v3(stk->points[i].p, ray_normal);
@@ -1022,6 +1022,7 @@ static void sk_projectDrawPoint(bContext *C, float vec[3], SK_Stroke *stk, SK_Dr
short cval[2];
float fp[3] = {0, 0, 0};
float dvec[3];
+ float mval_f[2];
if (last != NULL)
{
@@ -1032,7 +1033,8 @@ static void sk_projectDrawPoint(bContext *C, float vec[3], SK_Stroke *stk, SK_Dr
/* method taken from editview.c - mouse_cursor() */
project_short_noclip(ar, fp, cval);
- window_to_3d_delta(ar, dvec, cval[0] - dd->mval[0], cval[1] - dd->mval[1]);
+ VECSUB2D(mval_f, cval, dd->mval);
+ ED_view3d_win_to_delta(ar, mval_f, dvec);
sub_v3_v3v3(vec, fp, dvec);
}
@@ -1721,7 +1723,7 @@ static int sk_getIntersections(bContext *C, ListBase *list, SK_Sketch *sketch, S
mval[0] = vi[0];
mval[1] = vi[1];
- viewline(ar, v3d, mval, ray_start, ray_end);
+ ED_view3d_win_to_segment_clip(ar, v3d, mval, ray_start, ray_end);
isect_line_line_v3( stk->points[s_i].p,
stk->points[s_i + 1].p,
@@ -2157,7 +2159,7 @@ static void sk_applyGesture(bContext *C, SK_Sketch *sketch)
/********************************************/
-static int sk_selectStroke(bContext *C, SK_Sketch *sketch, const short mval[2], int extend)
+static int sk_selectStroke(bContext *C, SK_Sketch *sketch, const int mval[2], int extend)
{
ViewContext vc;
rcti rect;
@@ -2473,7 +2475,7 @@ static int sketch_delete(bContext *C, wmOperator *UNUSED(op), wmEvent *UNUSED(ev
return OPERATOR_FINISHED;
}
-void BIF_sk_selectStroke(bContext *C, const short mval[2], short extend)
+void BIF_sk_selectStroke(bContext *C, const int mval[2], short extend)
{
ToolSettings *ts = CTX_data_tool_settings(C);
SK_Sketch *sketch = contextSketch(C, 0);
diff --git a/source/blender/editors/armature/poseUtils.c b/source/blender/editors/armature/poseUtils.c
index 7ade93076e5..3c74a816fdb 100644
--- a/source/blender/editors/armature/poseUtils.c
+++ b/source/blender/editors/armature/poseUtils.c
@@ -121,7 +121,7 @@ static void fcurves_to_pchan_links_get (ListBase *pfLinks, Object *ob, bAction *
pfl->oldangle = pchan->rotAngle;
/* make copy of custom properties */
- if (transFlags & ACT_TRANS_PROP)
+ if (pchan->prop && (transFlags & ACT_TRANS_PROP))
pfl->oldprops = IDP_CopyProperty(pchan->prop);
}
}
diff --git a/source/blender/editors/armature/poselib.c b/source/blender/editors/armature/poselib.c
index 5897da97f85..5b4da1a38df 100644
--- a/source/blender/editors/armature/poselib.c
+++ b/source/blender/editors/armature/poselib.c
@@ -483,7 +483,7 @@ void POSELIB_OT_pose_add (wmOperatorType *ot)
/* ----- */
/* can be called with C == NULL */
-static EnumPropertyItem *poselib_stored_pose_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *poselib_stored_pose_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *ob = get_poselib_object(C);
bAction *act = (ob) ? ob->poselib : NULL;
@@ -527,7 +527,7 @@ static int poselib_remove_exec (bContext *C, wmOperator *op)
}
/* get index (and pointer) of pose to remove */
- marker= BLI_findlink(&act->markers, RNA_int_get(op->ptr, "pose"));
+ marker= BLI_findlink(&act->markers, RNA_enum_get(op->ptr, "pose"));
if (marker == NULL) {
BKE_reportf(op->reports, RPT_ERROR, "Invalid Pose specified %d", RNA_int_get(op->ptr, "pose"));
return OPERATOR_CANCELLED;
diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c
index 719362d82c5..8176aa5893b 100644
--- a/source/blender/editors/armature/poseobject.c
+++ b/source/blender/editors/armature/poseobject.c
@@ -1169,7 +1169,7 @@ void POSE_OT_paste (wmOperatorType *ot)
/* properties */
RNA_def_boolean(ot->srna, "flipped", 0, "Flipped on X-Axis", "Paste the stored pose flipped on to current pose");
- RNA_def_boolean(ot->srna, "selected_mask", 0, "On Selected Only", "Only paste the stored post on to selected bones in the current pose");
+ RNA_def_boolean(ot->srna, "selected_mask", 0, "On Selected Only", "Only paste the stored pose on to selected bones in the current pose");
}
/* ********************************************** */
diff --git a/source/blender/editors/curve/CMakeLists.txt b/source/blender/editors/curve/CMakeLists.txt
index a73fb9502a6..9bad02eca1f 100644
--- a/source/blender/editors/curve/CMakeLists.txt
+++ b/source/blender/editors/curve/CMakeLists.txt
@@ -22,14 +22,18 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
curve_ops.c
editcurve.c
@@ -39,4 +43,4 @@ set(SRC
curve_intern.h
)
-blender_add_lib(bf_editor_curve "${SRC}" "${INC}")
+blender_add_lib(bf_editor_curve "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c
index cb73f20fe7b..06d88b16fa8 100644
--- a/source/blender/editors/curve/editcurve.c
+++ b/source/blender/editors/curve/editcurve.c
@@ -780,7 +780,7 @@ static void calc_shapeKeys(Object *obedit)
/* are there keys? */
if(cu->key) {
- int a, i, j;
+ int a, i;
EditNurb *editnurb= cu->editnurb;
KeyBlock *currkey;
KeyBlock *actkey= BLI_findlink(&cu->key->block, editnurb->shapenr-1);
@@ -804,7 +804,6 @@ static void calc_shapeKeys(Object *obedit)
}
if(act_is_basis) { /* active key is a base */
- int j;
int totvec= 0;
/* Calculate needed memory to store offset */
@@ -831,6 +830,7 @@ static void calc_shapeKeys(Object *obedit)
oldbezt= getKeyIndexOrig_bezt(editnurb, bezt);
if (oldbezt) {
+ int j;
for (j= 0; j < 3; ++j) {
VECSUB(ofs[i], bezt->vec[j], oldbezt->vec[j]);
i++;
@@ -878,6 +878,7 @@ static void calc_shapeKeys(Object *obedit)
bezt= nu->bezt;
a= nu->pntsu;
while(a--) {
+ int j;
oldbezt= getKeyIndexOrig_bezt(editnurb, bezt);
for (j= 0; j < 3; ++j, ++i) {
@@ -932,6 +933,7 @@ static void calc_shapeKeys(Object *obedit)
while(a--) {
index= getKeyIndexOrig_keyIndex(editnurb, bezt);
if (index >= 0) {
+ int j;
curofp= ofp + index;
for (j= 0; j < 3; ++j, ++i) {
@@ -953,6 +955,7 @@ static void calc_shapeKeys(Object *obedit)
fp+= 3; /* alphas */
} else {
+ int j;
for (j= 0; j < 3; ++j, ++i) {
VECCOPY(fp, bezt->vec[j]);
fp+= 3;
@@ -3309,7 +3312,7 @@ static void findnearestNurbvert__doClosest(void *userData, Nurb *nu, BPoint *bp,
}
}
-static short findnearestNurbvert(ViewContext *vc, short sel, int mval[2], Nurb **nurb, BezTriple **bezt, BPoint **bp)
+static short findnearestNurbvert(ViewContext *vc, short sel, const int mval[2], Nurb **nurb, BezTriple **bezt, BPoint **bp)
{
/* sel==1: selected gets a disadvantage */
/* in nurb and bezt or bp the nearest is written */
@@ -3532,6 +3535,11 @@ static int convertspline(short type, Nurb *nu)
return 0;
}
+void ED_nurb_set_spline_type(Nurb *nu, int type)
+{
+ convertspline(type, nu);
+}
+
static int set_spline_type_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
@@ -4169,7 +4177,7 @@ void CURVE_OT_make_segment(wmOperatorType *ot)
/***************** pick select from 3d view **********************/
-int mouse_nurb(bContext *C, const short mval[2], int extend)
+int mouse_nurb(bContext *C, const int mval[2], int extend)
{
Object *obedit= CTX_data_edit_object(C);
Curve *cu= obedit->data;
@@ -4666,7 +4674,6 @@ static int add_vertex_invoke(bContext *C, wmOperator *op, wmEvent *event)
Curve *cu;
ViewContext vc;
float location[3];
- short mval[2];
Nurb *nu;
BezTriple *bezt;
@@ -4688,10 +4695,7 @@ static int add_vertex_invoke(bContext *C, wmOperator *op, wmEvent *event)
copy_v3_v3(location, give_cursor(vc.scene, vc.v3d));
}
- mval[0]= event->x - vc.ar->winrct.xmin;
- mval[1]= event->y - vc.ar->winrct.ymin;
-
- view3d_get_view_aligned_coordinate(&vc, location, mval, TRUE);
+ view3d_get_view_aligned_coordinate(&vc, location, event->mval, TRUE);
RNA_float_set_array(op->ptr, "location", location);
}
@@ -4987,21 +4991,18 @@ void CURVE_OT_select_linked(wmOperatorType *ot)
static int select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
Object *obedit= CTX_data_edit_object(C);
- ARegion *ar= CTX_wm_region(C);
ViewContext vc;
Nurb *nu;
BezTriple *bezt;
BPoint *bp;
- int a, location[2], deselect;
+ int a, deselect;
deselect= RNA_boolean_get(op->ptr, "deselect");
- location[0]= event->x - ar->winrct.xmin;
- location[1]= event->y - ar->winrct.ymin;
view3d_operator_needs_opengl(C);
view3d_set_viewcontext(C, &vc);
- findnearestNurbvert(&vc, 1, location, &nu, &bezt, &bp);
+ findnearestNurbvert(&vc, 1, event->mval, &nu, &bezt, &bp);
if(bezt) {
a= nu->pntsu;
@@ -6118,6 +6119,7 @@ int join_curve_exec(bContext *C, wmOperator *UNUSED(op))
mul_m4_v3(cmat, bezt->vec[2]);
bezt++;
}
+ calchandlesNurb(newnu);
}
if( (bp= newnu->bp) ) {
a= newnu->pntsu*nu->pntsv;
diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt
index a359b0ef6f5..17e3a868a8c 100644
--- a/source/blender/editors/datafiles/CMakeLists.txt
+++ b/source/blender/editors/datafiles/CMakeLists.txt
@@ -19,45 +19,69 @@
#
# ***** END GPL LICENSE BLOCK *****
-set(INC "")
+set(INC
+)
+
+set(INC_SYS
+
+)
+
+# blender and player
set(SRC
Bfont.c
- add.png.c
bfont.ttf.c
- blenderbuttons.c
- blob.png.c
- blur.png.c
- bmonofont.ttf.c
- clay.png.c
- clone.png.c
- crease.png.c
- darken.png.c
- draw.png.c
- fill.png.c
- flatten.png.c
- grab.png.c
- inflate.png.c
- layer.png.c
- lighten.png.c
- mix.png.c
- multiply.png.c
- nudge.png.c
- pinch.png.c
- preview.blend.c
- prvicons.c
- scrape.png.c
- smear.png.c
- smooth.png.c
- snake_hook.png.c
- soften.png.c
- splash.png.c
- startup.blend.c
- subtract.png.c
- texdraw.png.c
- thumb.png.c
- twist.png.c
- vertexdraw.png.c
)
-blender_add_lib(bf_editor_datafiles "${SRC}" "${INC}")
+if(WITH_BLENDER)
+ # blender only
+ list(APPEND SRC
+ startup.blend.c
+ bmonofont.ttf.c
+ )
+
+ if(NOT WITH_HEADLESS)
+ # blender UI only
+ list(APPEND SRC
+ # blends
+ preview.blend.c
+
+ # images
+ splash.png.c
+ blenderbuttons.c
+
+ # brushes
+ add.png.c
+ blob.png.c
+ blur.png.c
+ clay.png.c
+ clone.png.c
+ crease.png.c
+ darken.png.c
+ draw.png.c
+ fill.png.c
+ flatten.png.c
+ grab.png.c
+ inflate.png.c
+ layer.png.c
+ lighten.png.c
+ mix.png.c
+ multiply.png.c
+ nudge.png.c
+ pinch.png.c
+ prvicons.c
+ scrape.png.c
+ smear.png.c
+ smooth.png.c
+ snake_hook.png.c
+ soften.png.c
+ subtract.png.c
+ texdraw.png.c
+ thumb.png.c
+ twist.png.c
+ vertexdraw.png.c
+ )
+ endif()
+endif()
+
+blender_add_lib(bf_editor_datafiles "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/datafiles/preview.blend.c b/source/blender/editors/datafiles/preview.blend.c
index b27fbd328bd..77749fd6592 100644
--- a/source/blender/editors/datafiles/preview.blend.c
+++ b/source/blender/editors/datafiles/preview.blend.c
@@ -1,586 +1,750 @@
-/** \file blender/editors/datafiles/preview.blend.c
- * \ingroup eddatafiles
- */
-/* DataToC output of file <preview_blend> */
+/* DataToC output of file <preview1_blend> */
-int datatoc_preview_blend_size= 586384;
+int datatoc_preview_blend_size= 495540;
char datatoc_preview_blend[]= {
- 66, 76, 69, 78, 68, 69, 82, 95,118, 50, 53, 48, 82, 69, 78, 68,
- 32, 0, 0, 0, 16,244, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0, 0,112,114,101,118,105,101,119, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 32, 0, 0, 0,160,243, 34, 0,186, 0, 0, 0,
- 1, 0, 0, 0, 32, 32, 32, 48, 0, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1, 32, 95,178, 3,160, 63,179, 3, 0, 0, 0, 0,
- 64, 0, 0, 0, 87, 77, 0, 0,140, 0, 0, 0,152, 93,178, 3, 76, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 94,178, 3,240,207, 72, 1, 88, 94,178, 3, 88, 94,178, 3, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 84, 72, 1,
-216, 15,158, 3, 68, 65, 84, 65,148, 0, 0, 0, 88, 94,178, 3, 77, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 15, 75, 1, 1, 0, 0, 0, 0, 0, 0, 0, 32, 95,178, 3, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,120, 7,149, 4, 0, 0, 0, 0,
- 1, 0,238, 3, 0, 0, 1, 0, 0, 0, 0, 0,200,110, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-144,222,154, 3, 0, 0, 0, 0, 0, 0, 0, 0, 16, 79,156, 3,136, 37,159, 3,128, 85, 72, 1,248, 50, 72, 1,184,117, 74, 1,
- 56, 20,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,140, 0, 0, 0, 32, 95,178, 3,178, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82,115, 99,114,101,101,110, 0, 45, 83, 99,114,105,112,116,
-105,110,103, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,225,155, 3, 88,217,155, 3,120,225,154, 3,
-224,239,157, 3,224,225,153, 3,112, 13,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,160, 63,179, 3, 0, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 87, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 24,225,155, 3,179, 0, 0, 0, 1, 0, 0, 0,
- 8, 2,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 8, 2,156, 3,
-179, 0, 0, 0, 1, 0, 0, 0, 80, 16,156, 3, 24,225,155, 3, 0, 0, 0, 0, 0, 0,149, 4, 0, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0, 80, 16,156, 3,179, 0, 0, 0, 1, 0, 0, 0, 48,225,154, 3, 8, 2,156, 3, 0, 0, 0, 0,120, 7,149, 4,
- 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48,225,154, 3,179, 0, 0, 0, 1, 0, 0, 0, 48, 11,156, 3, 80, 16,156, 3,
- 0, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48, 11,156, 3,179, 0, 0, 0, 1, 0, 0, 0,
-224,239,156, 3, 48,225,154, 3, 0, 0, 0, 0, 0, 0,120, 4, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,224,239,156, 3,
-179, 0, 0, 0, 1, 0, 0, 0,232,206,159, 3, 48, 11,156, 3, 0, 0, 0, 0,120, 7,120, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0,232,206,159, 3,179, 0, 0, 0, 1, 0, 0, 0,136, 3,156, 3,224,239,156, 3, 0, 0, 0, 0, 8, 6, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,136, 3,156, 3,179, 0, 0, 0, 1, 0, 0, 0, 0,219,155, 3,232,206,159, 3,
- 0, 0, 0, 0, 8, 6,120, 4, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 0,219,155, 3,179, 0, 0, 0, 1, 0, 0, 0,
- 0,177,154, 3,136, 3,156, 3, 0, 0, 0, 0,192, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 0,177,154, 3,
-179, 0, 0, 0, 1, 0, 0, 0,144, 72,160, 3, 0,219,155, 3, 0, 0, 0, 0,192, 3,120, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0,144, 72,160, 3,179, 0, 0, 0, 1, 0, 0, 0,216, 12,156, 3, 0,177,154, 3, 0, 0, 0, 0,192, 3, 44, 3,
- 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,216, 12,156, 3,179, 0, 0, 0, 1, 0, 0, 0, 40,175,163, 3,144, 72,160, 3,
- 0, 0, 0, 0, 8, 6, 44, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 40,175,163, 3,179, 0, 0, 0, 1, 0, 0, 0,
- 88,217,155, 3,216, 12,156, 3, 0, 0, 0, 0,192, 3,100, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 88,217,155, 3,
-179, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40,175,163, 3, 0, 0, 0, 0, 8, 6,100, 3, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,120,225,154, 3,180, 0, 0, 0, 1, 0, 0, 0,224, 7,156, 3, 0, 0, 0, 0, 8, 2,156, 3, 80, 16,156, 3,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224, 7,156, 3,180, 0, 0, 0, 1, 0, 0, 0,160, 31,160, 3,
-120,225,154, 3, 8, 2,156, 3, 48, 11,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,160, 31,160, 3,
-180, 0, 0, 0, 1, 0, 0, 0, 8, 5,156, 3,224, 7,156, 3, 80, 16,156, 3,224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0, 8, 5,156, 3,180, 0, 0, 0, 1, 0, 0, 0,224,112,155, 3,160, 31,160, 3, 48, 11,156, 3,
-224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,112,155, 3,180, 0, 0, 0, 1, 0, 0, 0,
- 8, 64,158, 3, 8, 5,156, 3, 48,225,154, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
- 8, 64,158, 3,180, 0, 0, 0, 1, 0, 0, 0,144,215,163, 3,224,112,155, 3,136, 3,156, 3,224,239,156, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,215,163, 3,180, 0, 0, 0, 1, 0, 0, 0, 16, 74,160, 3, 8, 64,158, 3,
-136, 3,156, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16, 74,160, 3,180, 0, 0, 0,
- 1, 0, 0, 0,136, 9,156, 3,144,215,163, 3, 48,225,154, 3,224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,136, 9,156, 3,180, 0, 0, 0, 1, 0, 0, 0, 16, 71,160, 3, 16, 74,160, 3, 24,225,155, 3, 48, 11,156, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16, 71,160, 3,180, 0, 0, 0, 1, 0, 0, 0,184,240,159, 3,
-136, 9,156, 3, 0,219,155, 3, 24,225,155, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184,240,159, 3,
-180, 0, 0, 0, 1, 0, 0, 0,136,128,154, 3, 16, 71,160, 3, 0,219,155, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0,136,128,154, 3,180, 0, 0, 0, 1, 0, 0, 0,168,220,155, 3,184,240,159, 3, 0,177,154, 3,
- 48, 11,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,220,155, 3,180, 0, 0, 0, 1, 0, 0, 0,
-248, 17,156, 3,136,128,154, 3, 0,177,154, 3,136, 3,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
-248, 17,156, 3,180, 0, 0, 0, 1, 0, 0, 0,136, 46,155, 3,168,220,155, 3, 0,177,154, 3, 0,219,155, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136, 46,155, 3,180, 0, 0, 0, 1, 0, 0, 0, 32,205,155, 3,248, 17,156, 3,
- 0,219,155, 3,144, 72,160, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,205,155, 3,180, 0, 0, 0,
- 1, 0, 0, 0,224, 95,178, 3,136, 46,155, 3,216, 12,156, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,224, 95,178, 3,180, 0, 0, 0, 1, 0, 0, 0,224,111,159, 3, 32,205,155, 3,216, 12,156, 3,144, 72,160, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,111,159, 3,180, 0, 0, 0, 1, 0, 0, 0,224,239,157, 3,
-224, 95,178, 3, 0,177,154, 3,144, 72,160, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,239,157, 3,
-180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224,111,159, 3,136, 3,156, 3,216, 12,156, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,112, 0, 0, 0,224,225,153, 3,184, 0, 0, 0, 1, 0, 0, 0, 16,102,155, 3, 0, 0, 0, 0, 48, 11,156, 3,
- 8, 2,156, 3, 80, 16,156, 3,224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,121, 4, 0, 0,149, 4, 0, 0,
- 7, 7,121, 7, 29, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248,193, 65, 1, 64, 63,179, 3, 64, 63,179, 3,216, 56,155, 3, 40, 96,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,200, 89,154, 3,
-128,144, 74, 1, 68, 65, 84, 65,236, 0, 0, 0,216, 56,155, 3,185, 0, 0, 0, 1, 0, 0, 0, 40, 96,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64,103, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,239, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,213, 68, 0, 0,200, 65, 0,192,213, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,121, 7, 26, 0,121, 7, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,121, 4, 0, 0,146, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,121, 7, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32,195, 65, 1, 8,235,154, 3, 8,235,154, 3, 0, 0, 0, 0, 0, 0, 0, 0, 88,204,163, 3, 8,153, 71, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 40, 96,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 56,155, 3,
- 0, 0, 0, 0, 0,240,107, 69, 0,128,206,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,109, 69, 0, 0, 32,192, 0, 0, 0,191,
-104, 7, 0, 0,121, 7, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,103, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,103, 7, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 3, 0, 2, 0, 0, 4, 6, 0,121, 7, 3, 0,104, 7, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,147, 4, 0, 0,149, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,121, 7, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-144,194, 65, 1, 32,142, 78, 1,136,236,154, 3, 72, 97,178, 3, 24,100,178, 3,128,153, 71, 1,112,154, 71, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 72, 97,178, 3,181, 0, 0, 0, 1, 0, 0, 0,176, 98,178, 3, 0, 0, 0, 0,
-128,118,159, 3, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,176, 98,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0, 24,100,178, 3, 72, 97,178, 3,224,166,160, 3, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,254,208, 14, 98, 1, 0, 0, 0, 0,
- 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 53, 56, 82, 69, 78, 68, 32, 0, 0, 0,
+ 0,117,192,137,255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0, 0,112,114,101,118,105,101,119, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 32, 1, 0, 0, 16,116,192,137,255,127, 0, 0,
+199, 0, 0, 0, 1, 0, 0, 0, 32, 32, 32, 49, 1, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,248,239, 48, 3, 0, 0, 0, 0,
+ 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 2, 64, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,100,115,107, 47,100, 97,116,
+ 97, 47,115,114, 99, 47, 98,108,101,110,100,101,114, 47, 98,108,101,110,100,101,114, 47,115,111,117,114, 99,101, 47, 98,108,101,
+110,100,101,114, 47,101,100,105,116,111,114,115, 47,100, 97,116, 97,102,105,108,101,115, 47,112,114,101,118,105,101,119, 49, 46,
+ 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 24, 1, 0, 0, 40,217, 31, 3, 0, 0, 0, 0,106, 1, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200,239, 16, 3, 0, 0, 0, 0,200,239, 16, 3, 0, 0, 0, 0,200,239, 16, 3, 0, 0, 0, 0,
+200,239, 16, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136, 85, 3, 2, 0, 0, 0, 0,136, 85, 3, 2, 0, 0, 0, 0,136, 85, 3, 2, 0, 0, 0, 0,
+ 72, 26,251, 2, 0, 0, 0, 0, 72, 26,251, 2, 0, 0, 0, 0, 72, 26,251, 2, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,
+200,239, 16, 3, 0, 0, 0, 0,107, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+176,162,211, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,248,239, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 6, 0,126, 7, 28, 4, 0, 0, 0, 0, 1, 0, 5, 0,238, 3, 5, 0, 1, 0, 0, 0,168,128, 3, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,104,169, 3, 3, 0, 0, 0, 0,
+ 40, 31, 17, 3, 0, 0, 0, 0, 40, 31, 17, 3, 0, 0, 0, 0,104, 29,251, 2, 0, 0, 0, 0,200, 27,251, 2, 0, 0, 0, 0,
+152, 28,251, 2, 0, 0, 0, 0,152, 28,251, 2, 0, 0, 0, 0,184, 50,251, 2, 0, 0, 0, 0,248,253, 57, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,248,239, 48, 3, 0, 0, 0, 0,
+193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 82,115, 99,114,101,101,110, 0, 45, 83, 99,114,105,112,116,105,110,103, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,248,241, 48, 3, 0, 0, 0, 0,
+104,242, 48, 3, 0, 0, 0, 0, 72,250, 48, 3, 0, 0, 0, 0,184,250, 48, 3, 0, 0, 0, 0, 88,135, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 85,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88, 11,223, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 88, 11,223, 1, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,
+194, 0, 0, 0, 1, 0, 0, 0,248,196, 20, 3, 0, 0, 0, 0, 88, 11,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 28, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,196, 20, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+248,196, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+248,152,192, 1, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 1, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+194, 0, 0, 0, 1, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 1, 4, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+168,185, 3, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 1, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,
+194, 0, 0, 0, 1, 0, 0, 0, 24,241, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+196, 3,216, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,241, 48, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
+136,241, 48, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6,216, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,136,241, 48, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248,241, 48, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 12, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+248,241, 48, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,241, 48, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 12, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,242, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,216,242, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,
+ 88, 11,223, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,242, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 72,243, 48, 3, 0, 0, 0, 0,104,242, 48, 3, 0, 0, 0, 0, 88, 11,223, 1, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,243, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,184,243, 48, 3, 0, 0, 0, 0,216,242, 48, 3, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,
+248,152,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,243, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 40,244, 48, 3, 0, 0, 0, 0, 72,243, 48, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,244, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,152,244, 48, 3, 0, 0, 0, 0,184,243, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+248,196, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,244, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 8,245, 48, 3, 0, 0, 0, 0, 40,244, 48, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,245, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,120,245, 48, 3, 0, 0, 0, 0,152,244, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,245, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,232,245, 48, 3, 0, 0, 0, 0, 8,245, 48, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+248,196, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,245, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 88,246, 48, 3, 0, 0, 0, 0,120,245, 48, 3, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,246, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,200,246, 48, 3, 0, 0, 0, 0,232,245, 48, 3, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,246, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 56,247, 48, 3, 0, 0, 0, 0, 88,246, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,247, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,168,247, 48, 3, 0, 0, 0, 0,200,246, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,247, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 24,248, 48, 3, 0, 0, 0, 0, 56,247, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,248, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,136,248, 48, 3, 0, 0, 0, 0,168,247, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,248, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,248,248, 48, 3, 0, 0, 0, 0, 24,248, 48, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,248, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,104,249, 48, 3, 0, 0, 0, 0,136,248, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,249, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,216,249, 48, 3, 0, 0, 0, 0,248,248, 48, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,249, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 72,250, 48, 3, 0, 0, 0, 0,104,249, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+248, 34, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,250, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,249, 48, 3, 0, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,250, 48, 3, 0, 0, 0, 0,
+197, 0, 0, 0, 1, 0, 0, 0,104, 3, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,
+ 88, 11,223, 1, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0, 2, 4, 0, 0, 28, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0,
+184, 96,194, 1, 0, 0, 0, 0, 40,214,222, 1, 0, 0, 0, 0, 40,214,222, 1, 0, 0, 0, 0,168,251, 48, 3, 0, 0, 0, 0,
+ 24,253, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 75, 8, 2, 0, 0, 0, 0,
+104,103, 7, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,251, 48, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 24,253, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,156, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0, 2, 4, 0, 0, 27, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+127, 7, 26, 0, 16, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 98,194, 1, 0, 0, 0, 0, 56,178, 56, 3, 0, 0, 0, 0, 56,178, 56, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,146, 49, 3, 0, 0, 0, 0,216,165, 24, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,253, 48, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168,251, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,107, 69, 0,128,206,195, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0,192,121, 68,110, 7, 0, 0,127, 7, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0,103, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,109, 7, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
+ 2, 0, 0, 4, 10, 0,127, 7,231, 3,110, 7,231, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 28, 4, 0, 0, 28, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 97,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,254, 48, 3, 0, 0, 0, 0,
+200, 1, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,254, 48, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
+ 40, 0, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,220,255,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
+ 40, 0, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,200, 1, 49, 3, 0, 0, 0, 0,136,254, 48, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,254,208, 14, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0, 24,100,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,176, 98,178, 3,176,159,155, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 1, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73, 78, 70, 79, 95, 80, 84, 95, 98,111,116,116,111,109, 98, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73, 78, 70, 79, 95, 80, 84, 95, 98,111,116,116,111,109, 98, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 86,254,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 16,102,155, 3,184, 0, 0, 0, 1, 0, 0, 0,144,214, 76, 1,
-224,225,153, 3,232,206,159, 3,136, 3,156, 3,224,239,156, 3, 48,225,154, 3, 0, 0, 0, 0, 9, 6, 0, 0,120, 7, 0, 0,
- 0, 0, 0, 0,119, 4, 0, 0, 4, 4,112, 1,120, 4, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128,191, 65, 1,232,232,160, 3, 56,186,178, 3,128,101,178, 3,160,102,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 50,155, 3, 72,155, 71, 1, 68, 65, 84, 65,236, 0, 0, 0,128,101,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-160,102,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,184, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,164, 67, 0, 0,200, 65,
- 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,112, 1,
- 26, 0,112, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 6, 0, 0,120, 7, 0, 0, 94, 4, 0, 0,119, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 1, 26, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104,193, 65, 1,144,128,163, 3,144,128,163, 3, 0, 0, 0, 0, 0, 0, 0, 0,168,155, 71, 1,
-152,156, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,160,102,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,128,101,178, 3, 0, 0, 0, 0, 0,128,177, 67, 0,160,143,196, 0, 0, 0, 0, 0, 0, 0, 0, 22, 12,186, 67,
-116,195,145,196, 0, 0, 0, 0, 95, 1, 0, 0,112, 1, 0, 0, 18, 0, 0, 0, 93, 4, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0, 18, 0, 0, 0, 93, 4, 0, 0, 0, 0,128, 67, 0, 0, 40, 66,
- 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 3, 0, 2, 0, 0, 4, 6, 0,112, 1,
- 94, 4, 95, 1, 76, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 6, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 93, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 1, 94, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,192, 65, 1,240,146,203, 3,112, 73,163, 3,192,103,178, 3, 88,147,178, 3, 96,158, 71, 1,
- 80,159, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,103,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
- 40,105,178, 3, 0, 0, 0, 0,168,192, 65, 1, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,
-120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,
-120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,116, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
- 40,105,178, 3,181, 0, 0, 0, 1, 0, 0, 0,144,106,178, 3,192,103,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 86,254,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,
-240, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,144,106,178, 3,181, 0, 0, 0, 1, 0, 0, 0,248,107,178, 3, 40,105,178, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+104, 3, 49, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248, 79, 49, 3, 0, 0, 0, 0,184,250, 48, 3, 0, 0, 0, 0,
+184,154, 3, 2, 0, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,248,196, 20, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 4, 4,110, 1, 1, 4, 2, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0, 88, 92,194, 1, 0, 0, 0, 0,184, 78, 49, 3, 0, 0, 0, 0,184, 78, 49, 3, 0, 0, 0, 0,
+ 88, 4, 49, 3, 0, 0, 0, 0,200, 5, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72,142, 25, 3, 0, 0, 0, 0,184, 10, 25, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 4, 49, 3, 0, 0, 0, 0,
+198, 0, 0, 0, 1, 0, 0, 0,200, 5, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,183, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,109, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,182, 67, 0, 0,200, 65, 0,128,182, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,110, 1, 26, 0,110, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 6, 0, 0,126, 7, 0, 0,231, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,110, 1, 26, 0, 17, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200, 95,194, 1, 0, 0, 0, 0,248,170, 28, 3, 0, 0, 0, 0,248,170, 28, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,148,243, 3, 0, 0, 0, 0,184,236, 3, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 5, 49, 3, 0, 0, 0, 0,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 4, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 67,
+ 0, 96,132,196, 0, 0, 0, 0, 0, 0, 0, 0,180,252,184, 67, 55, 97,132,196, 0, 0, 0, 0, 93, 1, 0, 0,110, 1, 0, 0,
+ 0, 0, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 92, 1, 0, 0,
+ 0, 0, 0, 0,230, 3, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 0, 0, 0, 64,
+ 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,110, 1,231, 3, 93, 1,231, 3, 0, 0, 88,234, 3, 3, 0, 0, 0, 0,
+ 5, 0, 0, 0, 4, 0, 0, 0, 17, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,110, 1,231, 3, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120, 93,194, 1, 0, 0, 0, 0, 88,111, 27, 3, 0, 0, 0, 0,136,197, 56, 3, 0, 0, 0, 0,
+ 56, 7, 49, 3, 0, 0, 0, 0, 88,237, 6, 2, 0, 0, 0, 0, 72, 82, 3, 2, 0, 0, 0, 0,200, 43, 26, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 7, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 8, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 94,194, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,113, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 8, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 10, 49, 3, 0, 0, 0, 0,
+ 56, 7, 49, 3, 0, 0, 0, 0,120, 3,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,113, 1, 36, 0,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 10, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 12, 49, 3, 0, 0, 0, 0,216, 8, 49, 3, 0, 0, 0, 0,232, 6,131, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,255,240, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,255,113, 1,136, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 40, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,248,107,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0, 96,109,178, 3,144,106,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,108, 97,109,112,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,108, 97,109,112,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 12, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 13, 49, 3, 0, 0, 0, 0,
+120, 10, 49, 3, 0, 0, 0, 0, 24, 10,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,109,112, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,254,113, 1,171, 0,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,254,240, 0,149, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0, 96,109,178, 3,181, 0, 0, 0, 1, 0, 0, 0,200,110,178, 3,248,107,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 13, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 15, 49, 3, 0, 0, 0, 0, 24, 12, 49, 3, 0, 0, 0, 0, 72, 16,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 47,254,240, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,254,113, 1, 36, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 42, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,200,110,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 48,112,178, 3,
- 96,109,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 15, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 16, 49, 3, 0, 0, 0, 0,
+184, 13, 49, 3, 0, 0, 0, 0,184, 22,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,112,111,116, 32, 83,104, 97,
+112,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,155,253,113, 1,102, 0,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199,253, 62, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 16, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 18, 49, 3, 0, 0, 0, 0, 88, 15, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 48,112,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0,152,113,178, 3,200,110,178, 3, 48,234,160, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,113, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,116, 1, 61, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0,152,113,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 0,115,178, 3, 48,112,178, 3,184,216,160, 3,
- 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 18, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 20, 49, 3, 0, 0, 0, 0,
+248, 16, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,
+110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,254,113, 1,203, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 20, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 21, 49, 3, 0, 0, 0, 0,152, 18, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,189,254,116, 1,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0,115,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
-104,116,178, 3,152,113,178, 3, 96,218,160, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,
-105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,
-105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,254,113, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,254,116, 1, 58, 0, 24, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-104,116,178, 3,181, 0, 0, 0, 1, 0, 0, 0,208,117,178, 3, 0,115,178, 3, 8,220,160, 3, 0, 0, 0, 0, 82, 69, 78, 68,
- 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
- 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,
-114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,254,
-116, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 21, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 23, 49, 3, 0, 0, 0, 0,
+ 56, 20, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,208,117,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 56,119,178, 3,104,116,178, 3,
-104,188,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,246,251,113, 1, 44, 2,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 23, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 25, 49, 3, 0, 0, 0, 0,216, 21, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213,253,116, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253,113, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 56,119,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0,160,120,178, 3,208,117,178, 3, 16,190,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
-115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
-115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,
-105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,189,253,116, 1, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,160,120,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 8,122,178, 3, 56,119,178, 3,184,191,159, 3, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 25, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 26, 49, 3, 0, 0, 0, 0,
+120, 23, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111,
+ 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,253,113, 1, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,165,253,116, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 26, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 28, 49, 3, 0, 0, 0, 0, 24, 25, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 8,122,178, 3,181, 0, 0, 0, 1, 0, 0, 0,112,123,178, 3,
-160,120,178, 3, 24,174,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,253,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,253,116, 1,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,112,123,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0,216,124,178, 3, 8,122,178, 3,104,177,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 28, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 29, 49, 3, 0, 0, 0, 0,
+184, 26, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
+ 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,253,116, 1, 0, 0,
- 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252,113, 1,130, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0,216,124,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 64,126,178, 3,112,123,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 29, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 31, 49, 3, 0, 0, 0, 0, 88, 28, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252,113, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,184,255,240, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 64,126,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
-168,127,178, 3,216,124,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 31, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 33, 49, 3, 0, 0, 0, 0,
+248, 29, 49, 3, 0, 0, 0, 0,184, 45,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,113, 1, 36, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,255,240, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-168,127,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 16,129,178, 3, 64,126,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95,109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95,109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,116,101,
-114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172,254,
-240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 33, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 34, 49, 3, 0, 0, 0, 0,152, 31, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,255,240, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 34, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 36, 49, 3, 0, 0, 0, 0,
+ 56, 33, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,116,101,114,105, 97,108,
+115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172,254,240, 0,126, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 16,129,178, 3,181, 0, 0, 0, 1, 0, 0, 0,120,130,178, 3,168,127,178, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 36, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 38, 49, 3, 0, 0, 0, 0,216, 34, 49, 3, 0, 0, 0, 0, 40, 55,131, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 71,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,254,240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234,254,113, 1, 76, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,120,130,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0,224,131,178, 3, 16,129,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,
-101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,
-101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,112,101, 32, 75,101,121,115, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 38, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 39, 49, 3, 0, 0, 0, 0,
+120, 36, 49, 3, 0, 0, 0, 0,104, 58,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,112,101, 32, 75,101,
+121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,254,113, 1, 76, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,253,240, 0,126, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 39, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 41, 49, 3, 0, 0, 0, 0, 24, 38, 49, 3, 0, 0, 0, 0,168, 61,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,224,131,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 72,133,178, 3,120,130,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 32, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 32, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,254,113, 1, 94, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,234,252,240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 41, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 42, 49, 3, 0, 0, 0, 0,
+184, 39, 49, 3, 0, 0, 0, 0, 40, 68,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 67,
+111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,253,113, 1, 94, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 72,133,178, 3,181, 0, 0, 0, 1, 0, 0, 0,176,134,178, 3,
-224,131,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,
-115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,
-115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 67,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 42, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 44, 49, 3, 0, 0, 0, 0, 88, 41, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,
+114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,
+114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252,240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,176,134,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0, 24,136,178, 3, 72,133,178, 3,248,225,160, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,255,113, 1,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,255,116, 1,151, 0,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 44, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 46, 49, 3, 0, 0, 0, 0,
+248, 42, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190,254,113, 1,136, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0, 24,136,178, 3,181, 0, 0, 0, 1, 0, 0, 0,128,137,178, 3,176,134,178, 3, 0,210,160, 3,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 46, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 47, 49, 3, 0, 0, 0, 0,152, 44, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,165,254,116, 1,136, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,254,116, 1, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,128,137,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
-232,138,178, 3, 24,136,178, 3,168,211,160, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,
-114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,
-114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,254,116, 1, 86, 0, 0, 0, 0, 0, 0, 0, 6, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 47, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 49, 49, 3, 0, 0, 0, 0,
+ 56, 46, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,102,102,117,115,101, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-232,138,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 80,140,178, 3,128,137,178, 3,176,181,159, 3, 0, 0, 0, 0, 77, 65, 84, 69,
- 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69,
- 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,102,102,
-117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108,253,
-116, 1,179, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,103,254,113, 1, 63, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80,140,178, 3,181, 0, 0, 0, 1, 0, 0, 0,184,141,178, 3,232,138,178, 3,
- 88,183,159, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 49, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 51, 49, 3, 0, 0, 0, 0,216, 47, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 83,112,101, 99,117,108, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,229,252,116, 1,111, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,253,113, 1, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,184,141,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0, 32,143,178, 3, 80,140,178, 3, 96,167,159, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,
-114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,
-114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 97,121, 32, 77,105,114,114,111,114, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,252,116, 1, 0, 0, 24, 0, 0, 0,
- 4, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 51, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 52, 49, 3, 0, 0, 0, 0,
+120, 49, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 97,121, 32, 77,105,114,114,
+111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,252,116, 1, 0, 0,
+ 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0, 32,143,178, 3,181, 0, 0, 0, 1, 0, 0, 0,136,144,178, 3,184,141,178, 3, 8,169,159, 3, 0, 0, 0, 0,
- 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 52, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 54, 49, 3, 0, 0, 0, 0, 24, 51, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 97,121, 32, 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,181,252,116, 1, 0, 0, 24, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 97,121, 32, 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,181,252,116, 1, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,136,144,178, 3,181, 0, 0, 0, 1, 0, 0, 0,240,145,178, 3,
- 32,143,178, 3, 40,208,156, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 97, 99,101, 32, 83, 99, 97,116,116,101,114,105,110,
-103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,157,252,116, 1, 0, 0, 24, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 54, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 55, 49, 3, 0, 0, 0, 0,
+184, 52, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 97,
+ 99,101, 32, 83, 99, 97,116,116,101,114,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,252,113, 1, 0, 0,
+ 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,240,145,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0, 88,147,178, 3,136,144,178, 3, 64, 70,156, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 55, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 57, 49, 3, 0, 0, 0, 0, 88, 54, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225,252,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 57, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 59, 49, 3, 0, 0, 0, 0,
+248, 55, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114, 97,110,100, 0, 0,
+ 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,133,252,116, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,251,113, 1,208, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0, 88,147,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,240,145,178, 3,232, 71,156, 3,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 59, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 60, 49, 3, 0, 0, 0, 0,152, 57, 49, 3, 0, 0, 0, 0, 40, 49,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,131,251,116, 1,234, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,255,113, 1, 58, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 19, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,232,232,160, 3,151, 0, 0, 0, 1, 0, 0, 0,
- 8,154,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,193, 0, 0,163, 67, 0, 64,180,196,
- 0, 0,104, 67, 0, 0, 0,193, 0, 0,163, 67, 0, 64,180,196, 30,209,118, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213, 0, 53, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0,
- 0, 0, 4, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 0, 0, 48, 1, 0, 0, 72, 61,154, 3,255, 20, 0, 0,
-160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,192,148,178, 3,185, 0, 0, 0, 1, 0, 0, 0,224,149,178, 3,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 60, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 62, 49, 3, 0, 0, 0, 0,
+ 56, 59, 49, 3, 0, 0, 0, 0,232, 51,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+116,101,120,116,117,114,101, 95,115,112, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+116,101,120,116,117,114,101, 95,115,112, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,101,120,116,117,114,101, 32,
+ 83,112, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,255,113, 1, 0, 0,
+ 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 62, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 64, 49, 3, 0, 0, 0, 0,216, 60, 49, 3, 0, 0, 0, 0, 24, 71,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115,
+104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115,
+104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,253,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 27, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,224,149,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-192,148,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 64, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 65, 49, 3, 0, 0, 0, 0,
+120, 62, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32,
+ 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,113, 1, 0, 0,
+ 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 65, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 67, 49, 3, 0, 0, 0, 0, 24, 64, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,151,178, 3, 68, 65, 84, 65,216, 2, 0, 0, 0,151,178, 3,145, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 67, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 68, 49, 3, 0, 0, 0, 0,
+184, 65, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 72, 89, 83, 73, 67, 83, 95,
+ 80, 84, 95, 97,100,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 72, 89, 83, 73, 67, 83, 95,
+ 80, 84, 95, 97,100,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115,255,113, 1,105, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 68, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 70, 49, 3, 0, 0, 0, 0, 88, 67, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 82, 84, 73, 67, 76, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,112, 97,114,116,
+105, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 82, 84, 73, 67, 76, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,112, 97,114,116,
+105, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,151,255,113, 1, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 70, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 72, 49, 3, 0, 0, 0, 0,
+248, 68, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148,253,113, 1, 80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 99, 92, 63,
- 43, 35, 2,191,188,238, 46,188, 94, 32,148,188, 23,240, 25, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-201, 77, 68, 64,228, 66,111, 64,230, 97,205,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 72, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 73, 49, 3, 0, 0, 0, 0,152, 70, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,253,113, 1, 83, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 8,154,178, 3,
-146, 0, 0, 0, 1, 0, 0, 0,240,250,157, 3,232,232,160, 3,192,148,178, 3,224,149,178, 3, 1, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 99, 92, 63, 43, 35, 2,191,188,238, 46,188, 94, 32,148,188,
- 23,240, 25, 66, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67,201, 77, 68, 64,228, 66,111, 64,230, 97,205,191,128,191,149, 60,
-116,109, 77,191,248,165,230, 63, 20, 0, 0, 0, 7, 0, 10, 0, 99, 0, 0, 0, 1, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 40,155,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 72,156,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 73, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 75, 49, 3, 0, 0, 0, 0,
+ 56, 72, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,105,114,114,111,114, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,253,113, 1, 0, 0,
+ 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 72,156,178, 3,185, 0, 0, 0, 1, 0, 0, 0,104,157,178, 3, 40,155,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 75, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 77, 49, 3, 0, 0, 0, 0,216, 73, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225,251,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-104,157,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 72,156,178, 3, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,
-205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
-235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,
-235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0,
-240,250,157, 3,150, 0, 0, 0, 1, 0, 0, 0,200,160,178, 3, 8,154,178, 3, 40,155,178, 3,104,157,178, 3, 2, 0, 0, 0,
- 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,
-205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
-235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,
-235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136,158,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0,168,159,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 77, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 88,237, 6, 2, 0, 0, 0, 0,
+120, 75, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,
+114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201,251,113, 1, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,237, 6, 2, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 77, 49, 3, 0, 0, 0, 0,184, 28,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,108, 97,109,
+112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,108, 97,109,
+112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168,159,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,136,158,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,131,253,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 44, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,184, 78, 49, 3, 0, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 0, 0,163, 67,
+ 0, 64,180,196, 0, 0,104, 67, 0, 0, 0,193, 0, 0,163, 67, 0, 64,180,196, 30,209,118, 67, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,124, 2, 0, 0,200,160,178, 3,158, 0, 0, 0,
- 1, 0, 0, 0,184,165,178, 3,240,250,157, 3,136,158,178, 3,168,159,178, 3, 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0, 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,
-225, 2, 0, 0,227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213, 0, 53, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 4, 0, 4, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 8,212, 3, 3, 0, 0, 0, 0,
+255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 79, 49, 3, 0, 0, 0, 0,
+197, 0, 0, 0, 1, 0, 0, 0, 56,117, 49, 3, 0, 0, 0, 0,104, 3, 49, 3, 0, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0,
+248, 34, 4, 3, 0, 0, 0, 0, 24,241, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+197, 3, 0, 0, 15, 6, 0, 0, 0, 0, 0, 0,215, 2, 0, 0, 6, 6, 75, 2,216, 2, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,
+152, 75,194, 1, 0, 0, 0, 0,200, 83, 49, 3, 0, 0, 0, 0,200, 83, 49, 3, 0, 0, 0, 0,232, 80, 49, 3, 0, 0, 0, 0,
+ 88, 82, 49, 3, 0, 0, 0, 0,216, 55, 24, 3, 0, 0, 0, 0,216, 55, 24, 3, 0, 0, 0, 0,200,133,192, 1, 0, 0, 0, 0,
+ 8, 20, 26, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 80, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 88, 82, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 19, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,192, 18, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128, 18, 68, 0, 0,200, 65, 0,128, 18, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 75, 2, 26, 0, 75, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+197, 3, 0, 0, 15, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 75, 2, 26, 0, 19, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168, 83,194, 1, 0, 0, 0, 0,104, 71, 8, 2, 0, 0, 0, 0,104, 71, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168, 56, 24, 3, 0, 0, 0, 0, 40, 28, 25, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 82, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232, 80, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 67, 0, 0, 0, 0, 0, 0, 22, 67,
+ 12,116,186,191, 6, 58, 29, 64, 29,133,235,191,143,194, 53, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0,190, 2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+197, 3, 0, 0, 15, 6, 0, 0, 26, 0, 0, 0,215, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 75, 2,190, 2, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184, 76,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 28, 25, 3, 0, 0, 0, 0,104,241, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0,200, 83, 49, 3, 0, 0, 0, 0,167, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 1, 0, 0,136,187, 49, 3, 0, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,
+154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -594,212 +758,74 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,120,163,178, 3,185, 0, 0, 0, 1, 0, 0, 0,152,164,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,152,164,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,120,163,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,136, 0, 0, 0,184,165,178, 3,156, 0, 0, 0, 1, 0, 0, 0,176,168,178, 3,200,160,178, 3,120,163,178, 3,
-152,164,178, 3, 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,112,166,178, 3,185, 0, 0, 0, 1, 0, 0, 0,144,167,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,144,167,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,112,166,178, 3, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-248, 0, 0, 0,176,168,178, 3,155, 0, 0, 0, 1, 0, 0, 0, 24,172,178, 3,184,165,178, 3,112,166,178, 3,144,167,178, 3,
- 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,216,169,178, 3,185, 0, 0, 0, 1, 0, 0, 0,248,170,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,248,170,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-216,169,178, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192,
- 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70,
- 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,184, 0, 0, 0, 24,172,178, 3,250, 0, 0, 0, 1, 0, 0, 0, 96,176,178, 3,
-176,168,178, 3,216,169,178, 3,248,170,178, 3, 11, 0, 0, 0, 51, 51, 51, 63,248,150,127, 3, 0, 0,128,192, 0, 0,122, 67,
- 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 0,173,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 32,174,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 32,174,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 64,175,178, 3, 0,173,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 64,175,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 32,174,178, 3, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0, 96,176,178, 3,
-157, 0, 0, 0, 1, 0, 0, 0,176,180,178, 3, 24,172,178, 3, 0,173,178, 3, 64,175,178, 3, 13, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,
-124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,
-108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61,
- 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 80,177,178, 3,185, 0, 0, 0, 1, 0, 0, 0,112,178,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112,178,178, 3,185, 0, 0, 0, 1, 0, 0, 0,144,179,178, 3, 80,177,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,144,179,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,112,178,178, 3,
- 0, 0,160,193, 0, 0, 85, 67, 0,160,134,196, 0, 0, 0, 0, 0, 0,160,193, 0, 0, 85, 67, 0,160,134,196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70,
- 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,180,178, 3, 4, 1, 0, 0, 1, 0, 0, 0, 56,186,178, 3, 96,176,178, 3,
- 80,177,178, 3,144,179,178, 3, 12, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,
-108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
-128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68,
- 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,184,181,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0,216,182,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,216,182,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0,248,183,178, 3,184,181,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,248,183,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 24,185,178, 3,216,182,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 24,185,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,248,183,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 52, 0, 0, 0, 56,186,178, 3,154, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,176,180,178, 3,184,181,178, 3, 24,185,178, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,
-144,214, 76, 1,184, 0, 0, 0, 1, 0, 0, 0,184,227,178, 3, 16,102,155, 3, 0,219,155, 3,144, 72,160, 3,216, 12,156, 3,
-232,206,159, 3, 0, 0, 0, 0,193, 3, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 43, 3, 0, 0, 6, 6, 71, 2, 44, 3, 1, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,183, 65, 1,224,188,178, 3,
- 80,227,178, 3,160,186,178, 3,192,187,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,200,159, 71, 1,136, 0,158, 3, 68, 65, 84, 65,
-236, 0, 0, 0,160,186,178, 3,185, 0, 0, 0, 1, 0, 0, 0,192,187,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 5, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 17, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 2, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 3, 68, 0, 0,200, 65, 0,128, 3, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 71, 2, 26, 0, 71, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 26, 0, 6, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,188, 65, 1,144, 58,199, 3,
-144, 58,199, 3, 0, 0, 0, 0, 0, 0, 0, 0, 56, 2,158, 3, 40, 3,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,192,187,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,160,186,178, 3, 0, 0, 0, 0, 0, 0, 22, 67,
- 0, 0, 0, 0, 0, 0, 22, 67, 36,191,184,191,146, 95, 28, 64, 19,174, 7,192, 19,174, 71, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 2, 0, 0,
- 0, 0, 0, 0, 18, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 26, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 18, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,184, 65, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 5,158, 3,104, 6,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 0, 0, 0,224,188,178, 3,156, 0, 0, 0, 1, 0, 0, 0,224,194,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 83,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63,179, 3,
- 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-152,189,178, 3,185, 0, 0, 0, 1, 0, 0, 0,184,190,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-184,190,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152,189,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,191,178, 3, 68, 65, 84, 65,216, 2, 0, 0,
-216,191,178, 3,145, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -815,97 +841,88 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252, 83, 63,104, 25,223,190,115, 52, 40, 62,119,211,159, 62, 96,183,198, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,224,194,178, 3,146, 0, 0, 0, 1, 0, 0, 0, 32,241,154, 3,224,188,178, 3,
-152,189,178, 3,184,190,178, 3, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84,252, 83, 63,104, 25,223,190,115, 52, 40, 62,119,211,159, 62, 96,183,198, 65, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67,
-163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0,224, 54, 56,146, 88, 63,198, 37, 71, 64, 20, 0, 0, 0, 7, 0, 10, 0,
-115, 0, 0, 0, 1, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 0,196,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 32,197,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 32,197,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0,196,178, 3, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,
-172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69,
- 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,
-235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0, 32,241,154, 3,151, 0, 0, 0, 1, 0, 0, 0,160,201,178, 3,
-224,194,178, 3, 0,196,178, 3, 32,197,178, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,
-197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 3, 0,
- 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 64,198,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 96,199,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 96,199,178, 3,185, 0, 0, 0, 1, 0, 0, 0,128,200,178, 3, 64,198,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,128,200,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96,199,178, 3,
- 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0,160,201,178, 3,150, 0, 0, 0, 1, 0, 0, 0,216,204,178, 3, 32,241,154, 3,
- 64,198,178, 3,128,200,178, 3, 2, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68,
- 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,152,202,178, 3,185, 0, 0, 0, 1, 0, 0, 0,184,203,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,184,203,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152,202,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-124, 2, 0, 0,216,204,178, 3,158, 0, 0, 0, 1, 0, 0, 0,200,209,178, 3,160,201,178, 3,152,202,178, 3,184,203,178, 3,
- 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0,
- 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,225, 2, 0, 0,227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,
-227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -921,297 +938,494 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136,207,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-168,208,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168,208,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,136,207,178, 3, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0,
- 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,200,209,178, 3,155, 0, 0, 0, 1, 0, 0, 0,
- 48,213,178, 3,216,204,178, 3,136,207,178, 3,168,208,178, 3, 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,117, 49, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
+ 88,135, 49, 3, 0, 0, 0, 0,248, 79, 49, 3, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,
+168,185, 3, 2, 0, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0,
+ 0, 0, 0, 0, 0, 4, 0, 0, 1, 1,196, 3, 1, 4, 1, 0, 0, 0, 0, 0, 7, 0, 9, 0,136, 52,194, 1, 0, 0, 0, 0,
+184,124, 49, 3, 0, 0, 0, 0,248,131, 49, 3, 0, 0, 0, 0, 40,118, 49, 3, 0, 0, 0, 0,152,119, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,239, 19, 3, 0, 0, 0, 0,232, 69, 8, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 1, 0, 0, 40,118, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152,119, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 79, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,113, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,112, 68, 0, 0,200, 65,
+ 0,192,112, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,196, 3,
+ 26, 0,196, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 26, 0, 13, 0, 1, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 62,194, 1, 0, 0, 0, 0,
+ 8, 70, 20, 3, 0, 0, 0, 0, 8, 70, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104,188, 24, 3, 0, 0, 0, 0,120,181, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 1, 0, 0,152,119, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40,118, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0,
+ 26, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3,231, 3, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 53,194, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200,132,252, 2, 0, 0, 0, 0, 40,200,251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,121, 49, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 3, 0, 0, 8,121, 49, 3, 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 63, 21,145, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80, 1,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0,197, 56, 16, 63,181,165,214,190,
+216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,155,199,158, 60, 68, 64, 94, 63,
+111,229,253, 62, 0, 0, 0, 0,239,219,254,191,166, 80,144,192,255, 66, 63,194, 0, 0,128, 63,215, 56, 16, 63,100,115, 83, 63,
+ 74,200,158, 60, 0, 0, 0, 0,200,165,214,190,182,248,135, 62, 79, 64, 94, 63, 0, 0, 0, 0,215, 65, 54, 63,242,147,254,190,
+103,229,253, 62, 0, 0, 0, 0,102, 23, 5, 66, 7,118,167,193, 47, 82,221, 65, 0, 0,128, 63, 63,120, 35, 63, 62,197,234,190,
+182, 67, 54,191,216, 65, 54,191,212,171,111, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,120,248,179, 60, 74, 22,115, 63,
+ 9,232,253,190,111,229,253,190,185,111, 16,192, 54,216,157,192,122, 48, 63, 66,255, 66, 63, 66,209, 21,254, 62,120,173, 58, 63,
+ 87,211,134, 60, 96,147,194,183, 0, 34,196,190,184,124,120, 62,223, 63, 75, 63, 0, 0,229, 54,196,159,207,196,222,158,130, 68,
+181,161,172,196,110,174, 71,194, 37,139,207, 68, 80,144,130,196,162,147,172, 68,129,176, 71, 66,197, 56, 16, 63,181,165,214,190,
+216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,155,199,158, 60, 68, 64, 94, 63,
+111,229,253, 62, 0, 0, 0, 0, 62,101,214,192,127, 55, 88,192, 97, 89, 45,194, 0, 0,128, 63, 63,120, 35, 63, 62,197,234,190,
+182, 67, 54,191,216, 65, 54,191,212,171,111, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,120,248,179, 60, 74, 22,115, 63,
+ 9,232,253,190,111,229,253,190, 70, 2,243,192,180,124,108,192,174, 70, 45, 66, 97, 89, 45, 66, 20, 97,190, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 97,190, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 20, 97,190, 64, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64, 0, 0,128, 63,153, 42, 67, 63,246, 62,229,190,
+251,142,104,190,131, 17,209,190,141, 8, 56, 66,223,139, 15, 66, 0, 0, 0, 0, 0, 0, 0, 0, 31,234,239, 58, 80,127, 4,191,
+250,204,248,191, 74, 51,155,192, 0, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 46,219, 35, 66, 48,203,139, 66,250, 65, 96, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
+184,124, 49, 3, 0, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0,248,131, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17,139, 48, 63,240,151, 31,191,155, 98,151,190, 77, 45, 97,190,141, 8, 56, 66, 0, 0, 0, 0,
+255, 13, 0, 0, 1, 0, 0, 0,248,251, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 2, 0, 0, 0, 1, 0, 0, 0, 8, 24, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 80,127, 4,191,
+250,204,248,191, 74, 51,155,192, 96,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0, 20, 0, 10, 0, 7, 1, 1, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,126, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+168,127, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 80, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 0, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0,231, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+127, 7, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216,102,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,127, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 24,129, 49, 3, 0, 0, 0, 0, 56,126, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 67, 0,192,121,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 95, 67, 0,192,121,196, 0, 0, 0, 0,223, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 4, 6, 0,240, 0,231, 3,223, 0,231, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 0,231, 3, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184,104,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 34, 26, 3, 0, 0, 0, 0,
+120,165, 56, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,129, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+136,130, 49, 3, 0, 0, 0, 0,168,127, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,209, 68, 0, 0, 0, 0, 0, 0,112, 66,
+ 0, 0,128, 56, 0,224,209, 68, 0, 0, 0, 0, 0, 0,112, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 6, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0,
+ 0,192,209, 68, 0, 0,108, 66, 0,192,209, 68, 0, 0,108, 66, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 0, 4, 10, 0,143, 6, 60, 0,143, 6, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 0, 0, 0,126, 7, 0, 0,171, 3, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+143, 6, 60, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200,103,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,130, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24,129, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 67, 0,128,105,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,224,209, 68, 0, 64,102,196, 0, 0, 0, 0,126, 6, 0, 0,143, 6, 0, 0, 18, 0, 0, 0,170, 3, 0, 0,
+ 0, 0, 0, 0,142, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 6, 0, 0, 18, 0, 0, 0,170, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3,
+ 4, 0, 0, 4, 6, 0,143, 6,171, 3,143, 6,153, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,170, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+143, 6,171, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,101,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,248,131, 49, 3, 0, 0, 0, 0,165, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,124, 49, 3, 0, 0, 0, 0, 56,126, 49, 3, 0, 0, 0, 0,136,130, 49, 3, 0, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 0,168,132, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,170, 17, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,251, 6, 2, 0, 0, 0, 0,
+ 7, 0,255,255,255,255, 0, 0, 68, 65, 84, 65, 96, 2, 0, 0,168,132, 49, 3, 0, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0,
+ 79,112,101,110, 32, 66,108,101,110,100,101,114, 32, 70,105,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 47,100,115,107, 47,100, 97,116, 97, 47,115,114, 99, 47, 98,108,101,110,100,101,114, 47, 98,108,101,110,100,101,114, 47,115,111,
+117,114, 99,101, 47, 98,108,101,110,100,101,114, 47,101,100,105,116,111,114,115, 47,100, 97,116, 97,102,105,108,101,115, 47, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,114,101,118,105,101,119, 49, 46, 98,108,101,110,100, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 1, 0, 0, 1, 0, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,160, 0, 0, 0, 88,135, 49, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56,117, 49, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0, 15, 6, 0, 0,217, 2, 0, 0, 0, 4, 0, 0,
+ 3, 3, 75, 2, 40, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 46,194, 1, 0, 0, 0, 0, 40,139, 49, 3, 0, 0, 0, 0,
+ 40,139, 49, 3, 0, 0, 0, 0, 72,136, 49, 3, 0, 0, 0, 0,184,137, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 56, 58, 7, 2, 0, 0, 0, 0,216,155, 24, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+ 72,136, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184,137, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 18, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 18, 68, 0, 0,200, 65, 0,128, 18, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 75, 2, 26, 0, 75, 2, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0, 15, 6, 0, 0,217, 2, 0, 0,242, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 2, 26, 0, 21, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 48,194, 1, 0, 0, 0, 0, 72,150, 26, 3, 0, 0, 0, 0,
+ 72,150, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 83,251, 2, 0, 0, 0, 0,
+ 24, 42,251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+184,137, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,241, 67, 0, 0, 94,195, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 14, 68, 0, 0,124,195, 0, 0, 0, 0,
+ 58, 2, 0, 0, 75, 2, 0, 0, 18, 0, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0, 57, 2, 0, 0, 18, 0, 0, 0, 13, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 75, 2, 14, 1, 58, 2,252, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0, 15, 6, 0, 0,243, 2, 0, 0, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 2, 14, 1, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 47,194, 1, 0, 0, 0, 0, 56,218, 24, 3, 0, 0, 0, 0,
+ 56,218, 24, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 42,251, 2, 0, 0, 0, 0,
+ 40, 48,251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
+ 40,139, 49, 3, 0, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 34,251, 2, 0, 0, 0, 0,
+120, 34,251, 2, 0, 0, 0, 0, 88,171, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 12, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 88,171, 20, 3, 0, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0,
+218, 0, 0, 0,101, 0, 0, 0,136,243, 55, 3, 0, 0, 0, 0, 68, 65, 84, 65, 80, 6, 0, 0,136,243, 55, 3, 0, 0, 0, 0,
+219, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 0, 0,
+ 40,147, 49, 3, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 23, 0, 0, 0, 1, 0, 0, 0,
+ 56,248, 49, 3, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+216,239, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72, 59, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 53, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+168, 47, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,216, 41, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 8, 36, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104, 24, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,152, 18, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,248,251, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,206, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,184, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 40,208, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,216, 6, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 56,108, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,
+ 8,146, 50, 3, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24, 98, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 40,236, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+168, 92, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 88,228, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 56, 87, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,224, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+248,139, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72,212, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,133, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72,218, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120,189, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136, 7, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+104,122, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,103, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 88,192, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+232, 70, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104,216, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 88,116, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+200, 81, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,232, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+152,109, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,200,104, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0,152,109, 50, 3, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,
+152,109, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,220, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104, 1, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 88,207, 49, 3, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 83, 67, 0, 0,184, 5, 0, 0,
+ 40,147, 49, 3, 0, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67,112,114,101,118,105,101,119, 0, 0, 99,101,110,101, 46,
+ 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248,251, 49, 3, 0, 0, 0, 0,216,239, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,153, 49, 3, 0, 0, 0, 0,
+104,165, 49, 3, 0, 0, 0, 0,104,158, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 81,122, 61,230,224,239,192,
+116, 34, 53,192,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,
+157, 24,186,192, 28, 38, 71, 64, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,165, 49, 3, 0, 0, 0, 0, 56,199, 58, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 25, 0,
+141, 0, 88, 2, 88, 2, 4, 0, 4, 0, 24, 0, 4, 0, 0, 0, 90, 0, 1, 0, 16, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 5, 0, 25, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,167, 49, 3, 0, 0, 0, 0,232,167, 49, 3, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0,128, 63,
+ 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,
+173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63,102,166,171, 67, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,110,224, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0,
+ 32, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, 0, 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 88, 2, 88, 2,205,204,204, 61, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,245, 28,193, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,153, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+152,153, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,101, 1,187, 1,
+ 56, 30, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,153, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 8,154, 49, 3, 0, 0, 0, 0, 40,153, 49, 3, 0, 0, 0, 0, 14, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,113, 1,204, 1,
+104, 24, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,154, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+120,154, 49, 3, 0, 0, 0, 0,152,153, 49, 3, 0, 0, 0, 0, 14, 4, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,131, 1,183, 1,
+152, 18, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,154, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+232,154, 49, 3, 0, 0, 0, 0, 8,154, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224, 46,162, 0,
+ 72, 59, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,154, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 88,155, 49, 3, 0, 0, 0, 0,120,154, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 25, 1, 84, 2,
+ 24, 65, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,155, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+200,155, 49, 3, 0, 0, 0, 0,232,154, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,105, 1, 77, 2,
+120, 53, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,155, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 56,156, 49, 3, 0, 0, 0, 0, 88,155, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,142, 3,183, 0,
+168, 47, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,156, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+168,156, 49, 3, 0, 0, 0, 0,200,155, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,135, 2,121, 1,
+216, 41, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,156, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 24,157, 49, 3, 0, 0, 0, 0, 56,156, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,164, 1, 33, 2,
+ 8, 36, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,157, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+136,157, 49, 3, 0, 0, 0, 0,168,156, 49, 3, 0, 0, 0, 0, 0, 8, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 90, 2,
+248,251, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,157, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+248,157, 49, 3, 0, 0, 0, 0, 24,157, 49, 3, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,152, 3, 67, 3,
+ 8,184, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,157, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+104,158, 49, 3, 0, 0, 0, 0,136,157, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,251, 1,225, 1,
+ 40, 13, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,158, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+216,158, 49, 3, 0, 0, 0, 0,248,157, 49, 3, 0, 0, 0, 0, 14, 4, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,141, 1,200, 1,
+216, 6, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,158, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 72,159, 49, 3, 0, 0, 0, 0,104,158, 49, 3, 0, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 6, 3,138, 2,
+ 8,146, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,159, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+184,159, 49, 3, 0, 0, 0, 0,216,158, 49, 3, 0, 0, 0, 0, 32, 0, 0, 0, 14, 0, 0, 0, 0, 16, 0, 0,224, 1, 10, 2,
+ 24, 98, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,159, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 40,160, 49, 3, 0, 0, 0, 0, 72,159, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 0, 20, 0, 0, 70, 1,168, 1,
+168, 92, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,160, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+152,160, 49, 3, 0, 0, 0, 0,184,159, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 0, 20, 0, 0,115, 1,186, 1,
+ 56, 87, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,160, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 8,161, 49, 3, 0, 0, 0, 0, 40,160, 49, 3, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 78, 1,
+248,139, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,161, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+120,161, 49, 3, 0, 0, 0, 0,152,160, 49, 3, 0, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 0, 16, 0, 0, 44, 3,140, 3,
+120,128, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,161, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+232,161, 49, 3, 0, 0, 0, 0, 8,161, 49, 3, 0, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,224, 46,119, 1,
+232,133, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,161, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 88,162, 49, 3, 0, 0, 0, 0,120,161, 49, 3, 0, 0, 0, 0, 32, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 55, 2, 51, 2,
+120,189, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,162, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+200,162, 49, 3, 0, 0, 0, 0,232,161, 49, 3, 0, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 1,187, 1,
+104,122, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,162, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 56,163, 49, 3, 0, 0, 0, 0, 88,162, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,194, 1,205, 1,
+136,103, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,163, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+168,163, 49, 3, 0, 0, 0, 0,200,162, 49, 3, 0, 0, 0, 0, 30, 4, 0, 0, 5, 0, 0, 0, 0, 20, 0, 0, 96, 2, 23, 1,
+232, 70, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,163, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 24,164, 49, 3, 0, 0, 0, 0, 56,163, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,209, 1,211, 1,
+ 88,116, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,164, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+136,164, 49, 3, 0, 0, 0, 0,168,163, 49, 3, 0, 0, 0, 0, 30, 4, 0, 0, 7, 0, 0, 0, 0, 20, 0, 0, 2, 1, 33, 2,
+200, 81, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,164, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+248,164, 49, 3, 0, 0, 0, 0, 24,164, 49, 3, 0, 0, 0, 0, 8, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,180, 1,213, 1,
+152,109, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,164, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+104,165, 49, 3, 0, 0, 0, 0,136,164, 49, 3, 0, 0, 0, 0, 30, 4, 0, 0, 8, 0, 0, 0, 0, 20, 0, 0, 22, 1,126, 1,
+ 88, 76, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,165, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248,164, 49, 3, 0, 0, 0, 0,223, 13, 0, 0, 9, 0, 0, 0, 0, 4, 0, 0, 93, 1,170, 1,
+104, 1, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65,192, 1, 0, 0,216,165, 49, 3, 0, 0, 0, 0,150, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 1, 0,
+205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0,
+ 32, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 23,183,209, 56,
+205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,102,102,166, 63, 0, 0,192, 63,
+ 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, 2, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63,
+ 68, 65, 84, 65, 88, 0, 0, 0,232,167, 49, 3, 0, 0, 0, 0,136, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 49, 32, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,248, 49, 3, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0,
+255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 73, 77, 0, 0,240, 1, 0, 0,136,168, 49, 3, 0, 0, 0, 0,
+ 23, 0, 0, 0, 1, 0, 0, 0,136,187, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 73,109, 97,103,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,110,116,105,116,108,101,100, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-240,210,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 16,212,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 16,212,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,240,210,178, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192,
- 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,
-124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 73, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,184, 0, 0, 0,
- 48,213,178, 3,250, 0, 0, 0, 1, 0, 0, 0,120,217,178, 3,200,209,178, 3,240,210,178, 3, 16,212,178, 3, 11, 0, 0, 0,
- 51, 51, 51, 63, 0,226,127, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66,
- 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67,
- 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 24,214,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 56,215,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,170, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0,184,117, 30, 78, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0,
+200,170, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 56,171, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,
+ 56,171, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 56,215,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 88,216,178, 3, 24,214,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 88,216,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 56,215,178, 3,
- 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,
-108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,
-205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0,120,217,178, 3,157, 0, 0, 0, 1, 0, 0, 0,200,221,178, 3, 48,213,178, 3,
- 24,214,178, 3, 88,216,178, 3, 13, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192,
- 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,
-108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,104,218,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0,136,219,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136,219,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0,168,220,178, 3,104,218,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168,220,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,136,219,178, 3, 0, 0,160,193, 0,128,167, 67, 0,160,134,196, 0, 0, 0, 0,
- 0, 0,160,193, 0,128,167, 67, 0,160,134,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,221,178, 3,
- 4, 1, 0, 0, 1, 0, 0, 0, 80,227,178, 3,120,217,178, 3,104,218,178, 3,168,220,178, 3, 12, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196, 0, 0, 0, 0,
- 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0,
-128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0, 14, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68, 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,208,222,178, 3,185, 0, 0, 0, 1, 0, 0, 0,240,223,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,240,223,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 16,225,178, 3,208,222,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0, 16,225,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 48,226,178, 3,240,223,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0, 48,226,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16,225,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 52, 0, 0, 0, 80,227,178, 3,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,200,221,178, 3,208,222,178, 3,
- 48,226,178, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,184,227,178, 3,184, 0, 0, 0, 1, 0, 0, 0,112, 13,179, 3,
-144,214, 76, 1, 24,225,155, 3, 48, 11,156, 3, 0,177,154, 3, 0,219,155, 3, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0,
- 0, 0, 0, 0,119, 4, 0, 0, 1, 1,192, 3,120, 4, 1, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,112,172, 65, 1,160,233,178, 3, 8, 13,179, 3, 88,228,178, 3,120,229,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0,224, 6,158, 3,160, 7,158, 3, 68, 65, 84, 65,236, 0, 0, 0, 88,228,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-120,229,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,112, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 84, 68, 0, 0,200, 65,
- 0,192, 84, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,192, 3,
- 26, 0,192, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 3, 26, 0, 8, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72,178, 65, 1,112,168, 78, 1,112,168, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 80, 9,158, 3,
-184, 10,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,120,229,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 88,228,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0, 26, 0, 0, 0,119, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 3, 94, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8,173, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 12,158, 3,
- 96, 16,158, 3, 0, 0, 0, 0,152,230,178, 3, 68, 65, 84, 65,216, 2, 0, 0,152,230,178, 3,145, 0, 0, 0, 1, 0, 0, 0,
-170, 10,163, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0,
-197, 56, 16, 63,181,165,214,190,216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,
-155,199,158, 60, 68, 64, 94, 63,111,229,253, 62, 0, 0, 0, 0,239,219,254,191,167, 80,144,192,255, 66, 63,194, 0, 0,128, 63,
-229, 56, 16, 63, 90,115, 83, 63,158,201,158, 60, 0, 0, 0, 0,200,165,214,190,182,248,135, 62, 77, 64, 94, 63, 0, 0, 0, 0,
-225, 65, 54, 63, 0,148,254,190,119,229,253, 62, 0, 0, 0, 0,110, 23, 5, 66, 18,118,167,193, 59, 82,221, 65, 0, 0,128, 63,
- 79,180, 55, 63, 62,197,234,190,182, 67, 54,191,216, 65, 54,191, 74,171,134, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,
-106, 63,202, 60, 74, 22,115, 63, 9,232,253,190,111,229,253,190,167, 80, 34,192, 55,216,157,192,122, 48, 63, 66,255, 66, 63, 66,
- 76,111,226, 62,122, 2, 38, 63,246,229,120, 60, 0, 84,115,181, 62,141,196,190,172, 3,121, 62, 71, 19, 75, 63, 0, 8,149,183,
- 77, 79,208,196, 76, 13,131, 68,171, 51,173,196, 68, 87, 72,194,156, 58,208, 68,179,254,130,196,138, 37,173, 68, 71, 89, 72, 66,
-197, 56, 16, 63,181,165,214,190,216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,
-155,199,158, 60, 68, 64, 94, 63,111,229,253, 62, 0, 0, 0, 0, 62,101,214,192,129, 55, 88,192, 98, 89, 45,194, 0, 0,128, 63,
- 79,180, 55, 63, 62,197,234,190,182, 67, 54,191,216, 65, 54,191, 74,171,134, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,
-106, 63,202, 60, 74, 22,115, 63, 9,232,253,190,111,229,253,190,101,139, 8,193,181,124,108,192,174, 70, 45, 66, 98, 89, 45, 66,
-180, 25,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,180, 25,170, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,180, 25,170, 64, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64, 0, 0,128, 63,
-153, 42, 67, 63,246, 62,229,190,251,142,104,190,131, 17,209,190,141, 8, 56, 66,223,139, 15, 66, 0, 0, 0, 0, 0, 0, 0, 0,
-251, 91,214, 58, 80,127, 4,191,250,204,248,191, 74, 51,155,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,
-160,233,178, 3,146, 0, 0, 0, 1, 0, 0, 0, 0,237,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,139, 48, 63,240,151, 31,191,155, 98,151,190,
- 77, 45, 97,190,141, 8, 56, 66, 0, 0, 0, 0,255, 13, 0, 0, 1, 0, 0, 0,232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 8, 24, 0, 0, 0, 0, 0, 0, 12, 66,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67, 80,127, 4,191,250,204,248,191, 74, 51,155,192,
- 96,199, 41,188,225,230, 30,193,216,129,230, 63, 20, 0, 0, 0, 7, 0, 10, 0,159, 0, 0, 0, 1, 0, 1, 0, 3, 0,255,255,
- 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,192,234,178, 3,185, 0, 0, 0, 1, 0, 0, 0,224,235,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 55, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,213, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,174, 6, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,192,213, 68, 0, 0,200, 65, 0,192,213, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,175, 6, 26, 0,175, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,174, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-175, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,224,235,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,192,234,178, 3, 0, 0, 0, 0, 0, 0, 22, 67,
- 0, 0, 0, 0, 0, 0, 22, 67,181,129,166,192,181,129,198, 64,218, 64, 71,192,109,160,131, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,175, 6, 0, 0,
- 0, 0, 0, 0, 60, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,174, 6, 0, 0, 26, 0, 0, 0, 85, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-175, 6, 60, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 0, 0, 0, 0,237,178, 3,156, 0, 0, 0, 1, 0, 0, 0,192, 78,174, 3,160,233,178, 3,192,234,178, 3,224,235,178, 3,
- 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 83,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-184,237,178, 3,185, 0, 0, 0, 1, 0, 0, 0,216,238,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-216,238,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,237,178, 3, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196,
- 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,
-192, 78,174, 3,151, 0, 0, 0, 1, 0, 0, 0, 88,243,178, 3, 0,237,178, 3,184,237,178, 3,216,238,178, 3, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67,
- 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,248,239,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 24,241,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 24,241,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 56,242,178, 3,248,239,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 56,242,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24,241,178, 3, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0, 88,243,178, 3,
-150, 0, 0, 0, 1, 0, 0, 0,144,246,178, 3,192, 78,174, 3,248,239,178, 3, 56,242,178, 3, 2, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 80,244,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-112,245,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112,245,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 80,244,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,124, 2, 0, 0,144,246,178, 3,158, 0, 0, 0, 1, 0, 0, 0,
-128,251,178, 3, 88,243,178, 3, 80,244,178, 3,112,245,178, 3, 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0, 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,225, 2, 0, 0,
-227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1227,281 +1441,59 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0, 64,249,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 96,250,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0, 96,250,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64,249,178, 3, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-248, 0, 0, 0,128,251,178, 3,155, 0, 0, 0, 1, 0, 0, 0,232,254,178, 3,144,246,178, 3, 64,249,178, 3, 96,250,178, 3,
- 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168,252,178, 3,185, 0, 0, 0, 1, 0, 0, 0,200,253,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,200,253,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-168,252,178, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192,
- 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70,
- 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,184, 0, 0, 0,232,254,178, 3,250, 0, 0, 0, 1, 0, 0, 0, 48, 3,179, 3,
-128,251,178, 3,168,252,178, 3,200,253,178, 3, 11, 0, 0, 0, 51, 51, 51, 63,248,254,127, 3, 0, 0,128,192, 0, 0,122, 67,
- 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,208,255,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0,240, 0,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,240, 0,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 16, 2,179, 3,208,255,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 16, 2,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,240, 0,179, 3, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0, 48, 3,179, 3,
-157, 0, 0, 0, 1, 0, 0, 0,128, 7,179, 3,232,254,178, 3,208,255,178, 3, 16, 2,179, 3, 13, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,
-124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,
-108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61,
- 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 32, 4,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 64, 5,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 64, 5,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 96, 6,179, 3, 32, 4,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 96, 6,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 5,179, 3,
- 0, 0,160,193, 0, 0, 8, 68, 0,160,134,196, 0, 0, 0, 0, 0, 0,160,193, 0, 0, 8, 68, 0,160,134,196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70,
- 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128, 7,179, 3, 4, 1, 0, 0, 1, 0, 0, 0, 8, 13,179, 3, 48, 3,179, 3,
- 32, 4,179, 3, 96, 6,179, 3, 12, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,
-108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
-128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68,
- 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136, 8,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0,168, 9,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168, 9,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0,200, 10,179, 3,136, 8,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,200, 10,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0,232, 11,179, 3,168, 9,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,232, 11,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,200, 10,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0,
- 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 52, 0, 0, 0, 8, 13,179, 3,154, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,128, 7,179, 3,136, 8,179, 3,232, 11,179, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,
-112, 13,179, 3,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,227,178, 3,144, 72,160, 3, 0,177,154, 3,136, 3,156, 3,
-216, 12,156, 3, 0, 0, 0, 0,193, 3, 0, 0, 7, 6, 0, 0, 45, 3, 0, 0,119, 4, 0, 0, 3, 3, 71, 2, 75, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,169, 65, 1, 80, 16,179, 3,
-216, 62,179, 3, 16, 14,179, 3, 48, 15,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,216, 16,158, 3,152, 17,158, 3, 68, 65, 84, 65,
-236, 0, 0, 0, 16, 14,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 48, 15,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 17, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 2, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 3, 68, 0, 0,200, 65, 0,128, 3, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 71, 2, 26, 0, 71, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 45, 3, 0, 0, 70, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 26, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,170, 65, 1,112,145,203, 3,
-112,145,203, 3, 0, 0, 0, 0, 0, 0, 0, 0, 72, 19,158, 3,192, 19,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0, 48, 15,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16, 14,179, 3, 0, 0, 0, 0, 0,128,241, 67,
- 0, 0,210,195, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 13, 68, 0,128,143,195, 0, 0, 0, 0, 54, 2, 0, 0, 71, 2, 0, 0,
- 18, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 53, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 53, 2, 0, 0,
- 18, 0, 0, 0, 48, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0, 71, 2, 49, 1, 54, 2, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 71, 3, 0, 0,119, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 49, 1, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,169, 65, 1,240,149,203, 3,
-240,149,203, 3, 0, 0, 0, 0, 0, 0, 0, 0,136, 21,158, 3,120, 22,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-248, 0, 0, 0, 80, 16,179, 3,155, 0, 0, 0, 1, 0, 0, 0,184, 26,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184, 67,199, 3,184, 67,199, 3,136,177,163, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 12, 0, 1, 0, 0, 0, 68, 65, 84, 65, 12, 0, 0, 0,136,177,163, 3,208, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
-164, 0, 0, 0,232, 21,199, 3, 68, 65, 84, 65,176, 7, 0, 0,232, 21,199, 3,207, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 63,179, 3, 19, 0, 0, 0, 1, 0, 0, 0,160, 63,179, 3, 20, 0, 0, 0, 1, 0, 0, 0,160, 63,179, 3,
- 23, 0, 0, 0, 1, 0, 0, 0,168,141,156, 3, 21, 0, 1, 0, 1, 0, 0, 0,160, 63,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 24,112,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,203,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,112,104,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,199,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 64, 91,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 80,195,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 16, 78,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 80,191,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,224, 64,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,187,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,176, 51,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,183,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,128, 38,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,179,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80, 25,184, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,175,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 32, 12,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,171,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,240,254,183, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,167,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,192,241,183, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 80,163,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,144,228,183, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 80,159,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 96,215,183, 3, 0, 0, 0, 0, 1, 0, 0, 0,136,155,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 80,173,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,248,151,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,130,183, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104,148,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 87,183, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,216,144,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-240, 44,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 72,141,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,224, 2,183, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,184,137,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,184,215,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-232,119,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 85,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8, 57,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 8, 87,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,134,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,168,181,182, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,152,130,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-112, 96,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8,208,182, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,232, 71,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3, 9, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3,
- 10, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3, 29, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 32,225,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,109,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,176,228,179, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,216,194,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,144,221,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,248,102,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0,218,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8,100,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,184, 0,180, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64,193,186, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8,127,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152,139,182, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,249,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 72, 90,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,184,252,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,144,185,186, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,168, 85,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 60,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,160,170,186, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,200, 78,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 40,245,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,160,117,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,176,232,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,216,162,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 80,207,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,136, 93,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 40,241,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,112,214,179, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,232,105,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,176,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,176, 94,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3, 9, 0, 0, 0, 1, 0, 0, 0,176,236,179, 3, 10, 0, 0, 0, 1, 0, 0, 0,
-176,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,224,210,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,200, 96,179, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,120,123,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80, 86,179, 3, 30, 0,255,255, 0, 0, 1, 0,112,152,230, 0,
- 31, 0, 0, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 1, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 2, 0, 1, 0, 1, 0,
-112,152,230, 0, 31, 0, 3, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 4, 0, 0, 0, 1, 0,112,152,230, 0, 31, 0, 5, 0,
- 1, 0, 1, 0,112,152,230, 0, 31, 0, 6, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 7, 0, 1, 0, 1, 0,112,152,230, 0,
- 31, 0, 8, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 9, 0, 1, 0, 1, 0,112,152,230, 0, 30, 0,255,255, 0, 0, 1, 0,
-112,152,230, 0, 31, 0, 0, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 1, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 2, 0,
- 1, 0, 1, 0,112,152,230, 0, 31, 0, 3, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 10, 0, 1, 0, 1, 0,112,152,230, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 12, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-112,152,230, 0, 31, 0, 14, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 15, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 16, 0,
- 1, 0, 0, 0,112,152,230, 0, 31, 0, 17, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 18, 0, 1, 0, 0, 0,112,152,230, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 20, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-112,152,230, 0, 31, 0, 22, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 23, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 24, 0,
- 1, 0, 0, 0,112,152,230, 0, 31, 0, 25, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 26, 0, 1, 0, 0, 0,112,152,230, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 28, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-112,152,230, 0, 31, 0, 4, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 5, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 6, 0,
- 1, 0, 1, 0,112,152,230, 0, 31, 0, 7, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 8, 0, 1, 0, 1, 0,112,152,230, 0,
- 31, 0, 9, 0, 1, 0, 1, 0,112,152,230, 0, 68, 65, 84, 65,236, 0, 0, 0,120, 24,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
-152, 25,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,217, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 3, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 3, 68, 0, 0,200, 65,
- 0,128, 3, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 15, 2,
- 26, 0, 15, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 3, 0, 0, 99, 5, 0, 0, 17, 3, 0, 0, 42, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,152, 25,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,120, 24,179, 3, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67,254,127, 7,191,255,191,195, 63,
-247,255,163,189,255, 63,138, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 3, 0, 0, 99, 5, 0, 0, 43, 3, 0, 0, 83, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 2, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 0, 0, 0,184, 26,179, 3,156, 0, 0, 0, 1, 0, 0, 0,
-184, 32,179, 3, 80, 16,179, 3,120, 24,179, 3,152, 25,179, 3, 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112, 27,179, 3,185, 0, 0, 0, 1, 0, 0, 0,144, 28,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,144, 28,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-112, 27,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,176, 29,179, 3, 68, 65, 84, 65,216, 2, 0, 0,176, 29,179, 3,145, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 0, 0,240, 1, 0, 0,136,187, 49, 3, 0, 0, 0, 0,
+ 23, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,168, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 82,101,110,100,101,114, 32, 82,101,115,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1512,100 +1504,45 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,189, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 94,122, 30, 78, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0,
+200,189, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 56,190, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,
+ 56,190, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252, 83, 63,
-104, 25,223,190,115, 52, 40, 62,119,211,159, 62, 96,183,198, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,184, 32,179, 3,
-146, 0, 0, 0, 1, 0, 0, 0, 24, 36,179, 3,184, 26,179, 3,112, 27,179, 3,144, 28,179, 3, 1, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252, 83, 63,104, 25,223,190,115, 52, 40, 62,119,211,159, 62,
- 96,183,198, 65, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67,163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0,224, 54,
- 56,146, 88, 63,198, 37, 71, 64, 20, 0, 0, 0, 7, 0, 10, 0,115, 0, 0, 0, 1, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-216, 33,179, 3,185, 0, 0, 0, 1, 0, 0, 0,248, 34,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-248, 34,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 33,179, 3, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196,
- 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,
- 24, 36,179, 3,151, 0, 0, 0, 1, 0, 0, 0,144, 40,179, 3,184, 32,179, 3,216, 33,179, 3,248, 34,179, 3, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67,
- 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 48, 37,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 80, 38,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 80, 38,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0,112, 39,179, 3, 48, 37,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112, 39,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80, 38,179, 3, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0,144, 40,179, 3,
-150, 0, 0, 0, 1, 0, 0, 0,200, 43,179, 3, 24, 36,179, 3, 48, 37,179, 3,112, 39,179, 3, 2, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136, 41,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
-168, 42,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168, 42,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,136, 41,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,124, 2, 0, 0,200, 43,179, 3,158, 0, 0, 0, 1, 0, 0, 0,
-184, 48,179, 3,144, 40,179, 3,136, 41,179, 3,168, 42,179, 3, 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0, 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,225, 2, 0, 0,
-227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1621,240 +1558,54 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,120, 46,179, 3,185, 0, 0, 0, 1, 0, 0, 0,152, 47,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,152, 47,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,120, 46,179, 3, 0, 0,128,192, 0, 0,122, 67,
- 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65,
- 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-184, 0, 0, 0,184, 48,179, 3,250, 0, 0, 0, 1, 0, 0, 0, 0, 53,179, 3,200, 43,179, 3,120, 46,179, 3,152, 47,179, 3,
- 11, 0, 0, 0, 51, 51, 51, 63, 0,226,127, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192,
- 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63,
- 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,160, 49,179, 3,185, 0, 0, 0, 1, 0, 0, 0,192, 50,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,192, 50,179, 3,185, 0, 0, 0, 1, 0, 0, 0,224, 51,179, 3,
-160, 49,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,224, 51,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-192, 50,179, 3, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0,
- 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0, 0, 53,179, 3,157, 0, 0, 0, 1, 0, 0, 0, 80, 57,179, 3,
-184, 48,179, 3,160, 49,179, 3,224, 51,179, 3, 13, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-240, 53,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 16, 55,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 16, 55,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 48, 56,179, 3,240, 53,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 48, 56,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16, 55,179, 3, 0, 0,160,193, 0,128,167, 67, 0,160,134,196,
- 0, 0, 0, 0, 0, 0,160,193, 0,128,167, 67, 0,160,134,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 80, 57,179, 3, 4, 1, 0, 0, 1, 0, 0, 0,216, 62,179, 3, 0, 53,179, 3,240, 53,179, 3, 48, 56,179, 3, 12, 0, 0, 0,
- 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196,
- 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 14, 2, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,
- 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68, 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 88, 58,179, 3,185, 0, 0, 0, 1, 0, 0, 0,120, 59,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,120, 59,179, 3,185, 0, 0, 0, 1, 0, 0, 0,152, 60,179, 3, 88, 58,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,152, 60,179, 3,185, 0, 0, 0, 1, 0, 0, 0,184, 61,179, 3,120, 59,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,184, 61,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152, 60,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 52, 0, 0, 0,216, 62,179, 3,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80, 57,179, 3,
- 88, 58,179, 3,184, 61,179, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0,220, 4, 0, 0,160, 63,179, 3,143, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67,112,114,101,118,105,101,119, 0, 0, 99,101,110,101, 46,
- 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,119,179, 3, 24,112,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 72, 93,178, 3,144, 80,179, 3,240, 74,179, 3, 0, 0, 0, 0,167,253,243, 64,112,165, 81, 63,
-136, 56, 93, 65,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,
-157, 24,186,192, 28, 38, 71, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 80,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 1, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 25, 0,141, 0, 88, 2, 88, 2, 4, 0, 4, 0, 0, 0, 24, 0, 4, 0, 0, 0, 0, 0,
- 90, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 5, 0, 25, 0, 10, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,203,159, 3,120,203,159, 3, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 2, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 98, 97, 99,107, 98,117,102, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,
-205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 6, 0, 0, 0,
- 16, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,
-180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,103, 75, 1, 1, 0, 0, 0, 1, 0, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 28, 0, 0, 0, 72, 93,178, 3,125, 0, 0, 0, 1, 0, 0, 0,176, 68,179, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,183, 1,208, 0, 80,203,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,176, 68,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 69,179, 3, 72, 93,178, 3, 33, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,183, 1,208, 0, 80,199,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 0, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 80, 69,179, 3,176, 68,179, 3, 33, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0,224, 46, 43, 1, 80,195,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 80, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-160, 69,179, 3, 0, 69,179, 3, 33, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,224, 46, 43, 1, 80,191,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,160, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0,240, 69,179, 3, 80, 69,179, 3, 33, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0,224, 46, 66, 2, 80,187,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,240, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 64, 70,179, 3,160, 69,179, 3, 33, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,224, 46, 66, 2, 80,183,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 64, 70,179, 3,125, 0, 0, 0, 1, 0, 0, 0,144, 70,179, 3,240, 69,179, 3, 33, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0,153, 1, 33, 1, 80,179,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,144, 70,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-224, 70,179, 3, 64, 70,179, 3, 33, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,153, 1, 33, 1, 80,175,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,224, 70,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 48, 71,179, 3,144, 70,179, 3, 33, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 36, 1, 92, 1, 80,171,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 48, 71,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-128, 71,179, 3,224, 70,179, 3, 33, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 36, 1, 92, 1, 80,167,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,128, 71,179, 3,125, 0, 0, 0, 1, 0, 0, 0,208, 71,179, 3, 48, 71,179, 3, 33, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 57, 0,210, 1, 80,163,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,208, 71,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 32, 72,179, 3,128, 71,179, 3, 33, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 57, 0,210, 1, 80,159,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 32, 72,179, 3,125, 0, 0, 0, 1, 0, 0, 0,112, 72,179, 3,208, 71,179, 3, 14, 4, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 84, 1,240, 1,136,155,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,112, 72,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-192, 72,179, 3, 32, 72,179, 3, 14, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 84, 1,240, 1,248,151,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,192, 72,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 16, 73,179, 3,112, 72,179, 3, 14, 4, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0,118, 1,235, 1,104,148,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 16, 73,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 96, 73,179, 3,192, 72,179, 3, 14, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,118, 1,235, 1,216,144,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 96, 73,179, 3,125, 0, 0, 0, 1, 0, 0, 0,176, 73,179, 3, 16, 73,179, 3, 14, 4, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0, 97, 1, 3, 2, 72,141,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,176, 73,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 74,179, 3, 96, 73,179, 3, 14, 4, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 97, 1, 3, 2,184,137,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 0, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 80, 74,179, 3,176, 73,179, 3, 0, 8, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 15, 1, 76, 1,232,119,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 80, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-160, 74,179, 3, 0, 74,179, 3, 0, 8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,188, 0, 90, 1, 8, 57,181, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,160, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0,240, 74,179, 3, 80, 74,179, 3, 33, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 0, 0,174, 0,151, 1, 40,134,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,240, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 64, 75,179, 3,160, 74,179, 3, 14, 4, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0,129, 1,255, 1,152,130,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 64, 75,179, 3,125, 0, 0, 0, 1, 0, 0, 0,144, 75,179, 3,240, 74,179, 3, 0, 4, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0,217, 0,233, 0,184, 4,180, 3, 68, 65, 84, 65, 28, 0, 0, 0,144, 75,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-224, 75,179, 3, 64, 75,179, 3, 32, 0, 0, 0, 14, 0, 0, 0, 0, 16, 0, 0,116, 0, 27, 1, 32,225,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,224, 75,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 48, 76,179, 3,144, 75,179, 3, 33, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0,174, 0,151, 1,176,228,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 48, 76,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-128, 76,179, 3,224, 75,179, 3, 1, 0, 0, 0, 15, 0, 0, 0, 0, 20, 0, 0, 12, 0,160, 0,144,221,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,128, 76,179, 3,125, 0, 0, 0, 1, 0, 0, 0,208, 76,179, 3, 48, 76,179, 3, 1, 0, 0, 0, 16, 0, 0, 0,
- 0, 20, 0, 0,175, 0,161, 0, 0,218,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,208, 76,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 32, 77,179, 3,128, 76,179, 3, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,163, 1,254, 1,184, 0,180, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 32, 77,179, 3,125, 0, 0, 0, 1, 0, 0, 0,112, 77,179, 3,208, 76,179, 3, 14, 4, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0,129, 1,255, 1, 8,127,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,112, 77,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-192, 77,179, 3, 32, 77,179, 3, 64, 0, 0, 0, 1, 0, 0, 0, 0, 16, 0, 0,238, 0,122, 1, 40,249,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,192, 77,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 16, 78,179, 3,112, 77,179, 3, 64, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0,237, 0,119, 1,184,252,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 16, 78,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 96, 78,179, 3,192, 77,179, 3, 32, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,152, 0,114, 1,152, 60,181, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 96, 78,179, 3,125, 0, 0, 0, 1, 0, 0, 0,176, 78,179, 3, 16, 78,179, 3, 16, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 22, 1,185, 1, 40,245,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,176, 78,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 79,179, 3, 96, 78,179, 3, 1, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,123, 0, 26, 1,176,232,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 0, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 80, 79,179, 3,176, 78,179, 3, 30, 4, 0, 0, 9, 0, 0, 0,
- 0, 20, 0, 0,109, 2, 57, 1, 80,207,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 80, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-160, 79,179, 3, 0, 79,179, 3, 2, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,205, 1, 11, 2, 40,241,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,160, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0,240, 79,179, 3, 80, 79,179, 3, 30, 4, 0, 0, 11, 0, 0, 0,
- 0, 20, 0, 0,230, 0, 99, 2,112,214,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,240, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 64, 80,179, 3,160, 79,179, 3, 8, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 1,185, 1,176,236,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 64, 80,179, 3,125, 0, 0, 0, 1, 0, 0, 0,144, 80,179, 3,240, 79,179, 3, 30, 4, 0, 0, 12, 0, 0, 0,
- 0, 20, 0, 0,252, 0,171, 1,224,210,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,144, 80,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 64, 80,179, 3,223, 13, 0, 0, 13, 0, 0, 0, 0, 4, 0, 0, 75, 1,221, 1,120,123,179, 3, 68, 65, 84, 65,
- 36, 1, 0, 0,224, 80,179, 3,141, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 1, 0, 1, 0,205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0,
- 32, 0, 32, 0, 32, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, 50, 0, 50, 0,
- 10, 0, 0, 0, 50, 0,100, 0, 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 50, 0, 50, 0,
- 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,
-205,204,204, 61,205,204,204, 61,102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,120,203,159, 3,
-130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 32, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,141,156, 3,255,255, 15, 0, 0, 0, 0, 0,
-255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 73, 77, 0, 0,128, 1, 0, 0, 56, 82,179, 3, 32, 0, 0, 0,
- 1, 0, 0, 0,232, 83,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 73,109, 97,103,101, 46, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,110,116,105,116,108,101,100,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1862,12 +1613,6 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108,110,134, 68, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63,
- 0, 0,128, 63, 73, 77, 0, 0,128, 1, 0, 0,232, 83,179, 3, 32, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 56, 82,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 82,101,110,100,101,114, 32, 82,101,115,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1875,3787 +1620,4009 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,116, 41, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 67, 65, 0, 0,136, 0, 0, 0,
-152, 85,179, 3, 30, 0, 0, 0, 1, 0, 0, 0, 80, 86,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,
-109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 9, 0,205,204, 76, 62,117,148, 96, 66, 0, 0,128, 63, 0, 0,112, 66, 0, 0,240, 65, 0, 0,192, 64,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0, 80, 86,179, 3,
- 30, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152, 85,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97,
- 65,116,109,111, 0, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 0,205,204, 76, 62,145,137, 68, 66, 0, 0,128, 63,210, 69,112, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0, 8, 87,179, 3, 40, 0, 0, 0,
- 1, 0, 0, 0, 72, 90,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 46, 48, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,160, 65, 0, 0, 52, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63,192, 88,179, 3, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,
- 0, 2, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
-111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 32, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 89,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,192, 88,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,
-243, 4, 53, 63, 80,160,153, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,160,153, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 89,179, 3, 19, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0, 72, 90,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,136, 93,179, 3, 8, 87,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,160, 65,182,152,143, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 92,179, 3, 1, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 93,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 8, 1, 0, 0, 0, 92,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67,
- 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,152, 93,155, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0,136,206, 49, 3, 0, 0, 0, 0,
+ 21, 0, 0, 0, 1, 0, 0, 0, 88,207, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0,205,204, 76, 62,
+ 0, 0,128, 63, 0, 0,112, 66, 0, 0,240, 65, 0, 0,192, 64, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0, 88,207, 49, 3, 0, 0, 0, 0,
+ 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,206, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 65,116,109,111, 0, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0,205,204, 76, 62,
+ 0, 0,128, 63,210, 69,112, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0, 40,208, 49, 3, 0, 0, 0, 0,
+ 33, 0, 0, 0, 1, 0, 0, 0, 72,212, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,160, 65, 0, 0, 52, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 72,210, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,
+205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 32, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,211, 49, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0, 72,210, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
+242, 4, 53,191,243, 4, 53, 63,248, 80, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
-152, 93,155, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 93,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0,
-136, 93,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,200, 96,179, 3, 72, 90,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,
-111,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 64, 95,179, 3, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66,
- 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
+248, 80, 20, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,211, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0, 72,212, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,
+104,216, 49, 3, 0, 0, 0, 0, 40,208, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 76, 97,109,112, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,160, 65,182,152,143, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,104,214, 49, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 96,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0, 64, 95,179, 3, 55, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,
-242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,136,164,154, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,215, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+104,214, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,
+120,136,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,164,154, 3, 53, 1, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-120, 96,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0,200, 96,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,
- 8,100,179, 3,136, 93,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
-128, 98,179, 3, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0,
- 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 99,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,128, 98,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,
- 32,253,157, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,120,136,192, 1, 0, 0, 0, 0,
+ 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,248,215, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 0, 0,216, 1, 0, 0,104,216, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,136,220, 49, 3, 0, 0, 0, 0,
+ 72,212, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,
+154,153, 25, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,136,218, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 46, 26,128, 63,
+ 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24,220, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,136,218, 49, 3, 0, 0, 0, 0,
+ 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,168,135,192, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,135,192, 1, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 24,220, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0,
+136,220, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,168,224, 49, 3, 0, 0, 0, 0,104,216, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63,168,222, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66,
+ 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56,224, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,168,222, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 72,151, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0, 32,253,157, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184, 99,179, 3, 19, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 65, 0, 0,132, 1, 0, 0, 8,100,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,248,102,179, 3,200, 96,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65,
- 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,192,101,179, 3, 1, 0, 0, 0, 46, 26,128, 63,
- 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 72,151, 17, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,224, 49, 3, 0, 0, 0, 0,
+ 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0,168,224, 49, 3, 0, 0, 0, 0,
+ 33, 0, 0, 0, 1, 0, 0, 0, 88,228, 49, 3, 0, 0, 0, 0,136,220, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,
+200,226, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,
+205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,
-192,101,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 56,121,154, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0,200,226, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
+242, 4, 53,191,243, 4, 53, 63,248,172, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56,121,154, 3,
- 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 65, 0, 0,132, 1, 0, 0,248,102,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,232,105,179, 3, 8,100,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 62,247,255,239, 65,
- 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,176,104,179, 3, 1, 0, 0, 0, 46, 26,128, 63,
- 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,
-176,104,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 24,171,153, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+248,172, 16, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0, 88,228, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,
+ 8,232, 49, 3, 0, 0, 0, 0,168,224, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 83,112,111,116, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 62,
+247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,120,230, 49, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 24,171,153, 3,
- 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 65, 0, 0,132, 1, 0, 0,232,105,179, 3, 40, 0, 0, 0, 1, 0, 0, 0, 40,109,179, 3,248,102,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0, 52, 66,
- 0, 0, 72, 66,171,156, 8, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,160,107,179, 3, 2, 0, 0, 0, 78,207, 68, 65,
- 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+120,230, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,
+120,165, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,108,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,
-160,107,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 64,198,153, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,120,165, 16, 3, 0, 0, 0, 0,
+ 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 0, 0,216, 1, 0, 0, 8,232, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 40,236, 49, 3, 0, 0, 0, 0,
+ 88,228, 49, 3, 0, 0, 0, 0, 56, 33, 24, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48,
+ 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0, 52, 66, 0, 0, 72, 66,
+171,156, 8, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 40,234, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 78,207, 68, 65,
+ 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64,198,153, 3,
- 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,216,108,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0, 40,109,179, 3,
- 40, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,232,105,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,235, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 40,234, 49, 3, 0, 0, 0, 0,
+ 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,136,149, 16, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,149, 16, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+184,235, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0,
+ 40,236, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,232, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 63, 0, 0,160, 65, 0, 0, 52, 66,154,153, 25, 62, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63,224,110,179, 3, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63,
- 0, 0, 64, 64, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 72,238, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66,
+ 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,224,110,179, 3, 55, 1, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
-242, 4, 53,191,243, 4, 53, 63, 96,241,157, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 72,238, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,184,141, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,184,141, 16, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,224, 1, 0, 0,216,239, 49, 3, 0, 0, 0, 0,
+129, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,170,159, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+233,150, 10, 61,119, 32, 14, 62, 31,130,137, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 28, 65, 0, 0, 0, 0, 1, 0, 32, 0,128, 0, 5, 0, 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
+ 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61,
+ 0, 0, 5, 0, 3, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8,242, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,242, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84, 88, 0, 0,176, 0, 0, 0,120,242, 49, 3, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 88, 84,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0,
+120,243, 49, 3, 0, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,243, 49, 3, 0, 0, 0, 0,255,255,255,255, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0,
+ 17, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,180, 16, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 82, 70, 68, 65, 84, 65, 4, 0, 0, 0, 40,180, 16, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 71, 82, 0, 0,104, 0, 0, 0, 56,248, 49, 3, 0, 0, 0, 0, 7, 1, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 71, 82, 79,118,101,114,114,105,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,248, 49, 3, 0, 0, 0, 0,136,251, 49, 3, 0, 0, 0, 0,255,255, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,248, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 88,249, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 98, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,249, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0,200,249, 49, 3, 0, 0, 0, 0,232,248, 49, 3, 0, 0, 0, 0,168, 92, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,249, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 56,250, 49, 3, 0, 0, 0, 0, 88,249, 49, 3, 0, 0, 0, 0, 56, 87, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,250, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0,168,250, 49, 3, 0, 0, 0, 0,200,249, 49, 3, 0, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,250, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 24,251, 49, 3, 0, 0, 0, 0, 56,250, 49, 3, 0, 0, 0, 0,232, 70, 50, 3, 0, 0, 0, 0, 40,181,151, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,251, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0,136,251, 49, 3, 0, 0, 0, 0,168,250, 49, 3, 0, 0, 0, 0,200, 81, 50, 3, 0, 0, 0, 0,168,218,225, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,251, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,251, 49, 3, 0, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0, 40, 6,154, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,248,251, 49, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0,104, 1, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136,206, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,199, 41,188,
+225,230, 30,193,216,129,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128,
+ 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51, 0, 0, 0, 0,
+ 78,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 64, 90,136, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,104, 1, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,216, 6, 50, 3,
+ 0, 0, 0, 0,248,251, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,
+109,101,114, 97, 65,116,109,111, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,207, 49, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96,241,157, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,112, 1, 0, 0, 24,112,179, 3,
-124, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111,114,108,100, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,141, 47, 79, 62, 64, 19,209, 62, 73, 23, 14, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 1, 0, 32, 0,128, 0, 5, 0,
- 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0,
- 0, 0,128, 62, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184,113,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-184,113,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 88, 0, 0,120, 0, 0, 0,224, 45, 96, 1, 28, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 88, 84,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0,
- 0, 89,155, 3, 0, 89,155, 3, 0, 89,155, 3, 0, 89,155, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,114,179, 3,255,255,255,255, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
- 0, 89,155, 3, 26, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,127,159, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 69, 69, 82, 70, 68, 65, 84, 65, 4, 0, 0, 0,240,127,159, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 71, 82, 0, 0,
- 76, 0, 0, 0,168,141,156, 3,252, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 82, 79,118,101,114,114,105,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,122, 74, 1,160,119,179, 3,255,255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,104,122, 74, 1,251, 0, 0, 0, 1, 0, 0, 0, 56,118,179, 3, 0, 0, 0, 0, 32,225,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56,118,179, 3,251, 0, 0, 0, 1, 0, 0, 0,128,118,179, 3,
-104,122, 74, 1,144,221,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,128,118,179, 3,
-251, 0, 0, 0, 1, 0, 0, 0,200,118,179, 3, 56,118,179, 3, 0,218,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0,200,118,179, 3,251, 0, 0, 0, 1, 0, 0, 0, 16,119,179, 3,128,118,179, 3, 40,249,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16,119,179, 3,251, 0, 0, 0, 1, 0, 0, 0,
- 88,119,179, 3,200,118,179, 3, 80,207,179, 3,192, 36,203, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
- 88,119,179, 3,251, 0, 0, 0, 1, 0, 0, 0,160,119,179, 3, 16,119,179, 3,112,214,179, 3,200,104,155, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,160,119,179, 3,251, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 88,119,179, 3,
-224,210,179, 3,136, 77,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,232,119,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,120,123,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 85,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,216,129,230, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173, 47,244, 63,162,155,113, 37, 40, 80,170, 37, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 40, 80,170, 37,162,155,113,165, 0, 0, 0, 0, 39, 80,170, 37,157, 64,169,190,
+163,155,113, 63, 0, 0, 0, 0,165,155,113, 37,163,155,113,191,157, 64,169,190, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,
216,129,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 64, 90,136, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 40, 19,212, 50,
- 63,252, 17,180, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187, 35, 58,154,139, 2,174, 25, 0, 0, 0, 0,151, 29,171, 37, 1, 0,128, 63,
+ 33,110, 77, 51, 0, 0, 0, 0,135,255,255, 45,158, 64,169, 50, 0, 0,128, 63, 0, 0, 0, 0, 30, 0,128, 48, 5, 80, 56, 53,
+157,216,128, 52, 0, 0,128, 63, 0, 0,128, 63, 38, 80,170, 37,163,155,113, 37, 0, 0, 0, 0, 0, 0, 0, 0,158, 64,169,190,
+162,155,113,191, 0, 0, 0, 0, 0, 0, 0,174,164,155,113, 63,157, 64,169,190, 0, 0, 0, 0, 77,199, 41, 60,158,113,159,192,
+150,113, 12,193, 0, 0,128, 63, 0, 0,128, 63, 40, 80,170, 37,166,155,113, 37, 0, 0, 0, 0,162,155,113,165,164,155,113, 63,
+158, 64,169,190, 0, 0, 0, 0, 40, 80,170,165,159, 64,169, 62,162,155,113, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63,223, 13, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,210, 32, 80, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0,120,123,179, 3,115, 0, 0, 0, 1, 0, 0, 0, 8,127,179, 3,232,119,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 65,116,109,111, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 86,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-173, 47,244, 63,162,155,113, 37, 40, 80,170, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 40, 80,170, 37,
-162,155,113,165, 0, 0, 0, 0, 39, 80,170, 37,157, 64,169,190,163,155,113, 63, 0, 0, 0, 0,165,155,113, 37,163,155,113,191,
-157, 64,169,190, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187, 35, 58,154,
-139, 2,174, 25, 0, 0, 0, 0,151, 29,171, 37, 1, 0,128, 63, 33,110, 77, 51, 0, 0, 0, 0,135,255,255, 45,158, 64,169, 50,
- 0, 0,128, 63, 0, 0, 0, 0, 30, 0,128, 48, 5, 80, 56, 53,157,216,128, 52, 0, 0,128, 63, 0, 0,128, 63, 39, 80,170, 37,
-166,155,113, 37, 0, 0, 0, 0,162,155,113,165,164,155,113, 63,158, 64,169,190, 0, 0, 0, 0, 40, 80,170,165,159, 64,169, 62,
-162,155,113, 63, 0, 0, 0, 0,144, 57, 41, 26,134,234,185,178,154,138, 18,180, 0, 0,128, 63,223, 13, 0, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,210, 32, 80, 63,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
+ 32, 5, 0, 0,216, 6, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0,104, 1, 50, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
+ 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 8,127,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,152,130,179, 3,120,123,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 49, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,152, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248,188,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,139,182, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,233, 19, 3, 0, 0, 0, 0, 56, 90, 17, 3,
+ 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184, 71,158, 3,240, 71,158, 3, 1, 0, 0, 0, 1, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192,
- 28, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 38, 13, 49,213,214,162, 50,
- 0, 0,128, 63, 0, 0, 0, 0, 72, 95,202, 47,255,255,127,191,162,181,187, 51, 0, 0, 0, 0, 34, 75,146,189, 36,181,131,192,
- 95,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122,189,157, 24,186, 64, 28, 38, 71,192, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,127,191, 0, 0,192, 51, 0, 0, 0, 0, 34, 75,146,189, 36,181,131,192, 95,202,167,191, 0, 0,128, 63,
+ 14, 4, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,
+205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0,
+ 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 12, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,137, 3, 3,
+ 0, 0, 0, 0,200,144, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248,164,206, 3,248,176,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,184, 71,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-240, 71,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,152,130,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 40,134,179, 3, 8,127,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,120,233, 19, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 4, 0, 0, 0, 56, 90, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,
+ 72, 12, 50, 3, 0, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,254,198, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 96,182, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0,104, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
+152, 18, 50, 3, 0, 0, 0, 0,216, 6, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,163,160, 3,240,159,160, 3, 1, 0, 0, 0, 1, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192,
- 28, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 38, 13, 49,213,214,162, 50,
- 0, 0,128, 63, 0, 0, 0, 0, 72, 95,202, 47,255,255,127,191,162,181,187, 51, 0, 0, 0, 0, 34, 75,146,189, 36,181,131,192,
- 95,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,244,206, 3,120,243,198, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 40,163,160, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-240,159,160, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,134,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,184,137,179, 3,152,130,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,181,182, 3, 0, 0, 0, 0,
+ 56,225, 20, 3, 0, 0, 0, 0,200,105, 17, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0,131,102, 60, 14,112,164, 64,
+ 24,211,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,
+178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 0,131,102, 60,
+ 14,112,164, 64, 24,211,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,252,118,143,165, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40,155,
+ 0, 0, 0, 53, 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61,218,145,171, 48, 0, 0, 0, 0, 0, 0, 0, 0,218,145,171,176,
+231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,232,110,181,186,
+127,109, 1,191,172,228, 52,190, 0, 0,128, 63,231,126,201, 61,219,145,171, 48, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,218,164,
+ 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0, 0, 0,172, 48,231,126,201,189, 0,192,251, 49, 0, 0, 0, 0, 18,136, 29,187,
+203,200,189,191,180,139, 9, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0,
+ 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,159,163, 3, 8,207,156, 3, 1, 0, 0, 0, 1, 0, 0, 0, 0,131,102, 60, 14,112,164, 64, 24,211,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 0,131,102, 60, 14,112,164, 64,
- 24,211,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,252,118,143,165, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40,155, 0, 0, 0, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61,219,145,171, 48, 32, 19, 70, 29, 0, 0, 0, 0, 65,209,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,235, 66,172, 48,231,126,201,189, 79,216,251, 49, 0, 0, 0, 0, 18,136, 29,187,203,200,189,191,
-139,139, 9, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 0, 0, 0, 56,225, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,200,105, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,152, 18, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,104, 24, 50, 3,
+ 0, 0, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,
+101, 99,107,101,114,115, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,240,159,163, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 8,207,156, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,184,137,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 72,141,179, 3, 40,134,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,136, 3, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,164,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,215,182, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,144, 74, 1,104,206,160, 3, 1, 0, 0, 0, 1, 0, 0, 0, 38, 84,207,191, 0,225,239,192, 15,169, 70, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 24, 50, 3,
+ 0, 0, 0, 0,232,138, 16, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,179,243,222, 63,139,224,239,192, 28, 38, 71, 64,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 38, 84,207,191, 0,225,239,192,
- 15,169, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,105, 33,162, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,179,243,222, 63,139,224,239,192,
+ 28, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162, 51, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,136, 93,191,179,218, 88,190,180,
- 0, 0,128, 52, 0, 0,128, 63, 91,184, 22, 52, 0, 0,128,191, 28,112, 97, 51, 0, 0, 0, 0,104, 33,162, 51,176, 22,140, 39,
- 0, 0,128, 63, 0, 0, 0, 0,255,255,127,191, 0,152, 86,179, 0, 58, 50, 51, 0, 0, 0, 0,131,217, 27,192,152, 0,206,191,
- 70,208,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191, 0, 0,160, 51,
+ 0, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,139,224,239,192,174,243,222,191,
+ 28, 38, 71,192, 0, 0,128, 63, 0, 0, 0, 0, 1, 0,128, 63, 0, 0,128, 51, 0, 0, 0, 0,104, 33,162,179, 0, 0,128, 39,
+ 0, 0,128, 63, 0, 0, 0, 0,255,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0,109,218, 27, 64, 67, 71,224,191,
+ 96,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,140,206, 3, 56,152,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,144, 74, 1, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-104,206,160, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 72,141,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,216,144,179, 3,184,137,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,216,120, 3, 3, 0, 0, 0, 0,152,128, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,139,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 2,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 0, 0, 0, 8, 24, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,232,138, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,104, 24, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0,
+152, 18, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,
+114,115, 46, 48, 48, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,114,155, 3,152,178,155, 3, 1, 0, 0, 0, 1, 0, 0, 0, 38, 84,207,191, 0,225,239,192, 15,169, 70, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 38, 84,207,191, 0,225,239,192,
- 15,169, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162, 51, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,136, 93,191,179,218, 88,190,180,
- 0, 0,128, 52, 0, 0,128, 63, 91,184, 22, 52, 0, 0,128,191, 28,112, 97, 51, 0, 0, 0, 0,104, 33,162, 51,176, 22,140, 39,
- 0, 0,128, 63, 0, 0, 0, 0,255,255,127,191, 0,152, 86,179, 0, 58, 50, 51, 0, 0, 0, 0,131,217, 27,192,152, 0,206,191,
- 70,208,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,120, 3, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 29, 50, 3, 0, 0, 0, 0,
+ 56,209, 3, 2, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,149, 78,207,191, 65,225,239,192, 28, 38, 71, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,228,203,150,192, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 46,222, 76, 50, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191, 46,222, 76, 50, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,149, 78,207,191, 65,225,239,192, 28, 38, 71, 64,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0,128, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,128, 63, 0, 0, 0, 0, 0, 0,128,179,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 66,225,239, 64,149, 78,207,191, 29, 38, 71,192,
+ 0, 0,128, 63, 0, 0, 0, 0,255,255,127,191, 0, 0, 0, 0, 0, 0, 0, 0,104, 33,162, 51, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,255,255,127,191, 0, 0, 0, 0, 0, 0,128, 51, 0, 0, 0, 0, 2,217, 27,192, 5,251,205,191, 97,202,167,191,
+ 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-120,115,206, 3,120,127,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,136,114,155, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-152,178,155, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,216,144,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,104,148,179, 3, 72,141,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,114,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 44,183, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136, 60,158, 3,144, 64,158, 3, 1, 0, 0, 0, 1, 0, 0, 0, 93, 0,223, 63,205,220,239,192,222,170, 70, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 93, 0,223, 63,205,220,239,192,
-222,170, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162,179,105, 33, 34,167, 0, 0, 0, 0, 64, 90,136, 48, 0, 0,128, 63,
- 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 66, 72,191, 51, 87, 98,185,180,
- 0, 0, 0, 53, 0, 0,128, 63,223,139, 24, 52, 0, 0,128, 63,138, 8, 26,179, 0, 0, 0, 0,104, 33,162,179, 91, 81,180, 39,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2,184,145,179,211, 40, 97, 51, 0, 0, 0, 0,231,225, 27, 64,237, 83,224,191,
-227,211,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168, 65,253, 2, 0, 0, 0, 0,104,112, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,
+216, 29, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 4, 0, 0, 0, 56,209, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0,
+ 32, 5, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 8, 36, 50, 3, 0, 0, 0, 0,104, 24, 50, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
+ 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224, 90,206, 3,224,102,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,136, 60,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-144, 64,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,104,148,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,248,151,179, 3,216,144,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 23, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 59,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 35, 50, 3, 0, 0, 0, 0,200,210, 3, 2,
+ 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,142,127,122, 61,152,212, 18,193, 28, 38, 71, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15, 73,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128,191,105, 33, 34,180, 0, 0, 0, 0, 0, 0, 0, 0,105, 33, 34, 52, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,142,127,122, 61,152,212, 18,193, 28, 38, 71, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128,191,105, 33, 34, 52, 0, 0,128, 39, 0, 0, 0, 0, 0, 0, 34,180, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 27,126,122, 61,152,212, 18,193, 28, 38, 71,192, 0, 0,128, 63,
+ 0, 0,128,191,106, 33, 34, 52, 95,202,167, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,179, 0, 0,128, 63, 0, 0, 0, 0,
+106, 33, 34, 52, 1, 0,128, 63, 0, 0,160, 51, 0, 0, 0, 0,192,120,146, 61,145, 36, 65, 63, 95,202,167,191, 0, 0,128, 63,
+ 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,
+205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0,
+ 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,176,127,153, 3,232, 15,160, 3, 1, 0, 0, 0, 1, 0, 0, 0, 93, 0,223, 63,205,220,239,192,222,170, 70, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 93, 0,223, 63,205,220,239,192,
-222,170, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162,179,105, 33, 34,167, 0, 0, 0, 0, 64, 90,136, 48, 0, 0,128, 63,
- 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 66, 72,191, 51, 87, 98,185,180,
- 0, 0, 0, 53, 0, 0,128, 63,223,139, 24, 52, 0, 0,128, 63,138, 8, 26,179, 0, 0, 0, 0,104, 33,162,179, 91, 81,180, 39,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2,184,145,179,211, 40, 97, 51, 0, 0, 0, 0,231,225, 27, 64,237, 83,224,191,
-227,211,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 50,253, 2,
+ 0, 0, 0, 0,232, 57,253, 2, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,168, 35, 50, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 4, 0, 0, 0,200,210, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 8, 36, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,216, 41, 50, 3, 0, 0, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 48, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 73,206, 3, 0, 82,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,176,127,153, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-232, 15,160, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,248,151,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,136,155,179, 3,104,148,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64, 61,195, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,130,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,232,160, 3, 96, 76,154, 3, 1, 0, 0, 0, 1, 0, 0, 0,185,115,122, 61, 28,209, 18,193, 27, 38, 71, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15, 73,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33, 34,180, 0, 0, 0, 0, 0, 0, 0, 0,105, 33, 34, 52, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,185,115,122, 61, 28,209, 18,193,
- 27, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 41, 50, 3, 0, 0, 0, 0,184,226, 19, 3, 0, 0, 0, 0,
+ 2, 0, 0, 0, 1, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128,167, 0, 0, 0, 0, 0,164, 5, 47, 0, 0,128, 63,
- 0,164, 5,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,146,243,109, 49, 0,157, 30, 50,
-146,243,109,153, 0, 0,128, 63, 0, 0,128,191,106, 33, 34, 52,203,167,116, 28, 0, 0, 0, 0,112, 57,108, 48, 6, 39,170,179,
- 0, 0,128, 63, 0, 0, 0, 0,106, 33, 34, 52, 1, 0,128, 63,255,255,159, 51, 0, 0, 0, 0,213,114,146, 61, 78, 92, 65, 63,
- 93,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 17, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40, 27, 0, 0, 0,181, 0, 0, 0, 52, 0, 0,128, 63,231,126,201, 61,
+ 0, 0,128, 49, 0, 0, 0, 0, 0, 0, 0, 0,218,145,171,176,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,252,159,204, 63,126,109, 1,191,156,217, 52,190, 0, 0,128, 63,231,126,201, 61,
+ 0, 0, 0,178, 0, 0,128, 44, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,219,145,171, 48,
+231,126,201,189,161,222,251, 49, 0, 0, 0, 0,148,126,204, 63,204,200,189,191,117,156, 20, 58, 0, 0,128, 63, 33, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-192,114,155, 3, 16,158,155, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,168,232,160, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 96, 76,154, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,136,155,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,159,179, 3,248,151,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,176,137,163, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,173,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,120, 41, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
+184,226, 19, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,216, 41, 50, 3,
+ 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,168, 47, 50, 3, 0, 0, 0, 0, 8, 36, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 51, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,112,223,154, 3, 24,159,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,185,115,122, 61, 28,209, 18,193, 27, 38, 71, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15, 73,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33, 34,180, 0, 0, 0, 0, 0, 0, 0, 0,105, 33, 34, 52, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,185,115,122, 61, 28,209, 18,193,
- 27, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128,167, 0, 0, 0, 0, 0,164, 5, 47, 0, 0,128, 63,
- 0,164, 5,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,146,243,109, 49, 0,157, 30, 50,
-146,243,109,153, 0, 0,128, 63, 0, 0,128,191,106, 33, 34, 52,203,167,116, 28, 0, 0, 0, 0,112, 57,108, 48, 6, 39,170,179,
- 0, 0,128, 63, 0, 0, 0, 0,106, 33, 34, 52, 1, 0,128, 63,255,255,159, 51, 0, 0, 0, 0,213,114,146, 61, 78, 92, 65, 63,
- 93,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 6,154, 3, 40, 1,155, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,112,223,154, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,159,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,159,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,163,179, 3,136,155,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 47, 50, 3, 0, 0, 0, 0,232,160, 17, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+ 1, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180,
+ 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+177,159, 34, 65, 0, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 15, 66,216,178,
+ 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53, 0, 0, 0, 0, 0, 0,128, 63,232,126,201, 61, 0, 0,128, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0,219,145,171,176,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,126,201, 61, 0, 0, 0, 0, 23,253,204,191,128,109, 1,191,176,217, 52,190, 0, 0,128, 63,230,126,201, 61, 0, 0, 0,178,
+ 0, 0,128,172, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,217,145,171, 48,231,126,201,189,
+161,222,251, 49, 0, 0, 0, 0,127, 30,205,191,203,200,189,191,254,135, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
+ 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,215,183, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,162,179, 3, 24,163,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,227,252,129,193, 14,112,164, 64,
- 9,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 17, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40, 27, 0, 0, 0,181,
- 0, 0, 0, 52, 0, 0,128, 63,231,126,201, 61, 54,219, 4,178,204,187,104, 43, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,219,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,148,126,204, 63,204,200,189,191,
- 75,156, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 72, 47, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,232,160, 17, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,168, 47, 50, 3, 0, 0, 0, 0,
+116, 0, 0, 0, 1, 0, 0, 0,120, 53, 50, 3, 0, 0, 0, 0,216, 41, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,162,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,163,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,163,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,167,179, 3, 80,159,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,228,183, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,166,179, 3, 24,167,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,227,252,129,193, 14,112,164, 64,
- 9,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 17, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40, 27, 0, 0, 0,181,
- 0, 0, 0, 52, 0, 0,128, 63,231,126,201, 61, 54,219, 4,178,204,187,104, 43, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,219,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,148,126,204, 63,204,200,189,191,
- 75,156, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24, 53, 50, 3, 0, 0, 0, 0,248, 37, 19, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
+176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0,
+ 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65,
+ 0, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,120,137,214,177,176,159,162,177,
+ 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,177,159, 34, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,254,255,127, 54,255,255,255, 52,255,255,127, 52, 0, 0,128, 63,232,126,201, 61, 0, 0, 0, 49, 0, 0, 0, 48,
+ 0, 0, 0, 0,219,145,171,176,231,126,201, 61, 0, 0,128,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61,
+ 0, 0, 0, 0,202,225, 76,192,128,109, 1,191,242,179, 52,190, 0, 0,128, 63,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,160,222,251, 49,
+ 0, 0, 0, 0,125,242, 76,192,203,200,189,191, 33, 71, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
+ 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
+143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,166,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,167,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,167,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,171,179, 3, 80,163,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,241,183, 3, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,170,179, 3, 24,171,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64,
- 35,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 15, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,230,126,201, 61, 91, 75,181,177, 58,240,226,171, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,217,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,127, 30,205,191,203,200,189,191,
-211,135, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 24, 53, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,248, 37, 19, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,120, 53, 50, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0, 72, 59, 50, 3, 0, 0, 0, 0,168, 47, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,170,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,171,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,171,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,175,179, 3, 80,167,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,254,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0,232, 58, 50, 3, 0, 0, 0, 0,216,171, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,237, 10, 2,194,
+ 14,112,164, 64,184,147,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,
+166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,
+151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,
+237, 10, 2,194, 14,112,164, 64,184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+138,222,112, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+138,222,112, 28, 0, 0,128, 53, 0, 0, 0, 0, 0, 0,128, 63,232,126,201, 61, 0, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0,
+219,145,171,176,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,
+ 22,182, 76, 64,127,109, 1,191,202,178, 52,190, 0, 0,128, 63,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0,
+ 94, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,
+ 98,165, 76, 64,203,200,189,191,129,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,174,179, 3, 24,175,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64,
- 35,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 15, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,230,126,201, 61, 91, 75,181,177, 58,240,226,171, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,217,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,127, 30,205,191,203,200,189,191,
-211,135, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,174,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,175,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,175,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,179,179, 3, 80,171,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,232, 58, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,216,171, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 72, 59, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
+ 24, 65, 50, 3, 0, 0, 0, 0,120, 53, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 12,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,178,179, 3, 24,179,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64,
- 46,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,120,137,214,177,176,159,162,177, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
-177,159, 34, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,254,255,127, 54,255,255,255, 52,
-255,255,127, 52, 0, 0,128, 63,231,126,201, 61,224,158,198, 48,128, 51,197,170, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,160,222,251, 49, 0, 0, 0, 0,125,242, 76,192,203,200,189,191,
-246, 70, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,178,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,179,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,179,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,183,179, 3, 80,175,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184, 64, 50, 3, 0, 0, 0, 0,104, 80, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 16,173, 34, 66,220,133, 63,192,
+216,147,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,210, 83,251,192,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 99,102,182,178,159, 34,193, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+ 98, 99,102,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 16,173, 34, 66,
+220,133, 63,192,216,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28,
+ 0, 0,128, 53, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 14,179,230,126,201, 61, 0, 0, 0,176, 0, 0, 0, 0,231,126,201,189,
+153,186, 14,179, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,221,190,150,190,
+133, 10,128,192,227,178, 52,190, 0, 0,128, 63, 0, 0, 24,179,232,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 51, 57,255,177,
+106,201, 52,167,232,126,201, 61, 0, 0, 0, 0,231,126,201, 61,154,186, 14, 51,163,222,251, 49, 0, 0, 0, 0,169,196, 46, 63,
+223, 18,128,192, 64, 84, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0,
+ 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 25,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,182,179, 3, 24,183,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64,
- 46,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,120,137,214,177,176,159,162,177, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
-177,159, 34, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,254,255,127, 54,255,255,255, 52,
-255,255,127, 52, 0, 0,128, 63,231,126,201, 61,224,158,198, 48,128, 51,197,170, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,160,222,251, 49, 0, 0, 0, 0,125,242, 76,192,203,200,189,191,
-246, 70, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 0, 0, 0,184, 64, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,104, 80, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 24, 65, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,232, 70, 50, 3,
+ 0, 0, 0, 0, 72, 59, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,
+101, 99,107,101,114,115, 46, 48, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,182,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,183,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,183,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,187,179, 3, 80,179,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 38,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,186,179, 3, 24,187,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,184,147,229, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 70, 50, 3,
+ 0, 0, 0, 0, 56,220, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 77,145, 34,194,220,133, 63,192,216,147,229, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,203,150,192, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,102, 36, 2, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34,193,102, 36, 2, 52,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 77,145, 34,194,220,133, 63,192,
+216,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61, 24, 67,144,176, 48,212, 86, 43, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0, 98,165, 76, 64,203,200,189,191,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,192, 48,231,126,201,189, 0, 0, 0,176, 0, 0, 0, 0,231,126,201, 61, 0, 64,161, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0, 12,191,150, 62, 88,233,127,192,
+228,178, 52,190, 0, 0,128, 63, 0, 0, 0, 49,231,126,201,189, 0, 0, 0, 0, 0, 0, 0, 0, 51, 57,255, 49, 23, 63,204, 36,
+232,126,201, 61, 0, 0, 0, 0,231,126,201,189, 1, 64,161,176,162,222,251, 49, 0, 0, 0, 0,145,196, 46,191,164,216,127,192,
+ 63, 84, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,186,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,187,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,187,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,191,179, 3, 80,183,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 51,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 0, 0, 0,136, 70, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56,220, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,232, 70, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0,
+ 24, 65, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,190,179, 3, 24,191,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,184,147,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61, 24, 67,144,176, 48,212, 86, 43, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0, 98,165, 76, 64,203,200,189,191,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,216, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,190,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,191,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,191,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,195,179, 3, 80,187,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170, 77,152, 65,248,108, 90,191, 90,202,168,191, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63,
+ 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,170, 77,152, 65,248,108, 90,191, 90,202,168,191,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63,220, 19,149,176,206,185,149,179, 0, 0, 0, 0,101, 61, 84, 51, 1, 0,128, 63, 45,173,146, 51,
+ 0, 0, 0, 0,180,106, 15, 51, 67, 91, 19,178, 0, 0,128, 63, 0, 0, 0, 0,229,162, 50, 53,251, 88,214, 52,187,255,179, 53,
+ 0, 0,128, 63,138,247,255, 62,164, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0, 35, 39, 74, 63, 24, 67,194, 61,217, 45, 27,191,
+ 0, 0, 0, 0,137, 26,182, 62,176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0,214,255, 5,193,149,139, 93, 65, 72,106, 34,193,
+ 0, 0,128, 63,136,247,255, 62,164, 21, 44,191,250,203, 11, 63, 0, 0, 0, 0,139, 26,182, 62,175,248, 59, 63, 46, 7, 20, 63,
+ 0, 0, 0, 0, 36, 39, 74,191, 24, 67,194,189,218, 45, 27, 63, 0, 0, 0, 0, 4, 80,121,193,162,189, 99, 65, 13, 24, 70,192,
+ 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 64,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,194,179, 3, 24,195,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,184,147,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34,193,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154, 49,225,149,196, 23, 0, 0, 0, 0, 16, 58,194, 39, 0, 0,128, 63,
-177,159,162, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 56,150, 2, 50,231,126,201,189, 48, 48, 63,171, 0, 0, 0, 0, 51, 57,255, 49,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201,189, 54, 57,255,177,162,222,251, 49, 0, 0, 0, 0,240,212, 46,191,239,198,127,192,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 88, 76, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,200, 81, 50, 3, 0, 0, 0, 0,232, 70, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,194,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,195,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,195,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,199,179, 3, 80,191,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 78,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,220, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,198,179, 3, 24,199,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,184,147,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34,193,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62,
+ 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,
+217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154, 49,225,149,196, 23, 0, 0, 0, 0, 16, 58,194, 39, 0, 0,128, 63,
-177,159,162, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 56,150, 2, 50,231,126,201,189, 48, 48, 63,171, 0, 0, 0, 0, 51, 57,255, 49,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201,189, 54, 57,255,177,162,222,251, 49, 0, 0, 0, 0,240,212, 46,191,239,198,127,192,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 12, 73,149, 51,183,223, 34,179, 0, 0, 0, 0,180, 66, 41, 50, 0, 0,128, 63,176, 27,138, 49, 0, 0, 0, 0,201, 75, 13, 50,
+ 76, 10,177, 50, 1, 0,128, 63, 0, 0, 0, 0, 41,189, 56,179,113,162,231,180, 67,151,100,180, 0, 0,128, 63,135,247,255, 62,
+164, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0, 37, 39, 74, 63, 28, 67,194, 61,217, 45, 27,191, 0, 0, 0, 0,136, 26,182, 62,
+175,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0,172,234,158, 65, 79,243, 2, 63,195,120, 71, 64, 0, 0,128, 63,138,247,255, 62,
+165, 21, 44,191,251,203, 11, 63, 0, 0, 0, 0,140, 26,182, 62,176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0, 35, 39, 74,191,
+ 17, 67,194,189,217, 45, 27, 63, 0, 0, 0, 0, 41,133, 74, 65, 29, 20,102, 63,115,194, 34, 65, 0, 0,128, 63, 30, 4, 0, 0,
+ 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,198,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,199,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,199,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,203,179, 3, 80,195,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 91,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,200, 81, 50, 3, 0, 0, 0, 0,
+116, 0, 0, 0, 1, 0, 0, 0, 56, 87, 50, 3, 0, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,202,179, 3, 24,203,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192, 45,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34,193, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192,
- 45,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154,177, 0, 0, 0, 0, 0, 0, 0, 0, 16, 58,194,167, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 16, 58,194,156, 0, 0,128, 52,
- 0, 0, 0, 0, 0, 0,128, 63, 28,240,238, 49,231,126,201, 61,240, 90, 33,171, 0, 0, 0, 0, 51, 57,255,177,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201, 61, 54, 57,255,177,163,222,251, 49, 0, 0, 0, 0,210,222, 46, 63, 34, 9,128,192,
-191, 71, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8,232, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,202,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,203,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,203,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,207,179, 3, 80,199,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 50, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+111, 56,183,192, 61, 86, 90,193,242,190, 40, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,143,104,191,
+ 93, 33, 11,191,232, 45, 17, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,194, 12,191, 1,236, 39, 63,180, 97, 4, 63,
+ 0, 0, 0, 0, 37,182, 59,191,170, 20,169,189, 65,200, 44,191, 0, 0, 0, 0, 11,208,204,190, 93, 18, 64,191,215,191, 6, 63,
+ 0, 0, 0, 0,111, 56,183,192, 61, 86, 90,193,242,190, 40, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,238,165, 47,180,227,129, 13, 50,
+ 0, 0, 0, 0,163, 29,131,178, 1, 0,128, 63, 76,221,150,177, 0, 0, 0, 0, 14, 36, 14,179,106,112,163, 48, 0, 0,128, 63,
+ 0, 0, 0, 0,255,187,156,179, 91, 51,158,181,179,247,156,180, 0, 0,128, 63,132,194, 12,191, 36,182, 59,191, 15,208,204,190,
+ 0, 0, 0, 0, 0,236, 39, 63,171, 20,169,189, 92, 18, 64,191, 0, 0, 0, 0,180, 97, 4, 63, 65,200, 44,191,215,191, 6, 63,
+ 0, 0, 0, 0,124,180,178, 62,111,139,229, 63, 27,164,144,193, 0, 0,128, 63,133,194, 12,191, 38,182, 59,191, 7,208,204,190,
+ 0, 0, 0, 0,181, 97, 4, 63, 66,200, 44,191,214,191, 6, 63, 0, 0, 0, 0,255,235, 39,191,164, 20,169, 61, 92, 18, 64, 63,
+ 0, 0, 0, 0,133, 79,167,192, 33,228,179, 63, 21,212, 26,193, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
+ 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
+ 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
+143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,104,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,206,179, 3, 24,207,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192, 45,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34,193, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192,
- 45,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154,177, 0, 0, 0, 0, 0, 0, 0, 0, 16, 58,194,167, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 16, 58,194,156, 0, 0,128, 52,
- 0, 0, 0, 0, 0, 0,128, 63, 28,240,238, 49,231,126,201, 61,240, 90, 33,171, 0, 0, 0, 0, 51, 57,255,177,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201, 61, 54, 57,255,177,163,222,251, 49, 0, 0, 0, 0,210,222, 46, 63, 34, 9,128,192,
-191, 71, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,206,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,207,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,207,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,224,210,179, 3, 80,203,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 93,179, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 56, 87, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
+168, 92, 50, 3, 0, 0, 0, 0,200, 81, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 76, 97,109,112, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170, 77,152, 65,248,108, 90,191, 90,202,168,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,
-176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,170, 77,152, 65,248,108, 90,191,
- 90,202,168,191, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,220, 19,149,176,206,185,149,179, 0, 0, 0, 0,101, 61, 84, 51, 1, 0,128, 63,
- 45,173,146, 51, 0, 0, 0, 0,180,106, 15, 51, 67, 91, 19,178, 0, 0,128, 63, 0, 0, 0, 0,229,162, 50, 53,251, 88,214, 52,
-187,255,179, 53, 0, 0,128, 63,136,247,255, 62,164, 21, 44,191,251,203, 11, 63, 0, 0, 0, 0,138, 26,182, 62,176,248, 59, 63,
- 46, 7, 20, 63, 0, 0, 0, 0, 36, 39, 74,191, 26, 67,194,189,218, 45, 27, 63, 0, 0, 0, 0, 4, 80,121,193,162,189, 99, 65,
- 13, 24, 70,192, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168,224, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0,224,210,179, 3,115, 0, 0, 0, 1, 0, 0, 0,112,214,179, 3, 80,207,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 96,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,147,104, 64, 42, 84, 23,193,
+116, 77,171, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191,
+ 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,176,147,104, 64,
+ 42, 84, 23,193,116, 77,171, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,197,201, 17,180, 99,220,102, 50, 0, 0, 0, 0,123,165,191, 50,
+254,255,127, 63, 10,194,140, 50, 0, 0, 0, 0, 41,160,180,178, 91,103, 73, 50,254,255,127, 63, 0, 0, 0, 0,254,255,127, 52,
+254,255,127,181,253,255,255, 52, 0, 0,128, 63,141,247,255, 62,165, 21, 44,191,250,203, 11, 63, 0, 0, 0, 0, 38, 39, 74, 63,
+ 28, 67,194, 61,218, 45, 27,191, 0, 0, 0, 0,138, 26,182, 62,176,248, 59, 63, 47, 7, 20, 63, 0, 0, 0, 0, 97,221,111, 64,
+113, 57, 23,191, 59, 2, 45,193, 0, 0,128, 63,137,247,255, 62,165, 21, 44,191,251,203, 11, 63, 0, 0, 0, 0,142, 26,182, 62,
+176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0, 37, 39, 74,191, 20, 67,194,189,217, 45, 27, 63, 0, 0, 0, 0, 91, 99, 93,192,
+135, 98, 80,190,223,119,112,192, 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0,
+ 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,
-138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191,
- 47, 7, 20, 63, 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 12, 73,149, 51,
-183,223, 34,179, 0, 0, 0, 0,180, 66, 41, 50, 0, 0,128, 63,176, 27,138, 49, 0, 0, 0, 0,201, 75, 13, 50, 76, 10,177, 50,
- 1, 0,128, 63, 0, 0, 0, 0, 41,189, 56,179,113,162,231,180, 67,151,100,180, 0, 0,128, 63,139,247,255, 62,165, 21, 44,191,
-252,203, 11, 63, 0, 0, 0, 0,141, 26,182, 62,176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0, 36, 39, 74,191, 19, 67,194,189,
-216, 45, 27, 63, 0, 0, 0, 0, 42,133, 74, 65, 29, 20,102, 63,116,194, 34, 65, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,112,214,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 0,218,179, 3,224,210,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 50, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,105,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 56,183,192, 61, 86, 90,193,242,190, 40, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,143,104,191, 93, 33, 11,191,232, 45, 17, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,134,194, 12,191, 1,236, 39, 63,180, 97, 4, 63, 0, 0, 0, 0, 37,182, 59,191,170, 20,169,189,
- 65,200, 44,191, 0, 0, 0, 0, 11,208,204,190, 93, 18, 64,191,215,191, 6, 63, 0, 0, 0, 0,111, 56,183,192, 61, 86, 90,193,
-242,190, 40, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,238,165, 47,180,227,129, 13, 50, 0, 0, 0, 0,163, 29,131,178, 1, 0,128, 63,
- 76,221,150,177, 0, 0, 0, 0, 14, 36, 14,179,106,112,163, 48, 0, 0,128, 63, 0, 0, 0, 0,255,187,156,179, 91, 51,158,181,
-179,247,156,180, 0, 0,128, 63,135,194, 12,191, 35,182, 59,191, 12,208,204,190, 0, 0, 0, 0,181, 97, 4, 63, 65,200, 44,191,
-213,191, 6, 63, 0, 0, 0, 0, 0,236, 39,191,162, 20,169, 61, 92, 18, 64, 63, 0, 0, 0, 0,135, 79,167,192, 33,228,179, 63,
- 21,212, 26,193, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,168, 92, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 24, 98, 50, 3, 0, 0, 0, 0,
+ 56, 87, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48,
+ 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0, 0,218,179, 3,115, 0, 0, 0, 1, 0, 0, 0,144,221,179, 3,112,214,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,228, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8,100,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,176,147,104, 64, 42, 84, 23,193,116, 77,171, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,
-138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191,
- 47, 7, 20, 63, 0, 0, 0, 0,176,147,104, 64, 42, 84, 23,193,116, 77,171, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193, 67,131,104,192, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63,
+ 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193, 67,131,104,192,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,197,201, 17,180,
- 99,220,102, 50, 0, 0, 0, 0,123,165,191, 50,254,255,127, 63, 10,194,140, 50, 0, 0, 0, 0, 41,160,180,178, 91,103, 73, 50,
-254,255,127, 63, 0, 0, 0, 0,254,255,127, 52,254,255,127,181,253,255,255, 52, 0, 0,128, 63,136,247,255, 62,164, 21, 44,191,
-251,203, 11, 63, 0, 0, 0, 0,138, 26,182, 62,175,248, 59, 63, 45, 7, 20, 63, 0, 0, 0, 0, 37, 39, 74,191, 18, 67,194,189,
-217, 45, 27, 63, 0, 0, 0, 0, 88, 99, 93,192,122, 98, 80,190,223,119,112,192, 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63,254,255,127, 63, 55,105,222, 50,186,168, 17, 51, 0, 0, 0, 0,243,228, 47,178, 0, 0,128, 63, 81, 76,155,178,
+ 0, 0, 0, 0,170,191, 22, 50,214, 89, 50, 51,254,255,127, 63, 0, 0, 0, 0,254,255,127,181, 0, 0,128,181, 35, 5,136,168,
+ 0, 0,128, 63,137,247,255, 62,166, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0, 38, 39, 74, 63, 28, 67,194, 61,217, 45, 27,191,
+ 0, 0, 0, 0,137, 26,182, 62,176,248, 59, 63, 47, 7, 20, 63, 0, 0, 0, 0,121,151, 75, 65,207,166,219,191,181,156, 34, 63,
+ 0, 0,128, 63,140,247,255, 62,165, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0,140, 26,182, 62,176,248, 59, 63, 45, 7, 20, 63,
+ 0, 0, 0, 0, 36, 39, 74,191, 22, 67,194,189,218, 45, 27, 63, 0, 0, 0, 0,148,142,176, 64, 97, 22,170,191, 27, 28,246, 64,
+ 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,144,221,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 32,225,179, 3, 0,218,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 52, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,102,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193, 67,131,104,192,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,
-176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193,
- 67,131,104,192, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 55,105,222, 50,186,168, 17, 51, 0, 0, 0, 0,243,228, 47,178, 0, 0,128, 63,
- 81, 76,155,178, 0, 0, 0, 0,170,191, 22, 50,214, 89, 50, 51,254,255,127, 63, 0, 0, 0, 0,254,255,127,181, 0, 0,128,181,
- 35, 5,136,168, 0, 0,128, 63,139,247,255, 62,165, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0,140, 26,182, 62,175,248, 59, 63,
- 45, 7, 20, 63, 0, 0, 0, 0, 36, 39, 74,191, 20, 67,194,189,217, 45, 27, 63, 0, 0, 0, 0,147,142,176, 64,101, 22,170,191,
- 27, 28,246, 64, 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 24, 98, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,136,103, 50, 3, 0, 0, 0, 0,168, 92, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 56, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0, 32,225,179, 3,115, 0, 0, 0, 1, 0, 0, 0,176,228,179, 3,144,221,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,236, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 40,109,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-218, 15,201, 63, 0, 0,128, 37,255,255,127, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,255,255,127, 37,
- 0, 0,128,165, 0, 0, 0, 0,255,255,127, 37,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 37, 0, 0,128,191,
-105, 33,162, 51, 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,218, 15,201, 63, 0, 0,128, 37,255,255,127, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 44,197,107, 53,
- 4,147, 81,180, 0, 0, 0, 0,253,255,127, 37, 0, 0,128, 63, 64, 90,136, 48, 0, 0, 0, 0,254,255,127,165, 44,197,107,155,
- 0, 0,128, 63, 0, 0, 0, 0,254,255,255, 51,255,255,255,181,254,255,127, 52, 0, 0,128, 63, 0, 0,128, 63, 25, 58,194,178,
- 67,191,128,179, 0, 0, 0, 0, 4, 0,128,165, 0, 0,128, 63,254,255,255, 39, 0, 0, 0, 0,156, 90,241, 49,220, 13,171,177,
-255,255,127, 63, 0, 0, 0, 0, 33,159,189,191, 47,164,188,191,151,188,153,192, 0, 0,128, 63, 32, 0, 0, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+255,255,127, 37, 0, 0,128,165, 0, 0, 0, 0,255,255,127, 37,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 37,
+ 0, 0,128,191,105, 33,162, 51, 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 64, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,
+ 44,197,107, 53, 4,147, 81,180, 0, 0, 0, 0,253,255,127, 37, 0, 0,128, 63, 64, 90,136, 48, 0, 0, 0, 0,254,255,127,165,
+ 44,197,107,155, 0, 0,128, 63, 0, 0, 0, 0,254,255,255, 51,255,255,255,181,254,255,127, 52, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,128,165, 0, 0,128, 63,255,255,255, 39, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 32,159,189,191, 47,164,188,191,150,188,153,192, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,128,165, 0, 0,128, 63,255,255,255, 39, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 32,159,189,191, 47,164,188,191,150,188,153,192, 0, 0,128, 63, 32, 0, 0, 0,
+ 0, 16, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,176,228,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,176,232,179, 3, 32,225,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 0, 0,
-108, 97,110,101, 46, 48, 48, 51, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,194,182, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64,232,179, 3,120,232,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 0,131,102, 60, 14,112,164, 64, 24,211,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 0,131,102, 60, 14,112,164, 64,
- 24,211,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,252,118,143,165, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40,155, 0, 0, 0, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61,219,145,171, 48, 32, 19, 70, 29, 0, 0, 0, 0, 65,209,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,235, 66,172, 48,231,126,201,189, 79,216,251, 49, 0, 0, 0, 0, 18,136, 29,187,203,200,189,191,
-139,139, 9, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,136,103, 50, 3, 0, 0, 0, 0,
+116, 0, 0, 0, 1, 0, 0, 0,152,109, 50, 3, 0, 0, 0, 0, 24, 98, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 64,232,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-120,232,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,176,232,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,176,236,179, 3,176,228,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,192, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,162,186, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248,108, 50, 3, 0, 0, 0, 0, 72,109, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+100, 82, 7,189, 21,204,103,191,241,165,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,153, 39,155, 64,153, 39,155, 64,153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63,
+ 0, 0,192, 37,255,255,255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,152, 39, 27, 38,102,187,232,166,
+ 0, 0, 0, 0,102,187,232, 38,157,134,196, 52,153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,153, 39,155,192,157,134,196, 52,
+ 0, 0, 0, 0,100, 82, 7,189, 21,204,103,191,241,165,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,236, 48,206,152, 9, 66, 41, 24,
+ 0, 0, 0, 0,216, 55, 60,152, 0, 0,128, 63, 88,133,105,166, 0, 0, 0, 0,226,159, 91,151, 64,218, 93, 38, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 26, 50,211, 35,
+ 0, 0, 0, 0, 24, 50,211, 35, 68,193,133, 50, 25, 50, 83,190, 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62, 68,193,133, 50,
+ 0, 0, 0, 0,199, 70,223, 59,232, 71,190,190,148, 58, 63,190, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35,
+ 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62,158, 59,174, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,175, 25, 50, 83, 62,
+ 0, 0, 0, 0,135, 62,153, 59,217, 94,110,185,118, 71,238, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
+ 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
+143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 4, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64,236,179, 3,120,236,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,100, 82, 7,189, 21,204,103,191,241,165,230, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,153, 39,155, 64,
-153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0,192, 37,255,255,255, 36, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,152, 39, 27, 38,102,187,232,166, 0, 0, 0, 0,102,187,232, 38,157,134,196, 52,
-153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,153, 39,155,192,157,134,196, 52, 0, 0, 0, 0,100, 82, 7,189, 21,204,103,191,
-241,165,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,236, 48,206,152, 9, 66, 41, 24, 0, 0, 0, 0,216, 55, 60,152, 0, 0,128, 63,
- 88,133,105,166, 0, 0, 0, 0,226,159, 91,151, 64,218, 93, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62,
- 59,119,189, 38, 0, 0, 0, 0, 0, 94,204,173, 16, 58, 97,175, 25, 50, 83, 62, 0, 0, 0, 0,135, 62,153, 59,184, 97,110,185,
-118, 71,238, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,248,108, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72,109, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,152,109, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 88,116, 50, 3,
+ 0, 0, 0, 0,136,103, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,
+101,118,105,101,119, 46, 48, 48, 50, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 64,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-120,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,176,236,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 40,241,179, 3,176,232,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48,
- 50, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,104, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 94,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,240,179, 3,
-176,240,179, 3, 64,240,179, 3,120,240,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,242,187,213,191,194,145,134, 63,254,100, 35, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,168,115, 50, 3, 0, 0, 0, 0,168,115, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,115, 50, 3,
+ 0, 0, 0, 0, 88,115, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,242,187,213,191,194,145,134, 63,254,100, 35, 64,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 0, 28, 65,246, 0, 28, 65,
243, 0, 28, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,110,135, 63,180,169, 59, 62,138,115, 1,191, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,198, 49, 6, 65,115,154,148,192, 3,113,227,191, 0, 0, 0, 0,159,250,106, 64,189,207, 91, 64,
80,170, 5, 65, 0, 0, 0, 0, 46,151, 86,192,125, 94,251,192,188,127,150, 64, 0, 0, 0, 0,242,187,213,191,194,145,134, 63,
254,100, 35, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,220,198, 33,177, 33, 91, 79,179, 0, 0, 0, 0,132, 62,152, 49, 0, 0,128, 63,
52,168,172, 50, 0, 0, 0, 0, 31, 6, 96,177,234,190, 21, 51, 0, 0,128, 63, 0, 0, 0, 0,212, 90,228, 50,171,224,143,179,
-223, 27,189,175, 0, 0,128, 63,143,174,180, 61,160, 48, 30, 61,223,118, 16,189, 0, 0, 0, 0,162, 29,153,188, 38,248,179, 61,
-115,162, 74, 61, 0, 0, 0, 0, 15, 21, 72, 61,160,250, 19,189, 88, 57,169, 61, 0, 0, 0, 0, 4,107, 50, 63, 88, 46,204,190,
+223, 27,189,175, 0, 0,128, 63,144,174,180, 61,160, 48, 30, 61,223,118, 16,189, 0, 0, 0, 0,164, 29,153,188, 38,248,179, 61,
+113,162, 74, 61, 0, 0, 0, 0, 15, 21, 72, 61,160,250, 19,189, 88, 57,169, 61, 0, 0, 0, 0, 4,107, 50, 63, 88, 46,204,190,
+177,206, 79, 63, 0, 0,128, 63,144,174,180, 61,160, 48, 30, 61,223,118, 16,189, 0, 0, 0, 0,164, 29,153,188, 38,248,179, 61,
+113,162, 74, 61, 0, 0, 0, 0, 15, 21, 72, 61,160,250, 19,189, 88, 57,169, 61, 0, 0, 0, 0, 4,107, 50, 63, 88, 46,204,190,
177,206, 79, 63, 0, 0,128, 63, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 64,240,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-120,240,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,176,240,179, 3, 79, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 31, 0, 0, 0, 83,117, 98,115,117,114,102, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,241,179, 3,115, 0, 0, 0, 1, 0, 0, 0,
- 40,245,179, 3,176,236,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,243,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,117,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0, 8,115, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 4, 0, 0, 0, 88,115, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,
+168,115, 50, 3, 0, 0, 0, 0, 74, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 88,116, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,104,122, 50, 3, 0, 0, 0, 0,152,109, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 51, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184,244,179, 3,240,244,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 56,135, 72, 63, 56,135, 72, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 57,135,200, 47, 57,135,200,178, 1, 0,128, 63, 0, 0, 0, 0,180,192,175,176, 32,132,146, 51,193, 40, 10,179,
- 0, 0,128, 63,144,104,163, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 33, 52, 34,252,250,206, 51,144,104,163, 63,
- 0, 0, 0, 0, 60,240,202,173,144,104,163,191,130, 64,204, 51, 0, 0, 0, 0,105, 93,173,187,172,176, 88,193,178, 56,118,186,
- 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
- 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,168, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,121, 50, 3, 0, 0, 0, 0, 24,122, 50, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 56,135, 72, 63, 56,135, 72, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 57,135,200, 47,
+ 57,135,200,178, 1, 0,128, 63, 0, 0, 0, 0,180,192,175,176, 32,132,146, 51,193, 40, 10,179, 0, 0,128, 63,144,104,163, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,104,163, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,
+ 0, 0, 0, 51,143,104,163, 63, 0, 0, 0, 0,203, 15, 2, 60,184, 77, 93,191, 54, 50, 19,192, 0, 0,128, 63,144,104,163, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 34,252,250,206, 51,144,104,163, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+144,104,163,191, 0, 64,204, 51, 0, 0, 0, 0,105, 93,173,187,172,176, 88,193, 95, 52,118,186, 0, 0,128, 63, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,189,206, 3,
-176, 1,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 4, 0, 0, 0,184,244,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,240,244,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,245,179, 3,115, 0, 0, 0, 1, 0, 0, 0,
- 40,249,179, 3, 40,241,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 52, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,117,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184,248,179, 3,240,248,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 0, 31, 10, 58, 59, 94,236, 63,236, 84,231, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110, 63, 91,188,110, 63, 91,188,110, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 50,151, 51, 91,188,110, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110,191, 90, 50,151, 51, 0, 0, 0, 0, 0, 31, 10, 58, 59, 94,236, 63,236, 84,231, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,255,127, 63,226, 53, 25,179,
- 0, 0, 0, 0, 0, 0, 0, 0,167,120,247,166, 1, 0,128, 63, 0, 0, 0, 0,183,132, 39,174,239,106,181,179,116,226,155,179,
- 0, 0,128, 63,160, 65,137, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,204,221,150,160, 65,137, 63,194,226, 40, 40,
- 0, 0, 0, 0,248,127, 14, 45,115,141,149,176,161, 65,137, 63, 0, 0, 0, 0, 29, 80, 63,188,103, 95,226,187, 87, 19, 74, 65,
- 0, 0,128, 63, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
- 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,153, 3, 3, 0, 0, 0, 0,
+248,160, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,200,121, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 24,122, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,104,122, 50, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0, 88,116, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 4, 0, 0, 0,184,248,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,240,248,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,249,179, 3,115, 0, 0, 0, 1, 0, 0, 0,
-184,252,179, 3, 40,245,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 53, 0, 48, 48,
- 51, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 90,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,216,127, 50, 3, 0, 0, 0, 0, 40,128, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 31, 10, 58,
+ 59, 94,236, 63,236, 84,231, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 91,188,110, 63, 91,188,110, 63, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128,
+ 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 50,151, 51, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110,191, 90, 50,151, 51, 0, 0, 0, 0,
+ 0, 31, 10, 58, 59, 94,236, 63,236, 84,231, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,254,255,127, 63,226, 53, 25,179, 0, 0, 0, 0, 0, 0, 0, 0,167,120,247,166, 1, 0,128, 63, 0, 0, 0, 0,
+183,132, 39,174,239,106,181,179,116,226,155,179, 0, 0,128, 63,160, 65,137, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,160, 65,137, 63,157, 46, 19, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,176,161, 65,137, 63, 0, 0, 0, 0,
+ 29, 80, 63,188, 62, 95,226,187, 87, 19, 74, 65, 0, 0,128, 63,160, 65,137, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,160, 65,137, 63,157, 46, 19, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,176,161, 65,137, 63, 0, 0, 0, 0,
+ 29, 80, 63,188, 62, 95,226,187, 87, 19, 74, 65, 0, 0,128, 63, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,216,127, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 40,128, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,120,128, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,232,133, 50, 3, 0, 0, 0, 0,
+104,122, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,
+119, 46, 48, 48, 53, 0, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,212, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,155,195,189, 20,145,188, 64, 94,220, 88, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,221,180,134, 63, 48,190,141, 37,253, 55, 57, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128, 63,253, 55, 57, 35, 48,190,141,165, 0, 0, 0, 0,219,128,112, 37, 52,177,253, 62, 94, 93, 94, 63,
0, 0, 0, 0, 52,133, 22, 37, 94, 93, 94,191, 52,177,253, 62, 0, 0, 0, 0,128,155,195,189, 20,145,188, 64, 94,220, 88, 65,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63,118, 42, 31, 25,242,108,131,153, 0, 0, 0, 0, 0, 0, 0,176, 0, 0,128, 63,210, 21, 66,178,
0, 0, 0, 0, 5, 0, 0,176, 25,245,158, 50, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 50,118, 42,159, 11,242,108, 3,140,
- 0, 0,128, 63, 0, 0,128, 63,219,128,112, 37, 53,133, 22, 37, 0, 0, 0, 0, 80, 90,231,174, 94, 93, 94, 63, 52,177,253, 62,
- 0, 0, 0, 0, 0, 68,239,172, 50,177,253,190, 95, 93, 94, 63, 0, 0, 0, 0,150, 98,174, 61, 85,101,144,193,196,124,253, 64,
+ 0, 0,128, 63, 0, 0,128, 63,219,128,112, 37, 52,133, 22, 37, 0, 0, 0, 0, 0, 0, 0, 48, 94, 93, 94, 63, 52,177,253, 62,
+ 0, 0, 0, 0, 0, 0,128,175, 50,177,253,190, 96, 93, 94, 63, 0, 0, 0, 0,149, 98,174, 61, 85,101,144,193,196,124,253, 64,
+ 0, 0,128, 63, 0, 0,128, 63,219,128,112, 37, 52,133, 22, 37, 0, 0, 0, 0, 0, 0, 0, 48, 94, 93, 94, 63, 52,177,253, 62,
+ 0, 0, 0, 0, 0, 0,128,175, 50,177,253,190, 96, 93, 94, 63, 0, 0, 0, 0,149, 98,174, 61, 85,101,144,193,196,124,253, 64,
0, 0,128, 63, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 7, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
- 92, 3, 0, 0,184,252,179, 3,115, 0, 0, 0, 1, 0, 0, 0,184, 0,180, 3, 40,249,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+232,133, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,248,139, 50, 3, 0, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 54, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,144,185,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,180, 3,128, 0,180, 3, 1, 0, 0, 0, 1, 0, 0, 0,
- 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,235,239, 30, 66,236,239, 30, 66,235,239, 30, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,138,174, 95, 63,
- 98,132,123, 37, 61, 56, 87,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,239, 30, 66,105,158, 5,168,108, 39, 28,168,
- 0, 0, 0, 0,212,129, 77, 40, 66, 15,204, 65,158,186,243, 65, 0, 0, 0, 0, 55, 89, 13,165,156,186,243,193, 65, 15,204, 65,
- 0, 0, 0, 0, 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,151,169,232, 24,151,190,157, 25,
- 0, 0, 0, 0, 21, 24,149, 24, 0, 0,128, 63,109,157, 59,178, 0, 0, 0, 0,191,231, 64,153, 1,158,199,178, 1, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,101, 43,206, 60, 25, 74, 5, 35,141, 90,183,159,
- 0, 0, 0, 0, 41,143,202,162,101, 20,158, 60,193, 89,132, 60, 0, 0, 0, 0,188, 83,173, 34,192, 89,132,188,103, 20,158, 60,
- 0, 0, 0, 0, 11,215, 70, 60, 61, 43, 67,191,185,241, 31, 63, 0, 0,128, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
-143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 0,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,128, 0,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
- 92, 3, 0, 0,184, 0,180, 3,115, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3,184,252,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66,112,114,101,118,105,101,119, 99,117, 98,101, 0,117, 98,101, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,139, 50, 3, 0, 0, 0, 0,168,139, 50, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,239, 30, 66,236,239, 30, 66,235,239, 30, 66, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,138,174, 95, 63, 98,132,123, 37, 61, 56, 87,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,239, 30, 66,
+105,158, 5,168,108, 39, 28,168, 0, 0, 0, 0,212,129, 77, 40, 66, 15,204, 65,158,186,243, 65, 0, 0, 0, 0, 55, 89, 13,165,
+156,186,243,193, 65, 15,204, 65, 0, 0, 0, 0, 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+151,169,232, 24,151,190,157, 25, 0, 0, 0, 0, 21, 24,149, 24, 0, 0,128, 63,109,157, 59,178, 0, 0, 0, 0,191,231, 64,153,
+ 1,158,199,178, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,101, 43,206, 60,
+ 25, 74, 5, 35,141, 90,183,159, 0, 0, 0, 0, 42,143,202,162,100, 20,158, 60,192, 89,132, 60, 0, 0, 0, 0,187, 83,173, 34,
+192, 89,132,188,102, 20,158, 60, 0, 0, 0, 0, 11,215, 70, 60, 61, 43, 67,191,184,241, 31, 63, 0, 0,128, 63,101, 43,206, 60,
+ 25, 74, 5, 35,141, 90,183,159, 0, 0, 0, 0, 42,143,202,162,100, 20,158, 60,192, 89,132, 60, 0, 0, 0, 0,187, 83,173, 34,
+192, 89,132,188,102, 20,158, 60, 0, 0, 0, 0, 11,215, 70, 60, 61, 43, 67,191,184,241, 31, 63, 0, 0,128, 63, 64, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64,193,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 4,180, 3,128, 4,180, 3, 1, 0, 0, 0, 1, 0, 0, 0,
-128,253, 88, 59,220,118,160, 63, 0, 15, 37, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 88, 68, 64, 84, 88, 68, 64, 83, 88, 68, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,190,237, 62,
-108,230,217,190, 20,151, 52, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 38, 8, 64,191,228,231, 63,186, 31,162, 63,
- 0, 0, 0, 0, 35,118, 13,192, 2, 61,220, 63, 31, 44,160, 63, 0, 0, 0, 0,166, 52,234, 60,102,223,227,191, 55,229, 31, 64,
- 0, 0, 0, 0,128,253, 88, 59,220,118,160, 63, 0, 15, 37, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187,122,172,178,103,144, 8, 50,
- 0, 0, 0, 0, 7,239, 27,179, 0, 0,128, 63,247,131,152,178, 0, 0, 0, 0,149,110,134, 50,189,195,169, 50, 1, 0,128, 63,
- 0, 0, 0, 0,255,223,172, 50, 56, 88,136,179,159,134, 16,180, 0, 0,128, 63, 10,115,103, 62,201,122,112,190,191, 17, 71, 59,
- 0, 0, 0, 0,116,205, 9, 62,205, 36, 8, 62,136,232,135, 62, 0, 0, 0, 0, 1, 27, 69,190,224, 50, 59,190, 25,176, 65, 62,
- 0, 0, 0, 0,110,176, 16,192,158, 71, 9,192,115, 90,244, 63, 0, 0,128, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
-143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,128, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
- 92, 3, 0, 0,184, 4,180, 3,115, 0, 0, 0, 1, 0, 0, 0, 8, 57,181, 3,184, 0,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66,112,114,101,118,105,101,119,104, 97,105,114, 0,108, 97,110,101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 88,139, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,168,139, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,248,139, 50, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0,232,133, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 99,117, 98,101, 0,117, 98,101, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8,208,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16,137,156, 3, 16,137,156, 3, 72, 8,180, 3,128, 8,180, 3, 1, 0, 0, 0, 1, 0, 0, 0,
- 86, 92,200, 63, 7,205,227, 63,149,199, 9,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,234,126, 47, 64,234,126, 47, 64,236,126, 47, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225, 80, 2, 63,
- 5,211, 15,191, 92,219, 18, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,254, 18, 64, 23,209,169, 62, 27,251,186, 63,
- 0, 0, 0, 0, 71,254,133,191,207, 40, 17, 64,229,194,144, 63, 0, 0, 0, 0, 78, 38,137,191, 48,162,192,191,125,176, 1, 64,
- 0, 0, 0, 0, 86, 92,200, 63, 7,205,227, 63,149,199, 9,189, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,225,128, 25,179,157,103, 88,179,
- 0, 0, 0, 0,249,162,132, 50, 1, 0,128, 63, 89,156,139, 51, 0, 0, 0, 0,225,204,139,179,160, 96,185,178, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 0, 52, 1, 0, 0,180, 1, 0, 84,180, 0, 0,128, 63,244,100,156, 62,135,143, 14,190, 52,235, 17,190,
- 0, 0, 0, 0,175,239, 70, 62,102, 4, 26, 62, 72,251,137, 62, 0, 0, 0, 0,174,172, 52,189,211,112,154,190, 67,243, 76, 62,
- 0, 0, 0, 0,149, 56, 36,191,139, 98, 66,192,168, 5, 68, 64, 0, 0,128, 63, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
-143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,145, 50, 3, 0, 0, 0, 0,184,145, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,128,253, 88, 59,
+220,118,160, 63, 0, 15, 37, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 88, 68, 64, 84, 88, 68, 64, 83, 88, 68, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,190,237, 62,108,230,217,190,
+ 20,151, 52, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 38, 8, 64,191,228,231, 63,186, 31,162, 63, 0, 0, 0, 0,
+ 35,118, 13,192, 2, 61,220, 63, 31, 44,160, 63, 0, 0, 0, 0,166, 52,234, 60,102,223,227,191, 55,229, 31, 64, 0, 0, 0, 0,
+128,253, 88, 59,220,118,160, 63, 0, 15, 37, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187,122,172,178,103,144, 8, 50, 0, 0, 0, 0,
+ 7,239, 27,179, 0, 0,128, 63,247,131,152,178, 0, 0, 0, 0,149,110,134, 50,189,195,169, 50, 1, 0,128, 63, 0, 0, 0, 0,
+255,223,172, 50, 56, 88,136,179,159,134, 16,180, 0, 0,128, 63, 11,115,103, 62,200,122,112,190,232, 17, 71, 59, 0, 0, 0, 0,
+ 4, 27, 69, 62,226, 50, 59, 62, 24,176, 65,190, 0, 0, 0, 0,114,205, 9, 62,203, 36, 8, 62,136,232,135, 62, 0, 0, 0, 0,
+188,208, 22,191, 23, 64, 18,191,174, 28,229,190, 0, 0,128, 63, 10,115,103, 62,201,122,112,190, 0, 18, 71, 59, 0, 0, 0, 0,
+116,205, 9, 62,204, 36, 8, 62,136,232,135, 62, 0, 0, 0, 0, 1, 27, 69,190,224, 50, 59,190, 25,176, 65, 62, 0, 0, 0, 0,
+110,176, 16,192,158, 71, 9,192,115, 90,244, 63, 0, 0,128, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,104,145, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,184,145, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0, 8,146, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 8,184, 51, 3, 0, 0, 0, 0,
+248,139, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,
+119,104, 97,105,114, 0,108, 97,110,101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,108, 53, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72,183, 51, 3, 0, 0, 0, 0, 72,183, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,151, 50, 3, 0, 0, 0, 0,
+200,151, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 86, 92,200, 63, 7,205,227, 63,149,199, 9,189, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234,126, 47, 64,234,126, 47, 64,236,126, 47, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225, 80, 2, 63, 5,211, 15,191, 92,219, 18, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,224,254, 18, 64, 23,209,169, 62, 27,251,186, 63, 0, 0, 0, 0, 71,254,133,191,207, 40, 17, 64,229,194,144, 63,
+ 0, 0, 0, 0, 78, 38,137,191, 48,162,192,191,125,176, 1, 64, 0, 0, 0, 0, 86, 92,200, 63, 7,205,227, 63,149,199, 9,189,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63,225,128, 25,179,157,103, 88,179, 0, 0, 0, 0,249,162,132, 50, 1, 0,128, 63, 89,156,139, 51,
+ 0, 0, 0, 0,225,204,139,179,160, 96,185,178, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 52, 1, 0, 0,180, 1, 0, 84,180,
+ 0, 0,128, 63,244,100,156, 62,133,143, 14,190, 54,235, 17,190, 0, 0, 0, 0,174,239, 70, 62,100, 4, 26, 62, 74,251,137, 62,
+ 0, 0, 0, 0,176,172, 52,189,213,112,154,190, 70,243, 76, 62, 0, 0, 0, 0,151, 56, 36,191,142, 98, 66,192,171, 5, 68, 64,
+ 0, 0,128, 63,244,100,156, 62,133,143, 14,190, 54,235, 17,190, 0, 0, 0, 0,174,239, 70, 62,100, 4, 26, 62, 74,251,137, 62,
+ 0, 0, 0, 0,176,172, 52,189,213,112,154,190, 70,243, 76, 62, 0, 0, 0, 0,151, 56, 36,191,142, 98, 66,192,171, 5, 68, 64,
+ 0, 0,128, 63, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168, 90,154, 3,168, 90,154, 3,184, 8,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 8,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,128, 8,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 0, 0, 0,184, 8,180, 3,117, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248,152, 50, 3, 0, 0, 0, 0,248,152, 50, 3, 0, 0, 0, 0, 24,152, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 76, 1, 0, 0,168, 90,154, 3, 66, 1, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,203,186, 3,104, 9,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,
+120,151, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
+200,151, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 24,152, 50, 3,
+ 0, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-244,100,156, 62,134,143, 14,190, 52,235, 17,190, 0, 0, 0, 0,172,172, 52, 61,211,112,154, 62, 69,243, 76,190, 0, 0, 0, 0,
-176,239, 70, 62,102, 4, 26, 62, 73,251,137, 62, 0, 0, 0, 0,188,211, 12,191,198,176,160,190, 56,156, 22, 63, 0, 0,128, 63,
- 0, 0, 0, 64, 0, 0, 0, 0, 17, 2, 0, 0,150, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 2, 0, 0,248,152, 50, 3, 0, 0, 0, 0, 97, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,239, 55, 3, 0, 0, 0, 0, 88,155, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 55,181, 3, 68, 65, 84, 65,168,147, 0, 0,104, 9,180, 3, 64, 1, 0, 0,
-150, 0, 0, 0, 0, 0, 0, 0, 20,135, 17,192, 36,121, 97,192,112, 32,141, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,157,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 96, 32, 63,185,201,160, 62,160, 3, 6, 63, 11, 34,248,190,
-206, 53,185, 60,192,197,178, 61,174,184, 53, 63,223,172,162,190,109,136,224, 62,142,173, 61,191,180, 96, 10, 60,200,196,163, 61,
- 78,182, 99, 63,165,242,180, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-248,112,150, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,111, 46, 7,192,143, 26, 60,192, 28,147,207, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,244,100,156, 62,134,143, 14,190, 52,235, 17,190, 0, 0, 0, 0,172,172, 52, 61,211,112,154, 62, 69,243, 76,190,
+ 0, 0, 0, 0,176,239, 70, 62,102, 4, 26, 62, 73,251,137, 62, 0, 0, 0, 0,188,211, 12,191,198,176,160,190, 56,156, 22, 63,
+ 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,150, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,180, 51, 3,
+ 0, 0, 0, 0,232,180, 51, 3, 0, 0, 0, 0,232,180, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 72,103, 16, 3, 0, 0, 0, 0, 68, 65, 84, 65,128,112, 0, 0, 88,155, 50, 3, 0, 0, 0, 0, 94, 1, 0, 0,
+150, 0, 0, 0, 20,135, 17,192, 36,121, 97,192,112, 32,141, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 12, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,180, 96, 10, 60,200,196,163, 61, 78,182, 99, 63,165,242,180, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,111, 46, 7,192,143, 26, 60,192, 28,147,207, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,158,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,121,229,190,108, 50, 41,191,136,152, 7,191,156,100,146,190,146,141, 25,191,
- 39, 92,142, 62,212,104, 18, 63,227,105,105,190,113,156, 96, 62,137,226, 69,191,147,247, 17, 61, 51,172, 44, 62, 17,125, 54, 63,
- 69,195,169, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,144, 63,245, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224,103,174,189, 60, 88, 17,192,230, 35, 76, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,
-200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,159,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,101,160,155, 62, 59, 87,152, 62,118,199, 84,191, 86, 89,183, 62,118,103,231, 62,110, 47,177,189,
-155, 8, 4,191,100, 60,199, 62,197, 40,177,189, 2, 14, 46, 62,102, 96, 39, 62,101,119,242, 61,189,168,146, 62, 55, 9,221, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,135, 36, 87, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,102,131,192,
-196,241, 26, 63,140,198, 76, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,160,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 80, 39, 63,171, 26,218,190, 89,118, 16, 63,130, 72,138,190,169,255,122,190,185,111, 14,191, 21,207, 38, 63,
- 73,252,211, 61,198,177, 80,191, 43,154,203,189,227,146, 53, 61, 63,180,115, 63,216,113, 42, 59,125, 63,144, 58, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,175, 95,142, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 43,226,189,253, 85,220,191,
-225,104,101, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,161,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-119, 97, 45, 63,119, 47,205,190, 35,117, 19, 63,166,125, 98, 62,242,195, 73, 62,124,228,243, 62,119, 86, 11, 63, 70,156, 89, 62,
-230,232, 88, 63,130, 53,204,190,250,120,128, 62, 19,194, 20, 62, 61, 15, 90, 62, 92, 30,200, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 53,129,253, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,108,159,129,191, 8,210, 6, 63, 35,221,152, 64,
-190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,162,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,167,210,190,
-194,172,139, 62,250,220, 35, 63, 30,182, 22,191,122, 3,136, 61,109,164,176,190, 30,153,147,190,255,248, 10,188,234, 90,160,190,
- 89,241,205,190,148,235, 25, 63,206,172,146, 62,137,195, 52, 61, 99,142,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 37,227, 77, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,167,189,191,217, 59,104,192,184,179,184, 63,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112,163,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 45,121, 62,120,126, 98, 63,
- 60,171,135,189,139,174,200,190,220,142, 21, 63, 77, 70, 40,191,118, 70,150, 62, 4,245, 92, 61,159,118,174,190,176,217, 49, 63,
-120,167,104, 60,166,104,235, 60,218,251, 73, 63, 13, 25, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,217, 2,247, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,112, 30, 63,111, 69, 82,192, 59,191, 51, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,164,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,227,137,190,206,195, 71,191, 70, 31, 96,190,
-127, 46, 5, 63, 99, 51,214,189,228, 61, 67,191,134, 90, 2, 62,120,214,146,190, 34,111, 33, 62,136,229,187,190, 27,112,241, 60,
- 0,187,177, 60, 4,134,171, 62,164, 35, 29, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,130,192, 56, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118,148,176,191, 88,200, 1, 63, 89, 48,146, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,165,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,169, 82,190,102,214, 57, 63, 55,112, 36,191, 59,205, 9, 62,
-184,139, 5, 63,105, 32, 43,190,120, 62, 37,191,220,215, 15, 63,180, 2, 8, 63,198,170,163, 62,160,178, 8, 63,185,164,184, 62,
- 68, 72, 63, 61, 16,104,112, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 97,249,192, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200, 80,168,191, 8,154,165,191,229,248, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 13, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,147,247, 17, 61, 51,172, 44, 62, 17,125, 54, 63, 69,195,169, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,224,103,174,189, 60, 88, 17,192,230, 35, 76, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 14, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,102, 96, 39, 62,101,119,242, 61,189,168,146, 62, 55, 9,221, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 75,102,131,192,196,241, 26, 63,140,198, 76, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 15, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,227,146, 53, 61, 63,180,115, 63,216,113, 42, 59,125, 63,144, 58, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 64, 43,226,189,253, 85,220,191,225,104,101, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 16, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,250,120,128, 62, 19,194, 20, 62, 61, 15, 90, 62, 92, 30,200, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,108,159,129,191, 8,210, 6, 63, 35,221,152, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 17, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,148,235, 25, 63,206,172,146, 62,137,195, 52, 61, 99,142,139, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,114,167,189,191,217, 59,104,192,184,179,184, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,166,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,145, 5,191, 83, 77,126, 62, 14,133, 63,191,190, 5,167, 62,123,212, 96,190,
-233,136,176, 62, 25,193, 80,189,147, 49, 18, 62,222, 40, 25, 62, 59,204, 10,191,177, 46,104, 62, 36,106,150, 62, 2, 61,138, 62,
- 4,131, 86, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 39, 27, 19, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,190,246,189,233,129, 90,192,224,155, 20, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,
-206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,167,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 30, 77, 14,191,231, 81,154, 62, 41,220, 22,191,104,189, 0,191,214,167,160,190,140, 60, 22,190,
- 37, 85, 74, 63, 32,253, 8,191, 96,146, 23, 61,196, 30,177,190, 79, 25,187, 60,207,244,194, 60, 53,234,253, 62,233, 52,234, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,218, 21, 79, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,231, 67,190,
-144,105, 11,189,210,111,153, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,168,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74,110,205, 62,146,226, 27,191, 73, 95,219, 61, 75, 3, 45, 63,222,109,147,190,152,196, 40, 63, 36,136,116,190,
-181, 21,190,190,211, 38,213,190,114,230,183, 62,206,217, 24, 63, 59,222, 25, 62, 0, 50,134, 61,139,161, 63, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,180, 67,127, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,217,158, 63,122,225, 17,192,
-213,158,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,169,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176, 95, 22, 63,172, 95,210,190,114, 70, 46,191, 67, 71, 26, 62,188,164,234, 61,121,120, 78,191,186,229,108,188,144,225, 72,190,
-197,218, 42,190, 83,104,114,191, 34,213, 73, 62,217,230, 49, 61,217,117,187, 61,143,253, 42, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,226,144, 95, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,205,127,191,231,116,142,191,116, 64,100, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,170,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 25,132,189,
- 67,167, 41,191,249,145,174,190,171,227, 41, 63, 84,208, 94, 62, 98, 21, 50, 63,138,162, 46,191,136, 53, 56,191, 9, 44,160, 62,
- 15, 42,188,190,109,124,145, 62, 47, 84,135, 62, 95, 56, 95, 62,104, 38,111, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,183,116, 87, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,143,106, 67,192,239, 1,236, 62,230,139,105, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176,171,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 72, 62,147,226,176, 62,
- 67,185, 48,191,255,215, 26,191,242,158,254,187, 89,238,201,190, 99,166, 39, 63,102,238, 3,191,206,229, 10, 62,165, 53,230, 62,
- 37,227,100, 62,230, 38, 54, 63, 87, 4, 43, 61,166, 1,190, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,213, 26,126, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 63, 58,191,242, 44,102,191,239,155,119, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,172,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,198,238,131, 61, 49, 99, 58,191, 63,180, 26, 63,
-201, 92,162,190,113,254,209, 62,151, 67, 12, 63, 80,138,197, 62,197,116, 72,191,117,129,182,190,180,137, 76, 62,232,134,178, 62,
- 23,134,113, 62,235,242, 46, 62, 45,121,122, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,248, 12,169, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,244,173,175, 62,136,194,141, 61, 0,239,164, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,173,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213, 38, 28, 63, 66,248,166, 60,227,199, 67,191,127,123, 83,190,
-122,119,224,190, 73, 46,149, 62,135, 43, 62, 62, 30,175,199, 62, 97,224, 2, 63,180,198,250, 62,211, 97, 48, 63, 38,134,130, 61,
-167, 53, 8, 61, 56, 40, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 93,115,157, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,127,188, 36,192, 83,192, 42,192, 20, 24,202, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 18, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,120,167,104, 60,166,104,235, 60,218,251, 73, 63, 13, 25, 44, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 86,112, 30, 63,111, 69, 82,192, 59,191, 51, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,174,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,121, 82,190,233,142,216,190, 94,156, 83,191,222, 73,158, 62,170,207, 3, 63,
- 63, 41, 39,191, 2,164,147, 62, 36,187, 38,191, 0, 1,218, 62,145,119, 32,191,191,242,154, 60, 14,165,130, 62,127,236, 49, 63,
-163, 44,253, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 13,194,130, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-191,117, 51, 63, 40,247, 44,192, 84, 59, 82, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,175,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 89,176, 71, 59,214, 55, 18,191, 67, 82,223,190,142, 2, 50, 63,235, 17,202, 61, 51,118,199, 62,
-129,125, 72, 63, 86,250, 36,191, 70, 99, 90, 61,125, 38, 25, 63,218, 50,227, 61, 48,152,110, 61,166, 58,104, 62,121,161, 26, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 21, 69, 35, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,218, 44,192,
-131,112,159,190, 68,196, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,176,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 62, 65, 39,191,175,203,203,190, 24, 58, 8,191,132,178,185,190, 48,133, 27, 63,166,150, 35, 63,195,164,174,189,
-146, 20,209,189,124, 43, 3,191,219,188, 54, 63, 23,126, 53, 62, 93,113, 22, 63, 29,104, 42, 62,166,168,140, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 90,122,222, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,222,253, 61,191,212,216, 43,190,
-219,239,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,177,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 59, 62,251,190,154,207,132, 62,191,198, 19,191,122, 82, 25,191,179,114,169,190,242, 80, 46,191,161, 92,100,189,125,103,188, 62,
- 0,234, 23,191, 12,140, 22, 63, 24, 36,252, 62,191,130,121, 62, 96,245,198, 61, 98,186, 42, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 62,205, 89, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,168,212,191, 47,175, 30,192, 94,228, 12, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,178,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,136, 6, 62,
-240,135, 58,191, 89,198,233, 61, 57,148, 41, 63,151,188,189,190,156, 72,189,190,184, 14, 86, 63,185, 54,165,190,131,220, 49, 62,
- 60, 87,189,189,118,198,167, 61, 92,200, 80, 62,157,210, 10, 63,240, 9, 48, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,186,132,181, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,184,238,190,237,206,230,191,208,122, 85, 64,190, 81, 55,191,
-107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240,179,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,165, 30, 63,161, 50,249,190,
-180,213, 86,189,178, 10, 29,191,227,247, 49,191,215,139, 7,189,222,249,154,189,153, 77, 23,191,160, 58, 14, 63, 72, 47, 15, 61,
-138,132, 94, 62,167,190, 48, 62,203, 41,136, 62,157, 52,176, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 38,177,233, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 19,104, 63,179,122,254,191,115, 37,123, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,180,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,231,181, 62, 36, 19, 51, 63,126, 5, 6,191,
-231, 27,170,190,128,253, 35,189,182, 11,151,189, 74,171,178, 62,127,231, 49, 63,204,146,128, 62, 88,100, 17, 62,197,245,124, 62,
- 30,108,130, 61,201,152,229, 61,242,193, 19, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 56,156, 79, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,172,106,191, 63,110,225, 42,192, 2,170,110, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,
-236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,227, 27,191, 17, 83, 26, 63, 27,229, 2,191, 83, 48,135, 61,
-199,244,134, 62, 55, 37,151,190,210,195,237,189,249, 39, 17, 63,154, 1, 76, 61, 75,194, 79,191,240, 99,249, 61,190, 88,249, 60,
-174, 20,183, 61, 39, 38, 66, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-150, 40,178, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,121, 3, 12,192, 63, 11,252,190,146,136, 89, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 20, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 27,112,241, 60, 0,187,177, 60, 4,134,171, 62,164, 35, 29, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,118,148,176,191, 88,200, 1, 63, 89, 48,146, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,183,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 59, 20,191, 30, 36, 17, 63,112, 57,252,190, 32,101,162, 62,139, 6,160, 62,
- 57,160, 80, 61,109,243,245, 61, 41, 18,224,190,182,154,227,188,238,196,139,190,173, 28,108, 62,191,152,246, 62,199, 50, 61, 62,
- 31,254,210, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 20,166, 56, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-250,104,187,191, 56, 86,139,189,145, 23,131, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,
-203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,184,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,228, 80, 19,191,118,138, 16,191,122,210, 6,191,139, 14,138, 62, 73, 65,189, 62, 19, 89,244,189,
-205, 5, 83, 62, 94,159,107,190, 19,199,255, 62, 14,124, 48,190, 15, 67,208, 62,184, 57,190, 62,119,154,219, 61,111,114,234, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,203, 51,223, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 56,161, 62,
-255,221,207,191,202,110,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,185,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,138,124, 47, 63, 12,193, 0, 63,124, 39,176, 62, 68, 3,204,190,132,180, 43, 61, 66,184,104,189, 69,173, 54,191,
- 24,239,116,189,191,183, 53,190,120, 91,198,190,123, 33,150, 62, 68, 30,226, 61,224,121, 27, 62, 4,154,227, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,117, 22, 35, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 89, 41,192,117,107, 25,192,
-174,245,222, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,186,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 66,202,207, 62,211, 32, 47, 63,139,219, 0,191,197,212,172,190,195, 68, 65, 63,105,152,217,190,159,218,214,190, 85,113, 84,190,
-194,108,158,190,229,217,235, 61, 82,179,202, 60,197,106,157, 62,211,197, 33, 63, 9,243, 18, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 1,162,102, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,238,220,191, 91, 70,150,191,203,192, 72, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,187,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 95, 22, 63,
-172, 95,210,190,114, 70, 46,191, 67, 71, 26, 62,188,164,234, 61,121,120, 78,191,186,229,108,188,144,225, 72,190,197,218, 42,190,
- 83,104,114,191, 13,183, 77, 62,158,153,182, 62, 65, 59,143, 62, 52,159, 38, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,226,144, 95, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,234,116,192,224,101,238,188,165, 20, 56, 64,190, 81, 55,191,
-107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48,188,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,136, 6, 62,240,135, 58,191,
- 89,198,233, 61, 57,148, 41, 63,151,188,189,190,156, 72,189,190,184, 14, 86, 63,185, 54,165,190,131,220, 49, 62, 60, 87,189,189,
- 31,255,242, 60,231,194, 83, 63,189, 56, 5, 62, 68,188, 85, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,186,132,181, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,209,240,189,178,183, 95, 63, 5, 67,176, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,189,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,114, 86,191,137,141, 2,191,227,140,105, 61,
- 70,121, 63,190,130,242,218, 62,237,163,132,190,219,235, 16, 60, 85,203,248, 62, 79,244, 80,191,103, 0,148, 62,153,189, 85, 63,
-151,104,200, 61,246, 55,142, 60, 74, 57, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 31,252, 33, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,206, 54, 25,192,171,197,162, 62, 6, 16,121, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,
-236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,190,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219,100,244,190,182, 69, 91,191, 60,137,144,189,161,126, 59, 62,
- 28,228,200,190, 60, 49,170, 62,225,139,250,189,244,143,111, 62,252,103,100,191,148, 32, 79, 62,104,246,163, 62, 91,201, 16, 63,
- 24,104,136, 61,227,230, 66, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-182, 88, 41, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 57, 61,192,236, 53, 39,191,173,221, 55, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 21, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,160,178, 8, 63,185,164,184, 62, 68, 72, 63, 61, 16,104,112, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,200, 80,168,191, 8,154,165,191,229,248, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 22, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,177, 46,104, 62, 36,106,150, 62, 2, 61,138, 62, 4,131, 86, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0,190,246,189,233,129, 90,192,224,155, 20, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 23, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 79, 25,187, 60,207,244,194, 60, 53,234,253, 62,233, 52,234, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,176,231, 67,190,144,105, 11,189,210,111,153, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 24, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,206,217, 24, 63, 59,222, 25, 62, 0, 50,134, 61,139,161, 63, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 58,217,158, 63,122,225, 17,192,213,158,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 25, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 34,213, 73, 62,217,230, 49, 61,217,117,187, 61,143,253, 42, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 29,205,127,191,231,116,142,191,116, 64,100, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 26, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,109,124,145, 62, 47, 84,135, 62, 95, 56, 95, 62,104, 38,111, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,143,106, 67,192,239, 1,236, 62,230,139,105, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 27, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 37,227,100, 62,230, 38, 54, 63, 87, 4, 43, 61,166, 1,190, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,114, 63, 58,191,242, 44,102,191,239,155,119, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 29, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,232,134,178, 62, 23,134,113, 62,235,242, 46, 62, 45,121,122, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,244,173,175, 62,136,194,141, 61, 0,239,164, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 30, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,211, 97, 48, 63, 38,134,130, 61,167, 53, 8, 61, 56, 40, 91, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,127,188, 36,192, 83,192, 42,192, 20, 24,202, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 31, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,191,242,154, 60, 14,165,130, 62,127,236, 49, 63,163, 44,253, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,191,117, 51, 63, 40,247, 44,192, 84, 59, 82, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 32, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,218, 50,227, 61, 48,152,110, 61,166, 58,104, 62,121,161, 26, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 23,218, 44,192,131,112,159,190, 68,196, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 33, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 23,126, 53, 62, 93,113, 22, 63, 29,104, 42, 62,166,168,140, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,222,253, 61,191,212,216, 43,190,219,239,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 34, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 24, 36,252, 62,191,130,121, 62, 96,245,198, 61, 98,186, 42, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,192,168,212,191, 47,175, 30,192, 94,228, 12, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 35, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,118,198,167, 61, 92,200, 80, 62,157,210, 10, 63,240, 9, 48, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,114,184,238,190,237,206,230,191,208,122, 85, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 36, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,138,132, 94, 62,167,190, 48, 62,203, 41,136, 62,157, 52,176, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 67, 19,104, 63,179,122,254,191,115, 37,123, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 38, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,197,245,124, 62, 30,108,130, 61,201,152,229, 61,242,193, 19, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,172,106,191, 63,110,225, 42,192, 2,170,110, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 39, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,240, 99,249, 61,190, 88,249, 60,174, 20,183, 61, 39, 38, 66, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,121, 3, 12,192, 63, 11,252,190,146,136, 89, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 40, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,173, 28,108, 62,191,152,246, 62,199, 50, 61, 62, 31,254,210, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,250,104,187,191, 56, 86,139,189,145, 23,131, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 41, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 15, 67,208, 62,184, 57,190, 62,119,154,219, 61,111,114,234, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 52, 56,161, 62,255,221,207,191,202,110,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 42, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,123, 33,150, 62, 68, 30,226, 61,224,121, 27, 62, 4,154,227, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 63, 89, 41,192,117,107, 25,192,174,245,222, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 43, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 82,179,202, 60,197,106,157, 62,211,197, 33, 63, 9,243, 18, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 94,238,220,191, 91, 70,150,191,203,192, 72, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 44, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 13,183, 77, 62,158,153,182, 62, 65, 59,143, 62, 52,159, 38, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 61,234,116,192,224,101,238,188,165, 20, 56, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 45, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 31,255,242, 60,231,194, 83, 63,189, 56, 5, 62, 68,188, 85, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,128,209,240,189,178,183, 95, 63, 5, 67,176, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 47, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,153,189, 85, 63,151,104,200, 61,246, 55,142, 60, 74, 57, 76, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,206, 54, 25,192,171,197,162, 62, 6, 16,121, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 48, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,104,246,163, 62, 91,201, 16, 63, 24,104,136, 61,227,230, 66, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 29, 57, 61,192,236, 53, 39,191,173,221, 55, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 49, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 39,218,212, 61,242, 20, 25, 63,122, 70,118, 62,159,226,107, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,249, 62, 40,191, 16,113, 26, 63, 50,179,160, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 50, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 64,186, 45, 63,109,122, 91, 62, 32,134, 21, 61, 21,118,144, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 90, 51,138,191,199, 14,110,192, 18, 66,203, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 51, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,235,223,153, 59, 21,174,243, 59,231,160, 60, 63,251,135,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 44, 75,186,191,170,205,204,191,132,169, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 52, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 79, 19, 52, 62,229, 52,146, 62,191,228,171, 62,106,185, 79, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4,119,219, 63,231, 73, 28,192, 83,117,128, 64,188, 81, 55,191,109,243, 71,191,100,237, 42, 63,233,163,214, 62,
+202,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 53, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,186, 75, 51, 62,206,251,144, 60,198, 49, 19, 61, 22,114, 69, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,172, 59,194,191, 35, 29, 13,192, 13,208, 30, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 54, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 97, 31,227, 61,168,207,104, 62, 38, 89,237, 62, 93,238, 74, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,197,190, 82,192,251,148,174, 62, 29,189, 91, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 56, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,210, 10, 37, 62,124,152, 65, 63, 28,110,106, 61,179,189,207, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,120,157,163,190, 44,219, 33, 63,250, 25,167, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,237,163,214, 62,
+199,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 57, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 52,192, 61, 63, 16, 50, 23, 62, 40, 56, 1, 61, 43,254,162, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,131, 63, 79, 63, 22,225,203,191,183, 83,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 58, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 9,188,167, 62,141,167,138, 61,186,163,185, 61,147,152, 3, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 20,218, 89, 62,169, 21, 81,192, 50,226, 38, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 59, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,175,237, 18, 61, 50, 0, 0, 61,180, 45,208, 62, 72,186, 6, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,192, 91,166,190,203,138,151, 62,232, 4,159, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 60, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,114,117, 40, 63,164, 92, 37, 62, 72,198, 78, 61, 6, 28, 5, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,104,137,191,191,143,156,208,190,234,245,116, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 61, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,121,217,174, 62, 45, 55,188, 62, 41, 76, 25, 62,138,146, 16, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,218, 6, 78,191,240,247, 2,191, 2,181,131, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 62, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,237,209,211, 62, 1,168,129, 62,108,237, 7, 62,188, 30, 77, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,100,181,251,191,160, 67, 79, 63, 83,115,143, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 63, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 31, 56,250, 62,174,208,248, 62, 50, 43, 79, 60,252,186, 79, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,166,143, 16,192,219, 40, 31,192,188,165,240, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 65, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 93,255, 69, 61,131,237,129, 62,199,113, 29, 63, 16,188,169, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 47, 16, 46,192,234,135, 17, 62,196,174,101, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,191,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,167, 43, 35,190,242,210,225, 61,197, 58, 30, 63,229, 8, 67, 63,215,176,222, 61,
- 70, 15, 12, 63, 80,195,165, 62,218, 72,227, 61,188, 66, 87,191,145,213,195, 62, 39,218,212, 61,242, 20, 25, 63,122, 70,118, 62,
-159,226,107, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,173, 74, 64, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-249, 62, 40,191, 16,113, 26, 63, 50,179,160, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,192,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,190, 29,224,190,239, 44, 4, 63,125,217, 49, 63,107, 25,121,190,117,172,217, 62,242, 98,116,190,
-148,162, 42, 63,142,178,199,190, 54,105, 13,191, 83,107,163,190, 64,186, 45, 63,109,122, 91, 62, 32,134, 21, 61, 21,118,144, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,113,107, 73, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 51,138,191,
-199, 14,110,192, 18, 66,203, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,193,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 78, 39, 63,128, 50,251,190,139,185,189,190,175, 4,226, 62,118, 23,153,190, 67,228,120,190, 50,226, 42,191,
-239,243, 86,191, 37, 42,189,190, 66, 1,190,190,235,223,153, 59, 21,174,243, 59,231,160, 60, 63,251,135,128, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,167,245,105, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 75,186,191,170,205,204,191,
-132,169, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,194,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118,223,155, 62,249,196, 3,191,115, 12,163,190,212, 73, 60,191, 59,208, 85, 62, 65, 11,155, 62, 28, 17,173,189, 20, 16,254,190,
-213,229, 32, 63,216,221, 28,189, 79, 19, 52, 62,229, 52,146, 62,191,228,171, 62,106,185, 79, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 45,184, 37, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,119,219, 63,231, 73, 28,192, 83,117,128, 64,
-188, 81, 55,191,109,243, 71,191,100,237, 42, 63,233,163,214, 62,202,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,195,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,109,254, 62,
-210,146, 4, 63,232,131, 23, 63, 66,212,187, 62, 9,109,158,190, 71, 12,216, 62, 64, 20,153, 59, 11, 2, 7, 62, 92,134, 91, 62,
- 43,128, 33,191,186, 75, 51, 62,206,251,144, 60,198, 49, 19, 61, 22,114, 69, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,221,100,115, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 59,194,191, 35, 29, 13,192, 13,208, 30, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112,196,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118,223,155, 62,249,196, 3,191,
-115, 12,163,190,212, 73, 60,191, 59,208, 85, 62, 65, 11,155, 62, 28, 17,173,189, 20, 16,254,190,213,229, 32, 63,216,221, 28,189,
- 97, 31,227, 61,168,207,104, 62, 38, 89,237, 62, 93,238, 74, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 45,184, 37, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,197,190, 82,192,251,148,174, 62, 29,189, 91, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,197,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,132, 10,191, 82, 61,237, 62,127,191,223,190,
- 11,148, 12, 63,236,142, 92, 62, 17,199, 32, 63,157,206,242,189,199,114, 15, 63, 91, 82, 33,191, 3,247,167,190,210, 10, 37, 62,
-124,152, 65, 63, 28,110,106, 61,179,189,207, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 40, 23,140, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,157,163,190, 44,219, 33, 63,250, 25,167, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,
-237,163,214, 62,199,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,198,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,175, 4,191,160,200, 50,190,248,214, 77, 63,226,194,110,190,
-138, 10,198, 61,210,213, 62, 62,141,163,253, 61,106,130,160, 61,201,229,101,191,103,145, 50, 62, 52,192, 61, 63, 16, 50, 23, 62,
- 40, 56, 1, 61, 43,254,162, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 89, 81,220, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,131, 63, 79, 63, 22,225,203,191,183, 83,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 66, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,132,185,112, 62, 76,198, 31, 63, 82,148,186, 61,149,140, 75, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,221, 76, 34,192,195, 63,220,191,101, 92, 19, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,191, 5,144, 61, 27,251,203, 62, 8,217,232, 62,185,169,156, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0,209,208,191,175, 98, 57,192,214, 39,244, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 68, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 40,142,100, 61,206, 81, 18, 62, 52,238, 34, 63,214,209, 40, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,156,146, 19,192,132,169, 38, 63,119,240,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 69, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,177, 98,202, 62,157,134, 14, 63,246,140,213, 60, 97,116,179, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,100,209,211, 63, 80, 57, 64,192,239, 52,100, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 70, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,131,222,112, 61,150,149,161, 60,127,188,202, 61,219,141, 82, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,204, 40,195, 62,169, 66, 22,192, 56, 69, 88, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 71, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,237,198, 39, 62,232,166,180, 61, 33, 45,106, 62, 32,238, 4, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,179, 41,124, 63,215, 52, 92,192, 1,194, 56, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 72, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,225,119,158, 59, 62,185, 89, 59, 58, 41,150, 62,186,212, 50, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 78,215, 66,192, 16,102, 17,189,251, 64, 82, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,199,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,155,194,190, 82, 93, 3,191, 23,133, 19,191,179,146, 2,191,131,198,104, 62,
- 15,189, 93, 63, 77,226,209,190,159,122, 21,191,169,192,234,190, 16,128, 35, 63, 9,188,167, 62,141,167,138, 61,186,163,185, 61,
-147,152, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 25,249,236, 59,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 20,218, 89, 62,169, 21, 81,192, 50,226, 38, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,
-206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,200,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,139,169, 52, 63, 97,163,156, 62, 26,132,184,190, 82, 25, 7, 63,127,117,151, 62,254,206,247, 62,
- 27,144, 76, 63,150, 57,204, 62,184,181,246,188,196,222, 19, 63,175,237, 18, 61, 50, 0, 0, 61,180, 45,208, 62, 72,186, 6, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 61,195,186, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 91,166,190,
-203,138,151, 62,232, 4,159, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,201,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,201,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,212,240, 7, 63,213, 2, 18,191,228, 90, 5,191,221, 92,178, 62, 8,236, 16, 63, 90,216,151, 62,155,193,128, 62,
- 56, 60,245,188,118,129,160,190, 47,157,113,191,114,117, 40, 63,164, 92, 37, 62, 72,198, 78, 61, 6, 28, 5, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,137, 96,226, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,137,191,191,143,156,208,190,
-234,245,116, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,202,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-173,218, 49,191,113,109, 23,191, 32, 16, 55, 62, 54,117,188,190, 25, 20,208, 62,118,245, 46,191, 72,158,236,186, 55, 10, 97,191,
-140,128,183, 62,177,230,146,190,121,217,174, 62, 45, 55,188, 62, 41, 76, 25, 62,138,146, 16, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 96, 85, 48, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 6, 78,191,240,247, 2,191, 2,181,131, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,203,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,
-127,158, 27, 63,123,235,239, 62, 59,108, 33, 63,244,198,103,190,251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,
-208, 20, 63,190,237,209,211, 62, 1,168,129, 62,108,237, 7, 62,188, 30, 77, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 2,210,109, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,181,251,191,160, 67, 79, 63, 83,115,143, 64,190, 81, 55,191,
-109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176,204,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,243,237, 61, 11,234,169,190,
-211,226, 55,191,184,175, 25,191, 24,201, 39, 63,204, 23, 71,190, 87, 61,218, 62, 31,211, 39, 63,108,101,215,190, 35,125,244,189,
- 31, 56,250, 62,174,208,248, 62, 50, 43, 79, 60,252,186, 79, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 83,130,186, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,166,143, 16,192,219, 40, 31,192,188,165,240, 63,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,205,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,157, 15,191, 47, 51,205,190,152, 40,136,190,
-128,122, 44, 63,194,144, 92, 63,235, 36, 99,190,244, 22,206,190,143, 32,220, 62,169,244, 19, 63,160,205,238,189, 93,255, 69, 61,
-131,237,129, 62,199,113, 29, 63, 16,188,169, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,249,139,151, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 16, 46,192,234,135, 17, 62,196,174,101, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,
-235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,206,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,186,110,162,190,145,104,105,190,247,168,239, 62, 3,235, 74, 63,
-140, 77,178,190, 80, 49, 72, 63,164, 45,112, 62, 43,101, 44, 63, 95,162,173, 62,180,215,104,190,132,185,112, 62, 76,198, 31, 63,
- 82,148,186, 61,149,140, 75, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-161,174,120, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,221, 76, 34,192,195, 63,220,191,101, 92, 19, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 74, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 94, 65, 31, 62,152, 57, 45, 63,117,240,248, 61, 59,128, 61, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,243,234,243, 63, 12,199, 50,192,246,173,118, 64,192, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 75, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,202, 64,207, 61, 46,106, 89, 60, 30, 53, 13, 61,236,222, 89, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,174,176, 54,191, 99,173,187,191,209, 31, 93, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 76, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,101,144,129, 62,185, 1, 91, 62, 60, 67,121, 62, 32, 77,148, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,238,131,100,192,222,185, 81,191, 40, 50, 27, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 77, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,197,146, 70, 60, 83,125, 44, 63, 64,124,156, 62,125,144, 10, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,226, 77,248,190, 12,109,103,190,230,231,143, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+199,206,183,190,204,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 78, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 53,173, 3, 63,187,233, 78, 62, 77,225,187, 61,203,112, 68, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,129, 80, 10, 64,253,130, 74,192,124,179,109, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 79, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,215, 2,202, 60, 38,116,181, 59,240,167,204, 60,193,223,113, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 73, 37, 55,192, 92, 44,210,191,134, 20, 12, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,207,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,101, 89, 32, 62,234, 91, 82, 63,243, 78, 86, 60, 22, 61, 12, 63,249,120,178,190,
-203, 19, 37,191,128, 65, 24, 63,196,226, 52, 63,219,214, 0,191,203,228,210,190,191, 5,144, 61, 27,251,203, 62, 8,217,232, 62,
-185,169,156, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 7,165,113, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,209,208,191,175, 98, 57,192,214, 39,244, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,208,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,242,136, 6, 62,240,135, 58,191, 89,198,233, 61, 57,148, 41, 63,151,188,189,190,156, 72,189,190,
-184, 14, 86, 63,185, 54,165,190,131,220, 49, 62, 60, 87,189,189, 40,142,100, 61,206, 81, 18, 62, 52,238, 34, 63,214,209, 40, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,186,132,181, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,156,146, 19,192,
-132,169, 38, 63,119,240,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,209,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,123,191,104,191, 91, 12,172,190,100, 97,112, 62,240, 67,150, 61,237,234,241, 61,121, 15, 65,190,224, 2, 61, 62,
-159, 38,233,190,118, 62,191,187,107,119, 29, 63,177, 98,202, 62,157,134, 14, 63,246,140,213, 60, 97,116,179, 60, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,159,173, 69, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,209,211, 63, 80, 57, 64,192,
-239, 52,100, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,210,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-129, 46,157,190,239,142, 47,191, 7,129,219, 60,124,203, 40, 63, 5,175,122,189,180, 33,139, 62,162, 8, 63, 61, 75,191, 26,191,
- 52,191,189, 61,125,188,100,190,131,222,112, 61,150,149,161, 60,127,188,202, 61,219,141, 82, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 34, 78, 58, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,204, 40,195, 62,169, 66, 22,192, 56, 69, 88, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,211,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 69, 25, 63,
- 76,123,124, 62,100,238, 32,191,234,140,220, 62, 84,159,120, 61,187,254,244, 61,103,215, 59, 63,244,235, 71,190, 9,172, 73,191,
- 94,228,165,190,237,198, 39, 62,232,166,180, 61, 33, 45,106, 62, 32,238, 4, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,128,255,104, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 41,124, 63,215, 52, 92,192, 1,194, 56, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240,212,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,191,175, 62, 72,210, 67, 63,
- 91, 44,255,190, 36,232, 97, 62,183, 89, 70,191, 58, 37,246,190,112,174,211, 61,231,174,119,189,237, 2,119,191,180,205, 35, 62,
-225,119,158, 59, 62,185, 89, 59, 58, 41,150, 62,186,212, 50, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 78,102, 32, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,215, 66,192, 16,102, 17,189,251, 64, 82, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,213,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 15,158,190, 97, 48, 27,191, 48,181, 41,191,
- 31, 19,160,190, 91, 23,153,189,100,243,110,190,182,169,164,190, 97,129,120,191,145,101, 90, 60,193, 53,186, 61, 94, 65, 31, 62,
-152, 57, 45, 63,117,240,248, 61, 59,128, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,196, 79,137, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,243,234,243, 63, 12,199, 50,192,246,173,118, 64,192, 81, 55,191,107,243, 71,191, 98,237, 42, 63,
-235,163,214, 62,197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,137,136, 62,101, 7,106,191,249,249,155,190,146,218,155, 60,
-179,212,184,188, 68,215,201,189, 40,244, 61,191,114,234, 70, 61,154,226, 1,191,119,139, 91, 63,202, 64,207, 61, 46,106, 89, 60,
- 30, 53, 13, 61,236,222, 89, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 6, 40, 87, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,174,176, 54,191, 99,173,187,191,209, 31, 93, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 80, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,144,158, 50, 61, 53,247,230, 62,253, 25,236, 62,226,215, 52, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4,163,152,191,233,189, 16,192,148, 29, 39, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,216,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,176, 71, 59,214, 55, 18,191, 67, 82,223,190,142, 2, 50, 63,235, 17,202, 61,
- 51,118,199, 62,129,125, 72, 63, 86,250, 36,191, 70, 99, 90, 61,125, 38, 25, 63,101,144,129, 62,185, 1, 91, 62, 60, 67,121, 62,
- 32, 77,148, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 21, 69, 35, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-238,131,100,192,222,185, 81,191, 40, 50, 27, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,217,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,167, 43, 35,190,242,210,225, 61,197, 58, 30, 63,229, 8, 67, 63,215,176,222, 61, 70, 15, 12, 63,
- 80,195,165, 62,218, 72,227, 61,188, 66, 87,191,145,213,195, 62,197,146, 70, 60, 83,125, 44, 63, 64,124,156, 62,125,144, 10, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,173, 74, 64, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,226, 77,248,190,
- 12,109,103,190,230,231,143, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,199,206,183,190,204,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,218,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 62,251,190,154,207,132, 62,191,198, 19,191,122, 82, 25,191,179,114,169,190,242, 80, 46,191,161, 92,100,189,
-125,103,188, 62, 0,234, 23,191, 12,140, 22, 63, 53,173, 3, 63,187,233, 78, 62, 77,225,187, 61,203,112, 68, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 62,205, 89, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 80, 10, 64,253,130, 74,192,
-124,179,109, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,219,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89,176, 71, 59,214, 55, 18,191, 67, 82,223,190,142, 2, 50, 63,235, 17,202, 61, 51,118,199, 62,129,125, 72, 63, 86,250, 36,191,
- 70, 99, 90, 61,125, 38, 25, 63,215, 2,202, 60, 38,116,181, 59,240,167,204, 60,193,223,113, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 21, 69, 35, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 37, 55,192, 92, 44,210,191,134, 20, 12, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,220,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 7, 15, 63,
-135,194, 46,190, 36, 82,148, 62,185, 22, 66,191,211,135, 53, 63,111, 29,172,190,200, 68,229, 62,253,167,140, 62,181,223, 99,190,
- 35,226,176,190,144,158, 50, 61, 53,247,230, 62,253, 25,236, 62,226,215, 52, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,202,199,214, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,163,152,191,233,189, 16,192,148, 29, 39, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48,221,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,127,158, 27, 63,
-123,235,239, 62, 59,108, 33, 63,244,198,103,190,251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,208, 20, 63,190,
-113,136,250, 61,109, 45, 71, 62,248,240,222, 62,108,172,125, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 2,210,109, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,219,213, 63,119,221, 77,192, 98,157, 90, 64,192, 81, 55,191,107,243, 71,191,
- 98,237, 42, 63,235,163,214, 62,197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,222,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,225, 4,191,239,172, 35, 63, 92, 44, 4,191,
- 88,166,112,190,229,149,176,190,233,184, 6, 63, 91,120, 44,191,208, 36, 20, 63,165, 84, 79, 63,190,145, 89, 61,154,154,192, 60,
-206,233, 43, 60, 68, 13, 0, 62, 51, 72, 87, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 34,131, 32, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 39,106,191,130, 29,114, 63,156,123,164, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,
-235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,223,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 97, 45, 63,119, 47,205,190, 35,117, 19, 63,166,125, 98, 62,
-242,195, 73, 62,124,228,243, 62,119, 86, 11, 63, 70,156, 89, 62,230,232, 88, 63,130, 53,204,190,149, 27, 54, 63,243, 38,133, 62,
-232, 55, 53, 60, 91,130,143, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 53,129,253, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4, 71,102,192,241,109,194,190,108, 39, 47, 64,192, 81, 55,191,107,243, 71,191,100,237, 42, 63,233,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 81, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,113,136,250, 61,109, 45, 71, 62,248,240,222, 62,108,172,125, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 83,219,213, 63,119,221, 77,192, 98,157, 90, 64,192, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 83, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,154,154,192, 60,206,233, 43, 60, 68, 13, 0, 62, 51, 72, 87, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,118, 39,106,191,130, 29,114, 63,156,123,164, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 84, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,149, 27, 54, 63,243, 38,133, 62,232, 55, 53, 60, 91,130,143, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4, 71,102,192,241,109,194,190,108, 39, 47, 64,192, 81, 55,191,107,243, 71,191,100,237, 42, 63,233,163,214, 62,
198,206,183,190,204,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,224,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,157,105,188,148, 8,184, 62,181,109, 7,191,177,194, 68,191,163, 77,220,190,
- 58,120,101, 63,241,105, 25, 61, 69,197, 86, 62,214, 78,236,190,126,136, 46, 63,152,203, 22, 61,132,161, 61, 63, 67,196, 79, 62,
- 79, 22,160, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,112,148, 93, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12,224,214, 63,225,182, 5,192,246, 59,136, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,225,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 46, 24,191, 41, 20, 43,191,186,184,183, 62, 42,173,136, 62, 75, 75, 50, 63, 40, 83,126, 62,
-188,195, 8, 63,234,211,238, 62, 69, 36,152, 61,235,106,145, 62,211, 28,131, 62, 24,255, 46, 60, 11,165,139, 60,113, 88, 55, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 93,122, 57, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,158, 92, 63,
-117,243, 67,192, 16,154, 70, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,226,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,102,175, 4,191,160,200, 50,190,248,214, 77, 63,226,194,110,190,138, 10,198, 61,210,213, 62, 62,141,163,253, 61,
-106,130,160, 61,201,229,101,191,103,145, 50, 62,112, 55,104, 61, 14, 23, 9, 61,208, 82,129, 62,176, 65, 40, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 89, 81,220, 60, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,234, 31,192,204,234, 65,192,
-110,200,172, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,227,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-162,180, 99, 63,127,169,145, 62,114, 95,174, 62,169,121,223,189,173,190, 73, 63,118, 72, 51,190,116, 48,162,190, 59, 98,139,189,
- 77,245,191, 62, 75,124,253, 61,197,252, 48, 60,163,176, 62, 62,216, 93, 72, 63, 94, 65,166, 60, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 81, 69, 12, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,122,189,191,238,243,102,191,158,253, 93, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,228,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,139,218,189,
-160, 81,222,190, 75, 71,151,190, 47, 33, 88,191,152,174,128,190, 43,218,107,190, 40, 96, 66,190,219, 29,113,190, 89,240,184,190,
-153, 92,204, 62,101,159,135, 62,253,216,174, 62,217, 99, 96, 62,104,171, 50, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 5, 27,207, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,227, 75, 67, 63, 48,124, 78, 61,200,150,171, 64,190, 81, 55,191,
-107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112,229,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 19,190,190,188,203,147, 62,
- 19,242, 2, 62,223,138, 95, 63,144, 50, 24, 60,148,174, 64, 63,196,158, 11,191,220, 22, 64, 63, 98, 35, 19,190,217, 93, 44, 62,
-191,115, 58, 63,121,198, 2, 60,254,102,167, 59,178,100,132, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,189,176, 27, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 37,139, 62, 4,231, 62, 63,174,205,179, 64,188, 81, 55,191,107,243, 71,191,
-102,237, 42, 63,235,163,214, 62,200,206,183,190,206,137, 61,190,156, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,230,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,220,239, 60,168,204, 46,191, 78, 95, 84, 61,
- 8,105, 58,191,231,245, 43, 63, 91,254,151, 62, 77,143,206, 61,177,139, 42, 63, 26,107,196,190,150,211,139,190, 50, 23, 92, 63,
-169, 27, 15, 61, 8, 43, 83, 60, 59, 83,189, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,121,221, 49, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,247,225,191, 37,175, 81,192,248,254,198, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,231,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,132,130, 62,131,166,120,190, 15,191,109,191,170,164,238, 61,
- 20, 93, 78,190,245,164,231,189,254,254, 16, 62, 61,189,234,190,116,167,116,189, 67,175, 16, 63, 66,132, 2, 61,191, 37,189, 61,
-173, 5, 64, 63, 91,181, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-129, 93, 2, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,110,165, 61,183, 43,239, 62,129,243,169, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 85, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,152,203, 22, 61,132,161, 61, 63, 67,196, 79, 62, 79, 22,160, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 12,224,214, 63,225,182, 5,192,246, 59,136, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,232,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173,218, 49,191,113,109, 23,191, 32, 16, 55, 62, 54,117,188,190, 25, 20,208, 62,
-118,245, 46,191, 72,158,236,186, 55, 10, 97,191,140,128,183, 62,177,230,146,190, 62,109, 66, 63,244,159,170, 61, 79,150,243, 60,
- 69,136, 2, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 96, 85, 48, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12,158,243,191,244,237,104,192,138, 34,155, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,233,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,155, 22, 49,191,223,232,165, 62,133,208, 6,191, 93,253,190,190,190,234,194,190,239, 89, 29,191,
-134,110, 23,191, 8,217, 30,191,107,159,205,190, 18, 94,185,190,228,106, 92, 60, 23, 25, 35, 61,136,111, 93, 63,211,105,167, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,252,153,132, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 74, 8, 63,
- 0,240, 1,192, 28,123,108, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,234,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,217,155,104, 63,215,164, 29,190,175, 60,179,190,201,201, 43, 62,100, 60, 67, 61,171, 42, 90,189, 68, 85, 4,191,
- 67,249,130, 62,230,199,133,190,149, 14,107, 63,233,242,101, 62,181,120,181, 61,231,136, 43, 62,245,241, 4, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,252,179,108, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 24,231,191, 44,105, 21,191,
-186, 32, 98, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,235,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-126, 52, 49,191,201, 9, 43, 63,166,234, 96,190,182,210, 37,190,206, 58, 54, 61,231, 1, 63, 63,133,173, 34,191, 5,154,170,190,
- 93,112, 51, 63, 18, 61, 23,191, 66,189,138, 62,114,103,210, 62,117,128, 62, 62, 35, 54, 7, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 33,132,126, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 52, 5,191, 10,103, 49,192,230,154, 37, 64,
-190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,236,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 96, 32, 63,
-185,201,160, 62,160, 3, 6, 63, 11, 34,248,190,206, 53,185, 60,192,197,178, 61,174,184, 53, 63,223,172,162,190,109,136,224, 62,
-142,173, 61,191,132, 47,184, 61,244,157,207, 61,168, 0,225, 62,249, 11,189, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,248,112,150, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 45,177,191, 22,253, 99, 63, 8, 58,155, 64,190, 81, 55,191,
-109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176,237,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,202, 55, 63,249,235, 89,190,
-127, 18, 92,190,146,129, 32,191, 7,212, 8,190,167, 50,171,190, 97,120,123, 62,232,152,249,189,140, 18,149, 62, 37,111, 13, 61,
-147,253, 28, 63,231,184,184, 62, 48, 48, 58, 60, 59, 78,111, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,115, 61, 18, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,255, 57,191,235, 4, 65,192, 77, 7, 19, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,238,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,218,133,189,116, 10,176,189,186,237, 10, 63,
- 14, 61, 85, 63,182,219, 38,190,174,175,206, 62, 47,240, 10, 63, 31,232,114,190, 91,162,207,190,173, 85,193,190,228,255,128, 61,
- 76, 32,172, 61,147,152, 5, 63,205,134,169, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 62, 38,212, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,184, 68,137,191,204,177,226, 61,196,247,141, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,133,138,146, 61,133, 75, 8,187, 28,235, 68, 62,122,141,122, 63,
-116,117, 92, 63, 7,147,125,190, 87, 49,147,190, 9, 88, 41, 63, 63,255, 2, 63, 71, 44,126, 61,107,166, 0, 63, 23, 29,154, 62,
- 34,214,165, 61, 42,130,236, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-241,170,103, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 22,103, 82,192, 73, 75,201,191, 1,247, 0, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 86, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,211, 28,131, 62, 24,255, 46, 60, 11,165,139, 60,113, 88, 55, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 95,158, 92, 63,117,243, 67,192, 16,154, 70, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,240,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231,120,168, 62,179,154, 7,191, 41,180, 48, 63,239,232,187,190, 9, 35,104,191,
-222, 8,114, 62, 76,143,177,190,107, 29, 28,191,210,112,234, 62, 9,249, 92,190, 73,109,118, 59,168,155, 4, 63, 73, 2,243, 62,
-186,198,108, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74, 4,184, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-194,241,246,191, 87,130,236, 62, 50,209,135, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,241,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,124,197,223, 62, 32,243,189,190,199,213,140,190, 13,149, 69,191,221,235,199,190,159, 79,240, 62,
-113,202, 14,190,186,168, 60,190, 5,145,220,190, 42, 8,148, 62, 49, 99,219, 62, 85, 73,242, 62,127, 14, 79, 61, 68,141, 67, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,157,236,192, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,228,149,189,
-233, 13,221,190,210,251,145, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,199,206,183,190,204,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,242,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 92, 19,190,190,188,203,147, 62, 19,242, 2, 62,223,138, 95, 63,144, 50, 24, 60,148,174, 64, 63,196,158, 11,191,
-220, 22, 64, 63, 98, 35, 19,190,217, 93, 44, 62,198,141, 4, 63, 3, 71, 19, 62, 60,186,174, 61, 99,146,129, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,189,176, 27, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 89, 62,164,169,120,190,
- 26, 78,155, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,243,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118,201, 94, 63,192,189,213, 62,142, 27, 67, 62,214, 93, 55,190, 6,154,131,190,133, 48,178,190,139, 11,192,190, 39,123,147,189,
- 29,130, 57,191, 46,253, 33,190,224, 89, 24, 63,189,174,198, 61, 2,152,101, 61,143,237,128, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 59,122,117, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 80, 26,192,232, 3,239,189,182,210, 99, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,244,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 16,153,190,
-224, 1, 33,191, 43,253,168, 62,254, 36, 35, 63,124,255, 19,191, 70, 97,138,190,188,109, 6, 62, 64, 58,223,190,154,121,189,189,
- 9,126,170, 62,115,248,126, 62, 84, 41, 12, 63,153, 55, 4, 62, 62, 85,152, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74,244,106, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,245, 70,190,136,148, 37,192, 41,107, 57, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240,245,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,246,249, 62,200,102,140, 62,
-154,199, 10, 63, 40,102, 32, 63, 78, 10, 19,191,224,238,250,190, 0, 13,111,190,243,232,187, 61,106, 10, 99, 62,163, 96,221, 62,
-208,237,239, 61, 10, 34,210, 61, 62,101,181, 62,205, 22,218, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 35,143, 25, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,172, 25,191, 68,234,249,191, 59,217, 73, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,246,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,109,230, 62, 67, 47,189,190,205,119,155,189,
-238, 53, 79,191,223,144, 88,191, 88,163,146, 62, 63, 99,208,190,236,235,130, 62, 72, 10, 17,190,124,223, 15, 63, 12,172, 64, 62,
-160, 24, 51, 62,145, 49,156, 62, 26,236,169, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,254,237, 72, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 63, 60,192,192, 70,245,191,246,177,248, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,162, 16, 63, 33,180,219,190, 24,166,177,190,234, 8, 29,191,
- 24, 26, 48,190,240, 70,115,190, 0,197, 54, 63, 69,201, 75, 62, 28,174, 10,189, 81,128, 78, 63,172,109,175, 60, 7,135,214, 62,
- 59, 12, 9, 63,150,154,198, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 34, 50,138, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6,125,162, 63, 63,233, 64,192,147,167, 86, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 87, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,112, 55,104, 61, 14, 23, 9, 61,208, 82,129, 62,176, 65, 40, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 87,234, 31,192,204,234, 65,192,110,200,172, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,249,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234,120, 11, 63,200, 35,253,190, 2,152,233,190, 0, 38, 0,191,214, 3, 36,191,
- 3,239, 45,190,135,175, 9,191, 18,130, 42,190,156,197, 38, 63,181, 37,238,190, 4, 49,119, 61,119,251,224, 60, 94, 5, 47, 62,
-188,195, 61, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 89,162,191, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184, 96, 27,192,251, 23,179,191,193, 77, 38, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,250,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,177,231, 32,191,150, 89,239, 62,128,156,188,190,225, 45, 0,191,247,133,210, 62, 51,169, 40, 63,
-146,184, 26, 63,209, 39,223,190,182,238, 15,191, 75, 63,146,190,166,161,213, 61,217,242,218, 62, 39, 18,191, 62, 89, 74,194, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 81,236,129, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,185, 0, 21,191,
-137,241, 14,192,206, 27, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,251,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,214, 79,213,190, 95, 19, 10, 63, 60, 25, 56,191,193,193, 10, 62,127,232, 10,190,162,126, 93,190, 25,169, 7, 63,
- 38,209,221,190, 52,214,186, 62, 21, 63, 41,191, 58, 36, 27, 62,245,151, 28, 62, 82, 23,179, 62,148, 10,177, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 98,241, 41, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 80, 57,189,193, 80,166,191,
-242,172,123, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,252,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160,174,232, 62, 64, 99,164, 61, 41,108, 12, 63,106,126, 50,191, 66,117,124, 62,134, 54, 82, 63, 38, 55,191, 62,121,232,197,190,
-188,203, 70,189, 26, 88, 51,191,199,225,170, 62,114, 67, 23, 62,202, 56, 33, 62, 26,224,184, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,216,213,138, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,202,106,219,190, 17,216,127, 63,140,251,173, 64,
-190, 81, 55,191,110,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,253,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214, 79,213,190,
- 95, 19, 10, 63, 60, 25, 56,191,193,193, 10, 62,127,232, 10,190,162,126, 93,190, 25,169, 7, 63, 38,209,221,190, 52,214,186, 62,
- 21, 63, 41,191, 10,203, 79, 63,104, 14, 32, 62,252,238, 44, 60, 55,180,175, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 98,241, 41, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 39, 91,192, 64, 81,150,191, 89, 68, 15, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48,254,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,212, 0,191, 15,161, 38,191,
-131,203,123,190,207, 48, 3,191,112, 6, 64, 63,137, 53, 34,190,175,202, 6,191, 66,241, 19, 62,119,105, 85,190,149,246,146, 61,
- 25, 88, 25, 60, 85, 74, 25, 63,199,185,196, 62,210,179,249, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,198,223, 90, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,231, 17, 40, 63,141, 44,153,190, 68,123,161, 64,190, 81, 55,191,107,243, 71,191,
-102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,255,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,219, 68, 63,190, 75, 74, 62,250,129,229, 62,
-198, 78,210,190, 65, 63, 59,188,173,173,214, 62, 18,159, 85, 62, 25,160,185,189,169,193, 46,191,177, 21, 77,190,202,133, 32, 63,
- 25,163, 36, 61, 45,136,225, 60,133, 71,156, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 22,208,141, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 50, 95,160, 63, 34,101,249,191,176, 96,132, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,127,158, 27, 63,123,235,239, 62, 59,108, 33, 63,
-244,198,103,190,251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,208, 20, 63,190, 62, 45,138, 62, 35,142, 30, 61,
-173, 78,128, 61,170,246, 32, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 2,210,109, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,111,133, 6,192,167,152,225,191, 84, 16, 32, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 88, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,197,252, 48, 60,163,176, 62, 62,216, 93, 72, 63, 94, 65,166, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 76,122,189,191,238,243,102,191,158,253, 93, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 57,241, 62,209,244,173, 62,202,195,188, 61,229, 10, 79, 63, 15,223, 34,191,
-171, 65, 40,190,158,228, 38, 61,187,225, 12, 63,198,196, 13,189,185,253, 14,191,245,107,217, 61,253,147,174, 62,227,232,218, 62,
- 70, 80, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 8,168,183, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 99,228,190, 44, 59, 51,191,221, 75,133, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,
-202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 2,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 52,191, 23, 63,247,209, 82, 62, 34, 21,204, 62, 21, 58, 43, 63, 1, 3,139, 61, 52,159,135, 61,
- 30,117, 36,189,230,123,244, 62, 79,104,185, 62, 17, 73, 33, 63,117,208,213, 62,118,118, 76, 62, 32,254, 5, 62, 65,245,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,179,246, 4, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,101, 74,192,
-166,185,105,191, 18,141, 36, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 3,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,221,157, 3, 63, 67, 81,215, 62,135, 46, 5, 63,121,108, 9,191, 37, 83, 16,190, 37,244,130,190,191, 18,216, 62,
-221, 44, 53, 63,153,136,162,189, 80,138,252,190,221,214,102, 61, 50, 22, 25, 63,139, 42,157, 62,164,113, 30, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,145,208, 26, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,234,218,191, 50,177,232,191,
-108,174, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96, 4,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 98, 41, 59,191,236, 70,252, 61, 77, 96, 25,191, 33,195,154,190, 31,119,242,190,125, 79,204,190, 23, 53, 18,190,102, 31,214,190,
-165,174,199,190, 48,105,169,188,229, 50, 8, 62,227,251,148, 62,133, 65,206, 62, 75, 82, 49, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 44,230, 5, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,106,206,191,205, 36,150, 62, 96, 42,137, 64,
-190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104, 5,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,191, 23, 63,
-247,209, 82, 62, 34, 21,204, 62, 21, 58, 43, 63, 1, 3,139, 61, 52,159,135, 61, 30,117, 36,189,230,123,244, 62, 79,104,185, 62,
- 17, 73, 33, 63, 87, 15,231, 62, 49,237,207, 62,254, 43,141, 61,226,225,150, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,179,246, 4, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 61,167, 63,119, 5,171,191, 86,214,147, 64,190, 81, 55,191,
-109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112, 6,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 39, 70, 63, 91,103,218,188,
- 44, 24, 30, 63, 28, 81, 12, 62, 26,129, 16, 63,215,153,162, 61, 11,203, 31,191,222,132, 2, 63, 26, 4,154,190,202,112,100, 62,
-216, 36,214, 62,172, 85,122, 60, 44,247,142, 60,132,140, 12, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 48, 61,115, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,194, 14,251,191, 44,213,105,190,165,188,109, 64,190, 81, 55,191,107,243, 71,191,
-100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173, 49, 3,191,178,133, 9, 63,104, 18, 16, 63,
-159, 16,186, 62,183,147,245, 62,220, 88,111, 62,220, 25, 2, 63, 80, 44, 77,191, 76,136,152, 62,126,242,176, 61,239, 13,155, 62,
- 40, 17,234, 62, 92,128, 13, 62,226,130,208, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 65,147,208, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,102, 47, 46,192, 64,212, 45, 63, 61, 35,127, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 8,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,164, 48, 63, 32,100, 38,191,163,157,157,190, 10, 78,167, 61,
- 4, 8, 54, 59,139,155,147,190, 11, 41, 50, 63, 27,101,140, 62,241,237,110, 63, 18,188,179, 59, 74, 31,165, 62,207,208, 37, 63,
- 74,227,141, 60, 8, 28, 76, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-129, 24, 80, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10,203, 83,191,133, 15, 29,192,237, 82, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 89, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,101,159,135, 62,253,216,174, 62,217, 99, 96, 62,104,171, 50, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,227, 75, 67, 63, 48,124, 78, 61,200,150,171, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 90, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,191,115, 58, 63,121,198, 2, 60,254,102,167, 59,178,100,132, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 24, 37,139, 62, 4,231, 62, 63,174,205,179, 64,188, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,206,137, 61,190,156, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 92, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 50, 23, 92, 63,169, 27, 15, 61, 8, 43, 83, 60, 59, 83,189, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 32,247,225,191, 37,175, 81,192,248,254,198, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 9,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,194,232,190,156,110, 35, 63,233,200, 75,190,170,158, 22,191, 83,122,193,189,
-217, 58,149,189, 80, 15, 18,191, 66, 37,145,189, 98,184,219,189, 70,185, 86,191, 21,150,239, 61,130,193, 24, 62, 46, 71,217, 62,
-141,114,158, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,122,231, 75, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 71,102, 63, 16, 13, 44,191, 24,187,156, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,
-201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 10,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 40, 61,190,150,196, 15,191,159,219, 54,191,234,195,191, 62,104, 96,122,190,193, 71, 74,191,
- 15,230, 56,190, 61,156,203, 61,227, 39,177, 61, 25,222,193,190,178,206, 13, 63,144,101,237, 60, 16,227,198, 60, 16, 30,201, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74,137,189, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,210,252, 62,
-216, 58, 44,191, 98,217,149, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,202,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 11,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 86,152, 38, 63,169,225, 17,191, 57,217,140,189, 67,124,254,190, 13, 65, 17, 62,229,204, 15, 63,180,148,241, 62,
-175,210, 73,191,182,161, 21, 63,186,222,169,188,235,174, 4, 63,125,216,156, 61,114,228,115, 61,124,239,176, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 86,104,165, 61, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,181,210, 46,192, 59, 4,135,191,
-164, 99, 44, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 12,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-119, 97, 45, 63,119, 47,205,190, 35,117, 19, 63,166,125, 98, 62,242,195, 73, 62,124,228,243, 62,119, 86, 11, 63, 70,156, 89, 62,
-230,232, 88, 63,130, 53,204,190,154, 69,201, 61, 74,143, 3, 63,155, 10,162, 62,186, 21,146, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 53,129,253, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,235, 64, 60,203,210,147, 63,205, 32,185, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168, 13,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,137,136, 62,
-101, 7,106,191,249,249,155,190,146,218,155, 60,179,212,184,188, 68,215,201,189, 40,244, 61,191,114,234, 70, 61,154,226, 1,191,
-119,139, 91, 63,135,168,109, 63, 87, 44,112, 61,106, 72,115, 59,214, 90, 24, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 6, 40, 87, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,185, 0,192,197,235, 38,192,182,221,245, 63,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176, 14,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 54,241, 62, 25, 75, 60,190,
-137, 31,166,190, 26,162, 76, 63,214, 23,180, 62,134, 28, 22,191,189,125,184, 62,170,143, 49, 63, 42,100,208, 62,201,182, 12, 63,
- 85,123,103, 61,230, 65, 90, 62, 33,215, 29, 63,124, 5,233, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,233, 6, 78, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,132,118,247,191, 87, 66, 8,192, 93, 88, 20, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 15,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,149,157, 62,169,241,150, 62,210, 72, 5, 63,
-196, 98, 61,191, 94, 43,103,191,141,249, 13, 62,108, 40, 28,190,180,143, 89,189,159,169,180, 62, 50,210,102, 63, 15,245,186, 61,
-252,211,140, 62,237,184,252, 62,164,107, 15, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,234, 53,126, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,252, 2,190,189, 32, 63,192,249,176, 40, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,
-235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 16,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,227,185,185, 62, 69, 55,133,190, 76,101,246, 62,146, 32, 65,191,
- 11,142, 47,190,207,240, 16,191,178, 47,250, 60,147, 12,135, 62,250,130,192,190,182,224, 63, 63,109,251,141, 61,209, 15,135, 61,
-152,122,212, 62,150, 66,230, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-194, 22,201, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,186, 37, 60,192,209, 36, 19,192,200,102,212, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 93, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 66,132, 2, 61,191, 37,189, 61,173, 5, 64, 63, 91,181, 0, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,200,110,165, 61,183, 43,239, 62,129,243,169, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 17,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,133,116,253,190,160,178, 23, 63,114, 78, 32,191, 57, 97,221, 61,191,244,236,189,
-206, 56,214, 62, 77,142, 40,191, 31, 48,161, 61, 82, 95, 7, 63,244, 70, 62,190,144,146,141, 59, 24,189,182, 62, 12, 24, 34, 63,
-242, 33,183, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 51, 4, 90, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 62,165,155, 63, 35,188,200,191,156,201,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 18,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68,198,205, 62, 50, 21, 99, 63, 18,246, 86,190,237, 24,178,189,229,177, 74, 62,233, 94,174,190,
- 14,113, 17,189,144,148,211, 62,157,182, 80,190, 18,214, 66,191, 54,112,182, 62,156,202, 2, 61, 65,146, 40, 61, 24, 18, 18, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,229, 84,124, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,150, 48, 1, 63,
-133, 14,211, 62,120,209,175, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 19,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 30, 0,181, 60,183, 21, 39, 63,174, 28, 42,191,206,254,185, 62, 60,101,180, 61,224,164,162, 62,169, 22, 78,191,
- 15,164,146,190, 66, 47,188, 62,233,255, 63,191, 26, 61, 76, 63,214,234,171, 60,230,187, 47, 60,126,146, 46, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,113,195, 41, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,196,144, 98, 62, 62,190,112,191,
-153,224,138, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 20,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-255, 80,148,190, 17,138, 5, 63,171, 16, 38, 62,107, 50, 73,191,214,126, 32, 63,143, 14,148, 62,183, 31, 4,191, 70,152,145, 62,
- 21, 32, 89,189, 63,239,100, 62, 51,212,220, 62, 49, 96,238, 61, 1,246,205, 61, 64, 22,180, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,247, 33, 76, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,243, 2,192, 18, 84, 91,191,110, 0, 77, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 21,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,146, 69,191,
-236,123, 69,190,179,188, 26,191,207,182, 47,189, 96, 14,105,191, 55,120, 31,190,138, 41, 18, 62,210, 73,183,189,105, 99, 57,189,
- 32,155,137,190,112,143, 79, 62, 13, 36,220, 62,207,171,119, 62,168,124, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,184,151,199, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,228, 81, 34, 62,178, 55, 39,192, 87, 36, 68, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240, 22,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230,148, 3, 63,224, 68,239, 62,
- 72, 64,241, 62, 71, 35, 11,191,248,202, 31,191, 68, 98,182, 62, 18,127, 48,191,158,108, 26,189,145, 93,173,190,161,155, 16,191,
-144, 72,244, 61,152, 98,173, 61, 16,243,154, 62, 38,162,252, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 69,111,245, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,226,206,132,191,153,157,254,191, 61, 78, 57, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 23,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 64,217, 62,151, 24,213,190, 94,174,187, 61,
-102,136, 76, 63, 27, 1, 32, 63,236, 95,162,189,124, 18, 29,191, 75, 78,155,190,124,134, 43,191,174,202,184,190, 49,138, 35, 62,
-237,209, 85, 62,126, 75,186, 62,113, 6,137, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,111,100, 76, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,228,163,237, 62, 55, 20, 58,192, 9,122, 64, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 95, 55,189, 43, 21,181,190,230, 3,101,191, 87,248,137, 62,
- 4,208, 75, 62, 0,115,115, 59,100,196, 95,190,191, 15, 83, 62, 84,222, 81,191, 36, 58,169, 62,187,215,163, 61, 90,207, 92, 61,
-188,248,152, 62,182, 59, 17, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-230,119,112, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,202, 59,148,191,188,242, 56,191,189,111,113, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 94, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 62,109, 66, 63,244,159,170, 61, 79,150,243, 60, 69,136, 2, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 12,158,243,191,244,237,104,192,138, 34,155, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 26,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,202, 21,192, 61,216, 22, 8, 63,188, 84, 66, 63,158, 70,186, 62,240,211, 98, 62,
-124, 7,155, 62, 10,134,246, 62,110, 16, 79,190,248,197,252,189, 81,188, 39, 63, 42,204,169, 62,204,195,154, 62,146,225, 51, 62,
-125,254, 66, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,123, 26, 81, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 34,179,252,191, 86,102,184,191,169,174, 51, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 27,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232, 50,144,190,207, 31, 50,191,179,203, 40,191,214, 99, 45,189,109,153, 34,190,239, 94, 10,191,
-115,186,212,190, 42,234, 19,190, 72, 26, 97,191,122,105, 99, 61, 46,210, 21, 62,250, 32,186, 62,195,126,178, 62, 85,238, 16, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,131,240,124, 60, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,244, 77,192,
- 51, 52,163,190, 30,234, 62, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 28,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,126, 41,112, 63, 56,166,164, 61, 91, 4,240, 61, 15,172,161, 62,106,126,191,190,117, 33, 64, 63,130,227,184, 62,
- 92, 20,244,190,210,168,180,189, 60, 25, 43,191, 89,246,198, 61, 30,130, 46, 63,223,241, 54, 62,221, 41, 46, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,190,196,107, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 27,122, 63,179,229,133,191,
- 66, 39,149, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32, 29,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-192, 46, 24,191, 41, 20, 43,191,186,184,183, 62, 42,173,136, 62, 75, 75, 50, 63, 40, 83,126, 62,188,195, 8, 63,234,211,238, 62,
- 69, 36,152, 61,235,106,145, 62,216, 4,239, 62,235,100, 21, 61,174, 73, 20, 61, 83,197,235, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 93,122, 57, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 66,151,191,208,139, 62,192, 98,118, 5, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 30,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159,160, 32,190,
-190, 39, 52,191,142,138, 9,191,138, 13,224, 62,166,218,242, 62, 93, 71, 26, 63, 36, 22, 52, 62,231, 52,124, 62,165, 91,192,190,
-148,111, 86,191,212,101,120, 61, 72, 26,221, 61,158, 82, 22, 63,241, 14,122, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,195, 96, 22, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 63, 46,190,222,105,107,191,198,191,132, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 31,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,202, 55, 63,249,235, 89,190,
-127, 18, 92,190,146,129, 32,191, 7,212, 8,190,167, 50,171,190, 97,120,123, 62,232,152,249,189,140, 18,149, 62, 37,111, 13, 61,
- 89,238,204, 62, 10, 90, 39, 62,123,156, 6, 62, 98, 22,156, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,115, 61, 18, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,148,234,190, 11,179, 97,192, 16,215, 3, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 32,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,227,248,190,160,134,192,190,155,159,184, 62,
-105,157, 51, 63, 2, 56, 54, 63, 88,126,182, 62,108,207, 4,187, 38,216,198, 62,140, 66, 73,191,139,126,248, 61,251, 26,119, 60,
- 34,207,150, 60,170,176, 20, 63,225,120,197, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,208,234,216, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,202,177,135,191,150,220, 86,192,144, 9,239, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 33,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201,122, 18,191,155, 68,163,190,236, 36, 39,191,221,182,194,190,
-217, 47, 98,190, 97, 46,230,190,197,236,134, 62,216, 40,187, 60,111, 92,179,189, 71, 17, 54, 63, 87,169, 5, 61,120,116, 92, 61,
-179,253, 38, 63,225,192,133, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-100, 58,154, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,213,105,108,192,125,145,223, 62,192,182, 82, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 95, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,228,106, 92, 60, 23, 25, 35, 61,136,111, 93, 63,211,105,167, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,118, 74, 8, 63, 0,240, 1,192, 28,123,108, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 96, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,233,242,101, 62,181,120,181, 61,231,136, 43, 62,245,241, 4, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 26, 24,231,191, 44,105, 21,191,186, 32, 98, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 97, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 66,189,138, 62,114,103,210, 62,117,128, 62, 62, 35, 54, 7, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,141, 52, 5,191, 10,103, 49,192,230,154, 37, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 34,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,244, 32,190,174,189,218,190,163, 11, 55, 62,157, 75, 95,191, 33,155,243,190,
-180, 86, 90,191, 57,237, 86, 62,226,198,126,190, 30, 34,101, 61, 93,239,180,190,206, 82,204, 61, 44,113, 89, 63, 63, 63, 23, 61,
-220, 33,100, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 6, 63, 50, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 23,243, 62, 46,133,166,191, 78,153,134, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,
-202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 35,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,173,218, 49,191,113,109, 23,191, 32, 16, 55, 62, 54,117,188,190, 25, 20,208, 62,118,245, 46,191,
- 72,158,236,186, 55, 10, 97,191,140,128,183, 62,177,230,146,190,159, 2,190, 62, 29,141,193, 61,214, 93,214, 61,164, 2,220, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 96, 85, 48, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,192,214,190,
-182, 57, 73,192,175, 83, 23, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 36,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,206,172, 34,191, 64, 79,187, 62,140,197, 11, 62,199,135, 42, 63,100, 91,148, 61,123, 75, 25, 60, 54,126,232,189,
-210,190,220,189, 9,158,186, 62,182, 62,225,190,211,103, 84, 61, 92,194,115, 61,148,216,253, 62, 41, 34,201, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 38,103,162, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 4,133,192,109,136,128, 62,
-136, 58, 58, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96, 37,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-147,206,137, 62,234,207, 11, 63,195,144,225, 62,162,225, 40, 63, 24, 69,148,190, 50,238,190, 61, 13, 31, 86,191,217,106, 71, 63,
-247, 60, 1, 62,162,250,136, 62, 70, 80,156, 58,142,100,108, 63, 15, 72,153, 61,116, 35, 17, 58, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,174,199, 41, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 40, 12, 62,102, 32, 1,192,222,178, 95, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104, 38,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,157, 57, 95, 63,
-238,148,214, 62, 87,249,109, 62,227,220,204,189,238,118,221,189,121,162, 19,191,203, 50, 48,191, 58,232, 80,190,141,100, 8,191,
-229,142, 19, 63,223,196, 88, 62,134, 94,237, 61,141, 5, 97, 62, 43,195,231, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 75, 11, 15, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,211,109, 80, 63, 96,210, 20,192,246,253,103, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112, 39,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 32,133, 62, 13,201,189,190,
- 55, 43, 66, 63, 76,254,239, 62,254,163,179, 62, 15,181,171,188,130, 8,196, 60,214, 27, 14,191, 86, 32,128,190,190, 27,208,190,
- 69,196, 53, 62,136,184,135, 61,240,250, 35, 62, 34,153, 24, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,224, 93,234, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,142,147,191, 43, 7,166,190, 61, 69,130, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 40,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,246,249, 62,200,102,140, 62,154,199, 10, 63,
- 40,102, 32, 63, 78, 10, 19,191,224,238,250,190, 0, 13,111,190,243,232,187, 61,106, 10, 99, 62,163, 96,221, 62, 56,243,206, 62,
-109,170,159, 62,224,145, 2, 62,211, 50, 32, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 35,143, 25, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2,254, 89,191,195,197, 85,192,176,197,254, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 41,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,125,204, 62, 37, 10, 46, 63, 69, 71, 26,190,130,168, 24, 63,
-117,105, 36,190,144,220, 32, 63, 11,167,231, 62,151,145,179, 62, 33, 72, 36,190, 42, 67, 50,191,111, 3, 11, 61,241, 2, 76, 61,
-231,181, 28, 63,103,179,155, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-244,186,188, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 46,253,191,200,126,214, 61,248, 1,125, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 98, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,132, 47,184, 61,244,157,207, 61,168, 0,225, 62,249, 11,189, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,136, 45,177,191, 22,253, 99, 63, 8, 58,155, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 42,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,218,181,190,162,100, 80, 63, 86, 18,175,190,142, 51,157,190, 18, 35, 4,191,
-207,113,210, 62, 0,170, 11, 63,134,126,165,190,141, 47, 59, 62,104,163, 62,191, 18,251,181, 62,225,163,242, 62, 90, 98,191, 61,
-220, 33,158, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 83, 76,104, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-115, 18, 94,192,112, 61, 49, 61, 90,153, 71, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,
-202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 43,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,126, 41,112, 63, 56,166,164, 61, 91, 4,240, 61, 15,172,161, 62,106,126,191,190,117, 33, 64, 63,
-130,227,184, 62, 92, 20,244,190,210,168,180,189, 60, 25, 43,191,141,188,190, 61,118,157, 68, 63,105,119,224, 61,112,129,239, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,190,196,107, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 34,141,191,
-222,140, 39,192,182, 55, 25, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 44,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,193, 40, 85, 63,120, 79,146,190, 68,249,203,190,207,217,131, 62,229, 65, 22, 63,120,104, 63, 63,173,135,124,189,
-131,179,190,190,208, 81,171, 62,211,132, 69, 63,122, 6,189, 61, 58,195, 23, 62, 6,114,254, 62,189,106,134, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,179,102, 20, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 14, 63,192, 64,204,165,191,
- 12, 96, 24, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 45,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 54, 81, 30,191,157, 39,223, 62,214, 30, 11, 63, 76, 51,186, 62,206,228, 83, 62,209,146, 0, 61, 22,106,121, 63, 44,124, 6,187,
-128,233, 71,187,218,190,173, 62, 14, 67, 83, 61,192,186, 4, 63, 39,206,197, 62,178,159, 50, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,208, 19, 52, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,180, 22,192,126,173, 4,192,240,189, 8, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168, 46,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 59, 20,191,
- 30, 36, 17, 63,112, 57,252,190, 32,101,162, 62,139, 6,160, 62, 57,160, 80, 61,109,243,245, 61, 41, 18,224,190,182,154,227,188,
-238,196,139,190,133, 49,131, 61,130, 33,167, 62,160,225, 5, 63,124, 59,177, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 20,166, 56, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,160, 97, 63,129,220,163,191,194,248,141, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176, 47,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,149,157, 62,169,241,150, 62,
-210, 72, 5, 63,196, 98, 61,191, 94, 43,103,191,141,249, 13, 62,108, 40, 28,190,180,143, 89,189,159,169,180, 62, 50,210,102, 63,
- 78,174,206, 62, 68,159, 93, 61,160, 84,118, 61, 54,211,246, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,234, 53,126, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,223, 18,192,155,169,140,191,151, 18, 57, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 48,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,186, 63, 44, 63,134,104,136, 62, 44,117, 32, 63,
-178,227,147,190,254, 77, 90, 63, 0,117,175,190,119, 69,167, 62,238, 73,138, 61, 58,211,189, 62,210, 28, 37,191,245, 96, 21, 62,
- 35,104,227, 62, 83, 62,154, 62, 64,164,222, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,130, 27,151, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,100,193,179,191,251,111, 78,192,166, 64,228, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 49,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129,101, 4,191,237, 90, 0, 63,104,125,239,190,131, 31, 3, 63,
-200,160,212,190,115,217, 27, 63, 55,189, 6,190,131,223, 22,190, 4,241,223,190, 4, 70, 0,190, 37,242, 35, 61,204,214,171, 61,
-175, 25, 46, 63, 82,177, 72, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-184,249,202, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 93, 90,124,191,113, 48,212,191, 56,208, 74, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 99, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,147,253, 28, 63,231,184,184, 62, 48, 48, 58, 60, 59, 78,111, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 42,255, 57,191,235, 4, 65,192, 77, 7, 19, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,101, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,228,255,128, 61, 76, 32,172, 61,147,152, 5, 63,205,134,169, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,184, 68,137,191,204,177,226, 61,196,247,141, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,102, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,107,166, 0, 63, 23, 29,154, 62, 34,214,165, 61, 42,130,236, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 22,103, 82,192, 73, 75,201,191, 1,247, 0, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,103, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 73,109,118, 59,168,155, 4, 63, 73, 2,243, 62,186,198,108, 59, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,194,241,246,191, 87,130,236, 62, 50,209,135, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,104, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 49, 99,219, 62, 85, 73,242, 62,127, 14, 79, 61, 68,141, 67, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,224,228,149,189,233, 13,221,190,210,251,145, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+199,206,183,190,204,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,105, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,198,141, 4, 63, 3, 71, 19, 62, 60,186,174, 61, 99,146,129, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0,120, 89, 62,164,169,120,190, 26, 78,155, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,106, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,224, 89, 24, 63,189,174,198, 61, 2,152,101, 61,143,237,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 92, 80, 26,192,232, 3,239,189,182,210, 99, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,107, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,115,248,126, 62, 84, 41, 12, 63,153, 55, 4, 62, 62, 85,152, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 80,245, 70,190,136,148, 37,192, 41,107, 57, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,108, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,208,237,239, 61, 10, 34,210, 61, 62,101,181, 62,205, 22,218, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,253,172, 25,191, 68,234,249,191, 59,217, 73, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,110, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 12,172, 64, 62,160, 24, 51, 62,145, 49,156, 62, 26,236,169, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 77, 63, 60,192,192, 70,245,191,246,177,248, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,111, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,172,109,175, 60, 7,135,214, 62, 59, 12, 9, 63,150,154,198, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6,125,162, 63, 63,233, 64,192,147,167, 86, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,112, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 4, 49,119, 61,119,251,224, 60, 94, 5, 47, 62,188,195, 61, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,184, 96, 27,192,251, 23,179,191,193, 77, 38, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,113, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,166,161,213, 61,217,242,218, 62, 39, 18,191, 62, 89, 74,194, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,185, 0, 21,191,137,241, 14,192,206, 27, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,114, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 58, 36, 27, 62,245,151, 28, 62, 82, 23,179, 62,148, 10,177, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 64, 80, 57,189,193, 80,166,191,242,172,123, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,115, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,199,225,170, 62,114, 67, 23, 62,202, 56, 33, 62, 26,224,184, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,202,106,219,190, 17,216,127, 63,140,251,173, 64,190, 81, 55,191,110,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,116, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 10,203, 79, 63,104, 14, 32, 62,252,238, 44, 60, 55,180,175, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,111, 39, 91,192, 64, 81,150,191, 89, 68, 15, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,117, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 25, 88, 25, 60, 85, 74, 25, 63,199,185,196, 62,210,179,249, 59, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,231, 17, 40, 63,141, 44,153,190, 68,123,161, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,119, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,202,133, 32, 63, 25,163, 36, 61, 45,136,225, 60,133, 71,156, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 50, 95,160, 63, 34,101,249,191,176, 96,132, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,120, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 62, 45,138, 62, 35,142, 30, 61,173, 78,128, 61,170,246, 32, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,111,133, 6,192,167,152,225,191, 84, 16, 32, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 50,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,127,158, 27, 63,123,235,239, 62, 59,108, 33, 63,244,198,103,190,
-251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,208, 20, 63,190,187,178, 81, 62,176, 57,108, 62, 93,177,153, 62,
-108, 88,135, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 2,210,109, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-251,231, 33,192,132, 2, 59,191, 78,162, 66, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 51,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 46, 24,191, 41, 20, 43,191,186,184,183, 62, 42,173,136, 62, 75, 75, 50, 63, 40, 83,126, 62,
-188,195, 8, 63,234,211,238, 62, 69, 36,152, 61,235,106,145, 62,217, 15, 30, 62,227,209, 4, 63,178,148,117, 62,218, 39,178, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 93,122, 57, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,185,138, 63,
-191,128, 41,192,139,193, 97, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 52,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,231,120,168, 62,179,154, 7,191, 41,180, 48, 63,239,232,187,190, 9, 35,104,191,222, 8,114, 62, 76,143,177,190,
-107, 29, 28,191,210,112,234, 62, 9,249, 92,190, 0,196,250, 61, 79,120, 62, 61,195, 12, 31, 62,202,252, 44, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74, 4,184, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,242, 63,243,190, 86,176,159,191,
-245,150,111, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 53,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-166, 26, 58,191, 1, 70,159, 62,113,111, 2, 63,235,187,173,190,116, 51,237, 62,130, 53,247, 62,243,199, 26,190,235, 88,172,189,
-118,115,244, 62, 34,147, 5,191,217, 77,158, 62, 43,131, 72, 62,119,208, 68, 62, 86, 8,155, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,253,152,110, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,198,178, 48,191,138, 39, 52, 62, 39,252,149, 64,
-190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 54,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,167,210,190,
-194,172,139, 62,250,220, 35, 63, 30,182, 22,191,122, 3,136, 61,109,164,176,190, 30,153,147,190,255,248, 10,188,234, 90,160,190,
- 89,241,205,190, 62, 71, 19, 63,111,215,107, 62, 63, 71,138, 61,243,231, 1, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 37,227, 77, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64,157,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-231, 84,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 15, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72,158,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,121, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,245,107,217, 61,253,147,174, 62,227,232,218, 62, 70, 80, 0, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 80, 99,228,190, 44, 59, 51,191,221, 75,133, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,122, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,117,208,213, 62,118,118, 76, 62, 32,254, 5, 62, 65,245,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 85,101, 74,192,166,185,105,191, 18,141, 36, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,123, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,221,214,102, 61, 50, 22, 25, 63,139, 42,157, 62,164,113, 30, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,122,234,218,191, 50,177,232,191,108,174, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,124, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,229, 50, 8, 62,227,251,148, 62,133, 65,206, 62, 75, 82, 49, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,254,106,206,191,205, 36,150, 62, 96, 42,137, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,125, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 87, 15,231, 62, 49,237,207, 62,254, 43,141, 61,226,225,150, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,200, 61,167, 63,119, 5,171,191, 86,214,147, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,216, 36,214, 62,172, 85,122, 60, 44,247,142, 60,132,140, 12, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,194, 14,251,191, 44,213,105,190,165,188,109, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,128, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,239, 13,155, 62, 40, 17,234, 62, 92,128, 13, 62,226,130,208, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,102, 47, 46,192, 64,212, 45, 63, 61, 35,127, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,129, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 74, 31,165, 62,207,208, 37, 63, 74,227,141, 60, 8, 28, 76, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 10,203, 83,191,133, 15, 29,192,237, 82, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,130, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 21,150,239, 61,130,193, 24, 62, 46, 71,217, 62,141,114,158, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 47, 71,102, 63, 16, 13, 44,191, 24,187,156, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,131, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,178,206, 13, 63,144,101,237, 60, 16,227,198, 60, 16, 30,201, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,140,210,252, 62,216, 58, 44,191, 98,217,149, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,132, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,235,174, 4, 63,125,216,156, 61,114,228,115, 61,124,239,176, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,181,210, 46,192, 59, 4,135,191,164, 99, 44, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,133, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,154, 69,201, 61, 74,143, 3, 63,155, 10,162, 62,186, 21,146, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 64,235, 64, 60,203,210,147, 63,205, 32,185, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,134, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,135,168,109, 63, 87, 44,112, 61,106, 72,115, 59,214, 90, 24, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,160,185, 0,192,197,235, 38,192,182,221,245, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,135, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 85,123,103, 61,230, 65, 90, 62, 33,215, 29, 63,124, 5,233, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,132,118,247,191, 87, 66, 8,192, 93, 88, 20, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,137, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 15,245,186, 61,252,211,140, 62,237,184,252, 62,164,107, 15, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 96,252, 2,190,189, 32, 63,192,249,176, 40, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,138, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,109,251,141, 61,209, 15,135, 61,152,122,212, 62,150, 66,230, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,186, 37, 60,192,209, 36, 19,192,200,102,212, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,139, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,144,146,141, 59, 24,189,182, 62, 12, 24, 34, 63,242, 33,183, 59, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 62,165,155, 63, 35,188,200,191,156,201,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,140, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 54,112,182, 62,156,202, 2, 61, 65,146, 40, 61, 24, 18, 18, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,150, 48, 1, 63,133, 14,211, 62,120,209,175, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,141, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 26, 61, 76, 63,214,234,171, 60,230,187, 47, 60,126,146, 46, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,196,144, 98, 62, 62,190,112,191,153,224,138, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,142, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 51,212,220, 62, 49, 96,238, 61, 1,246,205, 61, 64, 22,180, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 80,243, 2,192, 18, 84, 91,191,110, 0, 77, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,143, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,112,143, 79, 62, 13, 36,220, 62,207,171,119, 62,168,124, 0, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,228, 81, 34, 62,178, 55, 39,192, 87, 36, 68, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,144, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,144, 72,244, 61,152, 98,173, 61, 16,243,154, 62, 38,162,252, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,226,206,132,191,153,157,254,191, 61, 78, 57, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,146, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 49,138, 35, 62,237,209, 85, 62,126, 75,186, 62,113, 6,137, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,228,163,237, 62, 55, 20, 58,192, 9,122, 64, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,147, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,187,215,163, 61, 90,207, 92, 61,188,248,152, 62,182, 59, 17, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,202, 59,148,191,188,242, 56,191,189,111,113, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,148, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 42,204,169, 62,204,195,154, 62,146,225, 51, 62,125,254, 66, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 34,179,252,191, 86,102,184,191,169,174, 51, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,149, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 46,210, 21, 62,250, 32,186, 62,195,126,178, 62, 85,238, 16, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 1,244, 77,192, 51, 52,163,190, 30,234, 62, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,150, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 89,246,198, 61, 30,130, 46, 63,223,241, 54, 62,221, 41, 46, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,255, 27,122, 63,179,229,133,191, 66, 39,149, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,151, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,216, 4,239, 62,235,100, 21, 61,174, 73, 20, 61, 83,197,235, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 20, 66,151,191,208,139, 62,192, 98,118, 5, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,152, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,212,101,120, 61, 72, 26,221, 61,158, 82, 22, 63,241, 14,122, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,224, 63, 46,190,222,105,107,191,198,191,132, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,153, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 89,238,204, 62, 10, 90, 39, 62,123,156, 6, 62, 98, 22,156, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,250,148,234,190, 11,179, 97,192, 16,215, 3, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,155, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,251, 26,119, 60, 34,207,150, 60,170,176, 20, 63,225,120,197, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,202,177,135,191,150,220, 86,192,144, 9,239, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,156, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 87,169, 5, 61,120,116, 92, 61,179,253, 38, 63,225,192,133, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,213,105,108,192,125,145,223, 62,192,182, 82, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,157, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,206, 82,204, 61, 44,113, 89, 63, 63, 63, 23, 61,220, 33,100, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 76, 23,243, 62, 46,133,166,191, 78,153,134, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,158, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,159, 2,190, 62, 29,141,193, 61,214, 93,214, 61,164, 2,220, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,130,192,214,190,182, 57, 73,192,175, 83, 23, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,159, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,211,103, 84, 61, 92,194,115, 61,148,216,253, 62, 41, 34,201, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,122, 4,133,192,109,136,128, 62,136, 58, 58, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,160, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 70, 80,156, 58,142,100,108, 63, 15, 72,153, 61,116, 35, 17, 58, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,132, 40, 12, 62,102, 32, 1,192,222,178, 95, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,161, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,223,196, 88, 62,134, 94,237, 61,141, 5, 97, 62, 43,195,231, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,211,109, 80, 63, 96,210, 20,192,246,253,103, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,162, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 69,196, 53, 62,136,184,135, 61,240,250, 35, 62, 34,153, 24, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,240,142,147,191, 43, 7,166,190, 61, 69,130, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,164, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 56,243,206, 62,109,170,159, 62,224,145, 2, 62,211, 50, 32, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 2,254, 89,191,195,197, 85,192,176,197,254, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,165, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,111, 3, 11, 61,241, 2, 76, 61,231,181, 28, 63,103,179,155, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 24, 46,253,191,200,126,214, 61,248, 1,125, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,166, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 18,251,181, 62,225,163,242, 62, 90, 98,191, 61,220, 33,158, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,115, 18, 94,192,112, 61, 49, 61, 90,153, 71, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,167, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,141,188,190, 61,118,157, 68, 63,105,119,224, 61,112,129,239, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 38, 34,141,191,222,140, 39,192,182, 55, 25, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,168, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,122, 6,189, 61, 58,195, 23, 62, 6,114,254, 62,189,106,134, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,149, 14, 63,192, 64,204,165,191, 12, 96, 24, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,169, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 14, 67, 83, 61,192,186, 4, 63, 39,206,197, 62,178,159, 50, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,183,180, 22,192,126,173, 4,192,240,189, 8, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,170, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,133, 49,131, 61,130, 33,167, 62,160,225, 5, 63,124, 59,177, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 35,160, 97, 63,129,220,163,191,194,248,141, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,171, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 78,174,206, 62, 68,159, 93, 61,160, 84,118, 61, 54,211,246, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4,223, 18,192,155,169,140,191,151, 18, 57, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,173, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,245, 96, 21, 62, 35,104,227, 62, 83, 62,154, 62, 64,164,222, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,100,193,179,191,251,111, 78,192,166, 64,228, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,174, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 37,242, 35, 61,204,214,171, 61,175, 25, 46, 63, 82,177, 72, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 93, 90,124,191,113, 48,212,191, 56,208, 74, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,175, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,187,178, 81, 62,176, 57,108, 62, 93,177,153, 62,108, 88,135, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,251,231, 33,192,132, 2, 59,191, 78,162, 66, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,176, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,217, 15, 30, 62,227,209, 4, 63,178,148,117, 62,218, 39,178, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 2,185,138, 63,191,128, 41,192,139,193, 97, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,177, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 0,196,250, 61, 79,120, 62, 61,195, 12, 31, 62,202,252, 44, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,242, 63,243,190, 86,176,159,191,245,150,111, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,178, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,217, 77,158, 62, 43,131, 72, 62,119,208, 68, 62, 86, 8,155, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,198,178, 48,191,138, 39, 52, 62, 39,252,149, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,179, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 62, 71, 19, 63,111,215,107, 62, 63, 71,138, 61,243,231, 1, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 12, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 13, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80,159,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186, 63,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,251,223,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 59,138, 94,189,142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88,160,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,
-255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,255,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,255, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,199, 84,145,188, 15,224,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188,
- 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 15, 62, 14, 62,163,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,255, 84,145,189, 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96,161,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,243, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,251,223,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-180,127, 35,189, 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,142,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,162,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,126, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,135, 84,145,188,
- 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,231, 84,145,189,
- 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112,163,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120,164,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
-247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,251,223,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128,165,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 18,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,152,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136,166,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 14, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186, 63,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+251,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 15, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,255, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 15,224,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189,
+ 15, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,151,155, 65, 62,182,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 16, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,243, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
+251,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 17, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,126, 35,188,247, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,135, 84,145,188, 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,231, 84,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 18, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 20, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,247, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,251,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,142,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 21, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 18,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,152,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 22, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,223, 84,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,132,127, 35,188, 3, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,252, 84,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,207, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,169,127, 35,189,
13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 50,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144,167,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,143,223,124, 59, 56,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,250, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 4,224,124, 61,
-124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 43,138, 94,189,146,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 26,224,124, 62,
-140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152,168,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 85,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 11, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160,169,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,
-221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,239,223,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,135,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,170,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 84,145,186,239,223,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,120,127, 35,188, 2, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
- 17,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,165,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 48,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
- 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,171,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 43, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,186,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184,172,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
- 3, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 17,224,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 53,138, 94,189,
-148,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189, 29,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192,173,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200,174,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 23, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,143,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,250, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 4,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,146,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 26,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 24, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 87,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 25, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+239,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,135,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 26, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 71, 84,145,186,239,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,120,127, 35,188, 2, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188, 17,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,165,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 48,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 27, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 23,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 29, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 3, 62, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 17,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 53,138, 94,189,148,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 30, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 31, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,219, 20,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208,175,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,247,223,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 59,138, 94,189,138,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216,176,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 11, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224,177,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 71, 85,145,187,223,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,
-221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 7,224,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,178,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
- 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240,179,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
-135, 84,145,186, 63,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187, 55,224,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 17, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 30,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-203, 20,227,188, 24,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 18, 62, 14, 62,
-163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 55,138, 94,189,155,155, 65, 62,183,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 36,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248,180,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,
-239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,
-139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0,182,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 15,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8,183,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 32, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+247,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,138,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 33, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 34, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,223,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 7,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 35, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 36, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186, 63,224,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187, 55,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188, 17, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 30,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 24,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 18, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 55,138, 94,189,155,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189,
+ 36,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 38, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 39, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 15,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 40, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16,184,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,247,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
- 72,127, 35,188, 0, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 14,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,251, 84,145,189, 27,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24,185,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
-127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,223,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 31, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,243, 20,227,188,
- 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,188,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 17, 85,145,189, 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32,186,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,255, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,187,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 84,145,186,255,223,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
- 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 19,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,170,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 56,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189,
- 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48,188,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187, 63,224,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-171, 20,227,188, 7,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 11, 62, 14, 62,
-163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 19,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56,189,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,
-255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,255,223,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,216,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,
-143,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,143, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64,190,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 27,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 19, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72,191,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 41, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,247,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188, 0, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 14,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 13,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,251, 84,145,189,
+ 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 42, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,
+223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188,247, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 31, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,243, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,188,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,141,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 17, 85,145,189, 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 43, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 44, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 71, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,170,127, 35,189,
+ 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 56,138, 94,189,147,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 45, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 7,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 19,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 47, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189,
+ 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 48, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 27,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 19, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 49, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,187, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,143,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80,192,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,
-128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 29,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88,193,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,231, 84,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,149,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96,194,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,144,127, 35,188, 7, 62, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-166,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 45,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 8, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,195,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
-255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,255,142,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 91,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
- 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112,196,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 13, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120,197,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
-255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128,198,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59,
- 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 83,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,126, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-135, 84,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 20,227,188,255,142,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0, 88,127, 35,189,255, 61, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0,219,137, 94,189,135,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-223, 84,145,189, 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136,199,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 50, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 51, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,149,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 52, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,144,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,166,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 45,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 8, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 53, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,139,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 54, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 56, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 57, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 83,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,126, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,135, 84,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0, 88,127, 35,189,255, 61, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,219,137, 94,189,135,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,223, 84,145,189,
+ 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 58, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,137,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144,200,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 3,224,124, 61,
-124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 8,143,197, 61, 80, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 10, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 27,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 24,224,124, 62,
-140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152,201,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 63,224,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 31,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 27,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 23, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 31, 85,145,189, 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160,202,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186, 15,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 85,145,187, 19,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,232,127, 35,188, 12, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 28,224,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 25,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-200,127, 35,189, 19, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,203,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186, 63,224,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188, 3, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
- 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,204,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186, 33,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 29,224,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 11, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 24,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 43, 21,227,188, 24,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 18, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184,205,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
-255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192,206,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-167, 84,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188, 15,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-247, 84,145,189, 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200,207,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 59, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 3,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 8,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 10, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 27,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189,
+ 24,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 60, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+ 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 31,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 27,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189,
+ 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 61, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186, 15,224,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 19,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,232,127, 35,188, 12, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 28,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 25,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 19, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 62, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186, 63,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 3, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 63, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186, 33,224,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 29,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 11, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 24,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 24,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 18, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 65, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 66, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 11,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189,
+ 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 67, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,223, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,174,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 57,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 12, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208,208,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,
-127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 75,138, 94,189,147,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,
-143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216,209,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-191,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 17,143,197, 61, 83, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 14, 62, 14, 62,165,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,146,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 26,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224,210,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,211,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
-255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,251, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 67,138, 94,189,140,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
- 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240,212,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248,213,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
- 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0,215,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 47, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-231, 84,145,188, 63,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 47,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,167,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-255, 84,145,189, 51,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8,216,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 68, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 69, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+ 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 17,143,197, 61, 83, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,146,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 26,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 70, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 71, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,251, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189,
+ 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,140,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 72, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 74, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 75, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188, 47, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 63,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 47,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,167,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 51,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 76, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186, 31,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 16, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,215, 20,227,188, 22,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,172,127, 35,189,
17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 53,138, 94,189,151,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 32,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16,217,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,255,223,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 59,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 23,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24,218,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,191,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,231, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188,
- 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,255, 84,145,189, 26,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32,219,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,220,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,191, 84,145,186,255,222,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,229, 84,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,154,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
-255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,232, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,182,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189,
- 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48,221,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187, 31,224,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56,222,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
- 47, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 47,224,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 47,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,152,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,
-167,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 49,224,124, 62,139, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64,223,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59,
- 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-167, 84,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189, 9, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-239, 84,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72,224,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 77, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 78, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 26,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 79, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 80, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,191, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,229, 84,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,154,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,232, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,182,127, 35,189,
+ 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 81, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187, 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
+ 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 83, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+ 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 47, 62, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 47,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188, 47,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,167,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 49,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 84, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189, 9, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,251,137, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 85, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,171, 20,227,188, 31,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,159,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 39,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80,225,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 19,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88,226,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,
-255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 5, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,138,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96,227,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-168,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,228,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187, 15,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
- 19,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 17,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
- 30,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112,229,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 83,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 84,145,187,191,223,124, 60,
-186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 40,127, 35,188,223, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-155, 20,227,188,255,142,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,128,127, 35,189,255, 61, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0,243, 84,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120,230,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
-239, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,255,223,124, 61,124,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,120,127, 35,189,255, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,
-131,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128,231,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 23,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 39, 85,145,189, 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136,232,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 86, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 87, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,138,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 88, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 89, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+ 15,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188, 19,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189,
+ 14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 30,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 90, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 83,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 40,127, 35,188,223, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,
+239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,155, 20,227,188,255,142,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,128,127, 35,189,255, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,243, 84,145,189,
+ 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 92, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,239, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,255,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,139, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,
+255, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,131,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 93, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 23,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 39, 85,145,189,
+ 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 94, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,239, 61, 14, 61,221,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0, 43, 21,227,188,255,142,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
3, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,135,155, 65, 62,186,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 19,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144,233,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 91,138, 94,189,151,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 27,224,124, 62,
-143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152,234,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
-127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,231, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,215, 84,145,188,231,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188,
-247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 1, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,135,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,251, 84,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160,235,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 83,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 84,145,187,239,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188, 3, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,187, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-152,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,236,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186, 63,224,124, 59, 56,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 47,224,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
- 29,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 24,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 59,138, 94,189,155,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
- 35,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,237,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 43, 21,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 15, 62, 14, 62,
-166,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,150,155, 65, 62,186,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 30,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184,238,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
- 11, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 23,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192,239,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59,
- 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 17,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200,240,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 95, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,151,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 96, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,231, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,215, 84,145,188,231,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 1, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,135,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,251, 84,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 97, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 83,145,186,191,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,239,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,104,127, 35,188, 3, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,187, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 98, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186, 63,224,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 47,224,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 29,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 24,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,155,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 35,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 99, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 23,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 15, 62, 14, 62,166,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,150,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 30,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,101, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 11, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,102, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 17,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,103, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,103, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,191, 84,145,187,
63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,144,127, 35,188, 15, 62, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 3, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,223, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,174,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 63,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208,241,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 59,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 3,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
- 8,128, 35,188, 4, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 18,224,124, 61,
-128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 91,138, 94,189,149,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 26,224,124, 62,
-143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216,242,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,247, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,160,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 7, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224,243,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-199, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 40,128, 35,188, 15, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0, 27, 21,227,188, 31,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-208,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,163,155, 65, 62,
-183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 43,224,124, 62,140, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,244,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
- 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
- 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240,245,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,207,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,244, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,254,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 11, 21,227,188, 5,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 9, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248,246,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,241,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,
-253, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 11,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,176,127, 35,189, 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,
-146,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0,248,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,160,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 11, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188, 15,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 61,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 14, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8,249,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,104, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 3,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 4, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 18,224,124, 61,128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,149,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 26,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,105, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,160,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,106, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 40,128, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 27, 21,227,188, 31,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,208,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,163,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189,
+ 43,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,107, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,108, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,207,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,244, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+254,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 5,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 9, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,110, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+241,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,253, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 11,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,146,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,111, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,160,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 11, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 61,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 14, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,112, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,203, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,137,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16,250,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-140,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 61,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24,251,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
- 13,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 9, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 23, 85,145,188, 22,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,
- 16,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 14, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,148,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32,252,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-231, 84,145,187,159,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,144,127, 35,188,231, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,217, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-175,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 56,138, 94,189,140,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 21,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,253,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,224,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 63,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 72,128, 35,188, 31, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,
- 47,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 21,227,188, 39,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,248,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,139,138, 94,189,163,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 55, 85,145,189,
- 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48,254,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56,255,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 71, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
-239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,187, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,152,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,
-139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 19,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64, 0,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 23, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,251, 20,227,188, 7,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 19, 85,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72, 1,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,113, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,140,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 61,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,114, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186, 13,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 9, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 22,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 16,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,148,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,115, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,159,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,144,127, 35,188,231, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,217, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,175,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 56,138, 94,189,140,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
+ 21,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,116, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+ 63,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,128, 35,188, 31, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188, 47,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 75, 21,227,188, 39,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,248,127, 35,189,
+ 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,139,138, 94,189,163,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 55, 85,145,189, 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,117, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,119, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,187, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,139,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,120, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,251, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,121, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,199, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 3, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189,
11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 63,138, 94,189,147,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80, 2,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 39,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,227, 20,227,188, 33,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 24, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 67,138, 94,189,162,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 17, 85,145,189, 45,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88, 3,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188,
- 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96, 4,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-231, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 7, 62, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 5,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,223,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,235,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,126, 35,188,251, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188,
- 9,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189,
- 28,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112, 6,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,222,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,191,223,124, 60,
-186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 3, 21,227,188, 7,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,196,127, 35,189, 7, 62, 14, 62,
-163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 87,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 29, 85,145,189, 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120, 7,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 84,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
-251, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 11,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,155, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,136,127, 35,189, 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 19,138, 94,189,
-144,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 24,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128, 8,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 11,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136, 9,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,122, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 39,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,227, 20,227,188, 33,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 24, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,162,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 17, 85,145,189,
+ 45,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,123, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,124, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,125, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,223,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+235,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,126, 35,188,251, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188, 9,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 28,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,126, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 3, 21,227,188, 7,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,196,127, 35,189, 7, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 87,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 29, 85,145,189,
+ 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,128, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,251, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 11,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,155, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189,
+ 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 19,138, 94,189,144,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 24,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,129, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 11,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,130, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
239,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 3, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,219, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,149,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144, 10,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-248,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 55, 85,145,188, 15,224,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 35, 21,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,220,127, 35,189, 15, 62, 14, 62,162,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
-107,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 37, 85,145,189, 31,224,124, 62,
-139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152, 11,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 86,145,186,
-255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,
- 31,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 23, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 71,138, 94,189,159,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 18, 85,145,189, 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160, 12,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 39, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,243, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,151,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 25, 85,145,189, 27,224,124, 62,140, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 13,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 8,128, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
-255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,107,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
- 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176, 14,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 15, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184, 15,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
-255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,176,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,
-147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 31,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192, 16,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,143,223,124, 59,
- 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 2,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 7, 85,145,189, 27,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200, 17,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,131, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,248,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 55, 85,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 35, 21,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,220,127, 35,189, 15, 62, 14, 62,162,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,107,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 37, 85,145,189,
+ 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,132, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 31,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189,
+ 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 71,138, 94,189,159,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 18, 85,145,189, 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,133, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,243, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 83,138, 94,189,151,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 25, 85,145,189,
+ 27,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,134, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,239, 61, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189,
+ 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,107,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,135, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 23,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,137, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,138, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,143,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 2,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
+ 27,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,139, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208, 18,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-152,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,255,223,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 75,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 23,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216, 19,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,191,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,199, 84,145,188,239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188,
-247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,251, 61, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224, 20,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 39, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,239,223,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-179,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189, 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 21,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,104,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,239, 84,145,188,
- 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240, 22,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,207,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,243, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,251,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248, 23,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,
- 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,
-147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0, 25,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8, 26,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,140, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,141, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,139, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,
+251, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,142, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,
+239,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,179,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189,
+ 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,143, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,239, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,144, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,207,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,243, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+251,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,146, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,147, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,148, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
13,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 5, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 19,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,227, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,149,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16, 27,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,151, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,219, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-140,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,249, 84,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,205, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189, 27,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24, 28,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32, 29,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,175, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-224, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,142,127, 35,188,239, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 1, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-164,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 42,138, 94,189,135,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 4, 85,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 30,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
- 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,149, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,151, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,219, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,140,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,249, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,205, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
- 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48, 31,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,223,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-231, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 9, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 63,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 24,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56, 32,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
- 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-151,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,143, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64, 33,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72, 34,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,150, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,151, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,175, 84,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,224, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,142,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 1, 85,145,188,
+239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 42,138, 94,189,135,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 4, 85,145,189,
+ 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,152, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,153, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 9, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 63,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 24,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,155, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,156, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,157, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,255, 61, 14, 61,217,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,182,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 27,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80, 35,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 85,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-144,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 31,224,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,223, 20,227,188, 31,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 63,138, 94,189,161,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 14, 85,145,189, 43,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88, 36,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187, 15,224,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,150,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96, 37,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 84,145,187,255,223,124, 60,185, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,255, 61, 14, 61,
-217,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,123,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-152,127, 35,189, 7, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,143,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 38,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 56,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,158, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 85,145,186,255,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,144,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 31,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,223, 20,227,188, 31,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 63,138, 94,189,161,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 14, 85,145,189,
+ 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,159, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+ 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,150,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,160, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,185, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188,255, 61, 14, 61,217,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+255,223,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 7, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,161, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,141,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,162, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 59,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
- 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112, 39,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120, 40,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
- 1, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 16,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,
-147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128, 41,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188, 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 29,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136, 42,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,164, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 1, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 16,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,165, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 29,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,166, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 11, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0, 11, 21,227,188, 21,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
17, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,153,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 33,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144, 43,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 86,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
- 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
-107,138, 94,189,147,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 39, 85,145,189, 27,224,124, 62,
-140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152, 44,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 15, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160, 45,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,215, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-174,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 57,138, 94,189,143,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 46,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,167, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 86,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,107,138, 94,189,147,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 39, 85,145,189,
+ 27,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,168, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,147,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,169, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
- 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 23,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176, 47,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,191,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 11, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-227, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 7, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 73,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 20, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184, 48,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
-255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 55,138, 94,189,
-147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 12, 85,145,189, 27,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192, 49,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 23,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 35,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200, 50,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,215, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,174,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 57,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,170, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,171, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 11, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,227, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 73,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 20, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,173, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 55,138, 94,189,147,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 12, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,174, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 23,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 35,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,175, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186, 15,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
251,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 8, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 22,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,219, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,172,127, 35,189,
15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 30,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208, 51,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-168,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 67,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 27,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216, 52,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
-255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 3, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,137,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224, 53,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,111, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-173, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,116,127, 35,188,255, 61, 14, 61,
-221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,245, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,199, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-163,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 47,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 6, 85,145,189, 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 54,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,127,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 8,127, 35,188,247, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,
- 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189,
- 28,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,240, 55,181, 3,
-119, 0, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 16,137,156, 3,105, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 23, 0, 0, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,
-101,109, 32, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 90,154, 3,
- 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 8, 57,181, 3,
-115, 0, 0, 0, 1, 0, 0, 0,152, 60,181, 3,184, 4,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,
-119,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 97,109,112, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,176, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,177, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,137,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,178, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,111, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,173, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,116,127, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,245, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,199, 20,227,188, 13,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,163,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 47,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 6, 85,145,189,
+ 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,179, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,247, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,139, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 28,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 2, 0, 0,232,180, 51, 3, 0, 0, 0, 0,123, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 72,183, 51, 3, 0, 0, 0, 0,101, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 32, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,152, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 8,184, 51, 3,
+ 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,120,189, 51, 3, 0, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0,
+ 0, 97,109,112, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,208, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,192,197,211,188, 76,229, 59, 65,208,106,184, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+247,215, 98,191, 71, 11, 72, 63,230,248, 6, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 14, 29, 63,149,225,182, 62,
+ 84, 76, 52,191, 0, 0, 0, 0, 22, 40, 74,191,201, 74,139, 62,228,198, 12,191, 0, 0, 0, 0, 84,213,157,187,151,190,100, 63,
+145,223,229, 62, 0, 0, 0, 0,192,197,211,188, 76,229, 59, 65,208,106,184, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,147, 39, 25, 51,
+ 43, 47, 63,179, 0, 0, 0, 0, 9,108,247, 50, 0, 0,128, 63, 26, 92,142,178, 0, 0, 0, 0, 43, 4,114,179, 32, 59,141,178,
+ 1, 0,128, 63, 0, 0, 0, 0,135,255,127,177,130,214, 10, 40, 1, 0, 0,181, 0, 0,128, 63,214, 14, 29, 63, 22, 40, 74,191,
+113,210,157,187, 0, 0, 0, 0, 85, 76, 52,191,228,198, 12,191,137,223,229, 62, 0, 0, 0, 0,154,225,182,190,205, 74,139,190,
+157,190,100,191, 0, 0, 0, 0,213, 36,158,192,107,186,110,192,102, 43,169,193, 0, 0,128, 63,214, 14, 29, 63, 22, 40, 74,191,
+113,210,157,187, 0, 0, 0, 0, 85, 76, 52,191,228,198, 12,191,137,223,229, 62, 0, 0, 0, 0,154,225,182,190,205, 74,139,190,
+157,190,100,191, 0, 0, 0, 0,213, 36,158,192,107,186,110,192,102, 43,169,193, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,120,189, 51, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,184, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66,116,101,120,116,117,114,101, 0,114,101,118,105,101,119, 46, 48, 48, 53, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 87,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,197,211,188, 76,229, 59, 65,
-208,106,184, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247,215, 98,191, 71, 11, 72, 63,230,248, 6, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 14, 29, 63,149,225,182, 62, 84, 76, 52,191, 0, 0, 0, 0, 22, 40, 74,191,
-201, 74,139, 62,228,198, 12,191, 0, 0, 0, 0, 84,213,157,187,151,190,100, 63,145,223,229, 62, 0, 0, 0, 0,192,197,211,188,
- 76,229, 59, 65,208,106,184, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,194, 51, 3, 0, 0, 0, 0, 56,195, 51, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 61, 16,183,188,
+ 21,204,103,191, 48,234,228, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+153, 39,155, 64,153, 39,155, 64,153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0,192, 37,
+255,255,255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,147, 39, 25, 51, 43, 47, 63,179, 0, 0, 0, 0, 9,108,247, 50,
- 0, 0,128, 63, 26, 92,142,178, 0, 0, 0, 0, 43, 4,114,179, 32, 59,141,178, 1, 0,128, 63, 0, 0, 0, 0,135,255,127,177,
-130,214, 10, 40, 1, 0, 0,181, 0, 0,128, 63,213, 14, 29, 63, 23, 40, 74,191,254,211,157,187, 0, 0, 0, 0, 83, 76, 52,191,
-227,198, 12,191,148,223,229, 62, 0, 0, 0, 0,149,225,182,190,202, 74,139,190,152,190,100,191, 0, 0, 0, 0,208, 36,158,192,
-100,186,110,192, 99, 43,169,193, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0,
- 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
- 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,152, 39, 27, 38,102,187,232,166, 0, 0, 0, 0,
+102,187,232, 38,157,134,196, 52,153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,153, 39,155,192,157,134,196, 52, 0, 0, 0, 0,
+ 61, 16,183,188, 21,204,103,191, 48,234,228, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,236, 48,206,152, 9, 66, 41, 24, 0, 0, 0, 0,
+216, 55, 60,152, 0, 0,128, 63, 88,133,105,166, 0, 0, 0, 0,226,159, 91,151, 64,218, 93, 38, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,
+147,101,158,164, 25, 50, 83, 62,158, 59,174, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,175, 25, 50, 83, 62, 0, 0, 0, 0,
+236,251, 33, 59,135, 37, 40, 59,118, 71,238, 63, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,
+147,101,158,164, 25, 50, 83, 62,158, 59,174, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,175, 25, 50, 83, 62, 0, 0, 0, 0,
+236,251, 33, 59,135, 37, 40, 59,118, 71,238, 63, 0, 0,128, 63, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 4, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,152, 60,181, 3,115, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 57,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,116,101,120,116,117,114,101, 0,114,101,118,105,101,119, 46, 48, 48, 53, 0, 0, 0, 0,
- 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,170,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 64,181, 3, 96, 64,181, 3,
- 1, 0, 0, 0, 1, 0, 0, 0, 61, 16,183,188, 21,204,103,191, 48,234,228, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,153, 39,155, 64,153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,218, 15,201, 63, 0, 0,192, 37,255,255,255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,
-152, 39, 27, 38,102,187,232,166, 0, 0, 0, 0,102,187,232, 38,157,134,196, 52,153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,
-153, 39,155,192,157,134,196, 52, 0, 0, 0, 0, 61, 16,183,188, 21,204,103,191, 48,234,228, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
-236, 48,206,152, 9, 66, 41, 24, 0, 0, 0, 0,216, 55, 60,152, 0, 0,128, 63, 88,133,105,166, 0, 0, 0, 0,226,159, 91,151,
- 64,218, 93, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,
-147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62, 59,119,189, 38, 0, 0, 0, 0, 0, 24, 44,173,
- 0,179,115,175, 25, 50, 83, 62, 0, 0, 0, 0,236,251, 33, 59, 88, 37, 40, 59,118, 71,238, 63, 0, 0,128, 63, 32, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
-236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 4, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 40, 64,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 96, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,152, 64,181, 3, 42, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,101, 99,107,101,114,100, 97,114,107, 0, 0, 0, 97,116,101,114,105, 97, 0, 0,
- 11, 0, 0, 0, 22, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,124, 36, 57, 62,187, 31, 57, 62,187, 31, 57, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63,154,153, 89, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0,
- 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 64, 1, 3, 0, 64, 1, 1, 0, 4, 0,
- 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,
-205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 56, 67,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 67,181, 3,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 0, 0, 0, 56, 67,181, 3, 33, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,192, 63,
- 1, 0,192, 63, 1, 0,192, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,184,177,209, 56,
-184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,240, 67,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,
- 64, 68,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3,152, 64,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,
-101, 99,107,101,114,108,105,103,104,116, 0, 0, 0, 97,116,101,114,105, 0, 0, 11, 0, 0, 0, 23, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,158, 56, 23, 63,187, 52, 23, 63,187, 52, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,154,153, 89, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,
- 2, 0, 2, 0, 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 64, 1, 3, 0, 64, 1, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63,
- 16, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,224, 70,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 71,181, 3, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,
-205,204, 76, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,232,194, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,104,187,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,101, 99,107,101,
+114,100, 97,114,107, 0, 0, 0, 97,116,101,114,105, 97, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,128,192,224, 60,224,181,224, 60,224,181,224, 60, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+154,153, 89, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0,
+ 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 67, 0, 64, 1, 67, 0, 64, 1, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+248,198, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,200, 51, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
+248,198, 51, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,192, 63, 1, 0,192, 63,
+ 1, 0,192, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,
+184,177,209, 56,184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0, 88,200, 51, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,200,200, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,200,200, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 51, 1, 1, 1, 51, 2, 2, 2,153, 2, 2, 2,153,
+ 3, 3, 3,153, 2, 2, 2,102, 2, 2, 2,102, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 1, 51, 2, 2, 2,153, 3, 3, 3,204, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255,
+ 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 2, 2, 2,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 51,
+ 2, 2, 2,153, 4, 4, 4,255, 5, 5, 5,255, 5, 5, 5,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 5, 5, 5,255, 4, 4, 4,204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 4, 4, 4,204,
+ 5, 5, 5,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255,
+ 5, 5, 5,255, 2, 2, 2,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,153, 5, 5, 5,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 3, 3, 3,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 5, 5, 5,255, 6, 6, 6,255, 6, 6, 6,255,
+ 7, 7, 7,255, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 3, 3, 3,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 5, 5, 5,255, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 2, 2, 2,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4,204, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 6, 6, 6,255, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 5, 5, 5,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,255, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 2, 2, 2,102, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 2, 2,102, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 5, 5, 5,204, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 5, 5,204, 7, 7, 7,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 0, 0, 0, 0,
+ 2, 2, 2,102, 7, 7, 7,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 3, 3, 3,102,
+ 2, 2, 2,102, 7, 7, 7,255, 8, 8, 8,255, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 4, 4, 4,153,
+ 3, 3, 3,102, 8, 8, 8,255, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 5, 5, 5,204,
+ 4, 4, 4,153, 8, 8, 8,255, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 5, 5, 5,204,
+ 4, 4, 4,153, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 5, 5, 5,204,
+ 4, 4, 4,153, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 4, 4, 4,153,
+ 3, 3, 3,102, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 4, 4, 4,153,
+ 2, 2, 2, 51, 9, 9, 9,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 3, 3, 3,102,
+ 0, 0, 0, 0, 9, 9, 9,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 1, 1, 1, 51,
+ 0, 0, 0, 0, 5, 5, 5,153, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 4, 4, 4,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 2, 2, 51, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 4, 4, 4,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8,204, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 6, 6, 6,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 51, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4,102, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 4, 4, 4,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,153, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 5, 5, 5,153, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,153, 11, 11, 11,255, 11, 11, 11,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 6, 6, 6,204, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,153, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 5, 5, 5,153, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 7, 7, 7,204,
+ 3, 3, 3,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 6, 6,153, 8, 8, 8,204, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 7, 7, 7,204, 3, 3, 3,102, 1, 1, 1, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4,102, 6, 6, 6,153, 6, 6, 6,153, 8, 8, 8,204,
+ 8, 8, 8,204, 8, 8, 8,204, 5, 5, 5,153, 4, 4, 4,102, 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0,168, 1,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,101, 99,107,101,
+114,108,105,103,104,116, 0, 0, 0, 97,116,101,114,105, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 15,153,157, 62, 40,144,157, 62, 40,144,157, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+154,153, 89, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0,
+ 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 67, 0, 64, 1, 67, 0, 64, 1, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+136,220, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 0, 0, 0,224, 70,181, 3, 33, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 93,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,184,177,209, 56,184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-152, 71,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,232, 71,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,
-200, 78,181, 3, 64, 68,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,112,114,101,118,105,101,119, 0, 0, 97,116,101,114,105,
- 97,108, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 61,232, 54, 63,184,161, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,188,248, 68, 62,
- 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,198,121,130, 63, 0, 0,160, 63,
- 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63,
- 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 17, 3,
- 3, 0, 17, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,
-205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0, 64, 75,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,136, 74,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120, 78,181, 3, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,
-102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 0, 0, 0,136, 74,181, 3, 33, 0, 0, 0,
- 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 91,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 68, 65, 84, 65, 8, 3, 0, 0, 64, 75,181, 3, 36, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232,221, 51, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
+136,220, 51, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,
+184,177,209, 56,184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0,232,221, 51, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 88,222, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, 88,222, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 51, 6, 6, 6, 51, 18, 18, 18,153, 19, 19, 19,153,
+ 19, 19, 19,153, 13, 13, 13,102, 13, 13, 13,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 6, 6, 51, 18, 18, 18,153, 26, 26, 26,204, 34, 34, 34,255, 35, 35, 35,255, 37, 37, 37,255, 38, 38, 38,255,
+ 38, 38, 38,255, 38, 38, 38,255, 38, 38, 38,255, 37, 37, 37,255, 36, 36, 36,255, 15, 15, 15,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 51,
+ 18, 18, 18,153, 33, 33, 33,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, 43, 43, 43,255, 44, 44, 44,255, 44, 44, 44,255,
+ 45, 45, 45,255, 44, 44, 44,255, 43, 43, 43,255, 43, 43, 43,255, 42, 42, 42,255, 41, 41, 41,255, 40, 40, 40,255, 29, 29, 29,204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12,102, 28, 28, 28,204,
+ 38, 38, 38,255, 42, 42, 42,255, 45, 45, 45,255, 47, 47, 47,255, 48, 48, 48,255, 49, 49, 49,255, 50, 50, 50,255, 50, 50, 50,255,
+ 50, 50, 50,255, 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, 47, 47, 47,255, 46, 46, 46,255, 45, 45, 45,255, 44, 44, 44,255,
+ 41, 41, 41,255, 16, 16, 16,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18,153, 36, 36, 36,255, 42, 42, 42,255,
+ 45, 45, 45,255, 48, 48, 48,255, 51, 51, 51,255, 53, 53, 53,255, 54, 54, 54,255, 55, 55, 55,255, 55, 55, 55,255, 56, 56, 56,255,
+ 56, 56, 56,255, 55, 55, 55,255, 55, 55, 55,255, 54, 54, 54,255, 53, 53, 53,255, 52, 52, 52,255, 50, 50, 50,255, 48, 48, 48,255,
+ 46, 46, 46,255, 44, 44, 44,255, 24, 24, 24,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14,102, 38, 38, 38,255, 44, 44, 44,255, 48, 48, 48,255,
+ 52, 52, 52,255, 54, 54, 54,255, 56, 56, 56,255, 58, 58, 58,255, 59, 59, 59,255, 60, 60, 60,255, 60, 60, 60,255, 61, 61, 61,255,
+ 61, 61, 61,255, 60, 60, 60,255, 60, 60, 60,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255,
+ 51, 51, 51,255, 48, 48, 48,255, 46, 46, 46,255, 25, 25, 25,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 39, 39, 39,255, 46, 46, 46,255, 50, 50, 50,255, 54, 54, 54,255,
+ 57, 57, 57,255, 59, 59, 59,255, 61, 61, 61,255, 63, 63, 63,255, 64, 64, 64,255, 65, 65, 65,255, 65, 65, 65,255, 66, 66, 66,255,
+ 66, 66, 66,255, 65, 65, 65,255, 65, 65, 65,255, 64, 64, 64,255, 63, 63, 63,255, 62, 62, 62,255, 60, 60, 60,255, 58, 58, 58,255,
+ 56, 56, 56,255, 53, 53, 53,255, 50, 50, 50,255, 47, 47, 47,255, 17, 17, 17,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32,204, 46, 46, 46,255, 52, 52, 52,255, 56, 56, 56,255, 59, 59, 59,255,
+ 62, 62, 62,255, 64, 64, 64,255, 66, 66, 66,255, 67, 67, 67,255, 69, 69, 69,255, 70, 70, 70,255, 70, 70, 70,255, 70, 70, 70,255,
+ 70, 70, 70,255, 70, 70, 70,255, 69, 69, 69,255, 68, 68, 68,255, 68, 68, 68,255, 66, 66, 66,255, 65, 65, 65,255, 63, 63, 63,255,
+ 60, 60, 60,255, 58, 58, 58,255, 54, 54, 54,255, 51, 51, 51,255, 47, 47, 47,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16,102, 46, 46, 46,255, 52, 52, 52,255, 57, 57, 57,255, 61, 61, 61,255, 64, 63, 63,255,
+ 66, 66, 66,255, 69, 69, 69,255, 71, 70, 70,255, 72, 72, 72,255, 73, 73, 73,255, 74, 74, 74,255, 75, 75, 75,255, 75, 75, 75,255,
+ 75, 75, 75,255, 75, 74, 74,255, 73, 73, 73,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255,
+ 65, 65, 65,255, 62, 62, 62,255, 59, 59, 59,255, 55, 55, 55,255, 52, 52, 52,255, 38, 38, 38,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43,255, 52, 52, 52,255, 57, 57, 57,255, 61, 61, 61,255, 65, 65, 65,255, 68, 68, 68,255,
+ 71, 71, 71,255, 73, 73, 73,255, 75, 75, 75,255, 77, 77, 77,255, 78, 78, 78,255, 79, 78, 78,255, 79, 79, 79,255, 79, 79, 79,255,
+ 79, 79, 79,255, 79, 79, 79,255, 78, 78, 78,255, 77, 77, 77,255, 76, 76, 76,255, 75, 75, 75,255, 73, 73, 73,255, 71, 71, 71,255,
+ 70, 70, 70,255, 67, 67, 67,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 51, 51, 51,255, 18, 18, 18,102, 0, 0, 0, 0,
+ 0, 0, 0, 0, 17, 17, 17,102, 50, 50, 50,255, 56, 56, 56,255, 62, 61, 61,255, 66, 66, 66,255, 69, 69, 69,255, 73, 73, 73,255,
+ 75, 75, 75,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 82, 82, 82,255, 83, 83, 83,255, 84, 84, 84,255, 84, 84, 84,255,
+ 84, 84, 84,255, 83, 83, 83,255, 83, 83, 83,255, 82, 82, 82,255, 80, 80, 80,255, 79, 79, 79,255, 78, 78, 78,255, 77, 77, 77,255,
+ 74, 74, 74,255, 71, 71, 71,255, 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 40, 40, 40,204, 0, 0, 0, 0,
+ 0, 0, 0, 0, 37, 37, 37,204, 55, 55, 55,255, 61, 61, 61,255, 66, 66, 66,255, 70, 70, 70,255, 73, 73, 73,255, 77, 77, 77,255,
+ 79, 79, 79,255, 81, 81, 81,255, 84, 84, 84,255, 85, 85, 85,255, 87, 87, 87,255, 87, 87, 87,255, 88, 88, 88,255, 89, 89, 89,255,
+ 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255, 88, 88, 88,255, 84, 84, 84,255, 83, 83, 83,255, 83, 83, 83,255, 81, 81, 81,255,
+ 79, 79, 79,255, 76, 76, 76,255, 72, 72, 72,255, 68, 68, 68,255, 63, 63, 63,255, 57, 57, 57,255, 52, 52, 52,255, 0, 0, 0, 0,
+ 14, 14, 14,102, 50, 50, 50,255, 59, 59, 59,255, 65, 65, 65,255, 70, 70, 70,255, 74, 74, 74,255, 78, 78, 78,255, 81, 81, 81,255,
+ 84, 84, 84,255, 86, 86, 86,255, 88, 88, 88,255, 90, 90, 90,255, 91, 91, 91,255, 92, 92, 92,255, 92, 92, 92,255, 93, 93, 93,255,
+ 94, 94, 94,255, 93, 93, 93,255, 93, 93, 93,255, 95, 95, 95,255, 90, 90, 90,255, 90, 90, 90,255, 89, 89, 89,255, 86, 86, 86,255,
+ 83, 83, 83,255, 80, 80, 80,255, 77, 77, 77,255, 72, 72, 72,255, 67, 67, 67,255, 61, 61, 61,255, 55, 55, 55,255, 20, 20, 20,102,
+ 18, 18, 18,102, 54, 54, 54,255, 63, 63, 63,255, 69, 69, 69,255, 74, 74, 74,255, 78, 78, 78,255, 82, 82, 82,255, 85, 85, 85,255,
+ 87, 87, 87,255, 90, 90, 90,255, 92, 92, 92,255, 93, 93, 93,255, 95, 95, 95,255, 96, 96, 96,255, 97, 97, 97,255, 98, 98, 98,255,
+100,100,100,255, 99, 99, 99,255, 98, 98, 98,255, 96, 96, 96,255, 95, 95, 95,255, 93, 93, 93,255, 91, 91, 91,255, 89, 89, 89,255,
+ 87, 87, 87,255, 85, 85, 85,255, 81, 81, 81,255, 76, 76, 76,255, 70, 70, 70,255, 64, 64, 64,255, 58, 58, 58,255, 31, 31, 31,153,
+ 20, 20, 20,102, 59, 59, 59,255, 66, 66, 66,255, 73, 73, 73,255, 77, 77, 77,255, 82, 81, 81,255, 85, 85, 85,255, 88, 88, 88,255,
+ 91, 91, 91,255, 94, 94, 94,255, 96, 96, 96,255, 98, 98, 98,255,100,100,100,255,101,101,101,255,102,102,102,255,103,103,103,255,
+103,103,103,255,102,102,102,255,100,100,100,255, 99, 99, 99,255, 97, 97, 97,255, 95, 95, 95,255, 93, 93, 93,255, 91, 91, 91,255,
+ 89, 89, 89,255, 87, 87, 87,255, 84, 84, 84,255, 79, 79, 79,255, 74, 74, 74,255, 67, 67, 67,255, 61, 61, 61,255, 43, 43, 43,204,
+ 32, 32, 32,153, 62, 62, 62,255, 70, 70, 70,255, 76, 76, 76,255, 81, 81, 81,255, 85, 85, 85,255, 89, 89, 89,255, 92, 92, 92,255,
+ 95, 95, 95,255, 98, 97, 97,255,100,100,100,255,102,102,102,255,104,104,104,255,105,105,105,255,107,107,107,255,107,107,107,255,
+106,106,106,255,104,104,104,255,102,102,102,255,100,100,100,255, 99, 99, 99,255, 97, 97, 97,255, 95, 95, 95,255, 93, 93, 93,255,
+ 91, 91, 91,255, 88, 88, 88,255, 86, 86, 86,255, 83, 83, 83,255, 77, 77, 77,255, 70, 70, 70,255, 63, 63, 63,255, 44, 44, 44,204,
+ 32, 32, 32,153, 64, 64, 64,255, 72, 72, 72,255, 79, 79, 79,255, 84, 84, 84,255, 88, 88, 88,255, 92, 92, 92,255, 96, 95, 95,255,
+ 98, 98, 98,255,101,101,101,255,103,103,103,255,106,106,106,255,107,107,107,255,109,109,109,255,111,111,111,255,109,109,109,255,
+108,108,108,255,106,106,106,255,104,104,104,255,102,102,102,255,100,100,100,255, 98, 98, 98,255, 96, 96, 96,255, 94, 94, 94,255,
+ 92, 92, 92,255, 90, 90, 90,255, 87, 87, 87,255, 85, 85, 85,255, 79, 79, 79,255, 73, 73, 73,255, 65, 65, 65,255, 45, 45, 45,204,
+ 33, 33, 33,153, 67, 67, 67,255, 75, 75, 75,255, 81, 81, 81,255, 87, 87, 87,255, 91, 91, 91,255, 95, 95, 95,255, 98, 98, 98,255,
+102,102,102,255,104,104,104,255,107,107,107,255,109,109,109,255,111,111,111,255,113,113,113,255,113,113,113,255,111,111,111,255,
+109,109,109,255,108,108,108,255,106,106,106,255,104,104,104,255,102,102,102,255,100,100,100,255, 98, 98, 98,255, 96, 96, 96,255,
+ 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, 86, 86, 86,255, 81, 81, 81,255, 74, 74, 74,255, 67, 67, 67,255, 35, 35, 35,153,
+ 22, 22, 22,102, 68, 68, 68,255, 77, 77, 77,255, 84, 84, 84,255, 89, 89, 89,255, 94, 94, 94,255, 98, 98, 98,255,101,101,101,255,
+105,105,105,255,108,108,108,255,110,110,110,255,112,112,112,255,115,114,114,255,116,116,116,255,115,115,115,255,113,113,113,255,
+111,111,111,255,110,110,110,255,108,108,108,255,106,106,106,255,104,104,104,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255,
+ 95, 95, 95,255, 92, 92, 92,255, 90, 89, 89,255, 87, 87, 87,255, 83, 83, 83,255, 76, 76, 76,255, 68, 68, 68,255, 36, 36, 36,153,
+ 11, 11, 11, 51, 68, 68, 68,255, 78, 78, 78,255, 86, 86, 86,255, 91, 91, 91,255, 96, 96, 96,255,101,101,101,255,104,104,104,255,
+107,107,107,255,110,110,110,255,113,113,113,255,115,115,115,255,117,117,117,255,118,118,118,255,117,117,117,255,115,115,115,255,
+113,113,113,255,111,111,111,255,109,109,109,255,107,107,107,255,105,105,105,255,103,103,103,255,101,101,101,255, 98, 98, 98,255,
+ 96, 96, 96,255, 93, 93, 93,255, 90, 90, 90,255, 88, 87, 87,255, 84, 84, 84,255, 77, 77, 77,255, 68, 68, 68,255, 23, 23, 23,102,
+ 0, 0, 0, 0, 68, 68, 68,255, 79, 79, 79,255, 87, 87, 87,255, 93, 93, 93,255, 98, 98, 98,255,103,103,103,255,106,106,106,255,
+110,110,110,255,113,113,113,255,115,115,115,255,118,118,118,255,120,120,120,255,120,120,120,255,119,119,119,255,117,117,117,255,
+115,115,115,255,113,113,113,255,111,111,111,255,109,109,109,255,106,106,106,255,104,104,104,255,102,102,102,255, 99, 99, 99,255,
+ 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 77, 77, 77,255, 67, 67, 67,255, 11, 11, 11, 51,
+ 0, 0, 0, 0, 41, 41, 41,153, 79, 79, 79,255, 88, 88, 88,255, 94, 94, 94,255,100,100,100,255,104,104,104,255,108,108,108,255,
+112,112,112,255,115,115,115,255,118,118,118,255,120,120,120,255,122,122,122,255,122,122,122,255,120,120,120,255,119,119,119,255,
+117,117,117,255,115,115,115,255,112,112,112,255,110,110,110,255,108,108,108,255,105,105,105,255,103,103,103,255,100,100,100,255,
+ 98, 98, 98,255, 95, 95, 95,255, 92, 92, 92,255, 89, 89, 89,255, 85, 84, 84,255, 76, 76, 76,255, 41, 41, 41,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 14, 14, 51, 78, 78, 78,255, 88, 88, 88,255, 95, 95, 95,255,101,101,101,255,106,106,106,255,110,110,110,255,
+114,114,114,255,117,117,117,255,120,119,119,255,122,122,122,255,124,124,124,255,124,124,124,255,122,122,122,255,120,120,120,255,
+118,118,118,255,116,116,116,255,114,114,114,255,111,111,111,255,109,109,109,255,106,106,106,255,104,104,104,255,101,101,101,255,
+ 98, 98, 98,255, 95, 95, 95,255, 92, 92, 92,255, 89, 89, 89,255, 84, 84, 84,255, 75, 75, 75,255, 37, 37, 37,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 59,204, 87, 87, 87,255, 95, 95, 95,255,101,101,101,255,106,106,106,255,111,111,111,255,
+114,114,114,255,118,118,118,255,121,121,121,255,123,123,123,255,125,125,125,255,125,125,125,255,124,124,124,255,122,122,122,255,
+120,120,120,255,117,117,117,255,115,115,115,255,112,112,112,255,110,110,110,255,107,107,107,255,104,104,104,255,102,102,102,255,
+ 99, 98, 98,255, 95, 95, 95,255, 92, 92, 92,255, 89, 89, 89,255, 82, 82, 82,255, 57, 57, 57,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 51, 84, 84, 84,255, 93, 93, 93,255,101,101,101,255,106,106,106,255,111,111,111,255,
+115,115,115,255,118,118,118,255,121,121,121,255,124,124,124,255,126,126,126,255,126,126,126,255,125,125,125,255,123,123,123,255,
+121,121,121,255,118,118,118,255,116,116,116,255,113,113,113,255,111,111,111,255,108,108,108,255,105,105,105,255,102,102,102,255,
+ 99, 99, 99,255, 95, 95, 95,255, 92, 92, 92,255, 88, 88, 88,255, 78, 78, 78,255, 15, 15, 15, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32,102, 91, 91, 91,255, 99, 99, 99,255,106,106,106,255,111,111,111,255,
+115,115,115,255,119,119,119,255,122,122,122,255,124,124,124,255,126,126,126,255,127,127,127,255,126,126,126,255,124,124,124,255,
+121,121,121,255,119,119,119,255,117,116,116,255,114,114,114,255,111,111,111,255,108,108,108,255,105,105,105,255,102,102,102,255,
+ 98, 98, 98,255, 95, 95, 95,255, 91, 91, 91,255, 84, 84, 84,255, 45, 45, 45,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 51, 51,153, 95, 95, 95,255,103,103,103,255,109,109,109,255,
+114,114,114,255,118,118,118,255,121,121,121,255,124,124,124,255,126,126,126,255,128,128,128,255,126,126,126,255,124,124,124,255,
+122,122,122,255,119,119,119,255,117,117,117,255,114,114,114,255,111,111,111,255,108,108,108,255,104,104,104,255,101,101,101,255,
+ 98, 98, 98,255, 94, 94, 94,255, 88, 88, 88,255, 49, 49, 49,153, 12, 12, 12, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,153, 98, 98, 98,255,106,106,106,255,
+112,112,112,255,116,116,116,255,119,119,119,255,122,122,122,255,125,125,125,255,127,127,127,255,126,126,126,255,124,124,124,255,
+122,122,122,255,119,119,119,255,116,116,116,255,113,113,113,255,110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255,
+ 96, 96, 96,255, 91, 91, 91,255, 66, 66, 66,204, 15, 15, 15, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,153,100,100,100,255,
+107,107,107,255,113,113,113,255,117,117,117,255,120,120,120,255,122,122,122,255,124,124,124,255,125,125,125,255,123,123,123,255,
+121,121,121,255,118,118,118,255,116,115,115,255,112,112,112,255,109,109,109,255,105,105,105,255,102,102,102,255, 97, 97, 97,255,
+ 92, 92, 92,255, 51, 51, 51,153, 15, 15, 15, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 97, 97, 97,255,106,106,106,255,112,112,112,255,115,115,115,255,118,118,118,255,121,121,121,255,122,122,122,255,121,121,121,255,
+119,119,119,255,117,117,117,255,114,114,114,255,111,111,111,255,107,107,107,255,103,103,103,255, 98, 98, 98,255, 74, 74, 74,204,
+ 35, 35, 35,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 56, 56,153, 80, 80, 80,204,106,106,106,255,111,111,111,255,114,114,114,255,116,116,116,255,117,117,117,255,
+116,116,116,255,113,113,113,255,110,110,110,255,106,106,106,255,102,102,102,255, 78, 78, 78,204, 38, 38, 38,102, 15, 15, 15, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39,102, 62, 62, 62,153, 64, 64, 64,153, 86, 86, 86,204,
+ 86, 86, 86,204, 84, 84, 84,204, 61, 61, 61,153, 40, 40, 40,102, 19, 19, 19, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0,136, 7, 52, 3, 0, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0,168, 1,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,112,114,101,118,105,101,
+119, 0, 0, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 30, 18,240, 62,246,137,158, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,188,248, 68, 62, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+198,121,130, 63, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0,
+ 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 67, 0, 16, 3, 67, 0, 16, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0,
+120,243, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 24,242, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200,246, 51, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
+ 24,242, 51, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 8, 3, 0, 0,120,243, 51, 3, 0, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0,
0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0,
-164,112,125, 63, 0, 0,128, 63,106,214, 24, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 3, 55,122, 63, 0, 0,128, 63, 96, 82,161, 62, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
@@ -5678,36 +5645,229 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 78,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,
-112, 2, 0, 0,200, 78,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,168, 85,181, 3,232, 71,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 65,116,101,120,116,117,114,101, 0,114,101,118,105,101,119, 46, 48, 48, 49, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,246, 51, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 56,247, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, 56,247, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 51, 2, 1, 1, 51, 6, 3, 4,153, 6, 2, 4,153,
+ 5, 1, 4,153, 3, 1, 3,102, 3, 0, 3,102, 2, 0, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 3, 1, 51, 8, 7, 3,153, 11, 9, 5,204, 13, 9, 6,255, 12, 8, 7,255, 11, 6, 7,255, 11, 5, 7,255,
+ 10, 4, 7,255, 9, 3, 6,255, 9, 2, 7,255, 10, 2, 7,255, 10, 2, 8,255, 4, 1, 3,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 51,
+ 11, 10, 4,153, 20, 16, 8,255, 23, 15, 12,255, 25, 13, 15,255, 25, 11, 18,255, 24, 9, 18,255, 22, 7, 17,255, 20, 7, 15,255,
+ 17, 6, 12,255, 14, 5, 9,255, 11, 4, 6,255, 10, 4, 5,255, 10, 4, 5,255, 11, 4, 5,255, 12, 4, 5,255, 9, 3, 5,204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 3,102, 23, 17, 8,204,
+ 33, 22, 14,255, 37, 20, 21,255, 38, 16, 26,255, 39, 13, 30,255, 38, 11, 31,255, 36, 9, 30,255, 34, 9, 27,255, 31, 9, 22,255,
+ 28, 9, 17,255, 24, 9, 13,255, 21, 9, 10,255, 17, 8, 7,255, 14, 6, 5,255, 11, 5, 3,255, 11, 5, 4,255, 12, 6, 4,255,
+ 13, 6, 4,255, 5, 2, 2,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 13, 5,153, 36, 26, 12,255, 45, 28, 19,255,
+ 48, 25, 26,255, 51, 20, 33,255, 51, 16, 39,255, 51, 12, 42,255, 48, 10, 42,255, 46, 10, 39,255, 44, 10, 34,255, 41, 12, 28,255,
+ 38, 13, 22,255, 34, 14, 16,255, 31, 14, 12,255, 27, 13, 9,255, 23, 11, 7,255, 19, 9, 6,255, 14, 7, 5,255, 12, 5, 4,255,
+ 13, 6, 4,255, 13, 6, 4,255, 7, 3, 3,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 11, 5,102, 45, 31, 15,255, 54, 34, 20,255, 59, 31, 28,255,
+ 61, 26, 36,255, 61, 20, 44,255, 61, 15, 50,255, 60, 11, 52,255, 58, 10, 52,255, 56, 10, 48,255, 53, 12, 41,255, 51, 15, 33,255,
+ 48, 17, 25,255, 44, 19, 18,255, 40, 19, 14,255, 37, 18, 11,255, 32, 15, 10,255, 28, 12, 10,255, 24, 9, 10,255, 19, 7, 9,255,
+ 14, 5, 7,255, 13, 5, 6,255, 13, 5, 5,255, 7, 4, 2,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 9, 7,102, 50, 33, 17,255, 61, 39, 20,255, 67, 37, 26,255, 70, 32, 36,255,
+ 71, 26, 46,255, 72, 19, 54,255, 71, 14, 60,255, 69, 10, 62,255, 68, 9, 61,255, 66, 10, 56,255, 63, 13, 48,255, 60, 17, 39,255,
+ 56, 21, 28,255, 53, 23, 21,255, 49, 23, 16,255, 46, 22, 15,255, 42, 18, 16,255, 37, 14, 17,255, 33, 10, 18,255, 28, 7, 17,255,
+ 22, 5, 14,255, 15, 3, 10,255, 13, 3, 8,255, 12, 5, 6,255, 5, 3, 2,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 26, 18,204, 66, 41, 21,255, 73, 43, 25,255, 78, 40, 33,255, 80, 34, 43,255,
+ 80, 26, 53,255, 80, 19, 62,255, 80, 13, 69,255, 78, 10, 71,255, 76, 8, 71,255, 74, 10, 65,255, 71, 13, 57,255, 68, 18, 45,255,
+ 65, 24, 32,255, 61, 27, 23,255, 57, 27, 18,255, 53, 25, 18,255, 49, 19, 22,255, 45, 14, 25,255, 41, 9, 27,255, 36, 5, 28,255,
+ 30, 4, 25,255, 23, 2, 20,255, 16, 2, 13,255, 12, 2, 9,255, 12, 5, 6,255, 3, 3, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 23, 11, 12,102, 68, 38, 26,255, 78, 46, 25,255, 83, 46, 28,255, 84, 42, 36,255, 84, 35, 45,255,
+ 84, 27, 55,255, 84, 20, 64,255, 83, 14, 71,255, 82, 9, 75,255, 81, 7, 75,255, 79, 8, 72,255, 78, 12, 63,255, 76, 19, 51,255,
+ 73, 25, 39,255, 69, 30, 26,255, 65, 31, 20,255, 61, 27, 22,255, 57, 19, 29,255, 53, 11, 36,255, 48, 6, 39,255, 43, 3, 39,255,
+ 37, 1, 36,255, 31, 1, 30,255, 24, 1, 23,255, 15, 1, 14,255, 12, 2, 9,255, 10, 5, 5,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 29, 35,255, 81, 44, 29,255, 85, 49, 27,255, 86, 48, 29,255, 87, 43, 36,255, 87, 37, 45,255,
+ 87, 29, 55,255, 86, 22, 64,255, 86, 15, 72,255, 85, 11, 77,255, 83, 8, 78,255, 82, 7, 76,255, 81, 10, 70,255, 79, 15, 59,255,
+ 77, 22, 47,255, 76, 31, 31,255, 72, 34, 23,255, 68, 30, 24,255, 64, 21, 33,255, 60, 8, 48,255, 55, 2, 52,255, 50, 1, 49,255,
+ 44, 0, 44,255, 38, 0, 38,255, 31, 0, 30,255, 22, 0, 22,255, 12, 1, 12,255, 12, 4, 9,255, 6, 5, 2,102, 0, 0, 0, 0,
+ 0, 0, 0, 0, 27, 8, 19,102, 79, 34, 41,255, 86, 46, 31,255, 88, 50, 28,255, 89, 50, 30,255, 90, 46, 36,255, 90, 41, 44,255,
+ 90, 34, 53,255, 89, 27, 62,255, 89, 20, 69,255, 87, 14, 76,255, 86, 10, 79,255, 85, 8, 80,255, 83, 8, 75,255, 82, 12, 67,255,
+ 80, 20, 54,255, 78, 31, 35,255, 77, 36, 24,255, 75, 33, 27,255, 71, 20, 42,255, 66, 5, 60,255, 61, 0, 61,255, 56, 1, 55,255,
+ 51, 3, 47,255, 44, 2, 41,255, 37, 1, 35,255, 29, 1, 28,255, 18, 0, 18,255, 12, 2, 10,255, 11, 6, 6,204, 0, 0, 0, 0,
+ 0, 0, 0, 0, 58, 15, 43,204, 85, 36, 43,255, 89, 47, 33,255, 91, 52, 29,255, 93, 53, 30,255, 93, 51, 34,255, 94, 47, 41,255,
+ 93, 41, 49,255, 93, 34, 58,255, 92, 26, 66,255, 91, 20, 73,255, 89, 14, 79,255, 88, 10, 81,255, 86, 9, 79,255, 85, 10, 74,255,
+ 83, 16, 62,255, 81, 26, 45,255, 79, 34, 31,255, 78, 24, 43,255, 76, 11, 61,255, 73, 2, 71,255, 68, 3, 63,255, 63, 8, 51,255,
+ 56, 9, 43,255, 50, 9, 37,255, 43, 6, 33,255, 35, 4, 30,255, 25, 1, 23,255, 13, 1, 13,255, 13, 6, 9,255, 0, 0, 0, 0,
+ 17, 2, 15,102, 79, 18, 60,255, 88, 37, 46,255, 92, 49, 35,255, 95, 56, 31,255, 96, 58, 30,255, 97, 57, 33,255, 98, 54, 39,255,
+ 98, 49, 46,255, 97, 42, 54,255, 96, 35, 61,255, 95, 28, 68,255, 93, 22, 74,255, 91, 16, 79,255, 89, 12, 82,255, 88, 10, 81,255,
+ 86, 9, 78,255, 84, 14, 67,255, 82, 18, 58,255, 80, 2, 78,255, 78, 1, 77,255, 77, 9, 64,255, 74, 19, 46,255, 68, 21, 37,255,
+ 62, 19, 34,255, 55, 18, 29,255, 48, 14, 27,255, 40, 9, 28,255, 30, 4, 25,255, 19, 2, 17,255, 12, 4, 10,255, 7, 5, 3,102,
+ 28, 3, 26,102, 84, 19, 65,255, 92, 39, 50,255, 96, 52, 39,255, 99, 60, 33,255,101, 64, 32,255,102, 65, 33,255,103, 63, 37,255,
+102, 58, 42,255,102, 53, 47,255,100, 47, 54,255, 99, 40, 61,255, 97, 33, 66,255, 95, 26, 72,255, 93, 19, 78,255, 91, 14, 81,255,
+ 89, 11, 82,255, 87, 8, 81,255, 84, 8, 76,255, 82, 20, 55,255, 81, 35, 31,255, 79, 31, 35,255, 77, 34, 27,255, 74, 34, 24,255,
+ 67, 31, 22,255, 61, 27, 21,255, 53, 21, 22,255, 46, 15, 24,255, 35, 8, 23,255, 24, 3, 19,255, 13, 3, 11,255, 10, 6, 5,153,
+ 31, 3, 29,102, 88, 22, 68,255, 96, 42, 54,255,101, 56, 44,255,104, 65, 37,255,107, 70, 34,255,108, 73, 34,255,108, 72, 36,255,
+108, 70, 39,255,107, 66, 43,255,106, 60, 48,255,105, 54, 54,255,102, 47, 59,255,100, 39, 64,255, 98, 32, 69,255, 95, 25, 73,255,
+ 92, 20, 76,255, 90, 17, 74,255, 87, 28, 53,255, 85, 41, 30,255, 83, 34, 35,255, 81, 31, 37,255, 79, 35, 28,255, 77, 31, 31,255,
+ 73, 30, 28,255, 66, 30, 21,255, 58, 26, 19,255, 50, 21, 20,255, 40, 13, 21,255, 29, 6, 20,255, 17, 3, 14,255, 12, 7, 7,204,
+ 48, 5, 44,153, 92, 24, 72,255,100, 44, 60,255,106, 60, 50,255,111, 72, 42,255,113, 78, 38,255,115, 82, 37,255,115, 82, 37,255,
+115, 81, 38,255,115, 78, 41,255,114, 74, 45,255,112, 69, 49,255,110, 63, 53,255,107, 55, 56,255,103, 50, 57,255,100, 42, 59,255,
+ 96, 36, 61,255, 93, 33, 59,255, 90, 40, 42,255, 87, 46, 27,255, 85, 33, 42,255, 83, 18, 59,255, 81, 8, 71,255, 78, 12, 61,255,
+ 76, 21, 45,255, 70, 29, 27,255, 63, 29, 20,255, 55, 25, 17,255, 45, 18, 19,255, 33, 9, 20,255, 21, 4, 16,255, 11, 6, 7,204,
+ 47, 6, 42,153, 95, 26, 76,255,105, 48, 65,255,112, 66, 56,255,118, 79, 48,255,121, 87, 43,255,122, 91, 41,255,123, 93, 40,255,
+124, 94, 40,255,124, 93, 42,255,124, 91, 45,255,124, 88, 48,255,122, 83, 51,255,118, 76, 52,255,112, 69, 49,255,106, 62, 46,255,
+102, 54, 46,255, 98, 51, 41,255, 94, 52, 31,255, 90, 48, 30,255, 87, 31, 49,255, 85, 17, 65,255, 82, 6, 75,255, 80, 4, 75,255,
+ 77, 14, 57,255, 74, 24, 39,255, 67, 28, 25,255, 59, 27, 18,255, 49, 21, 17,255, 37, 13, 18,255, 25, 5, 18,255, 11, 5, 8,204,
+ 47, 8, 40,153, 99, 31, 78,255,111, 53, 70,255,119, 72, 62,255,125, 86, 55,255,129, 96, 50,255,131,102, 46,255,133,105, 45,255,
+134,107, 45,255,137,110, 49,255,142,113, 55,255,143,113, 59,255,142,110, 60,255,136,101, 58,255,126, 91, 51,255,117, 80, 44,255,
+108, 70, 38,255,102, 64, 33,255, 98, 56, 34,255, 93, 44, 43,255, 90, 29, 57,255, 87, 16, 70,255, 84, 6, 79,255, 81, 4, 77,255,
+ 79, 11, 64,255, 76, 19, 49,255, 71, 26, 32,255, 62, 28, 20,255, 52, 24, 17,255, 40, 15, 18,255, 27, 7, 19,255, 9, 3, 7,153,
+ 31, 8, 24,102,102, 34, 79,255,116, 58, 75,255,126, 80, 67,255,133, 95, 61,255,138,106, 57,255,141,113, 53,255,144,117, 52,255,
+148,123, 55,255,155,130, 62,255,166,140, 73,255,174,147, 83,255,173,144, 85,255,163,133, 79,255,147,115, 66,255,131, 97, 53,255,
+118, 83, 43,255,108, 70, 39,255,102, 56, 44,255, 96, 42, 54,255, 92, 28, 65,255, 89, 16, 75,255, 86, 8, 80,255, 83, 5, 78,255,
+ 80, 8, 69,255, 77, 17, 53,255, 74, 25, 37,255, 65, 28, 23,255, 55, 26, 17,255, 43, 17, 18,255, 29, 8, 19,255, 10, 3, 7,153,
+ 16, 5, 11, 51,103, 39, 76,255,121, 65, 77,255,133, 88, 72,255,142,105, 67,255,148,117, 63,255,152,125, 60,255,156,131, 61,255,
+164,140, 67,255,178,155, 80,255,198,174,101,255,213,188,119,255,215,189,124,255,201,173,113,255,175,144, 91,255,149,116, 70,255,
+129, 93, 55,255,115, 74, 49,255,106, 58, 52,255,100, 42, 62,255, 95, 27, 72,255, 91, 17, 79,255, 87, 11, 79,255, 84, 7, 79,255,
+ 81, 8, 72,255, 78, 15, 57,255, 75, 23, 41,255, 68, 28, 26,255, 57, 27, 18,255, 45, 18, 18,255, 30, 7, 20,255, 6, 2, 5,102,
+ 0, 0, 0, 0,101, 43, 67,255,126, 72, 77,255,140, 97, 75,255,151,116, 71,255,158,129, 68,255,162,138, 66,255,168,145, 68,255,
+179,157, 78,255,199,178, 98,255,227,205,127,255,251,228,154,255,255,232,163,255,238,210,149,255,203,172,119,255,167,132, 89,255,
+140,101, 69,255,122, 77, 62,255,111, 58, 63,255,103, 43, 69,255, 97, 29, 76,255, 93, 20, 79,255, 89, 15, 77,255, 85, 9, 78,255,
+ 82, 9, 72,255, 79, 14, 59,255, 75, 22, 43,255, 69, 29, 26,255, 59, 27, 18,255, 46, 18, 19,255, 29, 7, 20,255, 3, 1, 2, 51,
+ 0, 0, 0, 0, 61, 30, 36,153,126, 76, 75,255,146,105, 76,255,158,127, 74,255,167,142, 71,255,173,151, 71,255,179,159, 74,255,
+191,172, 85,255,214,195,107,255,245,225,141,255,255,251,172,255,255,255,183,255,255,233,171,255,222,190,138,255,180,143,104,255,
+148,106, 81,255,127, 79, 73,255,115, 60, 72,255,107, 45, 75,255,100, 33, 78,255, 95, 24, 78,255, 90, 18, 77,255, 86, 12, 77,255,
+ 82, 12, 69,255, 79, 16, 57,255, 76, 24, 41,255, 71, 30, 27,255, 60, 28, 19,255, 46, 17, 20,255, 18, 4, 13,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 11, 9, 51,124, 78, 67,255,148,110, 74,255,164,136, 74,255,175,154, 73,255,182,164, 73,255,187,172, 75,255,
+199,183, 86,255,219,202,107,255,245,228,137,255,255,249,164,255,255,254,176,255,255,233,167,255,222,191,138,255,183,146,107,255,
+152,109, 86,255,131, 82, 77,255,119, 64, 76,255,110, 49, 77,255,103, 38, 78,255, 97, 30, 75,255, 92, 25, 71,255, 87, 15, 75,255,
+ 83, 15, 66,255, 79, 19, 53,255, 76, 26, 37,255, 71, 31, 25,255, 60, 28, 19,255, 43, 14, 22,255, 11, 2, 8,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 89, 58, 40,204,147,112, 70,255,168,143, 73,255,181,164, 73,255,189,176, 73,255,194,183, 74,255,
+202,190, 81,255,215,203, 96,255,233,219,118,255,249,233,139,255,252,232,147,255,237,213,141,255,209,179,121,255,178,143,101,255,
+152,111, 86,255,134, 87, 79,255,122, 69, 77,255,113, 55, 77,255,105, 44, 74,255, 98, 37, 69,255, 93, 33, 62,255, 87, 30, 54,255,
+ 83, 21, 59,255, 79, 23, 49,255, 76, 30, 33,255, 71, 33, 23,255, 58, 25, 21,255, 30, 8, 18,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 18, 12, 6, 51,136,104, 58,255,165,142, 69,255,184,169, 72,255,194,184, 72,255,199,192, 73,255,
+204,197, 76,255,210,202, 83,255,218,208, 96,255,225,213,109,255,224,207,114,255,212,190,111,255,192,166,101,255,170,138, 89,255,
+151,112, 81,255,136, 92, 77,255,125, 75, 76,255,116, 61, 74,255,107, 51, 70,255,100, 44, 63,255, 93, 39, 55,255, 87, 36, 46,255,
+ 83, 31, 44,255, 79, 27, 42,255, 75, 32, 29,255, 68, 32, 22,255, 51, 18, 25,255, 8, 2, 5, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 36, 17,102,155,132, 61,255,180,167, 68,255,194,187, 70,255,202,198, 70,255,
+206,203, 72,255,207,205, 75,255,209,204, 80,255,209,201, 86,255,204,192, 89,255,194,177, 88,255,180,157, 84,255,165,136, 79,255,
+150,115, 76,255,138, 97, 74,255,127, 81, 72,255,117, 68, 68,255,108, 58, 63,255,100, 50, 55,255, 93, 46, 46,255, 87, 43, 36,255,
+ 82, 31, 43,255, 78, 32, 34,255, 74, 34, 24,255, 63, 26, 24,255, 28, 8, 17,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 64, 27,153,164,148, 60,255,187,179, 66,255,199,197, 68,255,
+205,205, 69,255,206,207, 70,255,205,204, 71,255,202,197, 73,255,195,186, 75,255,186,172, 75,255,175,155, 74,255,162,137, 72,255,
+150,119, 70,255,139,102, 69,255,128, 87, 66,255,118, 75, 60,255,108, 64, 54,255, 99, 56, 45,255, 92, 51, 37,255, 86, 41, 37,255,
+ 81, 33, 38,255, 76, 35, 27,255, 70, 31, 24,255, 34, 12, 17,153, 3, 0, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 70, 27,153,167,155, 58,255,188,183, 64,255,
+200,199, 67,255,203,204, 68,255,202,202, 68,255,199,196, 69,255,192,186, 69,255,183,172, 69,255,173,156, 68,255,162,140, 67,255,
+150,123, 65,255,138,107, 62,255,127, 92, 58,255,116, 79, 52,255,106, 68, 45,255, 97, 60, 37,255, 90, 53, 30,255, 84, 40, 35,255,
+ 79, 37, 28,255, 73, 33, 25,255, 47, 16, 23,204, 9, 1, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 68, 25,153,161,150, 54,255,
+182,177, 62,255,191,189, 64,255,194,193, 65,255,192,189, 65,255,186,181, 65,255,179,169, 64,255,169,155, 63,255,158,139, 61,255,
+147,123, 59,255,136,108, 55,255,124, 93, 49,255,113, 81, 43,255,103, 70, 37,255, 94, 59, 30,255, 86, 48, 29,255, 80, 40, 28,255,
+ 73, 33, 26,255, 39, 14, 19,153, 9, 1, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+139,121, 46,255,163,154, 54,255,174,168, 58,255,176,170, 59,255,174,166, 59,255,168,158, 59,255,160,146, 56,255,150,132, 53,255,
+139,118, 50,255,128,104, 45,255,117, 90, 40,255,107, 77, 35,255, 97, 64, 31,255, 88, 51, 29,255, 80, 42, 26,255, 59, 27, 22,204,
+ 26, 9, 13,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 70, 55, 25,153,106, 89, 37,204,142,127, 46,255,148,134, 48,255,147,132, 48,255,141,124, 46,255,134,115, 44,255,
+125,103, 41,255,115, 89, 37,255,106, 76, 34,255, 96, 60, 35,255, 86, 42, 39,255, 64, 25, 33,204, 30, 14, 11,102, 7, 0, 7, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 30, 18,102, 69, 52, 25,153, 70, 54, 24,153, 88, 63, 33,204,
+ 82, 54, 33,204, 76, 42, 35,204, 52, 23, 29,153, 34, 14, 19,102, 16, 4, 11, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0,136, 7, 52, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0,
+168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,116,101,120,116,117,114,
+101, 0,114,101,118,105,101,119, 46, 48, 48, 49, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,
-205,204,204, 61, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 1, 3, 67, 0, 1, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0,
+ 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 71, 0, 1, 3, 67, 0, 1, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 1, 8,129, 0,
+ 88, 12, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+248, 10, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168, 15, 52, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
+248, 10, 52, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 8, 3, 0, 0, 88, 12, 52, 3, 0, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0,
+ 3, 55,122, 63, 0, 0,128, 63, 96, 82,161, 62, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 15, 52, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0, 32, 3, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136, 7, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65,116,101,120,116,117,114,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 0, 3, 67, 0, 0, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61,
- 0, 0,128, 63, 1, 8,129, 0, 32, 82,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
-104, 81,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0,136, 19, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 85,181, 3, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,
-205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,136, 0, 0, 0,104, 81,181, 3, 33, 0, 0, 0, 1, 0, 0, 0, 1, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-208, 91,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 68, 65, 84, 65,
- 8, 3, 0, 0, 32, 82,181, 3, 36, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0,164,112,125, 63, 0, 0,128, 63,106,214, 24, 63, 0, 0,128, 63,
- 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 22, 52, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,
+111,148, 26, 63,111,148, 26, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 8, 3, 0, 0,136, 19, 52, 3, 0, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0, 3, 55,122, 63, 0, 0,128, 63,
+ 96, 82,161, 62, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
@@ -5717,7 +5877,6 @@ char datatoc_preview_blend[]= {
0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5729,44 +5888,654 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 88, 85,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,168, 85,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,200, 78,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,116,101,120,116,117,114,101, 46, 48, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63,
- 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63,
- 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 3,
- 3, 0, 1, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,
-205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 72, 88,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,216, 22, 52, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 69, 0, 0,112, 1, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69,112,114,101,118,105,101,
+119, 0,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64,
+ 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 91,181, 3, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,
-102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 25, 52, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 0, 0,112, 1, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 69,102, 97,107,101,115,104, 97,100,111,119, 0, 0, 76,101,110,100, 0,101,120, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 64,
+ 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 40, 0, 5, 0, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 27, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 27, 52, 3, 0, 0, 0, 0,
+ 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+168, 27, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,168, 27, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,155,155,155,255,155,154,154,255,155,155,155,255,157,157,157,255,158,158,158,255,158,158,158,255,
+159,159,159,255,159,159,159,255, 43, 43, 43,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 15, 15, 15,255,
+ 15, 15, 15,255, 15, 15, 15,255,147,147,147,255,147,147,147,255,147,147,147,255,148,148,148,255,150,150,150,255,153,153,153,255,
+157,157,157,255,159,159,159,255, 43, 43, 43,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,159,159,159,255, 14, 14, 14,255, 15, 15, 15,255, 15, 15, 15,255, 16, 16, 16,255, 17, 17, 17,255, 18, 18, 18,255,
+ 18, 18, 18,255, 19, 19, 19,255,141,141,141,255,141,141,141,255,141,141,141,255,142,142,142,255,143,143,143,255,146,146,146,255,
+149,149,149,255,153,153,153,255, 43, 43, 43,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+157,157,157,255,152,152,152,255, 15, 15, 15,255, 17, 17, 17,255, 18, 18, 18,255, 20, 20, 20,255, 21, 21, 21,255, 22, 22, 22,255,
+ 23, 23, 23,255, 24, 24, 24,255,137,137,137,255,137,137,137,255,137,137,137,255,137,137,137,255,138,138,138,255,140,140,140,255,
+143,143,143,255,147,147,147,255, 42, 42, 42,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,156,156,156,255,
+150,150,150,255,146,146,146,255, 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 25, 25, 25,255, 27, 27, 27,255, 29, 29, 29,255,
+ 30, 30, 30,255, 31, 31, 31,255,135,135,135,255,135,135,135,255,135,134,134,255,135,135,135,255,135,135,135,255,137,137,137,255,
+139,139,139,255,141,141,141,255, 42, 42, 42,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,156,156,156,255,150,150,150,255,
+145,145,145,255,142,142,142,255, 22, 22, 22,255, 25, 25, 25,255, 28, 28, 28,255, 32, 32, 32,255, 35, 35, 35,255, 37, 37, 37,255,
+ 39, 39, 39,255, 40, 40, 40,255,135,135,135,255,135,135,135,255,134,134,134,255,134,134,134,255,134,134,134,255,134,134,134,255,
+136,136,136,255,138,138,138,255, 43, 43, 43,255, 16, 16, 16,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,157,157,157,255,150,150,150,255,145,145,145,255,
+141,141,141,255,138,138,138,255, 27, 27, 27,255, 31, 31, 31,255, 36, 36, 36,255, 40, 40, 40,255, 44, 44, 44,255, 47, 47, 47,255,
+ 50, 50, 50,255, 51, 51, 51,255,137,137,137,255,136,136,136,255,136,135,135,255,135,135,135,255,134,134,134,255,134,134,134,255,
+134,134,134,255,135,135,135,255, 45, 45, 45,255, 19, 19, 19,255, 16, 16, 16,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,159,159,159,255,152,152,152,255,146,146,146,255,142,142,142,255,
+138,138,138,255,137,136,136,255, 32, 32, 32,255, 38, 38, 38,255, 44, 44, 44,255, 50, 50, 50,255, 55, 55, 55,255, 59, 59, 59,255,
+ 62, 62, 62,255, 64, 64, 64,255,141,141,141,255,140,140,140,255,139,139,139,255,137,137,137,255,136,136,136,255,135,135,135,255,
+134,134,134,255,134,134,134,255, 49, 49, 49,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 22, 22, 22,255,
+ 27, 27, 27,255, 33, 33, 33,255,136,136,136,255,137,137,137,255,138,138,138,255,141,141,141,255,143,143,143,255,145,145,145,255,
+147,147,147,255,147,147,147,255, 79, 79, 79,255, 77, 77, 77,255, 73, 73, 73,255, 67, 67, 67,255, 61, 61, 61,255, 53, 53, 53,255,
+ 46, 46, 46,255, 39, 39, 39,255,114,114,114,255,137,137,137,255,139,139,139,255,143,143,143,255,148,148,148,255,155,155,155,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 17, 17, 17,255, 20, 20, 20,255, 25, 25, 25,255,
+ 31, 31, 31,255, 38, 38, 38,255,137,137,137,255,139,139,139,255,142,142,142,255,145,145,145,255,148,148,148,255,152,152,152,255,
+154,154,154,255,155,155,155,255, 96, 96, 96,255, 93, 93, 93,255, 88, 88, 88,255, 81, 81, 81,255, 73, 73, 73,255, 64, 64, 64,255,
+ 55, 55, 55,255, 46, 46, 46,255,116,116,116,255,136,136,136,255,137,137,137,255,140,140,140,255,145,145,145,255,151,151,151,255,
+159,159,159,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 23, 23, 23,255, 28, 28, 28,255,
+ 36, 36, 36,255, 44, 44, 44,255,138,138,138,255,142,142,142,255,146,146,146,255,151,151,151,255,155,155,155,255,160,160,160,255,
+163,163,163,255,165,165,165,255,114,114,114,255,111,111,111,255,104,104,104,255, 95, 95, 95,255, 85, 85, 85,255, 75, 75, 75,255,
+ 64, 64, 64,255, 53, 53, 53,255,117,117,117,255,136,135,135,255,136,136,136,255,139,139,139,255,142,142,142,255,148,148,148,255,
+156,156,156,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 16, 16, 16,255, 20, 20, 20,255, 25, 25, 25,255, 32, 32, 32,255,
+ 40, 40, 40,255, 50, 50, 50,255,141,141,141,255,145,145,145,255,151,151,151,255,157,157,157,255,163,163,163,255,169,169,169,255,
+174,174,174,255,177,177,177,255,135,135,135,255,130,130,130,255,122,122,122,255,111,111,111,255, 98, 98, 98,255, 85, 85, 85,255,
+ 73, 73, 73,255, 61, 61, 61,255,119,119,119,255,136,136,136,255,136,136,136,255,137,137,137,255,141,141,141,255,146,146,146,255,
+153,153,153,255,161,161,161,255, 14, 14, 14,255, 15, 15, 15,255, 17, 17, 17,255, 21, 21, 21,255, 27, 27, 27,255, 35, 35, 35,255,
+ 44, 44, 44,255, 55, 55, 55,255,143,143,143,255,149,149,149,255,156,156,156,255,163,163,163,255,172,172,172,255,180,180,180,255,
+186,186,186,255,190,190,190,255,158,158,158,255,151,151,151,255,140,140,140,255,126,126,126,255,111,111,111,255, 95, 95, 95,255,
+ 81, 81, 81,255, 67, 67, 67,255,122,121,121,255,136,136,136,255,136,136,136,255,137,137,137,255,139,139,139,255,144,144,144,255,
+151,151,151,255,159,159,159,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 23, 23, 23,255, 29, 29, 29,255, 38, 38, 38,255,
+ 48, 48, 48,255, 60, 60, 60,255,145,145,145,255,152,152,152,255,160,160,160,255,170,170,170,255,180,180,180,255,191,191,191,255,
+200,200,200,255,206,206,206,255,182,182,182,255,173,173,173,255,158,158,158,255,140,140,140,255,122,122,122,255,104,104,104,255,
+ 88, 88, 88,255, 73, 73, 73,255,123,123,123,255,137,137,137,255,136,136,136,255,136,136,136,255,139,139,139,255,143,143,143,255,
+149,149,149,255,157,157,157,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 24, 24, 24,255, 31, 31, 31,255, 39, 39, 39,255,
+ 50, 50, 50,255, 63, 63, 63,255,147,147,147,255,154,154,154,255,164,164,164,255,175,175,175,255,187,187,187,255,200,200,200,255,
+213,213,213,255,223,223,223,255,208,208,208,255,193,193,193,255,173,173,173,255,151,151,151,255,130,130,130,255,111,111,111,255,
+ 93, 93, 93,255, 77, 77, 77,255,125,125,125,255,137,137,137,255,136,136,136,255,136,136,136,255,138,138,138,255,142,142,142,255,
+148,148,148,255,156,156,156,255, 14, 14, 14,255, 16, 16, 16,255, 19, 19, 19,255, 24, 24, 24,255, 31, 31, 31,255, 40, 40, 40,255,
+ 52, 52, 52,255, 65, 65, 65,255,148,148,148,255,156,156,156,255,166,166,166,255,177,177,177,255,191,191,191,255,206,206,206,255,
+223,223,223,255,240,240,240,255,232,232,232,255,208,208,208,255,182,182,182,255,158,158,158,255,135,135,135,255,114,114,114,255,
+ 96, 96, 96,255, 79, 79, 79,255,126,126,126,255,138,138,138,255,136,136,136,255,136,136,136,255,138,138,138,255,142,142,142,255,
+148,148,148,255,155,155,155,255,155,155,155,255,147,147,147,255,141,141,141,255,138,138,138,255,136,136,136,255,136,136,136,255,
+138,138,138,255,142,142,142,255, 80, 80, 80,255, 97, 97, 97,255,116,116,116,255,137,137,137,255,159,159,159,255,184,184,184,255,
+210,210,210,255,235,235,235,255,240,240,240,255,223,223,223,255,205,205,205,255,190,190,190,255,176,176,176,255,164,164,164,255,
+154,154,154,255,147,147,147,255, 79, 79, 79,255, 51, 51, 51,255, 40, 40, 40,255, 31, 31, 31,255, 24, 24, 24,255, 19, 19, 19,255,
+ 15, 15, 15,255, 14, 14, 14,255,156,155,155,255,148,148,148,255,142,142,142,255,138,138,138,255,136,136,136,255,136,136,136,255,
+138,138,138,255,141,141,141,255, 78, 78, 78,255, 94, 94, 94,255,112,112,112,255,132,132,132,255,153,153,153,255,175,175,175,255,
+195,195,195,255,210,210,210,255,224,224,224,255,213,213,213,255,200,200,200,255,186,186,186,255,173,173,173,255,162,162,162,255,
+153,153,153,255,146,146,146,255, 78, 78, 78,255, 50, 50, 50,255, 39, 39, 39,255, 30, 30, 30,255, 23, 23, 23,255, 18, 18, 18,255,
+ 15, 15, 15,255, 14, 14, 14,255,157,157,157,255,149,149,149,255,142,142,142,255,138,138,138,255,136,136,136,255,136,136,136,255,
+137,137,137,255,140,140,140,255, 74, 74, 74,255, 89, 89, 89,255,106,106,106,255,124,124,124,255,142,142,142,255,160,160,160,255,
+175,175,175,255,184,184,184,255,206,206,206,255,200,200,200,255,190,190,190,255,179,179,179,255,169,169,169,255,159,159,159,255,
+151,151,151,255,144,144,144,255, 75, 75, 75,255, 47, 47, 47,255, 37, 37, 37,255, 29, 29, 29,255, 22, 22, 22,255, 18, 18, 18,255,
+ 15, 15, 15,255, 14, 14, 14,255,158,158,158,255,150,150,150,255,144,144,144,255,139,139,139,255,136,136,136,255,136,135,135,255,
+136,136,136,255,139,139,139,255, 68, 68, 68,255, 82, 82, 82,255, 97, 97, 97,255,112,112,112,255,128,128,128,255,142,142,142,255,
+153,153,153,255,159,159,159,255,191,191,191,255,187,187,187,255,180,180,180,255,171,171,171,255,162,162,162,255,154,154,154,255,
+148,147,147,255,142,142,142,255, 72, 72, 72,255, 44, 44, 44,255, 35, 35, 35,255, 27, 27, 27,255, 21, 21, 21,255, 17, 17, 17,255,
+ 15, 15, 15,255, 14, 14, 14,255,161,161,161,255,152,152,152,255,145,145,145,255,140,140,140,255,137,137,137,255,136,136,136,255,
+136,136,136,255,138,138,138,255, 62, 62, 62,255, 74, 74, 74,255, 87, 87, 87,255,100,100,100,255,112,112,112,255,124,124,124,255,
+132,132,132,255,137,137,137,255,177,177,177,255,174,174,174,255,169,169,169,255,163,163,163,255,156,156,156,255,150,150,150,255,
+144,144,144,255,140,140,140,255, 67, 67, 67,255, 40, 40, 40,255, 32, 32, 32,255, 25, 25, 25,255, 20, 20, 20,255, 16, 16, 16,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,155,155,155,255,148,148,148,255,142,142,142,255,138,138,138,255,136,136,136,255,
+136,136,136,255,136,136,136,255, 54, 54, 54,255, 65, 65, 65,255, 76, 76, 76,255, 87, 87, 87,255, 97, 97, 97,255,106,106,106,255,
+112,112,112,255,116,116,116,255,165,165,165,255,163,163,163,255,159,159,159,255,155,155,155,255,150,150,150,255,145,145,145,255,
+141,141,141,255,137,137,137,255, 62, 62, 62,255, 36, 36, 36,255, 28, 28, 28,255, 22, 22, 22,255, 18, 18, 18,255, 15, 15, 15,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,158,158,158,255,151,151,151,255,144,144,144,255,140,140,140,255,137,137,137,255,
+136,136,136,255,136,136,136,255, 47, 47, 47,255, 56, 56, 56,255, 65, 65, 65,255, 74, 74, 74,255, 82, 82, 82,255, 89, 89, 89,255,
+ 94, 94, 94,255, 97, 97, 97,255,155,155,155,255,154,154,154,255,151,151,151,255,148,148,148,255,144,144,144,255,140,140,140,255,
+138,138,138,255,136,136,136,255, 58, 58, 58,255, 31, 31, 31,255, 25, 25, 25,255, 20, 20, 20,255, 17, 17, 17,255, 15, 15, 15,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,154,154,154,255,148,148,148,255,142,142,142,255,139,139,139,255,
+137,137,137,255,136,136,136,255, 40, 40, 40,255, 47, 47, 47,255, 54, 54, 54,255, 62, 62, 62,255, 68, 68, 68,255, 74, 74, 74,255,
+ 78, 78, 78,255, 80, 80, 80,255,147,147,147,255,146,146,146,255,144,144,144,255,142,142,142,255,139,139,139,255,137,137,137,255,
+135,135,135,255,135,135,135,255, 53, 53, 53,255, 27, 27, 27,255, 22, 22, 22,255, 18, 18, 18,255, 15, 15, 15,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255, 44, 44, 44,255, 44, 44, 44,255, 43, 43, 43,255, 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255,
+ 46, 46, 46,255, 49, 49, 49,255,115,115,115,255,116,116,116,255,118,118,118,255,120,120,120,255,122,122,122,255,124,124,124,255,
+126,126,126,255,126,126,126,255, 80, 80, 80,255, 79, 79, 79,255, 76, 76, 76,255, 72, 72, 72,255, 67, 67, 67,255, 62, 62, 62,255,
+ 58, 58, 58,255, 53, 53, 53,255,136,136,136,255,115,115,115,255,117,117,117,255,120,120,120,255,124,124,124,255,130,130,130,255,
+132,132,132,255,132,132,132,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 16, 16, 16,255,
+ 19, 19, 19,255, 23, 23, 23,255,137,137,137,255,136,136,136,255,136,136,136,255,136,136,136,255,136,136,136,255,137,137,137,255,
+138,138,138,255,138,138,138,255, 52, 52, 52,255, 50, 50, 50,255, 48, 48, 48,255, 44, 44, 44,255, 40, 40, 40,255, 36, 36, 36,255,
+ 31, 31, 31,255, 27, 27, 27,255,115,115,115,255,141,141,141,255,145,145,145,255,150,150,150,255,157,157,157,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255,
+ 16, 16, 16,255, 19, 19, 19,255,139,139,139,255,137,137,137,255,136,136,136,255,136,136,136,255,136,135,135,255,136,136,136,255,
+136,136,136,255,136,136,136,255, 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 35, 35, 35,255, 32, 32, 32,255, 29, 29, 29,255,
+ 25, 25, 25,255, 22, 22, 22,255,116,116,116,255,145,145,145,255,150,150,150,255,156,156,156,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 15, 15, 15,255, 16, 16, 16,255,142,142,142,255,140,140,140,255,138,138,138,255,137,137,137,255,136,136,136,255,136,136,136,255,
+136,136,136,255,136,136,136,255, 31, 31, 31,255, 31, 31, 31,255, 29, 29, 29,255, 27, 27, 27,255, 25, 25, 25,255, 23, 23, 23,255,
+ 20, 20, 20,255, 18, 18, 18,255,119,119,119,255,150,150,150,255,156,156,156,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,148,148,148,255,144,144,144,255,142,142,142,255,140,140,140,255,139,139,139,255,138,138,138,255,
+138,138,138,255,138,138,138,255, 24, 24, 24,255, 24, 24, 24,255, 23, 23, 23,255, 21, 21, 21,255, 20, 20, 20,255, 18, 18, 18,255,
+ 17, 17, 17,255, 15, 15, 15,255,124,124,124,255,157,157,157,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,154,154,154,255,151,151,151,255,148,148,148,255,145,145,145,255,144,144,144,255,142,142,142,255,
+142,142,142,255,141,141,141,255, 19, 19, 19,255, 19, 19, 19,255, 18, 18, 18,255, 17, 17, 17,255, 16, 16, 16,255, 15, 15, 15,255,
+ 15, 15, 15,255, 14, 14, 14,255,129,129,129,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,158,158,158,255,155,155,155,255,152,152,152,255,150,150,150,255,149,149,149,255,
+148,148,148,255,147,147,147,255, 16, 16, 16,255, 15, 15, 15,255, 15, 15, 15,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,131,131,131,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,158,158,158,255,157,157,157,255,
+155,155,155,255,155,155,155,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,131,131,131,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 77, 69, 0, 0,152, 1, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,
+200,104, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 69, 99,111,114,110,101,114, 95, 99,104,101, 99,107,101,114,115, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 45, 52, 3, 0, 0, 0, 0, 8, 71, 52, 3, 0, 0, 0, 0, 40, 79, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232, 47, 52, 3, 0, 0, 0, 0,248, 58, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 98, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 56, 46, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 57, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 69, 52, 3, 0, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+116, 0, 0, 0,215, 0, 0, 0,100, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182,
+ 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 83, 0, 30, 0, 4, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,
+216, 45, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65,104, 1, 0, 0, 56, 46, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 47, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 9, 0, 0,232, 47, 52, 3, 0, 0, 0, 0, 52, 0, 0, 0,116, 0, 0, 0,214, 28,215, 63, 77, 31, 87, 65,
+ 74, 36,190,192, 1,192, 1,192,129, 90, 0, 0,173, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90, 0, 0,
+204,194,135,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 24, 33,215,191,147, 87, 33, 65, 68, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0, 9, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,195, 87,161,192,
+179, 31,215, 64, 66, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,202, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,
+255,127, 0, 0, 71,248,139,184,181,115, 6, 65, 70, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 41, 33,215,191,175, 31,215, 64,
+ 68, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 15, 32, 87,192,244, 87,161, 64, 66, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,
+223, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,220,160,141,184,242, 87,161, 64, 68, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0,172, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,218, 29, 87, 64,
+240, 87,161, 64, 70, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,123, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165,
+ 0, 0, 0, 0,194, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0, 0, 0, 11, 32, 87,192,113, 59, 60, 65,
+147, 43,100,192,129, 90,127,165, 0, 0, 0, 0, 45, 33,215,191, 81, 31, 87, 65,153, 43,100,192,129, 90,127,165, 0, 0, 0, 0,
+123, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0, 0, 0,194, 87,161,192,147, 87, 33, 65, 8, 29,152,191,
+129, 90,127,165, 0, 0, 0, 0, 11, 32, 87,192,113, 59, 60, 65, 19, 29,152,191,129, 90,127,165, 0, 0, 0, 0, 45, 33,215,191,
+ 81, 31, 87, 65, 30, 29,152,191,129, 90,127,165, 0, 0, 0, 0,123, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165,
+ 0, 0, 0, 0,194, 87,161,192,147, 87, 33, 65, 1, 29,152, 63,129, 90,127,165, 0, 0, 0, 0, 11, 32, 87,192,113, 59, 60, 65,
+245, 28,152, 63,129, 90,127,165, 0, 0, 0, 0, 45, 33,215,191, 81, 31, 87, 65,234, 28,152, 63,129, 90,127,165, 0, 0, 0, 0,
+122, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0, 0, 0,193, 87,161,192,148, 87, 33, 65,133, 43,100, 64,
+129, 90,127,165, 0, 0, 0, 0, 9, 32, 87,192,114, 59, 60, 65,128, 43,100, 64,129, 90,127,165, 0, 0, 0, 0, 41, 33,215,191,
+ 81, 31, 87, 65,128, 43,100, 64,129, 90,127,165, 0, 0, 0, 0,123, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,
+129, 90, 0, 0,194, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90, 0, 0, 11, 32, 87,192,113, 59, 60, 65,
+ 76, 36,190,192,255, 63, 1,192,129, 90, 0, 0, 45, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90, 0, 0,
+183,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0, 0, 0,184,115, 6,193,127, 31,215, 64,232, 28,152, 63,
+129, 90,127,165, 0, 0, 0, 0,184,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0, 0, 0,184,115, 6,193,
+127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0, 0, 0,222, 33,215,191,210,189,135, 56, 72, 36,190,192, 0, 0, 0, 0,
+255,127, 0, 0,103, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,241, 87,161,192, 2, 32, 87, 64,
+ 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,171, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,
+235,192,138,184, 43, 3,114, 65,134, 43,100,192, 0, 0, 1,128, 0, 0, 0, 0,190, 28,215, 63, 78, 31, 87, 65,140, 43,100,192,
+127,165,127,165, 0, 0, 0, 0,213, 29, 87, 64,112, 59, 60, 65,146, 43,100,192,127,165,127,165, 0, 0, 0, 0,175, 86,161, 64,
+146, 87, 33, 65,151, 43,100,192,127,165,127,165, 0, 0, 0, 0,235,192,138,184, 43, 3,114, 65,248, 28,152,191, 0, 0, 1,128,
+ 0, 0, 0, 0,190, 28,215, 63, 78, 31, 87, 65, 4, 29,152,191,127,165,127,165, 0, 0, 0, 0,213, 29, 87, 64,112, 59, 60, 65,
+ 15, 29,152,191,127,165,127,165, 0, 0, 0, 0,235,192,138,184, 43, 3,114, 65, 16, 29,152, 63, 0, 0, 1,128, 0, 0, 0, 0,
+190, 28,215, 63, 78, 31, 87, 65, 4, 29,152, 63,127,165,127,165, 0, 0, 0, 0,213, 29, 87, 64,112, 59, 60, 65,249, 28,152, 63,
+127,165,127,165, 0, 0, 0, 0,175, 86,161, 64,146, 87, 33, 65,237, 28,152, 63,127,165,127,165, 0, 0, 0, 0,235,192,138,184,
+ 43, 3,114, 65,142, 43,100, 64, 0, 0, 1,128, 0, 0, 0, 0,190, 28,215, 63, 78, 31, 87, 65,136, 43,100, 64,127,165,127,165,
+ 0, 0, 0, 0,221, 29, 87, 64,110, 59, 60, 65,130, 43,100, 64,127,165,127,165, 0, 0, 0, 0,175, 86,161, 64,146, 87, 33, 65,
+131, 43,100, 64,127,165,127,165, 0, 0, 0, 0,235,192,138,184, 43, 3,114, 65, 72, 36,190,192, 0, 0,126,151,230, 73, 0, 0,
+213, 29, 87, 64,112, 59, 60, 65, 76, 36,190,192, 1,192, 1,192,129, 90, 0, 0,149, 30,215, 64,151,115, 6, 65, 72, 36,190,192,
+ 1,192, 1,192,129, 90, 0, 0, 42,115, 6, 65,117, 31,215, 64,137, 43,100, 64,127,165,127,165, 0, 0, 0, 0,149, 30,215, 64,
+151,115, 6, 65,143, 43,100, 64,127,165,127,165, 0, 0, 0, 0, 42,115, 6, 65,117, 31,215, 64, 6, 29,152, 63,127,165,127,165,
+ 0, 0, 0, 0,149, 30,215, 64,151,115, 6, 65, 18, 29,152, 63,127,165,127,165, 0, 0, 0, 0, 42,115, 6, 65,117, 31,215, 64,
+ 2, 29,152,191,127,165,127,165, 0, 0, 0, 0,149, 30,215, 64,151,115, 6, 65,246, 28,152,191,127,165,127,165, 0, 0, 0, 0,
+ 42,115, 6, 65,117, 31,215, 64,139, 43,100,192,127,165,127,165, 0, 0, 0, 0, 3, 32, 87, 64,150, 29,215, 63, 68, 36,190,192,
+ 0, 0, 0, 0,254,127, 0, 0,126, 31,215, 64,217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,254,127, 0, 0,158,115, 6, 65,
+146, 30,215, 64, 72, 36,190,192, 1,192, 1,192,130, 90, 0, 0,158,115, 6, 65,146, 30,215, 64,244, 35,190, 64, 1,192, 1,192,
+130, 90, 0, 0,126, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,192, 87,161, 64, 62, 30, 87, 64,
+248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 3, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+ 15, 33,215, 63, 24, 2, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,149, 30,215, 64,151,115, 6, 65,244, 35,190, 64,
+ 1,192, 1,192,129, 90, 0, 0,213, 29, 87, 64,112, 59, 60, 65,240, 35,190, 64, 1,192, 1,192,129, 90, 0, 0,235,192,138,184,
+ 43, 3,114, 65,244, 35,190, 64, 0, 0,126,151,230, 73, 0, 0,171, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,
+255,127, 0, 0,241, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,103, 32, 87,192, 14, 33,215, 63,
+244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,222, 33,215,191,210,189,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+ 45, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90, 0, 0, 11, 32, 87,192,113, 59, 60, 65,240, 35,190, 64,
+255, 63, 1,192,129, 90, 0, 0,194, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90, 0, 0,123, 31,215,192,
+180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90, 0, 0,254,226,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,
+255,127, 1, 0,189, 28,215, 63,107, 32, 87, 64,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,218, 29, 87, 64,240, 87,161, 64,
+246, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,172, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+ 46, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,220,160,141,184,242, 87,161, 64,248, 35,190, 64,
+ 0, 0, 0, 0,255,127, 0, 0,197, 28,215, 63,172, 31,215, 64,246, 35,190, 64, 0, 0, 0, 0,254,127, 0, 0,223, 29, 87, 64,
+179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 15, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,
+255,127, 0, 0, 41, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 71,248,139,184,181,115, 6, 65,
+246, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,202, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+195, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 9, 32, 87,192,182,115, 6, 65,248, 35,190, 64,
+ 0, 0, 0, 0,255,127, 0, 0, 24, 33,215,191,147, 87, 33, 65,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,204,194,135,184,
+112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,173, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,
+129, 90, 0, 0,214, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90, 0, 0,183,115, 6,193,127, 31,215, 64,
+238, 35,190, 64,255, 63, 1,192,129, 90, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0, 98,234, 53, 56, 38, 33,215,191, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,150, 30,215, 64,
+151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165,
+ 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 78, 36,190,192,255, 63, 1,192,129, 90, 0, 0,222,158,142,184,239, 33,215, 63,
+ 67, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,
+ 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0, 68, 65, 84, 65,104, 1, 0, 0, 72, 57, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 3, 0, 0, 72, 88,181, 3, 36, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62,
- 0, 0, 0, 0,164,112,125, 63, 0, 0,128, 63,106,214, 24, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248, 58, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 10, 0, 0,248, 58, 52, 3, 0, 0, 0, 0, 49, 0, 0, 0,215, 0, 0, 0,
+ 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0,
+ 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0,
+ 0, 0, 34, 0, 8, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0,
+ 17, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 31, 0, 0, 0,
+ 0, 0, 34, 0, 14, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
+ 15, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
+ 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0,
+ 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0,
+ 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0,
+ 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0,
+ 4, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0,
+ 18, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 40, 0, 0, 0,
+ 0, 0, 34, 0, 5, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
+ 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 0, 0, 34, 0, 43, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
+ 46, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0,
+ 47, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 49, 0, 0, 0,
+ 0, 0, 34, 0, 52, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
+ 55, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0,
+ 63, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 64, 0, 0, 0,
+ 0, 0, 34, 0, 1, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
+ 57, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0,
+ 1, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 49, 0, 0, 0,
+ 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
+ 59, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0,
+ 59, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 86, 0, 0, 0,
+ 0, 0, 34, 0, 73, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,
+ 89, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
+ 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0,
+ 0, 0, 34, 0, 75, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0,
+103, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,
+ 79, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 86, 0, 0, 0,
+ 0, 0, 34, 0, 78, 0, 0, 0, 79, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0,
+ 98, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0,
+ 82, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 85, 0, 0, 0,
+ 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0,
+ 92, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0,
+ 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,102, 0, 0, 0,
+ 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
+ 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
+ 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0,
+ 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0,
+ 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
+ 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0,
+ 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
+ 70, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0,
+ 54, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0,102, 0, 0, 0,
+ 0, 0, 34, 0, 26, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0,
+ 83, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,
+107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,114, 0, 0, 0,
+ 0, 0, 34, 0, 9, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
+115, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
+ 11, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,115, 0, 0, 0,
+ 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 35, 0, 0, 0,
+ 36, 0, 0, 0, 0, 0, 34, 0, 37, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0,
+ 30, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0,114, 0, 0, 0,
+ 0, 0, 34, 0, 45, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 45, 0, 0, 0,
+110, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,
+ 60, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,109, 0, 0, 0,
+ 0, 0, 34, 0, 64, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0,
+ 57, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
+ 38, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,113, 0, 0, 0,
+ 0, 0, 34, 0, 81, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,
+ 71, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0,
+ 85, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,104, 0, 0, 0,
+ 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,
+107, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65,104, 1, 0, 0, 88, 69, 52, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 71, 52, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 79, 52, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 98, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 7, 0, 0, 8, 71, 52, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0,100, 0, 0, 0, 31, 0, 0, 0, 30, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,
+ 33, 0, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0,
+ 9, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 6, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0,114, 0, 0, 0, 11, 0, 0, 0,
+ 1, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0,115, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,114, 0, 0, 0, 39, 0, 0, 0,
+ 38, 0, 0, 0,112, 0, 0, 0, 1, 0, 0, 0,115, 0, 0, 0, 11, 0, 0, 0,113, 0, 0, 0, 13, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 10, 0, 0, 0, 12, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,107, 0, 0, 0,
+ 67, 0, 0, 0, 1, 0, 0, 0,106, 0, 0, 0, 68, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 1, 0, 0, 0, 17, 0, 0, 0,
+ 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
+ 1, 0, 0, 0, 46, 0, 0, 0, 21, 0, 0, 0, 17, 0, 0, 0, 42, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0,
+ 15, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 0, 18, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0, 14, 0, 0, 0, 1, 0, 0, 0,
+ 25, 0, 0, 0, 24, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 1, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0, 18, 0, 0, 0,
+ 19, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0, 29, 0, 0, 0, 25, 0, 0, 0, 49, 0, 0, 0, 1, 0, 0, 0, 28, 0, 0, 0,
+ 27, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 22, 0, 0, 0,
+ 1, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0,
+ 26, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+ 57, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 1, 0, 0, 0, 48, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0,
+ 44, 0, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 48, 0, 0, 0,110, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0,
+ 49, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 1, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0,
+ 1, 0, 0, 0,102, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 1, 0, 0, 0,103, 0, 0, 0, 77, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 75, 0, 0, 0, 61, 0, 0, 0, 60, 0, 0, 0, 1, 0, 0, 0,
+ 61, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 65, 0, 0, 0,
+ 64, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0,110, 0, 0, 0, 45, 0, 0, 0,109, 0, 0, 0, 1, 0, 0, 0, 66, 0, 0, 0,
+109, 0, 0, 0, 59, 0, 0, 0, 69, 0, 0, 0, 1, 0, 0, 0, 72, 0, 0, 0, 71, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0,
+ 1, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 74, 0, 0, 0, 73, 0, 0, 0, 1, 0, 0, 0,102, 0, 0, 0, 93, 0, 0, 0,
+ 89, 0, 0, 0, 75, 0, 0, 0, 1, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 1, 0, 0, 0,
+ 90, 0, 0, 0, 80, 0, 0, 0, 81, 0, 0, 0, 86, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 1, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 1, 0, 0, 0,103, 0, 0, 0,
+101, 0, 0, 0, 97, 0, 0, 0, 76, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 1, 0, 0, 0, 98, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 94, 0, 0, 0, 1, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0,
+100, 0, 0, 0,101, 0, 0, 0, 1, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 1, 0, 0, 0,
+ 85, 0, 0, 0,104, 0, 0, 0, 78, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0, 99, 0, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0,101, 0, 0, 0,103, 0, 0, 0, 77, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
+ 98, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0,101, 0, 0, 0,100, 0, 0, 0, 96, 0, 0, 0, 97, 0, 0, 0,
+ 0, 0, 0, 0, 94, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 95, 0, 0, 0,
+ 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 97, 0, 0, 0, 93, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,
+ 91, 0, 0, 0, 90, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 92, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 81, 0, 0, 0,105, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
+ 87, 0, 0, 0, 73, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 70, 0, 0, 0, 75, 0, 0, 0, 89, 0, 0, 0,
+ 0, 0, 0, 0,109, 0, 0, 0, 45, 0, 0, 0, 1, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0,
+109, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 52, 0, 0, 0,110, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
+ 60, 0, 0, 0, 61, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,102, 0, 0, 0, 56, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0,103, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0,
+ 53, 0, 0, 0, 49, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 55, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 0, 0, 0, 0, 51, 0, 0, 0, 50, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 46, 0, 0, 0,
+ 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0, 48, 0, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 58, 0, 0, 0, 44, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,104, 0, 0, 0, 34, 0, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0,
+ 82, 0, 0, 0, 29, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 35, 0, 0, 0,
+ 36, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 49, 0, 0, 0, 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 37, 0, 0, 0,111, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 0, 0, 0, 0, 33, 0, 0, 0, 57, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 69, 0, 0, 0,
+ 59, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,113, 0, 0, 0, 67, 0, 0, 0,106, 0, 0, 0, 0, 0, 0, 0,
+112, 0, 0, 0, 38, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,115, 0, 0, 0, 13, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,114, 0, 0, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
+ 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0,115, 0, 0, 0,
+ 0, 0, 0, 0, 9, 0, 0, 0, 40, 0, 0, 0, 39, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 7, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 4, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,111, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+192, 18, 0, 0, 40, 79, 52, 3, 0, 0, 0, 0, 59, 0, 0, 0,100, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
+120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,
+176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62, 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,
+120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,190,188, 0, 63,
+102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63,
+ 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,
+120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63,
+ 96, 44,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63,
+ 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63,
+ 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63, 64, 38,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62, 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63,
+ 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
+102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
+242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
+113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
+216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
+113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
+120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
+173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,
+242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,
+120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
+102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,
+242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,
+102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63, 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
+173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
+236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
+173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
+102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,
+111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
+ 72, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 22,172,131, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
+ 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63,
+ 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,227,151,158, 63,
+ 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 24,172,131, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
+ 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63,
+ 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,146,128, 81, 63,
+ 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,225,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63,
+ 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62,
+ 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,226,151,158, 63,
+ 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 21,172,131, 63,
+ 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,248,168, 27, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,
+236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
+210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,
+236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
+210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 72, 47, 41, 63, 44,244,114, 63,
+236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,174,225, 76, 63,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
+173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
+236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,
+111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,
+102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,
+220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,
+113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
+242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
+102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,
+120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,
+242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
+173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
+120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
+113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
+216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
+173,188,160, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,
+244, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63,
+ 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63, 4,221, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189, 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,
+144,109,169,189, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,116, 47, 41, 63, 52,207, 38, 63,
+248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61, 51,207, 38, 63,
+ 24,224, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,
+248, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,
+128,223, 91, 62,138, 94, 82, 62, 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,
+236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61,
+ 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,248, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
+113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,
+242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,160, 84,104, 61,
+ 0, 29, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 6, 0, 0, 56, 98, 52, 3,
+ 0, 0, 0, 0, 53, 0, 0, 0,144, 1, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0,200,104, 52, 3, 0, 0, 0, 0, 46, 0, 0, 0,
+ 1, 0, 0, 0, 56,108, 53, 3, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 69, 67,117, 98,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,106, 52, 3, 0, 0, 0, 0, 56,199, 52, 3, 0, 0, 0, 0,152,238, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,108, 52, 3, 0, 0, 0, 0, 24,150, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,168, 76, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,106, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,148, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,197, 52, 3,
+ 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,249, 1, 0, 0,237, 3, 0, 0,244, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,192,133, 88, 61,184, 45, 85,189,
+196,181, 24,190,185, 71, 35, 63,153, 31,235, 62,130,102,203, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0,
+ 30, 0, 4, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0,168,106, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,
+104, 1, 0, 0,248,106, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,108, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5775,442 +6544,336 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+116, 39, 0, 0,168,108, 52, 3, 0, 0, 0, 0, 52, 0, 0, 0,249, 1, 0, 0,140,144,131, 62,119,163,200, 60,156, 9, 85, 62,
+ 36, 93, 58,172, 64, 26, 0, 0, 50,222, 26,190,119,163,200, 60,156, 9, 85, 62,220,162, 58,172, 64, 26, 0, 0, 61,126,146, 62,
+223, 37, 8,188, 99,183, 47, 62, 80, 77,177,190, 91, 78, 2, 0,147,185, 56,190,223, 37, 8,188, 99,183, 47, 62,176,178,177,190,
+ 91, 78, 2, 0,129,176,157, 62,211, 91,217,188,244,238,246, 61,106, 87,237,185,228, 61, 2, 0, 28, 30, 79,190,211, 91,217,188,
+244,238,246, 61,150,168,237,185,228, 61, 2, 0,115, 19, 94, 62,103,251,128,189,150, 32, 14, 62,213, 14, 8,145, 9, 62, 2, 0,
+ 26,161,227,189,103,251,128,189,150, 32, 14, 62, 43,241, 8,145, 9, 62, 2, 0,115, 19, 94, 62,251,118, 25,189, 20,165, 62, 62,
+146, 12,225,159,148, 83, 2, 0, 26,161,227,189,251,118, 25,189, 20,165, 62, 62,110,243,225,159,148, 83, 2, 0,115, 19, 94, 62,
+232,107, 34, 60,116,128, 92, 62,205, 4,122,132, 46, 33, 0, 0, 26,161,227,189,232,107, 34, 60,116,128, 92, 62, 51,251,122,132,
+ 46, 33, 0, 0, 58,193, 56, 62,119,163,200, 60, 77,247, 99, 62, 30,172, 83,167,129, 38, 0, 0,168,252,152,189,119,163,200, 60,
+ 77,247, 99, 62,226, 83, 83,167,129, 38, 0, 0,109, 42, 23, 62,223, 37, 8,188, 88,215, 73, 62, 41,217, 14,206, 67,111, 0, 0,
+229,197, 0, 62,211, 91,217,188, 71, 14, 29, 62,114,185,159,174, 37, 69, 2, 0,249, 23,164,188,211, 91,217,188, 71, 14, 29, 62,
+142, 70,159,174, 37, 69, 2, 0, 88,231,182, 61,159,154,121, 61,179,201, 32, 62,182,151,132,255, 51, 74, 2, 0,207,121,134, 60,
+159,154,121, 61,179,201, 32, 62, 74,104,132,255, 51, 74, 2, 0, 25,158,242, 61,159,154,121, 61, 88,215, 73, 62, 44,167,141,255,
+ 38, 92, 2, 0,110,194, 80,188,159,154,121, 61, 88,215, 73, 62,212, 88,141,255, 38, 92, 2, 0,138,211, 41, 62,159,154,121, 61,
+ 77,247, 99, 62,233,134, 91,254,110, 41, 0, 0,143, 66,118,189,159,154,121, 61, 77,247, 99, 62, 23,121, 91,254,110, 41, 0, 0,
+ 58,193, 56, 62,154,232,206, 61, 77,247, 99, 62, 63,171,127, 88,251, 36, 0, 0,168,252,152,189,154,232,206, 61, 77,247, 99, 62,
+193, 84,127, 88,251, 36, 0, 0,109, 42, 23, 62,173, 79, 5, 62, 88,215, 73, 62,191,197, 53, 67, 11, 92, 2, 0, 31,158, 43,189,
+173, 79, 5, 62, 88,215, 73, 62, 65, 58, 53, 67, 11, 92, 2, 0,229,197, 0, 62, 54,180, 27, 62, 71, 14, 29, 62, 49,188, 51, 80,
+ 41, 73, 2, 0,249, 23,164,188, 54,180, 27, 62, 71, 14, 29, 62,207, 67, 51, 80, 41, 73, 2, 0,115, 19, 94, 62,111, 6, 65, 62,
+150, 32, 14, 62,171, 15, 44,107, 51, 68, 2, 0, 26,161,227,189,111, 6, 65, 62,150, 32, 14, 62, 85,240, 44,107, 51, 68, 2, 0,
+115, 19, 94, 62, 14, 43, 35, 62, 20,165, 62, 62, 10, 13,188, 94, 19, 85, 2, 0, 26,161,227,189, 14, 43, 35, 62, 20,165, 62, 62,
+246,242,188, 94, 19, 85, 2, 0,115, 19, 94, 62,250,195,236, 61,116,128, 92, 62, 27, 4, 73,124, 81, 30, 0, 0, 26,161,227,189,
+250,195,236, 61,116,128, 92, 62,229,251, 73,124, 81, 30, 0, 0,140,144,131, 62,154,232,206, 61,156, 9, 85, 62,179, 93,140, 83,
+243, 24, 0, 0, 50,222, 26,190,154,232,206, 61,156, 9, 85, 62, 77,162,140, 83,243, 24, 0, 0, 61,126,146, 62,173, 79, 5, 62,
+ 99,183, 47, 62,225, 77, 89, 63,101, 79, 2, 0,147,185, 56,190,173, 79, 5, 62, 99,183, 47, 62, 31,178, 89, 63,101, 79, 2, 0,
+129,176,157, 62, 54,180, 27, 62,244,238,246, 61, 10, 86,225, 68, 20, 65, 2, 0, 28, 30, 79,190, 54,180, 27, 62,244,238,246, 61,
+246,169,225, 68, 20, 65, 2, 0,157, 89,176, 62,159,154,121, 61, 67, 1,232, 61, 39,111,149,255,117, 63, 2, 0, 84,112,116,190,
+159,154,121, 61, 67, 1,232, 61,217,144,149,255,117, 63, 2, 0,237,107,161, 62,159,154,121, 61,139, 64, 40, 62,169,102,145,255,
+112, 76, 2, 0,244,148, 86,190,159,154,121, 61,139, 64, 40, 62, 87,153,145,255,112, 76, 2, 0,100, 7,139, 62,159,154,121, 61,
+ 48, 78, 81, 62, 36,125,151,254,216, 26, 0, 0,227,203, 41,190,159,154,121, 61, 48, 78, 81, 62,220,130,151,254,216, 26, 0, 0,
+ 26,229,140, 62,159,154,121, 61, 8,197, 88, 62,162,124,112,254, 23, 29, 2, 0, 79,135, 45,190,159,154,121, 61, 8,197, 88, 62,
+ 94,131,112,254, 23, 29, 2, 0, 66,110,133, 62,114, 95,214, 61,116,128, 92, 62,105, 92, 46, 83,100, 30, 2, 0,158,153, 30,190,
+114, 95,214, 61,116,128, 92, 62,151,163, 46, 83,100, 30, 2, 0,115, 19, 94, 62,170,177,251, 61,185,178,103, 62,203, 4,126,119,
+158, 45, 2, 0, 26,161,227,189,170,177,251, 61,185,178,103, 62, 53,251,126,119,158, 45, 2, 0,206, 5, 53, 62,114, 95,214, 61,
+145, 41,111, 62,213,175,209, 82,166, 55, 2, 0,208,133,145,189,114, 95,214, 61,145, 41,111, 62, 43, 80,209, 82,166, 55, 2, 0,
+178, 92, 34, 62,159,154,121, 61,145, 41,111, 62, 93,139,110,254,175, 52, 2, 0, 48,103, 88,189,159,154,121, 61,145, 41,111, 62,
+163,116,110,254,175, 52, 2, 0,206, 5, 53, 62, 22,200,170, 60,145, 41,111, 62,226,176, 82,172,220, 55, 2, 0,208,133,145,189,
+ 22,200,170, 60,145, 41,111, 62, 30, 79, 82,172,220, 55, 2, 0,115, 19, 94, 62,159,154,121, 61,253,228,114, 62,128, 23, 82,255,
+209,125, 2, 0, 26,161,227,189,159,154,121, 61,253,228,114, 62,128,232, 82,255,209,125, 2, 0,115, 19, 94, 62,149,249, 43, 59,
+185,178,103, 62,186, 4, 80,136, 27, 45, 2, 0, 26,161,227,189,149,249, 43, 59,185,178,103, 62, 70,251, 80,136, 27, 45, 2, 0,
+ 66,110,133, 62, 22,200,170, 60,116,128, 92, 62,134, 91,236,171,153, 30, 2, 0,158,153, 30,190, 22,200,170, 60,116,128, 92, 62,
+122,164,236,171,153, 30, 2, 0,203,133, 88, 61,202,248, 23, 62, 88,215, 73, 62, 0, 0,209,122, 10, 36, 0, 0,203,133, 88, 61,
+ 34, 77,229, 61,145, 41,111, 62, 0, 0,235,252,245,127, 0, 0,203,133, 88, 61,150,254,188,190,236, 27, 70, 62, 0, 0,159,251,
+235,127, 0, 0,203,133, 88, 61,191, 79, 78,190,116,128, 92, 62, 0, 0, 65,146,221, 65, 2, 0,203,133, 88, 61,146,221, 14,190,
+ 77,247, 99, 62, 0, 0,125,100, 70, 79, 0, 0,203,133, 88, 61, 30, 99,211,190, 20,165, 62, 62, 0, 0,104,140,246, 54, 2, 0,
+203,133, 88, 61,133,198, 12, 62,190,169, 6, 62, 0, 0,143,112,238, 60, 0, 0,203,133, 88, 61, 99, 38, 91, 62, 28,120,239, 61,
+ 0, 0,104, 79, 98,100, 0, 0,203,133, 88, 61, 16,243,187, 62,170,250,206,190, 0, 0,144,106, 25,185, 2, 0,203,133, 88, 61,
+247,106, 87, 62,178,224, 11,191, 0, 0, 51, 40,124,134, 3, 0,203,133, 88, 61, 18,165,157,188, 33, 20, 9,191, 0, 0,140,217,
+235,133, 2, 0,203,133, 88, 61, 32, 43,108,190,227, 83,160,190, 0, 0,143,135,174,212, 2, 0,109, 42, 23, 62,146,221, 14,190,
+ 67, 1,232, 61,224,115, 50,206,203, 21, 0, 0, 31,158, 43,189,146,221, 14,190, 67, 1,232, 61, 32,140, 50,206,203, 21, 0, 0,
+ 87,106, 75, 62,138, 37,131,190, 28,120,239, 61,136,123, 6, 28, 94, 18, 2, 0,225, 78,190,189,138, 37,131,190, 28,120,239, 61,
+120,132, 6, 28, 94, 18, 2, 0,115, 19, 94, 62, 2,186,192,190, 28,120,239, 61,229,124, 36, 12, 56, 25, 0, 0, 26,161,227,189,
+ 2,186,192,190, 28,120,239, 61, 27,131, 36, 12, 56, 25, 0, 0, 75,138,101, 62,200, 96,239,190,227, 37,202, 61, 26,124, 38,237,
+ 2, 25, 2, 0,203,142,242,189,200, 96,239,190,227, 37,202, 61,230,131, 38,237, 2, 25, 2, 0, 47,225, 82, 62,195,112,252,190,
+ 10,175,194, 61,185, 83, 15,161,241, 18, 2, 0,146, 60,205,189,195,112,252,190, 10,175,194, 61, 71,172, 15,161,241, 18, 2, 0,
+ 41,248, 11, 62,242, 4, 1,191,107,138,224, 61, 45, 20, 69,131,109, 20, 2, 0, 27,170,253,188,242, 4, 1,191,107,138,224, 61,
+211,235, 69,131,109, 20, 2, 0,203,133, 88, 61,168,226, 2,191,244,238,246, 61, 0, 0,219,130,219, 26, 2, 0,140,144,131, 62,
+ 18,242,240,189,227, 37,202, 61, 38, 46,194,136,209, 5, 2, 0, 50,222, 26,190, 18,242,240,189,227, 37,202, 61,218,209,194,136,
+209, 5, 2, 0, 83, 55,178, 62, 23,233,143,189,187,156,209, 61, 96, 75,200,154, 89, 21, 2, 0,193, 43,120,190, 23,233,143,189,
+187,156,209, 61,160,180,200,154, 89, 21, 2, 0, 26,222,224, 62,182,236,140, 60, 49, 21,112, 61,208,116,116,204, 17,247, 2, 0,
+167,188,170,190,182,236,140, 60, 49, 21,112, 61, 48,139,116,204, 17,247, 2, 0,243, 84,232, 62,202,248, 23, 62, 82,238, 2, 62,
+167,112, 64, 54, 93, 27, 2, 0,128, 51,178,190,202,248, 23, 62, 82,238, 2, 62, 89,143, 64, 54, 93, 27, 2, 0,112,224,196, 62,
+190, 24, 50, 62, 2,220, 17, 62, 70, 65,159,106,113, 27, 0, 0,253,190,142,190,190, 24, 50, 62, 2,220, 17, 62,186,190,159,106,
+113, 27, 0, 0,134,160,144, 62, 20, 20,106, 62, 99,183, 47, 62,131, 76, 82,100,139, 21, 0, 0, 39,254, 52,190, 20, 20,106, 62,
+ 99,183, 47, 62,125,179, 82,100,139, 21, 0, 0,195, 37, 79, 62, 67, 92,154, 62,236, 27, 70, 62, 56, 29,185,122,159, 21, 2, 0,
+186,197,197,189, 67, 92,154, 62,236, 27, 70, 62,200,226,185,122,159, 21, 2, 0,229,197, 0, 62,181, 7,145, 62, 48, 78, 81, 62,
+ 95,179,127, 99,180, 24, 2, 0,249, 23,164,188,181, 7,145, 62, 48, 78, 81, 62,161, 76,127, 99,180, 24, 2, 0,168,249,167, 61,
+ 42,212, 53, 62,196,146, 77, 62,169,154,155, 74, 94, 23, 0, 0,144, 48,194, 60, 42,212, 53, 62,196,146, 77, 62, 87,101,155, 74,
+ 94, 23, 0, 0, 81,129, 4, 62,241,129, 16, 62, 8,197, 88, 62,248, 33,229,229,156,120, 0, 0, 89,243,193,188,241,129, 16, 62,
+ 8,197, 88, 62, 8,222,229,229,156,120, 0, 0,105,176,227, 61, 17,132,184, 61,156, 9, 85, 62,162, 3,150,230,100,125, 0, 0,
+214,169,178,187, 17,132,184, 61,156, 9, 85, 62, 94,252,150,230,100,125, 0, 0, 31,158, 43,189,223, 37, 8,188, 88,215, 73, 62,
+215, 38, 14,206, 67,111, 0, 0,184, 69,105, 62, 92, 82, 55,189, 59, 46, 55, 62,194, 39,112,212,152,113, 0, 0,163, 5,250,189,
+ 92, 82, 55,189, 59, 46, 55, 62, 62,216,112,212,152,113, 0, 0,134,160,144, 62,115,128,187,188,139, 64, 40, 62,176, 53,101,207,
+137,105, 0, 0, 39,254, 52,190,115,128,187,188,139, 64, 40, 62, 80,202,101,207,137,105, 0, 0,157, 89,176, 62,205, 26, 17, 61,
+ 71, 14, 29, 62,129, 56,167,229,200,111, 0, 0, 84,112,116,190,205, 26, 17, 61, 71, 14, 29, 62,127,199,167,229,200,111, 0, 0,
+ 9, 21,180, 62, 57, 13,177, 61, 71, 14, 29, 62,117, 46,213,228, 33,116, 0, 0, 45,231,123,190, 57, 13,177, 61, 71, 14, 29, 62,
+139,209,213,228, 33,116, 0, 0,123,192,170, 62,170,177,251, 61, 31,133, 36, 62,228, 30,190,216,216,117, 0, 0, 16, 62,105,190,
+170,177,251, 61, 31,133, 36, 62, 28,225,190,216,216,117, 0, 0,214,178,129, 62, 54,180, 27, 62, 20,165, 62, 62, 82, 25,170,254,
+117,125, 0, 0,198, 34, 23,190, 54,180, 27, 62, 20,165, 62, 62,174,230,170,254,117,125, 0, 0,246,142, 45, 62,230,161, 42, 62,
+ 48, 78, 81, 62, 13, 34,233,239, 84,122, 0, 0, 32,152,130,189,230,161, 42, 62, 48, 78, 81, 62,243,221,233,239, 84,122, 0, 0,
+203,133, 88, 61,104,133,209,190,236, 27, 70, 62, 0, 0,130,201,209,115, 0, 0,185,194,212, 61, 36, 83,198,190,236, 27, 70, 62,
+244, 19, 41,234,135,124, 0, 0,191,196,240, 58, 36, 83,198,190,236, 27, 70, 62, 12,236, 41,234,135,124, 0, 0,145, 57,220, 61,
+207, 80,226,190,167,233, 58, 62,102, 11,172,214,154,120, 0, 0, 77,241,236,186,207, 80,226,190,167,233, 58, 62,154,244,172,214,
+154,120, 0, 0,168,249,167, 61, 19,131,237,190,207,114, 51, 62,198,252, 75,203,152,116, 0, 0,144, 48,194, 60, 19,131,237,190,
+207,114, 51, 62, 58, 3, 75,203,152,116, 0, 0,203,133, 88, 61,200, 96,239,190, 99,183, 47, 62, 0, 0,154,213,196,120, 0, 0,
+203,133, 88, 61,254,152, 18,190,196,146, 77, 62, 0, 0, 46, 97, 76, 83, 0, 0,203,133, 88, 61, 18,242,240,189, 88,215, 73, 62,
+ 0, 0,220, 72, 59,105, 0, 0,225, 75,205, 61,235,104,248,189, 88,215, 73, 62, 91, 32,137, 44,141,115, 0, 0,179,158,179, 59,
+235,104,248,189, 88,215, 73, 62,165,223,137, 44,141,115, 0, 0,105,176,227, 61,174,134, 33,190,196,146, 77, 62, 91, 92, 85,209,
+ 85, 75, 0, 0,214,169,178,187,174,134, 33,190,196,146, 77, 62,165,163, 85,209, 85, 75, 0, 0, 48, 94,190, 61, 15, 98, 63,190,
+ 88,215, 73, 62,153, 63, 63,200, 17, 96, 0, 0,220, 60, 81, 60, 15, 98, 63,190, 88,215, 73, 62,103,192, 63,200, 17, 96, 0, 0,
+252,119,116, 62,239, 95,151,189,139, 64, 40, 62,192, 48,194,189, 17, 98, 0, 0, 22, 53, 8,190,239, 95,151,189,139, 64, 40, 62,
+ 64,207,194,189, 17, 98, 0, 0,231,123,174, 62,211, 91,217,188, 2,220, 17, 62,214, 63,168,204, 87, 98, 2, 0,232,180,112,190,
+211, 91,217,188, 2,220, 17, 62, 42,192,168,204, 87, 98, 2, 0,220,155,200, 62, 45,246, 46, 61,190,169, 6, 62, 66, 70, 51,214,
+123, 98, 0, 0,105,122,146,190, 45,246, 46, 61,190,169, 6, 62,190,185, 51,214,123, 98, 0, 0, 72, 87,204, 62,170,177,251, 61,
+179,201, 32, 62,103, 62, 46,237, 39,110, 0, 0,213, 53,150,190,170,177,251, 61,179,201, 32, 62,153,193, 46,237, 39,110, 0, 0,
+ 78, 71,191, 62,241,129, 16, 62,128, 96, 66, 62,188, 43,214,251, 56,120, 2, 0,219, 37,137,190,241,129, 16, 62,128, 96, 66, 62,
+ 68,212,214,251, 56,120, 2, 0,140,144,131, 62, 31,244, 79, 62, 77,247, 99, 62, 53, 40, 29,252,116,121, 0, 0, 50,222, 26,190,
+ 31,244, 79, 62, 77,247, 99, 62,203,215, 29,252,116,121, 0, 0, 87,106, 75, 62, 48,189,124, 62,105,160,118, 62,180, 34, 68, 27,
+ 37,120, 0, 0,225, 78,190,189, 48,189,124, 62,105,160,118, 62, 76,221, 68, 27, 37,120, 0, 0,109, 42, 23, 62,236,138,113, 62,
+ 65, 23,126, 62,250,234, 91, 20,154,124, 0, 0, 31,158, 43,189,236,138,113, 62, 65, 23,126, 62, 6, 21, 91, 20,154,124, 0, 0,
+225, 75,205, 61,202,248, 23, 62,213, 91,122, 62,170,246, 84,252,154,127, 0, 0,179,158,179, 59,202,248, 23, 62,213, 91,122, 62,
+ 86, 9, 84,252,154,127, 0, 0,105,176,227, 61,217,159,203,189, 37,110,107, 62,125, 8, 79,231, 77,125, 0, 0,214,169,178,187,
+217,159,203,189, 37,110,107, 62,131,247, 79,231, 77,125, 0, 0,218,229, 26, 62, 64, 3,133,190,167,233, 58, 62, 41, 75, 84, 14,
+155,102, 2, 0,207,139, 58,189, 64, 3,133,190,167,233, 58, 62,215,180, 84, 14,155,102, 2, 0,246,142, 45, 62,184,151,194,190,
+ 99,183, 47, 62,174, 72,200,251, 69,105, 2, 0, 32,152,130,189,184,151,194,190, 99,183, 47, 62, 82,183,200,251, 69,105, 2, 0,
+206, 5, 53, 62, 99,149,222,190, 31,133, 36, 62, 39, 71, 91,228,189,102, 2, 0,208,133,145,189, 99,149,222,190, 31,133, 36, 62,
+217,184, 91,228,189,102, 2, 0, 30, 24, 38, 62,234,249,244,190,111,151, 21, 62,118, 46,217,176, 53, 89, 2, 0,224, 84,103,189,
+234,249,244,190,111,151, 21, 62,138,209,217,176, 53, 89, 2, 0, 81,129, 4, 62, 86,181,248,190,111,151, 21, 62,124, 21,143,159,
+ 92, 81, 2, 0, 89,243,193,188, 86,181,248,190,111,151, 21, 62,132,234,143,159, 92, 81, 2, 0,203,133, 88, 61,195,112,252,190,
+219, 82, 25, 62, 0, 0,155,154, 28, 78, 2, 0,203,133, 88, 61, 52, 55,247,188,128, 96, 66, 62, 0, 0,185, 1,252,127, 0, 0,
+203,133, 88, 61,222,227, 61, 61,156, 9, 85, 62, 0, 0,102,227,194,124, 0, 0, 47,225, 82, 62, 82, 93, 46, 62, 88,215, 73, 62,
+ 20, 17,134,243, 60,126, 0, 0,146, 60,205,189, 82, 93, 46, 62, 88,215, 73, 62,236,238,134,243, 60,126, 0, 0, 81,129, 4, 62,
+170, 34, 94, 60,196,146, 77, 62, 69,216, 70,234,183,119, 0, 0, 89,243,193,188,170, 34, 94, 60,196,146, 77, 62,187, 39, 70,234,
+183,119, 0, 0, 65, 39,235, 61,222,227, 61, 61, 48, 78, 81, 62, 55,235,111,230,174,123, 0, 0,173, 11, 21,188,222,227, 61, 61,
+ 48, 78, 81, 62,201, 20,111,230,174,123, 0, 0,145, 57,220, 61, 76,220,190,190,236, 27, 70, 62, 18, 23,153,248,174,125, 0, 0,
+ 77,241,236,186, 76,220,190,190,236, 27, 70, 62,238,232,153,248,174,125, 0, 0, 88,231,182, 61, 64, 3,133,190,196,146, 77, 62,
+190, 17, 95, 0,194,126, 2, 0,207,121,134, 60, 64, 3,133,190,196,146, 77, 62, 66,238, 95, 0,194,126, 2, 0,203,133, 88, 61,
+ 64, 3,133,190,196,146, 77, 62, 0, 0,122,255,254,127, 0, 0,203,133, 88, 61, 43, 11, 82,190, 88,215, 73, 62, 0, 0,111,197,
+207,113, 0, 0, 8,213,197, 61, 55,235, 55,190,116,128, 92, 62, 71, 74,123,162, 9, 46, 2, 0, 27,134, 21, 60, 55,235, 55,190,
+116,128, 92, 62,185,181,123,162, 9, 46, 2, 0, 65, 39,235, 61,174,134, 33,190, 77,247, 99, 62, 88,118,191,228,110, 40, 2, 0,
+173, 11, 21,188,174,134, 33,190, 77,247, 99, 62,168,137,191,228,110, 40, 2, 0,185,194,212, 61, 57,123,233,189,116,128, 92, 62,
+150, 79, 31, 99,242, 14, 2, 0,191,196,240, 58, 57,123,233,189,116,128, 92, 62,106,176, 31, 99,242, 14, 2, 0, 31,149,145, 61,
+ 97, 4,226,189,116,128, 92, 62, 95,217,134,120, 24, 19, 2, 0, 89,225, 13, 61, 97, 4,226,189,116,128, 92, 62,161, 38,134,120,
+ 24, 19, 2, 0,203,133, 88, 61,106, 84, 22,190,253,228,114, 62, 0, 0,137, 14, 42,127, 0, 0,247, 11,153, 61,235,104,248,189,
+ 37,110,107, 62,130,230, 5, 77,255, 98, 2, 0, 82,231,253, 60,235,104,248,189, 37,110,107, 62,126, 25, 5, 77,255, 98, 2, 0,
+ 8,213,197, 61,195,223,255,189, 37,110,107, 62,229, 46,209, 60,101,102, 2, 0, 27,134, 21, 60,195,223,255,189, 37,110,107, 62,
+ 27,209,209, 60,101,102, 2, 0,185,194,212, 61,174,134, 33,190,253,228,114, 62,254, 54, 84,232, 32,113, 2, 0,191,196,240, 58,
+174,134, 33,190,253,228,114, 62, 2,201, 84,232, 32,113, 2, 0, 88,231,182, 61,243,184, 44,190,185,178,103, 62, 59, 28,209,183,
+219,101, 2, 0,207,121,134, 60,243,184, 44,190,185,178,103, 62,197,227,209,183,219,101, 2, 0,203,133, 88, 61, 15, 98, 63,190,
+185,178,103, 62, 0, 0, 89,188,167,108, 2, 0, 98, 74, 49, 62, 83,148, 74,190,107,138,224, 61, 32,120,156, 41,218, 14, 0, 0,
+248, 14,138,189, 83,148, 74,190,107,138,224, 61,224,135,156, 41,218, 14, 0, 0, 81,129, 4, 62,134,253, 40,190,167,233, 58, 62,
+ 27, 95,200, 3,147, 85, 0, 0, 89,243,193,188,134,253, 40,190,167,233, 58, 62,229,160,200, 3,147, 85, 0, 0, 41,248, 11, 62,
+ 83,148, 74,190,167,233, 58, 62,188, 82, 59, 18,241, 95, 0, 0, 27,170,253,188, 83,148, 74,190,167,233, 58, 62, 68,173, 59, 18,
+241, 95, 0, 0, 30, 24, 38, 62,243,184, 44,190,107,138,224, 61, 9,122, 11, 36,207, 13, 0, 0,224, 84,103,189,243,184, 44,190,
+107,138,224, 61,247,133, 11, 36,207, 13, 0, 0,203,133, 88, 61, 93,165,235,190, 99,183, 47, 62, 0, 0,198, 82,160, 97, 0, 0,
+247, 11,153, 61,167,199,233,190, 99,183, 47, 62,149,208,194, 69, 69, 96, 0, 0, 82,231,253, 60,167,199,233,190, 99,183, 47, 62,
+107, 47,194, 69, 69, 96, 0, 0, 8,213,197, 61, 99,149,222,190,167,233, 58, 62,197,172,223, 7,235, 96, 0, 0, 27,134, 21, 60,
+ 99,149,222,190,167,233, 58, 62, 59, 83,223, 7,235, 96, 0, 0, 8,213,197, 61, 70,236,203,190,128, 96, 66, 62,104,241, 70,177,
+219, 99, 0, 0, 27,134, 21, 60, 70,236,203,190,128, 96, 66, 62,152, 14, 70,177,219, 99, 0, 0,203,133, 88, 61,212, 64,213,190,
+179,201, 32, 62, 0, 0,141,166,141, 91, 0, 0, 8,213,197, 61,252,201,205,190, 31,133, 36, 62,233,189,224,165, 99, 62, 0, 0,
+ 27,134, 21, 60,252,201,205,190, 31,133, 36, 62, 23, 66,224,165, 99, 62, 0, 0, 8,213,197, 61,173,183,220,190,219, 82, 25, 62,
+160,169,174, 14, 78, 93, 0, 0, 27,134, 21, 60,173,183,220,190,219, 82, 25, 62, 96, 86,174, 14, 78, 93, 0, 0,247, 11,153, 61,
+ 59, 12,230,190,111,151, 21, 62, 30,214,188, 60,151,104, 0, 0, 82,231,253, 60, 59, 12,230,190,111,151, 21, 62,226, 41,188, 60,
+151,104, 0, 0,203,133, 88, 61,241,233,231,190,111,151, 21, 62, 0, 0,177, 67,161,108, 0, 0,189, 60, 8, 62,142,209, 76, 61,
+116,128, 92, 62, 27, 21,134,244,184,125, 0, 0,186,206,223,188,142,209, 76, 61,116,128, 92, 62,229,234,134,244,184,125, 0, 0,
+149,179, 15, 62, 22,200,170, 60, 8,197, 88, 62,210,253, 49,248,189,127, 0, 0,190,194, 13,189, 22,200,170, 60, 8,197, 88, 62,
+ 46, 2, 49,248,189,127, 0, 0,155,156, 86, 62,202,248, 23, 62, 48, 78, 81, 62, 53, 21,115, 14,101,125, 0, 0,106,179,212,189,
+202,248, 23, 62, 48, 78, 81, 62,203,234,115, 14,101,125, 0, 0, 58,193, 56, 62, 94, 61, 20, 62, 8,197, 88, 62,103, 23,178, 4,
+192,125, 2, 0,168,252,152,189, 94, 61, 20, 62, 8,197, 88, 62,153,232,178, 4,192,125, 2, 0, 64,170,127, 62, 25, 11, 9, 62,
+ 8,197, 88, 62, 38, 22,205,241, 67,125, 2, 0, 90,103, 19,190, 25, 11, 9, 62, 8,197, 88, 62,218,233,205,241, 67,125, 2, 0,
+237,107,161, 62, 34, 77,229, 61,207,114, 51, 62, 51, 39, 96, 4,196,121, 0, 0,244,148, 86,190, 34, 77,229, 61,207,114, 51, 62,
+205,216, 96, 4,196,121, 0, 0, 15, 5,167, 62, 97,150,169, 61, 99,183, 47, 62,238, 23,158,247,117,125, 0, 0, 56,199, 97,190,
+ 97,150,169, 61, 99,183, 47, 62, 18,232,158,247,117,125, 0, 0, 89, 39,165, 62,125, 8, 32, 61,247,251, 43, 62, 69, 38, 13,244,
+142,121, 0, 0,204, 11, 94,190,125, 8, 32, 61,247,251, 43, 62,187,217, 13,244,142,121, 0, 0, 26,229,140, 62, 60,222,152,187,
+ 20,165, 62, 62,148, 36,144,250,137,122, 0, 0, 79,135, 45,190, 60,222,152,187, 20,165, 62, 62,108,219,144,250,137,122, 0, 0,
+184, 69,105, 62,115,128,187,188, 88,215, 73, 62,146, 25,123,229,148,122, 0, 0,163, 5,250,189,115,128,187,188, 88,215, 73, 62,
+110,230,123,229,148,122, 0, 0,178, 92, 34, 62,226,194,133,186,116,128, 92, 62,166, 1, 8,236,106,126, 0, 0, 48,103, 88,189,
+226,194,133,186,116,128, 92, 62, 90,254, 8,236,106,126, 0, 0, 41,248, 11, 62, 57, 13,177, 61,116,128, 92, 62, 48, 30, 16,242,
+153,123, 0, 0, 27,170,253,188, 57, 13,177, 61,116,128, 92, 62,208,225, 16,242,153,123, 0, 0,218,229, 26, 62,170,177,251, 61,
+116,128, 92, 62,232, 20, 76,245,210,125, 0, 0,207,139, 58,189,170,177,251, 61,116,128, 92, 62, 24,235, 76,245,210,125, 0, 0,
+ 30, 24, 38, 62,250,195,236, 61, 48, 78, 81, 62, 31, 64,221,206, 71, 99, 0, 0,224, 84,103,189,250,195,236, 61, 48, 78, 81, 62,
+225,191,221,206, 71, 99, 0, 0, 1,111, 19, 62, 57, 13,177, 61, 48, 78, 81, 62,138, 95,174,228,172, 80, 0, 0,110,176, 28,189,
+ 57, 13,177, 61, 48, 78, 81, 62,118,160,174,228,172, 80, 0, 0,138,211, 41, 62, 77,106,205, 59, 48, 78, 81, 62, 84, 54,203, 71,
+250, 90, 0, 0,143, 66,118,189, 77,106,205, 59, 48, 78, 81, 62,172,201,203, 71,250, 90, 0, 0,184, 69,105, 62,161,220, 67,188,
+128, 96, 66, 62, 14, 19,134, 78, 67, 99, 0, 0,163, 5,250,189,161,220, 67,188,128, 96, 66, 62,242,236,134, 78, 67, 99, 0, 0,
+174, 41,137, 62,149,249, 43, 59, 59, 46, 55, 62, 93,245, 83, 69, 17,107, 0, 0,118, 16, 38,190,149,249, 43, 59, 59, 46, 55, 62,
+163, 10, 83, 69, 17,107, 0, 0,129,176,157, 62,222,227, 61, 61,139, 64, 40, 62, 97,223,176, 28,101,120, 0, 0, 28, 30, 79,190,
+222,227, 61, 61,139, 64, 40, 62,159, 32,176, 28,101,120, 0, 0, 55,142,159, 62,137, 31,162, 61,139, 64, 40, 62,148,210,138,239,
+134,118, 0, 0,136,217, 82,190,137, 31,162, 61,139, 64, 40, 62,108, 45,138,239,134,118, 0, 0, 21,245,153, 62,114, 95,214, 61,
+247,251, 43, 62, 33,231, 38,177,180, 97, 0, 0, 67,167, 71,190,114, 95,214, 61,247,251, 43, 62,223, 24, 38,177,180, 97, 0, 0,
+212,238,123, 62,173, 79, 5, 62,196,146, 77, 62, 18,238,118,158,234, 80, 2, 0,238,171, 15,190,173, 79, 5, 62,196,146, 77, 62,
+238, 17,118,158,234, 80, 2, 0,166,124, 60, 62, 25, 11, 9, 62,156, 9, 85, 62, 52, 39, 21,212,166,113, 2, 0,129,115,160,189,
+ 25, 11, 9, 62,156, 9, 85, 62,204,216, 21,212,166,113, 2, 0,155,156, 86, 62,133,198, 12, 62,196,146, 77, 62, 69, 0,155,192,
+ 49,111, 0, 0,106,179,212,189,133,198, 12, 62,196,146, 77, 62,187,255,155,192, 49,111, 0, 0,109, 42, 23, 62,216,126,230, 60,
+196,146, 77, 62,255, 87, 17, 38,203, 84, 0, 0, 31,158, 43,189,216,126,230, 60,196,146, 77, 62, 1,168, 17, 38,203, 84, 0, 0,
+ 1,111, 19, 62, 63,191, 91, 61,196,146, 77, 62, 16,103,234, 1,224, 75, 0, 0,110,176, 28,189, 63,191, 91, 61,196,146, 77, 62,
+240,152,234, 1,224, 75, 0, 0,185,194,212, 61,122,230, 38, 62, 42,101, 10, 62,106,191, 91,110,188, 5, 0, 0,191,196,240, 58,
+122,230, 38, 62, 42,101, 10, 62,150, 64, 91,110,188, 5, 0, 0, 1,111, 19, 62,186,247,131, 62,150, 32, 14, 62,242,194, 70, 65,
+ 98,164, 2, 0,110,176, 28,189,186,247,131, 62,150, 32, 14, 62, 14, 61, 70, 65, 98,164, 2, 0,155,156, 86, 62,220,144,137, 62,
+ 82,238, 2, 62,171, 14,231, 83,118,160, 2, 0,106,179,212,189,220,144,137, 62, 82,238, 2, 62, 85,241,231, 83,118,160, 2, 0,
+208,194,142, 62,139,175, 83, 62,107,138,224, 61,121, 39,247,116, 47,222, 0, 0,187, 66, 49,190,139,175, 83, 62,107,138,224, 61,
+135,216,247,116, 47,222, 0, 0,152,105,189, 62, 14, 43, 35, 62,170,211,164, 61,252, 44, 81,116, 54,227, 0, 0, 37, 72,135,190,
+ 14, 43, 35, 62,170,211,164, 61, 4,211, 81,116, 54,227, 0, 0, 66,103,217, 62,133,198, 12, 62, 73,248,134, 61,158, 94,220, 76,
+251,216, 0, 0,207, 69,163,190,133,198, 12, 62, 73,248,134, 61, 98,161,220, 76,251,216, 0, 0, 32,206,211, 62,119,163,200, 60,
+252,115,211, 60, 59,120,187,216, 97,236, 0, 0,173,172,157,190,119,163,200, 60,252,115,211, 60,197,135,187,216, 97,236, 0, 0,
+123,192,170, 62,188, 45, 85,189,112, 94, 52, 61,213, 73, 49,152,144,243, 0, 0, 16, 62,105,190,188, 45, 85,189,112, 94, 52, 61,
+ 43,182, 49,152,144,243, 0, 0,140,144,131, 62, 0, 41,196,189, 33,111,142, 61, 61, 56,195,141,255,242, 0, 0, 50,222, 26,190,
+ 0, 41,196,189, 33,111,142, 61,195,199,195,141,255,242, 0, 0,203,133, 88, 61, 16,243,187, 62, 89,242,105,188, 0, 0,207,105,
+ 5, 72, 2, 0,203,133, 88, 61,226,121,208, 62,254, 7, 62,190, 0, 0,246,127,248, 2, 2, 0,203,133, 88, 61,254,152, 18,190,
+ 11,214,236,190, 0, 0,213,166, 46,164, 3, 0,203,133, 88, 61,173,190,136,190,139,142,124,189, 0, 0,195,129,226,234, 0, 0,
+203,133, 88, 61,205,243, 1,191, 73,248,134, 61, 0, 0, 26,147,190,188, 2, 0,203,133, 88, 61,247,217,218,190,241, 12, 56, 60,
+ 0, 0,226,217,208,133, 2, 0,203,133, 88, 61,161,222,162,190,147, 21,157, 57, 0, 0, 83,215,164,134, 0, 0,203,133, 88, 61,
+207, 87,142,190,141,212,146,188, 0, 0,243,152, 22,180, 0, 0, 61,119,230, 62,239,172,106, 61,161, 43,253,189,243,124, 39,230,
+ 19, 10, 0, 0,202, 85,176,190,239,172,106, 61,161, 43,253,189, 13,131, 39,230, 19, 10, 0, 0,243, 84,232, 62,194,113,199, 61,
+ 78, 26, 47,190,220,127, 45,250,202, 0, 0, 0,128, 51,178,190,194,113,199, 61, 78, 26, 47,190, 36,128, 45,250,202, 0, 0, 0,
+ 32,206,211, 62,216, 49,147, 61,181,218,180,190, 32, 80,174,252, 62,156, 1, 0,173,172,157,190,216, 49,147, 61,181,218,180,190,
+224,175,174,252, 62,156, 1, 0,174, 41,137, 62, 54,180, 27, 62,226, 76,244,190, 9, 58, 51, 25,189,144, 3, 0,118, 16, 38,190,
+ 54,180, 27, 62,226, 76,244,190,247,197, 51, 25,189,144, 3, 0,146,121,202, 62,239, 95,151,189,240, 61,238,189,139, 91, 11,167,
+108, 9, 2, 0, 31, 88,148,190,239, 95,151,189,240, 61,238,189,117,164, 11,167,108, 9, 2, 0,197,226,168, 62, 97, 4,226,189,
+163, 21,103,190, 32, 35, 32,133,239,248, 0, 0,164,130,101,190, 97, 4,226,189,163, 21,103,190,224,220, 32,133,239,248, 0, 0,
+ 9, 21,180, 62,109, 27,100,189,255,252,178,190,117, 51, 16,177, 97,169, 1, 0, 45,231,123,190,109, 27,100,189,255,252,178,190,
+139,204, 16,177, 97,169, 1, 0,155,156, 86, 62,211, 91,217,188, 85,248,234,190, 58, 54,135,214,188,147, 2, 0,106,179,212,189,
+211, 91,217,188, 85,248,234,190,198,201,135,214,188,147, 2, 0, 30, 24, 38, 62,112, 61, 93,190,191,112, 37, 61,229,122,202,255,
+ 60,220, 0, 0,224, 84,103,189,112, 61, 93,190,191,112, 37, 61, 27,133,202,255, 60,220, 0, 0, 41,248, 11, 62,209, 24,123,190,
+176,102,236,188,236, 92,238,180, 10,210, 0, 0, 27,170,253,188,209, 24,123,190,176,102,236,188, 20,163,238,180, 10,210, 0, 0,
+ 19, 56, 64, 62,110,117,196,190, 92, 79,241, 60,138, 77,170, 2, 52,154, 2, 0, 89,234,167,189,110,117,196,190, 92, 79,241, 60,
+118,178,170, 2, 52,154, 2, 0,246,142, 45, 62, 59, 19,146,190, 95,149, 7, 61,103, 99,206,254, 97,175, 0, 0, 32,152,130,189,
+ 59, 19,146,190, 95,149, 7, 61,153,156,206,254, 97,175, 0, 0, 47,225, 82, 62,234,249,244,190, 15,131, 22, 61,129, 71, 28,196,
+ 90,168, 2, 0,146, 60,205,189,234,249,244,190, 15,131, 22, 61,127,184, 28,196, 90,168, 2, 0, 25,158,242, 61,178,167,207,190,
+155,152,181, 60,141, 16, 26,233, 42,131, 0, 0,110,194, 80,188,178,167,207,190,155,152,181, 60,115,239, 26,233, 42,131, 0, 0,
+105,176,227, 61,201,103,155,190, 58,189,151, 60, 50, 43,143,223,247,139, 0, 0,214,169,178,187,201,103,155,190, 58,189,151, 60,
+206,212,143,223,247,139, 0, 0, 81,129, 4, 62,195,112,252,190,129, 39, 97, 61,181, 12,181,157, 3,175, 0, 0, 89,243,193,188,
+195,112,252,190,129, 39, 97, 61, 75,243,181,157, 3,175, 0, 0, 70,161, 30, 62,163,166, 59,190,208, 57, 82, 61,142,124,137,226,
+ 5, 0, 0, 0,127,121, 73,189,163,166, 59,190,208, 57, 82, 61,114,131,137,226, 5, 0, 0, 0,218,229, 26, 62,174,134, 33,190,
+ 33,111,142, 61, 18,122,107,230,193, 28, 0, 0,207,139, 58,189,174,134, 33,190, 33,111,142, 61,238,133,107,230,193, 28, 0, 0,
+109, 42, 23, 62,186,102, 7,190,130, 74,172, 61, 49,104, 11,185, 42, 22, 0, 0, 31,158, 43,189,186,102, 7,190,130, 74,172, 61,
+207,151, 11,185, 42, 22, 0, 0,218,229, 26, 62,140,230,111,190,206,171,148,189, 91, 75,146,152,161,253, 0, 0,207,139, 58,189,
+140,230,111,190,206,171,148,189,165,180,146,152,161,253, 0, 0,127,243, 67, 62, 83,148, 74,190, 16,205,139,190,187, 66, 88,150,
+ 83,228, 2, 0, 49, 97,175,189, 83,148, 74,190, 16,205,139,190, 69,189, 88,150, 83,228, 2, 0, 7, 88, 90, 62,235,104,248,189,
+244, 28,205,190,113, 66, 21,172,210,185, 3, 0, 66, 42,220,189,235,104,248,189,244, 28,205,190,143,189, 21,172,210,185, 3, 0,
+248, 75,135, 62, 55,124,180, 62,187,202,167,190,129, 54,206,102,175,202, 2, 0, 10, 85, 34,190, 55,124,180, 62,187,202,167,190,
+127,201,206,102,175,202, 2, 0,248, 75,135, 62,232,105,195, 62,146, 76, 58,190,186, 53, 22,116,118, 4, 2, 0, 10, 85, 34,190,
+232,105,195, 62,146, 76, 58,190, 70,202, 22,116,118, 4, 2, 0,248, 75,135, 62,203,192,176, 62,105,252, 34,189, 3, 59,236, 93,
+221, 63, 2, 0, 10, 85, 34,190,203,192,176, 62,105,252, 34,189,253,196,236, 93,221, 63, 2, 0,174, 41,137, 62,219,193, 68, 62,
+208, 57, 82, 61, 32, 50,252,105, 90, 51, 0, 0,118, 16, 38,190,219,193, 68, 62,208, 57, 82, 61,224,205,252,105, 90, 51, 0, 0,
+220,155,200, 62,133,198, 12, 62, 95,172,248, 59,242, 97,236, 79, 9, 20, 0, 0,105,122,146,190,133,198, 12, 62, 95,172,248, 59,
+ 14,158,236, 79, 9, 20, 0, 0, 83, 55,178, 62, 14, 43, 35, 62,141,212,146,188,108, 60,141, 99, 28, 53, 0, 0,193, 43,120,190,
+ 14, 43, 35, 62,141,212,146,188,148,195,141, 99, 28, 53, 0, 0, 9, 21,180, 62, 72, 76,141, 62,161, 43,253,189, 96, 83, 57, 87,
+177, 42, 0, 0, 45,231,123,190, 72, 76,141, 62,161, 43,253,189,160,172, 57, 87,177, 42, 0, 0, 66,103,217, 62,247,106, 87, 62,
+ 7,254,185,189,174, 95, 44, 68,204, 50, 2, 0,207, 69,163,190,247,106, 87, 62, 7,254,185,189, 82,160, 44, 68,204, 50, 2, 0,
+ 66,103,217, 62,236,138,113, 62, 26,177, 80,190,105,109, 79, 66, 37,252, 2, 0,207, 69,163,190,236,138,113, 62, 26,177, 80,190,
+151,146, 79, 66, 37,252, 2, 0, 9, 21,180, 62,141,126,152, 62, 83, 3,118,190,226, 86,170, 93, 43,248, 0, 0, 45,231,123,190,
+141,126,152, 62, 83, 3,118,190, 30,169,170, 93, 43,248, 0, 0, 9, 21,180, 62, 38,179,135, 62,107,184,182,190,111, 82,219, 68,
+100,186, 2, 0, 45,231,123,190, 38,179,135, 62,107,184,182,190,145,173,219, 68,100,186, 2, 0, 66,103,217, 62,179, 56, 76, 62,
+153, 49,162,190,218,111, 76, 39,195,207, 2, 0,207, 69,163,190,179, 56, 76, 62,153, 49,162,190, 38,144, 76, 39,195,207, 2, 0,
+231,123,174, 62,154,232,206, 61, 56, 79,216,190, 2, 75, 5,254, 79,152, 3, 0,232,180,112,190,154,232,206, 61, 56, 79,216,190,
+254,180, 5,254, 79,152, 3, 0,208,194,142, 62,171,100, 40,189,170,250,206,190,171, 69,136,192,101,169, 1, 0,187, 66, 49,190,
+171,100, 40,189,170,250,206,190, 85,186,136,192,101,169, 0, 0,100, 0,223, 62,154,232,206, 61,191,190,121,190,190,114,245, 38,
+ 55, 41, 0, 0,241,222,168,190,154,232,206, 61,191,190,121,190, 66,141,245, 38, 55, 41, 0, 0,104, 51,120, 62,186,102, 7,190,
+127,153,163,189, 89, 73, 32,153,123, 20, 0, 0,130,240, 11,190,186,102, 7,190,127,153,163,189,167,182, 32,153,123, 20, 0, 0,
+214,178,129, 62,254,152, 18,190, 44,122,125,190, 90, 74,132,153, 69,237, 0, 0,198, 34, 23,190,254,152, 18,190, 44,122,125,190,
+166,181,132,153, 69,237, 0, 0,202,203,239, 62,133,198, 12, 62, 56, 86,132,190, 43,219,144, 94, 0, 78, 2, 0, 88,170,185,190,
+133,198, 12, 62, 56, 86,132,190,213, 36,144, 94, 0, 78, 2, 0, 32,206,211, 62, 18,242,240,189,135,108, 84,190, 98,250, 11,173,
+ 79, 97, 2, 0,173,172,157,190, 18,242,240,189,135,108, 84,190,158, 5, 11,173, 79, 97, 2, 0, 38,160, 9, 63,217,159,203,189,
+192,186,154,190,102, 60, 54,156,176, 52, 0, 0,219, 30,221,190,217,159,203,189,192,186,154,190,154,195, 54,156,177, 52, 0, 0,
+172,140, 38, 63,211, 91,217,188,255,252,178,190, 40, 86, 6,192,194, 69, 0, 0,244,123, 11,191,211, 91,217,188,255,252,178,190,
+216,169, 6,192,194, 69, 0, 0, 95,242, 46, 63,194,113,199, 61, 73, 31,177,190, 16,101,233, 22, 32, 75, 2, 0,167,225, 19,191,
+194,113,199, 61, 73, 31,177,190,240,154,233, 22, 32, 75, 2, 0,138,243, 32, 63, 3, 75, 61, 62, 73, 31,177,190, 32, 46, 37,110,
+ 20, 46, 0, 0,209,226, 5,191, 3, 75, 61, 62, 73, 31,177,190,224,209, 37,110, 20, 46, 0, 0,112,194, 7, 63, 82, 93, 46, 62,
+ 84,255,150,190, 21, 2,210,111, 62, 62, 0, 0,111, 99,217,190, 82, 93, 46, 62, 84,255,150,190,235,253,210,111, 62, 62, 0, 0,
+149,211, 6, 63,241,129, 16, 62, 50,102,145,190, 97, 69, 95,247, 54,107, 0, 0,185,133,215,190,241,129, 16, 62, 50,102,145,190,
+159,186, 95,247, 54,107, 0, 0,104, 90, 27, 63, 54,180, 27, 62,113,168,169,190,159, 40, 26,244,203,120, 0, 0,175, 73, 0,191,
+ 54,180, 27, 62,113,168,169,190, 97,215, 26,244,203,120, 0, 0,246,174, 36, 63, 97,150,169, 61,221, 99,173,190,162,240,132,244,
+140,126, 0, 0, 62,158, 9,191, 97,150,169, 61,221, 99,173,190, 94, 15,132,244,140,126, 0, 0,249, 38, 30, 63, 98,147,127,188,
+221, 99,173,190,238,252, 16, 35, 15,123, 0, 0, 64, 22, 3,191, 98,147,127,188,221, 99,173,190, 18, 3, 16, 35, 15,123, 0, 0,
+ 75,177, 8, 63, 23,233,143,189,158, 33,149,190,255, 62, 10, 35,196,105, 0, 0, 37, 65,219,190, 23,233,143,189,158, 33,149,190,
+ 1,193, 10, 35,196,105, 0, 0, 26,222,224, 62,120,196,173,189,243, 39, 88,190,176, 43, 36, 45,132,111, 2, 0,167,188,170,190,
+120,196,173,189,243, 39, 88,190, 80,212, 36, 45,132,111, 2, 0,162, 66,247, 62,250,195,236, 61,204,154,128,190,191, 58,236,247,
+109,113, 2, 0, 48, 33,193,190,250,195,236, 61,204,154,128,190, 65,197,236,247,109,113, 2, 0,196,219,252, 62, 17,132,184, 61,
+ 50,102,145,190, 9, 88, 45,185, 34, 60, 0, 0, 82,186,198,190, 17,132,184, 61, 50,102,145,190,247,167, 45,185, 34, 60, 0, 0,
+ 21,238,237, 62,103,251,128,189, 44,122,125,190,210, 29,124,112, 75, 53, 0, 0,162,204,183,190,103,251,128,189, 44,122,125,190,
+ 46,226,124,112, 75, 53, 0, 0, 38,160, 9, 63,188, 45, 85,189, 79, 15,164,190,175,234, 24,122,245, 31, 0, 0,219, 30,221,190,
+188, 45, 85,189, 79, 15,164,190, 81, 21, 24,122,245, 31, 0, 0,104, 90, 27, 63,223, 37, 8,188,107,184,182,190,141,158,211, 82,
+ 28, 5, 0, 0,175, 73, 0,191,223, 37, 8,188,107,184,182,190,115, 97,211, 82, 28, 5, 0, 0,138,243, 32, 63, 40, 68,132, 61,
+107,184,182,190,111,130, 12,244,188, 21, 0, 0,209,226, 5,191, 40, 68,132, 61,107,184,182,190,145,125, 12,244,188, 21, 0, 0,
+178,124, 25, 63,250,195,236, 61,181,218,180,190,245,237, 22,157, 52, 79, 0, 0,242,215,252,190,250,195,236, 61,181,218,180,190,
+ 11, 18, 22,157, 52, 79, 0, 0,112,194, 7, 63, 74,214,221, 61,153, 49,162,190,132, 71,190,171,144, 64, 0, 0,111, 99,217,190,
+ 74,214,221, 61,153, 49,162,190,124,184,190,171,144, 64, 0, 0,135,153,228, 62, 97,150,169, 61, 44,122,125,190, 16, 95,148,222,
+236, 78, 0, 0, 20,120,174,190, 97,150,169, 61, 44,122,125,190,240,160,148,222,236, 78, 0, 0,209,187,226, 62,216,126,230, 60,
+198,170,141,190,194, 95,198,181, 68, 41, 0, 0, 93,154,172,190,216,126,230, 60,198,170,141,190, 62,160,198,181, 68, 41, 0, 0,
+180, 18,208, 62,223, 37, 8,188,198,170,141,190,238,109,193, 4, 98, 65, 0, 0, 65,241,153,190,223, 37, 8,188,198,170,141,190,
+ 18,146,193, 4, 98, 65, 0, 0,100, 0,223, 62,161,220, 67,188,198,170,141,190, 91, 73,245, 92,148, 48, 2, 0,241,222,168,190,
+161,220, 67,188,198,170,141,190,165,182,245, 92,148, 48, 2, 0,135,153,228, 62, 92, 82, 55,189,198,170,141,190, 27,113, 2,248,
+ 97, 59, 2, 0, 20,120,174,190, 92, 82, 55,189,198,170,141,190,229,142, 2,248, 97, 59, 2, 0,174, 34,221, 62, 29, 9,115,189,
+198,170,141,190,241, 75,125, 72, 55, 73, 0, 0, 59, 1,167,190, 29, 9,115,189,198,170,141,190, 15,180,125, 72, 55, 73, 0, 0,
+220,155,200, 62,188, 45, 85,189,146, 76, 58,190, 69,110,138,193, 22,238, 0, 0,105,122,146,190,188, 45, 85,189,146, 76, 58,190,
+187,145,138,193, 22,238, 0, 0, 38,190,198, 62,103,251,128,189, 15,209,106,190, 93, 95,240, 10,170, 84, 0, 0,179,156,144,190,
+103,251,128,189, 15,209,106,190,163,160,240, 10,170, 84, 0, 0, 38,190,198, 62, 74,137, 10,189,231, 71,114,190,226,117,157,233,
+140, 44, 0, 0,179,156,144,190, 74,137, 10,189,231, 71,114,190, 30,138,157,233,140, 44, 0, 0, 66,103,217, 62, 45,246, 46, 61,
+ 44,122,125,190,156,111,186,201, 79, 31, 0, 0,207, 69,163,190, 45,246, 46, 61, 44,122,125,190,100,144,186,201, 79, 31, 0, 0,
+202,203,239, 62,159,154,121, 61, 16,205,139,190, 32, 89,187,186, 87, 60, 0, 0, 88,170,185,190,159,154,121, 61, 16,205,139,190,
+224,166,187,186, 87, 60, 0, 0,202,203,239, 62,239,172,106, 61, 10,221,152,190, 91, 85, 90,200,118, 77, 0, 0, 88,170,185,190,
+239,172,106, 61, 10,221,152,190,165,170, 90,200,118, 77, 0, 0,174, 34,221, 62, 29, 9,115,189, 10,221,152,190,123, 84,188, 44,
+ 29, 85, 0, 0, 59, 1,167,190, 29, 9,115,189, 10,221,152,190,133,171,188, 44, 29, 85, 0, 0, 61,119,230, 62, 92, 82, 55,189,
+ 10,221,152,190,219, 47, 50, 47,237,108, 0, 0,202, 85,176,190, 92, 82, 55,189, 10,221,152,190, 37,208, 50, 47,237,108, 0, 0,
+ 26,222,224, 62, 98,147,127,188, 10,221,152,190,236, 56,223, 47, 42,104, 0, 0,167,188,170,190, 98,147,127,188, 10,221,152,190,
+ 20,199,223, 47, 42,104, 0, 0,106,240,209, 62,223, 37, 8,188, 10,221,152,190, 79,100, 44, 32,179, 72, 0, 0,247,206,155,190,
+223, 37, 8,188, 10,221,152,190,177,155, 44, 32,179, 72, 0, 0,135,153,228, 62,216,126,230, 60, 10,221,152,190, 35, 73,126,201,
+202, 89, 0, 0, 20,120,174,190,216,126,230, 60, 10,221,152,190,221,182,126,201,202, 89, 0, 0, 38,160, 9, 63,154,232,206, 61,
+147, 65,175,190, 1, 62,211,212, 80,103, 0, 0,219, 30,221,190,154,232,206, 61,147, 65,175,190,255,193,211,212, 80,103, 0, 0,
+104, 90, 27, 63, 74,214,221, 61,249, 12,192,190, 51,224,110,181, 12, 99, 0, 0,175, 73, 0,191, 74,214,221, 61,249, 12,192,190,
+205, 31,110,181, 12, 99, 0, 0, 27,192, 35, 63,159,154,121, 61,175,234,193,190,220,160,139,243,182, 84, 0, 0, 98,175, 8,191,
+159,154,121, 61,175,234,193,190, 36, 95,139,243,182, 84, 0, 0,249, 38, 30, 63,161,220, 67,188,249, 12,192,190,253,186,174, 57,
+ 16, 91, 0, 0, 64, 22, 3,191,161,220, 67,188,249, 12,192,190, 3, 69,174, 57, 16, 91, 0, 0, 1,143, 10, 63,188, 45, 85,189,
+ 73, 31,177,190, 44, 11,185, 94, 90, 85, 0, 0,145,252,222,190,188, 45, 85,189, 73, 31,177,190,212,244,185, 94, 90, 85, 0, 0,
+ 21,238,237, 62, 29, 9,115,189, 16,205,139,190,131,249,213,121,178, 38, 0, 0,162,204,183,190, 29, 9,115,189, 16,205,139,190,
+125, 6,213,121,178, 38, 0, 0,122,185,254, 62, 97,150,169, 61, 45,118,158,190, 97, 81,161,203,196, 83, 0, 0, 8,152,200,190,
+ 97,150,169, 61, 45,118,158,190,159,174,161,203,196, 83, 0, 0,202,203,239, 62,226,194,133,186,192,186,154,190, 99, 25,168, 0,
+115,125, 0, 0, 88,170,185,190,226,194,133,186,192,186,154,190,157,230,168, 0,115,125, 0, 0, 14,254,250, 62,115,128,187,188,
+119,152,156,190, 86, 49,224, 14, 41,117, 0, 0,156,220,196,190,115,128,187,188,119,152,156,190,170,206,224, 14, 41,117, 0, 0,
+223,245, 4, 63, 77,106,205, 59, 79, 15,164,190, 60, 55,195,251, 98,115, 0, 0, 76,202,211,190, 77,106,205, 59, 79, 15,164,190,
+196,200,195,251, 98,115, 0, 0,152, 75, 0, 63,216,126,230, 60,227, 83,160,190,255, 41, 6, 0,232,120, 0, 0,190,117,202,190,
+216,126,230, 60,227, 83,160,190, 1,214, 6, 0,232,120, 0, 0,149,211, 6, 63,239,172,106, 61, 5,237,165,190,174, 40,253, 11,
+196,120, 0, 0,185,133,215,190,239,172,106, 61, 5,237,165,190, 82,215,253, 11,196,120, 0, 0,220,125, 11, 63,205, 26, 17, 61,
+187,202,167,190, 32, 44, 47,246,191,119, 0, 0, 71,218,224,190,205, 26, 17, 61,187,202,167,190,224,211, 47,246,191,119, 0, 0,
+218, 5, 18, 63,222,227, 61, 61,113,168,169,190,222, 55, 67,254, 37,115, 2, 0, 65,234,237,190,222,227, 61, 61,113,168,169,190,
+ 34,200, 67,254, 37,115, 2, 0, 73, 57, 15, 63,176,168,154, 61,113,168,169,190,188, 45, 37, 38, 75,113, 2, 0, 31, 81,232,190,
+176,168,154, 61,113,168,169,190, 68,210, 37, 38, 75,113, 2, 0,112,194, 7, 63, 54,180, 27, 62,249, 12,192,190,139,202,127, 71,
+ 71,164, 3, 0,111, 99,217,190, 54,180, 27, 62,249, 12,192,190,117, 53,127, 71, 71,164, 3, 0, 64,209, 34, 63,230,161, 42, 62,
+170,250,206,190, 2, 39,153, 79,172,163, 3, 0,135,192, 7,191,230,161, 42, 62,170,250,206,190,254,216,153, 79,172,163, 3, 0,
+ 21,208, 48, 63, 57, 13,177, 61,102,200,195,190, 49,118,245, 10, 30,208, 3, 0, 93,191, 21,191, 57, 13,177, 61,102,200,195,190,
+207,137,245, 10, 30,208, 3, 0, 24, 72, 42, 63,211, 91,217,188, 62, 63,203,190,182, 78, 54,193,251,176, 3, 0, 96, 55, 15,191,
+211, 91,217,188, 62, 63,203,190, 74,177, 54,193,251,176, 3, 0, 38,160, 9, 63, 40,178,188,189,175,234,193,190,165,250,140,166,
+156,164, 3, 0,219, 30,221,190, 40,178,188,189,175,234,193,190, 91, 5,140,166,156,164, 3, 0,140,137,215, 62, 97, 4,226,189,
+192,186,154,190,203,245,207,147, 96,188, 1, 0, 25,104,161,190, 97, 4,226,189,192,186,154,190, 53, 10,207,147, 96,188, 1, 0,
+243, 84,232, 62, 65,148, 1, 62,187,202,167,190, 3,172, 39, 73,240,192, 1, 0,128, 51,178,190, 65,148, 1, 62,187,202,167,190,
+253, 83, 39, 73,240,192, 1, 0, 68, 65, 84, 65,104, 1, 0, 0,104,148, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24,150, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,128, 91,181, 3, 19, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 69, 0, 0, 24, 1, 0, 0,208, 91,181, 3, 38, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 69,112,114,101,118,105,101,119, 0,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 93,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 93,181, 3, 19, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 69, 0, 0, 24, 1, 0, 0,104, 93,181, 3, 38, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208, 91,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 69,102, 97,107,101,115,104, 97,100,111,119, 0, 0, 76,101,110,100, 0,101,120, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 40, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 0, 0, 24, 1, 0, 0,176, 94,181, 3, 52, 0, 0, 0, 1, 0, 0, 0,
-112, 96,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248, 95,181, 3,160,195,181, 3,224,234,181, 3, 0, 0, 0, 0,184, 97,181, 3,200,146,181, 3,
- 0, 0, 0, 0, 0, 65,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 96,181, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,145,181, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,194,181, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-249, 1, 0, 0,237, 3, 0, 0,244, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,192,133, 88, 61,184, 45, 85,189,
-196,181, 24,190,185, 71, 35, 63,153, 31,235, 62,130,102,203, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 4, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-248, 95,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0, 48, 96,181, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184, 97,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 47, 0, 0,
-184, 97,181, 3, 58, 0, 0, 0,249, 1, 0, 0,140,144,131, 62,119,163,200, 60,156, 9, 85, 62,125, 92, 70,170,228, 21,255, 0,
- 0, 0, 0, 0, 50,222, 26,190,119,163,200, 60,156, 9, 85, 62,131,163, 70,170,228, 21,255, 0, 0, 0, 0, 0, 61,126,146, 62,
-223, 37, 8,188, 99,183, 47, 62,247, 76,191,194,228, 81,255, 0, 2, 0, 0, 0,147,185, 56,190,223, 37, 8,188, 99,183, 47, 62,
- 9,179,191,194,228, 81,255, 0, 2, 0, 0, 0,129,176,157, 62,211, 91,217,188,244,238,246, 61, 31, 84,226,181,191, 61,255, 0,
- 2, 0, 0, 0, 28, 30, 79,190,211, 91,217,188,244,238,246, 61,225,171,226,181,191, 61,255, 0, 2, 0, 0, 0,115, 19, 94, 62,
-103,251,128,189,150, 32, 14, 62,241, 9,155,144, 64, 62,255, 0, 2, 0, 0, 0, 26,161,227,189,103,251,128,189,150, 32, 14, 62,
- 15,246,155,144, 64, 62,255, 0, 2, 0, 0, 0,115, 19, 94, 62,251,118, 25,189, 20,165, 62, 62,184, 14,144,163, 76, 87,255, 0,
- 2, 0, 0, 0, 26,161,227,189,251,118, 25,189, 20,165, 62, 62, 72,241,144,163, 76, 87,255, 0, 2, 0, 0, 0,115, 19, 94, 62,
-232,107, 34, 60,116,128, 92, 62, 3, 3,121,131,110, 29,255, 0, 0, 0, 0, 0, 26,161,227,189,232,107, 34, 60,116,128, 92, 62,
-253,252,121,131,110, 29,255, 0, 0, 0, 0, 0, 58,193, 56, 62,119,163,200, 60, 77,247, 99, 62, 56,171,117,167,206, 36,255, 0,
- 0, 0, 0, 0,168,252,152,189,119,163,200, 60, 77,247, 99, 62,200, 84,117,167,206, 36,255, 0, 0, 0, 0, 0,109, 42, 23, 62,
-223, 37, 8,188, 88,215, 73, 62,152,217,122,203, 56,110,255, 0, 0, 0, 0, 0,229,197, 0, 62,211, 91,217,188, 71, 14, 29, 62,
-179,184, 93,175, 66, 69,255, 0, 2, 0, 0, 0,249, 23,164,188,211, 91,217,188, 71, 14, 29, 62, 77, 71, 93,175, 66, 69,255, 0,
- 2, 0, 0, 0, 88,231,182, 61,159,154,121, 61,179,201, 32, 62,181,151,104,255, 51, 74,255, 0, 2, 0, 0, 0,207,121,134, 60,
-159,154,121, 61,179,201, 32, 62, 75,104,104,255, 51, 74,255, 0, 2, 0, 0, 0, 25,158,242, 61,159,154,121, 61, 88,215, 73, 62,
- 78,171,150,255,246, 95,255, 0, 2, 0, 0, 0,110,194, 80,188,159,154,121, 61, 88,215, 73, 62,178, 84,150,255,246, 95,255, 0,
- 2, 0, 0, 0,138,211, 41, 62,159,154,121, 61, 77,247, 99, 62,152,133,153,254, 98, 37,255, 0, 0, 0, 0, 0,143, 66,118,189,
-159,154,121, 61, 77,247, 99, 62,104,122,153,254, 98, 37,255, 0, 0, 0, 0, 0, 58,193, 56, 62,154,232,206, 61, 77,247, 99, 62,
- 24,170, 13, 88, 89, 35,255, 0, 0, 0, 0, 0,168,252,152,189,154,232,206, 61, 77,247, 99, 62,232, 85, 13, 88, 89, 35,255, 0,
- 0, 0, 0, 0,109, 42, 23, 62,173, 79, 5, 62, 88,215, 73, 62,249,200,221, 65,244, 94,255, 0, 2, 0, 0, 0, 31,158, 43,189,
-173, 79, 5, 62, 88,215, 73, 62, 7, 55,221, 65,244, 94,255, 0, 2, 0, 0, 0,229,197, 0, 62, 54,180, 27, 62, 71, 14, 29, 62,
- 51,186, 86, 78, 78, 73,255, 0, 2, 0, 0, 0,249, 23,164,188, 54,180, 27, 62, 71, 14, 29, 62,205, 69, 86, 78, 78, 73,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62,111, 6, 65, 62,150, 32, 14, 62, 2, 11,152,107,114, 68,255, 0, 2, 0, 0, 0, 26,161,227,189,
-111, 6, 65, 62,150, 32, 14, 62,254,244,152,107,114, 68,255, 0, 2, 0, 0, 0,115, 19, 94, 62, 14, 43, 35, 62, 20,165, 62, 62,
-201, 14,180, 91, 14, 88,255, 0, 2, 0, 0, 0, 26,161,227,189, 14, 43, 35, 62, 20,165, 62, 62, 55,241,180, 91, 14, 88,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62,250,195,236, 61,116,128, 92, 62,134, 2, 29,125,228, 26,255, 0, 0, 0, 0, 0, 26,161,227,189,
-250,195,236, 61,116,128, 92, 62,122,253, 29,125,228, 26,255, 0, 0, 0, 0, 0,140,144,131, 62,154,232,206, 61,156, 9, 85, 62,
- 54, 93, 67, 85,154, 20,255, 0, 0, 0, 0, 0, 50,222, 26,190,154,232,206, 61,156, 9, 85, 62,202,162, 67, 85,154, 20,255, 0,
- 0, 0, 0, 0, 61,126,146, 62,173, 79, 5, 62, 99,183, 47, 62,241, 76,161, 60, 97, 82,255, 0, 2, 0, 0, 0,147,185, 56,190,
-173, 79, 5, 62, 99,183, 47, 62, 15,179,161, 60, 97, 82,255, 0, 2, 0, 0, 0,129,176,157, 62, 54,180, 27, 62,244,238,246, 61,
-179, 83,157, 71, 45, 65,255, 0, 2, 0, 0, 0, 28, 30, 79,190, 54,180, 27, 62,244,238,246, 61, 77,172,157, 71, 45, 65,255, 0,
- 2, 0, 0, 0,157, 89,176, 62,159,154,121, 61, 67, 1,232, 61, 40,111,113,255,117, 63,255, 0, 2, 0, 0, 0, 84,112,116,190,
-159,154,121, 61, 67, 1,232, 61,216,144,113,255,117, 63,255, 0, 2, 0, 0, 0,237,107,161, 62,159,154,121, 61,139, 64, 40, 62,
- 48,100,154,255,167, 79,255, 0, 2, 0, 0, 0,244,148, 86,190,159,154,121, 61,139, 64, 40, 62,208,155,154,255,167, 79,255, 0,
- 2, 0, 0, 0,100, 7,139, 62,159,154,121, 61, 48, 78, 81, 62,117,126,181,254,185, 19,255, 0, 0, 0, 0, 0,227,203, 41,190,
-159,154,121, 61, 48, 78, 81, 62,139,129,181,254,185, 19,255, 0, 0, 0, 0, 0, 26,229,140, 62,159,154,121, 61, 8,197, 88, 62,
-160,120,106,254,198, 42,255, 0, 2, 0, 0, 0, 79,135, 45,190,159,154,121, 61, 8,197, 88, 62, 96,135,106,254,198, 42,255, 0,
- 2, 0, 0, 0, 66,110,133, 62,114, 95,214, 61,116,128, 92, 62,173, 93,126, 74, 93, 45,255, 0, 2, 0, 0, 0,158,153, 30,190,
-114, 95,214, 61,116,128, 92, 62, 83,162,126, 74, 93, 45,255, 0, 2, 0, 0, 0,115, 19, 94, 62,170,177,251, 61,185,178,103, 62,
- 9, 11, 31,115,216, 54,255, 0, 2, 0, 0, 0, 26,161,227,189,170,177,251, 61,185,178,103, 62,247,244, 31,115,216, 54,255, 0,
- 2, 0, 0, 0,206, 5, 53, 62,114, 95,214, 61,145, 41,111, 62, 9,181,184, 80, 43, 65,255, 0, 2, 0, 0, 0,208,133,145,189,
-114, 95,214, 61,145, 41,111, 62,247, 74,184, 80, 43, 65,255, 0, 2, 0, 0, 0,178, 92, 34, 62,159,154,121, 61,145, 41,111, 62,
-116,146, 57,254, 43, 66,255, 0, 2, 0, 0, 0, 48,103, 88,189,159,154,121, 61,145, 41,111, 62,140,109, 57,254, 43, 66,255, 0,
- 2, 0, 0, 0,206, 5, 53, 62, 22,200,170, 60,145, 41,111, 62, 34,182,181,173,115, 64,255, 0, 2, 0, 0, 0,208,133,145,189,
- 22,200,170, 60,145, 41,111, 62,222, 73,181,173,115, 64,255, 0, 2, 0, 0, 0,115, 19, 94, 62,159,154,121, 61,253,228,114, 62,
- 74, 24,139,255,171,125,255, 0, 2, 0, 0, 0, 26,161,227,189,159,154,121, 61,253,228,114, 62,182,231,139,255,171,125,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62,149,249, 43, 59,185,178,103, 62,218, 10,140,140, 45, 54,255, 0, 2, 0, 0, 0, 26,161,227,189,
-149,249, 43, 59,185,178,103, 62, 38,245,140,140, 45, 54,255, 0, 2, 0, 0, 0, 66,110,133, 62, 22,200,170, 60,116,128, 92, 62,
-141, 92,203,179,210, 44,255, 0, 2, 0, 0, 0,158,153, 30,190, 22,200,170, 60,116,128, 92, 62,115,163,203,179,210, 44,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,202,248, 23, 62, 88,215, 73, 62, 0, 0, 43,124, 17, 31,255, 0, 0, 0, 0, 0,203,133, 88, 61,
- 34, 77,229, 61,145, 41,111, 62, 0, 0, 63,249,209,127,255, 0, 0, 0, 0, 0,203,133, 88, 61,150,254,188,190,236, 27, 70, 62,
- 0, 0,204,251,237,127,255, 0, 0, 0, 0, 0,203,133, 88, 61,191, 79, 78,190,116,128, 92, 62, 0, 0, 33,150,238, 71,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,146,221, 14,190, 77,247, 99, 62, 0, 0, 28,100,192, 79,255, 0, 0, 0, 0, 0,203,133, 88, 61,
- 30, 99,211,190, 20,165, 62, 62, 0, 0,184,142,147, 59,255, 0, 2, 0, 0, 0,203,133, 88, 61,133,198, 12, 62,190,169, 6, 62,
- 0, 0,143,103, 57, 75,255, 0, 0, 0, 0, 0,203,133, 88, 61, 99, 38, 91, 62, 28,120,239, 61, 0, 0,115, 78, 34,101,255, 0,
- 0, 0, 0, 0,203,133, 88, 61, 16,243,187, 62,170,250,206,190, 0, 0,190,110,212,191,255, 0, 2, 0, 0, 0,203,133, 88, 61,
-247,106, 87, 62,178,224, 11,191, 0, 0,144, 35, 12,133,255, 0, 3, 0, 0, 0,203,133, 88, 61, 18,165,157,188, 33, 20, 9,191,
- 0, 0,194,214,213,134,255, 0, 2, 0, 0, 0,203,133, 88, 61, 32, 43,108,190,227, 83,160,190, 0, 0,154,134,113,215,255, 0,
- 2, 0, 0, 0,109, 42, 23, 62,146,221, 14,190, 67, 1,232, 61,144,113,122,198, 79, 13,255, 0, 0, 0, 0, 0, 31,158, 43,189,
-146,221, 14,190, 67, 1,232, 61,112,142,122,198, 79, 13,255, 0, 0, 0, 0, 0, 87,106, 75, 62,138, 37,131,190, 28,120,239, 61,
-196,122, 19, 31,152, 18,255, 0, 2, 0, 0, 0,225, 78,190,189,138, 37,131,190, 28,120,239, 61, 60,133, 19, 31,152, 18,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62, 2,186,192,190, 28,120,239, 61,167,125,146, 12,226, 20,255, 0, 0, 0, 0, 0, 26,161,227,189,
- 2,186,192,190, 28,120,239, 61, 89,130,146, 12,226, 20,255, 0, 0, 0, 0, 0, 75,138,101, 62,200, 96,239,190,227, 37,202, 61,
-113,124,142,242,196, 26,255, 0, 2, 0, 0, 0,203,142,242,189,200, 96,239,190,227, 37,202, 61,143,131,142,242,196, 26,255, 0,
- 2, 0, 0, 0, 47,225, 82, 62,195,112,252,190, 10,175,194, 61,159, 79, 44,159,210, 25,255, 0, 2, 0, 0, 0,146, 60,205,189,
-195,112,252,190, 10,175,194, 61, 97,176, 44,159,210, 25,255, 0, 2, 0, 0, 0, 41,248, 11, 62,242, 4, 1,191,107,138,224, 61,
-143, 19, 13,131,178, 19,255, 0, 2, 0, 0, 0, 27,170,253,188,242, 4, 1,191,107,138,224, 61,113,236, 13,131,178, 19,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,168,226, 2,191,244,238,246, 61, 0, 0, 75,130, 21, 24,255, 0, 2, 0, 0, 0,140,144,131, 62,
- 18,242,240,189,227, 37,202, 61,114, 47,117,137,232, 8,255, 0, 2, 0, 0, 0, 50,222, 26,190, 18,242,240,189,227, 37,202, 61,
-142,208,117,137,232, 8,255, 0, 2, 0, 0, 0, 83, 55,178, 62, 23,233,143,189,187,156,209, 61, 25, 77,198,154,214, 13,255, 0,
- 2, 0, 0, 0,193, 43,120,190, 23,233,143,189,187,156,209, 61,231,178,198,154,214, 13,255, 0, 2, 0, 0, 0, 26,222,224, 62,
-182,236,140, 60, 49, 21,112, 61,216,113,247,198,255, 12,255, 0, 2, 0, 0, 0,167,188,170,190,182,236,140, 60, 49, 21,112, 61,
- 40,142,247,198,255, 12,255, 0, 2, 0, 0, 0,243, 84,232, 62,202,248, 23, 62, 82,238, 2, 62,104,113, 31, 51, 32, 30,255, 0,
- 2, 0, 0, 0,128, 51,178,190,202,248, 23, 62, 82,238, 2, 62,152,142, 31, 51, 32, 30,255, 0, 2, 0, 0, 0,112,224,196, 62,
-190, 24, 50, 62, 2,220, 17, 62,216, 64,225,106,121, 27,255, 0, 0, 0, 0, 0,253,190,142,190,190, 24, 50, 62, 2,220, 17, 62,
- 40,191,225,106,121, 27,255, 0, 0, 0, 0, 0,134,160,144, 62, 20, 20,106, 62, 99,183, 47, 62,137, 75, 82,101, 70, 20,255, 0,
- 0, 0, 0, 0, 39,254, 52,190, 20, 20,106, 62, 99,183, 47, 62,119,180, 82,101, 70, 20,255, 0, 0, 0, 0, 0,195, 37, 79, 62,
- 67, 92,154, 62,236, 27, 70, 62,241, 38, 19,119, 54, 26,255, 0, 2, 0, 0, 0,186,197,197,189, 67, 92,154, 62,236, 27, 70, 62,
- 15,217, 19,119, 54, 26,255, 0, 2, 0, 0, 0,229,197, 0, 62,181, 7,145, 62, 48, 78, 81, 62, 21,175, 54, 96, 12, 24,255, 0,
- 2, 0, 0, 0,249, 23,164,188,181, 7,145, 62, 48, 78, 81, 62,235, 80, 54, 96, 12, 24,255, 0, 2, 0, 0, 0,168,249,167, 61,
- 42,212, 53, 62,196,146, 77, 62,174,155,128, 76,151, 21,255, 0, 0, 0, 0, 0,144, 48,194, 60, 42,212, 53, 62,196,146, 77, 62,
- 82,100,128, 76,151, 21,255, 0, 0, 0, 0, 0, 81,129, 4, 62,241,129, 16, 62, 8,197, 88, 62, 0, 25, 4,237, 22,124,255, 0,
- 0, 0, 0, 0, 89,243,193,188,241,129, 16, 62, 8,197, 88, 62, 0,231, 4,237, 22,124,255, 0, 0, 0, 0, 0,105,176,227, 61,
- 17,132,184, 61,156, 9, 85, 62,160,255,126,232,209,125,255, 0, 0, 0, 0, 0,214,169,178,187, 17,132,184, 61,156, 9, 85, 62,
- 96, 0,126,232,209,125,255, 0, 0, 0, 0, 0, 31,158, 43,189,223, 37, 8,188, 88,215, 73, 62,104, 38,122,203, 56,110,255, 0,
- 0, 0, 0, 0,184, 69,105, 62, 92, 82, 55,189, 59, 46, 55, 62,106, 34,119,200, 16,110,255, 0, 0, 0, 0, 0,163, 5,250,189,
- 92, 82, 55,189, 59, 46, 55, 62,150,221,119,200, 16,110,255, 0, 0, 0, 0, 0,134,160,144, 62,115,128,187,188,139, 64, 40, 62,
-161, 55, 60,207,115,104,255, 0, 0, 0, 0, 0, 39,254, 52,190,115,128,187,188,139, 64, 40, 62, 95,200, 60,207,115,104,255, 0,
- 0, 0, 0, 0,157, 89,176, 62,205, 26, 17, 61, 71, 14, 29, 62,181, 58,123,226,214,109,255, 0, 0, 0, 0, 0, 84,112,116,190,
-205, 26, 17, 61, 71, 14, 29, 62, 75,197,123,226,214,109,255, 0, 0, 0, 0, 0, 9, 21,180, 62, 57, 13,177, 61, 71, 14, 29, 62,
-157, 49, 61,230, 36,115,255, 0, 0, 0, 0, 0, 45,231,123,190, 57, 13,177, 61, 71, 14, 29, 62, 99,206, 61,230, 36,115,255, 0,
- 0, 0, 0, 0,123,192,170, 62,170,177,251, 61, 31,133, 36, 62,206, 39,175,234,196,119,255, 0, 0, 0, 0, 0, 16, 62,105,190,
-170,177,251, 61, 31,133, 36, 62, 50,216,175,234,196,119,255, 0, 0, 0, 0, 0,214,178,129, 62, 54,180, 27, 62, 20,165, 62, 62,
- 62, 24, 85,255,173,125,255, 0, 0, 0, 0, 0,198, 34, 23,190, 54,180, 27, 62, 20,165, 62, 62,194,231, 85,255,173,125,255, 0,
- 0, 0, 0, 0,246,142, 45, 62,230,161, 42, 62, 48, 78, 81, 62,251, 31, 40,247,158,123,255, 0, 0, 0, 0, 0, 32,152,130,189,
-230,161, 42, 62, 48, 78, 81, 62, 5,224, 40,247,158,123,255, 0, 0, 0, 0, 0,203,133, 88, 61,104,133,209,190,236, 27, 70, 62,
- 0, 0,148,210,170,119,255, 0, 0, 0, 0, 0,185,194,212, 61, 36, 83,198,190,236, 27, 70, 62, 39, 19, 65,222,248,121,255, 0,
- 0, 0, 0, 0,191,196,240, 58, 36, 83,198,190,236, 27, 70, 62,217,236, 65,222,248,121,255, 0, 0, 0, 0, 0,145, 57,220, 61,
-207, 80,226,190,167,233, 58, 62,134, 2,132,217, 12,122,255, 0, 0, 0, 0, 0, 77,241,236,186,207, 80,226,190,167,233, 58, 62,
-122,253,132,217, 12,122,255, 0, 0, 0, 0, 0,168,249,167, 61, 19,131,237,190,207,114, 51, 62, 13,252,169,214, 18,121,255, 0,
- 0, 0, 0, 0,144, 48,194, 60, 19,131,237,190,207,114, 51, 62,243, 3,169,214, 18,121,255, 0, 0, 0, 0, 0,203,133, 88, 61,
-200, 96,239,190, 99,183, 47, 62, 0, 0,150,219,180,122,255, 0, 0, 0, 0, 0,203,133, 88, 61,254,152, 18,190,196,146, 77, 62,
- 0, 0, 46, 97, 76, 83,255, 0, 0, 0, 0, 0,203,133, 88, 61, 18,242,240,189, 88,215, 73, 62, 0, 0,197,104,134, 73,255, 0,
- 0, 0, 0, 0,225, 75,205, 61,235,104,248,189, 88,215, 73, 62, 52, 36, 2, 53,187,110,255, 0, 0, 0, 0, 0,179,158,179, 59,
-235,104,248,189, 88,215, 73, 62,204,219, 2, 53,187,110,255, 0, 0, 0, 0, 0,105,176,227, 61,174,134, 33,190,196,146, 77, 62,
-187, 95, 14,212,182, 72,255, 0, 0, 0, 0, 0,214,169,178,187,174,134, 33,190,196,146, 77, 62, 69,160, 14,212,182, 72,255, 0,
- 0, 0, 0, 0, 48, 94,190, 61, 15, 98, 63,190, 88,215, 73, 62,117, 64,117,207, 90, 99,255, 0, 0, 0, 0, 0,220, 60, 81, 60,
- 15, 98, 63,190, 88,215, 73, 62,139,191,117,207, 90, 99,255, 0, 0, 0, 0, 0,252,119,116, 62,239, 95,151,189,139, 64, 40, 62,
-103, 49,157,196, 13,102,255, 0, 0, 0, 0, 0, 22, 53, 8,190,239, 95,151,189,139, 64, 40, 62,153,206,157,196, 13,102,255, 0,
- 0, 0, 0, 0,231,123,174, 62,211, 91,217,188, 2,220, 17, 62,142, 59,107,204,223,100,255, 0, 2, 0, 0, 0,232,180,112,190,
-211, 91,217,188, 2,220, 17, 62,114,196,107,204,223,100,255, 0, 2, 0, 0, 0,220,155,200, 62, 45,246, 46, 61,190,169, 6, 62,
-102, 66, 11,217, 65,102,255, 0, 0, 0, 0, 0,105,122,146,190, 45,246, 46, 61,190,169, 6, 62,154,189, 11,217, 65,102,255, 0,
- 0, 0, 0, 0, 72, 87,204, 62,170,177,251, 61,179,201, 32, 62, 87, 54,142,228,151,112,255, 0, 0, 0, 0, 0,213, 53,150,190,
-170,177,251, 61,179,201, 32, 62,169,201,142,228,151,112,255, 0, 0, 0, 0, 0, 78, 71,191, 62,241,129, 16, 62,128, 96, 66, 62,
- 82, 42, 97,247,125,120,255, 0, 2, 0, 0, 0,219, 37,137,190,241,129, 16, 62,128, 96, 66, 62,174,213, 97,247,125,120,255, 0,
- 2, 0, 0, 0,140,144,131, 62, 31,244, 79, 62, 77,247, 99, 62,192, 41,216,254,253,120,255, 0, 0, 0, 0, 0, 50,222, 26,190,
- 31,244, 79, 62, 77,247, 99, 62, 64,214,216,254,253,120,255, 0, 0, 0, 0, 0, 87,106, 75, 62, 48,189,124, 62,105,160,118, 62,
-217, 28, 53, 7,126,124,255, 0, 0, 0, 0, 0,225, 78,190,189, 48,189,124, 62,105,160,118, 62, 39,227, 53, 7,126,124,255, 0,
- 0, 0, 0, 0,109, 42, 23, 62,236,138,113, 62, 65, 23,126, 62,125,255, 44, 5,227,127,255, 0, 0, 0, 0, 0, 31,158, 43,189,
-236,138,113, 62, 65, 23,126, 62,131, 0, 44, 5,227,127,255, 0, 0, 0, 0, 0,225, 75,205, 61,202,248, 23, 62,213, 91,122, 62,
-130,238, 89, 2,197,126,255, 0, 0, 0, 0, 0,179,158,179, 59,202,248, 23, 62,213, 91,122, 62,126, 17, 89, 2,197,126,255, 0,
- 0, 0, 0, 0,105,176,227, 61,217,159,203,189, 37,110,107, 62,115, 23, 27,230, 34,123,255, 0, 0, 0, 0, 0,214,169,178,187,
-217,159,203,189, 37,110,107, 62,141,232, 27,230, 34,123,255, 0, 0, 0, 0, 0,218,229, 26, 62, 64, 3,133,190,167,233, 58, 62,
-212, 74, 28, 14,225,102,255, 0, 2, 0, 0, 0,207,139, 58,189, 64, 3,133,190,167,233, 58, 62, 44,181, 28, 14,225,102,255, 0,
- 2, 0, 0, 0,246,142, 45, 62,184,151,194,190, 99,183, 47, 62,235, 72, 17,252, 31,105,255, 0, 2, 0, 0, 0, 32,152,130,189,
-184,151,194,190, 99,183, 47, 62, 21,183, 17,252, 31,105,255, 0, 2, 0, 0, 0,206, 5, 53, 62, 99,149,222,190, 31,133, 36, 62,
-179, 66,197,225,249,104,255, 0, 2, 0, 0, 0,208,133,145,189, 99,149,222,190, 31,133, 36, 62, 77,189,197,225,249,104,255, 0,
- 2, 0, 0, 0, 30, 24, 38, 62,234,249,244,190,111,151, 21, 62, 62, 44, 4,183, 98, 95,255, 0, 2, 0, 0, 0,224, 84,103,189,
-234,249,244,190,111,151, 21, 62,194,211, 4,183, 98, 95,255, 0, 2, 0, 0, 0, 81,129, 4, 62, 86,181,248,190,111,151, 21, 62,
-155, 19, 52,158, 54, 80,255, 0, 2, 0, 0, 0, 89,243,193,188, 86,181,248,190,111,151, 21, 62,101,236, 52,158, 54, 80,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,195,112,252,190,219, 82, 25, 62, 0, 0,201,154, 88, 78,255, 0, 2, 0, 0, 0,203,133, 88, 61,
- 52, 55,247,188,128, 96, 66, 62, 0, 0, 2,252,239,127,255, 0, 0, 0, 0, 0,203,133, 88, 61,222,227, 61, 61,156, 9, 85, 62,
- 0, 0,112,227,196,124,255, 0, 0, 0, 0, 0, 47,225, 82, 62, 82, 93, 46, 62, 88,215, 73, 62, 58, 21,234,254, 56,126,255, 0,
- 0, 0, 0, 0,146, 60,205,189, 82, 93, 46, 62, 88,215, 73, 62,198,234,234,254, 56,126,255, 0, 0, 0, 0, 0, 81,129, 4, 62,
-170, 34, 94, 60,196,146, 77, 62, 37,214,110,232,163,118,255, 0, 0, 0, 0, 0, 89,243,193,188,170, 34, 94, 60,196,146, 77, 62,
-219, 41,110,232,163,118,255, 0, 0, 0, 0, 0, 65, 39,235, 61,222,227, 61, 61, 48, 78, 81, 62,150,232,127,230, 57,123,255, 0,
- 0, 0, 0, 0,173, 11, 21,188,222,227, 61, 61, 48, 78, 81, 62,106, 23,127,230, 57,123,255, 0, 0, 0, 0, 0,145, 57,220, 61,
- 76,220,190,190,236, 27, 70, 62,117, 20,197,248, 36,126,255, 0, 0, 0, 0, 0, 77,241,236,186, 76,220,190,190,236, 27, 70, 62,
-139,235,197,248, 36,126,255, 0, 0, 0, 0, 0, 88,231,182, 61, 64, 3,133,190,196,146, 77, 62, 43, 19,128, 0,141,126,255, 0,
- 2, 0, 0, 0,207,121,134, 60, 64, 3,133,190,196,146, 77, 62,213,236,128, 0,141,126,255, 0, 2, 0, 0, 0,203,133, 88, 61,
- 64, 3,133,190,196,146, 77, 62, 0, 0,122,255,254,127,255, 0, 0, 0, 0, 0,203,133, 88, 61, 43, 11, 82,190, 88,215, 73, 62,
- 0, 0,121,184, 36,106,255, 0, 0, 0, 0, 0, 8,213,197, 61, 55,235, 55,190,116,128, 92, 62,167, 66,139,160, 45, 53,255, 0,
- 2, 0, 0, 0, 27,134, 21, 60, 55,235, 55,190,116,128, 92, 62, 89,189,139,160, 45, 53,255, 0, 2, 0, 0, 0, 65, 39,235, 61,
-174,134, 33,190, 77,247, 99, 62,133,118,215,224,239, 36,255, 0, 2, 0, 0, 0,173, 11, 21,188,174,134, 33,190, 77,247, 99, 62,
-123,137,215,224,239, 36,255, 0, 2, 0, 0, 0,185,194,212, 61, 57,123,233,189,116,128, 92, 62,167, 81,141, 95, 49, 24,255, 0,
- 2, 0, 0, 0,191,196,240, 58, 57,123,233,189,116,128, 92, 62, 89,174,141, 95, 49, 24,255, 0, 2, 0, 0, 0, 31,149,145, 61,
- 97, 4,226,189,116,128, 92, 62,189,200,160,108, 26, 39,255, 0, 2, 0, 0, 0, 89,225, 13, 61, 97, 4,226,189,116,128, 92, 62,
- 67, 55,160,108, 26, 39,255, 0, 2, 0, 0, 0,203,133, 88, 61,106, 84, 22,190,253,228,114, 62, 0, 0, 42, 23,225,125,255, 0,
- 0, 0, 0, 0,247, 11,153, 61,235,104,248,189, 37,110,107, 62,186,231, 89, 78, 66, 98,255, 0, 2, 0, 0, 0, 82,231,253, 60,
-235,104,248,189, 37,110,107, 62, 70, 24, 89, 78, 66, 98,255, 0, 2, 0, 0, 0, 8,213,197, 61,195,223,255,189, 37,110,107, 62,
- 88, 43,134, 62,237,102,255, 0, 2, 0, 0, 0, 27,134, 21, 60,195,223,255,189, 37,110,107, 62,168,212,134, 62,237,102,255, 0,
- 2, 0, 0, 0,185,194,212, 61,174,134, 33,190,253,228,114, 62,247, 46, 89,233,228,116,255, 0, 2, 0, 0, 0,191,196,240, 58,
-174,134, 33,190,253,228,114, 62, 9,209, 89,233,228,116,255, 0, 2, 0, 0, 0, 88,231,182, 61,243,184, 44,190,185,178,103, 62,
- 46, 31,198,181,128, 99,255, 0, 2, 0, 0, 0,207,121,134, 60,243,184, 44,190,185,178,103, 62,210,224,198,181,128, 99,255, 0,
- 2, 0, 0, 0,203,133, 88, 61, 15, 98, 63,190,185,178,103, 62, 0, 0,185,191,175,110,255, 0, 2, 0, 0, 0, 98, 74, 49, 62,
- 83,148, 74,190,107,138,224, 61, 23,120, 34, 41, 99, 16,255, 0, 0, 0, 0, 0,248, 14,138,189, 83,148, 74,190,107,138,224, 61,
-233,135, 34, 41, 99, 16,255, 0, 0, 0, 0, 0, 81,129, 4, 62,134,253, 40,190,167,233, 58, 62,251, 80, 26,250,241, 98,255, 0,
- 0, 0, 0, 0, 89,243,193,188,134,253, 40,190,167,233, 58, 62, 5,175, 26,250,241, 98,255, 0, 0, 0, 0, 0, 41,248, 11, 62,
- 83,148, 74,190,167,233, 58, 62,215, 83,153, 16, 71, 95,255, 0, 0, 0, 0, 0, 27,170,253,188, 83,148, 74,190,167,233, 58, 62,
- 41,172,153, 16, 71, 95,255, 0, 0, 0, 0, 0, 30, 24, 38, 62,243,184, 44,190,107,138,224, 61, 24,122, 67, 35, 64, 15,255, 0,
- 0, 0, 0, 0,224, 84,103,189,243,184, 44,190,107,138,224, 61,232,133, 67, 35, 64, 15,255, 0, 0, 0, 0, 0,203,133, 88, 61,
- 93,165,235,190, 99,183, 47, 62, 0, 0,139, 86, 77, 94,255, 0, 0, 0, 0, 0,247, 11,153, 61,167,199,233,190, 99,183, 47, 62,
-144,206,200, 70,125, 94,255, 0, 0, 0, 0, 0, 82,231,253, 60,167,199,233,190, 99,183, 47, 62,112, 49,200, 70,125, 94,255, 0,
- 0, 0, 0, 0, 8,213,197, 61, 99,149,222,190,167,233, 58, 62,253,164,109, 17, 75, 88,255, 0, 0, 0, 0, 0, 27,134, 21, 60,
- 99,149,222,190,167,233, 58, 62, 3, 91,109, 17, 75, 88,255, 0, 0, 0, 0, 0, 8,213,197, 61, 70,236,203,190,128, 96, 66, 62,
-141,225, 87,168, 39, 88,255, 0, 0, 0, 0, 0, 27,134, 21, 60, 70,236,203,190,128, 96, 66, 62,115, 30, 87,168, 39, 88,255, 0,
- 0, 0, 0, 0,203,133, 88, 61,212, 64,213,190,179,201, 32, 62, 0, 0, 20,159,153, 83,255, 0, 0, 0, 0, 0, 8,213,197, 61,
-252,201,205,190, 31,133, 36, 62, 5,230,250,177, 20, 98,255, 0, 0, 0, 0, 0, 27,134, 21, 60,252,201,205,190, 31,133, 36, 62,
-251, 25,250,177, 20, 98,255, 0, 0, 0, 0, 0, 8,213,197, 61,173,183,220,190,219, 82, 25, 62, 18,152, 8, 24,188, 70,255, 0,
- 0, 0, 0, 0, 27,134, 21, 60,173,183,220,190,219, 82, 25, 62,238,103, 8, 24,188, 70,255, 0, 0, 0, 0, 0,247, 11,153, 61,
- 59, 12,230,190,111,151, 21, 62, 26,222,242, 49,221,112,255, 0, 0, 0, 0, 0, 82,231,253, 60, 59, 12,230,190,111,151, 21, 62,
-230, 33,242, 49,221,112,255, 0, 0, 0, 0, 0,203,133, 88, 61,241,233,231,190,111,151, 21, 62, 0, 0, 18, 60, 5,113,255, 0,
- 0, 0, 0, 0,189, 60, 8, 62,142,209, 76, 61,116,128, 92, 62, 4, 30, 93,244,225,123,255, 0, 0, 0, 0, 0,186,206,223,188,
-142,209, 76, 61,116,128, 92, 62,252,225, 93,244,225,123,255, 0, 0, 0, 0, 0,149,179, 15, 62, 22,200,170, 60, 8,197, 88, 62,
- 71, 9, 34,251,144,127,255, 0, 0, 0, 0, 0,190,194, 13,189, 22,200,170, 60, 8,197, 88, 62,185,246, 34,251,144,127,255, 0,
- 0, 0, 0, 0,155,156, 86, 62,202,248, 23, 62, 48, 78, 81, 62, 81, 17, 74, 2,204,126,255, 0, 0, 0, 0, 0,106,179,212,189,
-202,248, 23, 62, 48, 78, 81, 62,175,238, 74, 2,204,126,255, 0, 0, 0, 0, 0, 58,193, 56, 62, 94, 61, 20, 62, 8,197, 88, 62,
-218, 25,177,253, 86,125,255, 0, 2, 0, 0, 0,168,252,152,189, 94, 61, 20, 62, 8,197, 88, 62, 38,230,177,253, 86,125,255, 0,
- 2, 0, 0, 0, 64,170,127, 62, 25, 11, 9, 62, 8,197, 88, 62,182, 21,210,240, 57,125,255, 0, 2, 0, 0, 0, 90,103, 19,190,
- 25, 11, 9, 62, 8,197, 88, 62, 74,234,210,240, 57,125,255, 0, 2, 0, 0, 0,237,107,161, 62, 34, 77,229, 61,207,114, 51, 62,
-143, 28,249,237,117,123,255, 0, 0, 0, 0, 0,244,148, 86,190, 34, 77,229, 61,207,114, 51, 62,113,227,249,237,117,123,255, 0,
- 0, 0, 0, 0, 15, 5,167, 62, 97,150,169, 61, 99,183, 47, 62,209, 15,217,246,175,126,255, 0, 0, 0, 0, 0, 56,199, 97,190,
- 97,150,169, 61, 99,183, 47, 62, 47,240,217,246,175,126,255, 0, 0, 0, 0, 0, 89, 39,165, 62,125, 8, 32, 61,247,251, 43, 62,
-177, 24,190,253,146,125,255, 0, 0, 0, 0, 0,204, 11, 94,190,125, 8, 32, 61,247,251, 43, 62, 79,231,190,253,146,125,255, 0,
- 0, 0, 0, 0, 26,229,140, 62, 60,222,152,187, 20,165, 62, 62, 20, 33, 75, 2,160,123,255, 0, 0, 0, 0, 0, 79,135, 45,190,
- 60,222,152,187, 20,165, 62, 62,236,222, 75, 2,160,123,255, 0, 0, 0, 0, 0,184, 69,105, 62,115,128,187,188, 88,215, 73, 62,
- 85, 26,238,248, 14,125,255, 0, 0, 0, 0, 0,163, 5,250,189,115,128,187,188, 88,215, 73, 62,171,229,238,248, 14,125,255, 0,
- 0, 0, 0, 0,178, 92, 34, 62,226,194,133,186,116,128, 92, 62, 8, 7,142,250,175,127,255, 0, 0, 0, 0, 0, 48,103, 88,189,
-226,194,133,186,116,128, 92, 62,248,248,142,250,175,127,255, 0, 0, 0, 0, 0, 41,248, 11, 62, 57, 13,177, 61,116,128, 92, 62,
-169, 34, 2,240, 43,122,255, 0, 0, 0, 0, 0, 27,170,253,188, 57, 13,177, 61,116,128, 92, 62, 87,221, 2,240, 43,122,255, 0,
- 0, 0, 0, 0,218,229, 26, 62,170,177,251, 61,116,128, 92, 62,126, 27,108,239,231,123,255, 0, 0, 0, 0, 0,207,139, 58,189,
-170,177,251, 61,116,128, 92, 62,130,228,108,239,231,123,255, 0, 0, 0, 0, 0, 30, 24, 38, 62,250,195,236, 61, 48, 78, 81, 62,
-226, 64, 13,207,224, 98,255, 0, 0, 0, 0, 0,224, 84,103,189,250,195,236, 61, 48, 78, 81, 62, 30,191, 13,207,224, 98,255, 0,
- 0, 0, 0, 0, 1,111, 19, 62, 57, 13,177, 61, 48, 78, 81, 62, 29, 96,169,229, 81, 80,255, 0, 0, 0, 0, 0,110,176, 28,189,
- 57, 13,177, 61, 48, 78, 81, 62,227,159,169,229, 81, 80,255, 0, 0, 0, 0, 0,138,211, 41, 62, 77,106,205, 59, 48, 78, 81, 62,
- 36, 55,122, 71,188, 90,255, 0, 0, 0, 0, 0,143, 66,118,189, 77,106,205, 59, 48, 78, 81, 62,220,200,122, 71,188, 90,255, 0,
- 0, 0, 0, 0,184, 69,105, 62,161,220, 67,188,128, 96, 66, 62, 76, 21, 90, 78,241, 98,255, 0, 0, 0, 0, 0,163, 5,250,189,
-161,220, 67,188,128, 96, 66, 62,180,234, 90, 78,241, 98,255, 0, 0, 0, 0, 0,174, 41,137, 62,149,249, 43, 59, 59, 46, 55, 62,
- 85,245, 69, 69, 25,107,255, 0, 0, 0, 0, 0,118, 16, 38,190,149,249, 43, 59, 59, 46, 55, 62,171, 10, 69, 69, 25,107,255, 0,
- 0, 0, 0, 0,129,176,157, 62,222,227, 61, 61,139, 64, 40, 62,232,223,211, 29, 67,120,255, 0, 0, 0, 0, 0, 28, 30, 79,190,
-222,227, 61, 61,139, 64, 40, 62, 24, 32,211, 29, 67,120,255, 0, 0, 0, 0, 0, 55,142,159, 62,137, 31,162, 61,139, 64, 40, 62,
-148,210,123,238, 95,118,255, 0, 0, 0, 0, 0,136,217, 82,190,137, 31,162, 61,139, 64, 40, 62,108, 45,123,238, 95,118,255, 0,
- 0, 0, 0, 0, 21,245,153, 62,114, 95,214, 61,247,251, 43, 62,216,229,108,179, 43, 99,255, 0, 0, 0, 0, 0, 67,167, 71,190,
-114, 95,214, 61,247,251, 43, 62, 40, 26,108,179, 43, 99,255, 0, 0, 0, 0, 0,212,238,123, 62,173, 79, 5, 62,196,146, 77, 62,
-202,237,179,158, 35, 81,255, 0, 2, 0, 0, 0,238,171, 15,190,173, 79, 5, 62,196,146, 77, 62, 54, 18,179,158, 35, 81,255, 0,
- 2, 0, 0, 0,166,124, 60, 62, 25, 11, 9, 62,156, 9, 85, 62, 24, 39,118,212,214,113,255, 0, 2, 0, 0, 0,129,115,160,189,
- 25, 11, 9, 62,156, 9, 85, 62,232,216,118,212,214,113,255, 0, 2, 0, 0, 0,155,156, 86, 62,133,198, 12, 62,196,146, 77, 62,
-213, 1,189,193,208,111,255, 0, 0, 0, 0, 0,106,179,212,189,133,198, 12, 62,196,146, 77, 62, 43,254,189,193,208,111,255, 0,
- 0, 0, 0, 0,109, 42, 23, 62,216,126,230, 60,196,146, 77, 62,226, 84,192, 42,187, 85,255, 0, 0, 0, 0, 0, 31,158, 43,189,
-216,126,230, 60,196,146, 77, 62, 30,171,192, 42,187, 85,255, 0, 0, 0, 0, 0, 1,111, 19, 62, 63,191, 91, 61,196,146, 77, 62,
-235,102,196, 2, 11, 76,255, 0, 0, 0, 0, 0,110,176, 28,189, 63,191, 91, 61,196,146, 77, 62, 21,153,196, 2, 11, 76,255, 0,
- 0, 0, 0, 0,185,194,212, 61,122,230, 38, 62, 42,101, 10, 62,183,182,118,104, 5,246,255, 0, 0, 0, 0, 0,191,196,240, 58,
-122,230, 38, 62, 42,101, 10, 62, 73, 73,118,104, 5,246,255, 0, 0, 0, 0, 0, 1,111, 19, 62,186,247,131, 62,150, 32, 14, 62,
-208,192,221, 66, 3,167,255, 0, 2, 0, 0, 0,110,176, 28,189,186,247,131, 62,150, 32, 14, 62, 48, 63,221, 66, 3,167,255, 0,
- 2, 0, 0, 0,155,156, 86, 62,220,144,137, 62, 82,238, 2, 62, 59, 9, 89, 90,208,165,255, 0, 2, 0, 0, 0,106,179,212,189,
-220,144,137, 62, 82,238, 2, 62,197,246, 89, 90,208,165,255, 0, 2, 0, 0, 0,208,194,142, 62,139,175, 83, 62,107,138,224, 61,
-165, 37,104,114,176,212,255, 0, 0, 0, 0, 0,187, 66, 49,190,139,175, 83, 62,107,138,224, 61, 91,218,104,114,176,212,255, 0,
- 0, 0, 0, 0,152,105,189, 62, 14, 43, 35, 62,170,211,164, 61, 67, 45, 40,116, 1,227,255, 0, 0, 0, 0, 0, 37, 72,135,190,
- 14, 43, 35, 62,170,211,164, 61,189,210, 40,116, 1,227,255, 0, 0, 0, 0, 0, 66,103,217, 62,133,198, 12, 62, 73,248,134, 61,
-100, 94,237, 79, 18,223,255, 0, 0, 0, 0, 0,207, 69,163,190,133,198, 12, 62, 73,248,134, 61,156,161,237, 79, 18,223,255, 0,
- 0, 0, 0, 0, 32,206,211, 62,119,163,200, 60,252,115,211, 60,247,120,255,221,165,231,255, 0, 0, 0, 0, 0,173,172,157,190,
-119,163,200, 60,252,115,211, 60, 9,135,255,221,165,231,255, 0, 0, 0, 0, 0,123,192,170, 62,188, 45, 85,189,112, 94, 52, 61,
-155, 76,106,154, 19,242,255, 0, 0, 0, 0, 0, 16, 62,105,190,188, 45, 85,189,112, 94, 52, 61,101,179,106,154, 19,242,255, 0,
- 0, 0, 0, 0,140,144,131, 62, 0, 41,196,189, 33,111,142, 61,204, 56, 26,142,138, 13,255, 0, 0, 0, 0, 0, 50,222, 26,190,
- 0, 41,196,189, 33,111,142, 61, 52,199, 26,142,138, 13,255, 0, 0, 0, 0, 0,203,133, 88, 61, 16,243,187, 62, 89,242,105,188,
- 0, 0,155,106,214, 70,255, 0, 2, 0, 0, 0,203,133, 88, 61,226,121,208, 62,254, 7, 62,190, 0, 0,243,127, 82, 3,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,254,152, 18,190, 11,214,236,190, 0, 0, 54,164,204,166,255, 0, 3, 0, 0, 0,203,133, 88, 61,
-173,190,136,190,139,142,124,189, 0, 0,179,129, 65,235,255, 0, 0, 0, 0, 0,203,133, 88, 61,205,243, 1,191, 73,248,134, 61,
- 0, 0,182,151,204,181,255, 0, 2, 0, 0, 0,203,133, 88, 61,247,217,218,190,241, 12, 56, 60, 0, 0,231,221,162,132,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,161,222,162,190,147, 21,157, 57, 0, 0, 16,212,201,135,255, 0, 0, 0, 0, 0,203,133, 88, 61,
-207, 87,142,190,141,212,146,188, 0, 0,245,147, 97,187,255, 0, 0, 0, 0, 0, 61,119,230, 62,239,172,106, 61,161, 43,253,189,
-164,125,181,235,156, 13,255, 0, 0, 0, 0, 0,202, 85,176,190,239,172,106, 61,161, 43,253,189, 92,130,181,235,156, 13,255, 0,
- 0, 0, 0, 0,243, 84,232, 62,194,113,199, 61, 78, 26, 47,190,174,126, 23,238, 66,252,255, 0, 0, 0, 0, 0,128, 51,178,190,
-194,113,199, 61, 78, 26, 47,190, 82,129, 23,238, 66,252,255, 0, 0, 0, 0, 0, 32,206,211, 62,216, 49,147, 61,181,218,180,190,
- 70, 81,148, 13, 15,158,255, 0, 1, 0, 0, 0,173,172,157,190,216, 49,147, 61,181,218,180,190,186,174,148, 13, 15,158,255, 0,
- 1, 0, 0, 0,174, 41,137, 62, 54,180, 27, 62,226, 76,244,190,123, 58,228, 21, 70,144,255, 0, 3, 0, 0, 0,118, 16, 38,190,
- 54,180, 27, 62,226, 76,244,190,133,197,228, 21, 70,144,255, 0, 3, 0, 0, 0,146,121,202, 62,239, 95,151,189,240, 61,238,189,
- 76, 89,139,164,161, 6,255, 0, 2, 0, 0, 0, 31, 88,148,190,239, 95,151,189,240, 61,238,189,180,166,139,164,161, 6,255, 0,
- 2, 0, 0, 0,197,226,168, 62, 97, 4,226,189,163, 21,103,190, 93, 38, 34,134,182, 7,255, 0, 0, 0, 0, 0,164,130,101,190,
- 97, 4,226,189,163, 21,103,190,163,217, 34,134,182, 7,255, 0, 0, 0, 0, 0, 9, 21,180, 62,109, 27,100,189,255,252,178,190,
-106, 43,219,170,222,170,255, 0, 1, 0, 0, 0, 45,231,123,190,109, 27,100,189,255,252,178,190,150,212,219,170,222,170,255, 0,
- 1, 0, 0, 0,155,156, 86, 62,211, 91,217,188, 85,248,234,190,168, 55,109,213,229,148,255, 0, 2, 0, 0, 0,106,179,212,189,
-211, 91,217,188, 85,248,234,190, 88,200,109,213,229,148,255, 0, 2, 0, 0, 0, 30, 24, 38, 62,112, 61, 93,190,191,112, 37, 61,
-197,120, 36,255,158,213,255, 0, 0, 0, 0, 0,224, 84,103,189,112, 61, 93,190,191,112, 37, 61, 59,135, 36,255,158,213,255, 0,
- 0, 0, 0, 0, 41,248, 11, 62,209, 24,123,190,176,102,236,188,188, 84, 20,181, 24,196,255, 0, 0, 0, 0, 0, 27,170,253,188,
-209, 24,123,190,176,102,236,188, 68,171, 20,181, 24,196,255, 0, 0, 0, 0, 0, 19, 56, 64, 62,110,117,196,190, 92, 79,241, 60,
-131, 79, 86,254,183,155,255, 0, 2, 0, 0, 0, 89,234,167,189,110,117,196,190, 92, 79,241, 60,125,176, 86,254,183,155,255, 0,
- 2, 0, 0, 0,246,142, 45, 62, 59, 19,146,190, 95,149, 7, 61, 5, 99, 8, 1,231,174,255, 0, 0, 0, 0, 0, 32,152,130,189,
- 59, 19,146,190, 95,149, 7, 61,251,156, 8, 1,231,174,255, 0, 0, 0, 0, 0, 47,225, 82, 62,234,249,244,190, 15,131, 22, 61,
- 65, 62,227,185,224,168,255, 0, 2, 0, 0, 0,146, 60,205,189,234,249,244,190, 15,131, 22, 61,191,193,227,185,224,168,255, 0,
- 2, 0, 0, 0, 25,158,242, 61,178,167,207,190,155,152,181, 60,133, 16,208,232, 55,131,255, 0, 0, 0, 0, 0,110,194, 80,188,
-178,167,207,190,155,152,181, 60,123,239,208,232, 55,131,255, 0, 0, 0, 0, 0,105,176,227, 61,201,103,155,190, 58,189,151, 60,
- 7, 48,163,224,149,141,255, 0, 0, 0, 0, 0,214,169,178,187,201,103,155,190, 58,189,151, 60,249,207,163,224,149,141,255, 0,
- 0, 0, 0, 0, 81,129, 4, 62,195,112,252,190,129, 39, 97, 61, 68, 12,218,158,147,173,255, 0, 0, 0, 0, 0, 89,243,193,188,
-195,112,252,190,129, 39, 97, 61,188,243,218,158,147,173,255, 0, 0, 0, 0, 0, 70,161, 30, 62,163,166, 59,190,208, 57, 82, 61,
-195,124,106,227,203,255,255, 0, 0, 0, 0, 0,127,121, 73,189,163,166, 59,190,208, 57, 82, 61, 61,131,106,227,203,255,255, 0,
- 0, 0, 0, 0,218,229, 26, 62,174,134, 33,190, 33,111,142, 61, 29,120,105,231,193, 36,255, 0, 0, 0, 0, 0,207,139, 58,189,
-174,134, 33,190, 33,111,142, 61,227,135,105,231,193, 36,255, 0, 0, 0, 0, 0,109, 42, 23, 62,186,102, 7,190,130, 74,172, 61,
-160,101,164,182,240, 25,255, 0, 0, 0, 0, 0, 31,158, 43,189,186,102, 7,190,130, 74,172, 61, 96,154,164,182,240, 25,255, 0,
- 0, 0, 0, 0,218,229, 26, 62,140,230,111,190,206,171,148,189,120, 84,221,159,198,253,255, 0, 0, 0, 0, 0,207,139, 58,189,
-140,230,111,190,206,171,148,189,136,171,221,159,198,253,255, 0, 0, 0, 0, 0,127,243, 67, 62, 83,148, 74,190, 16,205,139,190,
-255, 67, 42,151, 73,228,255, 0, 2, 0, 0, 0, 49, 97,175,189, 83,148, 74,190, 16,205,139,190, 1,188, 42,151, 73,228,255, 0,
- 2, 0, 0, 0, 7, 88, 90, 62,235,104,248,189,244, 28,205,190,201, 63, 25,176, 0,179,255, 0, 3, 0, 0, 0, 66, 42,220,189,
-235,104,248,189,244, 28,205,190, 55,192, 25,176, 0,179,255, 0, 3, 0, 0, 0,248, 75,135, 62, 55,124,180, 62,187,202,167,190,
- 34, 56,160, 95, 17,192,255, 0, 2, 0, 0, 0, 10, 85, 34,190, 55,124,180, 62,187,202,167,190,222,199,160, 95, 17,192,255, 0,
- 2, 0, 0, 0,248, 75,135, 62,232,105,195, 62,146, 76, 58,190, 54, 55,120,115,239, 0,255, 0, 2, 0, 0, 0, 10, 85, 34,190,
-232,105,195, 62,146, 76, 58,190,202,200,120,115,239, 0,255, 0, 2, 0, 0, 0,248, 75,135, 62,203,192,176, 62,105,252, 34,189,
-239, 63,164, 92,238, 60,255, 0, 2, 0, 0, 0, 10, 85, 34,190,203,192,176, 62,105,252, 34,189, 17,192,164, 92,238, 60,255, 0,
- 2, 0, 0, 0,174, 41,137, 62,219,193, 68, 62,208, 57, 82, 61,123, 49,255,102,170, 57,255, 0, 0, 0, 0, 0,118, 16, 38,190,
-219,193, 68, 62,208, 57, 82, 61,133,206,255,102,170, 57,255, 0, 0, 0, 0, 0,220,155,200, 62,133,198, 12, 62, 95,172,248, 59,
-142, 98,198, 73, 6, 35,255, 0, 0, 0, 0, 0,105,122,146,190,133,198, 12, 62, 95,172,248, 59,114,157,198, 73, 6, 35,255, 0,
- 0, 0, 0, 0, 83, 55,178, 62, 14, 43, 35, 62,141,212,146,188,129, 61,254,106,241, 33,255, 0, 0, 0, 0, 0,193, 43,120,190,
- 14, 43, 35, 62,141,212,146,188,127,194,254,106,241, 33,255, 0, 0, 0, 0, 0, 9, 21,180, 62, 72, 76,141, 62,161, 43,253,189,
-234, 76,151, 87,221, 52,255, 0, 0, 0, 0, 0, 45,231,123,190, 72, 76,141, 62,161, 43,253,189, 22,179,151, 87,221, 52,255, 0,
- 0, 0, 0, 0, 66,103,217, 62,247,106, 87, 62, 7,254,185,189,187,101, 28, 66,199, 40,255, 0, 2, 0, 0, 0,207, 69,163,190,
-247,106, 87, 62, 7,254,185,189, 69,154, 28, 66,199, 40,255, 0, 2, 0, 0, 0, 66,103,217, 62,236,138,113, 62, 26,177, 80,190,
-183,113, 68, 58,119,248,255, 0, 2, 0, 0, 0,207, 69,163,190,236,138,113, 62, 26,177, 80,190, 73,142, 68, 58,119,248,255, 0,
- 2, 0, 0, 0, 9, 21,180, 62,141,126,152, 62, 83, 3,118,190,235, 86,238, 93,205,253,255, 0, 0, 0, 0, 0, 45,231,123,190,
-141,126,152, 62, 83, 3,118,190, 21,169,238, 93,205,253,255, 0, 0, 0, 0, 0, 9, 21,180, 62, 38,179,135, 62,107,184,182,190,
-232, 85,154, 70,157,192,255, 0, 2, 0, 0, 0, 45,231,123,190, 38,179,135, 62,107,184,182,190, 24,170,154, 70,157,192,255, 0,
- 2, 0, 0, 0, 66,103,217, 62,179, 56, 76, 62,153, 49,162,190,166,110,177, 42,222,207,255, 0, 2, 0, 0, 0,207, 69,163,190,
-179, 56, 76, 62,153, 49,162,190, 90,145,177, 42,222,207,255, 0, 2, 0, 0, 0,231,123,174, 62,154,232,206, 61, 56, 79,216,190,
- 58, 75, 57, 1,116,152,255, 0, 3, 0, 0, 0,232,180,112,190,154,232,206, 61, 56, 79,216,190,198,180, 57, 1,116,152,255, 0,
- 3, 0, 0, 0,208,194,142, 62,171,100, 40,189,170,250,206,190, 73, 70,147,187,200,173,255, 0, 1, 0, 0, 0,187, 66, 49,190,
-171,100, 40,189,170,250,206,190,183,185,147,187,200,173,255, 0, 0, 0, 0, 0,100, 0,223, 62,154,232,206, 61,191,190,121,190,
-194,114, 80, 41,207, 38,255, 0, 0, 0, 0, 0,241,222,168,190,154,232,206, 61,191,190,121,190, 62,141, 80, 41,207, 38,255, 0,
- 0, 0, 0, 0,104, 51,120, 62,186,102, 7,190,127,153,163,189,232, 74,153,154, 28, 22,255, 0, 0, 0, 0, 0,130,240, 11,190,
-186,102, 7,190,127,153,163,189, 24,181,153,154, 28, 22,255, 0, 0, 0, 0, 0,214,178,129, 62,254,152, 18,190, 44,122,125,190,
- 89, 71,115,151, 1,237,255, 0, 0, 0, 0, 0,198, 34, 23,190,254,152, 18,190, 44,122,125,190,167,184,115,151, 1,237,255, 0,
- 0, 0, 0, 0,202,203,239, 62,133,198, 12, 62, 56, 86,132,190, 72,220,207, 93,106, 79,255, 0, 2, 0, 0, 0, 88,170,185,190,
-133,198, 12, 62, 56, 86,132,190,184, 35,207, 93,106, 79,255, 0, 2, 0, 0, 0, 32,206,211, 62, 18,242,240,189,135,108, 84,190,
- 30, 15, 34,150, 84, 70,255, 0, 2, 0, 0, 0,173,172,157,190, 18,242,240,189,135,108, 84,190,226,240, 34,150, 84, 70,255, 0,
- 2, 0, 0, 0, 38,160, 9, 63,217,159,203,189,192,186,154,190,164, 67,138,166,172, 61,255, 0, 0, 0, 0, 0,219, 30,221,190,
-217,159,203,189,192,186,154,190, 92,188,138,166,172, 61,255, 0, 0, 0, 0, 0,172,140, 38, 63,211, 91,217,188,255,252,178,190,
-179, 83,223,206,114, 83,255, 0, 0, 0, 0, 0,244,123, 11,191,211, 91,217,188,255,252,178,190, 77,172,223,206,114, 83,255, 0,
- 0, 0, 0, 0, 95,242, 46, 63,194,113,199, 61, 73, 31,177,190, 54, 92,232, 12,210, 87,255, 0, 2, 0, 0, 0,167,225, 19,191,
-194,113,199, 61, 73, 31,177,190,202,163,232, 12,210, 87,255, 0, 2, 0, 0, 0,138,243, 32, 63, 3, 75, 61, 62, 73, 31,177,190,
-247, 62,221, 83, 97, 73,255, 0, 0, 0, 0, 0,209,226, 5,191, 3, 75, 61, 62, 73, 31,177,190, 9,193,221, 83, 97, 73,255, 0,
- 0, 0, 0, 0,112,194, 7, 63, 82, 93, 46, 62, 84,255,150,190,181, 5, 80,111,236, 62,255, 0, 0, 0, 0, 0,111, 99,217,190,
- 82, 93, 46, 62, 84,255,150,190, 75,250, 80,111,236, 62,255, 0, 0, 0, 0, 0,149,211, 6, 63,241,129, 16, 62, 50,102,145,190,
-236, 69,117,239,236,105,255, 0, 0, 0, 0, 0,185,133,215,190,241,129, 16, 62, 50,102,145,190, 20,186,117,239,236,105,255, 0,
- 0, 0, 0, 0,104, 90, 27, 63, 54,180, 27, 62,113,168,169,190, 34, 24,205,231, 89,123,255, 0, 0, 0, 0, 0,175, 73, 0,191,
- 54,180, 27, 62,113,168,169,190,222,231,205,231, 89,123,255, 0, 0, 0, 0, 0,246,174, 36, 63, 97,150,169, 61,221, 99,173,190,
- 69,223, 16,252,173,123,255, 0, 0, 0, 0, 0, 62,158, 9,191, 97,150,169, 61,221, 99,173,190,187, 32, 16,252,173,123,255, 0,
- 0, 0, 0, 0,249, 38, 30, 63, 98,147,127,188,221, 99,173,190,171,239, 0, 39,207,120,255, 0, 0, 0, 0, 0, 64, 22, 3,191,
- 98,147,127,188,221, 99,173,190, 85, 16, 0, 39,207,120,255, 0, 0, 0, 0, 0, 75,177, 8, 63, 23,233,143,189,158, 33,149,190,
- 9, 51, 56, 45, 82,108,255, 0, 0, 0, 0, 0, 37, 65,219,190, 23,233,143,189,158, 33,149,190,247,204, 56, 45, 82,108,255, 0,
- 0, 0, 0, 0, 26,222,224, 62,120,196,173,189,243, 39, 88,190,147, 38,224, 62,153,104,255, 0, 2, 0, 0, 0,167,188,170,190,
-120,196,173,189,243, 39, 88,190,109,217,224, 62,153,104,255, 0, 2, 0, 0, 0,162, 66,247, 62,250,195,236, 61,204,154,128,190,
-218, 62,152,243,206,110,255, 0, 2, 0, 0, 0, 48, 33,193,190,250,195,236, 61,204,154,128,190, 38,193,152,243,206,110,255, 0,
- 2, 0, 0, 0,196,219,252, 62, 17,132,184, 61, 50,102,145,190, 10, 87, 73,182, 19, 58,255, 0, 0, 0, 0, 0, 82,186,198,190,
- 17,132,184, 61, 50,102,145,190,246,168, 73,182, 19, 58,255, 0, 0, 0, 0, 0, 21,238,237, 62,103,251,128,189, 44,122,125,190,
-232, 15,106,121, 64, 37,255, 0, 0, 0, 0, 0,162,204,183,190,103,251,128,189, 44,122,125,190, 24,240,106,121, 64, 37,255, 0,
- 0, 0, 0, 0, 38,160, 9, 63,188, 45, 85,189, 79, 15,164,190,157,239, 89,122,212, 33,255, 0, 0, 0, 0, 0,219, 30,221,190,
-188, 45, 85,189, 79, 15,164,190, 99, 16, 89,122,212, 33,255, 0, 0, 0, 0, 0,104, 90, 27, 63,223, 37, 8,188,107,184,182,190,
- 8,158,202, 81,185, 9,255, 0, 0, 0, 0, 0,175, 73, 0,191,223, 37, 8,188,107,184,182,190,248, 97,202, 81,185, 9,255, 0,
- 0, 0, 0, 0,138,243, 32, 63, 40, 68,132, 61,107,184,182,190, 60,131,145,239, 95, 23,255, 0, 0, 0, 0, 0,209,226, 5,191,
- 40, 68,132, 61,107,184,182,190,196,124,145,239, 95, 23,255, 0, 0, 0, 0, 0,178,124, 25, 63,250,195,236, 61,181,218,180,190,
- 27,228, 22,153,206, 70,255, 0, 0, 0, 0, 0,242,215,252,190,250,195,236, 61,181,218,180,190,229, 27, 22,153,206, 70,255, 0,
- 0, 0, 0, 0,112,194, 7, 63, 74,214,221, 61,153, 49,162,190, 65, 68,253,168,113, 64,255, 0, 0, 0, 0, 0,111, 99,217,190,
- 74,214,221, 61,153, 49,162,190,191,187,253,168,113, 64,255, 0, 0, 0, 0, 0,135,153,228, 62, 97,150,169, 61, 44,122,125,190,
-113, 86,190,222, 87, 88,255, 0, 0, 0, 0, 0, 20,120,174,190, 97,150,169, 61, 44,122,125,190,143,169,190,222, 87, 88,255, 0,
- 0, 0, 0, 0,209,187,226, 62,216,126,230, 60,198,170,141,190,196, 95,107,182,100, 42,255, 0, 0, 0, 0, 0, 93,154,172,190,
-216,126,230, 60,198,170,141,190, 60,160,107,182,100, 42,255, 0, 0, 0, 0, 0,180, 18,208, 62,223, 37, 8,188,198,170,141,190,
- 42,111, 21, 14,220, 61,255, 0, 0, 0, 0, 0, 65,241,153,190,223, 37, 8,188,198,170,141,190,214,144, 21, 14,220, 61,255, 0,
- 0, 0, 0, 0,100, 0,223, 62,161,220, 67,188,198,170,141,190, 3, 79, 4, 91, 19, 43,255, 0, 2, 0, 0, 0,241,222,168,190,
-161,220, 67,188,198,170,141,190,253,176, 4, 91, 19, 43,255, 0, 2, 0, 0, 0,135,153,228, 62, 92, 82, 55,189,198,170,141,190,
-207,107,198,254,250, 68,255, 0, 2, 0, 0, 0, 20,120,174,190, 92, 82, 55,189,198,170,141,190, 49,148,198,254,250, 68,255, 0,
- 2, 0, 0, 0,174, 34,221, 62, 29, 9,115,189,198,170,141,190, 7, 82,225, 64,200, 73,255, 0, 0, 0, 0, 0, 59, 1,167,190,
- 29, 9,115,189,198,170,141,190,249,173,225, 64,200, 73,255, 0, 0, 0, 0, 0,220,155,200, 62,188, 45, 85,189,146, 76, 58,190,
- 38,117, 66,207, 47,239,255, 0, 0, 0, 0, 0,105,122,146,190,188, 45, 85,189,146, 76, 58,190,218,138, 66,207, 47,239,255, 0,
- 0, 0, 0, 0, 38,190,198, 62,103,251,128,189, 15,209,106,190,150, 97,139, 18,184, 80,255, 0, 0, 0, 0, 0,179,156,144,190,
-103,251,128,189, 15,209,106,190,106,158,139, 18,184, 80,255, 0, 0, 0, 0, 0, 38,190,198, 62, 74,137, 10,189,231, 71,114,190,
- 17,116, 66,240,154, 51,255, 0, 0, 0, 0, 0,179,156,144,190, 74,137, 10,189,231, 71,114,190,239,139, 66,240,154, 51,255, 0,
- 0, 0, 0, 0, 66,103,217, 62, 45,246, 46, 61, 44,122,125,190,112,113,245,204, 39, 30,255, 0, 0, 0, 0, 0,207, 69,163,190,
- 45,246, 46, 61, 44,122,125,190,144,142,245,204, 39, 30,255, 0, 0, 0, 0, 0,202,203,239, 62,159,154,121, 61, 16,205,139,190,
-105, 90, 61,185,146, 56,255, 0, 0, 0, 0, 0, 88,170,185,190,159,154,121, 61, 16,205,139,190,151,165, 61,185,146, 56,255, 0,
- 0, 0, 0, 0,202,203,239, 62,239,172,106, 61, 10,221,152,190,191, 82,102,204,230, 82,255, 0, 0, 0, 0, 0, 88,170,185,190,
-239,172,106, 61, 10,221,152,190, 65,173,102,204,230, 82,255, 0, 0, 0, 0, 0,174, 34,221, 62, 29, 9,115,189, 10,221,152,190,
-246, 29, 64, 98, 94, 76,255, 0, 0, 0, 0, 0, 59, 1,167,190, 29, 9,115,189, 10,221,152,190, 10,226, 64, 98, 94, 76,255, 0,
- 0, 0, 0, 0, 61,119,230, 62, 92, 82, 55,189, 10,221,152,190,150, 77,111, 17, 75,100,255, 0, 0, 0, 0, 0,202, 85,176,190,
- 92, 82, 55,189, 10,221,152,190,106,178,111, 17, 75,100,255, 0, 0, 0, 0, 0, 26,222,224, 62, 98,147,127,188, 10,221,152,190,
-239, 60,190, 60,195, 94,255, 0, 0, 0, 0, 0,167,188,170,190, 98,147,127,188, 10,221,152,190, 17,195,190, 60,195, 94,255, 0,
- 0, 0, 0, 0,106,240,209, 62,223, 37, 8,188, 10,221,152,190,199, 83,178, 23,209, 93,255, 0, 0, 0, 0, 0,247,206,155,190,
-223, 37, 8,188, 10,221,152,190, 57,172,178, 23,209, 93,255, 0, 0, 0, 0, 0,135,153,228, 62,216,126,230, 60, 10,221,152,190,
- 98, 73, 1,200,170, 88,255, 0, 0, 0, 0, 0, 20,120,174,190,216,126,230, 60, 10,221,152,190,158,182, 1,200,170, 88,255, 0,
- 0, 0, 0, 0, 38,160, 9, 63,154,232,206, 61,147, 65,175,190, 23, 68,166,223,112,103,255, 0, 0, 0, 0, 0,219, 30,221,190,
-154,232,206, 61,147, 65,175,190,233,187,166,223,112,103,255, 0, 0, 0, 0, 0,104, 90, 27, 63, 74,214,221, 61,249, 12,192,190,
-165, 18,156,216, 89,120,255, 0, 0, 0, 0, 0,175, 73, 0,191, 74,214,221, 61,249, 12,192,190, 91,237,156,216, 89,120,255, 0,
- 0, 0, 0, 0, 27,192, 35, 63,159,154,121, 61,175,234,193,190, 25,185, 29,231,157,103,255, 0, 0, 0, 0, 0, 98,175, 8,191,
-159,154,121, 61,175,234,193,190,231, 70, 29,231,157,103,255, 0, 0, 0, 0, 0,249, 38, 30, 63,161,220, 67,188,249, 12,192,190,
- 43,209, 0, 64,119,100,255, 0, 0, 0, 0, 0, 64, 22, 3,191,161,220, 67,188,249, 12,192,190,213, 46, 0, 64,119,100,255, 0,
- 0, 0, 0, 0, 1,143, 10, 63,188, 45, 85,189, 73, 31,177,190, 52, 26,240, 92, 3, 84,255, 0, 0, 0, 0, 0,145,252,222,190,
-188, 45, 85,189, 73, 31,177,190,204,229,240, 92, 3, 84,255, 0, 0, 0, 0, 0, 21,238,237, 62, 29, 9,115,189, 16,205,139,190,
- 58, 8,116,111,101, 62,255, 0, 0, 0, 0, 0,162,204,183,190, 29, 9,115,189, 16,205,139,190,198,247,116,111,101, 62,255, 0,
- 0, 0, 0, 0,122,185,254, 62, 97,150,169, 61, 45,118,158,190,198, 80,102,213,175, 89,255, 0, 0, 0, 0, 0, 8,152,200,190,
- 97,150,169, 61, 45,118,158,190, 58,175,102,213,175, 89,255, 0, 0, 0, 0, 0,202,203,239, 62,226,194,133,186,192,186,154,190,
-136, 25,130, 0,108,125,255, 0, 0, 0, 0, 0, 88,170,185,190,226,194,133,186,192,186,154,190,120,230,130, 0,108,125,255, 0,
- 0, 0, 0, 0, 14,254,250, 62,115,128,187,188,119,152,156,190, 2, 27, 58, 30,104,121,255, 0, 0, 0, 0, 0,156,220,196,190,
-115,128,187,188,119,152,156,190,254,228, 58, 30,104,121,255, 0, 0, 0, 0, 0,223,245, 4, 63, 77,106,205, 59, 79, 15,164,190,
-218, 55,126,253, 35,115,255, 0, 0, 0, 0, 0, 76,202,211,190, 77,106,205, 59, 79, 15,164,190, 38,200,126,253, 35,115,255, 0,
- 0, 0, 0, 0,152, 75, 0, 63,216,126,230, 60,227, 83,160,190,164, 41,199,255, 8,121,255, 0, 0, 0, 0, 0,190,117,202,190,
-216,126,230, 60,227, 83,160,190, 92,214,199,255, 8,121,255, 0, 0, 0, 0, 0,149,211, 6, 63,239,172,106, 61, 5,237,165,190,
-237, 39,191, 9, 55,121,255, 0, 0, 0, 0, 0,185,133,215,190,239,172,106, 61, 5,237,165,190, 19,216,191, 9, 55,121,255, 0,
- 0, 0, 0, 0,220,125, 11, 63,205, 26, 17, 61,187,202,167,190,208, 46, 41,244,137,118,255, 0, 0, 0, 0, 0, 71,218,224,190,
-205, 26, 17, 61,187,202,167,190, 48,209, 41,244,137,118,255, 0, 0, 0, 0, 0,218, 5, 18, 63,222,227, 61, 61,113,168,169,190,
- 70, 53, 84, 3, 85,116,255, 0, 2, 0, 0, 0, 65,234,237,190,222,227, 61, 61,113,168,169,190,186,202, 84, 3, 85,116,255, 0,
- 2, 0, 0, 0, 73, 57, 15, 63,176,168,154, 61,113,168,169,190, 99, 44, 36, 38,212,113,255, 0, 2, 0, 0, 0, 31, 81,232,190,
-176,168,154, 61,113,168,169,190,157,211, 36, 38,212,113,255, 0, 2, 0, 0, 0,112,194, 7, 63, 54,180, 27, 62,249, 12,192,190,
-249,198, 3, 72,222,166,255, 0, 3, 0, 0, 0,111, 99,217,190, 54,180, 27, 62,249, 12,192,190, 7, 57, 3, 72,222,166,255, 0,
- 3, 0, 0, 0, 64,209, 34, 63,230,161, 42, 62,170,250,206,190,198, 37,123, 68,174,154,255, 0, 3, 0, 0, 0,135,192, 7,191,
-230,161, 42, 62,170,250,206,190, 58,218,123, 68,174,154,255, 0, 3, 0, 0, 0, 21,208, 48, 63, 57, 13,177, 61,102,200,195,190,
- 3,121,201, 17, 73,218,255, 0, 3, 0, 0, 0, 93,191, 21,191, 57, 13,177, 61,102,200,195,190,253,134,201, 17, 73,218,255, 0,
- 3, 0, 0, 0, 24, 72, 42, 63,211, 91,217,188, 62, 63,203,190, 59, 82, 75,200, 70,175,255, 0, 3, 0, 0, 0, 96, 55, 15,191,
-211, 91,217,188, 62, 63,203,190,197,173, 75,200, 70,175,255, 0, 3, 0, 0, 0, 38,160, 9, 63, 40,178,188,189,175,234,193,190,
-134,249,184,165,129,165,255, 0, 3, 0, 0, 0,219, 30,221,190, 40,178,188,189,175,234,193,190,122, 6,184,165,129,165,255, 0,
- 3, 0, 0, 0,140,137,215, 62, 97, 4,226,189,192,186,154,190,126,249,122,163,205,167,255, 0, 1, 0, 0, 0, 25,104,161,190,
- 97, 4,226,189,192,186,154,190,130, 6,122,163,205,167,255, 0, 1, 0, 0, 0,243, 84,232, 62, 65,148, 1, 62,187,202,167,190,
- 93,193,224, 65,229,165,255, 0, 1, 0, 0, 0,128, 51,178,190, 65,148, 1, 62,187,202,167,190,163, 62,224, 65,229,165,255, 0,
- 1, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 64,145,181, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,146,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 28, 47, 0, 0,200,146,181, 3, 55, 0, 0, 0,237, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 28, 47, 0, 0, 24,150, 52, 3, 0, 0, 0, 0, 49, 0, 0, 0,237, 3, 0, 0,
0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 43, 0, 0, 0,
0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
46, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0,
@@ -6588,1034 +7251,1083 @@ char datatoc_preview_blend[]= {
249, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,178, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,
14, 0, 0, 0,161, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0,112, 0, 0, 0,
0, 0, 34, 0, 9, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 24,194,181, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104, 1, 0, 0,136,197, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,195,181, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,234,181, 3, 6, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 16, 39, 0, 0,160,195,181, 3, 54, 0, 0, 0,244, 1, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 1,
- 43, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0,
- 42, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0,
- 9, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 1, 9, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 10, 0, 0, 0, 12, 0, 0, 0,
- 14, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1,112, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1,
- 8, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 16, 0, 0, 0,112, 0, 0, 0, 9, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0, 19, 0, 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 1, 18, 0, 0, 0,
- 20, 0, 0, 0,112, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 1, 20, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 23, 0, 0, 0,
- 25, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 1, 26, 0, 0, 0, 24, 0, 0, 0, 22, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 1,
- 19, 0, 0, 0, 25, 0, 0, 0, 27, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 28, 0, 0, 0, 26, 0, 0, 0, 20, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 1, 25, 0, 0, 0, 31, 0, 0, 0, 29, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 1, 30, 0, 0, 0,
- 32, 0, 0, 0, 26, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 33, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 1, 32, 0, 0, 0, 34, 0, 0, 0, 24, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 1, 33, 0, 0, 0, 35, 0, 0, 0,
- 37, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 36, 0, 0, 0, 34, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 1,
- 31, 0, 0, 0, 37, 0, 0, 0, 39, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 38, 0, 0, 0, 32, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 1, 37, 0, 0, 0, 43, 0, 0, 0, 41, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 1, 42, 0, 0, 0,
- 44, 0, 0, 0, 38, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 0, 1, 44, 0, 0, 0, 46, 0, 0, 0, 36, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 1, 45, 0, 0, 0, 35, 0, 0, 0,
- 49, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 50, 0, 0, 0, 36, 0, 0, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 1,
- 35, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0, 34, 0, 0, 0, 36, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 1, 33, 0, 0, 0, 23, 0, 0, 0, 53, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0,
- 24, 0, 0, 0, 34, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 21, 0, 0, 0, 55, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 0, 1, 56, 0, 0, 0, 22, 0, 0, 0, 24, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 12, 0, 0, 0,
- 57, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 1, 58, 0, 0, 0, 13, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 1,
- 12, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0, 11, 0, 0, 0, 13, 0, 0, 0,
- 58, 0, 0, 0, 0, 0, 0, 1, 10, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0,
- 1, 0, 0, 0, 11, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 45, 0, 0, 0, 47, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 0, 1, 48, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 63, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 48, 0, 0, 0, 64, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 61, 0, 0, 0, 63, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 64, 0, 0, 0, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0,
- 58, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 55, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 58, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 53, 0, 0, 0,
- 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 54, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 59, 0, 0, 0, 51, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0, 52, 0, 0, 0, 60, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 49, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0,
- 50, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 50, 0, 0, 0, 48, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0,171, 0, 0, 0,
-173, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,172, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1,
- 85, 0, 0, 0,169, 0, 0, 0,171, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,170, 0, 0, 0, 86, 0, 0, 0,
- 88, 0, 0, 0, 0, 0, 0, 1, 83, 0, 0, 0,167, 0, 0, 0,169, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,
-168, 0, 0, 0, 84, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 1, 81, 0, 0, 0,165, 0, 0, 0,167, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 1,168, 0, 0, 0,166, 0, 0, 0, 82, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,163, 0, 0, 0,
-165, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,164, 0, 0, 0, 80, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 1,
- 77, 0, 0, 0, 90, 0, 0, 0,143, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,144, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0,
-162, 0, 0, 0, 0, 0, 0, 1, 90, 0, 0, 0, 92, 0, 0, 0,145, 0, 0, 0,143, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0,
- 93, 0, 0, 0, 91, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 94, 0, 0, 0,147, 0, 0, 0,145, 0, 0, 0,
- 0, 0, 0, 1,148, 0, 0, 0, 95, 0, 0, 0, 93, 0, 0, 0,146, 0, 0, 0, 0, 0, 0, 1, 94, 0, 0, 0, 96, 0, 0, 0,
-149, 0, 0, 0,147, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0, 97, 0, 0, 0, 95, 0, 0, 0,148, 0, 0, 0, 0, 0, 0, 1,
- 96, 0, 0, 0, 98, 0, 0, 0,151, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 1,152, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0,
-150, 0, 0, 0, 0, 0, 0, 1, 98, 0, 0, 0,100, 0, 0, 0,153, 0, 0, 0,151, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,
-101, 0, 0, 0, 99, 0, 0, 0,152, 0, 0, 0, 0, 0, 0, 1,100, 0, 0, 0,102, 0, 0, 0,155, 0, 0, 0,153, 0, 0, 0,
- 0, 0, 0, 1,156, 0, 0, 0,103, 0, 0, 0,101, 0, 0, 0,154, 0, 0, 0, 0, 0, 0, 1,102, 0, 0, 0,104, 0, 0, 0,
-157, 0, 0, 0,155, 0, 0, 0, 0, 0, 0, 1,158, 0, 0, 0,105, 0, 0, 0,103, 0, 0, 0,156, 0, 0, 0, 0, 0, 0, 1,
-104, 0, 0, 0,106, 0, 0, 0,159, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 1,160, 0, 0, 0,107, 0, 0, 0,105, 0, 0, 0,
-158, 0, 0, 0, 0, 0, 0, 1,106, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0,
- 65, 0, 0, 0,107, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,125, 0, 0, 0,157, 0, 0, 0,159, 0, 0, 0,
- 0, 0, 0, 1,158, 0, 0, 0,126, 0, 0, 0,109, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 0,176, 0, 0, 0,
-155, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,177, 0, 0, 0,126, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 1,
-123, 0, 0, 0,153, 0, 0, 0,155, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,154, 0, 0, 0,124, 0, 0, 0,
-177, 0, 0, 0, 0, 0, 0, 1,121, 0, 0, 0,151, 0, 0, 0,153, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,
-152, 0, 0, 0,122, 0, 0, 0,124, 0, 0, 0, 0, 0, 0, 1,119, 0, 0, 0,149, 0, 0, 0,151, 0, 0, 0,121, 0, 0, 0,
- 0, 0, 0, 1,152, 0, 0, 0,150, 0, 0, 0,120, 0, 0, 0,122, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,147, 0, 0, 0,
-149, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0,148, 0, 0, 0,118, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 1,
-115, 0, 0, 0,145, 0, 0, 0,147, 0, 0, 0,117, 0, 0, 0, 0, 0, 0, 1,148, 0, 0, 0,146, 0, 0, 0,116, 0, 0, 0,
-118, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0,143, 0, 0, 0,145, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0,
-144, 0, 0, 0,114, 0, 0, 0,116, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,161, 0, 0, 0,143, 0, 0, 0,113, 0, 0, 0,
- 0, 0, 0, 1,144, 0, 0, 0,162, 0, 0, 0,112, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,178, 0, 0, 0,
-174, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,179, 0, 0, 0,112, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 1,
-108, 0, 0, 0,159, 0, 0, 0, 66, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0,160, 0, 0, 0,109, 0, 0, 0,
-111, 0, 0, 0, 0, 0, 0, 1,110, 0, 0, 0, 66, 0, 0, 0,175, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 1,175, 0, 0, 0,
- 66, 0, 0, 0,111, 0, 0, 0,181, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,178, 0, 0, 0,180, 0, 0, 0,175, 0, 0, 0,
- 0, 0, 0, 1,181, 0, 0, 0,179, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 1,132, 0, 0, 0,134, 0, 0, 0,
-173, 0, 0, 0,171, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,134, 0, 0, 0,133, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 1,
-130, 0, 0, 0,132, 0, 0, 0,171, 0, 0, 0,169, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,133, 0, 0, 0,131, 0, 0, 0,
-170, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,130, 0, 0, 0,169, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,
-131, 0, 0, 0,129, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 1,163, 0, 0, 0,184, 0, 0, 0,182, 0, 0, 0,165, 0, 0, 0,
- 0, 0, 0, 1,183, 0, 0, 0,185, 0, 0, 0,164, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,167, 0, 0, 0,
-165, 0, 0, 0,182, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,168, 0, 0, 0,129, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 1,
-141, 0, 0, 0,187, 0, 0, 0,186, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,187, 0, 0, 0,142, 0, 0, 0,
-185, 0, 0, 0, 0, 0, 0, 1,182, 0, 0, 0,184, 0, 0, 0,186, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,
-185, 0, 0, 0,183, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,127, 0, 0, 0,128, 0, 0, 0,182, 0, 0, 0, 67, 0, 0, 0,
- 0, 0, 0, 1,183, 0, 0, 0,129, 0, 0, 0,127, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,139, 0, 0, 0,190, 0, 0, 0,
-188, 0, 0, 0,141, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,191, 0, 0, 0,140, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 1,
-137, 0, 0, 0,192, 0, 0, 0,190, 0, 0, 0,139, 0, 0, 0, 0, 0, 0, 1,191, 0, 0, 0,193, 0, 0, 0,138, 0, 0, 0,
-140, 0, 0, 0, 0, 0, 0, 1,136, 0, 0, 0,194, 0, 0, 0,192, 0, 0, 0,137, 0, 0, 0, 0, 0, 0, 1,193, 0, 0, 0,
-195, 0, 0, 0,136, 0, 0, 0,138, 0, 0, 0, 0, 0, 0, 1,135, 0, 0, 0, 69, 0, 0, 0,194, 0, 0, 0,136, 0, 0, 0,
- 0, 0, 0, 1,195, 0, 0, 0, 69, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0, 0, 0, 0, 1,187, 0, 0, 0,141, 0, 0, 0,
-188, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,142, 0, 0, 0,187, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 1,
- 68, 0, 0, 0,188, 0, 0, 0,203, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,189, 0, 0, 0, 68, 0, 0, 0,
-205, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 0,196, 0, 0, 0,197, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 1,198, 0, 0, 0,
-196, 0, 0, 0, 69, 0, 0, 0,195, 0, 0, 0, 0, 0, 0, 1,194, 0, 0, 0,197, 0, 0, 0,199, 0, 0, 0,192, 0, 0, 0,
- 0, 0, 0, 1,200, 0, 0, 0,198, 0, 0, 0,195, 0, 0, 0,193, 0, 0, 0, 0, 0, 0, 1,192, 0, 0, 0,199, 0, 0, 0,
-201, 0, 0, 0,190, 0, 0, 0, 0, 0, 0, 1,202, 0, 0, 0,200, 0, 0, 0,193, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 1,
-190, 0, 0, 0,201, 0, 0, 0,203, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,202, 0, 0, 0,191, 0, 0, 0,
-189, 0, 0, 0, 0, 0, 0, 1,196, 0, 0, 0,201, 0, 0, 0,199, 0, 0, 0,197, 0, 0, 0, 0, 0, 0, 1,200, 0, 0, 0,
-202, 0, 0, 0,196, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 1,196, 0, 0, 0,205, 0, 0, 0,203, 0, 0, 0,201, 0, 0, 0,
- 0, 0, 0, 1,204, 0, 0, 0,205, 0, 0, 0,196, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 1,136, 0, 0, 0,137, 0, 0, 0,
-161, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 1,162, 0, 0, 0,138, 0, 0, 0,136, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 1,
-137, 0, 0, 0,139, 0, 0, 0,208, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,140, 0, 0, 0,138, 0, 0, 0,
-162, 0, 0, 0, 0, 0, 0, 1,139, 0, 0, 0,141, 0, 0, 0,210, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,
-142, 0, 0, 0,140, 0, 0, 0,209, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0,184, 0, 0, 0,163, 0, 0, 0,210, 0, 0, 0,
- 0, 0, 0, 1,164, 0, 0, 0,185, 0, 0, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,206, 0, 0, 0,
-210, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,207, 0, 0, 0, 80, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 1,
-206, 0, 0, 0,212, 0, 0, 0,208, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,213, 0, 0, 0,207, 0, 0, 0,
-211, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0,161, 0, 0, 0,208, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,
-162, 0, 0, 0, 78, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,127, 0, 0, 0, 70, 0, 0, 0,219, 0, 0, 0,
- 0, 0, 0, 1, 70, 0, 0, 0,127, 0, 0, 0,129, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 1,130, 0, 0, 0,128, 0, 0, 0,
-219, 0, 0, 0,217, 0, 0, 0, 0, 0, 0, 1,220, 0, 0, 0,129, 0, 0, 0,131, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 1,
-132, 0, 0, 0,130, 0, 0, 0,217, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 1,218, 0, 0, 0,131, 0, 0, 0,133, 0, 0, 0,
-216, 0, 0, 0, 0, 0, 0, 1,134, 0, 0, 0,132, 0, 0, 0,215, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,216, 0, 0, 0,
-133, 0, 0, 0,134, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,214, 0, 0, 0,215, 0, 0, 0,226, 0, 0, 0,228, 0, 0, 0,
- 0, 0, 0, 1,227, 0, 0, 0,216, 0, 0, 0,214, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 1,215, 0, 0, 0,217, 0, 0, 0,
-224, 0, 0, 0,226, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,218, 0, 0, 0,216, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 1,
-217, 0, 0, 0,219, 0, 0, 0,222, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 1,223, 0, 0, 0,220, 0, 0, 0,218, 0, 0, 0,
-225, 0, 0, 0, 0, 0, 0, 1,219, 0, 0, 0, 70, 0, 0, 0,221, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0,
- 70, 0, 0, 0,220, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0,228, 0, 0, 0,226, 0, 0, 0,222, 0, 0, 0,
- 0, 0, 0, 1,227, 0, 0, 0,228, 0, 0, 0,221, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,222, 0, 0, 0,226, 0, 0, 0,
-224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,227, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-180, 0, 0, 0,178, 0, 0, 0,231, 0, 0, 0,229, 0, 0, 0, 0, 0, 0, 1,232, 0, 0, 0,179, 0, 0, 0,181, 0, 0, 0,
-230, 0, 0, 0, 0, 0, 0, 1,110, 0, 0, 0,180, 0, 0, 0,229, 0, 0, 0,251, 0, 0, 0, 0, 0, 0, 1,230, 0, 0, 0,
-181, 0, 0, 0,111, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,110, 0, 0, 0,251, 0, 0, 0,253, 0, 0, 0,
- 0, 0, 0, 1,252, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 1,178, 0, 0, 0, 14, 0, 0, 0,
-249, 0, 0, 0,231, 0, 0, 0, 0, 0, 0, 1,250, 0, 0, 0,112, 0, 0, 0,179, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 1,
- 14, 0, 0, 0,113, 0, 0, 0,247, 0, 0, 0,249, 0, 0, 0, 0, 0, 0, 1,248, 0, 0, 0,114, 0, 0, 0,112, 0, 0, 0,
-250, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0,115, 0, 0, 0,245, 0, 0, 0,247, 0, 0, 0, 0, 0, 0, 1,246, 0, 0, 0,
-116, 0, 0, 0,114, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 1,115, 0, 0, 0,117, 0, 0, 0,243, 0, 0, 0,245, 0, 0, 0,
- 0, 0, 0, 1,244, 0, 0, 0,118, 0, 0, 0,116, 0, 0, 0,246, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,119, 0, 0, 0,
-241, 0, 0, 0,243, 0, 0, 0, 0, 0, 0, 1,242, 0, 0, 0,120, 0, 0, 0,118, 0, 0, 0,244, 0, 0, 0, 0, 0, 0, 1,
-119, 0, 0, 0,121, 0, 0, 0,239, 0, 0, 0,241, 0, 0, 0, 0, 0, 0, 1,240, 0, 0, 0,122, 0, 0, 0,120, 0, 0, 0,
-242, 0, 0, 0, 0, 0, 0, 1,121, 0, 0, 0,123, 0, 0, 0,237, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 1,238, 0, 0, 0,
-124, 0, 0, 0,122, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 1,123, 0, 0, 0,176, 0, 0, 0,233, 0, 0, 0,237, 0, 0, 0,
- 0, 0, 0, 1,234, 0, 0, 0,177, 0, 0, 0,124, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 1,176, 0, 0, 0,125, 0, 0, 0,
-235, 0, 0, 0,233, 0, 0, 0, 0, 0, 0, 1,236, 0, 0, 0,126, 0, 0, 0,177, 0, 0, 0,234, 0, 0, 0, 0, 0, 0, 1,
-125, 0, 0, 0,108, 0, 0, 0,253, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 1,254, 0, 0, 0,109, 0, 0, 0,126, 0, 0, 0,
-236, 0, 0, 0, 0, 0, 0, 1,235, 0, 0, 0,253, 0, 0, 0,255, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-254, 0, 0, 0,236, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 1,233, 0, 0, 0,235, 0, 0, 0, 17, 1, 0, 0, 19, 1, 0, 0,
- 0, 0, 0, 1, 18, 1, 0, 0,236, 0, 0, 0,234, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 1,237, 0, 0, 0,233, 0, 0, 0,
- 19, 1, 0, 0, 15, 1, 0, 0, 0, 0, 0, 1, 20, 1, 0, 0,234, 0, 0, 0,238, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 1,
-239, 0, 0, 0,237, 0, 0, 0, 15, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 1, 16, 1, 0, 0,238, 0, 0, 0,240, 0, 0, 0,
- 14, 1, 0, 0, 0, 0, 0, 1,241, 0, 0, 0,239, 0, 0, 0, 13, 1, 0, 0, 11, 1, 0, 0, 0, 0, 0, 1, 14, 1, 0, 0,
-240, 0, 0, 0,242, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 1,243, 0, 0, 0,241, 0, 0, 0, 11, 1, 0, 0, 9, 1, 0, 0,
- 0, 0, 0, 1, 12, 1, 0, 0,242, 0, 0, 0,244, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 1,245, 0, 0, 0,243, 0, 0, 0,
- 9, 1, 0, 0, 7, 1, 0, 0, 0, 0, 0, 1, 10, 1, 0, 0,244, 0, 0, 0,246, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 1,
-247, 0, 0, 0,245, 0, 0, 0, 7, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0,246, 0, 0, 0,248, 0, 0, 0,
- 6, 1, 0, 0, 0, 0, 0, 1,249, 0, 0, 0,247, 0, 0, 0, 5, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0,
-248, 0, 0, 0,250, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 1,231, 0, 0, 0,249, 0, 0, 0, 3, 1, 0, 0, 21, 1, 0, 0,
- 0, 0, 0, 1, 4, 1, 0, 0,250, 0, 0, 0,232, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1,253, 0, 0, 0,251, 0, 0, 0,
- 1, 1, 0, 0,255, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0,252, 0, 0, 0,254, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
-251, 0, 0, 0,229, 0, 0, 0, 23, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 24, 1, 0, 0,230, 0, 0, 0,252, 0, 0, 0,
- 2, 1, 0, 0, 0, 0, 0, 1,229, 0, 0, 0,231, 0, 0, 0, 21, 1, 0, 0, 23, 1, 0, 0, 0, 0, 0, 1, 22, 1, 0, 0,
-232, 0, 0, 0,230, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 1, 65, 0, 0, 0,106, 0, 0, 0, 25, 1, 0, 0, 71, 0, 0, 0,
- 0, 0, 0, 1, 26, 1, 0, 0,107, 0, 0, 0, 65, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1,106, 0, 0, 0,104, 0, 0, 0,
- 27, 1, 0, 0, 25, 1, 0, 0, 0, 0, 0, 1, 28, 1, 0, 0,105, 0, 0, 0,107, 0, 0, 0, 26, 1, 0, 0, 0, 0, 0, 1,
-104, 0, 0, 0,102, 0, 0, 0, 29, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0,103, 0, 0, 0,105, 0, 0, 0,
- 28, 1, 0, 0, 0, 0, 0, 1,102, 0, 0, 0,100, 0, 0, 0, 31, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 1, 32, 1, 0, 0,
-101, 0, 0, 0,103, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 1,100, 0, 0, 0, 98, 0, 0, 0, 33, 1, 0, 0, 31, 1, 0, 0,
- 0, 0, 0, 1, 34, 1, 0, 0, 99, 0, 0, 0,101, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1, 98, 0, 0, 0, 96, 0, 0, 0,
- 35, 1, 0, 0, 33, 1, 0, 0, 0, 0, 0, 1, 36, 1, 0, 0, 97, 0, 0, 0, 99, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 1,
- 96, 0, 0, 0, 94, 0, 0, 0, 37, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 1, 38, 1, 0, 0, 95, 0, 0, 0, 97, 0, 0, 0,
- 36, 1, 0, 0, 0, 0, 0, 1, 94, 0, 0, 0, 92, 0, 0, 0, 39, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 1, 40, 1, 0, 0,
- 93, 0, 0, 0, 95, 0, 0, 0, 38, 1, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 90, 0, 0, 0, 41, 1, 0, 0, 39, 1, 0, 0,
- 0, 0, 0, 1, 42, 1, 0, 0, 91, 0, 0, 0, 93, 0, 0, 0, 40, 1, 0, 0, 0, 0, 0, 1, 49, 1, 0, 0, 50, 1, 0, 0,
- 69, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0, 50, 1, 0, 0, 49, 1, 0, 0, 80, 1, 0, 0, 0, 0, 0, 1,
- 48, 1, 0, 0, 49, 1, 0, 0, 79, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 49, 1, 0, 0, 48, 1, 0, 0,
- 78, 1, 0, 0, 0, 0, 0, 1, 47, 1, 0, 0, 48, 1, 0, 0, 77, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 1, 78, 1, 0, 0,
- 48, 1, 0, 0, 47, 1, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0, 89, 0, 0, 0, 47, 1, 0, 0, 81, 1, 0, 0,
- 0, 0, 0, 1, 47, 1, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 85, 0, 0, 0, 87, 0, 0, 0,
- 81, 1, 0, 0, 75, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 88, 0, 0, 0, 86, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 1,
- 83, 0, 0, 0, 85, 0, 0, 0, 75, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 1, 76, 1, 0, 0, 86, 0, 0, 0, 84, 0, 0, 0,
- 72, 1, 0, 0, 0, 0, 0, 1, 81, 0, 0, 0, 83, 0, 0, 0, 71, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 1, 72, 1, 0, 0,
- 84, 0, 0, 0, 82, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 77, 1, 0, 0, 79, 1, 0, 0, 73, 1, 0, 0,
- 0, 0, 0, 1, 80, 1, 0, 0, 78, 1, 0, 0, 72, 1, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 75, 1, 0, 0,
- 81, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 76, 1, 0, 0, 72, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 1,
- 67, 1, 0, 0, 73, 1, 0, 0, 79, 1, 0, 0, 69, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 74, 1, 0, 0, 68, 1, 0, 0,
- 70, 1, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0, 81, 0, 0, 0, 73, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 1, 74, 1, 0, 0,
- 82, 0, 0, 0, 80, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 1,206, 0, 0, 0, 83, 1, 0, 0, 85, 1, 0, 0,212, 0, 0, 0,
- 0, 0, 0, 1, 86, 1, 0, 0, 84, 1, 0, 0,207, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0, 67, 1, 0, 0,
- 83, 1, 0, 0,206, 0, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0, 68, 1, 0, 0, 80, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 1,
- 77, 0, 0, 0,212, 0, 0, 0, 85, 1, 0, 0, 87, 1, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0,213, 0, 0, 0, 78, 0, 0, 0,
- 88, 1, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0, 87, 1, 0, 0, 41, 1, 0, 0, 90, 0, 0, 0, 0, 0, 0, 1, 42, 1, 0, 0,
- 88, 1, 0, 0, 78, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 1, 75, 0, 0, 0, 65, 1, 0, 0, 93, 1, 0, 0, 45, 1, 0, 0,
- 0, 0, 0, 1, 94, 1, 0, 0, 66, 1, 0, 0, 75, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 45, 1, 0, 0, 93, 1, 0, 0,
- 91, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 92, 1, 0, 0, 94, 1, 0, 0, 45, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1,
- 76, 0, 0, 0, 91, 1, 0, 0, 89, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 1, 90, 1, 0, 0, 92, 1, 0, 0, 76, 0, 0, 0,
- 46, 1, 0, 0, 0, 0, 0, 1, 46, 1, 0, 0, 89, 1, 0, 0, 69, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0,
- 90, 1, 0, 0, 46, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 67, 1, 0, 0, 69, 1, 0, 0, 89, 1, 0, 0, 83, 1, 0, 0,
- 0, 0, 0, 1, 90, 1, 0, 0, 70, 1, 0, 0, 68, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 1, 37, 1, 0, 0, 39, 1, 0, 0,
- 59, 1, 0, 0, 51, 1, 0, 0, 0, 0, 0, 1, 60, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 1,
- 74, 0, 0, 0, 57, 1, 0, 0, 65, 1, 0, 0, 75, 0, 0, 0, 0, 0, 0, 1, 66, 1, 0, 0, 58, 1, 0, 0, 74, 0, 0, 0,
- 75, 0, 0, 0, 0, 0, 0, 1, 43, 1, 0, 0, 99, 1, 0, 0, 97, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 98, 1, 0, 0,
-100, 1, 0, 0, 43, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 44, 1, 0, 0, 97, 1, 0, 0, 95, 1, 0, 0, 73, 0, 0, 0,
- 0, 0, 0, 1, 96, 1, 0, 0, 98, 1, 0, 0, 44, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 95, 1, 0, 0,
- 57, 1, 0, 0, 74, 0, 0, 0, 0, 0, 0, 1, 58, 1, 0, 0, 96, 1, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 1,
- 33, 1, 0, 0, 35, 1, 0, 0,103, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 1,104, 1, 0, 0, 36, 1, 0, 0, 34, 1, 0, 0,
-106, 1, 0, 0, 0, 0, 0, 1,105, 1, 0, 0,103, 1, 0, 0,109, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0,
-104, 1, 0, 0,106, 1, 0, 0,108, 1, 0, 0, 0, 0, 0, 1,107, 1, 0, 0,109, 1, 0, 0,111, 1, 0, 0,113, 1, 0, 0,
- 0, 0, 0, 1,112, 1, 0, 0,110, 1, 0, 0,108, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1,113, 1, 0, 0,111, 1, 0, 0,
-117, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 1,118, 1, 0, 0,112, 1, 0, 0,114, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1,
- 55, 1, 0, 0,119, 1, 0, 0,115, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0,120, 1, 0, 0, 56, 1, 0, 0,
-118, 1, 0, 0, 0, 0, 0, 1, 57, 1, 0, 0, 95, 1, 0, 0,115, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0,
- 96, 1, 0, 0, 58, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 1, 95, 1, 0, 0, 97, 1, 0, 0,113, 1, 0, 0,115, 1, 0, 0,
- 0, 0, 0, 1,114, 1, 0, 0, 98, 1, 0, 0, 96, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1, 97, 1, 0, 0, 99, 1, 0, 0,
-107, 1, 0, 0,113, 1, 0, 0, 0, 0, 0, 1,108, 1, 0, 0,100, 1, 0, 0, 98, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1,
- 99, 1, 0, 0,101, 1, 0, 0,105, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0,102, 1, 0, 0,100, 1, 0, 0,
-108, 1, 0, 0, 0, 0, 0, 1, 31, 1, 0, 0, 33, 1, 0, 0,105, 1, 0, 0,101, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0,
- 34, 1, 0, 0, 32, 1, 0, 0,102, 1, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0,101, 1, 0, 0, 99, 1, 0, 0, 43, 1, 0, 0,
- 0, 0, 0, 1,100, 1, 0, 0,102, 1, 0, 0, 72, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 1, 25, 1, 0, 0, 27, 1, 0, 0,
- 29, 1, 0, 0, 31, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1,
- 25, 1, 0, 0, 31, 1, 0, 0,101, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 1,102, 1, 0, 0, 32, 1, 0, 0, 26, 1, 0, 0,
- 72, 0, 0, 0, 0, 0, 0, 1, 71, 0, 0, 0, 25, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0,
- 26, 1, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 35, 1, 0, 0, 37, 1, 0, 0, 51, 1, 0, 0,103, 1, 0, 0,
- 0, 0, 0, 1, 52, 1, 0, 0, 38, 1, 0, 0, 36, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 53, 1, 0, 0,
-109, 1, 0, 0,103, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0, 54, 1, 0, 0, 52, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1,
- 53, 1, 0, 0,123, 1, 0, 0,111, 1, 0, 0,109, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,124, 1, 0, 0, 54, 1, 0, 0,
-110, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,117, 1, 0, 0,111, 1, 0, 0,123, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,
-118, 1, 0, 0, 56, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1, 89, 1, 0, 0, 91, 1, 0, 0,127, 1, 0, 0,125, 1, 0, 0,
- 0, 0, 0, 1,128, 1, 0, 0, 92, 1, 0, 0, 90, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 59, 1, 0, 0,125, 1, 0, 0,
-127, 1, 0, 0, 61, 1, 0, 0, 0, 0, 0, 1,128, 1, 0, 0,126, 1, 0, 0, 60, 1, 0, 0, 62, 1, 0, 0, 0, 0, 0, 1,
- 39, 1, 0, 0, 41, 1, 0, 0,125, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1,126, 1, 0, 0, 42, 1, 0, 0, 40, 1, 0, 0,
- 60, 1, 0, 0, 0, 0, 0, 1, 41, 1, 0, 0, 85, 1, 0, 0, 83, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0,
- 86, 1, 0, 0, 42, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 83, 1, 0, 0, 89, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1,126, 1, 0, 0, 90, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 1, 0, 0, 87, 1, 0, 0,
- 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0, 88, 1, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 55, 1, 0, 0, 63, 1, 0, 0,121, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 64, 1, 0, 0, 56, 1, 0, 0,
-120, 1, 0, 0, 0, 0, 0, 1, 57, 1, 0, 0,119, 1, 0, 0,121, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0,
-120, 1, 0, 0, 58, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,127, 1, 0, 0,121, 1, 0, 0, 63, 1, 0, 0,
- 0, 0, 0, 1,122, 1, 0, 0,128, 1, 0, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1, 91, 1, 0, 0, 93, 1, 0, 0,
-121, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0,128, 1, 0, 0, 0, 0, 0, 1,
- 65, 1, 0, 0,121, 1, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 1, 0, 0,122, 1, 0, 0, 66, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,129, 1, 0, 0,155, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,
-130, 1, 0, 0,142, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,143, 1, 0, 0,145, 1, 0, 0,139, 1, 0, 0,
- 0, 0, 0, 1,146, 1, 0, 0,144, 1, 0, 0,142, 1, 0, 0,140, 1, 0, 0, 0, 0, 0, 1,139, 1, 0, 0,145, 1, 0, 0,
-147, 1, 0, 0,137, 1, 0, 0, 0, 0, 0, 1,148, 1, 0, 0,146, 1, 0, 0,140, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 1,
-137, 1, 0, 0,147, 1, 0, 0,149, 1, 0, 0,135, 1, 0, 0, 0, 0, 0, 1,150, 1, 0, 0,148, 1, 0, 0,138, 1, 0, 0,
-136, 1, 0, 0, 0, 0, 0, 1,135, 1, 0, 0,149, 1, 0, 0,151, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 1,152, 1, 0, 0,
-150, 1, 0, 0,136, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 1,133, 1, 0, 0,151, 1, 0, 0,153, 1, 0, 0,131, 1, 0, 0,
- 0, 0, 0, 1,154, 1, 0, 0,152, 1, 0, 0,134, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 1,151, 1, 0, 0,161, 1, 0, 0,
-159, 1, 0, 0,153, 1, 0, 0, 0, 0, 0, 1,160, 1, 0, 0,162, 1, 0, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 1,
-149, 1, 0, 0,163, 1, 0, 0,161, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 1,162, 1, 0, 0,164, 1, 0, 0,150, 1, 0, 0,
-152, 1, 0, 0, 0, 0, 0, 1,147, 1, 0, 0,165, 1, 0, 0,163, 1, 0, 0,149, 1, 0, 0, 0, 0, 0, 1,164, 1, 0, 0,
-166, 1, 0, 0,148, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 1,145, 1, 0, 0,167, 1, 0, 0,165, 1, 0, 0,147, 1, 0, 0,
- 0, 0, 0, 1,166, 1, 0, 0,168, 1, 0, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 1,143, 1, 0, 0,169, 1, 0, 0,
-167, 1, 0, 0,145, 1, 0, 0, 0, 0, 0, 1,168, 1, 0, 0,170, 1, 0, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 0, 1,
-143, 1, 0, 0,155, 1, 0, 0,157, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 1,158, 1, 0, 0,156, 1, 0, 0,144, 1, 0, 0,
-170, 1, 0, 0, 0, 0, 0, 1, 59, 1, 0, 0, 61, 1, 0, 0,185, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 1,186, 1, 0, 0,
- 62, 1, 0, 0, 60, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,131, 1, 0, 0,153, 1, 0, 0,185, 1, 0, 0,
- 0, 0, 0, 1,154, 1, 0, 0,132, 1, 0, 0, 62, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 59, 1, 0, 0,
-183, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 1,184, 1, 0, 0, 60, 1, 0, 0, 52, 1, 0, 0, 54, 1, 0, 0, 0, 0, 0, 1,
-123, 1, 0, 0,171, 1, 0, 0,155, 1, 0, 0,129, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,172, 1, 0, 0,124, 1, 0, 0,
-130, 1, 0, 0, 0, 0, 0, 1,153, 1, 0, 0,159, 1, 0, 0,181, 1, 0, 0,185, 1, 0, 0, 0, 0, 0, 1,182, 1, 0, 0,
-160, 1, 0, 0,154, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,187, 1, 0, 0,185, 1, 0, 0,181, 1, 0, 0,
- 0, 0, 0, 1,186, 1, 0, 0,188, 1, 0, 0,180, 1, 0, 0,182, 1, 0, 0, 0, 0, 0, 1,175, 1, 0, 0,187, 1, 0, 0,
-179, 1, 0, 0,177, 1, 0, 0, 0, 0, 0, 1,180, 1, 0, 0,188, 1, 0, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 1,
-173, 1, 0, 0,189, 1, 0, 0,187, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,190, 1, 0, 0,174, 1, 0, 0,
-176, 1, 0, 0, 0, 0, 0, 1,171, 1, 0, 0,189, 1, 0, 0,173, 1, 0, 0,191, 1, 0, 0, 0, 0, 0, 1,174, 1, 0, 0,
-190, 1, 0, 0,172, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 1,155, 1, 0, 0,171, 1, 0, 0,191, 1, 0, 0,157, 1, 0, 0,
- 0, 0, 0, 1,192, 1, 0, 0,172, 1, 0, 0,156, 1, 0, 0,158, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,189, 1, 0, 0,
-171, 1, 0, 0,123, 1, 0, 0, 0, 0, 0, 1,172, 1, 0, 0,190, 1, 0, 0, 54, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1,
- 53, 1, 0, 0,183, 1, 0, 0,187, 1, 0, 0,189, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,184, 1, 0, 0, 54, 1, 0, 0,
-190, 1, 0, 0, 0, 0, 0, 1,183, 1, 0, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,
-186, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,157, 1, 0, 0,191, 1, 0, 0,193, 1, 0, 0,217, 1, 0, 0,
- 0, 0, 0, 1,194, 1, 0, 0,192, 1, 0, 0,158, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 1,191, 1, 0, 0,173, 1, 0, 0,
-203, 1, 0, 0,193, 1, 0, 0, 0, 0, 0, 1,204, 1, 0, 0,174, 1, 0, 0,192, 1, 0, 0,194, 1, 0, 0, 0, 0, 0, 1,
-173, 1, 0, 0,175, 1, 0, 0,201, 1, 0, 0,203, 1, 0, 0, 0, 0, 0, 1,202, 1, 0, 0,176, 1, 0, 0,174, 1, 0, 0,
-204, 1, 0, 0, 0, 0, 0, 1,175, 1, 0, 0,177, 1, 0, 0,199, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 1,200, 1, 0, 0,
-178, 1, 0, 0,176, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,177, 1, 0, 0,179, 1, 0, 0,197, 1, 0, 0,199, 1, 0, 0,
- 0, 0, 0, 1,198, 1, 0, 0,180, 1, 0, 0,178, 1, 0, 0,200, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,181, 1, 0, 0,
-195, 1, 0, 0,197, 1, 0, 0, 0, 0, 0, 1,196, 1, 0, 0,182, 1, 0, 0,180, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,
-181, 1, 0, 0,159, 1, 0, 0,215, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 1,216, 1, 0, 0,160, 1, 0, 0,182, 1, 0, 0,
-196, 1, 0, 0, 0, 0, 0, 1,169, 1, 0, 0,157, 1, 0, 0,217, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 1,218, 1, 0, 0,
-158, 1, 0, 0,170, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 1,167, 1, 0, 0,169, 1, 0, 0,205, 1, 0, 0,207, 1, 0, 0,
- 0, 0, 0, 1,206, 1, 0, 0,170, 1, 0, 0,168, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 1,165, 1, 0, 0,167, 1, 0, 0,
-207, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,168, 1, 0, 0,166, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,
-163, 1, 0, 0,165, 1, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 1,210, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0,
-212, 1, 0, 0, 0, 0, 0, 1,161, 1, 0, 0,163, 1, 0, 0,211, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,212, 1, 0, 0,
-164, 1, 0, 0,162, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,159, 1, 0, 0,161, 1, 0, 0,213, 1, 0, 0,215, 1, 0, 0,
- 0, 0, 0, 1,214, 1, 0, 0,162, 1, 0, 0,160, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,197, 1, 0, 0,
-221, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,198, 1, 0, 0,200, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 1,
-219, 1, 0, 0,221, 1, 0, 0,223, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,222, 1, 0, 0,220, 1, 0, 0,
-226, 1, 0, 0, 0, 0, 0, 1,225, 1, 0, 0,223, 1, 0, 0,229, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 1,230, 1, 0, 0,
-224, 1, 0, 0,226, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 1,227, 1, 0, 0,229, 1, 0, 0,231, 1, 0, 0,233, 1, 0, 0,
- 0, 0, 0, 1,232, 1, 0, 0,230, 1, 0, 0,228, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,205, 1, 0, 0,217, 1, 0, 0,
-227, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,218, 1, 0, 0,206, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,
-193, 1, 0, 0,225, 1, 0, 0,227, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,226, 1, 0, 0,194, 1, 0, 0,
-218, 1, 0, 0, 0, 0, 0, 1,193, 1, 0, 0,203, 1, 0, 0,219, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,220, 1, 0, 0,
-204, 1, 0, 0,194, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,219, 1, 0, 0,203, 1, 0, 0,201, 1, 0, 0,
- 0, 0, 0, 1,204, 1, 0, 0,220, 1, 0, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,195, 1, 0, 0,215, 1, 0, 0,
-221, 1, 0, 0,197, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,216, 1, 0, 0,196, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,
-213, 1, 0, 0,223, 1, 0, 0,221, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,224, 1, 0, 0,214, 1, 0, 0,
-216, 1, 0, 0, 0, 0, 0, 1,211, 1, 0, 0,229, 1, 0, 0,223, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,
-230, 1, 0, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,209, 1, 0, 0,231, 1, 0, 0,229, 1, 0, 0,211, 1, 0, 0,
- 0, 0, 0, 1,230, 1, 0, 0,232, 1, 0, 0,210, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 1,207, 1, 0, 0,233, 1, 0, 0,
-231, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 1,232, 1, 0, 0,234, 1, 0, 0,208, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,
-205, 1, 0, 0,233, 1, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,234, 1, 0, 0,206, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1,133, 1, 0, 0,131, 1, 0, 0,245, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,
-132, 1, 0, 0,134, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 1,135, 1, 0, 0,133, 1, 0, 0,243, 1, 0, 0,241, 1, 0, 0,
- 0, 0, 0, 1,244, 1, 0, 0,134, 1, 0, 0,136, 1, 0, 0,242, 1, 0, 0, 0, 0, 0, 1,137, 1, 0, 0,135, 1, 0, 0,
-241, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,136, 1, 0, 0,138, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 1,
-139, 1, 0, 0,137, 1, 0, 0,239, 1, 0, 0,237, 1, 0, 0, 0, 0, 0, 1,240, 1, 0, 0,138, 1, 0, 0,140, 1, 0, 0,
-238, 1, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,139, 1, 0, 0,237, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 1,238, 1, 0, 0,
-140, 1, 0, 0,142, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 1,129, 1, 0, 0,141, 1, 0, 0,235, 1, 0, 0,247, 1, 0, 0,
- 0, 0, 0, 1,236, 1, 0, 0,142, 1, 0, 0,130, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,235, 1, 0, 0,243, 1, 0, 0,
-245, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,244, 1, 0, 0,236, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,
-235, 1, 0, 0,237, 1, 0, 0,241, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,238, 1, 0, 0,236, 1, 0, 0,
-244, 1, 0, 0, 0, 0, 0, 1,237, 1, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,
-240, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,123, 1, 0, 0,129, 1, 0, 0,247, 1, 0, 0,
- 0, 0, 0, 1,130, 1, 0, 0,124, 1, 0, 0, 56, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,247, 1, 0, 0,
-245, 1, 0, 0, 63, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,248, 1, 0, 0, 56, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1,
- 61, 1, 0, 0, 63, 1, 0, 0,245, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0, 64, 1, 0, 0, 62, 1, 0, 0,
-132, 1, 0, 0, 0, 0, 0, 1, 68, 65, 84, 65,240, 85, 0, 0,224,234,181, 3, 65, 0, 0, 0,244, 1, 0, 0, 3,112, 28, 63,
-185,178,236, 62,224,124, 27, 63,235, 65,232, 62,144, 63, 30, 63,233,195,226, 62,118,152, 32, 63, 37,167,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 2,232,209, 62,222, 21,226, 62,102,109,215, 62,222,147,231, 62, 28,135,213, 62,172, 4,236, 62,
- 56, 54,205, 62, 22,249,235, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,118,152, 32, 63, 37,167,236, 62,144, 63, 30, 63,
-233,195,226, 62,108,235, 33, 63,197,235,220, 62,209,151, 37, 63, 89,161,236, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 76,144,202, 62,186, 61,220, 62, 2,232,209, 62,222, 21,226, 62, 56, 54,205, 62, 22,249,235, 62,128, 55,195, 62, 70,243,235, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,144, 63, 30, 63,233,195,226, 62, 20, 55, 25, 63, 1, 35,223, 62,200,178, 25, 63,
- 77,233,214, 62,108,235, 33, 63,197,235,220, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,146, 1,219, 62, 66, 59,214, 62,
-248,248,219, 62,246,116,222, 62, 2,232,209, 62,222, 21,226, 62, 76,144,202, 62,186, 61,220, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,224,124, 27, 63,235, 65,232, 62, 87,252, 24, 63, 93,111,230, 62, 20, 55, 25, 63, 1, 35,223, 62,144, 63, 30, 63,
-233,195,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,248,248,219, 62,246,116,222, 62,118,110,220, 62, 78,193,229, 62,
-102,109,215, 62,222,147,231, 62, 2,232,209, 62,222, 21,226, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63,
- 93,111,230, 62, 22,195, 22, 63,195, 90,232, 62,191, 91, 20, 63,193, 18,227, 62, 20, 55, 25, 63, 1, 35,223, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,162,175,229, 62,178,100,226, 62,248,224,224, 62,182,172,231, 62,118,110,220, 62, 78,193,229, 62,
-248,248,219, 62,246,116,222, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 20, 55, 25, 63, 1, 35,223, 62,191, 91, 20, 63,
-193, 18,227, 62,187,165, 17, 63,225, 6,221, 62,200,178, 25, 63, 77,233,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-170, 27,235, 62,214, 88,220, 62,162,175,229, 62,178,100,226, 62,248,248,219, 62,246,116,222, 62,146, 1,219, 62, 66, 59,214, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,191, 91, 20, 63,193, 18,227, 62,164, 18, 18, 63,173,201,236, 62,157,231, 13, 63,
- 89,161,236, 62,187,165, 17, 63,225, 6,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,232,151,242, 62, 70,243,235, 62,
-216, 65,234, 62,158, 27,236, 62,162,175,229, 62,178,100,226, 62,170, 27,235, 62,214, 88,220, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0, 22,195, 22, 63,195, 90,232, 62, 11,202, 21, 63, 1,189,236, 62,164, 18, 18, 63,173,201,236, 62,191, 91, 20, 63,
-193, 18,227, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216, 65,234, 62,158, 27,236, 62, 12,211,226, 62,246, 14,236, 62,
-248,224,224, 62,182,172,231, 62,162,175,229, 62,178,100,226, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
- 1,189,236, 62,215,202, 22, 63,237,124,241, 62,125,105, 20, 63, 1, 71,246, 62,164, 18, 18, 63,173,201,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 42,148,229, 62,246,152,245, 62,112,209,224, 62,226,206,240, 62, 12,211,226, 62,246, 14,236, 62,
-216, 65,234, 62,158, 27,236, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,164, 18, 18, 63,173,201,236, 62,125,105, 20, 63,
- 1, 71,246, 62, 44,173, 17, 63,231,149,252, 62,157,231, 13, 63, 89,161,236, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-206, 12,235, 62,218,231,251, 62, 42,148,229, 62,246,152,245, 62,216, 65,234, 62,158, 27,236, 62,232,151,242, 62, 70,243,235, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,125,105, 20, 63, 1, 71,246, 62, 37, 59, 25, 63, 49, 73,250, 62,108,178, 25, 63,
-218,108, 1, 63, 44,173, 17, 63,231,149,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 76, 2,219, 62,213, 21, 1, 63,
-216,240,219, 62, 38,155,249, 62, 42,148,229, 62,246,152,245, 62,206, 12,235, 62,218,231,251, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,215,202, 22, 63,237,124,241, 62,195, 1, 25, 63,169,102,243, 62, 37, 59, 25, 63, 49, 73,250, 62,125,105, 20, 63,
- 1, 71,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216,240,219, 62, 38,155,249, 62,156, 99,220, 62,154,184,242, 62,
-112,209,224, 62,226,206,240, 62, 42,148,229, 62,246,152,245, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,
-169,102,243, 62,176,125, 27, 63,149,145,241, 62,167, 74, 30, 63, 3,153,246, 62, 37, 59, 25, 63, 49, 73,250, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,212,209,209, 62,246,234,245, 62,192,107,215, 62,138,227,240, 62,156, 99,220, 62,154,184,242, 62,
-216,240,219, 62, 38,155,249, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 37, 59, 25, 63, 49, 73,250, 62,167, 74, 30, 63,
- 3,153,246, 62,204,230, 33, 63,107,232,252, 62,108,178, 25, 63,218,108, 1, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-132,153,202, 62, 94, 58,252, 62,212,209,209, 62,246,234,245, 62,216,240,219, 62, 38,155,249, 62, 76, 2,219, 62,213, 21, 1, 63,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,167, 74, 30, 63, 3,153,246, 62,118,152, 32, 63, 37,167,236, 62,209,151, 37, 63,
- 89,161,236, 62,204,230, 33, 63,107,232,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,128, 55,195, 62, 70,243,235, 62,
- 56, 54,205, 62, 22,249,235, 62,212,209,209, 62,246,234,245, 62,132,153,202, 62, 94, 58,252, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,176,125, 27, 63,149,145,241, 62, 3,112, 28, 63,185,178,236, 62,118,152, 32, 63, 37,167,236, 62,167, 74, 30, 63,
- 3,153,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 56, 54,205, 62, 22,249,235, 62, 28,135,213, 62,172, 4,236, 62,
-192,107,215, 62,138,227,240, 62,212,209,209, 62,246,234,245, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 3,112, 28, 63,
-185,178,236, 62,176,125, 27, 63,149,145,241, 62, 42, 39, 27, 63, 57, 1,241, 62,140,249, 27, 63,115,186,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,206, 24,216, 62, 46, 83,240, 62,192,107,215, 62,138,227,240, 62, 28,135,213, 62,172, 4,236, 62,
- 8,116,214, 62,102, 12,236, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,176,125, 27, 63,149,145,241, 62,195, 1, 25, 63,
-169,102,243, 62, 6,248, 24, 63,185, 91,242, 62, 42, 39, 27, 63, 57, 1,241, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 22,119,220, 62,174,173,241, 62,156, 99,220, 62,154,184,242, 62,192,107,215, 62,138,227,240, 62,206, 24,216, 62, 46, 83,240, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,169,102,243, 62,215,202, 22, 63,237,124,241, 62,157, 38, 23, 63,
-225,173,240, 62, 6,248, 24, 63,185, 91,242, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,234, 25,224, 62,214,255,239, 62,
-112,209,224, 62,226,206,240, 62,156, 99,220, 62,154,184,242, 62, 22,119,220, 62,174,173,241, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,215,202, 22, 63,237,124,241, 62, 11,202, 21, 63, 1,189,236, 62, 13, 89, 22, 63,247,196,236, 62,157, 38, 23, 63,
-225,173,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 8,181,225, 62,234, 22,236, 62, 12,211,226, 62,246, 14,236, 62,
-112,209,224, 62,226,206,240, 62,234, 25,224, 62,214,255,239, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
- 1,189,236, 62, 22,195, 22, 63,195, 90,232, 62, 88, 33, 23, 63, 69, 47,233, 62, 13, 89, 22, 63,247,196,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,112, 36,224, 62, 58,129,232, 62,248,224,224, 62,182,172,231, 62, 12,211,226, 62,246, 14,236, 62,
- 8,181,225, 62,234, 22,236, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 22,195, 22, 63,195, 90,232, 62, 87,252, 24, 63,
- 93,111,230, 62,100,243, 24, 63, 5,123,231, 62, 88, 33, 23, 63, 69, 47,233, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 90,128,220, 62,248,204,230, 62,118,110,220, 62, 78,193,229, 62,248,224,224, 62,182,172,231, 62,112, 36,224, 62, 58,129,232, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63, 93,111,230, 62,224,124, 27, 63,235, 65,232, 62,169, 37, 27, 63,
- 35,211,232, 62,100,243, 24, 63, 5,123,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,206, 27,216, 62, 22, 37,232, 62,
-102,109,215, 62,222,147,231, 62,118,110,220, 62, 78,193,229, 62, 90,128,220, 62,248,204,230, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,224,124, 27, 63,235, 65,232, 62, 3,112, 28, 63,185,178,236, 62,140,249, 27, 63,115,186,236, 62,169, 37, 27, 63,
- 35,211,232, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 8,116,214, 62,102, 12,236, 62, 28,135,213, 62,172, 4,236, 62,
-102,109,215, 62,222,147,231, 62,206, 27,216, 62, 22, 37,232, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,138,242, 24, 63,
- 21,194,236, 62,169, 37, 27, 63, 35,211,232, 62,140,249, 27, 63,115,186,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,112, 0, 8,116,214, 62,102, 12,236, 62,206, 27,216, 62, 22, 37,232, 62, 16,130,220, 62, 6, 20,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,100,243, 24, 63, 5,123,231, 62,169, 37, 27, 63,
- 35,211,232, 62,138,242, 24, 63, 21,194,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,
- 16,130,220, 62, 6, 20,236, 62,206, 27,216, 62, 22, 37,232, 62, 90,128,220, 62,248,204,230, 62, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 88, 33, 23, 63, 69, 47,233, 62,100,243, 24, 63,
- 5,123,231, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 90,128,220, 62,248,204,230, 62,
-112, 36,224, 62, 58,129,232, 62, 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 13, 89, 22, 63,247,196,236, 62, 88, 33, 23, 63, 69, 47,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,112, 36,224, 62, 58,129,232, 62, 8,181,225, 62,234, 22,236, 62,
- 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
- 21,194,236, 62,157, 38, 23, 63,225,173,240, 62, 13, 89, 22, 63,247,196,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,112, 0, 8,181,225, 62,234, 22,236, 62,234, 25,224, 62,214,255,239, 62, 16,130,220, 62, 6, 20,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 6,248, 24, 63,
-185, 91,242, 62,157, 38, 23, 63,225,173,240, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,
-234, 25,224, 62,214,255,239, 62, 22,119,220, 62,174,173,241, 62, 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 6,248, 24, 63,
-185, 91,242, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 22,119,220, 62,174,173,241, 62,
-206, 24,216, 62, 46, 83,240, 62, 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62,140,249, 27, 63,115,186,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 0, 0,128, 63,
- 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,206, 24,216, 62, 46, 83,240, 62, 8,116,214, 62,102, 12,236, 62,
- 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,174,254, 16, 63,
- 94, 45, 34, 62, 79,190, 13, 63,160,193, 46, 62,220,199, 3, 63, 89,219, 24, 62,219,199, 3, 63, 18, 28,229, 61, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 16, 0,220,199, 3, 63, 89,219, 24, 62, 14,150,243, 62,204, 79, 47, 62,140,248,236, 62,182,202, 34, 62,
-219,199, 3, 63, 18, 28,229, 61, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,182, 47, 53, 62,250,104, 16, 63,
- 16,113, 55, 62, 79,190, 13, 63,160,193, 46, 62,174,254, 16, 63, 94, 45, 34, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,
- 14,150,243, 62,204, 79, 47, 62,200, 68,238, 62, 76, 62, 56, 62,183,207,227, 62,250, 75, 54, 62,140,248,236, 62,182,202, 34, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,137, 57, 22, 63, 81, 93, 61, 62,206,186, 16, 63, 85,129, 72, 62,250,104, 16, 63,
- 16,113, 55, 62,184,152, 21, 63,182, 47, 53, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,
-192,187,237, 62,194,118, 73, 62,122,152,226, 62,190,166, 62, 62,183,207,227, 62,250, 75, 54, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,250,249, 22, 63,160,251, 88, 62,222, 32, 16, 63, 34,106, 93, 62,206,186, 16, 63, 85,129, 72, 62,137, 57, 22, 63,
- 81, 93, 61, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192,187,237, 62,194,118, 73, 62, 21, 19,239, 62,121,110, 94, 62,
- 90, 83,225, 62, 21,153, 90, 62,122,152,226, 62,190,166, 62, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
- 17, 56,132, 62,206,243, 15, 63,182,207,136, 62,222, 32, 16, 63, 34,106, 93, 62,250,249, 22, 63,160,251, 88, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62, 92,193,239, 62,113, 61,137, 62, 54, 42,221, 62,209, 25,133, 62,
- 90, 83,225, 62, 21,153, 90, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62, 91, 94, 37, 63,
-107,120,187, 62, 66, 21, 30, 63,178,139,200, 62,158,237, 12, 63, 38,241,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-139,125,211, 62,170,171,200, 62,156, 28,197, 62,166,130,187, 62,115, 21,216, 62, 14,177,166, 62, 15,175,245, 62,188, 14,188, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 91, 94, 37, 63,107,120,187, 62, 87, 57, 43, 63,222, 58,206, 62, 24,163, 39, 63,
-174, 95,216, 62, 66, 21, 30, 63,178,139,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,
-130,207,184, 62, 42, 27,206, 62,156, 28,197, 62,166,130,187, 62,139,125,211, 62,170,171,200, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 87, 57, 43, 63,222, 58,206, 62, 38,229, 50, 63,169, 32,226, 62,177, 79, 43, 63,202,194,231, 62, 24,163, 39, 63,
-174, 95,216, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 60,201,183, 62, 82,218,231, 62,196, 39,168, 62,206, 11,226, 62,
-130,207,184, 62, 42, 27,206, 62, 98,194,191, 62, 42, 94,216, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 38,229, 50, 63,
-169, 32,226, 62, 62,134, 48, 63, 37,107,249, 62,154,190, 43, 63,192, 0,249, 62,177, 79, 43, 63,202,194,231, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62,172,229,172, 62,116,127,249, 62,196, 39,168, 62,206, 11,226, 62,
- 60,201,183, 62, 82,218,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 62,134, 48, 63, 37,107,249, 62,238, 88, 46, 63,
-146,223, 2, 63,123,207, 40, 63,218,175,254, 62,154,190, 43, 63,192, 0,249, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 2,184,188, 62,140, 0,255, 62,173, 87,177, 62,102, 9, 3, 63,172,229,172, 62,116,127,249, 62,138,190,182, 62, 35, 49,249, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,238, 88, 46, 63,146,223, 2, 63,220,158, 34, 63,175, 23, 10, 63,126, 77, 30, 63,
-156, 88, 5, 63,123,207, 40, 63,218,175,254, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63,
-124,109,201, 62, 72,121, 10, 63,173, 87,177, 62,102, 9, 3, 63, 2,184,188, 62,140, 0,255, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,220,158, 34, 63,175, 23, 10, 63, 28,105, 26, 63,242,194, 11, 63,244,120, 25, 63, 78,242, 7, 63,126, 77, 30, 63,
-156, 88, 5, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,220, 73,218, 62,169, 31, 12, 63,
-124,109,201, 62, 72,121, 10, 63, 89, 65,210, 62, 56,158, 5, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,
-242,194, 11, 63,173,244, 22, 63,236,215, 11, 63,202, 47, 22, 63,156, 60, 8, 63,244,120, 25, 63, 78,242, 7, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,220, 89,225, 62, 77, 42, 12, 63,220, 73,218, 62,169, 31, 12, 63,
- 0, 39,220, 62,252, 58, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,236,215, 11, 63, 67,169, 11, 63,
- 18,197, 11, 63,106,252, 12, 63,180,173, 3, 63,202, 47, 22, 63,156, 60, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 35,114,245, 62,233,196, 3, 63, 55, 72,248, 62, 91,232, 11, 63,220, 89,225, 62, 77, 42, 12, 63, 11,221,226, 62, 90,125, 8, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63, 18,197, 11, 63,148,232, 3, 63,164, 17, 11, 63,162,220, 3, 63,
- 45, 88, 0, 63,106,252, 12, 63,180,173, 3, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,162,220, 3, 63, 45, 88, 0, 63,
-148,232, 3, 63,164, 17, 11, 63, 55, 72,248, 62, 91,232, 11, 63, 35,114,245, 62,233,196, 3, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,103, 59, 17, 63,120,195,255, 62,240, 81, 22, 63,114, 70, 1, 63,202, 47, 22, 63,156, 60, 8, 63,106,252, 12, 63,
-180,173, 3, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,106,128,226, 62,198,111, 1, 63,
-209,213,236, 62, 4,250,255, 62, 35,114,245, 62,233,196, 3, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,
-114, 70, 1, 63,151,182, 25, 63,130, 9, 1, 63,244,120, 25, 63, 78,242, 7, 63,202, 47, 22, 63,156, 60, 8, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,213,150,219, 62, 50, 55, 1, 63,106,128,226, 62,198,111, 1, 63,
- 11,221,226, 62, 90,125, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 96, 49, 30, 63,121,229,254, 62,126, 77, 30, 63,
-156, 88, 5, 63,244,120, 25, 63, 78,242, 7, 63,151,182, 25, 63,130, 9, 1, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 0, 39,220, 62,252, 58, 8, 63, 89, 65,210, 62, 56,158, 5, 63,176,116,210, 62,227, 62,255, 62,213,150,219, 62, 50, 55, 1, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63, 35,157,247, 62,123,207, 40, 63,218,175,254, 62,126, 77, 30, 63,
-156, 88, 5, 63, 96, 49, 30, 63,121,229,254, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63,
- 2,184,188, 62,140, 0,255, 62,189,165,195, 62,139,232,247, 62,176,116,210, 62,227, 62,255, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 92, 62, 39, 63,121, 75,240, 62,154,190, 43, 63,192, 0,249, 62,123,207, 40, 63,218,175,254, 62, 25,113, 37, 63,
- 35,157,247, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 2,184,188, 62,140, 0,255, 62,138,190,182, 62, 35, 49,249, 62,
-222, 10,192, 62,163,128,240, 62,189,165,195, 62,139,232,247, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
- 38, 95,229, 62,177, 79, 43, 63,202,194,231, 62,154,190, 43, 63,192, 0,249, 62, 92, 62, 39, 63,121, 75,240, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62, 60,201,183, 62, 82,218,231, 62,168,140,193, 62, 94,129,229, 62,
-222, 10,192, 62,163,128,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 14,120, 33, 63,166,238,214, 62, 24,163, 39, 63,
-174, 95,216, 62,177, 79, 43, 63,202,194,231, 62,140,149, 38, 63, 38, 95,229, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 60,201,183, 62, 82,218,231, 62, 98,194,191, 62, 42, 94,216, 62,168, 75,204, 62, 62, 7,215, 62,168,140,193, 62, 94,129,229, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,128, 17,208, 62, 66, 21, 30, 63,178,139,200, 62, 24,163, 39, 63,
-174, 95,216, 62, 14,120, 33, 63,166,238,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,
-139,125,211, 62,170,171,200, 62, 6, 24,216, 62,128, 57,208, 62,168, 75,204, 62, 62, 7,215, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 15, 97, 17, 63,220, 34,214, 62,158,237, 12, 63, 38,241,187, 62, 66, 21, 30, 63,178,139,200, 62,165,178, 27, 63,
-128, 17,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,139,125,211, 62,170,171,200, 62, 15,175,245, 62,188, 14,188, 62,
-217,200,236, 62,134, 49,214, 62, 6, 24,216, 62,128, 57,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
-220, 34,214, 62,149,244, 14, 63, 4, 42,221, 62,147,230, 3, 63, 78, 47,208, 62,158,237, 12, 63, 38,241,187, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,147,230, 3, 63, 78, 47,208, 62,141,144,241, 62,244, 52,221, 62,217,200,236, 62,134, 49,214, 62,
- 15,175,245, 62,188, 14,188, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,120,195,255, 62,106,252, 12, 63,
-180,173, 3, 63,162,220, 3, 63, 45, 88, 0, 63, 71, 25, 13, 63,116,163,243, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-162,220, 3, 63, 45, 88, 0, 63, 35,114,245, 62,233,196, 3, 63,209,213,236, 62, 4,250,255, 62, 0, 45,245, 62,206,185,243, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,116,163,243, 62,162,220, 3, 63, 45, 88, 0, 63,215,220, 3, 63,
-148,189,231, 62, 64, 2, 13, 63, 52,215,230, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,215,220, 3, 63,148,189,231, 62,
-162,220, 3, 63, 45, 88, 0, 63, 0, 45,245, 62,206,185,243, 62,219,100,245, 62,184,230,230, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,147,230, 3, 63, 78, 47,208, 62,149,244, 14, 63, 4, 42,221, 62, 64, 2, 13, 63, 52,215,230, 62,215,220, 3, 63,
-148,189,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,219,100,245, 62,184,230,230, 62,141,144,241, 62,244, 52,221, 62,
-147,230, 3, 63, 78, 47,208, 62,215,220, 3, 63,148,189,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,
-148, 31, 54, 62,193,202, 3, 63,214,174, 49, 62,220,199, 3, 63, 89,219, 24, 62, 79,190, 13, 63,160,193, 46, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,220,199, 3, 63, 89,219, 24, 62,193,202, 3, 63,214,174, 49, 62,175, 87, 0, 63,251, 90, 54, 62,
- 14,150,243, 62,204, 79, 47, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,246,237, 66, 62,250, 61, 7, 63,
-148, 31, 54, 62, 79,190, 13, 63,160,193, 46, 62,250,104, 16, 63, 16,113, 55, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 14,150,243, 62,204, 79, 47, 62,175, 87, 0, 63,251, 90, 54, 62,104,137,251, 62,179, 92, 67, 62,200, 68,238, 62, 76, 62, 56, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,218, 90, 91, 62, 68,214, 9, 63,246,237, 66, 62,250,104, 16, 63,
- 16,113, 55, 62,206,186, 16, 63, 85,129, 72, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,
-104,137,251, 62,179, 92, 67, 62, 39,153,253, 62, 27,195, 91, 62,192,187,237, 62,194,118, 73, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,206,243, 15, 63,182,207,136, 62, 77, 32, 8, 63, 10, 39,139, 62, 22,117, 9, 63,146,203, 97, 62,222, 32, 16, 63,
- 34,106, 93, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62,219, 89,255, 62,116, 79,139, 62,
- 92,193,239, 62,113, 61,137, 62, 21, 19,239, 62,121,110, 94, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
-218, 90, 91, 62,206,186, 16, 63, 85,129, 72, 62,222, 32, 16, 63, 34,106, 93, 62, 22,117, 9, 63,146,203, 97, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62,192,187,237, 62,194,118, 73, 62, 39,153,253, 62, 27,195, 91, 62,
-192,110,252, 62, 79, 68, 98, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,119,125, 9, 63, 7,112,158, 62, 70,233, 3, 63,
- 88, 27,154, 62,235,229, 3, 63, 97,108,139, 62, 77, 32, 8, 63, 10, 39,139, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-235,229, 3, 63, 97,108,139, 62, 70,233, 3, 63, 88, 27,154, 62,165,179,252, 62,163,140,158, 62,219, 89,255, 62,116, 79,139, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 22,117, 9, 63,146,203, 97, 62, 77, 32, 8, 63, 10, 39,139, 62,235,229, 3, 63,
- 97,108,139, 62,246,215, 3, 63,143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,235,229, 3, 63, 97,108,139, 62,
-219, 89,255, 62,116, 79,139, 62,192,110,252, 62, 79, 68, 98, 62,246,215, 3, 63,143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,147,210, 3, 63,221, 95, 86, 62,237,221, 8, 63,218, 90, 91, 62, 22,117, 9, 63,146,203, 97, 62,246,215, 3, 63,
-143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62, 39,153,253, 62, 27,195, 91, 62,
-147,210, 3, 63,221, 95, 86, 62,246,215, 3, 63,143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,
-188,183,167, 62,250, 61, 9, 63,252,214,168, 62,152,143, 8, 63, 45,107,163, 62,119,125, 9, 63, 7,112,158, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,110, 39,253, 62,103,224,168, 62, 98, 68,247, 62,146,206,167, 62,
-165,179,252, 62,163,140,158, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63, 52,208,178, 62, 25,233, 8, 63,
-116,110,175, 62,250, 61, 9, 63,252,214,168, 62, 5, 54, 12, 63,188,183,167, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-110, 39,253, 62,103,224,168, 62,102,195,253, 62,184,102,175, 62, 98, 14,250, 62,149,202,178, 62, 98, 68,247, 62,146,206,167, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,105,176,182, 62, 69,138, 6, 63, 80,180,177, 62, 25,233, 8, 63,
-116,110,175, 62,135,196, 10, 63, 52,208,178, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,102,195,253, 62,184,102,175, 62,
- 14, 49, 1, 63, 62,150,177, 62, 69, 17, 4, 63,105,176,182, 62, 98, 14,250, 62,149,202,178, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,209,124, 3, 63, 70, 0,177, 62, 11,232, 3, 63,140, 4,174, 62, 69,138, 6, 63, 80,180,177, 62, 69, 17, 4, 63,
-105,176,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 1, 63, 62,150,177, 62, 11,232, 3, 63,140, 4,174, 62,
-209,124, 3, 63, 70, 0,177, 62, 69, 17, 4, 63,105,176,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 70,233, 3, 63,
- 88, 27,154, 62,119,125, 9, 63, 7,112,158, 62,152,143, 8, 63, 45,107,163, 62,212,232, 3, 63, 58,152,158, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,165,179,252, 62,163,140,158, 62, 70,233, 3, 63, 88, 27,154, 62,
-212,232, 3, 63, 58,152,158, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,212,232, 3, 63, 58,152,158, 62,152,143, 8, 63,
- 45,107,163, 62,121, 91, 7, 63,134, 51,166, 62,205,231, 3, 63, 58,149,162, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 44,116, 0, 63,255, 56,166, 62,100,136,254, 62, 38,123,163, 62,212,232, 3, 63, 58,152,158, 62,205,231, 3, 63, 58,149,162, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 11,232, 3, 63,140, 4,174, 62,214,233, 3, 63,198,154,170, 62,233,110, 6, 63,
- 94,152,174, 62, 69,138, 6, 63, 80,180,177, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228, 82, 1, 63, 95,140,174, 62,
-214,233, 3, 63,198,154,170, 62, 11,232, 3, 63,140, 4,174, 62, 14, 49, 1, 63, 62,150,177, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 69,138, 6, 63, 80,180,177, 62,233,110, 6, 63, 94,152,174, 62, 59,236, 7, 63, 19,123,173, 62, 25,233, 8, 63,
-116,110,175, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,228, 82, 1, 63, 95,140,174, 62,
- 14, 49, 1, 63, 62,150,177, 62,102,195,253, 62,184,102,175, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 25,233, 8, 63,
-116,110,175, 62, 59,236, 7, 63, 19,123,173, 62, 85,249, 7, 63, 92, 52,169, 62,250, 61, 9, 63,252,214,168, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,160,169,255, 62, 6, 57,169, 62,217,185,255, 62, 92,116,173, 62,102,195,253, 62,184,102,175, 62,
-110, 39,253, 62,103,224,168, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 9, 63,252,214,168, 62, 85,249, 7, 63,
- 92, 52,169, 62,121, 91, 7, 63,134, 51,166, 62,152,143, 8, 63, 45,107,163, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 44,116, 0, 63,255, 56,166, 62,160,169,255, 62, 6, 57,169, 62,110, 39,253, 62,103,224,168, 62,100,136,254, 62, 38,123,163, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,214,233, 3, 63,198,154,170, 62, 85,249, 7, 63, 92, 52,169, 62, 59,236, 7, 63,
- 19,123,173, 62,233,110, 6, 63, 94,152,174, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,
-160,169,255, 62, 6, 57,169, 62,214,233, 3, 63,198,154,170, 62,228, 82, 1, 63, 95,140,174, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,214,233, 3, 63,198,154,170, 62,205,231, 3, 63, 58,149,162, 62,121, 91, 7, 63,134, 51,166, 62, 85,249, 7, 63,
- 92, 52,169, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,205,231, 3, 63, 58,149,162, 62,
-214,233, 3, 63,198,154,170, 62,160,169,255, 62, 6, 57,169, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,
-105,176,182, 62,135,196, 10, 63, 52,208,178, 62,158,237, 12, 63, 38,241,187, 62,147,230, 3, 63, 78, 47,208, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 15,175,245, 62,188, 14,188, 62, 98, 14,250, 62,149,202,178, 62, 69, 17, 4, 63,105,176,182, 62,
-147,230, 3, 63, 78, 47,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63, 52,208,178, 62, 5, 54, 12, 63,
-188,183,167, 62,112, 0, 16, 63,254,246,164, 62,158,237, 12, 63, 38,241,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-207,187,239, 62, 19, 42,165, 62, 98, 68,247, 62,146,206,167, 62, 98, 14,250, 62,149,202,178, 62, 15,175,245, 62,188, 14,188, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,188,183,167, 62,119,125, 9, 63, 7,112,158, 62, 44,250, 15, 63,
-109, 0,154, 62,112, 0, 16, 63,254,246,164, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,
-165,179,252, 62,163,140,158, 62, 98, 68,247, 62,146,206,167, 62,207,187,239, 62, 19, 42,165, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,119,125, 9, 63, 7,112,158, 62, 77, 32, 8, 63, 10, 39,139, 62,206,243, 15, 63,182,207,136, 62, 44,250, 15, 63,
-109, 0,154, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 92,193,239, 62,113, 61,137, 62,219, 89,255, 62,116, 79,139, 62,
-165,179,252, 62,163,140,158, 62, 56,205,239, 62, 8, 71,154, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
- 17, 56,132, 62,208, 46, 27, 63,149, 35,148, 62, 44,250, 15, 63,109, 0,154, 62,206,243, 15, 63,182,207,136, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,238,166,217, 62,229,221,148, 62, 54, 42,221, 62,209, 25,133, 62,
- 92,193,239, 62,113, 61,137, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,208, 46, 27, 63,149, 35,148, 62, 36,177, 27, 63,
-158,151,156, 62,112, 0, 16, 63,254,246,164, 62, 44,250, 15, 63,109, 0,154, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-207,187,239, 62, 19, 42,165, 62, 0,160,216, 62,127, 44,157, 62,238,166,217, 62,229,221,148, 62, 56,205,239, 62, 8, 71,154, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62,158,237, 12, 63, 38,241,187, 62,112, 0, 16, 63,
-254,246,164, 62, 36,177, 27, 63,158,151,156, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62,
- 15,175,245, 62,188, 14,188, 62,115, 21,216, 62, 14,177,166, 62, 0,160,216, 62,127, 44,157, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,237,221, 8, 63,218, 90, 91, 62,147,210, 3, 63,221, 95, 86, 62,129,211, 3, 63,248,168, 83, 62,170, 33, 8, 63,
-254,149, 86, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,129,211, 3, 63,248,168, 83, 62,147,210, 3, 63,221, 95, 86, 62,
- 39,153,253, 62, 27,195, 91, 62, 8, 14,255, 62, 58,232, 86, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,
-246,237, 66, 62,237,221, 8, 63,218, 90, 91, 62,170, 33, 8, 63,254,149, 86, 62, 20,180, 8, 63, 94, 29, 69, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,255, 62, 58,232, 86, 62, 39,153,253, 62, 27,195, 91, 62,104,137,251, 62,179, 92, 67, 62,
- 19,210,253, 62, 55,114, 69, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,148, 31, 54, 62, 68,214, 9, 63,
-246,237, 66, 62, 20,180, 8, 63, 94, 29, 69, 62,168, 82, 6, 63, 80, 43, 57, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 19,210,253, 62, 55,114, 69, 62,104,137,251, 62,179, 92, 67, 62,175, 87, 0, 63,251, 90, 54, 62, 48, 68, 1, 63,166, 84, 57, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,193,202, 3, 63,214,174, 49, 62,250, 61, 7, 63,148, 31, 54, 62,168, 82, 6, 63,
- 80, 43, 57, 62,205,202, 3, 63, 8, 22, 54, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 48, 68, 1, 63,166, 84, 57, 62,
-175, 87, 0, 63,251, 90, 54, 62,193,202, 3, 63,214,174, 49, 62,205,202, 3, 63, 8, 22, 54, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,205,202, 3, 63, 8, 22, 54, 62,168, 82, 6, 63, 80, 43, 57, 62,246, 24, 5, 63, 26,150, 66, 62,213,205, 3, 63,
-220,232, 64, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62, 48, 68, 1, 63,166, 84, 57, 62,
-205,202, 3, 63, 8, 22, 54, 62,213,205, 3, 63,220,232, 64, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,168, 82, 6, 63,
- 80, 43, 57, 62, 20,180, 8, 63, 94, 29, 69, 62, 39, 83, 6, 63,191,114, 70, 62,246, 24, 5, 63, 26,150, 66, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 19,210,253, 62, 55,114, 69, 62, 48, 68, 1, 63,166, 84, 57, 62,
- 29,131, 2, 63, 22,172, 66, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20,180, 8, 63, 94, 29, 69, 62,170, 33, 8, 63,
-254,149, 86, 62, 4,111, 6, 63, 40,172, 76, 62, 39, 83, 6, 63,191,114, 70, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-157, 51, 1, 63,158,218, 76, 62, 8, 14,255, 62, 58,232, 86, 62, 19,210,253, 62, 55,114, 69, 62,185, 75, 1, 63,222,160, 70, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,170, 33, 8, 63,254,149, 86, 62,129,211, 3, 63,248,168, 83, 62,234,208, 3, 63,
-146, 43, 75, 62, 4,111, 6, 63, 40,172, 76, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,234,208, 3, 63,146, 43, 75, 62,
-129,211, 3, 63,248,168, 83, 62, 8, 14,255, 62, 58,232, 86, 62,157, 51, 1, 63,158,218, 76, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,234,208, 3, 63,146, 43, 75, 62,213,205, 3, 63,220,232, 64, 62,246, 24, 5, 63, 26,150, 66, 62, 4,111, 6, 63,
- 40,172, 76, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62,213,205, 3, 63,220,232, 64, 62,
-234,208, 3, 63,146, 43, 75, 62,157, 51, 1, 63,158,218, 76, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 4,111, 6, 63,
- 40,172, 76, 62,246, 24, 5, 63, 26,150, 66, 62, 39, 83, 6, 63,191,114, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 29,131, 2, 63, 22,172, 66, 62,157, 51, 1, 63,158,218, 76, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64, 2, 13, 63, 52,215,230, 62,149,244, 14, 63,
- 4, 42,221, 62, 4,216, 16, 63,160, 24,224, 62,120,200, 15, 63, 84,255,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-119,193,237, 62,190, 38,224, 62,141,144,241, 62,244, 52,221, 62,219,100,245, 62,184,230,230, 62, 21,211,239, 62,185, 18,232, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,116,163,243, 62, 64, 2, 13, 63, 52,215,230, 62,120,200, 15, 63,
- 84,255,231, 62,184,171, 16, 63, 40,133,241, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 21,211,239, 62,185, 18,232, 62,
-219,100,245, 62,184,230,230, 62, 0, 45,245, 62,206,185,243, 62,218,252,237, 62, 62,160,241, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,103, 59, 17, 63,120,195,255, 62, 71, 25, 13, 63,116,163,243, 62,184,171, 16, 63, 40,133,241, 62, 55, 44, 19, 63,
- 86, 21,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,218,252,237, 62, 62,160,241, 62, 0, 45,245, 62,206,185,243, 62,
-209,213,236, 62, 4,250,255, 62,153,228,232, 62,154, 67,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,149,244, 14, 63,
- 4, 42,221, 62, 15, 97, 17, 63,220, 34,214, 62,217, 53, 19, 63, 16,211,218, 62, 4,216, 16, 63,160, 24,224, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,233, 62, 66,226,218, 62,217,200,236, 62,134, 49,214, 62,141,144,241, 62,244, 52,221, 62,
-119,193,237, 62,190, 38,224, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,220, 34,214, 62,165,178, 27, 63,
-128, 17,208, 62,205,198, 26, 63,124,184,214, 62,217, 53, 19, 63, 16,211,218, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-216,214,217, 62,218,224,214, 62, 6, 24,216, 62,128, 57,208, 62,217,200,236, 62,134, 49,214, 62, 8, 14,233, 62, 66,226,218, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,128, 17,208, 62, 14,120, 33, 63,166,238,214, 62,156,136, 31, 63,
-194,138,219, 62,205,198, 26, 63,124,184,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,254, 30,208, 62,204,177,219, 62,
-168, 75,204, 62, 62, 7,215, 62, 6, 24,216, 62,128, 57,208, 62,216,214,217, 62,218,224,214, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 14,120, 33, 63,166,238,214, 62,140,149, 38, 63, 38, 95,229, 62, 79, 9, 36, 63, 94,224,229, 62,156,136, 31, 63,
-194,138,219, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,148,192,198, 62,182, 11,230, 62,168,140,193, 62, 94,129,229, 62,
-168, 75,204, 62, 62, 7,215, 62,254, 30,208, 62,204,177,219, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
- 38, 95,229, 62, 92, 62, 39, 63,121, 75,240, 62, 14, 49, 36, 63,253, 88,239, 62, 79, 9, 36, 63, 94,224,229, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 97, 71,198, 62,192,149,239, 62,222, 10,192, 62,163,128,240, 62,168,140,193, 62, 94,129,229, 62,
-148,192,198, 62,182, 11,230, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 92, 62, 39, 63,121, 75,240, 62, 25,113, 37, 63,
- 35,157,247, 62,243, 33, 35, 63, 80,143,245, 62, 14, 49, 36, 63,253, 88,239, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 87, 99,200, 62,172,217,245, 62,189,165,195, 62,139,232,247, 62,222, 10,192, 62,163,128,240, 62, 97, 71,198, 62,192,149,239, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63, 35,157,247, 62, 96, 49, 30, 63,121,229,254, 62,223, 49, 29, 63,
-199,140,250, 62,243, 33, 35, 63, 80,143,245, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,147,124,212, 62,146,215,250, 62,
-176,116,210, 62,227, 62,255, 62,189,165,195, 62,139,232,247, 62, 87, 99,200, 62,172,217,245, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 96, 49, 30, 63,121,229,254, 62,151,182, 25, 63,130, 9, 1, 63, 50,181, 25, 63,118,111,253, 62,223, 49, 29, 63,
-199,140,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 52,151,219, 62, 68,186,253, 62,213,150,219, 62, 50, 55, 1, 63,
-176,116,210, 62,227, 62,255, 62,147,124,212, 62,146,215,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,151,182, 25, 63,
-130, 9, 1, 63,240, 81, 22, 63,114, 70, 1, 63,241,188, 22, 63, 28,149,253, 62, 50,181, 25, 63,118,111,253, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,212,163,225, 62, 91,215,253, 62,106,128,226, 62,198,111, 1, 63,213,150,219, 62, 50, 55, 1, 63,
- 52,151,219, 62, 68,186,253, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,114, 70, 1, 63,103, 59, 17, 63,
-120,195,255, 62, 55, 44, 19, 63, 86, 21,250, 62,241,188, 22, 63, 28,149,253, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-153,228,232, 62,154, 67,250, 62,209,213,236, 62, 4,250,255, 62,106,128,226, 62,198,111, 1, 63,212,163,225, 62, 91,215,253, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,241,188, 22, 63, 28,149,253, 62, 55, 44, 19, 63, 86, 21,250, 62, 9,165, 20, 63,
-248, 99,247, 62, 20, 0, 23, 63, 6, 57,251, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,232,232,229, 62, 74,142,247, 62,
-153,228,232, 62,154, 67,250, 62,212,163,225, 62, 91,215,253, 62,145, 26,225, 62,114,116,251, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 50,181, 25, 63,118,111,253, 62,241,188, 22, 63, 28,149,253, 62, 20, 0, 23, 63, 6, 57,251, 62,130,144, 25, 63,
-128, 7,251, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,145, 26,225, 62,114,116,251, 62,212,163,225, 62, 91,215,253, 62,
- 52,151,219, 62, 68,186,253, 62,177,225,219, 62, 67, 75,251, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,223, 49, 29, 63,
-199,140,250, 62, 50,181, 25, 63,118,111,253, 62,130,144, 25, 63,128, 7,251, 62, 80,195, 28, 63, 55,166,248, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,177,225,219, 62, 67, 75,251, 62, 52,151,219, 62, 68,186,253, 62,147,124,212, 62,146,215,250, 62,
-233, 95,213, 62, 20,237,248, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,243, 33, 35, 63, 80,143,245, 62,223, 49, 29, 63,
-199,140,250, 62, 80,195, 28, 63, 55,166,248, 62, 22,164, 33, 63,102, 75,243, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-233, 95,213, 62, 20,237,248, 62,147,124,212, 62,146,215,250, 62, 87, 99,200, 62,172,217,245, 62, 65,114,203, 62,159,143,243, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 36, 63,253, 88,239, 62,243, 33, 35, 63, 80,143,245, 62, 22,164, 33, 63,
-102, 75,243, 62, 30,160, 34, 63,169, 47,238, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 65,114,203, 62,159,143,243, 62,
- 87, 99,200, 62,172,217,245, 62, 97, 71,198, 62,192,149,239, 62,188,128,201, 62,126,110,238, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 79, 9, 36, 63, 94,224,229, 62, 14, 49, 36, 63,253, 88,239, 62, 30,160, 34, 63,169, 47,238, 62,131,144, 34, 63,
-253, 87,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,188,128,201, 62,126,110,238, 62, 97, 71,198, 62,192,149,239, 62,
-148,192,198, 62,182, 11,230, 62,141,190,201, 62,124,140,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156,136, 31, 63,
-194,138,219, 62, 79, 9, 36, 63, 94,224,229, 62,131,144, 34, 63,253, 87,231, 62, 21,208, 30, 63,174,182,221, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,141,190,201, 62,124,140,231, 62,148,192,198, 62,182, 11,230, 62,254, 30,208, 62,204,177,219, 62,
-168,133,209, 62, 51,221,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,205,198, 26, 63,124,184,214, 62,156,136, 31, 63,
-194,138,219, 62, 21,208, 30, 63,174,182,221, 62,128,218, 26, 63, 68,206,217, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-168,133,209, 62, 51,221,221, 62,254, 30,208, 62,204,177,219, 62,216,214,217, 62,218,224,214, 62, 11,157,217, 62, 64,243,217, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217, 53, 19, 63, 16,211,218, 62,205,198, 26, 63,124,184,214, 62,128,218, 26, 63,
- 68,206,217, 62,103, 53, 20, 63,236, 84,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 11,157,217, 62, 64,243,217, 62,
-216,214,217, 62,218,224,214, 62, 8, 14,233, 62, 66,226,218, 62, 68, 5,231, 62,234,101,221, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 4,216, 16, 63,160, 24,224, 62,217, 53, 19, 63, 16,211,218, 62,103, 53, 20, 63,236, 84,221, 62, 81, 87, 18, 63,
- 33,175,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68, 5,231, 62,234,101,221, 62, 8, 14,233, 62, 66,226,218, 62,
-119,193,237, 62,190, 38,224, 62,180,187,234, 62,249,190,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 55, 44, 19, 63,
- 86, 21,250, 62,184,171, 16, 63, 40,133,241, 62, 98, 68, 18, 63,150,197,240, 62, 9,165, 20, 63,248, 99,247, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 35,197,234, 62,215,226,240, 62,218,252,237, 62, 62,160,241, 62,153,228,232, 62,154, 67,250, 62,
-232,232,229, 62, 74,142,247, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,184,171, 16, 63, 40,133,241, 62,120,200, 15, 63,
- 84,255,231, 62,161, 4, 18, 63,138,184,232, 62, 98, 68, 18, 63,150,197,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-154, 85,235, 62, 92,206,232, 62, 21,211,239, 62,185, 18,232, 62,218,252,237, 62, 62,160,241, 62, 35,197,234, 62,215,226,240, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120,200, 15, 63, 84,255,231, 62, 4,216, 16, 63,160, 24,224, 62, 81, 87, 18, 63,
- 33,175,226, 62,161, 4, 18, 63,138,184,232, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,180,187,234, 62,249,190,226, 62,
-119,193,237, 62,190, 38,224, 62, 21,211,239, 62,185, 18,232, 62,154, 85,235, 62, 92,206,232, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,148,232, 3, 63,164, 17, 11, 63, 67,169, 11, 63, 18,197, 11, 63,216,120, 13, 63,160, 81, 23, 63,147, 15, 4, 63,
-227,248, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64, 27,245, 62,100,166, 23, 63, 55, 72,248, 62, 91,232, 11, 63,
-148,232, 3, 63,164, 17, 11, 63,147, 15, 4, 63,227,248, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63,
- 18,197, 11, 63,173,244, 22, 63,236,215, 11, 63, 94,233, 23, 63,186, 60, 16, 63,216,120, 13, 63,160, 81, 23, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,109,130,223, 62,118,165, 16, 63,220, 89,225, 62, 77, 42, 12, 63, 55, 72,248, 62, 91,232, 11, 63,
- 64, 27,245, 62,100,166, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,236,215, 11, 63, 28,105, 26, 63,
-242,194, 11, 63,220, 56, 28, 63, 66,250, 14, 63, 94,233, 23, 63,186, 60, 16, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-157,161,214, 62,219,110, 15, 63,220, 73,218, 62,169, 31, 12, 63,220, 89,225, 62, 77, 42, 12, 63,109,130,223, 62,118,165, 16, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,242,194, 11, 63,220,158, 34, 63,175, 23, 10, 63,109, 44, 39, 63,
-107,221, 19, 63,220, 56, 28, 63, 66,250, 14, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156, 26,192, 62, 31,139, 20, 63,
-124,109,201, 62, 72,121, 10, 63,220, 73,218, 62,169, 31, 12, 63,157,161,214, 62,219,110, 15, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,220,158, 34, 63,175, 23, 10, 63,238, 88, 46, 63,146,223, 2, 63,242, 80, 56, 63, 44,244, 6, 63,109, 44, 39, 63,
-107,221, 19, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 61,208,156, 62,204, 16, 7, 63,173, 87,177, 62,102, 9, 3, 63,
-124,109,201, 62, 72,121, 10, 63,156, 26,192, 62, 31,139, 20, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,238, 88, 46, 63,
-146,223, 2, 63, 62,134, 48, 63, 37,107,249, 62,195,173, 54, 63,239,106,252, 62,242, 80, 56, 63, 44,244, 6, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,128, 0,202, 36,160, 62, 94, 51,252, 62,172,229,172, 62,116,127,249, 62,173, 87,177, 62,102, 9, 3, 63,
- 61,208,156, 62,204, 16, 7, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0, 62,134, 48, 63, 37,107,249, 62, 38,229, 50, 63,
-169, 32,226, 62,154, 88, 53, 63,240,146,221, 62,195,173, 54, 63,239,106,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,
-128,172,162, 62, 17,169,221, 62,196, 39,168, 62,206, 11,226, 62,172,229,172, 62,116,127,249, 62,202, 36,160, 62, 94, 51,252, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0, 38,229, 50, 63,169, 32,226, 62, 87, 57, 43, 63,222, 58,206, 62,240,117, 49, 63,
-164,138,198, 62,154, 88, 53, 63,240,146,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,147,137,172, 62,148, 19,198, 62,
-130,207,184, 62, 42, 27,206, 62,196, 39,168, 62,206, 11,226, 62,128,172,162, 62, 17,169,221, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,128, 0, 87, 57, 43, 63,222, 58,206, 62, 91, 94, 37, 63,107,120,187, 62,156,160, 41, 63, 56,175,182, 62,240,117, 49, 63,
-164,138,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62,156, 28,197, 62,166,130,187, 62,
-130,207,184, 62, 42, 27,206, 62,147,137,172, 62,148, 19,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,165,252, 48, 63,
-133, 33, 85, 62,112, 54, 48, 63, 20, 19, 96, 62,172, 36, 46, 63,208, 7,129, 62,240, 17, 42, 63,129, 84, 97, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62,117,121,175, 62,183,185,106, 62,217, 24,172, 62, 21,237, 92, 62,
-138, 81,187, 62, 59, 40,103, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,204, 89, 48, 63,134,194, 4, 62,165,252, 48, 63,
-133, 33, 85, 62,240, 17, 42, 63,129, 84, 97, 62,160,125, 37, 63, 50,211, 46, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,
-138, 81,187, 62, 59, 40,103, 62,217, 24,172, 62, 21,237, 92, 62, 94,197,172, 62,109,200, 4, 62, 25,121,195, 62, 46,253, 48, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 11, 44, 20, 63, 20, 26,163, 61,204, 89, 48, 63,134,194, 4, 62,160,125, 37, 63,
- 50,211, 46, 62, 40, 92, 24, 63,214,184, 21, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0, 25,121,195, 62, 46,253, 48, 62,
- 94,197,172, 62,109,200, 4, 62,140,122,230, 62,202,248,161, 61,216, 13,222, 62,222,116, 22, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 32, 0,174,254, 16, 63, 94, 45, 34, 62,219,199, 3, 63, 18, 28,229, 61, 11, 44, 20, 63, 20, 26,163, 61, 40, 92, 24, 63,
-214,184, 21, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,140,122,230, 62,202,248,161, 61,219,199, 3, 63, 18, 28,229, 61,
-140,248,236, 62,182,202, 34, 62,216, 13,222, 62,222,116, 22, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,
-182, 47, 53, 62,174,254, 16, 63, 94, 45, 34, 62, 40, 92, 24, 63,214,184, 21, 62,209, 52, 25, 63, 76,140, 51, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 32, 0,216, 13,222, 62,222,116, 22, 62,140,248,236, 62,182,202, 34, 62,183,207,227, 62,250, 75, 54, 62,
-229,137,220, 62,185,228, 52, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,137, 57, 22, 63, 81, 93, 61, 62,184,152, 21, 63,
-182, 47, 53, 62,209, 52, 25, 63, 76,140, 51, 62,193,166, 30, 63,114,168, 73, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-229,137,220, 62,185,228, 52, 62,183,207,227, 62,250, 75, 54, 62,122,152,226, 62,190,166, 62, 62, 54,198,209, 62, 18,240, 75, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250,249, 22, 63,160,251, 88, 62,137, 57, 22, 63, 81, 93, 61, 62,193,166, 30, 63,
-114,168, 73, 62, 75, 0, 36, 63,229, 47,116, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 54,198,209, 62, 18,240, 75, 62,
-122,152,226, 62,190,166, 62, 62, 90, 83,225, 62, 21,153, 90, 62,211,231,199, 62,216,237,119, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,193,166, 30, 63,114,168, 73, 62,160,125, 37, 63, 50,211, 46, 62,240, 17, 42, 63,129, 84, 97, 62, 75, 0, 36, 63,
-229, 47,116, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,138, 81,187, 62, 59, 40,103, 62, 25,121,195, 62, 46,253, 48, 62,
- 54,198,209, 62, 18,240, 75, 62,211,231,199, 62,216,237,119, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,193,166, 30, 63,
-114,168, 73, 62,209, 52, 25, 63, 76,140, 51, 62, 40, 92, 24, 63,214,184, 21, 62,160,125, 37, 63, 50,211, 46, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,216, 13,222, 62,222,116, 22, 62,229,137,220, 62,185,228, 52, 62, 54,198,209, 62, 18,240, 75, 62,
- 25,121,195, 62, 46,253, 48, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 37,163, 36, 63,191,168,140, 62, 75, 0, 36, 63,
-229, 47,116, 62,240, 17, 42, 63,129, 84, 97, 62,172, 36, 46, 63,208, 7,129, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-138, 81,187, 62, 59, 40,103, 62,211,231,199, 62,216,237,119, 62, 6, 64,199, 62,105, 6,142, 62, 76, 71,181, 62,204,200,131, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63, 17, 56,132, 62,250,249, 22, 63,160,251, 88, 62, 75, 0, 36, 63,
-229, 47,116, 62, 37,163, 36, 63,191,168,140, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,211,231,199, 62,216,237,119, 62,
- 90, 83,225, 62, 21,153, 90, 62, 54, 42,221, 62,209, 25,133, 62, 6, 64,199, 62,105, 6,142, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,208, 46, 27, 63,149, 35,148, 62, 91, 60, 36, 63,221,222,150, 62,222,170, 33, 63, 74,126,158, 62, 36,177, 27, 63,
-158,151,156, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62,150,245,199, 62, 85, 15,152, 62,
-238,166,217, 62,229,221,148, 62, 0,160,216, 62,127, 44,157, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
- 17, 56,132, 62, 37,163, 36, 63,191,168,140, 62, 91, 60, 36, 63,221,222,150, 62,208, 46, 27, 63,149, 35,148, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62, 6, 64,199, 62,105, 6,142, 62, 54, 42,221, 62,209, 25,133, 62,
-238,166,217, 62,229,221,148, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62, 36,177, 27, 63,
-158,151,156, 62,222,170, 33, 63, 74,126,158, 62,102,212, 31, 63,144,192,164, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 72,234,204, 62, 56, 63,159, 62, 0,160,216, 62,127, 44,157, 62,115, 21,216, 62, 14,177,166, 62, 17,119,208, 62,201, 65,165, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62,102,212, 31, 63,144,192,164, 62,156,160, 41, 63,
- 56,175,182, 62, 91, 94, 37, 63,107,120,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62,
- 17,119,208, 62,201, 65,165, 62,115, 21,216, 62, 14,177,166, 62,156, 28,197, 62,166,130,187, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,104,119,194, 62,164,189, 82, 63, 23, 73,212, 62,152,239, 90, 63,100,192,205, 62, 46,238, 97, 63, 38, 56,185, 62,
- 72,154, 91, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,228, 94,141, 62, 86,234,100, 63, 84, 66,150, 62,114,154, 94, 63,
-230, 86,173, 62, 79, 66, 98, 63, 20,143,162, 62, 44,173,106, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 72,122, 87, 63,
-216, 8, 62, 62,202,106, 84, 63,137,185,113, 62,226, 77, 72, 63,204, 21,121, 62,158,225, 71, 63,113, 34, 68, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 16, 0,132, 32,137, 62,181, 65,121, 62,168,179,107, 62,139,127,103, 62,210,147,114, 62,212,116, 61, 62,
-248,125,142, 62, 30, 4, 80, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,158,225, 71, 63,113, 34, 68, 62,226, 77, 72, 63,
-204, 21,121, 62, 8, 7, 51, 63, 5,186,130, 62, 3,166, 49, 63,232, 57, 96, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 18,197,172, 62, 41,112,133, 62,132, 32,137, 62,181, 65,121, 62,248,125,142, 62, 30, 4, 80, 62,121,228,174, 62, 52, 79,109, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 3,166, 49, 63,232, 57, 96, 62, 8, 7, 51, 63, 5,186,130, 62,172, 36, 46, 63,
-208, 7,129, 62,112, 54, 48, 63, 20, 19, 96, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62,
- 18,197,172, 62, 41,112,133, 62,121,228,174, 62, 52, 79,109, 62,117,121,175, 62,183,185,106, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 37,163, 36, 63,191,168,140, 62,172, 36, 46, 63,208, 7,129, 62, 8, 7, 51, 63, 5,186,130, 62, 91, 60, 36, 63,
-221,222,150, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 18,197,172, 62, 41,112,133, 62, 76, 71,181, 62,204,200,131, 62,
- 6, 64,199, 62,105, 6,142, 62,150,245,199, 62, 85, 15,152, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,154, 88, 53, 63,
-240,146,221, 62,240,117, 49, 63,164,138,198, 62,224, 19, 69, 63, 24, 68,190, 62, 53, 64, 74, 63,171, 31,224, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 16, 0,250, 78,134, 62,148,213,186, 62,147,137,172, 62,148, 19,198, 62,128,172,162, 62, 17,169,221, 62,
-184,112,114, 62,248,169,220, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 54, 74,214, 62, 20, 55, 70, 63, 48,130,233, 62,
-188, 69, 83, 63, 23, 73,212, 62,152,239, 90, 63,104,119,194, 62,164,189, 82, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 84, 66,150, 62,114,154, 94, 63, 66, 1,153, 62,245,149, 81, 63, 38, 56,185, 62,102,110, 83, 63,230, 86,173, 62, 79, 66, 98, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,106,242, 66, 63,202, 94, 25, 63,190,100, 70, 63,222,234, 15, 63, 90,189, 77, 63,
-233, 88, 17, 63, 8,206, 74, 63, 88,118, 27, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 22, 32, 96, 62, 66, 60, 16, 63,
- 86, 87,125, 62,174, 5, 15, 63, 78,187,132, 62,180, 44, 24, 63, 26, 79,108, 62,124, 1, 26, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 8,206, 74, 63, 88,118, 27, 63, 90,189, 77, 63,233, 88, 17, 63, 72,139, 85, 63,103, 51, 19, 63,220,119, 85, 63,
- 77, 71, 31, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64,199, 64, 62, 26, 40, 18, 63, 22, 32, 96, 62, 66, 60, 16, 63,
- 26, 79,108, 62,124, 1, 26, 63, 44,191, 67, 62, 90, 89, 30, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,220,119, 85, 63,
- 77, 71, 31, 63, 72,139, 85, 63,103, 51, 19, 63,228,213,100, 63, 72,156, 20, 63, 18, 82, 96, 63,128,133, 34, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,128, 0,226, 50, 1, 62,184, 68, 20, 63, 64,199, 64, 62, 26, 40, 18, 63, 44,191, 67, 62, 90, 89, 30, 63,
-194,204, 24, 62, 32,186, 34, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,242, 80, 56, 63, 44,244, 6, 63,195,173, 54, 63,
-239,106,252, 62,115,205, 60, 63,213,150,253, 62,166, 14, 64, 63, 81, 80, 4, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,
-190, 85,147, 62, 91,176,252, 62,202, 36,160, 62, 94, 51,252, 62, 61,208,156, 62,204, 16, 7, 63,160,121,140, 62, 74,197, 3, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,166, 14, 64, 63, 81, 80, 4, 63,115,205, 60, 63,213,150,253, 62, 68,103, 73, 63,
-233,248, 0, 63,248, 12, 75, 63, 64,206, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62,
-190, 85,147, 62, 91,176,252, 62,160,121,140, 62, 74,197, 3, 63, 78,135,107, 62, 88,182, 7, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,248, 12, 75, 63, 64,206, 8, 63, 68,103, 73, 63,233,248, 0, 63,239,151, 82, 63, 86,223, 3, 63,181,227, 82, 63,
-189,102, 11, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,144, 59,115, 62,102,143,255, 62,
- 78,135,107, 62, 88,182, 7, 63,202, 98, 75, 62,108, 43, 10, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,181,227, 82, 63,
-189,102, 11, 63,239,151, 82, 63, 86,223, 3, 63, 92,224, 91, 63,239,144, 5, 63,161,148, 90, 63,146, 95, 13, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,178, 40, 38, 62, 14,230, 3, 63, 82, 17, 77, 62,162, 98, 2, 63,202, 98, 75, 62,108, 43, 10, 63,
- 10,162, 43, 62, 8, 50, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,105, 76, 2, 63,170,179,103, 63,
-142,105, 12, 63,161,148, 90, 63,146, 95, 13, 63, 92,224, 91, 63,239,144, 5, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 10,162, 43, 62, 8, 50, 12, 63,168, 41,231, 61,158, 83, 11, 63,116,128,234, 61,200, 39, 0, 63,178, 40, 38, 62, 14,230, 3, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228,213,100, 63, 72,156, 20, 63, 72,139, 85, 63,103, 51, 19, 63,161,148, 90, 63,
-146, 95, 13, 63,170,179,103, 63,142,105, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 10,162, 43, 62, 8, 50, 12, 63,
- 64,199, 64, 62, 26, 40, 18, 63,226, 50, 1, 62,184, 68, 20, 63,168, 41,231, 61,158, 83, 11, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 72,139, 85, 63,103, 51, 19, 63, 90,189, 77, 63,233, 88, 17, 63,181,227, 82, 63,189,102, 11, 63,161,148, 90, 63,
-146, 95, 13, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,202, 98, 75, 62,108, 43, 10, 63, 22, 32, 96, 62, 66, 60, 16, 63,
- 64,199, 64, 62, 26, 40, 18, 63, 10,162, 43, 62, 8, 50, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 90,189, 77, 63,
-233, 88, 17, 63,190,100, 70, 63,222,234, 15, 63,248, 12, 75, 63, 64,206, 8, 63,181,227, 82, 63,189,102, 11, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 78,135,107, 62, 88,182, 7, 63, 86, 87,125, 62,174, 5, 15, 63, 22, 32, 96, 62, 66, 60, 16, 63,
-202, 98, 75, 62,108, 43, 10, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,190,100, 70, 63,222,234, 15, 63, 82,235, 60, 63,
- 27, 12, 12, 63,166, 14, 64, 63, 81, 80, 4, 63,248, 12, 75, 63, 64,206, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-160,121,140, 62, 74,197, 3, 63, 78,230,145, 62,148,225, 11, 63, 86, 87,125, 62,174, 5, 15, 63, 78,135,107, 62, 88,182, 7, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 31,118, 57, 63,230, 79, 12, 63,242, 80, 56, 63, 44,244, 6, 63,166, 14, 64, 63,
- 81, 80, 4, 63, 82,235, 60, 63, 27, 12, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,160,121,140, 62, 74,197, 3, 63,
- 61,208,156, 62,204, 16, 7, 63, 0,199,152, 62, 13,133, 12, 63, 78,230,145, 62,148,225, 11, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 32, 0,195,240, 57, 63, 10,138, 23, 63, 82,235, 60, 63, 27, 12, 12, 63,190,100, 70, 63,222,234, 15, 63,106,242, 66, 63,
-202, 94, 25, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 86, 87,125, 62,174, 5, 15, 63, 78,230,145, 62,148,225, 11, 63,
-247, 7,150, 62, 96, 12, 23, 63, 78,187,132, 62,180, 44, 24, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,216,120, 13, 63,
-160, 81, 23, 63, 94,233, 23, 63,186, 60, 16, 63,220, 56, 28, 63, 66,250, 14, 63,109, 44, 39, 63,107,221, 19, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,157,161,214, 62,219,110, 15, 63,109,130,223, 62,118,165, 16, 63, 64, 27,245, 62,100,166, 23, 63,
-156, 26,192, 62, 31,139, 20, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,176, 29, 56, 63, 88,206, 20, 63, 31,118, 57, 63,
-230, 79, 12, 63, 82,235, 60, 63, 27, 12, 12, 63,195,240, 57, 63, 10,138, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 78,230,145, 62,148,225, 11, 63, 0,199,152, 62, 13,133, 12, 63,239,211,153, 62,220,159, 20, 63,247, 7,150, 62, 96, 12, 23, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 48,148, 54, 63,220,206, 22, 63,176, 29, 56, 63, 88,206, 20, 63,195,240, 57, 63,
- 10,138, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,247, 7,150, 62, 96, 12, 23, 63,
-239,211,153, 62,220,159, 20, 63,108,106,156, 62,146,154, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,195,173, 54, 63,239,106,252, 62,154, 88, 53, 63,240,146,221, 62, 53, 64, 74, 63,171, 31,224, 62,115,205, 60, 63,
-213,150,253, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,184,112,114, 62,248,169,220, 62,128,172,162, 62, 17,169,221, 62,
-202, 36,160, 62, 94, 51,252, 62,190, 85,147, 62, 91,176,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0, 53, 64, 74, 63,
-171, 31,224, 62,217,106, 81, 63, 14,214,232, 62, 68,103, 73, 63,233,248, 0, 63,115,205, 60, 63,213,150,253, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62, 88, 93, 84, 62, 50,105,228, 62,184,112,114, 62,248,169,220, 62,
-190, 85,147, 62, 91,176,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63, 14,214,232, 62,106,154, 93, 63,
-226, 26,233, 62,239,151, 82, 63, 86,223, 3, 63, 68,103, 73, 63,233,248, 0, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 82, 17, 77, 62,162, 98, 2, 63,128, 1, 33, 62, 70,210,226, 62, 88, 93, 84, 62, 50,105,228, 62,144, 59,115, 62,102,143,255, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,105, 76, 2, 63, 92,224, 91, 63,239,144, 5, 63,239,151, 82, 63,
- 86,223, 3, 63,106,154, 93, 63,226, 26,233, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,
-178, 40, 38, 62, 14,230, 3, 63,116,128,234, 61,200, 39, 0, 63,128, 1, 33, 62, 70,210,226, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 8, 7, 51, 63, 5,186,130, 62,226, 77, 72, 63,204, 21,121, 62,154,254, 73, 63,178, 82,140, 62, 90,188, 56, 63,
-103,207,159, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,249,249,130, 62,246,175,137, 62,132, 32,137, 62,181, 65,121, 62,
- 18,197,172, 62, 41,112,133, 62,192, 5,161, 62,228, 40,159, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63,
- 24, 68,190, 62, 90,188, 56, 63,103,207,159, 62,154,254, 73, 63,178, 82,140, 62,216,217, 77, 63, 7,228,157, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,128, 0,249,249,130, 62,246,175,137, 62,192, 5,161, 62,228, 40,159, 62,250, 78,134, 62,148,213,186, 62,
-154,118,111, 62,120,108,152, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,240,117, 49, 63,164,138,198, 62,156,160, 41, 63,
- 56,175,182, 62, 90,188, 56, 63,103,207,159, 62,224, 19, 69, 63, 24, 68,190, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-192, 5,161, 62,228, 40,159, 62,202,212,188, 62,245,163,182, 62,147,137,172, 62,148, 19,198, 62,250, 78,134, 62,148,213,186, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63, 56,175,182, 62,222,170, 33, 63, 74,126,158, 62, 91, 60, 36, 63,
-221,222,150, 62, 90,188, 56, 63,103,207,159, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62,
- 72,234,204, 62, 56, 63,159, 62,202,212,188, 62,245,163,182, 62,192, 5,161, 62,228, 40,159, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 91, 60, 36, 63,221,222,150, 62, 8, 7, 51, 63, 5,186,130, 62, 90,188, 56, 63,103,207,159, 62, 0, 0,128, 63,
- 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192, 5,161, 62,228, 40,159, 62, 18,197,172, 62, 41,112,133, 62,
-150,245,199, 62, 85, 15,152, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63,
- 56,175,182, 62,102,212, 31, 63,144,192,164, 62,222,170, 33, 63, 74,126,158, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62, 17,119,208, 62,201, 65,165, 62,202,212,188, 62,245,163,182, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,129,140, 96, 63, 42,135,227, 62,
- 58, 2,101, 63,136,168,219, 62, 30,236, 95, 63,135, 30,238, 62,200, 41, 90, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-216,240,137, 62, 90,226, 93, 63,110,103,122, 62,236,255, 92, 63, 74, 84,120, 62,104, 32, 83, 63, 32,193,138, 62, 16, 3, 83, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 48,130,233, 62,188, 69, 83, 63,135, 30,238, 62,200, 41, 90, 63,136,168,219, 62,
- 30,236, 95, 63, 23, 73,212, 62,152,239, 90, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216,240,137, 62, 90,226, 93, 63,
- 32,193,138, 62, 16, 3, 83, 63, 66, 1,153, 62,245,149, 81, 63, 84, 66,150, 62,114,154, 94, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,240, 0,216,217, 77, 63, 7,228,157, 62,154,254, 73, 63,178, 82,140, 62, 33, 61, 90, 63,195,207,124, 62,160,225, 90, 63,
-110,121,137, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0, 98,207, 81, 62,109, 1,110, 62,249,249,130, 62,246,175,137, 62,
-154,118,111, 62,120,108,152, 62,166,125, 74, 62,252, 30,130, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,226, 77, 72, 63,
-204, 21,121, 62,202,106, 84, 63,137,185,113, 62, 33, 61, 90, 63,195,207,124, 62,154,254, 73, 63,178, 82,140, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 98,207, 81, 62,109, 1,110, 62,168,179,107, 62,139,127,103, 62,132, 32,137, 62,181, 65,121, 62,
-249,249,130, 62,246,175,137, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 23, 73,212, 62,152,239, 90, 63,136,168,219, 62,
- 30,236, 95, 63,100,192,205, 62, 46,238, 97, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,
-228, 94,141, 62, 86,234,100, 63,216,240,137, 62, 90,226, 93, 63, 84, 66,150, 62,114,154, 94, 63, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 31,178,109, 63,224, 68,228, 62, 46,178,102, 63,100,184,232, 62,100,251,101, 63,
-238,198,227, 62, 94,173,107, 63,168,130,225, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68,209,249, 61, 70,134,219, 62,
-120,216,242, 61,124, 40,225, 62, 28, 27,177, 61, 42,240,219, 62, 76,131,196, 61,196, 97,216, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 31,178,109, 63,224, 68,228, 62, 94,173,107, 63,168,130,225, 62,144,102,114, 63,198, 23,220, 62, 41, 76,116, 63,
-139,153,222, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 56,163,120, 61, 58,252,208, 62, 76,131,196, 61,196, 97,216, 62,
- 28, 27,177, 61, 42,240,219, 62,128,183, 73, 61, 84,108,213, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 41, 76,116, 63,
-139,153,222, 62,144,102,114, 63,198, 23,220, 62, 84, 87,117, 63,221,255,211, 62,183,115,119, 63,140, 49,215, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,144, 29, 55, 61,207,183,194, 62, 56,163,120, 61, 58,252,208, 62,128,183, 73, 61, 84,108,213, 62,
-224,111,231, 60,100,142,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,183,115,119, 63,140, 49,215, 62, 84, 87,117, 63,
-221,255,211, 62,150, 20,118, 63, 60,110,196, 62, 49, 12,122, 63,246, 8,197, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 96,197,103, 61, 15,206,170, 62,144, 29, 55, 61,207,183,194, 62,224,111,231, 60,100,142,198, 62,240, 54, 16, 61,120, 4,167, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 49, 12,122, 63,246, 8,197, 62,150, 20,118, 63, 60,110,196, 62, 17,155,108, 63,
-130,201,178, 62, 84,190,110, 63,223, 77,172, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,148,252,246, 61,164,116,160, 62,
- 96,197,103, 61, 15,206,170, 62,240, 54, 16, 61,120, 4,167, 62, 8, 66,246, 61, 28,161,152, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 84,190,110, 63,223, 77,172, 62, 17,155,108, 63,130,201,178, 62, 21,180, 92, 63,202, 95,173, 62,151, 5, 90, 63,
-138, 61,167, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,144,216, 54, 62, 35, 76,163, 62,148,252,246, 61,164,116,160, 62,
- 8, 66,246, 61, 28,161,152, 62,194,251, 66, 62,163,102,158, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 17,155,108, 63,
-130,201,178, 62,198,132,109, 63,182,157,186, 62, 68, 32, 97, 63,192, 12,178, 62, 21,180, 92, 63,202, 95,173, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 48,185, 36, 62, 16, 7,166, 62, 40, 91,221, 61, 4,194,167, 62,148,252,246, 61,164,116,160, 62,
-144,216, 54, 62, 35, 76,163, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,150, 20,118, 63, 60,110,196, 62, 84,225,115, 63,
-208, 85,198, 62,198,132,109, 63,182,157,186, 62, 17,155,108, 63,130,201,178, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 40, 91,221, 61, 4,194,167, 62,244,221,134, 61,121,164,175, 62, 96,197,103, 61, 15,206,170, 62,148,252,246, 61,164,116,160, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 84, 87,117, 63,221,255,211, 62,222, 48,116, 63,169, 8,209, 62, 84,225,115, 63,
-208, 85,198, 62,150, 20,118, 63, 60,110,196, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,244,221,134, 61,121,164,175, 62,
-160,108, 93, 61, 17,207,190, 62,144, 29, 55, 61,207,183,194, 62, 96,197,103, 61, 15,206,170, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,144,102,114, 63,198, 23,220, 62,174,151,113, 63, 26,229,214, 62,222, 48,116, 63,169, 8,209, 62, 84, 87,117, 63,
-221,255,211, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,160,108, 93, 61, 17,207,190, 62, 12,155,135, 61,166, 39,201, 62,
- 56,163,120, 61, 58,252,208, 62,144, 29, 55, 61,207,183,194, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,
-168,130,225, 62,228,239,107, 63, 62, 59,218, 62,174,151,113, 63, 26,229,214, 62,144,102,114, 63,198, 23,220, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 12,155,135, 61,166, 39,201, 62,128, 47,195, 61, 6, 11,207, 62, 76,131,196, 61,196, 97,216, 62,
- 56,163,120, 61, 58,252,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,168,130,225, 62,100,251,101, 63,
-238,198,227, 62, 71,205,102, 63,132, 94,219, 62,228,239,107, 63, 62, 59,218, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-192,157,244, 61,157,137,209, 62, 68,209,249, 61, 70,134,219, 62, 76,131,196, 61,196, 97,216, 62,128, 47,195, 61, 6, 11,207, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63, 24, 68,190, 62,216,217, 77, 63, 7,228,157, 62,236, 35, 85, 63,
-164,201,181, 62, 56, 92, 78, 63,177,114,188, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,122, 91, 80, 62, 72, 18,174, 62,
-154,118,111, 62,120,108,152, 62,250, 78,134, 62,148,213,186, 62,162,163,104, 62,150,180,182, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 32, 0,216,217, 77, 63, 7,228,157, 62,151, 5, 90, 63,138, 61,167, 62, 21,180, 92, 63,202, 95,173, 62,236, 35, 85, 63,
-164,201,181, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,144,216, 54, 62, 35, 76,163, 62,194,251, 66, 62,163,102,158, 62,
-154,118,111, 62,120,108,152, 62,122, 91, 80, 62, 72, 18,174, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 53, 64, 74, 63,
-171, 31,224, 62,224, 19, 69, 63, 24, 68,190, 62, 56, 92, 78, 63,177,114,188, 62,217,106, 81, 63, 14,214,232, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,162,163,104, 62,150,180,182, 62,250, 78,134, 62,148,213,186, 62,184,112,114, 62,248,169,220, 62,
- 88, 93, 84, 62, 50,105,228, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,106,154, 93, 63,226, 26,233, 62,196,229, 94, 63,
-128,195,224, 62,100,251,101, 63,238,198,227, 62, 46,178,102, 63,100,184,232, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 68,209,249, 61, 70,134,219, 62,108,187, 28, 62, 48, 86,217, 62,128, 1, 33, 62, 70,210,226, 62,120,216,242, 61,124, 40,225, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 21,180, 92, 63,202, 95,173, 62, 68, 32, 97, 63,192, 12,178, 62, 9,215, 94, 63,
- 4, 54,186, 62,236, 35, 85, 63,164,201,181, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 60,122, 41, 62, 16, 58,175, 62,
- 48,185, 36, 62, 16, 7,166, 62,144,216, 54, 62, 35, 76,163, 62,122, 91, 80, 62, 72, 18,174, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,230, 78, 95, 63, 4,233,189, 62, 32,188, 86, 63, 44, 62,190, 62,236, 35, 85, 63,164,201,181, 62, 9,215, 94, 63,
- 4, 54,186, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,122, 91, 80, 62, 72, 18,174, 62, 78,118, 71, 62, 27, 49,182, 62,
- 52,225, 37, 62, 40, 12,179, 62, 60,122, 41, 62, 16, 58,175, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63,
- 0,166,197, 62, 32,188, 86, 63, 44, 62,190, 62,230, 78, 95, 63, 4,233,189, 62,226, 13, 95, 63, 37,152,194, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 52,225, 37, 62, 40, 12,179, 62, 78,118, 71, 62, 27, 49,182, 62,142,143, 45, 62,237, 37,188, 62,
-106,230, 36, 62,222, 27,184, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,100,122,207, 62,108,249, 90, 63,
- 58,199,212, 62, 32,188, 86, 63, 44, 62,190, 62, 70,166, 92, 63, 0,166,197, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 78,118, 71, 62, 27, 49,182, 62,110, 56, 48, 62,230, 43,205, 62,174,250, 30, 62, 26, 12,198, 62,142,143, 45, 62,237, 37,188, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,196,229, 94, 63,128,195,224, 62,108,249, 90, 63, 58,199,212, 62,248, 90, 95, 63,
-100,122,207, 62, 92,104, 98, 63,197,136,215, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,174,250, 30, 62, 26, 12,198, 62,
-110, 56, 48, 62,230, 43,205, 62,108,187, 28, 62, 48, 86,217, 62,212, 59, 15, 62,224, 50,206, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,100,251,101, 63,238,198,227, 62,196,229, 94, 63,128,195,224, 62, 92,104, 98, 63,197,136,215, 62, 71,205,102, 63,
-132, 94,219, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,212, 59, 15, 62,224, 50,206, 62,108,187, 28, 62, 48, 86,217, 62,
- 68,209,249, 61, 70,134,219, 62,192,157,244, 61,157,137,209, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
- 14,214,232, 62,108,249, 90, 63, 58,199,212, 62,196,229, 94, 63,128,195,224, 62,106,154, 93, 63,226, 26,233, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,108,187, 28, 62, 48, 86,217, 62,110, 56, 48, 62,230, 43,205, 62, 88, 93, 84, 62, 50,105,228, 62,
-128, 1, 33, 62, 70,210,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63, 14,214,232, 62, 56, 92, 78, 63,
-177,114,188, 62, 32,188, 86, 63, 44, 62,190, 62,108,249, 90, 63, 58,199,212, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 78,118, 71, 62, 27, 49,182, 62,162,163,104, 62,150,180,182, 62, 88, 93, 84, 62, 50,105,228, 62,110, 56, 48, 62,230, 43,205, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 56, 92, 78, 63,177,114,188, 62,236, 35, 85, 63,164,201,181, 62, 32,188, 86, 63,
- 44, 62,190, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,
-122, 91, 80, 62, 72, 18,174, 62,162,163,104, 62,150,180,182, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 71,205,102, 63,132, 94,219, 62, 92,104, 98, 63,197,136,215, 62,182,109,100, 63,149,255,210, 62, 54, 86,104, 63,
-209,241,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,160,107, 7, 62, 34,103,200, 62,212, 59, 15, 62,224, 50,206, 62,
-192,157,244, 61,157,137,209, 62, 8, 2,232, 61, 20,214,203, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 92,104, 98, 63,
-197,136,215, 62,248, 90, 95, 63,100,122,207, 62,112,206, 97, 63, 10,202,204, 62,182,109,100, 63,149,255,210, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62,174,250, 30, 62, 26, 12,198, 62,212, 59, 15, 62,224, 50,206, 62,
-160,107, 7, 62, 34,103,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,100,122,207, 62, 70,166, 92, 63,
- 0,166,197, 62, 82,241, 94, 63, 40,103,198, 62,112,206, 97, 63, 10,202,204, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 20,225, 35, 62, 39, 50,188, 62,142,143, 45, 62,237, 37,188, 62,174,250, 30, 62, 26, 12,198, 62, 64, 68, 21, 62,107, 55,194, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63, 0,166,197, 62,226, 13, 95, 63, 37,152,194, 62,118, 1, 97, 63,
- 47,226,195, 62, 82,241, 94, 63, 40,103,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 12, 43, 28, 62,186,177,184, 62,
-106,230, 36, 62,222, 27,184, 62,142,143, 45, 62,237, 37,188, 62, 20,225, 35, 62, 39, 50,188, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,226, 13, 95, 63, 37,152,194, 62,230, 78, 95, 63, 4,233,189, 62, 51,113, 97, 63, 92,151,189, 62,118, 1, 97, 63,
- 47,226,195, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,104, 67, 29, 62, 58,199,177, 62, 52,225, 37, 62, 40, 12,179, 62,
-106,230, 36, 62,222, 27,184, 62, 12, 43, 28, 62,186,177,184, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,230, 78, 95, 63,
- 4,233,189, 62, 9,215, 94, 63, 4, 54,186, 62, 96, 69, 96, 63,152,133,187, 62, 51,113, 97, 63, 92,151,189, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,140, 14, 35, 62, 33, 19,176, 62, 60,122, 41, 62, 16, 58,175, 62, 52,225, 37, 62, 40, 12,179, 62,
-104, 67, 29, 62, 58,199,177, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 9,215, 94, 63, 4, 54,186, 62, 68, 32, 97, 63,
-192, 12,178, 62,112, 91, 98, 63,149,128,182, 62, 96, 69, 96, 63,152,133,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-228,107, 29, 62, 95,230,169, 62, 48,185, 36, 62, 16, 7,166, 62, 60,122, 41, 62, 16, 58,175, 62,140, 14, 35, 62, 33, 19,176, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228,239,107, 63, 62, 59,218, 62, 71,205,102, 63,132, 94,219, 62, 54, 86,104, 63,
-209,241,214, 62, 34, 27,109, 63,155,254,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 8, 2,232, 61, 20,214,203, 62,
-192,157,244, 61,157,137,209, 62,128, 47,195, 61, 6, 11,207, 62, 36,174,184, 61,216,130,202, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,174,151,113, 63, 26,229,214, 62,228,239,107, 63, 62, 59,218, 62, 34, 27,109, 63,155,254,214, 62, 69,134,113, 63,
-156, 82,212, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 36,174,184, 61,216,130,202, 62,128, 47,195, 61, 6, 11,207, 62,
- 12,155,135, 61,166, 39,201, 62, 60,114,138, 61, 28, 61,197, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,222, 48,116, 63,
-169, 8,209, 62,174,151,113, 63, 26,229,214, 62, 69,134,113, 63,156, 82,212, 62, 42,143,114, 63, 24,168,207, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 60,114,138, 61, 28, 61,197, 62, 12,155,135, 61,166, 39,201, 62,160,108, 93, 61, 17,207,190, 62,
-184, 85,132, 61, 22,211,189, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 84,225,115, 63,208, 85,198, 62,222, 48,116, 63,
-169, 8,209, 62, 42,143,114, 63, 24,168,207, 62,203,125,114, 63, 96,114,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-184, 85,132, 61, 22,211,189, 62,160,108, 93, 61, 17,207,190, 62,244,221,134, 61,121,164,175, 62, 16,152,145, 61, 84,214,179, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,198,132,109, 63,182,157,186, 62, 84,225,115, 63,208, 85,198, 62,203,125,114, 63,
- 96,114,200, 62,177,192,109, 63,152,240,190, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 16,152,145, 61, 84,214,179, 62,
-244,221,134, 61,121,164,175, 62, 40, 91,221, 61, 4,194,167, 62, 64,226,208, 61,232, 58,172, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 68, 32, 97, 63,192, 12,178, 62,198,132,109, 63,182,157,186, 62,177,192,109, 63,152,240,190, 62,112, 91, 98, 63,
-149,128,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64,226,208, 61,232, 58,172, 62, 40, 91,221, 61, 4,194,167, 62,
- 48,185, 36, 62, 16, 7,166, 62,228,107, 29, 62, 95,230,169, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,118, 1, 97, 63,
- 47,226,195, 62, 51,113, 97, 63, 92,151,189, 62,215,139,102, 63, 15,109,193, 62, 54, 47,100, 63,186,115,198, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,104, 67, 29, 62, 58,199,177, 62, 12, 43, 28, 62,186,177,184, 62,
- 50, 97, 13, 62, 50, 42,186, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 54, 47,100, 63,186,115,198, 62,215,139,102, 63,
- 15,109,193, 62,174,241,105, 63,204, 8,200, 62, 71,233,103, 63,178, 42,204, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-228,171,229, 61, 41, 42,185, 62, 92,169, 5, 62,168,115,179, 62, 50, 97, 13, 62, 50, 42,186, 62, 92,248,243, 61, 96, 22,191, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 71,233,103, 63,178, 42,204, 62,174,241,105, 63,204, 8,200, 62, 51, 37,108, 63,
-249, 3,205, 62, 56,212,106, 63, 96,238,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,
-228,171,229, 61, 41, 42,185, 62, 92,248,243, 61, 96, 22,191, 62,160,209,211, 61,108,159,195, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 56,212,106, 63, 96,238,208, 62, 51, 37,108, 63,249, 3,205, 62, 56, 73,110, 63,186,119,206, 62, 46,191,109, 63,
- 92, 64,210, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,120, 99,202, 61,192, 49,190, 62,
-160,209,211, 61,108,159,195, 62,196,129,181, 61,204, 14,196, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,
-155,254,214, 62, 54, 86,104, 63,209,241,214, 62, 56,212,106, 63, 96,238,208, 62, 46,191,109, 63, 92, 64,210, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,160,209,211, 61,108,159,195, 62, 8, 2,232, 61, 20,214,203, 62, 36,174,184, 61,216,130,202, 62,
-196,129,181, 61,204, 14,196, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,149,255,210, 62, 71,233,103, 63,
-178, 42,204, 62, 56,212,106, 63, 96,238,208, 62, 54, 86,104, 63,209,241,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-160,209,211, 61,108,159,195, 62, 92,248,243, 61, 96, 22,191, 62,160,107, 7, 62, 34,103,200, 62, 8, 2,232, 61, 20,214,203, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,149,255,210, 62,112,206, 97, 63, 10,202,204, 62, 54, 47,100, 63,
-186,115,198, 62, 71,233,103, 63,178, 42,204, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 50, 97, 13, 62, 50, 42,186, 62,
- 64, 68, 21, 62,107, 55,194, 62,160,107, 7, 62, 34,103,200, 62, 92,248,243, 61, 96, 22,191, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,118, 1, 97, 63, 47,226,195, 62, 54, 47,100, 63,186,115,198, 62,112,206, 97, 63, 10,202,204, 62, 82,241, 94, 63,
- 40,103,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62, 50, 97, 13, 62, 50, 42,186, 62,
- 12, 43, 28, 62,186,177,184, 62, 20,225, 35, 62, 39, 50,188, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 96, 69, 96, 63,
-152,133,187, 62,112, 91, 98, 63,149,128,182, 62,215,139,102, 63, 15,109,193, 62, 51,113, 97, 63, 92,151,189, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,228,107, 29, 62, 95,230,169, 62,140, 14, 35, 62, 33, 19,176, 62,
-104, 67, 29, 62, 58,199,177, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,177,192,109, 63,152,240,190, 62,174,241,105, 63,
-204, 8,200, 62,215,139,102, 63, 15,109,193, 62,112, 91, 98, 63,149,128,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 92,169, 5, 62,168,115,179, 62,228,171,229, 61, 41, 42,185, 62, 64,226,208, 61,232, 58,172, 62,228,107, 29, 62, 95,230,169, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,203,125,114, 63, 96,114,200, 62, 51, 37,108, 63,249, 3,205, 62,174,241,105, 63,
-204, 8,200, 62,177,192,109, 63,152,240,190, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228,171,229, 61, 41, 42,185, 62,
-120, 99,202, 61,192, 49,190, 62, 16,152,145, 61, 84,214,179, 62, 64,226,208, 61,232, 58,172, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 42,143,114, 63, 24,168,207, 62, 56, 73,110, 63,186,119,206, 62, 51, 37,108, 63,249, 3,205, 62,203,125,114, 63,
- 96,114,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,244,234,179, 61,240,219,190, 62,
-184, 85,132, 61, 22,211,189, 62, 16,152,145, 61, 84,214,179, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 69,134,113, 63,
-156, 82,212, 62, 46,191,109, 63, 92, 64,210, 62, 56, 73,110, 63,186,119,206, 62, 42,143,114, 63, 24,168,207, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,196,129,181, 61,204, 14,196, 62, 60,114,138, 61, 28, 61,197, 62,
-184, 85,132, 61, 22,211,189, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,155,254,214, 62, 46,191,109, 63,
- 92, 64,210, 62, 69,134,113, 63,156, 82,212, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 60,114,138, 61, 28, 61,197, 62,196,129,181, 61,204, 14,196, 62, 36,174,184, 61,216,130,202, 62, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 84,190,110, 63,223, 77,172, 62,151, 5, 90, 63,138, 61,167, 62, 22, 25, 96, 63,
-246,248,149, 62,162,176,122, 63,145,215,161, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0, 64,234, 54, 62,146,219,140, 62,
-194,251, 66, 62,163,102,158, 62, 8, 66,246, 61, 28,161,152, 62,172,241,189, 61, 13,107,132, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 49, 12,122, 63,246, 8,197, 62, 84,190,110, 63,223, 77,172, 62,162,176,122, 63,145,215,161, 62,188,255,126, 63,
-115,248,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,172,241,189, 61, 13,107,132, 62, 8, 66,246, 61, 28,161,152, 62,
-240, 54, 16, 61,120, 4,167, 62, 0, 8,163, 58, 39, 69,162, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,183,115,119, 63,
-140, 49,215, 62, 49, 12,122, 63,246, 8,197, 62,188,255,126, 63,115,248,198, 62, 47, 6,122, 63,248,157,216, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 0, 8,163, 58, 39, 69,162, 62,240, 54, 16, 61,120, 4,167, 62,224,111,231, 60,100,142,198, 62,
-224,248, 14, 60, 70,141,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0, 41, 76,116, 63,139,153,222, 62,183,115,119, 63,
-140, 49,215, 62, 47, 6,122, 63,248,157,216, 62,134, 98,119, 63,204, 37,225, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-224,248, 14, 60, 70,141,198, 62,224,111,231, 60,100,142,198, 62,128,183, 73, 61, 84,108,213, 62, 80,210,229, 60, 32,239,218, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 31,178,109, 63,224, 68,228, 62, 41, 76,116, 63,139,153,222, 62,134, 98,119, 63,
-204, 37,225, 62, 46,185,115, 63, 90,157,234, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0, 80,210,229, 60, 32,239,218, 62,
-128,183, 73, 61, 84,108,213, 62, 28, 27,177, 61, 42,240,219, 62, 56,103,122, 61, 30, 10,230, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,128, 0, 46,178,102, 63,100,184,232, 62, 31,178,109, 63,224, 68,228, 62, 46,185,115, 63, 90,157,234, 62,244,134,106, 63,
-234, 64,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 56,103,122, 61, 30, 10,230, 62, 28, 27,177, 61, 42,240,219, 62,
-120,216,242, 61,124, 40,225, 62,212,222,209, 61,238,123,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,235,188, 5, 63,
-252, 74, 98, 63,200,111,248, 62,197,105,112, 63, 0, 49,231, 62,118,190,107, 63,150, 57,255, 62, 53, 14, 96, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63, 58, 8, 62, 62, 10,154, 89, 63, 40, 24, 92, 62, 14, 82, 74, 63,
-112, 11,112, 62,157,133, 78, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,235,188, 5, 63,252, 74, 98, 63,136,139, 12, 63,
-138,233,101, 63,116, 45, 6, 63,112,245,113, 63,200,111,248, 62,197,105,112, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 68,219, 36, 62,249,186, 81, 63, 28,254, 65, 62, 20, 55, 70, 63, 40, 24, 92, 62, 14, 82, 74, 63, 58, 8, 62, 62, 10,154, 89, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,136,139, 12, 63,138,233,101, 63, 5,130, 12, 63,149,216,108, 63,116, 45, 6, 63,
-112,245,113, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 68,219, 36, 62,249,186, 81, 63,
- 76, 1, 42, 62, 39,178, 73, 63, 28,254, 65, 62, 20, 55, 70, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,112, 0,120, 89,103, 63,105, 76, 2, 63,106,154, 93, 63,226, 26,233, 62, 46,178,102, 63,100,184,232, 62,244,134,106, 63,
-234, 64,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120,216,242, 61,124, 40,225, 62,128, 1, 33, 62, 70,210,226, 62,
-116,128,234, 61,200, 39, 0, 63,212,222,209, 61,238,123,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,
-129,140, 96, 63,150, 57,255, 62, 53, 14, 96, 63, 0, 49,231, 62,118,190,107, 63, 42,135,227, 62, 58, 2,101, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63,112, 11,112, 62,157,133, 78, 63, 74, 84,120, 62,104, 32, 83, 63,
-110,103,122, 62,236,255, 92, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216,217, 77, 63, 7,228,157, 62,160,225, 90, 63,
-110,121,137, 62, 22, 25, 96, 63,246,248,149, 62,151, 5, 90, 63,138, 61,167, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,
- 64,234, 54, 62,146,219,140, 62,166,125, 74, 62,252, 30,130, 62,154,118,111, 62,120,108,152, 62,194,251, 66, 62,163,102,158, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 68, 65, 84, 65, 64, 31, 0, 0, 0, 65,182, 3, 59, 0, 0, 0,208, 7, 0, 0,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,199, 52, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
+120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,238, 52, 3,
+ 0, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,168, 76, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 39, 0, 0, 56,199, 52, 3, 0, 0, 0, 0, 48, 0, 0, 0,244, 1, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 43, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 1, 43, 0, 0, 0,
+ 2, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0,
+ 0, 0, 0, 1, 2, 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 9, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1,
+ 9, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 10, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0,
+ 8, 0, 0, 0, 0, 0, 0, 1,112, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0,
+ 14, 0, 0, 0, 15, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 16, 0, 0, 0,112, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 0, 1, 14, 0, 0, 0, 19, 0, 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 1, 18, 0, 0, 0, 20, 0, 0, 0,
+112, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 1,
+ 20, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0,
+ 19, 0, 0, 0, 0, 0, 0, 1, 26, 0, 0, 0, 24, 0, 0, 0, 22, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 1, 19, 0, 0, 0,
+ 25, 0, 0, 0, 27, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 28, 0, 0, 0, 26, 0, 0, 0, 20, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 0, 1, 25, 0, 0, 0, 31, 0, 0, 0, 29, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 1, 30, 0, 0, 0, 32, 0, 0, 0,
+ 26, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 33, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 1,
+ 32, 0, 0, 0, 34, 0, 0, 0, 24, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 1, 33, 0, 0, 0, 35, 0, 0, 0, 37, 0, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 36, 0, 0, 0, 34, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 1, 31, 0, 0, 0,
+ 37, 0, 0, 0, 39, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 38, 0, 0, 0, 32, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 1, 37, 0, 0, 0, 43, 0, 0, 0, 41, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 1, 42, 0, 0, 0, 44, 0, 0, 0,
+ 38, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1,
+ 44, 0, 0, 0, 46, 0, 0, 0, 36, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 1, 45, 0, 0, 0, 35, 0, 0, 0, 49, 0, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 1, 50, 0, 0, 0, 36, 0, 0, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0,
+ 33, 0, 0, 0, 51, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0, 34, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 1, 33, 0, 0, 0, 23, 0, 0, 0, 53, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0, 24, 0, 0, 0,
+ 34, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 21, 0, 0, 0, 55, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 1,
+ 56, 0, 0, 0, 22, 0, 0, 0, 24, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 12, 0, 0, 0, 57, 0, 0, 0,
+ 55, 0, 0, 0, 0, 0, 0, 1, 58, 0, 0, 0, 13, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0,
+ 10, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0, 11, 0, 0, 0, 13, 0, 0, 0, 58, 0, 0, 0,
+ 0, 0, 0, 1, 10, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 1, 0, 0, 0,
+ 11, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 45, 0, 0, 0, 47, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 1,
+ 48, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 63, 0, 0, 0, 47, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 48, 0, 0, 0, 64, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 61, 0, 0, 0,
+ 63, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 64, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 59, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0, 58, 0, 0, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 55, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 58, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 53, 0, 0, 0, 55, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 54, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0,
+ 51, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0, 52, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 59, 0, 0, 0, 49, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0, 50, 0, 0, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 50, 0, 0, 0, 48, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0,171, 0, 0, 0,173, 0, 0, 0,
+ 89, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,172, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 85, 0, 0, 0,
+169, 0, 0, 0,171, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,170, 0, 0, 0, 86, 0, 0, 0, 88, 0, 0, 0,
+ 0, 0, 0, 1, 83, 0, 0, 0,167, 0, 0, 0,169, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,168, 0, 0, 0,
+ 84, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 1, 81, 0, 0, 0,165, 0, 0, 0,167, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 1,
+168, 0, 0, 0,166, 0, 0, 0, 82, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,163, 0, 0, 0,165, 0, 0, 0,
+ 81, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,164, 0, 0, 0, 80, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0,
+ 90, 0, 0, 0,143, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,144, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0,162, 0, 0, 0,
+ 0, 0, 0, 1, 90, 0, 0, 0, 92, 0, 0, 0,145, 0, 0, 0,143, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0, 93, 0, 0, 0,
+ 91, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 94, 0, 0, 0,147, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 1,
+148, 0, 0, 0, 95, 0, 0, 0, 93, 0, 0, 0,146, 0, 0, 0, 0, 0, 0, 1, 94, 0, 0, 0, 96, 0, 0, 0,149, 0, 0, 0,
+147, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0, 97, 0, 0, 0, 95, 0, 0, 0,148, 0, 0, 0, 0, 0, 0, 1, 96, 0, 0, 0,
+ 98, 0, 0, 0,151, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 1,152, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0,150, 0, 0, 0,
+ 0, 0, 0, 1, 98, 0, 0, 0,100, 0, 0, 0,153, 0, 0, 0,151, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,101, 0, 0, 0,
+ 99, 0, 0, 0,152, 0, 0, 0, 0, 0, 0, 1,100, 0, 0, 0,102, 0, 0, 0,155, 0, 0, 0,153, 0, 0, 0, 0, 0, 0, 1,
+156, 0, 0, 0,103, 0, 0, 0,101, 0, 0, 0,154, 0, 0, 0, 0, 0, 0, 1,102, 0, 0, 0,104, 0, 0, 0,157, 0, 0, 0,
+155, 0, 0, 0, 0, 0, 0, 1,158, 0, 0, 0,105, 0, 0, 0,103, 0, 0, 0,156, 0, 0, 0, 0, 0, 0, 1,104, 0, 0, 0,
+106, 0, 0, 0,159, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 1,160, 0, 0, 0,107, 0, 0, 0,105, 0, 0, 0,158, 0, 0, 0,
+ 0, 0, 0, 1,106, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0, 65, 0, 0, 0,
+107, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,125, 0, 0, 0,157, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 1,
+158, 0, 0, 0,126, 0, 0, 0,109, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 0,176, 0, 0, 0,155, 0, 0, 0,
+157, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,177, 0, 0, 0,126, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 1,123, 0, 0, 0,
+153, 0, 0, 0,155, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,154, 0, 0, 0,124, 0, 0, 0,177, 0, 0, 0,
+ 0, 0, 0, 1,121, 0, 0, 0,151, 0, 0, 0,153, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,152, 0, 0, 0,
+122, 0, 0, 0,124, 0, 0, 0, 0, 0, 0, 1,119, 0, 0, 0,149, 0, 0, 0,151, 0, 0, 0,121, 0, 0, 0, 0, 0, 0, 1,
+152, 0, 0, 0,150, 0, 0, 0,120, 0, 0, 0,122, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,147, 0, 0, 0,149, 0, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0,148, 0, 0, 0,118, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 1,115, 0, 0, 0,
+145, 0, 0, 0,147, 0, 0, 0,117, 0, 0, 0, 0, 0, 0, 1,148, 0, 0, 0,146, 0, 0, 0,116, 0, 0, 0,118, 0, 0, 0,
+ 0, 0, 0, 1,113, 0, 0, 0,143, 0, 0, 0,145, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0,144, 0, 0, 0,
+114, 0, 0, 0,116, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,161, 0, 0, 0,143, 0, 0, 0,113, 0, 0, 0, 0, 0, 0, 1,
+144, 0, 0, 0,162, 0, 0, 0,112, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,178, 0, 0, 0,174, 0, 0, 0,
+161, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,179, 0, 0, 0,112, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,
+159, 0, 0, 0, 66, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0,160, 0, 0, 0,109, 0, 0, 0,111, 0, 0, 0,
+ 0, 0, 0, 1,110, 0, 0, 0, 66, 0, 0, 0,175, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 1,175, 0, 0, 0, 66, 0, 0, 0,
+111, 0, 0, 0,181, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,178, 0, 0, 0,180, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 1,
+181, 0, 0, 0,179, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 1,132, 0, 0, 0,134, 0, 0, 0,173, 0, 0, 0,
+171, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,134, 0, 0, 0,133, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 1,130, 0, 0, 0,
+132, 0, 0, 0,171, 0, 0, 0,169, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,133, 0, 0, 0,131, 0, 0, 0,170, 0, 0, 0,
+ 0, 0, 0, 1,128, 0, 0, 0,130, 0, 0, 0,169, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,131, 0, 0, 0,
+129, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 1,163, 0, 0, 0,184, 0, 0, 0,182, 0, 0, 0,165, 0, 0, 0, 0, 0, 0, 1,
+183, 0, 0, 0,185, 0, 0, 0,164, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,167, 0, 0, 0,165, 0, 0, 0,
+182, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,168, 0, 0, 0,129, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0,
+187, 0, 0, 0,186, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,187, 0, 0, 0,142, 0, 0, 0,185, 0, 0, 0,
+ 0, 0, 0, 1,182, 0, 0, 0,184, 0, 0, 0,186, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,185, 0, 0, 0,
+183, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,127, 0, 0, 0,128, 0, 0, 0,182, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,
+183, 0, 0, 0,129, 0, 0, 0,127, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,139, 0, 0, 0,190, 0, 0, 0,188, 0, 0, 0,
+141, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,191, 0, 0, 0,140, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 1,137, 0, 0, 0,
+192, 0, 0, 0,190, 0, 0, 0,139, 0, 0, 0, 0, 0, 0, 1,191, 0, 0, 0,193, 0, 0, 0,138, 0, 0, 0,140, 0, 0, 0,
+ 0, 0, 0, 1,136, 0, 0, 0,194, 0, 0, 0,192, 0, 0, 0,137, 0, 0, 0, 0, 0, 0, 1,193, 0, 0, 0,195, 0, 0, 0,
+136, 0, 0, 0,138, 0, 0, 0, 0, 0, 0, 1,135, 0, 0, 0, 69, 0, 0, 0,194, 0, 0, 0,136, 0, 0, 0, 0, 0, 0, 1,
+195, 0, 0, 0, 69, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0, 0, 0, 0, 1,187, 0, 0, 0,141, 0, 0, 0,188, 0, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,142, 0, 0, 0,187, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 1, 68, 0, 0, 0,
+188, 0, 0, 0,203, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,189, 0, 0, 0, 68, 0, 0, 0,205, 0, 0, 0,
+ 0, 0, 0, 1, 69, 0, 0, 0,196, 0, 0, 0,197, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 1,198, 0, 0, 0,196, 0, 0, 0,
+ 69, 0, 0, 0,195, 0, 0, 0, 0, 0, 0, 1,194, 0, 0, 0,197, 0, 0, 0,199, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 1,
+200, 0, 0, 0,198, 0, 0, 0,195, 0, 0, 0,193, 0, 0, 0, 0, 0, 0, 1,192, 0, 0, 0,199, 0, 0, 0,201, 0, 0, 0,
+190, 0, 0, 0, 0, 0, 0, 1,202, 0, 0, 0,200, 0, 0, 0,193, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 1,190, 0, 0, 0,
+201, 0, 0, 0,203, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,202, 0, 0, 0,191, 0, 0, 0,189, 0, 0, 0,
+ 0, 0, 0, 1,196, 0, 0, 0,201, 0, 0, 0,199, 0, 0, 0,197, 0, 0, 0, 0, 0, 0, 1,200, 0, 0, 0,202, 0, 0, 0,
+196, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 1,196, 0, 0, 0,205, 0, 0, 0,203, 0, 0, 0,201, 0, 0, 0, 0, 0, 0, 1,
+204, 0, 0, 0,205, 0, 0, 0,196, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 1,136, 0, 0, 0,137, 0, 0, 0,161, 0, 0, 0,
+174, 0, 0, 0, 0, 0, 0, 1,162, 0, 0, 0,138, 0, 0, 0,136, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 1,137, 0, 0, 0,
+139, 0, 0, 0,208, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,140, 0, 0, 0,138, 0, 0, 0,162, 0, 0, 0,
+ 0, 0, 0, 1,139, 0, 0, 0,141, 0, 0, 0,210, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,142, 0, 0, 0,
+140, 0, 0, 0,209, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0,184, 0, 0, 0,163, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 1,
+164, 0, 0, 0,185, 0, 0, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,206, 0, 0, 0,210, 0, 0, 0,
+163, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,207, 0, 0, 0, 80, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 1,206, 0, 0, 0,
+212, 0, 0, 0,208, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,213, 0, 0, 0,207, 0, 0, 0,211, 0, 0, 0,
+ 0, 0, 0, 1, 77, 0, 0, 0,161, 0, 0, 0,208, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,162, 0, 0, 0,
+ 78, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,127, 0, 0, 0, 70, 0, 0, 0,219, 0, 0, 0, 0, 0, 0, 1,
+ 70, 0, 0, 0,127, 0, 0, 0,129, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 1,130, 0, 0, 0,128, 0, 0, 0,219, 0, 0, 0,
+217, 0, 0, 0, 0, 0, 0, 1,220, 0, 0, 0,129, 0, 0, 0,131, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 1,132, 0, 0, 0,
+130, 0, 0, 0,217, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 1,218, 0, 0, 0,131, 0, 0, 0,133, 0, 0, 0,216, 0, 0, 0,
+ 0, 0, 0, 1,134, 0, 0, 0,132, 0, 0, 0,215, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,216, 0, 0, 0,133, 0, 0, 0,
+134, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,214, 0, 0, 0,215, 0, 0, 0,226, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 1,
+227, 0, 0, 0,216, 0, 0, 0,214, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 1,215, 0, 0, 0,217, 0, 0, 0,224, 0, 0, 0,
+226, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,218, 0, 0, 0,216, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 1,217, 0, 0, 0,
+219, 0, 0, 0,222, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 1,223, 0, 0, 0,220, 0, 0, 0,218, 0, 0, 0,225, 0, 0, 0,
+ 0, 0, 0, 1,219, 0, 0, 0, 70, 0, 0, 0,221, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0, 70, 0, 0, 0,
+220, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0,228, 0, 0, 0,226, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 1,
+227, 0, 0, 0,228, 0, 0, 0,221, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,222, 0, 0, 0,226, 0, 0, 0,224, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,227, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,180, 0, 0, 0,
+178, 0, 0, 0,231, 0, 0, 0,229, 0, 0, 0, 0, 0, 0, 1,232, 0, 0, 0,179, 0, 0, 0,181, 0, 0, 0,230, 0, 0, 0,
+ 0, 0, 0, 1,110, 0, 0, 0,180, 0, 0, 0,229, 0, 0, 0,251, 0, 0, 0, 0, 0, 0, 1,230, 0, 0, 0,181, 0, 0, 0,
+111, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,110, 0, 0, 0,251, 0, 0, 0,253, 0, 0, 0, 0, 0, 0, 1,
+252, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 1,178, 0, 0, 0, 14, 0, 0, 0,249, 0, 0, 0,
+231, 0, 0, 0, 0, 0, 0, 1,250, 0, 0, 0,112, 0, 0, 0,179, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,
+113, 0, 0, 0,247, 0, 0, 0,249, 0, 0, 0, 0, 0, 0, 1,248, 0, 0, 0,114, 0, 0, 0,112, 0, 0, 0,250, 0, 0, 0,
+ 0, 0, 0, 1,113, 0, 0, 0,115, 0, 0, 0,245, 0, 0, 0,247, 0, 0, 0, 0, 0, 0, 1,246, 0, 0, 0,116, 0, 0, 0,
+114, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 1,115, 0, 0, 0,117, 0, 0, 0,243, 0, 0, 0,245, 0, 0, 0, 0, 0, 0, 1,
+244, 0, 0, 0,118, 0, 0, 0,116, 0, 0, 0,246, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,119, 0, 0, 0,241, 0, 0, 0,
+243, 0, 0, 0, 0, 0, 0, 1,242, 0, 0, 0,120, 0, 0, 0,118, 0, 0, 0,244, 0, 0, 0, 0, 0, 0, 1,119, 0, 0, 0,
+121, 0, 0, 0,239, 0, 0, 0,241, 0, 0, 0, 0, 0, 0, 1,240, 0, 0, 0,122, 0, 0, 0,120, 0, 0, 0,242, 0, 0, 0,
+ 0, 0, 0, 1,121, 0, 0, 0,123, 0, 0, 0,237, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 1,238, 0, 0, 0,124, 0, 0, 0,
+122, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 1,123, 0, 0, 0,176, 0, 0, 0,233, 0, 0, 0,237, 0, 0, 0, 0, 0, 0, 1,
+234, 0, 0, 0,177, 0, 0, 0,124, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 1,176, 0, 0, 0,125, 0, 0, 0,235, 0, 0, 0,
+233, 0, 0, 0, 0, 0, 0, 1,236, 0, 0, 0,126, 0, 0, 0,177, 0, 0, 0,234, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 0,
+108, 0, 0, 0,253, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 1,254, 0, 0, 0,109, 0, 0, 0,126, 0, 0, 0,236, 0, 0, 0,
+ 0, 0, 0, 1,235, 0, 0, 0,253, 0, 0, 0,255, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,254, 0, 0, 0,
+236, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 1,233, 0, 0, 0,235, 0, 0, 0, 17, 1, 0, 0, 19, 1, 0, 0, 0, 0, 0, 1,
+ 18, 1, 0, 0,236, 0, 0, 0,234, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 1,237, 0, 0, 0,233, 0, 0, 0, 19, 1, 0, 0,
+ 15, 1, 0, 0, 0, 0, 0, 1, 20, 1, 0, 0,234, 0, 0, 0,238, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 1,239, 0, 0, 0,
+237, 0, 0, 0, 15, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 1, 16, 1, 0, 0,238, 0, 0, 0,240, 0, 0, 0, 14, 1, 0, 0,
+ 0, 0, 0, 1,241, 0, 0, 0,239, 0, 0, 0, 13, 1, 0, 0, 11, 1, 0, 0, 0, 0, 0, 1, 14, 1, 0, 0,240, 0, 0, 0,
+242, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 1,243, 0, 0, 0,241, 0, 0, 0, 11, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 1,
+ 12, 1, 0, 0,242, 0, 0, 0,244, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 1,245, 0, 0, 0,243, 0, 0, 0, 9, 1, 0, 0,
+ 7, 1, 0, 0, 0, 0, 0, 1, 10, 1, 0, 0,244, 0, 0, 0,246, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 1,247, 0, 0, 0,
+245, 0, 0, 0, 7, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0,246, 0, 0, 0,248, 0, 0, 0, 6, 1, 0, 0,
+ 0, 0, 0, 1,249, 0, 0, 0,247, 0, 0, 0, 5, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0,248, 0, 0, 0,
+250, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 1,231, 0, 0, 0,249, 0, 0, 0, 3, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 1,
+ 4, 1, 0, 0,250, 0, 0, 0,232, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1,253, 0, 0, 0,251, 0, 0, 0, 1, 1, 0, 0,
+255, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0,252, 0, 0, 0,254, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,251, 0, 0, 0,
+229, 0, 0, 0, 23, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 24, 1, 0, 0,230, 0, 0, 0,252, 0, 0, 0, 2, 1, 0, 0,
+ 0, 0, 0, 1,229, 0, 0, 0,231, 0, 0, 0, 21, 1, 0, 0, 23, 1, 0, 0, 0, 0, 0, 1, 22, 1, 0, 0,232, 0, 0, 0,
+230, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 1, 65, 0, 0, 0,106, 0, 0, 0, 25, 1, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1,
+ 26, 1, 0, 0,107, 0, 0, 0, 65, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1,106, 0, 0, 0,104, 0, 0, 0, 27, 1, 0, 0,
+ 25, 1, 0, 0, 0, 0, 0, 1, 28, 1, 0, 0,105, 0, 0, 0,107, 0, 0, 0, 26, 1, 0, 0, 0, 0, 0, 1,104, 0, 0, 0,
+102, 0, 0, 0, 29, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0,103, 0, 0, 0,105, 0, 0, 0, 28, 1, 0, 0,
+ 0, 0, 0, 1,102, 0, 0, 0,100, 0, 0, 0, 31, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 1, 32, 1, 0, 0,101, 0, 0, 0,
+103, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 1,100, 0, 0, 0, 98, 0, 0, 0, 33, 1, 0, 0, 31, 1, 0, 0, 0, 0, 0, 1,
+ 34, 1, 0, 0, 99, 0, 0, 0,101, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1, 98, 0, 0, 0, 96, 0, 0, 0, 35, 1, 0, 0,
+ 33, 1, 0, 0, 0, 0, 0, 1, 36, 1, 0, 0, 97, 0, 0, 0, 99, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 1, 96, 0, 0, 0,
+ 94, 0, 0, 0, 37, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 1, 38, 1, 0, 0, 95, 0, 0, 0, 97, 0, 0, 0, 36, 1, 0, 0,
+ 0, 0, 0, 1, 94, 0, 0, 0, 92, 0, 0, 0, 39, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 1, 40, 1, 0, 0, 93, 0, 0, 0,
+ 95, 0, 0, 0, 38, 1, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 90, 0, 0, 0, 41, 1, 0, 0, 39, 1, 0, 0, 0, 0, 0, 1,
+ 42, 1, 0, 0, 91, 0, 0, 0, 93, 0, 0, 0, 40, 1, 0, 0, 0, 0, 0, 1, 49, 1, 0, 0, 50, 1, 0, 0, 69, 1, 0, 0,
+ 79, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0, 50, 1, 0, 0, 49, 1, 0, 0, 80, 1, 0, 0, 0, 0, 0, 1, 48, 1, 0, 0,
+ 49, 1, 0, 0, 79, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 49, 1, 0, 0, 48, 1, 0, 0, 78, 1, 0, 0,
+ 0, 0, 0, 1, 47, 1, 0, 0, 48, 1, 0, 0, 77, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 1, 78, 1, 0, 0, 48, 1, 0, 0,
+ 47, 1, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0, 89, 0, 0, 0, 47, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 1,
+ 47, 1, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 85, 0, 0, 0, 87, 0, 0, 0, 81, 1, 0, 0,
+ 75, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 88, 0, 0, 0, 86, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 1, 83, 0, 0, 0,
+ 85, 0, 0, 0, 75, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 1, 76, 1, 0, 0, 86, 0, 0, 0, 84, 0, 0, 0, 72, 1, 0, 0,
+ 0, 0, 0, 1, 81, 0, 0, 0, 83, 0, 0, 0, 71, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 1, 72, 1, 0, 0, 84, 0, 0, 0,
+ 82, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 77, 1, 0, 0, 79, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 1,
+ 80, 1, 0, 0, 78, 1, 0, 0, 72, 1, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 75, 1, 0, 0, 81, 1, 0, 0,
+ 77, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 76, 1, 0, 0, 72, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 1, 67, 1, 0, 0,
+ 73, 1, 0, 0, 79, 1, 0, 0, 69, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 74, 1, 0, 0, 68, 1, 0, 0, 70, 1, 0, 0,
+ 0, 0, 0, 1, 79, 0, 0, 0, 81, 0, 0, 0, 73, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 1, 74, 1, 0, 0, 82, 0, 0, 0,
+ 80, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 1,206, 0, 0, 0, 83, 1, 0, 0, 85, 1, 0, 0,212, 0, 0, 0, 0, 0, 0, 1,
+ 86, 1, 0, 0, 84, 1, 0, 0,207, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0, 67, 1, 0, 0, 83, 1, 0, 0,
+206, 0, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0, 68, 1, 0, 0, 80, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0,
+212, 0, 0, 0, 85, 1, 0, 0, 87, 1, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0,213, 0, 0, 0, 78, 0, 0, 0, 88, 1, 0, 0,
+ 0, 0, 0, 1, 77, 0, 0, 0, 87, 1, 0, 0, 41, 1, 0, 0, 90, 0, 0, 0, 0, 0, 0, 1, 42, 1, 0, 0, 88, 1, 0, 0,
+ 78, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 1, 75, 0, 0, 0, 65, 1, 0, 0, 93, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1,
+ 94, 1, 0, 0, 66, 1, 0, 0, 75, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 45, 1, 0, 0, 93, 1, 0, 0, 91, 1, 0, 0,
+ 76, 0, 0, 0, 0, 0, 0, 1, 92, 1, 0, 0, 94, 1, 0, 0, 45, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 76, 0, 0, 0,
+ 91, 1, 0, 0, 89, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 1, 90, 1, 0, 0, 92, 1, 0, 0, 76, 0, 0, 0, 46, 1, 0, 0,
+ 0, 0, 0, 1, 46, 1, 0, 0, 89, 1, 0, 0, 69, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0, 90, 1, 0, 0,
+ 46, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 67, 1, 0, 0, 69, 1, 0, 0, 89, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 1,
+ 90, 1, 0, 0, 70, 1, 0, 0, 68, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 1, 37, 1, 0, 0, 39, 1, 0, 0, 59, 1, 0, 0,
+ 51, 1, 0, 0, 0, 0, 0, 1, 60, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 1, 74, 0, 0, 0,
+ 57, 1, 0, 0, 65, 1, 0, 0, 75, 0, 0, 0, 0, 0, 0, 1, 66, 1, 0, 0, 58, 1, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0,
+ 0, 0, 0, 1, 43, 1, 0, 0, 99, 1, 0, 0, 97, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 98, 1, 0, 0,100, 1, 0, 0,
+ 43, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 44, 1, 0, 0, 97, 1, 0, 0, 95, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 1,
+ 96, 1, 0, 0, 98, 1, 0, 0, 44, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 95, 1, 0, 0, 57, 1, 0, 0,
+ 74, 0, 0, 0, 0, 0, 0, 1, 58, 1, 0, 0, 96, 1, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 1, 33, 1, 0, 0,
+ 35, 1, 0, 0,103, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 1,104, 1, 0, 0, 36, 1, 0, 0, 34, 1, 0, 0,106, 1, 0, 0,
+ 0, 0, 0, 1,105, 1, 0, 0,103, 1, 0, 0,109, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0,104, 1, 0, 0,
+106, 1, 0, 0,108, 1, 0, 0, 0, 0, 0, 1,107, 1, 0, 0,109, 1, 0, 0,111, 1, 0, 0,113, 1, 0, 0, 0, 0, 0, 1,
+112, 1, 0, 0,110, 1, 0, 0,108, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1,113, 1, 0, 0,111, 1, 0, 0,117, 1, 0, 0,
+115, 1, 0, 0, 0, 0, 0, 1,118, 1, 0, 0,112, 1, 0, 0,114, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,
+119, 1, 0, 0,115, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0,120, 1, 0, 0, 56, 1, 0, 0,118, 1, 0, 0,
+ 0, 0, 0, 1, 57, 1, 0, 0, 95, 1, 0, 0,115, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0, 96, 1, 0, 0,
+ 58, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 1, 95, 1, 0, 0, 97, 1, 0, 0,113, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 1,
+114, 1, 0, 0, 98, 1, 0, 0, 96, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1, 97, 1, 0, 0, 99, 1, 0, 0,107, 1, 0, 0,
+113, 1, 0, 0, 0, 0, 0, 1,108, 1, 0, 0,100, 1, 0, 0, 98, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1, 99, 1, 0, 0,
+101, 1, 0, 0,105, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0,102, 1, 0, 0,100, 1, 0, 0,108, 1, 0, 0,
+ 0, 0, 0, 1, 31, 1, 0, 0, 33, 1, 0, 0,105, 1, 0, 0,101, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0, 34, 1, 0, 0,
+ 32, 1, 0, 0,102, 1, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0,101, 1, 0, 0, 99, 1, 0, 0, 43, 1, 0, 0, 0, 0, 0, 1,
+100, 1, 0, 0,102, 1, 0, 0, 72, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 1, 25, 1, 0, 0, 27, 1, 0, 0, 29, 1, 0, 0,
+ 31, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1, 25, 1, 0, 0,
+ 31, 1, 0, 0,101, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 1,102, 1, 0, 0, 32, 1, 0, 0, 26, 1, 0, 0, 72, 0, 0, 0,
+ 0, 0, 0, 1, 71, 0, 0, 0, 25, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0, 26, 1, 0, 0,
+ 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 35, 1, 0, 0, 37, 1, 0, 0, 51, 1, 0, 0,103, 1, 0, 0, 0, 0, 0, 1,
+ 52, 1, 0, 0, 38, 1, 0, 0, 36, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 53, 1, 0, 0,109, 1, 0, 0,
+103, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0, 54, 1, 0, 0, 52, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,
+123, 1, 0, 0,111, 1, 0, 0,109, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,124, 1, 0, 0, 54, 1, 0, 0,110, 1, 0, 0,
+ 0, 0, 0, 1, 55, 1, 0, 0,117, 1, 0, 0,111, 1, 0, 0,123, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,118, 1, 0, 0,
+ 56, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1, 89, 1, 0, 0, 91, 1, 0, 0,127, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 1,
+128, 1, 0, 0, 92, 1, 0, 0, 90, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 59, 1, 0, 0,125, 1, 0, 0,127, 1, 0, 0,
+ 61, 1, 0, 0, 0, 0, 0, 1,128, 1, 0, 0,126, 1, 0, 0, 60, 1, 0, 0, 62, 1, 0, 0, 0, 0, 0, 1, 39, 1, 0, 0,
+ 41, 1, 0, 0,125, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1,126, 1, 0, 0, 42, 1, 0, 0, 40, 1, 0, 0, 60, 1, 0, 0,
+ 0, 0, 0, 1, 41, 1, 0, 0, 85, 1, 0, 0, 83, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0, 86, 1, 0, 0,
+ 42, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 83, 1, 0, 0, 89, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+126, 1, 0, 0, 90, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 1, 0, 0, 87, 1, 0, 0, 85, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0, 88, 1, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,
+ 63, 1, 0, 0,121, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 64, 1, 0, 0, 56, 1, 0, 0,120, 1, 0, 0,
+ 0, 0, 0, 1, 57, 1, 0, 0,119, 1, 0, 0,121, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0,120, 1, 0, 0,
+ 58, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,127, 1, 0, 0,121, 1, 0, 0, 63, 1, 0, 0, 0, 0, 0, 1,
+122, 1, 0, 0,128, 1, 0, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1, 91, 1, 0, 0, 93, 1, 0, 0,121, 1, 0, 0,
+127, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0,128, 1, 0, 0, 0, 0, 0, 1, 65, 1, 0, 0,
+121, 1, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 1, 0, 0,122, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1,141, 1, 0, 0,129, 1, 0, 0,155, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,130, 1, 0, 0,
+142, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,143, 1, 0, 0,145, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 1,
+146, 1, 0, 0,144, 1, 0, 0,142, 1, 0, 0,140, 1, 0, 0, 0, 0, 0, 1,139, 1, 0, 0,145, 1, 0, 0,147, 1, 0, 0,
+137, 1, 0, 0, 0, 0, 0, 1,148, 1, 0, 0,146, 1, 0, 0,140, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 1,137, 1, 0, 0,
+147, 1, 0, 0,149, 1, 0, 0,135, 1, 0, 0, 0, 0, 0, 1,150, 1, 0, 0,148, 1, 0, 0,138, 1, 0, 0,136, 1, 0, 0,
+ 0, 0, 0, 1,135, 1, 0, 0,149, 1, 0, 0,151, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 1,152, 1, 0, 0,150, 1, 0, 0,
+136, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 1,133, 1, 0, 0,151, 1, 0, 0,153, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 1,
+154, 1, 0, 0,152, 1, 0, 0,134, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 1,151, 1, 0, 0,161, 1, 0, 0,159, 1, 0, 0,
+153, 1, 0, 0, 0, 0, 0, 1,160, 1, 0, 0,162, 1, 0, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 1,149, 1, 0, 0,
+163, 1, 0, 0,161, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 1,162, 1, 0, 0,164, 1, 0, 0,150, 1, 0, 0,152, 1, 0, 0,
+ 0, 0, 0, 1,147, 1, 0, 0,165, 1, 0, 0,163, 1, 0, 0,149, 1, 0, 0, 0, 0, 0, 1,164, 1, 0, 0,166, 1, 0, 0,
+148, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 1,145, 1, 0, 0,167, 1, 0, 0,165, 1, 0, 0,147, 1, 0, 0, 0, 0, 0, 1,
+166, 1, 0, 0,168, 1, 0, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 1,143, 1, 0, 0,169, 1, 0, 0,167, 1, 0, 0,
+145, 1, 0, 0, 0, 0, 0, 1,168, 1, 0, 0,170, 1, 0, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 0, 1,143, 1, 0, 0,
+155, 1, 0, 0,157, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 1,158, 1, 0, 0,156, 1, 0, 0,144, 1, 0, 0,170, 1, 0, 0,
+ 0, 0, 0, 1, 59, 1, 0, 0, 61, 1, 0, 0,185, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 1,186, 1, 0, 0, 62, 1, 0, 0,
+ 60, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,131, 1, 0, 0,153, 1, 0, 0,185, 1, 0, 0, 0, 0, 0, 1,
+154, 1, 0, 0,132, 1, 0, 0, 62, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 59, 1, 0, 0,183, 1, 0, 0,
+ 53, 1, 0, 0, 0, 0, 0, 1,184, 1, 0, 0, 60, 1, 0, 0, 52, 1, 0, 0, 54, 1, 0, 0, 0, 0, 0, 1,123, 1, 0, 0,
+171, 1, 0, 0,155, 1, 0, 0,129, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,172, 1, 0, 0,124, 1, 0, 0,130, 1, 0, 0,
+ 0, 0, 0, 1,153, 1, 0, 0,159, 1, 0, 0,181, 1, 0, 0,185, 1, 0, 0, 0, 0, 0, 1,182, 1, 0, 0,160, 1, 0, 0,
+154, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,187, 1, 0, 0,185, 1, 0, 0,181, 1, 0, 0, 0, 0, 0, 1,
+186, 1, 0, 0,188, 1, 0, 0,180, 1, 0, 0,182, 1, 0, 0, 0, 0, 0, 1,175, 1, 0, 0,187, 1, 0, 0,179, 1, 0, 0,
+177, 1, 0, 0, 0, 0, 0, 1,180, 1, 0, 0,188, 1, 0, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 1,173, 1, 0, 0,
+189, 1, 0, 0,187, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,190, 1, 0, 0,174, 1, 0, 0,176, 1, 0, 0,
+ 0, 0, 0, 1,171, 1, 0, 0,189, 1, 0, 0,173, 1, 0, 0,191, 1, 0, 0, 0, 0, 0, 1,174, 1, 0, 0,190, 1, 0, 0,
+172, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 1,155, 1, 0, 0,171, 1, 0, 0,191, 1, 0, 0,157, 1, 0, 0, 0, 0, 0, 1,
+192, 1, 0, 0,172, 1, 0, 0,156, 1, 0, 0,158, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,189, 1, 0, 0,171, 1, 0, 0,
+123, 1, 0, 0, 0, 0, 0, 1,172, 1, 0, 0,190, 1, 0, 0, 54, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,
+183, 1, 0, 0,187, 1, 0, 0,189, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,184, 1, 0, 0, 54, 1, 0, 0,190, 1, 0, 0,
+ 0, 0, 0, 1,183, 1, 0, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,186, 1, 0, 0,
+184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,157, 1, 0, 0,191, 1, 0, 0,193, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 1,
+194, 1, 0, 0,192, 1, 0, 0,158, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 1,191, 1, 0, 0,173, 1, 0, 0,203, 1, 0, 0,
+193, 1, 0, 0, 0, 0, 0, 1,204, 1, 0, 0,174, 1, 0, 0,192, 1, 0, 0,194, 1, 0, 0, 0, 0, 0, 1,173, 1, 0, 0,
+175, 1, 0, 0,201, 1, 0, 0,203, 1, 0, 0, 0, 0, 0, 1,202, 1, 0, 0,176, 1, 0, 0,174, 1, 0, 0,204, 1, 0, 0,
+ 0, 0, 0, 1,175, 1, 0, 0,177, 1, 0, 0,199, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 1,200, 1, 0, 0,178, 1, 0, 0,
+176, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,177, 1, 0, 0,179, 1, 0, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 1,
+198, 1, 0, 0,180, 1, 0, 0,178, 1, 0, 0,200, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,181, 1, 0, 0,195, 1, 0, 0,
+197, 1, 0, 0, 0, 0, 0, 1,196, 1, 0, 0,182, 1, 0, 0,180, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,181, 1, 0, 0,
+159, 1, 0, 0,215, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 1,216, 1, 0, 0,160, 1, 0, 0,182, 1, 0, 0,196, 1, 0, 0,
+ 0, 0, 0, 1,169, 1, 0, 0,157, 1, 0, 0,217, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 1,218, 1, 0, 0,158, 1, 0, 0,
+170, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 1,167, 1, 0, 0,169, 1, 0, 0,205, 1, 0, 0,207, 1, 0, 0, 0, 0, 0, 1,
+206, 1, 0, 0,170, 1, 0, 0,168, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 1,165, 1, 0, 0,167, 1, 0, 0,207, 1, 0, 0,
+209, 1, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,168, 1, 0, 0,166, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,163, 1, 0, 0,
+165, 1, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 1,210, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0,212, 1, 0, 0,
+ 0, 0, 0, 1,161, 1, 0, 0,163, 1, 0, 0,211, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,212, 1, 0, 0,164, 1, 0, 0,
+162, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,159, 1, 0, 0,161, 1, 0, 0,213, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 1,
+214, 1, 0, 0,162, 1, 0, 0,160, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,197, 1, 0, 0,221, 1, 0, 0,
+219, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,198, 1, 0, 0,200, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 1,219, 1, 0, 0,
+221, 1, 0, 0,223, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,222, 1, 0, 0,220, 1, 0, 0,226, 1, 0, 0,
+ 0, 0, 0, 1,225, 1, 0, 0,223, 1, 0, 0,229, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 1,230, 1, 0, 0,224, 1, 0, 0,
+226, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 1,227, 1, 0, 0,229, 1, 0, 0,231, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 1,
+232, 1, 0, 0,230, 1, 0, 0,228, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,205, 1, 0, 0,217, 1, 0, 0,227, 1, 0, 0,
+233, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,218, 1, 0, 0,206, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,193, 1, 0, 0,
+225, 1, 0, 0,227, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,226, 1, 0, 0,194, 1, 0, 0,218, 1, 0, 0,
+ 0, 0, 0, 1,193, 1, 0, 0,203, 1, 0, 0,219, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,220, 1, 0, 0,204, 1, 0, 0,
+194, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,219, 1, 0, 0,203, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 1,
+204, 1, 0, 0,220, 1, 0, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,195, 1, 0, 0,215, 1, 0, 0,221, 1, 0, 0,
+197, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,216, 1, 0, 0,196, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,213, 1, 0, 0,
+223, 1, 0, 0,221, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,224, 1, 0, 0,214, 1, 0, 0,216, 1, 0, 0,
+ 0, 0, 0, 1,211, 1, 0, 0,229, 1, 0, 0,223, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,230, 1, 0, 0,
+212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,209, 1, 0, 0,231, 1, 0, 0,229, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 1,
+230, 1, 0, 0,232, 1, 0, 0,210, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 1,207, 1, 0, 0,233, 1, 0, 0,231, 1, 0, 0,
+209, 1, 0, 0, 0, 0, 0, 1,232, 1, 0, 0,234, 1, 0, 0,208, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,205, 1, 0, 0,
+233, 1, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,234, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1,133, 1, 0, 0,131, 1, 0, 0,245, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,132, 1, 0, 0,
+134, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 1,135, 1, 0, 0,133, 1, 0, 0,243, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 1,
+244, 1, 0, 0,134, 1, 0, 0,136, 1, 0, 0,242, 1, 0, 0, 0, 0, 0, 1,137, 1, 0, 0,135, 1, 0, 0,241, 1, 0, 0,
+239, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,136, 1, 0, 0,138, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 1,139, 1, 0, 0,
+137, 1, 0, 0,239, 1, 0, 0,237, 1, 0, 0, 0, 0, 0, 1,240, 1, 0, 0,138, 1, 0, 0,140, 1, 0, 0,238, 1, 0, 0,
+ 0, 0, 0, 1,141, 1, 0, 0,139, 1, 0, 0,237, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 1,238, 1, 0, 0,140, 1, 0, 0,
+142, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 1,129, 1, 0, 0,141, 1, 0, 0,235, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 1,
+236, 1, 0, 0,142, 1, 0, 0,130, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,235, 1, 0, 0,243, 1, 0, 0,245, 1, 0, 0,
+247, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,244, 1, 0, 0,236, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,235, 1, 0, 0,
+237, 1, 0, 0,241, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,238, 1, 0, 0,236, 1, 0, 0,244, 1, 0, 0,
+ 0, 0, 0, 1,237, 1, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,240, 1, 0, 0,
+238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,123, 1, 0, 0,129, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 1,
+130, 1, 0, 0,124, 1, 0, 0, 56, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,247, 1, 0, 0,245, 1, 0, 0,
+ 63, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,248, 1, 0, 0, 56, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,
+ 63, 1, 0, 0,245, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0, 64, 1, 0, 0, 62, 1, 0, 0,132, 1, 0, 0,
+ 0, 0, 0, 1, 68, 65, 84, 65,192, 93, 0, 0,152,238, 52, 3, 0, 0, 0, 0, 59, 0, 0, 0,244, 1, 0, 0, 3,112, 28, 63,
+185,178,236, 62,224,124, 27, 63,235, 65,232, 62,144, 63, 30, 63,233,195,226, 62,118,152, 32, 63, 37,167,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 2,232,209, 62,222, 21,226, 62,102,109,215, 62,222,147,231, 62, 28,135,213, 62,
+172, 4,236, 62, 56, 54,205, 62, 22,249,235, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,118,152, 32, 63,
+ 37,167,236, 62,144, 63, 30, 63,233,195,226, 62,108,235, 33, 63,197,235,220, 62,209,151, 37, 63, 89,161,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 76,144,202, 62,186, 61,220, 62, 2,232,209, 62,222, 21,226, 62, 56, 54,205, 62,
+ 22,249,235, 62,128, 55,195, 62, 70,243,235, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,144, 63, 30, 63,
+233,195,226, 62, 20, 55, 25, 63, 1, 35,223, 62,200,178, 25, 63, 77,233,214, 62,108,235, 33, 63,197,235,220, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,146, 1,219, 62, 66, 59,214, 62,248,248,219, 62,246,116,222, 62, 2,232,209, 62,
+222, 21,226, 62, 76,144,202, 62,186, 61,220, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,224,124, 27, 63,
+235, 65,232, 62, 87,252, 24, 63, 93,111,230, 62, 20, 55, 25, 63, 1, 35,223, 62,144, 63, 30, 63,233,195,226, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,248,248,219, 62,246,116,222, 62,118,110,220, 62, 78,193,229, 62,102,109,215, 62,
+222,147,231, 62, 2,232,209, 62,222, 21,226, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63,
+ 93,111,230, 62, 22,195, 22, 63,195, 90,232, 62,191, 91, 20, 63,193, 18,227, 62, 20, 55, 25, 63, 1, 35,223, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,162,175,229, 62,178,100,226, 62,248,224,224, 62,182,172,231, 62,118,110,220, 62,
+ 78,193,229, 62,248,248,219, 62,246,116,222, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 20, 55, 25, 63,
+ 1, 35,223, 62,191, 91, 20, 63,193, 18,227, 62,187,165, 17, 63,225, 6,221, 62,200,178, 25, 63, 77,233,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,170, 27,235, 62,214, 88,220, 62,162,175,229, 62,178,100,226, 62,248,248,219, 62,
+246,116,222, 62,146, 1,219, 62, 66, 59,214, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,191, 91, 20, 63,
+193, 18,227, 62,164, 18, 18, 63,173,201,236, 62,157,231, 13, 63, 89,161,236, 62,187,165, 17, 63,225, 6,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,232,151,242, 62, 70,243,235, 62,216, 65,234, 62,158, 27,236, 62,162,175,229, 62,
+178,100,226, 62,170, 27,235, 62,214, 88,220, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 22,195, 22, 63,
+195, 90,232, 62, 11,202, 21, 63, 1,189,236, 62,164, 18, 18, 63,173,201,236, 62,191, 91, 20, 63,193, 18,227, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216, 65,234, 62,158, 27,236, 62, 12,211,226, 62,246, 14,236, 62,248,224,224, 62,
+182,172,231, 62,162,175,229, 62,178,100,226, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
+ 1,189,236, 62,215,202, 22, 63,237,124,241, 62,125,105, 20, 63, 1, 71,246, 62,164, 18, 18, 63,173,201,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 42,148,229, 62,246,152,245, 62,112,209,224, 62,226,206,240, 62, 12,211,226, 62,
+246, 14,236, 62,216, 65,234, 62,158, 27,236, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,164, 18, 18, 63,
+173,201,236, 62,125,105, 20, 63, 1, 71,246, 62, 44,173, 17, 63,231,149,252, 62,157,231, 13, 63, 89,161,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,206, 12,235, 62,218,231,251, 62, 42,148,229, 62,246,152,245, 62,216, 65,234, 62,
+158, 27,236, 62,232,151,242, 62, 70,243,235, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,125,105, 20, 63,
+ 1, 71,246, 62, 37, 59, 25, 63, 49, 73,250, 62,108,178, 25, 63,218,108, 1, 63, 44,173, 17, 63,231,149,252, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 76, 2,219, 62,213, 21, 1, 63,216,240,219, 62, 38,155,249, 62, 42,148,229, 62,
+246,152,245, 62,206, 12,235, 62,218,231,251, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,215,202, 22, 63,
+237,124,241, 62,195, 1, 25, 63,169,102,243, 62, 37, 59, 25, 63, 49, 73,250, 62,125,105, 20, 63, 1, 71,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,240,219, 62, 38,155,249, 62,156, 99,220, 62,154,184,242, 62,112,209,224, 62,
+226,206,240, 62, 42,148,229, 62,246,152,245, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,
+169,102,243, 62,176,125, 27, 63,149,145,241, 62,167, 74, 30, 63, 3,153,246, 62, 37, 59, 25, 63, 49, 73,250, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,212,209,209, 62,246,234,245, 62,192,107,215, 62,138,227,240, 62,156, 99,220, 62,
+154,184,242, 62,216,240,219, 62, 38,155,249, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 37, 59, 25, 63,
+ 49, 73,250, 62,167, 74, 30, 63, 3,153,246, 62,204,230, 33, 63,107,232,252, 62,108,178, 25, 63,218,108, 1, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,132,153,202, 62, 94, 58,252, 62,212,209,209, 62,246,234,245, 62,216,240,219, 62,
+ 38,155,249, 62, 76, 2,219, 62,213, 21, 1, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,167, 74, 30, 63,
+ 3,153,246, 62,118,152, 32, 63, 37,167,236, 62,209,151, 37, 63, 89,161,236, 62,204,230, 33, 63,107,232,252, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,128, 55,195, 62, 70,243,235, 62, 56, 54,205, 62, 22,249,235, 62,212,209,209, 62,
+246,234,245, 62,132,153,202, 62, 94, 58,252, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,176,125, 27, 63,
+149,145,241, 62, 3,112, 28, 63,185,178,236, 62,118,152, 32, 63, 37,167,236, 62,167, 74, 30, 63, 3,153,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 56, 54,205, 62, 22,249,235, 62, 28,135,213, 62,172, 4,236, 62,192,107,215, 62,
+138,227,240, 62,212,209,209, 62,246,234,245, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 3,112, 28, 63,
+185,178,236, 62,176,125, 27, 63,149,145,241, 62, 42, 39, 27, 63, 57, 1,241, 62,140,249, 27, 63,115,186,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,206, 24,216, 62, 46, 83,240, 62,192,107,215, 62,138,227,240, 62, 28,135,213, 62,
+172, 4,236, 62, 8,116,214, 62,102, 12,236, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,176,125, 27, 63,
+149,145,241, 62,195, 1, 25, 63,169,102,243, 62, 6,248, 24, 63,185, 91,242, 62, 42, 39, 27, 63, 57, 1,241, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 22,119,220, 62,174,173,241, 62,156, 99,220, 62,154,184,242, 62,192,107,215, 62,
+138,227,240, 62,206, 24,216, 62, 46, 83,240, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,
+169,102,243, 62,215,202, 22, 63,237,124,241, 62,157, 38, 23, 63,225,173,240, 62, 6,248, 24, 63,185, 91,242, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,234, 25,224, 62,214,255,239, 62,112,209,224, 62,226,206,240, 62,156, 99,220, 62,
+154,184,242, 62, 22,119,220, 62,174,173,241, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,215,202, 22, 63,
+237,124,241, 62, 11,202, 21, 63, 1,189,236, 62, 13, 89, 22, 63,247,196,236, 62,157, 38, 23, 63,225,173,240, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 8,181,225, 62,234, 22,236, 62, 12,211,226, 62,246, 14,236, 62,112,209,224, 62,
+226,206,240, 62,234, 25,224, 62,214,255,239, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
+ 1,189,236, 62, 22,195, 22, 63,195, 90,232, 62, 88, 33, 23, 63, 69, 47,233, 62, 13, 89, 22, 63,247,196,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,112, 36,224, 62, 58,129,232, 62,248,224,224, 62,182,172,231, 62, 12,211,226, 62,
+246, 14,236, 62, 8,181,225, 62,234, 22,236, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 22,195, 22, 63,
+195, 90,232, 62, 87,252, 24, 63, 93,111,230, 62,100,243, 24, 63, 5,123,231, 62, 88, 33, 23, 63, 69, 47,233, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 90,128,220, 62,248,204,230, 62,118,110,220, 62, 78,193,229, 62,248,224,224, 62,
+182,172,231, 62,112, 36,224, 62, 58,129,232, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63,
+ 93,111,230, 62,224,124, 27, 63,235, 65,232, 62,169, 37, 27, 63, 35,211,232, 62,100,243, 24, 63, 5,123,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,206, 27,216, 62, 22, 37,232, 62,102,109,215, 62,222,147,231, 62,118,110,220, 62,
+ 78,193,229, 62, 90,128,220, 62,248,204,230, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,224,124, 27, 63,
+235, 65,232, 62, 3,112, 28, 63,185,178,236, 62,140,249, 27, 63,115,186,236, 62,169, 37, 27, 63, 35,211,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 8,116,214, 62,102, 12,236, 62, 28,135,213, 62,172, 4,236, 62,102,109,215, 62,
+222,147,231, 62,206, 27,216, 62, 22, 37,232, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,138,242, 24, 63,
+ 21,194,236, 62,169, 37, 27, 63, 35,211,232, 62,140,249, 27, 63,115,186,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 8,116,214, 62,102, 12,236, 62,206, 27,216, 62, 22, 37,232, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,100,243, 24, 63,
+ 5,123,231, 62,169, 37, 27, 63, 35,211,232, 62,138,242, 24, 63, 21,194,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 16,130,220, 62, 6, 20,236, 62,206, 27,216, 62, 22, 37,232, 62, 90,128,220, 62,
+248,204,230, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 88, 33, 23, 63, 69, 47,233, 62,100,243, 24, 63, 5,123,231, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 90,128,220, 62,248,204,230, 62,112, 36,224, 62, 58,129,232, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 13, 89, 22, 63,247,196,236, 62, 88, 33, 23, 63, 69, 47,233, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,112, 36,224, 62, 58,129,232, 62, 8,181,225, 62,234, 22,236, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62,157, 38, 23, 63,225,173,240, 62, 13, 89, 22, 63,247,196,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 8,181,225, 62,234, 22,236, 62,234, 25,224, 62,214,255,239, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 6,248, 24, 63,185, 91,242, 62,157, 38, 23, 63,225,173,240, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,234, 25,224, 62,214,255,239, 62, 22,119,220, 62,174,173,241, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 6,248, 24, 63,185, 91,242, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 22,119,220, 62,174,173,241, 62,206, 24,216, 62, 46, 83,240, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62,140,249, 27, 63,115,186,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,206, 24,216, 62, 46, 83,240, 62, 8,116,214, 62,102, 12,236, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,174,254, 16, 63,
+ 94, 45, 34, 62, 79,190, 13, 63,160,193, 46, 62,220,199, 3, 63, 89,219, 24, 62,219,199, 3, 63, 18, 28,229, 61,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,220,199, 3, 63, 89,219, 24, 62, 14,150,243, 62,204, 79, 47, 62,140,248,236, 62,
+182,202, 34, 62,219,199, 3, 63, 18, 28,229, 61,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,
+182, 47, 53, 62,250,104, 16, 63, 16,113, 55, 62, 79,190, 13, 63,160,193, 46, 62,174,254, 16, 63, 94, 45, 34, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 14,150,243, 62,204, 79, 47, 62,200, 68,238, 62, 76, 62, 56, 62,183,207,227, 62,
+250, 75, 54, 62,140,248,236, 62,182,202, 34, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,137, 57, 22, 63,
+ 81, 93, 61, 62,206,186, 16, 63, 85,129, 72, 62,250,104, 16, 63, 16,113, 55, 62,184,152, 21, 63,182, 47, 53, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,192,187,237, 62,194,118, 73, 62,122,152,226, 62,
+190,166, 62, 62,183,207,227, 62,250, 75, 54, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250,249, 22, 63,
+160,251, 88, 62,222, 32, 16, 63, 34,106, 93, 62,206,186, 16, 63, 85,129, 72, 62,137, 57, 22, 63, 81, 93, 61, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,187,237, 62,194,118, 73, 62, 21, 19,239, 62,121,110, 94, 62, 90, 83,225, 62,
+ 21,153, 90, 62,122,152,226, 62,190,166, 62, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62,206,243, 15, 63,182,207,136, 62,222, 32, 16, 63, 34,106, 93, 62,250,249, 22, 63,160,251, 88, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62, 92,193,239, 62,113, 61,137, 62, 54, 42,221, 62,
+209, 25,133, 62, 90, 83,225, 62, 21,153, 90, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62, 91, 94, 37, 63,107,120,187, 62, 66, 21, 30, 63,178,139,200, 62,158,237, 12, 63, 38,241,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,139,125,211, 62,170,171,200, 62,156, 28,197, 62,166,130,187, 62,115, 21,216, 62,
+ 14,177,166, 62, 15,175,245, 62,188, 14,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 91, 94, 37, 63,
+107,120,187, 62, 87, 57, 43, 63,222, 58,206, 62, 24,163, 39, 63,174, 95,216, 62, 66, 21, 30, 63,178,139,200, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,130,207,184, 62, 42, 27,206, 62,156, 28,197, 62,
+166,130,187, 62,139,125,211, 62,170,171,200, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 87, 57, 43, 63,
+222, 58,206, 62, 38,229, 50, 63,169, 32,226, 62,177, 79, 43, 63,202,194,231, 62, 24,163, 39, 63,174, 95,216, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,201,183, 62, 82,218,231, 62,196, 39,168, 62,206, 11,226, 62,130,207,184, 62,
+ 42, 27,206, 62, 98,194,191, 62, 42, 94,216, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 38,229, 50, 63,
+169, 32,226, 62, 62,134, 48, 63, 37,107,249, 62,154,190, 43, 63,192, 0,249, 62,177, 79, 43, 63,202,194,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62,172,229,172, 62,116,127,249, 62,196, 39,168, 62,
+206, 11,226, 62, 60,201,183, 62, 82,218,231, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 62,134, 48, 63,
+ 37,107,249, 62,238, 88, 46, 63,146,223, 2, 63,123,207, 40, 63,218,175,254, 62,154,190, 43, 63,192, 0,249, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2,184,188, 62,140, 0,255, 62,173, 87,177, 62,102, 9, 3, 63,172,229,172, 62,
+116,127,249, 62,138,190,182, 62, 35, 49,249, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,238, 88, 46, 63,
+146,223, 2, 63,220,158, 34, 63,175, 23, 10, 63,126, 77, 30, 63,156, 88, 5, 63,123,207, 40, 63,218,175,254, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63,124,109,201, 62, 72,121, 10, 63,173, 87,177, 62,
+102, 9, 3, 63, 2,184,188, 62,140, 0,255, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,158, 34, 63,
+175, 23, 10, 63, 28,105, 26, 63,242,194, 11, 63,244,120, 25, 63, 78,242, 7, 63,126, 77, 30, 63,156, 88, 5, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,220, 73,218, 62,169, 31, 12, 63,124,109,201, 62,
+ 72,121, 10, 63, 89, 65,210, 62, 56,158, 5, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,
+242,194, 11, 63,173,244, 22, 63,236,215, 11, 63,202, 47, 22, 63,156, 60, 8, 63,244,120, 25, 63, 78,242, 7, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,220, 89,225, 62, 77, 42, 12, 63,220, 73,218, 62,
+169, 31, 12, 63, 0, 39,220, 62,252, 58, 8, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,
+236,215, 11, 63, 67,169, 11, 63, 18,197, 11, 63,106,252, 12, 63,180,173, 3, 63,202, 47, 22, 63,156, 60, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 35,114,245, 62,233,196, 3, 63, 55, 72,248, 62, 91,232, 11, 63,220, 89,225, 62,
+ 77, 42, 12, 63, 11,221,226, 62, 90,125, 8, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63,
+ 18,197, 11, 63,148,232, 3, 63,164, 17, 11, 63,162,220, 3, 63, 45, 88, 0, 63,106,252, 12, 63,180,173, 3, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,162,220, 3, 63, 45, 88, 0, 63,148,232, 3, 63,164, 17, 11, 63, 55, 72,248, 62,
+ 91,232, 11, 63, 35,114,245, 62,233,196, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,
+120,195,255, 62,240, 81, 22, 63,114, 70, 1, 63,202, 47, 22, 63,156, 60, 8, 63,106,252, 12, 63,180,173, 3, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,106,128,226, 62,198,111, 1, 63,209,213,236, 62,
+ 4,250,255, 62, 35,114,245, 62,233,196, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,
+114, 70, 1, 63,151,182, 25, 63,130, 9, 1, 63,244,120, 25, 63, 78,242, 7, 63,202, 47, 22, 63,156, 60, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,213,150,219, 62, 50, 55, 1, 63,106,128,226, 62,
+198,111, 1, 63, 11,221,226, 62, 90,125, 8, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96, 49, 30, 63,
+121,229,254, 62,126, 77, 30, 63,156, 88, 5, 63,244,120, 25, 63, 78,242, 7, 63,151,182, 25, 63,130, 9, 1, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63, 89, 65,210, 62, 56,158, 5, 63,176,116,210, 62,
+227, 62,255, 62,213,150,219, 62, 50, 55, 1, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63,
+ 35,157,247, 62,123,207, 40, 63,218,175,254, 62,126, 77, 30, 63,156, 88, 5, 63, 96, 49, 30, 63,121,229,254, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63, 2,184,188, 62,140, 0,255, 62,189,165,195, 62,
+139,232,247, 62,176,116,210, 62,227, 62,255, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92, 62, 39, 63,
+121, 75,240, 62,154,190, 43, 63,192, 0,249, 62,123,207, 40, 63,218,175,254, 62, 25,113, 37, 63, 35,157,247, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2,184,188, 62,140, 0,255, 62,138,190,182, 62, 35, 49,249, 62,222, 10,192, 62,
+163,128,240, 62,189,165,195, 62,139,232,247, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
+ 38, 95,229, 62,177, 79, 43, 63,202,194,231, 62,154,190, 43, 63,192, 0,249, 62, 92, 62, 39, 63,121, 75,240, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62, 60,201,183, 62, 82,218,231, 62,168,140,193, 62,
+ 94,129,229, 62,222, 10,192, 62,163,128,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14,120, 33, 63,
+166,238,214, 62, 24,163, 39, 63,174, 95,216, 62,177, 79, 43, 63,202,194,231, 62,140,149, 38, 63, 38, 95,229, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,201,183, 62, 82,218,231, 62, 98,194,191, 62, 42, 94,216, 62,168, 75,204, 62,
+ 62, 7,215, 62,168,140,193, 62, 94,129,229, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,
+128, 17,208, 62, 66, 21, 30, 63,178,139,200, 62, 24,163, 39, 63,174, 95,216, 62, 14,120, 33, 63,166,238,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,139,125,211, 62,170,171,200, 62, 6, 24,216, 62,
+128, 57,208, 62,168, 75,204, 62, 62, 7,215, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
+220, 34,214, 62,158,237, 12, 63, 38,241,187, 62, 66, 21, 30, 63,178,139,200, 62,165,178, 27, 63,128, 17,208, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,139,125,211, 62,170,171,200, 62, 15,175,245, 62,188, 14,188, 62,217,200,236, 62,
+134, 49,214, 62, 6, 24,216, 62,128, 57,208, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
+220, 34,214, 62,149,244, 14, 63, 4, 42,221, 62,147,230, 3, 63, 78, 47,208, 62,158,237, 12, 63, 38,241,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,230, 3, 63, 78, 47,208, 62,141,144,241, 62,244, 52,221, 62,217,200,236, 62,
+134, 49,214, 62, 15,175,245, 62,188, 14,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,
+120,195,255, 62,106,252, 12, 63,180,173, 3, 63,162,220, 3, 63, 45, 88, 0, 63, 71, 25, 13, 63,116,163,243, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,162,220, 3, 63, 45, 88, 0, 63, 35,114,245, 62,233,196, 3, 63,209,213,236, 62,
+ 4,250,255, 62, 0, 45,245, 62,206,185,243, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,
+116,163,243, 62,162,220, 3, 63, 45, 88, 0, 63,215,220, 3, 63,148,189,231, 62, 64, 2, 13, 63, 52,215,230, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,215,220, 3, 63,148,189,231, 62,162,220, 3, 63, 45, 88, 0, 63, 0, 45,245, 62,
+206,185,243, 62,219,100,245, 62,184,230,230, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,230, 3, 63,
+ 78, 47,208, 62,149,244, 14, 63, 4, 42,221, 62, 64, 2, 13, 63, 52,215,230, 62,215,220, 3, 63,148,189,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,219,100,245, 62,184,230,230, 62,141,144,241, 62,244, 52,221, 62,147,230, 3, 63,
+ 78, 47,208, 62,215,220, 3, 63,148,189,231, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,
+148, 31, 54, 62,193,202, 3, 63,214,174, 49, 62,220,199, 3, 63, 89,219, 24, 62, 79,190, 13, 63,160,193, 46, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,199, 3, 63, 89,219, 24, 62,193,202, 3, 63,214,174, 49, 62,175, 87, 0, 63,
+251, 90, 54, 62, 14,150,243, 62,204, 79, 47, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,
+246,237, 66, 62,250, 61, 7, 63,148, 31, 54, 62, 79,190, 13, 63,160,193, 46, 62,250,104, 16, 63, 16,113, 55, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14,150,243, 62,204, 79, 47, 62,175, 87, 0, 63,251, 90, 54, 62,104,137,251, 62,
+179, 92, 67, 62,200, 68,238, 62, 76, 62, 56, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
+218, 90, 91, 62, 68,214, 9, 63,246,237, 66, 62,250,104, 16, 63, 16,113, 55, 62,206,186, 16, 63, 85,129, 72, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,104,137,251, 62,179, 92, 67, 62, 39,153,253, 62,
+ 27,195, 91, 62,192,187,237, 62,194,118, 73, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,206,243, 15, 63,
+182,207,136, 62, 77, 32, 8, 63, 10, 39,139, 62, 22,117, 9, 63,146,203, 97, 62,222, 32, 16, 63, 34,106, 93, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62,219, 89,255, 62,116, 79,139, 62, 92,193,239, 62,
+113, 61,137, 62, 21, 19,239, 62,121,110, 94, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
+218, 90, 91, 62,206,186, 16, 63, 85,129, 72, 62,222, 32, 16, 63, 34,106, 93, 62, 22,117, 9, 63,146,203, 97, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62,192,187,237, 62,194,118, 73, 62, 39,153,253, 62,
+ 27,195, 91, 62,192,110,252, 62, 79, 68, 98, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,119,125, 9, 63,
+ 7,112,158, 62, 70,233, 3, 63, 88, 27,154, 62,235,229, 3, 63, 97,108,139, 62, 77, 32, 8, 63, 10, 39,139, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,235,229, 3, 63, 97,108,139, 62, 70,233, 3, 63, 88, 27,154, 62,165,179,252, 62,
+163,140,158, 62,219, 89,255, 62,116, 79,139, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 22,117, 9, 63,
+146,203, 97, 62, 77, 32, 8, 63, 10, 39,139, 62,235,229, 3, 63, 97,108,139, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,235,229, 3, 63, 97,108,139, 62,219, 89,255, 62,116, 79,139, 62,192,110,252, 62,
+ 79, 68, 98, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,210, 3, 63,
+221, 95, 86, 62,237,221, 8, 63,218, 90, 91, 62, 22,117, 9, 63,146,203, 97, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62, 39,153,253, 62, 27,195, 91, 62,147,210, 3, 63,
+221, 95, 86, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,
+188,183,167, 62,250, 61, 9, 63,252,214,168, 62,152,143, 8, 63, 45,107,163, 62,119,125, 9, 63, 7,112,158, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,110, 39,253, 62,103,224,168, 62, 98, 68,247, 62,
+146,206,167, 62,165,179,252, 62,163,140,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63,
+ 52,208,178, 62, 25,233, 8, 63,116,110,175, 62,250, 61, 9, 63,252,214,168, 62, 5, 54, 12, 63,188,183,167, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,110, 39,253, 62,103,224,168, 62,102,195,253, 62,184,102,175, 62, 98, 14,250, 62,
+149,202,178, 62, 98, 68,247, 62,146,206,167, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,
+105,176,182, 62, 69,138, 6, 63, 80,180,177, 62, 25,233, 8, 63,116,110,175, 62,135,196, 10, 63, 52,208,178, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,102,195,253, 62,184,102,175, 62, 14, 49, 1, 63, 62,150,177, 62, 69, 17, 4, 63,
+105,176,182, 62, 98, 14,250, 62,149,202,178, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,209,124, 3, 63,
+ 70, 0,177, 62, 11,232, 3, 63,140, 4,174, 62, 69,138, 6, 63, 80,180,177, 62, 69, 17, 4, 63,105,176,182, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 1, 63, 62,150,177, 62, 11,232, 3, 63,140, 4,174, 62,209,124, 3, 63,
+ 70, 0,177, 62, 69, 17, 4, 63,105,176,182, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 70,233, 3, 63,
+ 88, 27,154, 62,119,125, 9, 63, 7,112,158, 62,152,143, 8, 63, 45,107,163, 62,212,232, 3, 63, 58,152,158, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,165,179,252, 62,163,140,158, 62, 70,233, 3, 63,
+ 88, 27,154, 62,212,232, 3, 63, 58,152,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,212,232, 3, 63,
+ 58,152,158, 62,152,143, 8, 63, 45,107,163, 62,121, 91, 7, 63,134, 51,166, 62,205,231, 3, 63, 58,149,162, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,100,136,254, 62, 38,123,163, 62,212,232, 3, 63,
+ 58,152,158, 62,205,231, 3, 63, 58,149,162, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,232, 3, 63,
+140, 4,174, 62,214,233, 3, 63,198,154,170, 62,233,110, 6, 63, 94,152,174, 62, 69,138, 6, 63, 80,180,177, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228, 82, 1, 63, 95,140,174, 62,214,233, 3, 63,198,154,170, 62, 11,232, 3, 63,
+140, 4,174, 62, 14, 49, 1, 63, 62,150,177, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69,138, 6, 63,
+ 80,180,177, 62,233,110, 6, 63, 94,152,174, 62, 59,236, 7, 63, 19,123,173, 62, 25,233, 8, 63,116,110,175, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,228, 82, 1, 63, 95,140,174, 62, 14, 49, 1, 63,
+ 62,150,177, 62,102,195,253, 62,184,102,175, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 25,233, 8, 63,
+116,110,175, 62, 59,236, 7, 63, 19,123,173, 62, 85,249, 7, 63, 92, 52,169, 62,250, 61, 9, 63,252,214,168, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,169,255, 62, 6, 57,169, 62,217,185,255, 62, 92,116,173, 62,102,195,253, 62,
+184,102,175, 62,110, 39,253, 62,103,224,168, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 9, 63,
+252,214,168, 62, 85,249, 7, 63, 92, 52,169, 62,121, 91, 7, 63,134, 51,166, 62,152,143, 8, 63, 45,107,163, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,160,169,255, 62, 6, 57,169, 62,110, 39,253, 62,
+103,224,168, 62,100,136,254, 62, 38,123,163, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,214,233, 3, 63,
+198,154,170, 62, 85,249, 7, 63, 92, 52,169, 62, 59,236, 7, 63, 19,123,173, 62,233,110, 6, 63, 94,152,174, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,160,169,255, 62, 6, 57,169, 62,214,233, 3, 63,
+198,154,170, 62,228, 82, 1, 63, 95,140,174, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,214,233, 3, 63,
+198,154,170, 62,205,231, 3, 63, 58,149,162, 62,121, 91, 7, 63,134, 51,166, 62, 85,249, 7, 63, 92, 52,169, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,205,231, 3, 63, 58,149,162, 62,214,233, 3, 63,
+198,154,170, 62,160,169,255, 62, 6, 57,169, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,
+105,176,182, 62,135,196, 10, 63, 52,208,178, 62,158,237, 12, 63, 38,241,187, 62,147,230, 3, 63, 78, 47,208, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15,175,245, 62,188, 14,188, 62, 98, 14,250, 62,149,202,178, 62, 69, 17, 4, 63,
+105,176,182, 62,147,230, 3, 63, 78, 47,208, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63,
+ 52,208,178, 62, 5, 54, 12, 63,188,183,167, 62,112, 0, 16, 63,254,246,164, 62,158,237, 12, 63, 38,241,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62, 98, 68,247, 62,146,206,167, 62, 98, 14,250, 62,
+149,202,178, 62, 15,175,245, 62,188, 14,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,
+188,183,167, 62,119,125, 9, 63, 7,112,158, 62, 44,250, 15, 63,109, 0,154, 62,112, 0, 16, 63,254,246,164, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,165,179,252, 62,163,140,158, 62, 98, 68,247, 62,
+146,206,167, 62,207,187,239, 62, 19, 42,165, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,119,125, 9, 63,
+ 7,112,158, 62, 77, 32, 8, 63, 10, 39,139, 62,206,243, 15, 63,182,207,136, 62, 44,250, 15, 63,109, 0,154, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,193,239, 62,113, 61,137, 62,219, 89,255, 62,116, 79,139, 62,165,179,252, 62,
+163,140,158, 62, 56,205,239, 62, 8, 71,154, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62,208, 46, 27, 63,149, 35,148, 62, 44,250, 15, 63,109, 0,154, 62,206,243, 15, 63,182,207,136, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,238,166,217, 62,229,221,148, 62, 54, 42,221, 62,
+209, 25,133, 62, 92,193,239, 62,113, 61,137, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,208, 46, 27, 63,
+149, 35,148, 62, 36,177, 27, 63,158,151,156, 62,112, 0, 16, 63,254,246,164, 62, 44,250, 15, 63,109, 0,154, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62, 0,160,216, 62,127, 44,157, 62,238,166,217, 62,
+229,221,148, 62, 56,205,239, 62, 8, 71,154, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62,158,237, 12, 63, 38,241,187, 62,112, 0, 16, 63,254,246,164, 62, 36,177, 27, 63,158,151,156, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62, 15,175,245, 62,188, 14,188, 62,115, 21,216, 62,
+ 14,177,166, 62, 0,160,216, 62,127, 44,157, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
+218, 90, 91, 62,147,210, 3, 63,221, 95, 86, 62,129,211, 3, 63,248,168, 83, 62,170, 33, 8, 63,254,149, 86, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,129,211, 3, 63,248,168, 83, 62,147,210, 3, 63,221, 95, 86, 62, 39,153,253, 62,
+ 27,195, 91, 62, 8, 14,255, 62, 58,232, 86, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,
+246,237, 66, 62,237,221, 8, 63,218, 90, 91, 62,170, 33, 8, 63,254,149, 86, 62, 20,180, 8, 63, 94, 29, 69, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,255, 62, 58,232, 86, 62, 39,153,253, 62, 27,195, 91, 62,104,137,251, 62,
+179, 92, 67, 62, 19,210,253, 62, 55,114, 69, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,
+148, 31, 54, 62, 68,214, 9, 63,246,237, 66, 62, 20,180, 8, 63, 94, 29, 69, 62,168, 82, 6, 63, 80, 43, 57, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 19,210,253, 62, 55,114, 69, 62,104,137,251, 62,179, 92, 67, 62,175, 87, 0, 63,
+251, 90, 54, 62, 48, 68, 1, 63,166, 84, 57, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,193,202, 3, 63,
+214,174, 49, 62,250, 61, 7, 63,148, 31, 54, 62,168, 82, 6, 63, 80, 43, 57, 62,205,202, 3, 63, 8, 22, 54, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 48, 68, 1, 63,166, 84, 57, 62,175, 87, 0, 63,251, 90, 54, 62,193,202, 3, 63,
+214,174, 49, 62,205,202, 3, 63, 8, 22, 54, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,205,202, 3, 63,
+ 8, 22, 54, 62,168, 82, 6, 63, 80, 43, 57, 62,246, 24, 5, 63, 26,150, 66, 62,213,205, 3, 63,220,232, 64, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62, 48, 68, 1, 63,166, 84, 57, 62,205,202, 3, 63,
+ 8, 22, 54, 62,213,205, 3, 63,220,232, 64, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,168, 82, 6, 63,
+ 80, 43, 57, 62, 20,180, 8, 63, 94, 29, 69, 62, 39, 83, 6, 63,191,114, 70, 62,246, 24, 5, 63, 26,150, 66, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 19,210,253, 62, 55,114, 69, 62, 48, 68, 1, 63,
+166, 84, 57, 62, 29,131, 2, 63, 22,172, 66, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20,180, 8, 63,
+ 94, 29, 69, 62,170, 33, 8, 63,254,149, 86, 62, 4,111, 6, 63, 40,172, 76, 62, 39, 83, 6, 63,191,114, 70, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,157, 51, 1, 63,158,218, 76, 62, 8, 14,255, 62, 58,232, 86, 62, 19,210,253, 62,
+ 55,114, 69, 62,185, 75, 1, 63,222,160, 70, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,170, 33, 8, 63,
+254,149, 86, 62,129,211, 3, 63,248,168, 83, 62,234,208, 3, 63,146, 43, 75, 62, 4,111, 6, 63, 40,172, 76, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,234,208, 3, 63,146, 43, 75, 62,129,211, 3, 63,248,168, 83, 62, 8, 14,255, 62,
+ 58,232, 86, 62,157, 51, 1, 63,158,218, 76, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,234,208, 3, 63,
+146, 43, 75, 62,213,205, 3, 63,220,232, 64, 62,246, 24, 5, 63, 26,150, 66, 62, 4,111, 6, 63, 40,172, 76, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62,213,205, 3, 63,220,232, 64, 62,234,208, 3, 63,
+146, 43, 75, 62,157, 51, 1, 63,158,218, 76, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 4,111, 6, 63,
+ 40,172, 76, 62,246, 24, 5, 63, 26,150, 66, 62, 39, 83, 6, 63,191,114, 70, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 29,131, 2, 63, 22,172, 66, 62,157, 51, 1, 63,
+158,218, 76, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 2, 13, 63,
+ 52,215,230, 62,149,244, 14, 63, 4, 42,221, 62, 4,216, 16, 63,160, 24,224, 62,120,200, 15, 63, 84,255,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,119,193,237, 62,190, 38,224, 62,141,144,241, 62,244, 52,221, 62,219,100,245, 62,
+184,230,230, 62, 21,211,239, 62,185, 18,232, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,
+116,163,243, 62, 64, 2, 13, 63, 52,215,230, 62,120,200, 15, 63, 84,255,231, 62,184,171, 16, 63, 40,133,241, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21,211,239, 62,185, 18,232, 62,219,100,245, 62,184,230,230, 62, 0, 45,245, 62,
+206,185,243, 62,218,252,237, 62, 62,160,241, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,
+120,195,255, 62, 71, 25, 13, 63,116,163,243, 62,184,171, 16, 63, 40,133,241, 62, 55, 44, 19, 63, 86, 21,250, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,218,252,237, 62, 62,160,241, 62, 0, 45,245, 62,206,185,243, 62,209,213,236, 62,
+ 4,250,255, 62,153,228,232, 62,154, 67,250, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,149,244, 14, 63,
+ 4, 42,221, 62, 15, 97, 17, 63,220, 34,214, 62,217, 53, 19, 63, 16,211,218, 62, 4,216, 16, 63,160, 24,224, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,233, 62, 66,226,218, 62,217,200,236, 62,134, 49,214, 62,141,144,241, 62,
+244, 52,221, 62,119,193,237, 62,190, 38,224, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
+220, 34,214, 62,165,178, 27, 63,128, 17,208, 62,205,198, 26, 63,124,184,214, 62,217, 53, 19, 63, 16,211,218, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,216,214,217, 62,218,224,214, 62, 6, 24,216, 62,128, 57,208, 62,217,200,236, 62,
+134, 49,214, 62, 8, 14,233, 62, 66,226,218, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,
+128, 17,208, 62, 14,120, 33, 63,166,238,214, 62,156,136, 31, 63,194,138,219, 62,205,198, 26, 63,124,184,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,254, 30,208, 62,204,177,219, 62,168, 75,204, 62, 62, 7,215, 62, 6, 24,216, 62,
+128, 57,208, 62,216,214,217, 62,218,224,214, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14,120, 33, 63,
+166,238,214, 62,140,149, 38, 63, 38, 95,229, 62, 79, 9, 36, 63, 94,224,229, 62,156,136, 31, 63,194,138,219, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,148,192,198, 62,182, 11,230, 62,168,140,193, 62, 94,129,229, 62,168, 75,204, 62,
+ 62, 7,215, 62,254, 30,208, 62,204,177,219, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
+ 38, 95,229, 62, 92, 62, 39, 63,121, 75,240, 62, 14, 49, 36, 63,253, 88,239, 62, 79, 9, 36, 63, 94,224,229, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 97, 71,198, 62,192,149,239, 62,222, 10,192, 62,163,128,240, 62,168,140,193, 62,
+ 94,129,229, 62,148,192,198, 62,182, 11,230, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92, 62, 39, 63,
+121, 75,240, 62, 25,113, 37, 63, 35,157,247, 62,243, 33, 35, 63, 80,143,245, 62, 14, 49, 36, 63,253, 88,239, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 87, 99,200, 62,172,217,245, 62,189,165,195, 62,139,232,247, 62,222, 10,192, 62,
+163,128,240, 62, 97, 71,198, 62,192,149,239, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63,
+ 35,157,247, 62, 96, 49, 30, 63,121,229,254, 62,223, 49, 29, 63,199,140,250, 62,243, 33, 35, 63, 80,143,245, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,124,212, 62,146,215,250, 62,176,116,210, 62,227, 62,255, 62,189,165,195, 62,
+139,232,247, 62, 87, 99,200, 62,172,217,245, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96, 49, 30, 63,
+121,229,254, 62,151,182, 25, 63,130, 9, 1, 63, 50,181, 25, 63,118,111,253, 62,223, 49, 29, 63,199,140,250, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 52,151,219, 62, 68,186,253, 62,213,150,219, 62, 50, 55, 1, 63,176,116,210, 62,
+227, 62,255, 62,147,124,212, 62,146,215,250, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,151,182, 25, 63,
+130, 9, 1, 63,240, 81, 22, 63,114, 70, 1, 63,241,188, 22, 63, 28,149,253, 62, 50,181, 25, 63,118,111,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,212,163,225, 62, 91,215,253, 62,106,128,226, 62,198,111, 1, 63,213,150,219, 62,
+ 50, 55, 1, 63, 52,151,219, 62, 68,186,253, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,
+114, 70, 1, 63,103, 59, 17, 63,120,195,255, 62, 55, 44, 19, 63, 86, 21,250, 62,241,188, 22, 63, 28,149,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,153,228,232, 62,154, 67,250, 62,209,213,236, 62, 4,250,255, 62,106,128,226, 62,
+198,111, 1, 63,212,163,225, 62, 91,215,253, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,241,188, 22, 63,
+ 28,149,253, 62, 55, 44, 19, 63, 86, 21,250, 62, 9,165, 20, 63,248, 99,247, 62, 20, 0, 23, 63, 6, 57,251, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,232,232,229, 62, 74,142,247, 62,153,228,232, 62,154, 67,250, 62,212,163,225, 62,
+ 91,215,253, 62,145, 26,225, 62,114,116,251, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 50,181, 25, 63,
+118,111,253, 62,241,188, 22, 63, 28,149,253, 62, 20, 0, 23, 63, 6, 57,251, 62,130,144, 25, 63,128, 7,251, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,145, 26,225, 62,114,116,251, 62,212,163,225, 62, 91,215,253, 62, 52,151,219, 62,
+ 68,186,253, 62,177,225,219, 62, 67, 75,251, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,223, 49, 29, 63,
+199,140,250, 62, 50,181, 25, 63,118,111,253, 62,130,144, 25, 63,128, 7,251, 62, 80,195, 28, 63, 55,166,248, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,177,225,219, 62, 67, 75,251, 62, 52,151,219, 62, 68,186,253, 62,147,124,212, 62,
+146,215,250, 62,233, 95,213, 62, 20,237,248, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,243, 33, 35, 63,
+ 80,143,245, 62,223, 49, 29, 63,199,140,250, 62, 80,195, 28, 63, 55,166,248, 62, 22,164, 33, 63,102, 75,243, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,233, 95,213, 62, 20,237,248, 62,147,124,212, 62,146,215,250, 62, 87, 99,200, 62,
+172,217,245, 62, 65,114,203, 62,159,143,243, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 36, 63,
+253, 88,239, 62,243, 33, 35, 63, 80,143,245, 62, 22,164, 33, 63,102, 75,243, 62, 30,160, 34, 63,169, 47,238, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 65,114,203, 62,159,143,243, 62, 87, 99,200, 62,172,217,245, 62, 97, 71,198, 62,
+192,149,239, 62,188,128,201, 62,126,110,238, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 79, 9, 36, 63,
+ 94,224,229, 62, 14, 49, 36, 63,253, 88,239, 62, 30,160, 34, 63,169, 47,238, 62,131,144, 34, 63,253, 87,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,188,128,201, 62,126,110,238, 62, 97, 71,198, 62,192,149,239, 62,148,192,198, 62,
+182, 11,230, 62,141,190,201, 62,124,140,231, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156,136, 31, 63,
+194,138,219, 62, 79, 9, 36, 63, 94,224,229, 62,131,144, 34, 63,253, 87,231, 62, 21,208, 30, 63,174,182,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,141,190,201, 62,124,140,231, 62,148,192,198, 62,182, 11,230, 62,254, 30,208, 62,
+204,177,219, 62,168,133,209, 62, 51,221,221, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,205,198, 26, 63,
+124,184,214, 62,156,136, 31, 63,194,138,219, 62, 21,208, 30, 63,174,182,221, 62,128,218, 26, 63, 68,206,217, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,168,133,209, 62, 51,221,221, 62,254, 30,208, 62,204,177,219, 62,216,214,217, 62,
+218,224,214, 62, 11,157,217, 62, 64,243,217, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217, 53, 19, 63,
+ 16,211,218, 62,205,198, 26, 63,124,184,214, 62,128,218, 26, 63, 68,206,217, 62,103, 53, 20, 63,236, 84,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,157,217, 62, 64,243,217, 62,216,214,217, 62,218,224,214, 62, 8, 14,233, 62,
+ 66,226,218, 62, 68, 5,231, 62,234,101,221, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 4,216, 16, 63,
+160, 24,224, 62,217, 53, 19, 63, 16,211,218, 62,103, 53, 20, 63,236, 84,221, 62, 81, 87, 18, 63, 33,175,226, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68, 5,231, 62,234,101,221, 62, 8, 14,233, 62, 66,226,218, 62,119,193,237, 62,
+190, 38,224, 62,180,187,234, 62,249,190,226, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 55, 44, 19, 63,
+ 86, 21,250, 62,184,171, 16, 63, 40,133,241, 62, 98, 68, 18, 63,150,197,240, 62, 9,165, 20, 63,248, 99,247, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 35,197,234, 62,215,226,240, 62,218,252,237, 62, 62,160,241, 62,153,228,232, 62,
+154, 67,250, 62,232,232,229, 62, 74,142,247, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,184,171, 16, 63,
+ 40,133,241, 62,120,200, 15, 63, 84,255,231, 62,161, 4, 18, 63,138,184,232, 62, 98, 68, 18, 63,150,197,240, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,154, 85,235, 62, 92,206,232, 62, 21,211,239, 62,185, 18,232, 62,218,252,237, 62,
+ 62,160,241, 62, 35,197,234, 62,215,226,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120,200, 15, 63,
+ 84,255,231, 62, 4,216, 16, 63,160, 24,224, 62, 81, 87, 18, 63, 33,175,226, 62,161, 4, 18, 63,138,184,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,180,187,234, 62,249,190,226, 62,119,193,237, 62,190, 38,224, 62, 21,211,239, 62,
+185, 18,232, 62,154, 85,235, 62, 92,206,232, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,148,232, 3, 63,
+164, 17, 11, 63, 67,169, 11, 63, 18,197, 11, 63,216,120, 13, 63,160, 81, 23, 63,147, 15, 4, 63,227,248, 23, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 27,245, 62,100,166, 23, 63, 55, 72,248, 62, 91,232, 11, 63,148,232, 3, 63,
+164, 17, 11, 63,147, 15, 4, 63,227,248, 23, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63,
+ 18,197, 11, 63,173,244, 22, 63,236,215, 11, 63, 94,233, 23, 63,186, 60, 16, 63,216,120, 13, 63,160, 81, 23, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,109,130,223, 62,118,165, 16, 63,220, 89,225, 62, 77, 42, 12, 63, 55, 72,248, 62,
+ 91,232, 11, 63, 64, 27,245, 62,100,166, 23, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,
+236,215, 11, 63, 28,105, 26, 63,242,194, 11, 63,220, 56, 28, 63, 66,250, 14, 63, 94,233, 23, 63,186, 60, 16, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,157,161,214, 62,219,110, 15, 63,220, 73,218, 62,169, 31, 12, 63,220, 89,225, 62,
+ 77, 42, 12, 63,109,130,223, 62,118,165, 16, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,
+242,194, 11, 63,220,158, 34, 63,175, 23, 10, 63,109, 44, 39, 63,107,221, 19, 63,220, 56, 28, 63, 66,250, 14, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156, 26,192, 62, 31,139, 20, 63,124,109,201, 62, 72,121, 10, 63,220, 73,218, 62,
+169, 31, 12, 63,157,161,214, 62,219,110, 15, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,158, 34, 63,
+175, 23, 10, 63,238, 88, 46, 63,146,223, 2, 63,242, 80, 56, 63, 44,244, 6, 63,109, 44, 39, 63,107,221, 19, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 61,208,156, 62,204, 16, 7, 63,173, 87,177, 62,102, 9, 3, 63,124,109,201, 62,
+ 72,121, 10, 63,156, 26,192, 62, 31,139, 20, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,238, 88, 46, 63,
+146,223, 2, 63, 62,134, 48, 63, 37,107,249, 62,195,173, 54, 63,239,106,252, 62,242, 80, 56, 63, 44,244, 6, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,202, 36,160, 62, 94, 51,252, 62,172,229,172, 62,116,127,249, 62,173, 87,177, 62,
+102, 9, 3, 63, 61,208,156, 62,204, 16, 7, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 62,134, 48, 63,
+ 37,107,249, 62, 38,229, 50, 63,169, 32,226, 62,154, 88, 53, 63,240,146,221, 62,195,173, 54, 63,239,106,252, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,128,172,162, 62, 17,169,221, 62,196, 39,168, 62,206, 11,226, 62,172,229,172, 62,
+116,127,249, 62,202, 36,160, 62, 94, 51,252, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 38,229, 50, 63,
+169, 32,226, 62, 87, 57, 43, 63,222, 58,206, 62,240,117, 49, 63,164,138,198, 62,154, 88, 53, 63,240,146,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,147,137,172, 62,148, 19,198, 62,130,207,184, 62, 42, 27,206, 62,196, 39,168, 62,
+206, 11,226, 62,128,172,162, 62, 17,169,221, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 87, 57, 43, 63,
+222, 58,206, 62, 91, 94, 37, 63,107,120,187, 62,156,160, 41, 63, 56,175,182, 62,240,117, 49, 63,164,138,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62,156, 28,197, 62,166,130,187, 62,130,207,184, 62,
+ 42, 27,206, 62,147,137,172, 62,148, 19,198, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,165,252, 48, 63,
+133, 33, 85, 62,112, 54, 48, 63, 20, 19, 96, 62,172, 36, 46, 63,208, 7,129, 62,240, 17, 42, 63,129, 84, 97, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62,117,121,175, 62,183,185,106, 62,217, 24,172, 62,
+ 21,237, 92, 62,138, 81,187, 62, 59, 40,103, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,204, 89, 48, 63,
+134,194, 4, 62,165,252, 48, 63,133, 33, 85, 62,240, 17, 42, 63,129, 84, 97, 62,160,125, 37, 63, 50,211, 46, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,138, 81,187, 62, 59, 40,103, 62,217, 24,172, 62, 21,237, 92, 62, 94,197,172, 62,
+109,200, 4, 62, 25,121,195, 62, 46,253, 48, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 11, 44, 20, 63,
+ 20, 26,163, 61,204, 89, 48, 63,134,194, 4, 62,160,125, 37, 63, 50,211, 46, 62, 40, 92, 24, 63,214,184, 21, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0, 25,121,195, 62, 46,253, 48, 62, 94,197,172, 62,109,200, 4, 62,140,122,230, 62,
+202,248,161, 61,216, 13,222, 62,222,116, 22, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,174,254, 16, 63,
+ 94, 45, 34, 62,219,199, 3, 63, 18, 28,229, 61, 11, 44, 20, 63, 20, 26,163, 61, 40, 92, 24, 63,214,184, 21, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,140,122,230, 62,202,248,161, 61,219,199, 3, 63, 18, 28,229, 61,140,248,236, 62,
+182,202, 34, 62,216, 13,222, 62,222,116, 22, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,
+182, 47, 53, 62,174,254, 16, 63, 94, 45, 34, 62, 40, 92, 24, 63,214,184, 21, 62,209, 52, 25, 63, 76,140, 51, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,216, 13,222, 62,222,116, 22, 62,140,248,236, 62,182,202, 34, 62,183,207,227, 62,
+250, 75, 54, 62,229,137,220, 62,185,228, 52, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,137, 57, 22, 63,
+ 81, 93, 61, 62,184,152, 21, 63,182, 47, 53, 62,209, 52, 25, 63, 76,140, 51, 62,193,166, 30, 63,114,168, 73, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,229,137,220, 62,185,228, 52, 62,183,207,227, 62,250, 75, 54, 62,122,152,226, 62,
+190,166, 62, 62, 54,198,209, 62, 18,240, 75, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250,249, 22, 63,
+160,251, 88, 62,137, 57, 22, 63, 81, 93, 61, 62,193,166, 30, 63,114,168, 73, 62, 75, 0, 36, 63,229, 47,116, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 54,198,209, 62, 18,240, 75, 62,122,152,226, 62,190,166, 62, 62, 90, 83,225, 62,
+ 21,153, 90, 62,211,231,199, 62,216,237,119, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,193,166, 30, 63,
+114,168, 73, 62,160,125, 37, 63, 50,211, 46, 62,240, 17, 42, 63,129, 84, 97, 62, 75, 0, 36, 63,229, 47,116, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138, 81,187, 62, 59, 40,103, 62, 25,121,195, 62, 46,253, 48, 62, 54,198,209, 62,
+ 18,240, 75, 62,211,231,199, 62,216,237,119, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,193,166, 30, 63,
+114,168, 73, 62,209, 52, 25, 63, 76,140, 51, 62, 40, 92, 24, 63,214,184, 21, 62,160,125, 37, 63, 50,211, 46, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,216, 13,222, 62,222,116, 22, 62,229,137,220, 62,185,228, 52, 62, 54,198,209, 62,
+ 18,240, 75, 62, 25,121,195, 62, 46,253, 48, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 37,163, 36, 63,
+191,168,140, 62, 75, 0, 36, 63,229, 47,116, 62,240, 17, 42, 63,129, 84, 97, 62,172, 36, 46, 63,208, 7,129, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138, 81,187, 62, 59, 40,103, 62,211,231,199, 62,216,237,119, 62, 6, 64,199, 62,
+105, 6,142, 62, 76, 71,181, 62,204,200,131, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62,250,249, 22, 63,160,251, 88, 62, 75, 0, 36, 63,229, 47,116, 62, 37,163, 36, 63,191,168,140, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,211,231,199, 62,216,237,119, 62, 90, 83,225, 62, 21,153, 90, 62, 54, 42,221, 62,
+209, 25,133, 62, 6, 64,199, 62,105, 6,142, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,208, 46, 27, 63,
+149, 35,148, 62, 91, 60, 36, 63,221,222,150, 62,222,170, 33, 63, 74,126,158, 62, 36,177, 27, 63,158,151,156, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62,150,245,199, 62, 85, 15,152, 62,238,166,217, 62,
+229,221,148, 62, 0,160,216, 62,127, 44,157, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62, 37,163, 36, 63,191,168,140, 62, 91, 60, 36, 63,221,222,150, 62,208, 46, 27, 63,149, 35,148, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62, 6, 64,199, 62,105, 6,142, 62, 54, 42,221, 62,
+209, 25,133, 62,238,166,217, 62,229,221,148, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62, 36,177, 27, 63,158,151,156, 62,222,170, 33, 63, 74,126,158, 62,102,212, 31, 63,144,192,164, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62, 0,160,216, 62,127, 44,157, 62,115, 21,216, 62,
+ 14,177,166, 62, 17,119,208, 62,201, 65,165, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62,102,212, 31, 63,144,192,164, 62,156,160, 41, 63, 56,175,182, 62, 91, 94, 37, 63,107,120,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62, 17,119,208, 62,201, 65,165, 62,115, 21,216, 62,
+ 14,177,166, 62,156, 28,197, 62,166,130,187, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,104,119,194, 62,
+164,189, 82, 63, 23, 73,212, 62,152,239, 90, 63,100,192,205, 62, 46,238, 97, 63, 38, 56,185, 62, 72,154, 91, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,228, 94,141, 62, 86,234,100, 63, 84, 66,150, 62,114,154, 94, 63,230, 86,173, 62,
+ 79, 66, 98, 63, 20,143,162, 62, 44,173,106, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 72,122, 87, 63,
+216, 8, 62, 62,202,106, 84, 63,137,185,113, 62,226, 77, 72, 63,204, 21,121, 62,158,225, 71, 63,113, 34, 68, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,132, 32,137, 62,181, 65,121, 62,168,179,107, 62,139,127,103, 62,210,147,114, 62,
+212,116, 61, 62,248,125,142, 62, 30, 4, 80, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,158,225, 71, 63,
+113, 34, 68, 62,226, 77, 72, 63,204, 21,121, 62, 8, 7, 51, 63, 5,186,130, 62, 3,166, 49, 63,232, 57, 96, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 18,197,172, 62, 41,112,133, 62,132, 32,137, 62,181, 65,121, 62,248,125,142, 62,
+ 30, 4, 80, 62,121,228,174, 62, 52, 79,109, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 3,166, 49, 63,
+232, 57, 96, 62, 8, 7, 51, 63, 5,186,130, 62,172, 36, 46, 63,208, 7,129, 62,112, 54, 48, 63, 20, 19, 96, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62, 18,197,172, 62, 41,112,133, 62,121,228,174, 62,
+ 52, 79,109, 62,117,121,175, 62,183,185,106, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 37,163, 36, 63,
+191,168,140, 62,172, 36, 46, 63,208, 7,129, 62, 8, 7, 51, 63, 5,186,130, 62, 91, 60, 36, 63,221,222,150, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 18,197,172, 62, 41,112,133, 62, 76, 71,181, 62,204,200,131, 62, 6, 64,199, 62,
+105, 6,142, 62,150,245,199, 62, 85, 15,152, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,154, 88, 53, 63,
+240,146,221, 62,240,117, 49, 63,164,138,198, 62,224, 19, 69, 63, 24, 68,190, 62, 53, 64, 74, 63,171, 31,224, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,250, 78,134, 62,148,213,186, 62,147,137,172, 62,148, 19,198, 62,128,172,162, 62,
+ 17,169,221, 62,184,112,114, 62,248,169,220, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 54, 74,214, 62,
+ 20, 55, 70, 63, 48,130,233, 62,188, 69, 83, 63, 23, 73,212, 62,152,239, 90, 63,104,119,194, 62,164,189, 82, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 84, 66,150, 62,114,154, 94, 63, 66, 1,153, 62,245,149, 81, 63, 38, 56,185, 62,
+102,110, 83, 63,230, 86,173, 62, 79, 66, 98, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,106,242, 66, 63,
+202, 94, 25, 63,190,100, 70, 63,222,234, 15, 63, 90,189, 77, 63,233, 88, 17, 63, 8,206, 74, 63, 88,118, 27, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 22, 32, 96, 62, 66, 60, 16, 63, 86, 87,125, 62,174, 5, 15, 63, 78,187,132, 62,
+180, 44, 24, 63, 26, 79,108, 62,124, 1, 26, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8,206, 74, 63,
+ 88,118, 27, 63, 90,189, 77, 63,233, 88, 17, 63, 72,139, 85, 63,103, 51, 19, 63,220,119, 85, 63, 77, 71, 31, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64,199, 64, 62, 26, 40, 18, 63, 22, 32, 96, 62, 66, 60, 16, 63, 26, 79,108, 62,
+124, 1, 26, 63, 44,191, 67, 62, 90, 89, 30, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,119, 85, 63,
+ 77, 71, 31, 63, 72,139, 85, 63,103, 51, 19, 63,228,213,100, 63, 72,156, 20, 63, 18, 82, 96, 63,128,133, 34, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,226, 50, 1, 62,184, 68, 20, 63, 64,199, 64, 62, 26, 40, 18, 63, 44,191, 67, 62,
+ 90, 89, 30, 63,194,204, 24, 62, 32,186, 34, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,242, 80, 56, 63,
+ 44,244, 6, 63,195,173, 54, 63,239,106,252, 62,115,205, 60, 63,213,150,253, 62,166, 14, 64, 63, 81, 80, 4, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,190, 85,147, 62, 91,176,252, 62,202, 36,160, 62, 94, 51,252, 62, 61,208,156, 62,
+204, 16, 7, 63,160,121,140, 62, 74,197, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,166, 14, 64, 63,
+ 81, 80, 4, 63,115,205, 60, 63,213,150,253, 62, 68,103, 73, 63,233,248, 0, 63,248, 12, 75, 63, 64,206, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62,190, 85,147, 62, 91,176,252, 62,160,121,140, 62,
+ 74,197, 3, 63, 78,135,107, 62, 88,182, 7, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,248, 12, 75, 63,
+ 64,206, 8, 63, 68,103, 73, 63,233,248, 0, 63,239,151, 82, 63, 86,223, 3, 63,181,227, 82, 63,189,102, 11, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,144, 59,115, 62,102,143,255, 62, 78,135,107, 62,
+ 88,182, 7, 63,202, 98, 75, 62,108, 43, 10, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,181,227, 82, 63,
+189,102, 11, 63,239,151, 82, 63, 86,223, 3, 63, 92,224, 91, 63,239,144, 5, 63,161,148, 90, 63,146, 95, 13, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,178, 40, 38, 62, 14,230, 3, 63, 82, 17, 77, 62,162, 98, 2, 63,202, 98, 75, 62,
+108, 43, 10, 63, 10,162, 43, 62, 8, 50, 12, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,
+105, 76, 2, 63,170,179,103, 63,142,105, 12, 63,161,148, 90, 63,146, 95, 13, 63, 92,224, 91, 63,239,144, 5, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 10,162, 43, 62, 8, 50, 12, 63,168, 41,231, 61,158, 83, 11, 63,116,128,234, 61,
+200, 39, 0, 63,178, 40, 38, 62, 14,230, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,213,100, 63,
+ 72,156, 20, 63, 72,139, 85, 63,103, 51, 19, 63,161,148, 90, 63,146, 95, 13, 63,170,179,103, 63,142,105, 12, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 10,162, 43, 62, 8, 50, 12, 63, 64,199, 64, 62, 26, 40, 18, 63,226, 50, 1, 62,
+184, 68, 20, 63,168, 41,231, 61,158, 83, 11, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,139, 85, 63,
+103, 51, 19, 63, 90,189, 77, 63,233, 88, 17, 63,181,227, 82, 63,189,102, 11, 63,161,148, 90, 63,146, 95, 13, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,202, 98, 75, 62,108, 43, 10, 63, 22, 32, 96, 62, 66, 60, 16, 63, 64,199, 64, 62,
+ 26, 40, 18, 63, 10,162, 43, 62, 8, 50, 12, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 90,189, 77, 63,
+233, 88, 17, 63,190,100, 70, 63,222,234, 15, 63,248, 12, 75, 63, 64,206, 8, 63,181,227, 82, 63,189,102, 11, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,135,107, 62, 88,182, 7, 63, 86, 87,125, 62,174, 5, 15, 63, 22, 32, 96, 62,
+ 66, 60, 16, 63,202, 98, 75, 62,108, 43, 10, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,190,100, 70, 63,
+222,234, 15, 63, 82,235, 60, 63, 27, 12, 12, 63,166, 14, 64, 63, 81, 80, 4, 63,248, 12, 75, 63, 64,206, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,121,140, 62, 74,197, 3, 63, 78,230,145, 62,148,225, 11, 63, 86, 87,125, 62,
+174, 5, 15, 63, 78,135,107, 62, 88,182, 7, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 31,118, 57, 63,
+230, 79, 12, 63,242, 80, 56, 63, 44,244, 6, 63,166, 14, 64, 63, 81, 80, 4, 63, 82,235, 60, 63, 27, 12, 12, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,160,121,140, 62, 74,197, 3, 63, 61,208,156, 62,204, 16, 7, 63, 0,199,152, 62,
+ 13,133, 12, 63, 78,230,145, 62,148,225, 11, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,195,240, 57, 63,
+ 10,138, 23, 63, 82,235, 60, 63, 27, 12, 12, 63,190,100, 70, 63,222,234, 15, 63,106,242, 66, 63,202, 94, 25, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 86, 87,125, 62,174, 5, 15, 63, 78,230,145, 62,148,225, 11, 63,247, 7,150, 62,
+ 96, 12, 23, 63, 78,187,132, 62,180, 44, 24, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,216,120, 13, 63,
+160, 81, 23, 63, 94,233, 23, 63,186, 60, 16, 63,220, 56, 28, 63, 66,250, 14, 63,109, 44, 39, 63,107,221, 19, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,157,161,214, 62,219,110, 15, 63,109,130,223, 62,118,165, 16, 63, 64, 27,245, 62,
+100,166, 23, 63,156, 26,192, 62, 31,139, 20, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,176, 29, 56, 63,
+ 88,206, 20, 63, 31,118, 57, 63,230, 79, 12, 63, 82,235, 60, 63, 27, 12, 12, 63,195,240, 57, 63, 10,138, 23, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,230,145, 62,148,225, 11, 63, 0,199,152, 62, 13,133, 12, 63,239,211,153, 62,
+220,159, 20, 63,247, 7,150, 62, 96, 12, 23, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 48,148, 54, 63,
+220,206, 22, 63,176, 29, 56, 63, 88,206, 20, 63,195,240, 57, 63, 10,138, 23, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,247, 7,150, 62, 96, 12, 23, 63,239,211,153, 62,220,159, 20, 63,108,106,156, 62,
+146,154, 22, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,195,173, 54, 63,
+239,106,252, 62,154, 88, 53, 63,240,146,221, 62, 53, 64, 74, 63,171, 31,224, 62,115,205, 60, 63,213,150,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,184,112,114, 62,248,169,220, 62,128,172,162, 62, 17,169,221, 62,202, 36,160, 62,
+ 94, 51,252, 62,190, 85,147, 62, 91,176,252, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0, 53, 64, 74, 63,
+171, 31,224, 62,217,106, 81, 63, 14,214,232, 62, 68,103, 73, 63,233,248, 0, 63,115,205, 60, 63,213,150,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62, 88, 93, 84, 62, 50,105,228, 62,184,112,114, 62,
+248,169,220, 62,190, 85,147, 62, 91,176,252, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
+ 14,214,232, 62,106,154, 93, 63,226, 26,233, 62,239,151, 82, 63, 86,223, 3, 63, 68,103, 73, 63,233,248, 0, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,128, 1, 33, 62, 70,210,226, 62, 88, 93, 84, 62,
+ 50,105,228, 62,144, 59,115, 62,102,143,255, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,
+105, 76, 2, 63, 92,224, 91, 63,239,144, 5, 63,239,151, 82, 63, 86,223, 3, 63,106,154, 93, 63,226, 26,233, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,178, 40, 38, 62, 14,230, 3, 63,116,128,234, 61,
+200, 39, 0, 63,128, 1, 33, 62, 70,210,226, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 7, 51, 63,
+ 5,186,130, 62,226, 77, 72, 63,204, 21,121, 62,154,254, 73, 63,178, 82,140, 62, 90,188, 56, 63,103,207,159, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,249,249,130, 62,246,175,137, 62,132, 32,137, 62,181, 65,121, 62, 18,197,172, 62,
+ 41,112,133, 62,192, 5,161, 62,228, 40,159, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63,
+ 24, 68,190, 62, 90,188, 56, 63,103,207,159, 62,154,254, 73, 63,178, 82,140, 62,216,217, 77, 63, 7,228,157, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,249,249,130, 62,246,175,137, 62,192, 5,161, 62,228, 40,159, 62,250, 78,134, 62,
+148,213,186, 62,154,118,111, 62,120,108,152, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,240,117, 49, 63,
+164,138,198, 62,156,160, 41, 63, 56,175,182, 62, 90,188, 56, 63,103,207,159, 62,224, 19, 69, 63, 24, 68,190, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192, 5,161, 62,228, 40,159, 62,202,212,188, 62,245,163,182, 62,147,137,172, 62,
+148, 19,198, 62,250, 78,134, 62,148,213,186, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63,
+ 56,175,182, 62,222,170, 33, 63, 74,126,158, 62, 91, 60, 36, 63,221,222,150, 62, 90,188, 56, 63,103,207,159, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62, 72,234,204, 62, 56, 63,159, 62,202,212,188, 62,
+245,163,182, 62,192, 5,161, 62,228, 40,159, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 91, 60, 36, 63,
+221,222,150, 62, 8, 7, 51, 63, 5,186,130, 62, 90,188, 56, 63,103,207,159, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192, 5,161, 62,228, 40,159, 62, 18,197,172, 62, 41,112,133, 62,150,245,199, 62,
+ 85, 15,152, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63,
+ 56,175,182, 62,102,212, 31, 63,144,192,164, 62,222,170, 33, 63, 74,126,158, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62, 17,119,208, 62,201, 65,165, 62,202,212,188, 62,
+245,163,182, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,
+129,140, 96, 63, 42,135,227, 62, 58, 2,101, 63,136,168,219, 62, 30,236, 95, 63,135, 30,238, 62,200, 41, 90, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,240,137, 62, 90,226, 93, 63,110,103,122, 62,236,255, 92, 63, 74, 84,120, 62,
+104, 32, 83, 63, 32,193,138, 62, 16, 3, 83, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 48,130,233, 62,
+188, 69, 83, 63,135, 30,238, 62,200, 41, 90, 63,136,168,219, 62, 30,236, 95, 63, 23, 73,212, 62,152,239, 90, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,240,137, 62, 90,226, 93, 63, 32,193,138, 62, 16, 3, 83, 63, 66, 1,153, 62,
+245,149, 81, 63, 84, 66,150, 62,114,154, 94, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,217, 77, 63,
+ 7,228,157, 62,154,254, 73, 63,178, 82,140, 62, 33, 61, 90, 63,195,207,124, 62,160,225, 90, 63,110,121,137, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 98,207, 81, 62,109, 1,110, 62,249,249,130, 62,246,175,137, 62,154,118,111, 62,
+120,108,152, 62,166,125, 74, 62,252, 30,130, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,226, 77, 72, 63,
+204, 21,121, 62,202,106, 84, 63,137,185,113, 62, 33, 61, 90, 63,195,207,124, 62,154,254, 73, 63,178, 82,140, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 98,207, 81, 62,109, 1,110, 62,168,179,107, 62,139,127,103, 62,132, 32,137, 62,
+181, 65,121, 62,249,249,130, 62,246,175,137, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 23, 73,212, 62,
+152,239, 90, 63,136,168,219, 62, 30,236, 95, 63,100,192,205, 62, 46,238, 97, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,228, 94,141, 62, 86,234,100, 63,216,240,137, 62, 90,226, 93, 63, 84, 66,150, 62,
+114,154, 94, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 31,178,109, 63,
+224, 68,228, 62, 46,178,102, 63,100,184,232, 62,100,251,101, 63,238,198,227, 62, 94,173,107, 63,168,130,225, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,209,249, 61, 70,134,219, 62,120,216,242, 61,124, 40,225, 62, 28, 27,177, 61,
+ 42,240,219, 62, 76,131,196, 61,196, 97,216, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 31,178,109, 63,
+224, 68,228, 62, 94,173,107, 63,168,130,225, 62,144,102,114, 63,198, 23,220, 62, 41, 76,116, 63,139,153,222, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,163,120, 61, 58,252,208, 62, 76,131,196, 61,196, 97,216, 62, 28, 27,177, 61,
+ 42,240,219, 62,128,183, 73, 61, 84,108,213, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 41, 76,116, 63,
+139,153,222, 62,144,102,114, 63,198, 23,220, 62, 84, 87,117, 63,221,255,211, 62,183,115,119, 63,140, 49,215, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144, 29, 55, 61,207,183,194, 62, 56,163,120, 61, 58,252,208, 62,128,183, 73, 61,
+ 84,108,213, 62,224,111,231, 60,100,142,198, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,183,115,119, 63,
+140, 49,215, 62, 84, 87,117, 63,221,255,211, 62,150, 20,118, 63, 60,110,196, 62, 49, 12,122, 63,246, 8,197, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96,197,103, 61, 15,206,170, 62,144, 29, 55, 61,207,183,194, 62,224,111,231, 60,
+100,142,198, 62,240, 54, 16, 61,120, 4,167, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 49, 12,122, 63,
+246, 8,197, 62,150, 20,118, 63, 60,110,196, 62, 17,155,108, 63,130,201,178, 62, 84,190,110, 63,223, 77,172, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,148,252,246, 61,164,116,160, 62, 96,197,103, 61, 15,206,170, 62,240, 54, 16, 61,
+120, 4,167, 62, 8, 66,246, 61, 28,161,152, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84,190,110, 63,
+223, 77,172, 62, 17,155,108, 63,130,201,178, 62, 21,180, 92, 63,202, 95,173, 62,151, 5, 90, 63,138, 61,167, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144,216, 54, 62, 35, 76,163, 62,148,252,246, 61,164,116,160, 62, 8, 66,246, 61,
+ 28,161,152, 62,194,251, 66, 62,163,102,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 17,155,108, 63,
+130,201,178, 62,198,132,109, 63,182,157,186, 62, 68, 32, 97, 63,192, 12,178, 62, 21,180, 92, 63,202, 95,173, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 48,185, 36, 62, 16, 7,166, 62, 40, 91,221, 61, 4,194,167, 62,148,252,246, 61,
+164,116,160, 62,144,216, 54, 62, 35, 76,163, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,150, 20,118, 63,
+ 60,110,196, 62, 84,225,115, 63,208, 85,198, 62,198,132,109, 63,182,157,186, 62, 17,155,108, 63,130,201,178, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 40, 91,221, 61, 4,194,167, 62,244,221,134, 61,121,164,175, 62, 96,197,103, 61,
+ 15,206,170, 62,148,252,246, 61,164,116,160, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84, 87,117, 63,
+221,255,211, 62,222, 48,116, 63,169, 8,209, 62, 84,225,115, 63,208, 85,198, 62,150, 20,118, 63, 60,110,196, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,244,221,134, 61,121,164,175, 62,160,108, 93, 61, 17,207,190, 62,144, 29, 55, 61,
+207,183,194, 62, 96,197,103, 61, 15,206,170, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144,102,114, 63,
+198, 23,220, 62,174,151,113, 63, 26,229,214, 62,222, 48,116, 63,169, 8,209, 62, 84, 87,117, 63,221,255,211, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,108, 93, 61, 17,207,190, 62, 12,155,135, 61,166, 39,201, 62, 56,163,120, 61,
+ 58,252,208, 62,144, 29, 55, 61,207,183,194, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,
+168,130,225, 62,228,239,107, 63, 62, 59,218, 62,174,151,113, 63, 26,229,214, 62,144,102,114, 63,198, 23,220, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 12,155,135, 61,166, 39,201, 62,128, 47,195, 61, 6, 11,207, 62, 76,131,196, 61,
+196, 97,216, 62, 56,163,120, 61, 58,252,208, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,
+168,130,225, 62,100,251,101, 63,238,198,227, 62, 71,205,102, 63,132, 94,219, 62,228,239,107, 63, 62, 59,218, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,157,244, 61,157,137,209, 62, 68,209,249, 61, 70,134,219, 62, 76,131,196, 61,
+196, 97,216, 62,128, 47,195, 61, 6, 11,207, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63,
+ 24, 68,190, 62,216,217, 77, 63, 7,228,157, 62,236, 35, 85, 63,164,201,181, 62, 56, 92, 78, 63,177,114,188, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,122, 91, 80, 62, 72, 18,174, 62,154,118,111, 62,120,108,152, 62,250, 78,134, 62,
+148,213,186, 62,162,163,104, 62,150,180,182, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,216,217, 77, 63,
+ 7,228,157, 62,151, 5, 90, 63,138, 61,167, 62, 21,180, 92, 63,202, 95,173, 62,236, 35, 85, 63,164,201,181, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,144,216, 54, 62, 35, 76,163, 62,194,251, 66, 62,163,102,158, 62,154,118,111, 62,
+120,108,152, 62,122, 91, 80, 62, 72, 18,174, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 53, 64, 74, 63,
+171, 31,224, 62,224, 19, 69, 63, 24, 68,190, 62, 56, 92, 78, 63,177,114,188, 62,217,106, 81, 63, 14,214,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,162,163,104, 62,150,180,182, 62,250, 78,134, 62,148,213,186, 62,184,112,114, 62,
+248,169,220, 62, 88, 93, 84, 62, 50,105,228, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,106,154, 93, 63,
+226, 26,233, 62,196,229, 94, 63,128,195,224, 62,100,251,101, 63,238,198,227, 62, 46,178,102, 63,100,184,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,209,249, 61, 70,134,219, 62,108,187, 28, 62, 48, 86,217, 62,128, 1, 33, 62,
+ 70,210,226, 62,120,216,242, 61,124, 40,225, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21,180, 92, 63,
+202, 95,173, 62, 68, 32, 97, 63,192, 12,178, 62, 9,215, 94, 63, 4, 54,186, 62,236, 35, 85, 63,164,201,181, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,122, 41, 62, 16, 58,175, 62, 48,185, 36, 62, 16, 7,166, 62,144,216, 54, 62,
+ 35, 76,163, 62,122, 91, 80, 62, 72, 18,174, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,230, 78, 95, 63,
+ 4,233,189, 62, 32,188, 86, 63, 44, 62,190, 62,236, 35, 85, 63,164,201,181, 62, 9,215, 94, 63, 4, 54,186, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,122, 91, 80, 62, 72, 18,174, 62, 78,118, 71, 62, 27, 49,182, 62, 52,225, 37, 62,
+ 40, 12,179, 62, 60,122, 41, 62, 16, 58,175, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63,
+ 0,166,197, 62, 32,188, 86, 63, 44, 62,190, 62,230, 78, 95, 63, 4,233,189, 62,226, 13, 95, 63, 37,152,194, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 52,225, 37, 62, 40, 12,179, 62, 78,118, 71, 62, 27, 49,182, 62,142,143, 45, 62,
+237, 37,188, 62,106,230, 36, 62,222, 27,184, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,
+100,122,207, 62,108,249, 90, 63, 58,199,212, 62, 32,188, 86, 63, 44, 62,190, 62, 70,166, 92, 63, 0,166,197, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,110, 56, 48, 62,230, 43,205, 62,174,250, 30, 62,
+ 26, 12,198, 62,142,143, 45, 62,237, 37,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,196,229, 94, 63,
+128,195,224, 62,108,249, 90, 63, 58,199,212, 62,248, 90, 95, 63,100,122,207, 62, 92,104, 98, 63,197,136,215, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,174,250, 30, 62, 26, 12,198, 62,110, 56, 48, 62,230, 43,205, 62,108,187, 28, 62,
+ 48, 86,217, 62,212, 59, 15, 62,224, 50,206, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,100,251,101, 63,
+238,198,227, 62,196,229, 94, 63,128,195,224, 62, 92,104, 98, 63,197,136,215, 62, 71,205,102, 63,132, 94,219, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,212, 59, 15, 62,224, 50,206, 62,108,187, 28, 62, 48, 86,217, 62, 68,209,249, 61,
+ 70,134,219, 62,192,157,244, 61,157,137,209, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
+ 14,214,232, 62,108,249, 90, 63, 58,199,212, 62,196,229, 94, 63,128,195,224, 62,106,154, 93, 63,226, 26,233, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,108,187, 28, 62, 48, 86,217, 62,110, 56, 48, 62,230, 43,205, 62, 88, 93, 84, 62,
+ 50,105,228, 62,128, 1, 33, 62, 70,210,226, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
+ 14,214,232, 62, 56, 92, 78, 63,177,114,188, 62, 32,188, 86, 63, 44, 62,190, 62,108,249, 90, 63, 58,199,212, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,162,163,104, 62,150,180,182, 62, 88, 93, 84, 62,
+ 50,105,228, 62,110, 56, 48, 62,230, 43,205, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56, 92, 78, 63,
+177,114,188, 62,236, 35, 85, 63,164,201,181, 62, 32,188, 86, 63, 44, 62,190, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,122, 91, 80, 62, 72, 18,174, 62,162,163,104, 62,
+150,180,182, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71,205,102, 63,
+132, 94,219, 62, 92,104, 98, 63,197,136,215, 62,182,109,100, 63,149,255,210, 62, 54, 86,104, 63,209,241,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,107, 7, 62, 34,103,200, 62,212, 59, 15, 62,224, 50,206, 62,192,157,244, 61,
+157,137,209, 62, 8, 2,232, 61, 20,214,203, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,104, 98, 63,
+197,136,215, 62,248, 90, 95, 63,100,122,207, 62,112,206, 97, 63, 10,202,204, 62,182,109,100, 63,149,255,210, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62,174,250, 30, 62, 26, 12,198, 62,212, 59, 15, 62,
+224, 50,206, 62,160,107, 7, 62, 34,103,200, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,
+100,122,207, 62, 70,166, 92, 63, 0,166,197, 62, 82,241, 94, 63, 40,103,198, 62,112,206, 97, 63, 10,202,204, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20,225, 35, 62, 39, 50,188, 62,142,143, 45, 62,237, 37,188, 62,174,250, 30, 62,
+ 26, 12,198, 62, 64, 68, 21, 62,107, 55,194, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63,
+ 0,166,197, 62,226, 13, 95, 63, 37,152,194, 62,118, 1, 97, 63, 47,226,195, 62, 82,241, 94, 63, 40,103,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 12, 43, 28, 62,186,177,184, 62,106,230, 36, 62,222, 27,184, 62,142,143, 45, 62,
+237, 37,188, 62, 20,225, 35, 62, 39, 50,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,226, 13, 95, 63,
+ 37,152,194, 62,230, 78, 95, 63, 4,233,189, 62, 51,113, 97, 63, 92,151,189, 62,118, 1, 97, 63, 47,226,195, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,104, 67, 29, 62, 58,199,177, 62, 52,225, 37, 62, 40, 12,179, 62,106,230, 36, 62,
+222, 27,184, 62, 12, 43, 28, 62,186,177,184, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,230, 78, 95, 63,
+ 4,233,189, 62, 9,215, 94, 63, 4, 54,186, 62, 96, 69, 96, 63,152,133,187, 62, 51,113, 97, 63, 92,151,189, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,140, 14, 35, 62, 33, 19,176, 62, 60,122, 41, 62, 16, 58,175, 62, 52,225, 37, 62,
+ 40, 12,179, 62,104, 67, 29, 62, 58,199,177, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 9,215, 94, 63,
+ 4, 54,186, 62, 68, 32, 97, 63,192, 12,178, 62,112, 91, 98, 63,149,128,182, 62, 96, 69, 96, 63,152,133,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,107, 29, 62, 95,230,169, 62, 48,185, 36, 62, 16, 7,166, 62, 60,122, 41, 62,
+ 16, 58,175, 62,140, 14, 35, 62, 33, 19,176, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,239,107, 63,
+ 62, 59,218, 62, 71,205,102, 63,132, 94,219, 62, 54, 86,104, 63,209,241,214, 62, 34, 27,109, 63,155,254,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 2,232, 61, 20,214,203, 62,192,157,244, 61,157,137,209, 62,128, 47,195, 61,
+ 6, 11,207, 62, 36,174,184, 61,216,130,202, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,174,151,113, 63,
+ 26,229,214, 62,228,239,107, 63, 62, 59,218, 62, 34, 27,109, 63,155,254,214, 62, 69,134,113, 63,156, 82,212, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 36,174,184, 61,216,130,202, 62,128, 47,195, 61, 6, 11,207, 62, 12,155,135, 61,
+166, 39,201, 62, 60,114,138, 61, 28, 61,197, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,222, 48,116, 63,
+169, 8,209, 62,174,151,113, 63, 26,229,214, 62, 69,134,113, 63,156, 82,212, 62, 42,143,114, 63, 24,168,207, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,114,138, 61, 28, 61,197, 62, 12,155,135, 61,166, 39,201, 62,160,108, 93, 61,
+ 17,207,190, 62,184, 85,132, 61, 22,211,189, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84,225,115, 63,
+208, 85,198, 62,222, 48,116, 63,169, 8,209, 62, 42,143,114, 63, 24,168,207, 62,203,125,114, 63, 96,114,200, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,184, 85,132, 61, 22,211,189, 62,160,108, 93, 61, 17,207,190, 62,244,221,134, 61,
+121,164,175, 62, 16,152,145, 61, 84,214,179, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,198,132,109, 63,
+182,157,186, 62, 84,225,115, 63,208, 85,198, 62,203,125,114, 63, 96,114,200, 62,177,192,109, 63,152,240,190, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 16,152,145, 61, 84,214,179, 62,244,221,134, 61,121,164,175, 62, 40, 91,221, 61,
+ 4,194,167, 62, 64,226,208, 61,232, 58,172, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68, 32, 97, 63,
+192, 12,178, 62,198,132,109, 63,182,157,186, 62,177,192,109, 63,152,240,190, 62,112, 91, 98, 63,149,128,182, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64,226,208, 61,232, 58,172, 62, 40, 91,221, 61, 4,194,167, 62, 48,185, 36, 62,
+ 16, 7,166, 62,228,107, 29, 62, 95,230,169, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,118, 1, 97, 63,
+ 47,226,195, 62, 51,113, 97, 63, 92,151,189, 62,215,139,102, 63, 15,109,193, 62, 54, 47,100, 63,186,115,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,104, 67, 29, 62, 58,199,177, 62, 12, 43, 28, 62,
+186,177,184, 62, 50, 97, 13, 62, 50, 42,186, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 54, 47,100, 63,
+186,115,198, 62,215,139,102, 63, 15,109,193, 62,174,241,105, 63,204, 8,200, 62, 71,233,103, 63,178, 42,204, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,171,229, 61, 41, 42,185, 62, 92,169, 5, 62,168,115,179, 62, 50, 97, 13, 62,
+ 50, 42,186, 62, 92,248,243, 61, 96, 22,191, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71,233,103, 63,
+178, 42,204, 62,174,241,105, 63,204, 8,200, 62, 51, 37,108, 63,249, 3,205, 62, 56,212,106, 63, 96,238,208, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,228,171,229, 61, 41, 42,185, 62, 92,248,243, 61,
+ 96, 22,191, 62,160,209,211, 61,108,159,195, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,212,106, 63,
+ 96,238,208, 62, 51, 37,108, 63,249, 3,205, 62, 56, 73,110, 63,186,119,206, 62, 46,191,109, 63, 92, 64,210, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,120, 99,202, 61,192, 49,190, 62,160,209,211, 61,
+108,159,195, 62,196,129,181, 61,204, 14,196, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,
+155,254,214, 62, 54, 86,104, 63,209,241,214, 62, 56,212,106, 63, 96,238,208, 62, 46,191,109, 63, 92, 64,210, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,209,211, 61,108,159,195, 62, 8, 2,232, 61, 20,214,203, 62, 36,174,184, 61,
+216,130,202, 62,196,129,181, 61,204, 14,196, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,
+149,255,210, 62, 71,233,103, 63,178, 42,204, 62, 56,212,106, 63, 96,238,208, 62, 54, 86,104, 63,209,241,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,209,211, 61,108,159,195, 62, 92,248,243, 61, 96, 22,191, 62,160,107, 7, 62,
+ 34,103,200, 62, 8, 2,232, 61, 20,214,203, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,
+149,255,210, 62,112,206, 97, 63, 10,202,204, 62, 54, 47,100, 63,186,115,198, 62, 71,233,103, 63,178, 42,204, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 50, 97, 13, 62, 50, 42,186, 62, 64, 68, 21, 62,107, 55,194, 62,160,107, 7, 62,
+ 34,103,200, 62, 92,248,243, 61, 96, 22,191, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,118, 1, 97, 63,
+ 47,226,195, 62, 54, 47,100, 63,186,115,198, 62,112,206, 97, 63, 10,202,204, 62, 82,241, 94, 63, 40,103,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62, 50, 97, 13, 62, 50, 42,186, 62, 12, 43, 28, 62,
+186,177,184, 62, 20,225, 35, 62, 39, 50,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96, 69, 96, 63,
+152,133,187, 62,112, 91, 98, 63,149,128,182, 62,215,139,102, 63, 15,109,193, 62, 51,113, 97, 63, 92,151,189, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,228,107, 29, 62, 95,230,169, 62,140, 14, 35, 62,
+ 33, 19,176, 62,104, 67, 29, 62, 58,199,177, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,177,192,109, 63,
+152,240,190, 62,174,241,105, 63,204, 8,200, 62,215,139,102, 63, 15,109,193, 62,112, 91, 98, 63,149,128,182, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,228,171,229, 61, 41, 42,185, 62, 64,226,208, 61,
+232, 58,172, 62,228,107, 29, 62, 95,230,169, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,203,125,114, 63,
+ 96,114,200, 62, 51, 37,108, 63,249, 3,205, 62,174,241,105, 63,204, 8,200, 62,177,192,109, 63,152,240,190, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,171,229, 61, 41, 42,185, 62,120, 99,202, 61,192, 49,190, 62, 16,152,145, 61,
+ 84,214,179, 62, 64,226,208, 61,232, 58,172, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 42,143,114, 63,
+ 24,168,207, 62, 56, 73,110, 63,186,119,206, 62, 51, 37,108, 63,249, 3,205, 62,203,125,114, 63, 96,114,200, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,244,234,179, 61,240,219,190, 62,184, 85,132, 61,
+ 22,211,189, 62, 16,152,145, 61, 84,214,179, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69,134,113, 63,
+156, 82,212, 62, 46,191,109, 63, 92, 64,210, 62, 56, 73,110, 63,186,119,206, 62, 42,143,114, 63, 24,168,207, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,196,129,181, 61,204, 14,196, 62, 60,114,138, 61,
+ 28, 61,197, 62,184, 85,132, 61, 22,211,189, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,
+155,254,214, 62, 46,191,109, 63, 92, 64,210, 62, 69,134,113, 63,156, 82,212, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,114,138, 61, 28, 61,197, 62,196,129,181, 61,204, 14,196, 62, 36,174,184, 61,
+216,130,202, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84,190,110, 63,
+223, 77,172, 62,151, 5, 90, 63,138, 61,167, 62, 22, 25, 96, 63,246,248,149, 62,162,176,122, 63,145,215,161, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 64,234, 54, 62,146,219,140, 62,194,251, 66, 62,163,102,158, 62, 8, 66,246, 61,
+ 28,161,152, 62,172,241,189, 61, 13,107,132, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 49, 12,122, 63,
+246, 8,197, 62, 84,190,110, 63,223, 77,172, 62,162,176,122, 63,145,215,161, 62,188,255,126, 63,115,248,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,172,241,189, 61, 13,107,132, 62, 8, 66,246, 61, 28,161,152, 62,240, 54, 16, 61,
+120, 4,167, 62, 0, 8,163, 58, 39, 69,162, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,183,115,119, 63,
+140, 49,215, 62, 49, 12,122, 63,246, 8,197, 62,188,255,126, 63,115,248,198, 62, 47, 6,122, 63,248,157,216, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 8,163, 58, 39, 69,162, 62,240, 54, 16, 61,120, 4,167, 62,224,111,231, 60,
+100,142,198, 62,224,248, 14, 60, 70,141,198, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 41, 76,116, 63,
+139,153,222, 62,183,115,119, 63,140, 49,215, 62, 47, 6,122, 63,248,157,216, 62,134, 98,119, 63,204, 37,225, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,224,248, 14, 60, 70,141,198, 62,224,111,231, 60,100,142,198, 62,128,183, 73, 61,
+ 84,108,213, 62, 80,210,229, 60, 32,239,218, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 31,178,109, 63,
+224, 68,228, 62, 41, 76,116, 63,139,153,222, 62,134, 98,119, 63,204, 37,225, 62, 46,185,115, 63, 90,157,234, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 80,210,229, 60, 32,239,218, 62,128,183, 73, 61, 84,108,213, 62, 28, 27,177, 61,
+ 42,240,219, 62, 56,103,122, 61, 30, 10,230, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 46,178,102, 63,
+100,184,232, 62, 31,178,109, 63,224, 68,228, 62, 46,185,115, 63, 90,157,234, 62,244,134,106, 63,234, 64,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 56,103,122, 61, 30, 10,230, 62, 28, 27,177, 61, 42,240,219, 62,120,216,242, 61,
+124, 40,225, 62,212,222,209, 61,238,123,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,235,188, 5, 63,
+252, 74, 98, 63,200,111,248, 62,197,105,112, 63, 0, 49,231, 62,118,190,107, 63,150, 57,255, 62, 53, 14, 96, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63, 58, 8, 62, 62, 10,154, 89, 63, 40, 24, 92, 62,
+ 14, 82, 74, 63,112, 11,112, 62,157,133, 78, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,235,188, 5, 63,
+252, 74, 98, 63,136,139, 12, 63,138,233,101, 63,116, 45, 6, 63,112,245,113, 63,200,111,248, 62,197,105,112, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 68,219, 36, 62,249,186, 81, 63, 28,254, 65, 62, 20, 55, 70, 63, 40, 24, 92, 62,
+ 14, 82, 74, 63, 58, 8, 62, 62, 10,154, 89, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,136,139, 12, 63,
+138,233,101, 63, 5,130, 12, 63,149,216,108, 63,116, 45, 6, 63,112,245,113, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 68,219, 36, 62,249,186, 81, 63, 76, 1, 42, 62, 39,178, 73, 63, 28,254, 65, 62,
+ 20, 55, 70, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,120, 89,103, 63,
+105, 76, 2, 63,106,154, 93, 63,226, 26,233, 62, 46,178,102, 63,100,184,232, 62,244,134,106, 63,234, 64,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120,216,242, 61,124, 40,225, 62,128, 1, 33, 62, 70,210,226, 62,116,128,234, 61,
+200, 39, 0, 63,212,222,209, 61,238,123,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,
+129,140, 96, 63,150, 57,255, 62, 53, 14, 96, 63, 0, 49,231, 62,118,190,107, 63, 42,135,227, 62, 58, 2,101, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63,112, 11,112, 62,157,133, 78, 63, 74, 84,120, 62,
+104, 32, 83, 63,110,103,122, 62,236,255, 92, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,217, 77, 63,
+ 7,228,157, 62,160,225, 90, 63,110,121,137, 62, 22, 25, 96, 63,246,248,149, 62,151, 5, 90, 63,138, 61,167, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 64,234, 54, 62,146,219,140, 62,166,125, 74, 62,252, 30,130, 62,154,118,111, 62,
+120,108,152, 62,194,251, 66, 62,163,102,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 68, 65, 84, 65,
+ 64, 31, 0, 0,168, 76, 53, 3, 0, 0, 0, 0, 53, 0, 0, 0,208, 7, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -7851,317 +8563,6 @@ char datatoc_preview_blend[]= {
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
- 77, 69, 0, 0, 24, 1, 0, 0,112, 96,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,152,139,182, 3,176, 94,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 97,182, 3,
- 16,123,182, 3, 64,127,182, 3, 0, 0, 0, 0,120, 99,182, 3, 16,112,182, 3, 0, 0, 0, 0, 56,136,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 97,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,110,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,121,182, 3,
- 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,
-214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,184, 97,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,240, 97,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 99,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,224, 10, 0, 0,120, 99,182, 3, 58, 0, 0, 0,116, 0, 0, 0,
-223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,
-242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,
-250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,
-250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,
-250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,
-248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
- 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,
-238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,
-244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
-217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
-244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,
-247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-159,115, 6, 65,146, 30,215, 64, 74, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,
- 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,
-135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
-129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
-234, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
- 30, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
-153, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,
-154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,
- 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
- 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,
-139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
- 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
-253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
-136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,136,110,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,112,182, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 9, 0, 0, 16,112,182, 3, 55, 0, 0, 0,198, 0, 0, 0, 21, 0, 0, 0,
- 82, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0,
- 18, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 34, 0, 28, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0,
- 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 29, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0,
- 23, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0,
- 37, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0,
- 41, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
- 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 86, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
- 52, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,114, 0, 0, 0,
- 0, 0, 34, 0, 42, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
- 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0,
- 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0,
- 58, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0,
- 63, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 66, 0, 0, 0,
- 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0,
- 46, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 65, 0, 0, 0,
- 0, 0, 34, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,
-102, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0,
- 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 34, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0,
- 77, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0,
- 81, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,112, 0, 0, 0,
- 0, 0, 34, 0, 78, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0,
- 85, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 88, 0, 0, 0,
- 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,
- 87, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0,
- 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,
- 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0,
- 92, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0,
- 97, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 78, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,
-103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,
-105, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
-109, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,112, 0, 0, 0,
- 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
-112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,111, 0, 0, 0,
- 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,136,121,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,123,182, 3, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
-120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,127,182, 3,
- 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56,136,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 3, 0, 0, 16,123,182, 3, 54, 0, 0, 0, 51, 0, 0, 0,
- 18, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 9, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
- 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 42, 0, 0, 0, 65, 0, 0, 0,114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0,
- 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0,
- 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 57, 0, 0, 0,
- 0, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
- 68, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
-115, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 76, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
- 21, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0,
- 0, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 75, 0, 0, 0,
- 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0,
- 60, 0, 0, 0, 86, 0, 0, 0, 90, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 97, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0,
- 73, 0, 0, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0,
- 0, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0,
- 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
- 98, 0, 0, 0, 72, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,
-109, 0, 0, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
- 0, 0, 0, 0,106, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,
-108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0,
-113, 0, 0, 0,115, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,111, 0, 0, 0,
-112, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-196, 8, 0, 0, 64,127,182, 3, 65, 0, 0, 0, 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,
- 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63,
- 96,211, 93, 59,146,128, 81, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,
-225,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-227,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59, 85,162,203, 62,
- 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,
-142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,
-248,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,
-236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63,
- 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63,
- 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63,
- 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63,
- 72, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-174,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
-173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,
-111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
-236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,
-172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,
-120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63,
- 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,
-102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63,
- 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,
-242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
-216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,
-173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,
-244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63,
- 4,221, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189,
- 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,
-116, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,
- 51,207, 38, 63, 24,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
-236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,248, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,138, 94, 82, 62,
- 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,
-127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,
-248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,
-160, 84,104, 61, 0, 29, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0, 56,136,182, 3,
- 59, 0, 0, 0,204, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -8176,550 +8577,24 @@ char datatoc_preview_blend[]= {
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,
-152,139,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,168,181,182, 3,112, 96,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108,
- 97,110,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,140,182, 3,192,165,182, 3,200,169,182, 3,
- 0, 0, 0, 0,160,142,182, 3, 8,155,182, 3, 0, 0, 0, 0,104,178,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24,141,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153,182, 3,
- 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,164,182, 3, 3, 0, 0, 0, 5, 0, 0, 0,
- 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,224,140,182, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 24,141,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,142,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,160,142,182, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,
- 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,
- 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,
- 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,
- 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,
- 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
-148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
- 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
-244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,
-127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
- 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,
- 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
-147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
- 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
-246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,
-129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
- 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
- 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
- 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
- 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
-135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,
-247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
-239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,
-244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,
- 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,
-242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,
-245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,
-245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,
-245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,
-247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,
-223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191,
-245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192, 0, 0, 42,221,
-215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,128,153,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,155,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0, 8,155,182, 3, 55, 0, 0, 0,
-192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0,
- 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0,
- 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0,
- 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0,
- 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0,
- 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0,
- 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0, 0, 0, 34, 0,
- 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0,
- 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0,
- 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0,
- 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0,
- 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0,
- 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0,
- 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0,
- 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
- 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 76, 0, 0, 0,
- 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
-105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,
- 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
- 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0,
- 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,
-100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,
-102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,
-104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,
-111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,
-106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0, 90, 0, 0, 0,
- 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,164,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,165,182, 3, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
-120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,169,182, 3,
- 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,178,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,212, 3, 0, 0,192,165,182, 3, 54, 0, 0, 0, 49, 0, 0, 0,
- 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 3, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 14, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
- 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 25, 0, 0, 0,
- 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0, 24, 0, 0, 0,
- 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
- 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,
- 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0,
- 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0,
- 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0,
- 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0, 84, 0, 0, 0,
- 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
- 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0, 77, 0, 0, 0,
- 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0,
- 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
-100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,
-102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0, 84, 0, 0, 0,
- 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 86, 0, 0, 0,
- 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,200,169,182, 3,
- 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63,
- 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62, 0, 21,186, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,122, 84,181, 62,
-248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,
-190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63,
- 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63,
- 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
- 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,
-174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63, 64, 38,135, 61,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62, 42,244,114, 63,
-244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,
-113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,
-200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,
-120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,
- 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,
-244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63,
- 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63, 56,207, 38, 63,
-111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,
-174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,
-161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,
-236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,
-236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63,
- 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 22,172,131, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,
-248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,176,131,185, 63,
- 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62,
- 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-226,151,158, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,
-227,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 24,172,131, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,
- 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,225,151,158, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,
-149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0,104,178,182, 3,
- 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,
-168,181,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,216,194,182, 3,152,139,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108,
- 97,110,101, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,182,182, 3,200,191,182, 3,152,192,182, 3,
- 0, 0, 0, 0,176,184,182, 3,144,188,182, 3, 0, 0, 0, 0, 40,194,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,183,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,187,182, 3,
- 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,190,182, 3, 3, 0, 0, 0, 5, 0, 0, 0,
- 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,240,182,182, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 40,183,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,184,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,176,184,182, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,
-208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,
- 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,
-197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,
-212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,
-214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,
- 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 8,187,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,188,182, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,144,188,182, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0,
- 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0,
- 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 64,190,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,191,182, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,192,182, 3, 6, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,194,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,191,182, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2,
- 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0,
- 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,
-152,192,182, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63,
- 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63,
- 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,
-162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,
-162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 40,194,182, 3, 59, 0, 0, 0, 32, 0, 0, 0,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
- 77, 69, 0, 0, 24, 1, 0, 0,216,194,182, 3, 52, 0, 0, 0, 1, 0, 0, 0, 8,208,182, 3,168,181,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,196,182, 3,
-248,204,182, 3,200,205,182, 3, 0, 0, 0, 0,224,197,182, 3,192,201,182, 3, 0, 0, 0, 0, 88,207,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,196,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56,200,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,203,182, 3,
- 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,
-214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 32,196,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 88,196,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,197,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,224,197,182, 3, 58, 0, 0, 0, 23, 0, 0, 0,
- 47,205,204, 62, 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,
-208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 47,205,204, 62, 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,
-213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,
-214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,
-210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,
- 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 70,182, 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,
-216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,200,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,201,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,192,201,182, 3, 55, 0, 0, 0,
- 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,112,203,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,204,182, 3, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
-120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,205,182, 3,
- 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 88,207,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,204,182, 3, 54, 0, 0, 0, 8, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 96, 1, 0, 0,200,205,182, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63,
- 0,229,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,
-162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
-252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 88,207,182, 3,
- 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 8,208,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,184,215,182, 3,
-216,194,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0, 56,108, 53, 3,
+ 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0,200,104, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 80,209,182, 3, 16,215,182, 3, 88,215,182, 3, 0, 0, 0, 0, 16,211,182, 3, 40,213,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,209,182, 3, 1, 0, 0, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,211,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,213,182, 3, 2, 0, 0, 0, 5, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52, 0, 0, 0, 0,
- 0, 0,128, 63, 2, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
- 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 80,209,182, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,136,209,182, 3, 58, 1, 0, 0, 5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,110, 53, 3, 0, 0, 0, 0,152,116, 53, 3,
+ 0, 0, 0, 0,248,116, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,112, 53, 3, 0, 0, 0, 0,104,114, 53, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,110, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,112, 53, 3,
+ 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,114, 53, 3, 0, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128,179, 0, 0, 64, 52, 0, 0, 0, 0, 0, 0,128, 63, 2, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 24,110, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3,
+ 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,104,110, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,211,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,112, 53, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8727,1476 +8602,60 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 16,211,182, 3,
- 58, 0, 0, 0, 4, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 1, 0,128,191,253,255,127,191,
- 0, 0, 0, 0, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,250,255,127,191, 3, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
-255,127,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,160,211,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,213,182, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 24,112, 53, 3, 0, 0, 0, 0, 52, 0, 0, 0, 4, 0, 0, 0, 0, 0,128, 63,
+255,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0,254,127, 3, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
+255,127, 3, 0, 1, 0,128,191,253,255,127,191, 0, 0, 0, 0, 0, 0, 0, 0,255,127, 3, 0,250,255,127,191, 3, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,127, 3, 0, 68, 65, 84, 65,104, 1, 0, 0,184,112, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,114, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,213,182, 3, 55, 0, 0, 0,
- 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,136,213,182, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16,215,182, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,215,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0, 16,215,182, 3, 54, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 44, 0, 0, 0, 88,215,182, 3, 65, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 77, 69, 0, 0, 24, 1, 0, 0,184,215,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,224, 2,183, 3, 8,208,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,217,182, 3, 88,242,182, 3,136,246,182, 3, 0, 0, 0, 0,192,218,182, 3, 88,231,182, 3, 0, 0, 0, 0,128,255,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,217,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,208,229,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-208,240,182, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,
-140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 0,217,182, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,217,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,218,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,224, 10, 0, 0,192,218,182, 3, 58, 0, 0, 0,
-116, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,
-144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,
-179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,
-244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,
-113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,
-239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191,
- 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192,
- 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64,
- 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,
-217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56,
- 38, 33,215,191, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65,234, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65, 30, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65,153, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,
-190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,
-181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,
-170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,
-179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,
-146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,
-112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,229,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,231,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 9, 0, 0, 88,231,182, 3, 55, 0, 0, 0,198, 0, 0, 0,
- 21, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 53, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 27, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0,
- 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,
- 24, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0,
- 0, 0, 34, 0, 1, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0,
- 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 23, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0,
- 40, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 34, 0, 37, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0,
- 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
- 86, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0,
- 50, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0,
- 0, 0, 34, 0, 52, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0,
- 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 34, 0, 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0,
- 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 59, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 34, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 63, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0,
- 66, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0,
- 52, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
- 65, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
- 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0,
- 0, 0, 34, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0,
- 73, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0,
- 0, 0, 34, 0, 81, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,
-112, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 34, 0, 85, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
- 88, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0,
- 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0,
- 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,
- 92, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0,
- 86, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0,
- 0, 0, 34, 0, 92, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,
- 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,
- 81, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 78, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0,
- 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0,
- 0, 0, 34, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,
-105, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,
-103, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0,
- 0, 0, 34, 0,109, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,
-112, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
-106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0,
- 0, 0, 34, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,
-111, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,240,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,242,182, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,246,182, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128,255,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 3, 0, 0, 88,242,182, 3, 54, 0, 0, 0,
- 51, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0,
- 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 65, 0, 0, 0,114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0,
- 44, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0,
- 53, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0,
- 55, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
- 64, 0, 0, 0, 68, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0,
- 0, 0, 0, 0,115, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0,
- 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
- 27, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0,
- 88, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
- 75, 0, 0, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0,
- 0, 0, 0, 0, 60, 0, 0, 0, 86, 0, 0, 0, 90, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,
- 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
- 97, 0, 0, 0, 73, 0, 0, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0,
- 79, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0,
- 36, 0, 0, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0,
- 0, 0, 0, 0, 98, 0, 0, 0, 72, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,
-100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
- 51, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,
-104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,
-112, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 0, 0,113, 0, 0, 0,115, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
-111, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,196, 8, 0, 0,136,246,182, 3, 65, 0, 0, 0, 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 21,172,131, 63, 96,211, 93, 59,146,128, 81, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63,
- 96,211, 93, 59,225,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,
-251,168, 27, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,
- 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63,
- 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
-176,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-226,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62,
- 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,
-144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 72, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,
-111,179,141, 63,174,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
-236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63,
- 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63,
- 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,
-242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,
-122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,
- 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,
-120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63,
- 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,
-102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63,
- 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,
-188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,
-116, 19,186, 62,244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,
-240,244,114, 63, 4,221, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,
-176,104,169,189, 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-174,225, 76, 63,116, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63,
- 96, 44,135, 61, 51,207, 38, 63, 24,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63,
- 52,207, 38, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,
-248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,
-138, 94, 82, 62, 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,
-102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,
-122, 84,181, 62,248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,
-176, 20,186, 62,160, 84,104, 61, 0, 29, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0,
-128,255,182, 3, 59, 0, 0, 0,204, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,224, 2,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,240, 44,183, 3,184,215,182, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 4,183, 3, 8, 29,183, 3,
- 16, 33,183, 3, 0, 0, 0, 0,232, 5,183, 3, 80, 18,183, 3, 0, 0, 0, 0,176, 41,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96, 4,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200, 16,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 27,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 40, 4,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 96, 4,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 5,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,232, 5,183, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,
-114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192,
- 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,
-110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,
-217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64,
- 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56,
- 16, 33,215,191,245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192,
- 0, 0, 42,221,215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,200, 16,183, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 18,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0, 80, 18,183, 3,
- 55, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 26, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0,
- 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 34, 0, 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0,
- 47, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 34, 0, 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,
- 76, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
- 17, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0,
- 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,
- 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0,
- 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
-109, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 60, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0,
- 0, 0, 34, 0, 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0,
- 90, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,128, 27,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 29,183, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 33,183, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,176, 41,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,212, 3, 0, 0, 8, 29,183, 3, 54, 0, 0, 0,
- 49, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 7, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0,
- 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0,
- 75, 0, 0, 0, 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
- 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0,
- 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 58, 0, 0, 0, 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 47, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 57, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,
- 84, 0, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
- 70, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0,
- 77, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0,
- 94, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0,
- 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
-103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0,
- 86, 0, 0, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0,
- 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,
- 16, 33,183, 3, 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
- 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62,
- 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,
-122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,
-111,179,141, 63,190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,
-185,188, 0, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,
-120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63,
- 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,
-174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63,
- 64, 38,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62,
- 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
-113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,
-160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,
-216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,
- 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,
-172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
-210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59,
- 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63,
- 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,
- 24,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0,
-176, 41,183, 3, 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,240, 44,183, 3, 52, 0, 0, 0, 1, 0, 0, 0, 0, 87,183, 3,224, 2,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 48, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 46,183, 3, 24, 71,183, 3,
- 32, 75,183, 3, 0, 0, 0, 0,248, 47,183, 3, 96, 60,183, 3, 0, 0, 0, 0,192, 83,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,112, 46,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216, 58,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 69,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56, 46,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,112, 46,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 47,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,248, 47,183, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,
-114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192,
- 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,
-110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,
-217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64,
- 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56,
- 16, 33,215,191,245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192,
- 0, 0, 42,221,215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,216, 58,183, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96, 60,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0, 96, 60,183, 3,
- 55, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 26, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0,
- 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 34, 0, 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0,
- 47, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 34, 0, 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,
- 76, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
- 17, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0,
- 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,
- 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0,
- 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
-109, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 60, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0,
- 0, 0, 34, 0, 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0,
- 90, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,144, 69,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 71,183, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 75,183, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,192, 83,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,212, 3, 0, 0, 24, 71,183, 3, 54, 0, 0, 0,
- 49, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 7, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0,
- 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0,
- 75, 0, 0, 0, 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
- 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0,
- 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 58, 0, 0, 0, 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 47, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 57, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,
- 84, 0, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
- 70, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0,
- 77, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0,
- 94, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0,
- 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
-103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0,
- 86, 0, 0, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0,
- 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,
- 32, 75,183, 3, 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
- 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62,
- 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,
-122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,
-111,179,141, 63,190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,
-185,188, 0, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,
-120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63,
- 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,
-174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63,
- 64, 38,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62,
- 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
-113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,
-160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,
-216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,
- 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,
-172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
-210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59,
- 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63,
- 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,
- 24,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0,
-192, 83,183, 3, 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0, 0, 87,183, 3, 52, 0, 0, 0, 1, 0, 0, 0, 40,130,183, 3,240, 44,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 88,183, 3,160,113,183, 3,
-208,117,183, 3, 0, 0, 0, 0, 8, 90,183, 3,160,102,183, 3, 0, 0, 0, 0,200,126,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 88,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24,101,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,112,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 88,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,128, 88,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 90,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,224, 10, 0, 0, 8, 90,183, 3, 58, 0, 0, 0,116, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,
-150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,247, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,
-146, 30,215, 64, 74, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,
-226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,
-183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,182,115, 6,193,
-128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,191, 87,161,192,
-148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 24,101,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,102,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 72, 9, 0, 0,160,102,183, 3, 55, 0, 0, 0,198, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0,
- 0, 0, 34, 0, 20, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0,
- 28, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 29, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0,
- 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0,
- 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 3, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0,
- 9, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0,
- 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 98, 0, 0, 0,
- 0, 0, 34, 0, 39, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 37, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0,
- 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,114, 0, 0, 0,
- 0, 0, 34, 0, 65, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
-115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,
- 42, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0,
- 0, 0, 34, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0,
- 46, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0,
- 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0,
- 60, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0,
- 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 58, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0,
- 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 34, 0, 64, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0,
- 67, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0,
- 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0,
- 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,102, 0, 0, 0,
- 0, 0, 34, 0, 72, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0,
- 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 77, 0, 0, 0,
- 0, 0, 34, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,
- 78, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0,
- 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0,
- 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0,
- 0, 0, 34, 0, 82, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0,
- 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 90, 0, 0, 0,
- 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 97, 0, 0, 0,
- 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
-100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0,
- 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,
-104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,
-113, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,
-107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0,106, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,
-113, 0, 0, 0, 0, 0, 34, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 24,112,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,113,183, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,117,183, 3, 6, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,126,183, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 3, 0, 0,160,113,183, 3, 54, 0, 0, 0, 51, 0, 0, 0, 18, 0, 0, 0,
- 22, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 9, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 42, 0, 0, 0, 65, 0, 0, 0,114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0,
- 43, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0,
- 48, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0, 48, 0, 0, 0,
- 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
- 60, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
- 58, 0, 0, 0, 59, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 68, 0, 0, 0,
- 67, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,115, 0, 0, 0,
- 51, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 76, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0,
- 82, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 82, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 75, 0, 0, 0, 74, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
- 86, 0, 0, 0, 90, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0,
- 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 73, 0, 0, 0,
- 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
- 78, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
- 72, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,109, 0, 0, 0,
-105, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,
-106, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,108, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,
-115, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
- 0, 0, 0, 0, 81, 0, 0, 0, 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 8, 0, 0,
-208,117,183, 3, 65, 0, 0, 0, 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,
-146,128, 81, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,225,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,
-246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63,
- 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,142,128, 81, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-174,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,
- 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,248,168, 27, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
-144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63,
- 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 72, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,174,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,
-188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,
-236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
-173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63,
- 56,127,118,190,220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,
-242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
-216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,
-113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,
-128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
-113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,
- 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,244,140,159, 63,
- 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63, 4,221, 91, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189, 93,189, 0, 63,
- 80, 1,109,190,248,207, 38, 63,144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,116, 47, 41, 63,
- 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61, 51,207, 38, 63,
- 24,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,
-174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,
-120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,248, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,138, 94, 82, 62, 48, 43,135, 61,
-122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,127, 84,181, 62,
-242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,248, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,188,188, 0, 63,
-173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,
-160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,160, 84,104, 61,
- 0, 29, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0,200,126,183, 3, 59, 0, 0, 0,
-204, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 40,130,183, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 80,173,183, 3, 0, 87,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 48, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,131,183, 3,200,156,183, 3,248,160,183, 3, 0, 0, 0, 0,
- 48,133,183, 3,200,145,183, 3, 0, 0, 0, 0,240,169,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-168,131,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,144,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,155,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,112,131,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-168,131,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,104,114, 53, 3, 0, 0, 0, 0, 49, 0, 0, 0,
+ 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,232,114, 53, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,116, 53, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,116, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,133,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152,116, 53, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2,
+ 68, 65, 84, 65, 48, 0, 0, 0,248,116, 53, 3, 0, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 0, 1, 0, 0, 0, 0, 0, 77, 69, 0, 0,152, 1, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,
+104,135, 53, 3, 0, 0, 0, 0, 56,108, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 69,112,108, 97,110,101, 95, 99,104,101, 99,107,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,119, 53, 3, 0, 0, 0, 0, 56,129, 53, 3, 0, 0, 0, 0,200,130, 53, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,104,121, 53, 3, 0, 0, 0, 0, 88,125, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24,134, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,119, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,123, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,127, 53, 3, 0, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 40, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 83, 0, 30, 0, 5, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,
+ 88,119, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65,104, 1, 0, 0,184,119, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,121, 53, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,224, 10, 0, 0, 48,133,183, 3, 58, 0, 0, 0,116, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,222, 33,215,191,
-183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,
-226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,
-146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,
-150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,
-114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 64,144,183, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,145,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10204,5513 +8663,4003 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 72, 9, 0, 0,200,145,183, 3, 55, 0, 0, 0,198, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 54, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0,
- 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0,
- 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0,
- 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 37, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
- 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0,
- 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,
- 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 82, 0, 0, 0,
- 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
- 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
- 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0,
- 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 48, 0, 0, 0,
- 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0,
- 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0,
- 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 62, 0, 0, 0,
- 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0,
- 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0,
- 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
- 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
- 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0, 81, 0, 0, 0,
- 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0,
- 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,
- 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,113, 0, 0, 0,
- 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0,
- 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0,
- 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0,
- 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,
- 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0,
- 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,
-101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0,
- 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,
- 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,
-105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,
-103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,
-108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,
-111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
- 64,155,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,156,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,160,183, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,169,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,252, 3, 0, 0,200,156,183, 3, 54, 0, 0, 0, 51, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 25, 0, 0, 0,
- 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 65, 0, 0, 0,
-114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
- 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 68, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0,
- 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,115, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0,
- 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0,
- 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 75, 0, 0, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
- 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 86, 0, 0, 0, 90, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 73, 0, 0, 0, 77, 0, 0, 0, 81, 0, 0, 0,
- 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0,
- 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
-100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 72, 0, 0, 0, 41, 0, 0, 0,
- 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,
-102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,114, 0, 0, 0,
- 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 70, 0, 0, 0,
- 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
-111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,115, 0, 0, 0, 52, 0, 0, 0,
- 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
- 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 8, 0, 0,248,160,183, 3, 65, 0, 0, 0,
- 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,146,128, 81, 63, 96,211, 93, 59,
-149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63,
- 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,225,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,
-142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59, 22,172,131, 63,
- 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,
-226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63,
- 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,176,131,185, 63,
- 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
-210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 72, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,
-102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,174,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63,
- 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,
-173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,
-172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
-111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63,
- 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,
-188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,
-120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,
-216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,
-160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
-173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,
-128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
-113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,
-242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62,
- 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63, 4,221, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189, 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,
-144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,116, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,
-174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63,
- 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61, 51,207, 38, 63, 24,224, 91, 62, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,
-248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,138, 94, 82, 62, 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,
-120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,
-160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,
- 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,
-120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,160, 84,104, 61, 0, 29, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0,240,169,183, 3, 59, 0, 0, 0,204, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 80,173,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,
- 96,215,183, 3, 40,130,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 48, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,152,174,183, 3,120,199,183, 3,128,203,183, 3, 0, 0, 0, 0, 88,176,183, 3,192,188,183, 3,
- 0, 0, 0, 0, 32,212,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,174,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,187,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,240,197,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63,
- 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-152,174,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,174,183, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88,176,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,
- 88,176,183, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,
-112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,
-146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,
-179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,
-170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,
-181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,
-128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,
-183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,
-150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,
-146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,
-226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,
-190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191,
- 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,
-239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,
-113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,
-244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,
-179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,
-144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191,245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0,
- 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192, 0, 0, 42,221,215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 56,187,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,188,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0,192,188,183, 3, 55, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0,
- 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0,
- 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0,
- 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0,
- 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,
- 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0,
- 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
- 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,
- 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0,
- 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,
- 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0,
- 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0,
- 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0,
- 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0,
- 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0,
- 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0,
- 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0,
- 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0,
- 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,
- 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0,
- 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0,
- 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0,
- 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0,
- 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
-100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0,
- 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,
-103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0,
- 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,
- 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0,
- 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-240,197,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,199,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,203,183, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,212,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,212, 3, 0, 0,120,199,183, 3, 54, 0, 0, 0, 49, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0,
- 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,
- 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
- 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
- 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0,
- 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0,
- 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
- 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0,
- 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0, 84, 0, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
-111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0,
- 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
- 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0,
- 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
-110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,
-104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,
- 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,
-103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,
- 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,128,203,183, 3, 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,
-242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,
-190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,
-176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,
-236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63,
- 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,
-116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61,
- 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63,
- 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63, 64, 38,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62, 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,
-102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,
-128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
-173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,
-160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,
-120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
-120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,
-242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63,
- 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
-113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,
- 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,
-236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63, 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
-111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,
-173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63,
- 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
-236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,
-188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,
-226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
-224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,
-149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63,
- 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0, 32,212,183, 3, 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 96,215,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,
-144,228,183, 3, 80,173,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 49, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,168,216,183, 3,128,225,183, 3, 80,226,183, 3, 0, 0, 0, 0,104,218,183, 3, 72,222,183, 3,
- 0, 0, 0, 0,224,227,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,216,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,220,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248,223,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-168,216,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,224,216,183, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,218,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,244, 1, 0, 0,104,121, 53, 3, 0, 0, 0, 0, 52, 0, 0, 0, 25, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,
+208,204, 76,191, 0, 0, 2,128, 0, 0, 1, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
+ 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 2,128, 0, 0, 1, 0, 41,205,204, 62,174,148, 77,180,200,204,204,190,
+ 0, 0, 1,128, 0, 0, 1, 0,254,204, 76, 63,176, 90, 19, 51,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 41,205,204, 62,
+174,148, 77,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,254,204, 76, 63,176, 90, 19, 51, 0, 0, 96, 52, 0, 0, 2,128,
+ 0, 0, 1, 0, 41,205,204, 62,174,148, 77,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 47,205,204, 62,174,148, 77,180,
+214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 41,205,204, 62,174,148, 77,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
+254,204, 76, 63,176, 90, 19, 51,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52,214,204, 76,191,
+ 0, 0, 1,128, 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 1, 0, 78,182,
+ 3, 0,160, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 57,205,204,190, 90, 41,155, 51,206,204, 76, 63, 0, 0, 1,128,
+ 0, 0, 1, 0, 10,205, 76,191,169, 82,182, 51,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52,
+197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51,205,204,204, 62, 0, 0, 2,128, 0, 0, 1, 0,
+ 10,205, 76,191,169, 82,182, 51,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52, 0, 0,144,180,
+ 0, 0, 2,128, 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 10,205, 76,191,
+169, 82,182, 51, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52,224,204,204,190, 0, 0, 1,128,
+ 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51,216,204,204,190, 0, 0, 2,128, 0, 0, 1, 0, 10,205, 76,191,169, 82,182, 51,
+208,204,204,190, 0, 0, 2,128, 0, 0, 1, 0, 68, 65, 84, 65,104, 1, 0, 0,168,123, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 88,125, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,
-104,218,183, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,192,220,183, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72,222,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 1, 0, 0, 72,222,183, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0,
- 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,248,223,183, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128,225,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,226,183, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,224, 1, 0, 0, 88,125, 53, 3, 0, 0, 0, 0, 49, 0, 0, 0,
+ 40, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0,
+ 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 35, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,
+ 20, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0,
+ 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 23, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 35, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 23, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0,
+ 22, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0,
+ 5, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,
+ 8, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 35, 0,
+ 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 11, 0, 0, 0,
+ 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,136,127, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,
+120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,129, 53, 3,
+ 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200,130, 53, 3, 0, 0, 0, 0, 6, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,227,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-128,225,183, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2,
- 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0,
- 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0, 80,226,183, 3, 65, 0, 0, 0, 8, 0, 0, 0,
- 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,
-162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,128, 0, 0, 0,224,227,183, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,144,228,183, 3,
- 52, 0, 0, 0, 1, 0, 0, 0,192,241,183, 3, 96,215,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,229,183, 3,176,238,183, 3,128,239,183, 3, 0, 0, 0, 0,
-152,231,183, 3,120,235,183, 3, 0, 0, 0, 0, 16,241,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,230,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,233,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,237,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,216,229,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
- 16,230,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,231,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,134, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 2, 0, 0,152,231,183, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0,240,233,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,235,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,120,235,183, 3, 55, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
- 40,237,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,238,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,239,183, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,241,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,176,238,183, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,128,239,183, 3,
- 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 56,129, 53, 3, 0, 0, 0, 0, 48, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 12, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 2, 19, 0, 0, 0, 20, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0,
+ 0, 0, 0, 2, 17, 0, 0, 0, 18, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 13, 0, 0, 0, 14, 0, 0, 0,
+ 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2,
+ 7, 0, 0, 0, 16, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 22, 0, 0, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0,
+ 3, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 2, 22, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 19, 0, 0, 0,
+ 1, 0, 0, 2, 2, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 2, 8, 0, 0, 0, 13, 0, 0, 0,
+ 16, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 2, 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 1, 0, 0, 2,
+ 16, 0, 0, 0, 17, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 1, 0, 0, 2, 20, 0, 0, 0, 21, 0, 0, 0, 24, 0, 0, 0,
+ 23, 0, 0, 0, 1, 0, 0, 2, 22, 0, 0, 0, 23, 0, 0, 0, 12, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 2, 68, 65, 84, 65,
+ 0, 3, 0, 0,200,130, 53, 3, 0, 0, 0, 0, 59, 0, 0, 0, 16, 0, 0, 0,144,108,246, 61,162,226,125, 63, 12,192,137, 62,
+162,226,125, 63, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 16,241,183, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,192,241,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,240,254,183, 3,144,228,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 49, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,243,183, 3,224,251,183, 3,
-176,252,183, 3, 0, 0, 0, 0,200,244,183, 3,168,248,183, 3, 0, 0, 0, 0, 64,254,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64,243,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32,247,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,250,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 8,243,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 64,243,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,244,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,200,244,183, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 32,247,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,248,183, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,168,248,183, 3, 55, 0, 0, 0, 32, 0, 0, 0,
- 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 88,250,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,251,183, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,252,183, 3, 6, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,254,183, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,224,251,183, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 1, 0, 0,176,252,183, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 64,254,183, 3, 59, 0, 0, 0,
- 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,240,254,183, 3, 52, 0, 0, 0, 1, 0, 0, 0, 32, 12,184, 3,192,241,183, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 0,184, 3, 16, 9,184, 3,224, 9,184, 3, 0, 0, 0, 0,248, 1,184, 3,216, 5,184, 3, 0, 0, 0, 0,112, 11,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 0,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 4,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136, 7,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,
-172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56, 0,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,112, 0,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 1,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,248, 1,184, 3, 58, 0, 0, 0,
- 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 80, 4,184, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216, 5,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,216, 5,184, 3,
- 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,136, 7,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 9,184, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224, 9,184, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,112, 11,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 16, 9,184, 3, 54, 0, 0, 0,
- 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2,
- 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0,
- 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,224, 9,184, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,
-162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,
-112, 11,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 32, 12,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,
- 80, 25,184, 3,240,254,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 53, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104, 13,184, 3, 64, 22,184, 3, 16, 23,184, 3, 0, 0, 0, 0, 40, 15,184, 3, 8, 19,184, 3,
- 0, 0, 0, 0,160, 24,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 13,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 17,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,184, 20,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-104, 13,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,160, 13,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 15,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,
- 40, 15,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,128, 17,184, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 19,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 1, 0, 0, 8, 19,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0,
- 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,184, 20,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64, 22,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 23,184, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 24,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 64, 22,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2,
- 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0,
- 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0, 16, 23,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,
- 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,
+162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,
-162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,128, 0, 0, 0,160, 24,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 80, 25,184, 3,
- 52, 0, 0, 0, 1, 0, 0, 0,128, 38,184, 3, 32, 12,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 49, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 26,184, 3,112, 35,184, 3, 64, 36,184, 3, 0, 0, 0, 0,
- 88, 28,184, 3, 56, 32,184, 3, 0, 0, 0, 0,208, 37,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-208, 26,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 30,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 33,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,152, 26,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-208, 26,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 28,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 2, 0, 0, 88, 28,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0,176, 30,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 32,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0, 56, 32,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-232, 33,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 35,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 36,184, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 37,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,112, 35,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 64, 36,184, 3,
- 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,
+162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,
+162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,144,108,246, 61,
+162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,208, 37,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,128, 38,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,176, 51,184, 3, 80, 25,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 49, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 39,184, 3,160, 48,184, 3,
-112, 49,184, 3, 0, 0, 0, 0,136, 41,184, 3,104, 45,184, 3, 0, 0, 0, 0, 0, 51,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224, 43,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 47,184, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,200, 39,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 0, 40,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 41,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,136, 41,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,224, 43,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 45,184, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,104, 45,184, 3, 55, 0, 0, 0, 32, 0, 0, 0,
- 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 24, 47,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 48,184, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 49,184, 3, 6, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,160, 48,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 1, 0, 0,112, 49,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,
+162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 0, 51,184, 3, 59, 0, 0, 0,
- 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 1, 0, 0, 24,134, 53, 3,
+ 0, 0, 0, 0, 53, 0, 0, 0, 64, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,176, 51,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,224, 64,184, 3,128, 38,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248, 52,184, 3,208, 61,184, 3,160, 62,184, 3, 0, 0, 0, 0,184, 54,184, 3,152, 58,184, 3, 0, 0, 0, 0, 48, 64,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 53,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 57,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 60,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,
-172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,248, 52,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 48, 53,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 54,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,184, 54,184, 3, 58, 0, 0, 0,
- 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 16, 57,184, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-152, 58,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,152, 58,184, 3,
- 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0, 72, 60,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 61,184, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160, 62,184, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 48, 64,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,208, 61,184, 3, 54, 0, 0, 0,
- 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2,
- 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0,
- 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,160, 62,184, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,
-162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,
- 48, 64,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,224, 64,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,
- 16, 78,184, 3,176, 51,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 57, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 40, 66,184, 3, 0, 75,184, 3,208, 75,184, 3, 0, 0, 0, 0,232, 67,184, 3,200, 71,184, 3,
- 0, 0, 0, 0, 96, 77,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 66,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 70,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 73,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
- 40, 66,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 96, 66,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 67,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,
-232, 67,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 64, 70,184, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 71,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 1, 0, 0,200, 71,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0,
- 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,120, 73,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 75,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,208, 75,184, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 77,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 0, 75,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2,
- 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0,
- 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,208, 75,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,
- 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,
-162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,128, 0, 0, 0, 96, 77,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 16, 78,184, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 64, 91,184, 3,224, 64,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 79,184, 3, 48, 88,184, 3, 0, 89,184, 3, 0, 0, 0, 0,
- 24, 81,184, 3,248, 84,184, 3, 0, 0, 0, 0,144, 90,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-144, 79,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 83,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 86,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 88, 79,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-144, 79,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 81,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 46, 0, 0, 0,
+ 1, 0, 0, 0, 88,192, 55, 3, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 0, 0, 0, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,137, 53, 3, 0, 0, 0, 0,104, 27, 54, 3, 0, 0, 0, 0,184,127, 54, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,139, 53, 3, 0, 0, 0, 0,104,191, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8,112, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,137, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,189, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 25, 54, 3,
+ 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,130, 2, 0, 0,128, 7, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,117,224,186, 64, 91, 13,187, 64,160,240,186, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0,
+ 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0, 72,137, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,
+104, 1, 0, 0,152,137, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,139, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 2, 0, 0, 24, 81,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0,112, 83,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 84,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,248, 84,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-168, 86,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 88,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,184, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 90,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0, 48, 88,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 0, 89,184, 3,
- 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,144, 90,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0, 64, 91,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,112,104,184, 3, 16, 78,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 50, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 92,184, 3, 96,101,184, 3,
- 48,102,184, 3, 0, 0, 0, 0, 72, 94,184, 3, 40, 98,184, 3, 0, 0, 0, 0,192,103,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 92,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160, 96,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 99,184, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,136, 92,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,192, 92,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 94,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0, 72, 94,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,160, 96,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 98,184, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0, 40, 98,184, 3, 55, 0, 0, 0, 32, 0, 0, 0,
- 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,216, 99,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,101,184, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,102,184, 3, 6, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,103,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 96,101,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 1, 0, 0, 48,102,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,192,103,184, 3, 59, 0, 0, 0,
- 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,112,104,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,160,117,184, 3, 64, 91,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184,105,184, 3,144,114,184, 3, 96,115,184, 3, 0, 0, 0, 0,120,107,184, 3, 88,111,184, 3, 0, 0, 0, 0,240,116,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,105,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,208,109,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,113,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,
-172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,184,105,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,240,105,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,107,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,120,107,184, 3, 58, 0, 0, 0,
- 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,109,184, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 88,111,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 50, 0, 0, 72,139, 53, 3, 0, 0, 0, 0, 52, 0, 0, 0,130, 2, 0, 0, 28,136,141,191, 12,243,244, 62,198, 86,183,192,
+212,231,117, 10,191,130, 1, 0,240,102,131,192, 30,183,119, 64,109,169,199,191, 58,166,158, 84,230,221, 1, 0,119,108,239, 63,
+213, 85,156, 64,188, 58, 40,192,228, 40,207,106,137,198, 1, 0, 95,135,146, 64, 63, 54, 14,191,241,194,102,192, 27,100,219,243,
+ 45,177, 1, 0,239, 84,141, 62, 16,220,157,192, 14, 2, 73,192, 8, 6, 39,148, 86,187, 1, 0,132,239,162,192,206,165, 12,192,
+150, 45,240,191,175,144,245,207,251,214, 1, 0,239, 84,141,190, 16,220,157, 64, 14, 2, 73, 64,248,249,217,107,170, 68, 1, 0,
+132,239,162, 64,206,165, 12, 64,150, 45,240, 63, 81,111, 11, 48, 5, 41, 1, 0,240,102,131, 64, 30,183,119,192,109,169,199, 63,
+198, 89, 98,171, 26, 34, 1, 0,119,108,239,191,213, 85,156,192,188, 58, 40, 64, 28,215, 49,149,119, 57, 1, 0, 95,135,146,192,
+ 63, 54, 14, 63,241,194,102, 64,229,155, 37, 12,211, 78, 1, 0, 28,136,141, 63, 12,243,244,190,198, 86,183, 64, 44, 24,139,245,
+ 65,125, 1, 0,114, 17, 68,192,226,153, 35, 64,154, 26,137,192, 6,189,226, 55, 85,162, 1, 0,155, 40,230, 62,239,199, 73, 64,
+176, 52,157,192,211, 9,237, 68,153,148, 1, 0,124, 55,168,191,224,177,164, 64, 58,144, 29,192, 69,227,132,112, 46,202, 1, 0,
+ 94, 35,105,192,230, 88,129,191,195, 14,143,192, 93,176,233,233, 68,158, 1, 0, 37, 2,173,192,137,187,123, 63, 56, 68, 1,192,
+206,137,127, 21,216,211, 1, 0,234,168, 2, 64,231,158, 57,189, 65,149,175,192,162, 44, 3,255, 11,136, 1, 0, 19,159,114, 64,
+254,226, 34, 64,196,133,106,192,225, 82,164, 55,228,175, 1, 0,105,176,249,190, 21,148, 39,192,217,214,166,192, 87,245,194,198,
+ 5,142, 1, 0,227,163, 54, 64, 86,121, 78,192, 22,202,125,192, 99, 62,120,185, 79,169, 1, 0,241, 40, 53,192,200, 31,134,192,
+229,188, 60,192, 30,194, 94,164,136,191, 1, 0, 96,230,181,192, 33, 24,119,191,174, 26,130, 63,186,131,231,234, 56, 22, 1, 0,
+103, 93,163,192,136,128, 38, 64, 83,235,153, 63,100,144,224, 56, 74, 26, 1, 0,238,219, 36,192,132,151,165, 64,165,226,109, 63,
+176,199, 33,113, 80, 20, 1, 0, 24,237,111, 63,118,174,184, 64,212, 34,154, 62,125, 20, 44,126,148, 6, 1, 0,163,244,130, 64,
+157, 58,133, 64,125, 95,226,190,119, 89, 5, 91, 86,246, 1, 0, 96,230,181, 64, 33, 24,119, 63,174, 26,130,191, 70,124, 25, 21,
+200,233, 1, 0,103, 93,163, 64,136,128, 38,192, 83,235,153,191,156,111, 32,199,182,229, 1, 0,238,219, 36, 64,132,151,165,192,
+165,226,109,191, 80, 56,223,142,176,235, 1, 0, 24,237,111,191,118,174,184,192,212, 34,154,190,131,235,212,129,108,249, 1, 0,
+163,244,130,192,157, 58,133,192,125, 95,226, 62,137,166,251,164,170, 9, 1, 0,227,163, 54,192, 86,121, 78, 64, 22,202,125, 64,
+157,193,136, 70,177, 86, 1, 0,241, 40, 53, 64,200, 31,134, 64,229,188, 60, 64,226, 61,162, 91,120, 64, 1, 0, 37, 2,173, 64,
+137,187,123,191, 56, 68, 1, 64, 50,118,129,234, 40, 44, 1, 0,124, 55,168, 63,224,177,164,192, 58,144, 29, 64,187, 28,124,143,
+210, 53, 1, 0, 19,159,114,192,254,226, 34,192,196,133,106, 64, 31,173, 92,200, 28, 80, 1, 0,234,168, 2,192,231,158, 57, 61,
+ 65,149,175, 64, 94,211,253, 0,245,119, 1, 0,105,176,249, 62, 21,148, 39, 64,217,214,166, 64,169, 10, 62, 57,251,113, 1, 0,
+ 94, 35,105, 64,230, 88,129, 63,195, 14,143, 64,163, 79, 23, 22,188, 97, 1, 0,114, 17, 68, 64,226,153, 35,192,154, 26,137, 64,
+250, 66, 30,200,171, 93, 1, 0,155, 40,230,190,239,199, 73,192,176, 52,157, 64, 45,246, 19,187,103,107, 1, 0, 37,178, 10,192,
+138,231,201, 63,149,143,166,192, 31,209,244, 33,216,141, 1, 0, 3,132,110,192,243,203, 85, 64,151,107, 66,192, 67,174, 93, 73,
+ 73,190, 1, 0,116,161,174,190, 81,152,241, 63,110, 2,177,192, 38,248,149, 40,221,134, 1, 0,138, 91,154, 63,218,179,133, 64,
+209,222,122,192,185, 26,201, 91,228,170, 1, 0, 7, 82, 52,192, 82,252,149, 64, 64,202, 5,192,177,193, 36,102,136,210, 1, 0,
+179, 12,148, 62,251,221,166, 64,188, 87, 41,192, 34, 7,239,113, 29,198, 1, 0,216,246, 29,192, 17,156,141,190,209,167,169,192,
+176,202, 86,250,199,139, 1, 0, 99, 72,145,192, 79,114,213,191,183, 35, 83,192, 97,156, 62,219,138,184, 1, 0,115, 58,158,192,
+129,120, 33, 64,198, 41,238,191, 60,148,228, 55,113,215, 1, 0,118,158,174,192,103,148, 33,191,140,156, 1,192,201,136,100,241,
+196,211, 1, 0, 55, 14,249, 62, 95,133,102, 62,210,143,186,192,213, 9, 14, 5,124,128, 1, 0,220, 61, 92, 64, 56,230,159,190,
+ 6, 61,151,192,224, 75, 11,249, 40,153, 1, 0, 7, 86, 60, 64, 60, 48,119, 64, 93, 88, 81,192,216, 63, 8, 85,193,184, 1, 0,
+252, 55,139, 64, 62, 95,132, 63,225,216,113,192, 80, 95,209, 21,103,173, 1, 0, 18, 6, 84,191,251, 96,142,191, 76, 4,182,192,
+189,237,121,232,133,131, 1, 0,109, 74,225,189, 51, 54,123,192, 34,246,138,192,203,253,153,169,152,161, 1, 0,153, 66,119, 64,
+127,154,251,191,161,220,123,192,230, 84,182,213, 15,170, 1, 0,201, 59,208, 63,241,182,135,192,212,101,108,192,232, 34,217,162,
+118,175, 1, 0,161,246,169,191,235,196,151,192,170,149, 74,192,196,227, 32,152,192,186, 1, 0, 33,198,131,192,218,137, 84,192,
+ 37,134, 32,192,102,165,233,183,113,201, 1, 0,176, 61,179,192,138,110,210,191, 24,220,228,190,179,133,191,219,126,245, 1, 0,
+ 73,182,170,192,136, 16, 90,190, 90,194, 25, 64,168,139,188,251, 46, 53, 1, 0, 75, 55,153,192, 4, 78, 87, 64, 12, 54, 62,190,
+149,151,222, 73, 60,251, 1, 0,235, 19,161,192,207, 12,210, 63,210,242, 31, 64, 23,146, 90, 35, 63, 55, 1, 0, 60, 75, 94,192,
+189,115,150, 64,186,211,167,190,173,179,116,102, 51,248, 1, 0,186,191,189,191, 63, 32,168, 64,213,100, 7, 64, 46,224,204,114,
+208, 46, 1, 0,242,205,186, 63,141, 65,177, 64,127,219,154,191, 36, 32,223,120,206,228, 1, 0, 99,245,175, 62, 97, 12,178, 64,
+255,253,228, 63, 52, 7,109,121,213, 39, 1, 0,226, 92, 70, 64, 8,131,150, 64,182, 77,204,191, 49, 67, 2,103,141,220, 1, 0,
+200,194,152, 64,180,155, 83, 64,154,217, 62, 63,158,104,199, 71,227, 16, 1, 0, 73,182,170, 64,136, 16, 90, 62, 90,194, 25,192,
+ 88,116, 68, 4,210,202, 1, 0,176, 61,179, 64,138,110,210, 63, 24,220,228, 62, 77,122, 65, 36,130, 10, 1, 0,235, 19,161, 64,
+207, 12,210,191,210,242, 31,192,233,109,166,220,193,200, 1, 0, 75, 55,153, 64, 4, 78, 87,192, 12, 54, 62, 62,107,104, 34,182,
+196, 4, 1, 0,186,191,189, 63, 63, 32,168,192,213,100, 7,192,210, 31, 52,141, 48,209, 1, 0, 60, 75, 94, 64,189,115,150,192,
+186,211,167, 62, 83, 76,140,153,205, 7, 1, 0, 99,245,175,190, 97, 12,178,192,255,253,228,191,204,248,147,134, 43,216, 1, 0,
+242,205,186,191,141, 65,177,192,127,219,154, 63,220,223, 33,135, 50, 27, 1, 0,200,194,152,192,180,155, 83,192,154,217, 62,191,
+ 98,151, 57,184, 29,239, 1, 0,226, 92, 70,192, 8,131,150,192,182, 77,204, 63,207,188,254,152,115, 35, 1, 0,201, 59,208,191,
+241,182,135, 64,212,101,108, 64, 24,221, 39, 93,138, 80, 1, 0,153, 66,119,192,127,154,251, 63,161,220,123, 64, 26,171, 74, 42,
+241, 85, 1, 0,161,246,169, 63,235,196,151, 64,170,149, 74, 64, 60, 28,224,103, 64, 69, 1, 0, 33,198,131, 64,218,137, 84, 64,
+ 37,134, 32, 64,154, 90, 23, 72,143, 54, 1, 0,118,158,174, 64,103,148, 33, 63,140,156, 1, 64, 55,119,156, 14, 60, 44, 1, 0,
+115, 58,158, 64,129,120, 33,192,198, 41,238, 63,196,107, 28,200,143, 40, 1, 0, 7, 82, 52, 64, 82,252,149,192, 64,202, 5, 64,
+ 79, 62,220,153,120, 45, 1, 0,179, 12,148,190,251,221,166,192,188, 87, 41, 64,222,248, 17,142,227, 57, 1, 0, 7, 86, 60,192,
+ 60, 48,119,192, 93, 88, 81, 64, 40,192,248,170, 63, 71, 1, 0,252, 55,139,192, 62, 95,132,191,225,216,113, 64,176,160, 47,234,
+153, 82, 1, 0,220, 61, 92,192, 56,230,159, 62, 6, 61,151, 64, 32,180,245, 6,216,102, 1, 0, 55, 14,249,190, 95,133,102,190,
+210,143,186, 64, 43,246,242,250,132,127, 1, 0,109, 74,225, 61, 51, 54,123, 64, 34,246,138, 64, 53, 2,103, 86,104, 94, 1, 0,
+ 18, 6, 84, 63,251, 96,142, 63, 76, 4,182, 64, 67, 18,135, 23,123,124, 1, 0, 99, 72,145, 64, 79,114,213, 63,183, 35, 83, 64,
+159, 99,194, 36,118, 71, 1, 0,216,246, 29, 64, 17,156,141, 62,209,167,169, 64, 80, 53,170, 5, 57,116, 1, 0, 3,132,110, 64,
+243,203, 85,192,151,107, 66, 64,189, 81,163,182,183, 65, 1, 0, 37,178, 10, 64,138,231,201,191,149,143,166, 64,225, 46, 12,222,
+ 40,114, 1, 0,138, 91,154,191,218,179,133,192,209,222,122, 64, 71,229, 55,164, 28, 85, 1, 0,116,161,174, 62, 81,152,241,191,
+110, 2,177, 64,218, 7,107,215, 35,121, 1, 0, 36, 76, 19,192, 25,151,129, 64,212,254, 98,192,201,206,101, 88,154,177, 1, 0,
+ 93,232,175,191,177, 23, 64, 64, 69,186,154,192,229,225,204, 66, 13,151, 1, 0,208,190,232,190, 93,160,139, 64,191, 33,120,192,
+216,244,220, 94,204,170, 1, 0,210,126,142,192, 43, 49,238, 63,112, 30, 84,192,185,158,127, 39,203,182, 1, 0,138,165, 97,192,
+ 92, 9, 80, 63, 20, 74,147,192,212,177,229, 17, 63,156, 1, 0, 98, 61,152,192, 87, 63,106,188, 6, 97, 90,192,114,152,219, 0,
+199,180, 1, 0,200,173, 14, 64,155,183, 63, 64,192, 75,144,192,205, 48, 77, 64,172,156, 1, 0, 95,162,167, 63,144, 29,209, 63,
+ 25,245,174,192,217, 29, 61, 36,238,136, 1, 0,211, 62, 68, 64, 51, 56,168, 63, 13,245,153,192, 12, 66,168, 29,115,150, 1, 0,
+ 33,182, 36, 64, 34, 38,220,191,150, 5,159,192, 10, 55,224,217,234,146, 1, 0, 16, 34, 81, 63,129, 64,179,191,162, 5,180,192,
+215, 18,118,224,100,133, 1, 0,212, 56,159, 63,172,166, 68,192,212,108,154,192,164, 27, 0,190,224,149, 1, 0,204, 76,223,191,
+170, 32,101,192, 65, 83,137,192,225,216,170,178,208,161, 1, 0,249,249, 10,192, 62, 52,244,191, 25,236,162,192, 21,208, 32,213,
+ 85,145, 1, 0, 42,207, 89,192,251, 6, 47,192, 27,165,121,192,179,182, 21,196,221,169, 1, 0,137,215,176,192, 25, 62,241, 63,
+179,254,219,190,190,134, 7, 40, 61,247, 1, 0, 28,150,186,192,150, 16, 28, 60,191, 9, 7,191,120,128,100, 1, 57,245, 1, 0,
+ 34,132,181,192, 99, 60, 92, 63,217, 81,149, 63,188,131,235, 18, 33, 24, 1, 0,175,242, 74,190,164,173,183, 64,227,105,145,191,
+146,250,157,125, 8,232, 1, 0,219,227, 2,192, 96,164,173, 64,200, 71, 78,191,131,212, 38,119,214,238, 1, 0,181,140, 92,191,
+ 75, 38,184, 64,176,148, 37, 63,231,236,234,125,196, 12, 1, 0, 75,104,159, 64,212, 56,236, 63,240,126, 29,192,213,108,134, 41,
+245,202, 1, 0,215,159,132, 64, 84,184, 97, 64, 30, 44, 10,192,150, 91, 44, 76, 46,209, 1, 0, 95,122,164, 64,199,143, 44, 64,
+ 53, 78, 68,191, 25,112, 14, 59,222,237, 1, 0,255,176, 54, 64,243, 84,141,192,237,176, 36,192,159, 63,250,159, 50,200, 1, 0,
+ 93,229,133, 64,217, 21, 68,192,157,226, 45,192, 6, 91,218,187, 61,197, 1, 0,203, 56,129, 64, 21,211,130,192,187,115,143,191,
+ 3, 88,190,166, 33,230, 1, 0,189,239,104,192, 82,142,140,192,178,178,168,191,108,177, 13,159,144,227, 1, 0, 50,141,253,191,
+ 52,155,167,192,170,181,218,191,154,211,162,141,131,219, 1, 0,164, 58, 41,192,172, 34,167,192,206,232,151, 61,239,197,240,141,
+ 63, 0, 1, 0, 93,229,133,192,217, 21, 68, 64,157,226, 45, 64,250,164, 38, 68,195, 58, 1, 0,203, 56,129,192, 21,211,130, 64,
+187,115,143, 63,253,167, 66, 89,223, 25, 1, 0,255,176, 54,192,243, 84,141, 64,237,176, 36, 64, 97,192, 6, 96,206, 55, 1, 0,
+ 50,141,253, 63, 52,155,167, 64,170,181,218, 63,102, 44, 94,114,125, 36, 1, 0,164, 58, 41, 64,172, 34,167, 64,206,232,151,189,
+ 17, 58, 16,114,193,255, 1, 0,189,239,104, 64, 82,142,140, 64,178,178,168, 63,148, 78,243, 96,112, 28, 1, 0, 28,150,186, 64,
+150, 16, 28,188,191, 9, 7, 63,136,127,156,254,199, 10, 1, 0, 34,132,181, 64, 99, 60, 92,191,217, 81,149,191, 68,124, 21,237,
+223,231, 1, 0,137,215,176, 64, 25, 62,241,191,179,254,219, 62, 66,121,249,215,195, 8, 1, 0,219,227, 2, 64, 96,164,173,192,
+200, 71, 78, 63,125, 43,218,136, 42, 17, 1, 0,181,140, 92, 63, 75, 38,184,192,176,148, 37,191, 25, 19, 22,130, 60,243, 1, 0,
+175,242, 74, 62,164,173,183,192,227,105,145, 63,110, 5, 99,130,248, 23, 1, 0,215,159,132,192, 84,184, 97,192, 30, 44, 10, 64,
+106,164,212,179,210, 46, 1, 0, 95,122,164,192,199,143, 44,192, 53, 78, 68, 63,231,143,242,196, 34, 18, 1, 0, 75,104,159,192,
+212, 56,236,191,240,126, 29, 64, 43,147,122,214, 11, 53, 1, 0,212, 56,159,191,172,166, 68, 64,212,108,154, 64, 92,228, 0, 66,
+ 32,106, 1, 0, 33,182, 36,192, 34, 38,220, 63,150, 5,159, 64,246,200, 32, 38, 22,109, 1, 0, 16, 34, 81,191,129, 64,179, 63,
+162, 5,180, 64, 41,237,138, 31,156,122, 1, 0, 42,207, 89, 64,251, 6, 47, 64, 27,165,121, 64, 77, 73,235, 59, 35, 86, 1, 0,
+208, 76,223, 63,170, 32,101, 64, 65, 83,137, 64, 31, 39, 86, 77, 48, 94, 1, 0,249,249, 10, 64, 62, 52,244, 63, 25,236,162, 64,
+235, 47,224, 42,171,110, 1, 0,210,126,142, 64, 43, 49,238,191,112, 30, 84, 64, 71, 97,129,216, 53, 73, 1, 0, 98, 61,152, 64,
+ 87, 63,106, 60, 6, 97, 90, 64,142,103, 37,255, 57, 75, 1, 0,138,165, 97, 64, 92, 9, 80,191, 20, 74,147, 64, 44, 78, 27,238,
+193, 99, 1, 0,208,190,232, 62, 93,160,139,192,191, 33,120, 64, 40, 11, 36,161, 52, 85, 1, 0, 36, 76, 19, 64, 25,151,129,192,
+212,254, 98, 64, 55, 49,155,167,102, 78, 1, 0, 93,232,175, 63,177, 23, 64,192, 69,186,154, 64, 27, 30, 52,189,243,104, 1, 0,
+211, 62, 68,192, 51, 56,168,191, 13,245,153, 64,244,189, 88,226,141,105, 1, 0,200,173, 14,192,155,183, 63,192,192, 75,144, 64,
+ 51,207,179,191, 84, 99, 1, 0, 95,162,167,191,144, 29,209,191, 25,245,174, 64, 39,226,195,219, 18,119, 1, 0,158,156,211,191,
+185,228,132, 63,190,207,176,192,249,219,152, 22, 71,135, 1, 0, 0, 76, 41,192,190,199, 5, 64, 83,157,153,192, 56,198,174, 45,
+ 83,151, 1, 0,204, 83,125,192,169, 55,105, 64,244,162, 20,192,132,169,162, 79,100,205, 1, 0,178,215, 91,192,222,235, 62, 64,
+190,254,108,192, 26,181, 8, 65, 28,175, 1, 0,242, 63, 59,191,210,237,152, 63,251, 21,182,192,248,239,253, 25,180,131, 1, 0,
+ 86,230, 94, 61,198, 30, 35, 64,233, 15,169,192, 62, 1,180, 55,197,140, 1, 0,220, 4,199, 63, 7,145,146, 64,104,186, 83,192,
+ 3, 34, 24,100,216,183, 1, 0, 9,120, 86, 63,149, 91,109, 64, 79,242,142,192, 57, 18,216, 80,117,158, 1, 0,103,243, 95,192,
+221, 91,138, 64,186, 15,236,191,121,179, 96, 94,195,215, 1, 0, 46,206, 5,192,121, 41,159, 64,154, 91, 19,192,127,210,143,108,
+188,205, 1, 0,169,200,139, 63,198, 78,163, 64,201,146, 42,192,249, 23,113,111,202,197, 1, 0,187,128, 4,191,206,181,167, 64,
+ 74, 92, 37,192,151,244, 89,114,164,199, 1, 0,151, 16,231,191,160,166,209, 61,167, 95,178,192,173,216, 74, 2, 56,134, 1, 0,
+163,200, 69,192,178,143, 38,191,148, 48,158,192,124,188,192,241, 51,148, 1, 0, 43,192,155,192,151, 6,250,191,170, 82, 39,192,
+166,149, 76,213, 2,199, 1, 0,233,118,132,192,217,111,173,191, 67,122,123,192,191,165,124,226, 46,170, 1, 0,238, 85,146,192,
+178,205, 78, 64, 70, 54,221,191, 47,156,175, 70, 71,218, 1, 0, 76,137,167,192,111, 31,227, 63,158, 57,251,191,187,141,154, 38,
+ 42,213, 1, 0, 39,143,170,192,167, 15,183,191,251, 85,252,191,157,139,164,224,245,212, 1, 0, 8,214,175,192,177,124, 53, 62,
+206,241, 2,192, 28,136,252, 3, 92,211, 1, 0, 77,160,160,190, 9, 20,182, 62,108,232,186,192, 8,249,201, 7,111,128, 1, 0,
+ 33,144,163, 63,151,144,186, 61, 50, 47,183,192,255, 27,247, 1, 31,131, 1, 0,222,179,129, 64,234,147,224,190, 38,180,134,192,
+157, 88,103,246, 37,164, 1, 0,114,138, 49, 64,246, 97, 57,190, 57, 76,165,192,109, 60, 18,252, 60,143, 1, 0,249,158, 27, 64,
+197,118,141, 64, 58,196, 62,192, 6, 53,163, 96,242,190, 1, 0, 98,244, 89, 64, 8,120, 79, 64, 65,128, 96,192, 94, 74,162, 70,
+111,179, 1, 0, 13,100,144, 64,200,214,118, 62, 64,205,110,192,146, 98, 37, 5,132,174, 1, 0, 42,202,131, 64, 60,161,231, 63,
+142,245,112,192,210, 89,152, 39,220,173, 1, 0,149, 51,122,191, 52,151,163,190, 15,157,184,192,162,234, 36,249,253,129, 1, 0,
+ 5,113, 42,191, 31,112,241,191, 15,119,176,192,128,241,188,214,182,135, 1, 0, 60, 55,172, 61, 22, 64,143,192,164,246,113,192,
+221, 1, 37,158,133,173, 1, 0,167,173,154,190,111,224, 83,192,198,169,154,192, 98,249,221,183,123,150, 1, 0,151,133,136, 64,
+ 9,249,162,191,106,219,115,192, 61, 93, 76,228,206,172, 1, 0,110,124, 89, 64,135, 6, 40,192,223,195,127,192, 18, 74,160,198,
+205,168, 1, 0,244,248,117, 63,109, 90,148,192,123, 0, 93,192,225, 20,176,154,159,180, 1, 0,162, 0, 17, 64, 63,196,113,192,
+ 52,239,119,192,134, 49,167,173,116,171, 1, 0,162,217, 7,191, 21,117,156,192,222,238, 75,192,137,244, 50,149,104,186, 1, 0,
+171,144, 6,192,112,158,144,192,198,241, 69,192, 4,210,111,157,136,188, 1, 0,110,238,148,192,115,109, 50,192,187,197, 13,192,
+ 69,154, 50,195,171,207, 1, 0, 79,252, 96,192,140, 40,115,192,116,165, 48,192,100,179, 10,173,191,195, 1, 0,100,228,172,192,
+217,128,248,191, 8, 93,150,191, 8,138,142,213, 59,230, 1, 0, 82,171,182,192,216,250,168,191, 15, 15,147, 62,113,131, 63,227,
+ 95, 6, 1, 0,215, 73,160,192,124,165, 49, 62,232, 85, 66, 64,167,146,217, 3,105, 66, 1, 0,171, 89,178,192,192,115, 24,191,
+ 78,116,221, 63, 94,134,244,242,165, 37, 1, 0, 51,206,143,192,133,250,105, 64,119,251, 97,191,230,157,228, 79,157,236, 1, 0,
+ 62, 32,160,192,163, 38, 65, 64,164,117, 3, 63,203,146,203, 65, 78, 11, 1, 0,216,108,155,192, 59,255,141, 63,189,117, 69, 64,
+243,149, 37, 24,120, 67, 1, 0, 85, 27,164,192,244, 78, 9, 64, 87,193,239, 63, 25,144,226, 46,198, 40, 1, 0,134, 35,117,192,
+ 39,152,138, 64, 73, 86,116,191, 74,172,136, 94, 15,235, 1, 0, 35,220, 67,192, 6,218,159, 64,242,103,155, 62, 75,189, 8,109,
+183, 6, 1, 0,130, 79, 99,191,215,182,164, 64, 10, 4, 42, 64,180,236,103,112, 26, 58, 1, 0,161, 86, 3,192, 14,205,168, 64,
+ 60, 55,197, 63, 37,211, 23,115,135, 33, 1, 0,229,101,215, 63, 84,141,168, 64, 16, 90,248,191,201, 36,255,114,131,213, 1, 0,
+ 99, 52,155, 63,198, 17,183, 64,232,199,235,190,107, 26,216,124, 17,246, 1, 0,105,179, 10, 61, 25,185,169, 64,120,119, 31, 64,
+177, 0,204,115,135, 54, 1, 0,143,198, 37, 63,123,120,183, 64,160,108,135, 63, 44, 14, 29,125,249, 22, 1, 0,180,174, 32, 64,
+ 65, 13,155, 64,238,167, 8,192,189, 54,216,105, 72,209, 1, 0, 69,199,104, 64,177,135,143, 64, 41, 12,132,191,111, 79,211, 97,
+148,233, 1, 0,121,134,159, 64, 49,245, 49, 64,210,166,169, 63,233,108,165, 60, 9, 29, 1, 0, 52,133,143, 64,119,200,113, 64,
+186,206, 29, 62,207, 97,126, 82, 70, 3, 1, 0,215, 73,160, 64,124,165, 49,190,232, 85, 66,192, 89,109, 39,252,151,189, 1, 0,
+171, 89,178, 64,192,115, 24, 63, 78,116,221,191,162,121, 12, 13, 91,218, 1, 0,100,228,172, 64,217,128,248, 63, 8, 93,150, 63,
+248,117,114, 42,197, 25, 1, 0, 82,171,182, 64,216,250,168, 63, 15, 15,147,190,143,124,193, 28,161,249, 1, 0,216,108,155, 64,
+ 59,255,141,191,189,117, 69,192, 13,106,219,231,136,188, 1, 0, 85, 27,164, 64,244, 78, 9,192, 87,193,239,191,231,111, 30,209,
+ 58,215, 1, 0, 51,206,143, 64,133,250,105,192,119,251, 97, 63, 26, 98, 28,176, 99, 19, 1, 0, 62, 32,160, 64,163, 38, 65,192,
+164,117, 3,191, 53,109, 53,190,178,244, 1, 0,130, 79, 99, 63,215,182,164,192, 10, 4, 42,192, 76, 19,153,143,230,197, 1, 0,
+161, 86, 3, 64, 14,205,168,192, 60, 55,197,191,219, 44,233,140,121,222, 1, 0,134, 35,117, 64, 39,152,138,192, 73, 86,116, 63,
+182, 83,120,161,241, 20, 1, 0, 35,220, 67, 64, 6,218,159,192,242,103,155,190,181, 66,248,146, 73,249, 1, 0,105,179, 10,189,
+ 25,185,169,192,120,119, 31,192, 79,255, 52,140,121,201, 1, 0,143,198, 37,191,123,120,183,192,160,108,135,191,212,241,227,130,
+ 7,233, 1, 0,229,101,215,191, 84,141,168,192, 16, 90,248, 63, 55,219, 1,141,125, 42, 1, 0, 99, 52,155,191,198, 17,183,192,
+232,199,235, 62,149,229, 40,131,239, 9, 1, 0,121,134,159,192, 49,245, 49,192,210,166,169,191, 23,147, 91,195,247,226, 1, 0,
+ 52,133,143,192,119,200,113,192,186,206, 29,190, 49,158,130,173,186,252, 1, 0,180,174, 32,192, 65, 13,155,192,238,167, 8, 64,
+ 67,201, 40,150,184, 46, 1, 0, 69,199,104,192,177,135,143,192, 41, 12,132, 63,145,176, 45,158,108, 22, 1, 0,244,248,117,191,
+109, 90,148, 64,123, 0, 93, 64, 31,235, 80,101, 97, 75, 1, 0,162, 0, 17,192, 63,196,113, 64, 52,239,119, 64,122,206, 89, 82,
+140, 84, 1, 0,151,133,136,192, 9,249,162, 63,106,219,115, 64,195,162,180, 27, 50, 83, 1, 0,110,124, 89,192,135, 6, 40, 64,
+223,195,127, 64,238,181, 96, 57, 51, 87, 1, 0,162,217, 7, 63, 21,117,156, 64,222,238, 75, 64,119, 11,206,106,152, 69, 1, 0,
+171,144, 6, 64,112,158,144, 64,198,241, 69, 64,252, 45,145, 98,120, 67, 1, 0,110,238,148, 64,115,109, 50, 64,187,197, 13, 64,
+187,101,206, 60, 85, 48, 1, 0, 79,252, 96, 64,140, 40,115, 64,116,165, 48, 64,156, 76,246, 82, 65, 60, 1, 0, 39,143,170, 64,
+167, 15,183, 63,251, 85,252, 63, 99,116, 92, 31, 11, 43, 1, 0, 8,214,175, 64,177,124, 53,190,206,241, 2, 64,228,119, 4,252,
+164, 44, 1, 0,238, 85,146, 64,178,205, 78,192, 70, 54,221, 63,209, 99, 81,185,185, 37, 1, 0, 76,137,167, 64,111, 31,227,191,
+158, 57,251, 63, 69,114,102,217,214, 42, 1, 0,103,243, 95, 64,221, 91,138,192,186, 15,236, 63,135, 76,160,161, 61, 40, 1, 0,
+ 46,206, 5, 64,121, 41,159,192,154, 91, 19, 64,129, 45,113,147, 68, 50, 1, 0,169,200,139,191,198, 78,163,192,201,146, 42, 64,
+ 7,232,143,144, 54, 58, 1, 0,187,128, 4, 63,206,181,167,192, 74, 92, 37, 64,105, 11,167,141, 92, 56, 1, 0,249,158, 27,192,
+197,118,141,192, 58,196, 62, 64,250,202, 93,159, 14, 65, 1, 0, 98,244, 89,192, 8,120, 79,192, 65,128, 96, 64,162,181, 94,185,
+145, 76, 1, 0, 13,100,144,192,200,214,118,190, 64,205,110, 64,110,157,219,250,124, 81, 1, 0, 42,202,131,192, 60,161,231,191,
+142,245,112, 64, 46,166,104,216, 36, 82, 1, 0,222,179,129,192,234,147,224, 62, 38,180,134, 64, 99,167,153, 9,219, 91, 1, 0,
+114,138, 49,192,246, 97, 57, 62, 57, 76,165, 64,147,195,238, 3,196,112, 1, 0, 77,160,160, 62, 9, 20,182,190,108,232,186, 64,
+248, 6, 55,248,145,127, 1, 0, 33,144,163,191,151,144,186,189, 50, 47,183, 64, 1,228, 9,254,225,124, 1, 0, 60, 55,172,189,
+ 22, 64,143, 64,164,246,113, 64, 35,254,219, 97,123, 82, 1, 0,167,173,154, 62,111,224, 83, 64,198,169,154, 64,158, 6, 35, 72,
+133,105, 1, 0,149, 51,122, 63, 52,151,163, 62, 15,157,184, 64, 94, 21,220, 6, 3,126, 1, 0, 5,113, 42, 63, 31,112,241, 63,
+ 15,119,176, 64,128, 14, 68, 41, 74,120, 1, 0, 43,192,155, 64,151, 6,250, 63,170, 82, 39, 64, 90,106,180, 42,254, 56, 1, 0,
+233,118,132, 64,217,111,173, 63, 67,122,123, 64, 65, 90,132, 29,210, 85, 1, 0,151, 16,231, 63,160,166,209,189,167, 95,178, 64,
+ 83, 39,182,253,200,121, 1, 0,163,200, 69, 64,178,143, 38, 63,148, 48,158, 64,132, 67, 64, 14,205,107, 1, 0,204, 83,125, 64,
+169, 55,105,192,244,162, 20, 64,124, 86, 94,176,156, 50, 1, 0,178,215, 91, 64,222,235, 62,192,190,254,108, 64,230, 74,248,190,
+228, 80, 1, 0,158,156,211, 63,185,228,132,191,190,207,176, 64, 7, 36,104,233,185,120, 1, 0, 0, 76, 41, 64,190,199, 5,192,
+ 83,157,153, 64,200, 57, 82,210,173,104, 1, 0,220, 4,199,191, 7,145,146,192,104,186, 83, 64,253,221,232,155, 40, 72, 1, 0,
+ 9,120, 86,191,149, 91,109,192, 79,242,142, 64,199,237, 40,175,139, 97, 1, 0,242, 63, 59, 63,210,237,152,191,251, 21,182, 64,
+ 8, 16, 3,230, 76,124, 1, 0, 86,230, 94,189,198, 30, 35,192,233, 15,169, 64,194,254, 76,200, 59,115, 1, 0,208, 27, 46,192,
+124,104, 86, 64, 85, 52,126,192,122,197, 16, 73,183,168, 1, 0, 82,168,234,191, 87, 62,149, 64,118, 12, 67,192,197,216,162,101,
+209,188, 1, 0,186, 10, 16,192,249,106, 52, 64,210,253,147,192,231,206,104, 62,158,155, 1, 0, 93, 33,240,190,191,199, 71, 64,
+142, 47,158,192,166,245,253, 68,176,148, 1, 0, 19, 46, 71,187,194,240,115, 64,175,166,142,192, 0,255,213, 82,110,158, 1, 0,
+188,194,101,191, 17, 84,154, 64,240,193, 77,192,140,235,211,104,117,185, 1, 0,246,246,115,192,183, 86, 15, 64, 51,168,118,192,
+208,172,249, 47, 97,171, 1, 0,101, 1,160,192, 47,146,184, 63,153, 38, 45,192,249,146,160, 30, 91,196, 1, 0,215,229, 85,192,
+166,178,218, 63,183, 55,144,192, 61,182, 81, 37, 72,158, 1, 0,151,178,104,192,245,107,205,189,175, 60,147,192,218,175,251,253,
+ 58,156, 1, 0,192, 81,136,192, 55,239, 4,191, 24,222,127,192, 84,163,147,245, 85,168, 1, 0, 70,241,164,192,102,218,251, 62,
+143, 82, 48,192,224,143,144, 11, 93,195, 1, 0,209,230,173, 63,231,135, 71, 64, 27,234,152,192,195, 29, 39, 67, 46,151, 1, 0,
+158,103, 67, 64, 82,206, 51, 64, 39,168,132,192,158, 66,115, 60,243,164, 1, 0,136,131,100, 63, 16, 95, 27, 64, 4,115,168,192,
+106, 20, 79, 53,113,141, 1, 0, 77,154,217, 63,185, 69, 78, 63,221,196,177,192,249, 37, 9, 18, 27,135, 1, 0,107,195, 37, 64,
+ 4,213, 36, 63, 20, 33,167,192,212, 55,201, 14,199,141, 1, 0,103,139, 94, 64,153,146,250, 63, 72,141,137,192, 32, 75, 91, 43,
+225,161, 1, 0,231,195, 21, 64,236, 58,101,191,218,178,169,192, 46, 50, 2,236,247,139, 1, 0,142, 32, 48, 64,155,140, 32,192,
+195, 1,145,192, 36, 59,237,200,191,156, 1, 0, 70,155,185, 63, 12,202, 59,191,163, 86,180,192, 83, 32, 66,239, 75,133, 1, 0,
+ 29, 97, 43, 62,144,118, 2,192,125,231,175,192,109, 4,225,210, 78,136, 1, 0, 97,116,196, 62, 10,176, 56,192,120,239,162,192,
+197, 8,225,193,112,144, 1, 0,185, 2, 5, 64,217,105, 76,192,135,173,142,192,159, 45, 45,187, 53,158, 1, 0,163,243,144,191,
+252, 41, 73,192,148, 66,154,192,132,230, 16,188,144,150, 1, 0,147,133, 20,192,234, 55,124,192,176, 3,107,192,172,204,182,170,
+139,175, 1, 0, 42,186, 60,192,219,128,189,191, 23, 43,155,192, 96,191,203,222,161,150, 1, 0, 52,164,172,191,106,240, 18,192,
+141, 58,167,192, 44,226, 15,205,110,142, 1, 0, 12,171,100,192,249, 33,243,191,106,221,135,192,218,178, 99,214,187,162, 1, 0,
+195, 78, 74,192,241,206, 96,192, 98, 88, 94,192,207,187, 78,179,131,179, 1, 0, 41,110,177,192, 81, 30,186, 63,105,249,158,191,
+171,134,229, 30,109,229, 1, 0, 45,138,172,192,114,149, 17, 64,127,203,200, 62,254,137,191, 48,246, 8, 1, 0, 10, 94,182,192,
+ 48, 5, 1, 63, 86, 81,165,191,147,131,214, 11,110,228, 1, 0,117,224,186,192, 37,234,247,190,147, 56,126, 62,130,128, 89,246,
+234, 5, 1, 0,204, 78,184,192, 19,193, 89,189,187,163,141, 63, 30,130,255,254, 35, 23, 1, 0,105,232,174,192,151,187,224, 63,
+156,183,153, 63,130,136, 85, 38, 48, 25, 1, 0, 42,118, 68,191,101,173,176, 64,114,132,233,191,124,238,154,120,225,216, 1, 0,
+ 81,172,191, 62, 67,208,186, 64,195,163,216,190, 80, 7,126,127, 90,247, 1, 0,113, 2,218,191,172,151,171, 64,114, 25,212,191,
+182,219,106,117, 61,220, 1, 0,251,244, 21,192, 28, 12,172, 64, 13,151,128, 61,203,205,185,117,163, 1, 1, 0, 51, 39,223,191,
+248, 94,177, 64,104,122, 76, 63,211,217, 16,121,103, 16, 1, 0, 72,208, 28, 61, 91, 13,187, 64, 64,215,245, 62,146, 0,164,127,
+121, 9, 1, 0, 45, 93,142, 64, 70,137, 14, 64,147,202, 70,192, 20, 97,115, 49,210,188, 1, 0,106, 23,173, 64,157,131,182, 63,
+175,176,225,191,246,117, 6, 32, 7,218, 1, 0, 78,203,128, 64,124, 14, 69, 64, 55, 0, 61,192,146, 88,138, 66,228,191, 1, 0,
+133,175,133, 64, 28,149,121, 64, 51,212,168,191,229, 91,100, 84,110,227, 1, 0, 8,211,149, 64, 84,166, 94, 64, 68, 24, 29,191,
+ 3,102,242, 75,149,241, 1, 0, 31,169,175, 64,138,176,237, 63, 15,168,103,191,147,119,172, 40, 64,235, 1, 0,122, 78, 57, 64,
+224, 12,120,192, 7, 56, 84,192, 22, 64,197,171, 7,184, 1, 0, 0, 74, 48, 64,245,165,155,192,208, 87,227,191, 5, 61, 71,150,
+132,217, 1, 0, 85,108,100, 64,115, 47, 76,192,149,224, 88,192,154, 77,133,185,145,182, 1, 0,173,191,150, 64,227,233, 55,192,
+198,101,254,191,111,102,105,192, 10,213, 1, 0,119, 97,148, 64,200, 33, 89,192, 24,225,150,191,243,100,255,181, 68,229, 1, 0,
+ 75,171, 86, 64, 36, 83,150,192, 22, 36,133,191, 14, 73,157,153, 72,232, 1, 0,116,251, 81,192,115, 80,139,192, 57,124, 10,192,
+ 26,185, 78,160, 31,209, 1, 0, 70,239,122,192, 53,220,138,192,113, 86,227,190, 47,171,157,160,134,246, 1, 0, 14, 50, 28,192,
+245, 4,153,192,141, 39, 23,192,247,201,182,151, 38,205, 1, 0, 34,123,189,191,203,168,178,192,149,106,130,191,217,222, 73,134,
+ 91,234, 1, 0,176,127,232,191,177,107,178,192, 47,189,236,189, 27,216,111,134,122,252, 1, 0, 53,168, 90,192,169, 83,152,192,
+227,201,133, 62, 78,181, 43,152,172, 4, 1, 0,173,191,150,192,227,233, 55, 64,198,101,254, 63,145,153,151, 63,246, 42, 1, 0,
+ 85,108,100,192,115, 47, 76, 64,149,224, 88, 64,102,178,123, 70,111, 73, 1, 0,119, 97,148,192,200, 33, 89, 64, 24,225,150, 63,
+ 13,155, 1, 74,188, 26, 1, 0, 75,171, 86,192, 36, 83,150, 64, 22, 36,133, 63,242,182, 99,102,184, 23, 1, 0, 0, 74, 48,192,
+245,165,155, 64,208, 87,227, 63,251,194,185,105,124, 38, 1, 0,122, 78, 57,192,224, 12,120, 64, 7, 56, 84, 64,234,191, 59, 84,
+249, 71, 1, 0, 34,123,189, 63,203,168,178, 64,149,106,130, 63, 39, 33,183,121,165, 21, 1, 0, 14, 50, 28, 64,245, 4,153, 64,
+141, 39, 23, 64, 9, 54, 74,104,218, 50, 1, 0,176,127,232, 63,177,107,178, 64, 47,189,236, 61,229, 39,145,121,134, 3, 1, 0,
+ 53,168, 90, 64,169, 83,152, 64,227,201,133,190,178, 74,213,103, 84,251, 1, 0, 70,239,122, 64, 53,220,138, 64,113, 86,227, 62,
+209, 84, 99, 95,122, 9, 1, 0,116,251, 81, 64,115, 80,139, 64, 57,124, 10, 64,230, 70,178, 95,225, 46, 1, 0,117,224,186, 64,
+ 37,234,247, 62,147, 56,126,190,126,127,167, 9, 22,250, 1, 0, 10, 94,182, 64, 48, 5, 1,191, 86, 81,165, 63,109,124, 42,244,
+146, 27, 1, 0,204, 78,184, 64, 19,193, 89, 61,187,163,141,191,226,125, 1, 1,221,232, 1, 0,105,232,174, 64,151,187,224,191,
+156,183,153,191,126,119,171,217,208,230, 1, 0, 45,138,172, 64,114,149, 17,192,127,203,200,190, 2,118, 65,207, 10,247, 1, 0,
+ 41,110,177, 64, 81, 30,186,191,105,249,158, 63, 85,121, 27,225,147, 26, 1, 0,251,244, 21, 64, 28, 12,172,192, 13,151,128,189,
+ 53, 50, 71,138, 93,254, 1, 0,113, 2,218, 63,172,151,171,192,114, 25,212, 63, 74, 36,150,138,195, 35, 1, 0, 51, 39,223, 63,
+248, 94,177,192,104,122, 76,191, 45, 38,240,134,153,239, 1, 0, 72,208, 28,189, 91, 13,187,192, 64,215,245,190,110,255, 92,128,
+135,246, 1, 0, 81,172,191,190, 67,208,186,192,195,163,216, 62,176,248,130,128,166, 8, 1, 0, 42,118, 68, 63,101,173,176,192,
+114,132,233, 63,132, 17,102,135, 31, 39, 1, 0,133,175,133,192, 28,149,121,192, 51,212,168, 63, 27,164,156,171,146, 28, 1, 0,
+ 78,203,128,192,124, 14, 69,192, 55, 0, 61, 64,110,167,118,189, 28, 64, 1, 0, 31,169,175,192,138,176,237,191, 15,168,103, 63,
+109,136, 84,215,192, 20, 1, 0, 8,211,149,192, 84,166, 94,192, 68, 24, 29, 63,253,153, 14,180,107, 14, 1, 0,106, 23,173,192,
+157,131,182,191,175,176,225, 63, 10,138,250,223,249, 37, 1, 0, 45, 93,142,192, 70,137, 14,192,147,202, 70, 64,236,158,141,206,
+ 46, 67, 1, 0,185, 2, 5,192,217,105, 76, 64,135,173,142, 64, 97,210,211, 68,203, 97, 1, 0, 97,116,196,190, 10,176, 56, 64,
+120,239,162, 64, 59,247, 31, 62,144,111, 1, 0,142, 32, 48,192,155,140, 32, 64,195, 1,145, 64,220,196, 19, 55, 65, 99, 1, 0,
+231,195, 21,192,236, 58,101, 63,218,178,169, 64,210,205,254, 19, 9,116, 1, 0, 70,155,185,191, 12,202, 59, 63,163, 86,180, 64,
+173,223,190, 16,181,122, 1, 0, 29, 97, 43,190,144,118, 2, 64,125,231,175, 64,147,251, 31, 45,178,119, 1, 0,195, 78, 74, 64,
+241,206, 96, 64, 98, 88, 94, 64, 49, 68,178, 76,125, 76, 1, 0, 12,171,100, 64,249, 33,243, 63,106,221,135, 64, 38, 77,157, 41,
+ 69, 93, 1, 0,147,133, 20, 64,234, 55,124, 64,176, 3,107, 64, 84, 51, 74, 85,117, 80, 1, 0,164,243,144, 63,252, 41, 73, 64,
+148, 66,154, 64,124, 25,240, 67,112,105, 1, 0, 52,164,172, 63,106,240, 18, 64,141, 58,167, 64,212, 29,241, 50,146,113, 1, 0,
+ 42,186, 60, 64,219,128,189, 63, 23, 43,155, 64,160, 64, 53, 33, 95,105, 1, 0,101, 1,160, 64, 47,146,184,191,153, 38, 45, 64,
+ 7,109, 96,225,165, 59, 1, 0,246,246,115, 64,183, 86, 15,192, 51,168,118, 64, 48, 83, 7,208,159, 84, 1, 0, 70,241,164, 64,
+102,218,251,190,143, 82, 48, 64, 32,112,112,244,163, 60, 1, 0,192, 81,136, 64, 55,239, 4, 63, 24,222,127, 64,172, 92,109, 10,
+171, 87, 1, 0,151,178,104, 64,245,107,205, 61,175, 60,147, 64, 38, 80, 5, 2,198, 99, 1, 0,215,229, 85, 64,166,178,218,191,
+183, 55,144, 64,195, 73,175,218,184, 97, 1, 0,188,194,101, 63, 17, 84,154,192,240,193, 77, 64,116, 20, 45,151,139, 70, 1, 0,
+ 19, 46, 71, 59,194,240,115,192,175,166,142, 64, 0, 1, 43,173,146, 97, 1, 0, 82,168,234, 63, 87, 62,149,192,118, 12, 67, 64,
+ 59, 39, 94,154, 47, 67, 1, 0,208, 27, 46, 64,124,104, 86,192, 85, 52,126, 64,134, 58,240,182, 73, 87, 1, 0,186, 10, 16, 64,
+249,106, 52,192,210,253,147, 64, 25, 49,152,193, 98,100, 1, 0, 93, 33,240, 62,191,199, 71,192,142, 47,158, 64, 90, 10, 3,187,
+ 80,107, 1, 0,103,139, 94,192,153,146,250,191, 72,141,137, 64,224,180,165,212, 31, 94, 1, 0,107,195, 37,192, 4,213, 36,191,
+ 20, 33,167, 64, 44,200, 55,241, 57,114, 1, 0,158,103, 67,192, 82,206, 51,192, 39,168,132, 64, 98,189,141,195, 13, 91, 1, 0,
+209,230,173,191,231,135, 71,192, 27,234,152, 64, 61,226,217,188,210,104, 1, 0, 77,154,217,191,185, 69, 78,191,221,196,177, 64,
+ 7,218,247,237,229,120, 1, 0,136,131,100,191, 16, 95, 27,192, 4,115,168, 64,150,235,177,202,143,114, 1, 0,139,220, 37,192,
+245,135,141, 64,114,173, 54,192, 49,199, 96, 96,209,193, 1, 0,204,119, 84,192, 93, 73,130, 64,212,107, 38,192, 46,183,222, 88,
+151,199, 1, 0,208, 76, 67,192, 62,120,111, 64, 14, 89, 85,192, 82,189,194, 81,136,183, 1, 0, 68,147,238,191,166,230,100, 64,
+234, 9,136,192,206,215,123, 78, 57,163, 1, 0, 30,149,109,191, 40, 18,111, 64,171,100,141,192, 48,235,197, 81,194,159, 1, 0,
+144,237,178,191, 25,136,136, 64,121, 1,113,192,117,225,197, 92, 71,173, 1, 0,214, 82, 66, 63,128,115,152, 64,164, 25, 85,192,
+ 1, 17, 31,104,135,183, 1, 0,119,155,171,189,138, 40,155, 64,113, 96, 83,192,123,254,195,105,238,183, 1, 0, 67,138,194, 62,
+177, 97,138, 64, 75,158,124,192,109, 8,131, 94, 26,170, 1, 0,158,106, 94,191,167,106, 30, 64,254,240,167,192,230,236,191, 53,
+107,141, 1, 0, 22,114,229,191,193, 96, 20, 64,253,167,162,192, 20,217, 97, 50,247,144, 1, 0, 45,210,162,191,233,211,224, 63,
+184, 67,174,192, 71,228,227, 37,237,136, 1, 0, 37, 61,152,192,230, 9, 14, 64,137,179, 39,192, 84,152,178, 48,225,198, 1, 0,
+232,187,140,192, 6, 96, 62, 64,107,247, 30,192, 9,160, 82, 65, 23,202, 1, 0,116,134,132,192, 40,130, 40, 64,237,207, 77,192,
+140,165,146, 57, 26,186, 1, 0, 12,129,129,192,231,129,173, 63,159,125,128,192, 68,167, 25, 29,120,168, 1, 0,254,112,134,192,
+126,146,207, 62,159, 19,130,192, 18,164,108, 9,113,167, 1, 0,189,121,149,192,142,192,111, 63, 76, 95, 90,192, 88,154,108, 20,
+246,180, 1, 0, 12, 65,162,192, 11, 84,149,191,172,202, 44,192, 58,145, 32,230, 85,197, 1, 0, 74,120,165,192, 95, 78,167,190,
+139, 51, 48,192, 54,143,145,248,243,195, 1, 0, 61,161,150,192,107,221, 89,191,118,113, 89,192, 42,153, 81,237, 31,182, 1, 0,
+ 52, 56, 66,192,206, 40,139, 62, 21,116,160,192, 9,190, 18, 6,123,146, 1, 0,245,120, 56,192,118,213,154, 63, 81,227,158,192,
+ 78,193, 49, 26,136,147, 1, 0,220,104, 22,192,204,221, 40, 63,115,137,170,192, 33,205, 87, 14,110,139, 1, 0,145,143, 39, 64,
+190, 49, 94, 64,165, 27,124,192,240, 56,248, 75, 41,170, 1, 0,130,168, 6, 64,190,132,130, 64, 12, 96,105,192,224, 45,104, 89,
+186,176, 1, 0, 76,169,222, 63,205,107,104, 64,150,142,136,192, 22, 38,102, 79, 30,163, 1, 0,137,207,229, 63, 30, 63, 22, 64,
+207,235,161,192,188, 39,234, 50,127,145, 1, 0,239, 11, 14, 64,175,114,191, 63,254,208,166,192,132, 48, 69, 33, 84,142, 1, 0,
+239,222, 43, 64,212,226, 11, 64,227, 71,151,192, 42, 58,144, 47, 97,152, 1, 0, 0,245,124, 64, 27, 32,187, 62, 57, 6,138,192,
+148, 86,163, 7, 11,162, 1, 0, 42, 75,112, 64,228, 42,152, 63, 25, 44,139,192,254, 81,163, 25, 31,161, 1, 0,178,218, 82, 64,
+178,247, 1, 63,211,129,154,192, 31, 72, 6, 11,214,150, 1, 0,208,203,104, 63,146, 6,113, 63,108, 5,183,192,137, 19,150, 20,
+ 49,131, 1, 0, 26, 68,251, 62,111, 38,228, 63,114, 48,178,192,142, 10,162, 38,111,134, 1, 0,163, 78,149, 61, 65, 25,137, 63,
+234,102,184,192, 37, 1, 44, 23, 32,130, 1, 0, 98,140, 80, 64,169,205,238,191, 83, 69,144,192, 67, 71,141,215,172,157, 1, 0,
+177, 39,109, 64,155,213,147,191,238,143,140,192, 71, 81,255,230, 87,160, 1, 0,100,225, 66, 64,146,191,131,191,152, 18,157,192,
+173, 66,128,233, 23,149, 1, 0,190, 24,220, 63,163,163,202,191,160,244,171,192,102, 37,211,220,194,138, 1, 0,227,219,133, 63,
+172, 47, 17,192, 93,160,169,192,115, 23,161,206, 68,140, 1, 0, 46,202,247, 63, 23,140, 27,192,116,252,158,192,225, 41, 71,203,
+ 38,147, 1, 0, 36,220, 68, 63, 24,143,132,192, 20,105,130,192,156, 16, 53,165, 84,167, 1, 0, 60,255,185, 63,215,244,108,192,
+129, 7,138,192,117, 31, 15,175,249,161, 1, 0,220, 18, 19, 63,168,186, 98,192, 66,136,148,192,154, 12,125,178,238,154, 1, 0,
+131,119,172,187,182,209,162,191,170, 73,183,192,211,255,140,228,252,130, 1, 0,165,230, 40, 63,246,111, 24,191, 50,150,185,192,
+ 24, 14, 16,243,114,129, 1, 0,123, 45, 50,190,213, 16,230,190,160,240,186,192,217,251,137,246,109,128, 1, 0,221, 22,199,191,
+ 71,211,134,192, 37,161,113,192, 93,222, 1,164,157,173, 1, 0,171,131, 58,191, 57,178,140,192,214,174,115,192,120,240,191,159,
+ 19,173, 1, 0,228,119,112,191, 49, 46,115,192,186,222,139,192,149,235,225,172,214,160, 1, 0,122, 75,254,191, 18, 36, 50,192,
+ 84, 70,152,192, 8,212, 46,195, 82,152, 1, 0,190,239, 52,192,193,186, 22,192,166,240,145,192,160,194, 13,204,107,156, 1, 0,
+ 51, 23, 39,192, 14,245, 76,192,105,248,132,192, 27,199,129,186,208,164, 1, 0,202,137,140,192, 4,234, 33,192,152,117, 60,192,
+203,159,220,200, 20,192, 1, 0, 68,176,115,192, 85, 49, 68,192, 65,173, 79,192,182,172, 79,189, 79,185, 1, 0,131,173,128,192,
+ 50,170, 14,192,247, 71,105,192, 33,168, 65,207,185,176, 1, 0,230, 80, 22,192, 50,155,141,191,108, 95,168,192, 0,205, 3,232,
+ 21,141, 1, 0, 96,113,194,191,166,184,195,191, 31,160,174,192,205,222,240,222,228,136, 1, 0,249,244,213,191, 10, 33, 52,191,
+248, 94,178,192,179,219, 20,241, 44,134, 1, 0, 30, 26,167,192, 62, 11, 42, 64,199,163,159,190, 43,142, 23, 58,240,248, 1, 0,
+ 15,242,157,192,177, 35, 63, 64,242,230,132,191,125,148,148, 65, 31,233, 1, 0, 58,163,169,192,184,207, 14, 64, 43, 92,148,191,
+120,140,246, 48,193,230, 1, 0,241, 83,184,192, 33,241,117, 63,204, 69,248,190, 33,130,245, 20, 10,246, 1, 0, 88,178,186,192,
+180, 33,226, 62, 69,211,165, 62,152,128, 54, 10,201, 6, 1, 0,100,194,181,192,227, 37,178, 63, 65, 51,191, 62,202,131,227, 29,
+208, 7, 1, 0,140, 68,168,192,162,100, 57, 63, 90, 41, 31, 64, 98,141,193, 15,192, 54, 1, 0,185,114,173,192,147, 11,162, 63,
+136,131,237, 63,203,137,109, 27,183, 40, 1, 0, 90, 82,178,192,181, 0,168, 62,125, 64,231, 63,135,134, 77, 7,170, 39, 1, 0,
+235, 52,185,192,191,185, 83,191, 39,176,252,190,201,129,214,237,245,244, 1, 0, 95,222,182,192,178, 32,161,190, 48, 92,165,191,
+ 90,131,213,248,212,227, 1, 0, 52,119,179,192,223,204,147,191,116,141,160,191,174,133, 97,230, 93,228, 1, 0,109, 88, 35, 63,
+129,186,182, 64,207, 8,152,191, 3, 14,128,124,207,229, 1, 0,226, 54, 99, 63,172,134,174, 64, 96, 98,250,191,195, 19,238,118,
+ 3,213, 1, 0,150,195, 60, 61, 46,121,177, 64,174, 6,245,191, 79, 1,250,120, 56,214, 1, 0,228,160,145,191,121, 59,181, 64,
+246,252,123,191, 62,231,212,123, 30,235, 1, 0, 29,166,188,191,167,120,181, 64, 4,224,165,189, 72,224,251,123,211,253, 1, 0,
+ 26,186, 9,191,104,142,186, 64,128, 74,126,190,169,243, 70,127, 92,250, 1, 0,179,205, 19,191, 33,145,175, 64,102,151,253, 63,
+129,243,165,119,184, 43, 1, 0,163,114,134,190, 81, 94,183, 64, 73,210,157, 63, 41,250,241,124, 44, 27, 1, 0,253,217,151,191,
+ 90, 89,178, 64,210,246,178, 63, 86,230,147,121,183, 30, 1, 0,107,200, 50,192, 4, 21,164, 64,143,252, 18,191,232,194,191,111,
+ 61,243, 1, 0,219,140, 29,192,164,216,163, 64,163,160,187,191, 6,202,150,111, 27,224, 1, 0, 8, 63, 76,192,149, 92,152, 64,
+201, 6,157,191,240,185,173,103, 19,229, 1, 0,102, 31,167, 64, 18,113,133, 63,122,150, 29,192,215,113,152, 22, 9,202, 1, 0,
+115, 48,157, 64, 74,183, 33, 63, 21,172, 72,192, 47,107, 89, 13, 84,187, 1, 0,250, 48,151, 64,117,157,186, 63,236, 37, 74,192,
+ 40,103,131, 31, 24,187, 1, 0,118, 31,148, 64,144, 99, 46, 64, 95,237, 21,192, 96,101,140, 59,104,205, 1, 0, 40,177,150, 64,
+101,250, 73, 64,104,252,189,191, 9,103,121, 68, 46,223, 1, 0, 59, 67,164, 64,106,116, 19, 64, 96,145,209,191,209,111,213, 50,
+ 3,220, 1, 0, 9, 99,168, 64,184,173, 32, 64,129, 16, 27, 63,227,114,186, 54,183, 13, 1, 0,225, 1,174, 64, 65,167, 12, 64,
+199, 1, 38,190,149,118, 16, 48,190,252, 1, 0,172,156,160, 64, 23,121, 66, 64,220,253, 53,188,154,109, 28, 66,252,255, 1, 0,
+230,184,106, 64,117, 83,133, 64, 76, 95,243,191,205, 79,249, 90, 80,214, 1, 0,116,166,101, 64, 67,107,111, 64, 69,233, 47,192,
+ 26, 78,215, 81, 33,196, 1, 0,109, 20, 68, 64,202, 9,139, 64,124,255, 29,192,122, 66, 31, 95, 3,202, 1, 0, 46,138, 12, 64,
+195,168,156,192, 99,240, 23,192,176, 47, 54,149,255,203, 1, 0,110,189,201, 63, 48, 28,154,192,180,148, 60,192,240, 33,192,150,
+143,191, 1, 0, 21, 55, 17, 64,125, 67,140,192,118, 8, 75,192, 65, 49, 53,160,221,186, 1, 0, 85,126,100, 64,103,211,114,192,
+187,176, 43,192, 56, 78,244,172,248,197, 1, 0, 29,112,133, 64,168, 45,104,192, 95, 44,249,191,163, 90,102,176, 54,213, 1, 0,
+192,193, 95, 64,221, 5,138,192, 42,219,239,191,175, 76, 53,162,183,214, 1, 0, 28, 21,134, 64,185,231,130,192,175,210,133, 62,
+129, 91,184,166, 51, 6, 1, 0,128,101,115, 64,106,100,142,192,214,174,205,190, 30, 83, 11,159,122,247, 1, 0,187,250,142, 64,
+178,123,113,192, 90,120,242,190, 99, 97,143,173,240,245, 1, 0,115, 83,149, 64, 25,118, 24,192, 96, 5, 41,192,195,101, 58,204,
+ 39,198, 1, 0,236, 97,130, 64,181,248, 34,192, 49,132, 87,192, 15, 89,179,200,144,182, 1, 0,186,103,144, 64, 91, 9,234,191,
+150,226, 80,192,155, 98,138,216,146,184, 1, 0,208, 74,136,192,231,117,121,192, 32,193,133,191,251,162, 38,171,252,232, 1, 0,
+ 31, 84,144,192, 24, 19, 87,192, 53, 65,211,191, 64,157, 8,183,220,219, 1, 0, 7, 90,123,192,107,238,121,192,115,227,247,191,
+ 25,170,254,170,217,213, 1, 0,161,112, 54,192, 94, 77,156,192,207,107,196,191,198,193, 27,149, 21,223, 1, 0, 24, 41, 22,192,
+ 1,197,169,192,191, 68, 84,191, 56,204,100,140,176,237, 1, 0, 73,243, 75,192, 86, 16,156,192,180,150, 33,191,208,186, 67,149,
+202,241, 1, 0,140,246, 19,192,148, 60,166,192, 11, 70,182, 63,170,205,162,142,144, 31, 1, 0, 17, 21, 58,192,224,209,160,192,
+103,100, 88, 63,199,192, 73,146,167, 18, 1, 0,151,252, 4,192, 71, 89,174,192,215, 93, 38, 63,148,210, 55,137,117, 14, 1, 0,
+ 53,176,150,191,238,252,174,192, 37,172,226,191,112,230,198,136, 24,217, 1, 0,225,105,214,191,211,177,161,192,160,229, 29,192,
+193,219,176,145, 39,202, 1, 0, 62,213, 88,191,193, 70,167,192,212,217, 32,192,237,237,235,141,220,200, 1, 0,236, 97,130,192,
+181,248, 34, 64, 49,132, 87, 64,241,166, 77, 55,112, 73, 1, 0,186,103,144,192, 91, 9,234, 63,150,226, 80, 64,101,157,118, 39,
+110, 71, 1, 0,115, 83,149,192, 25,118, 24, 64, 96, 5, 41, 64, 61,154,198, 51,217, 57, 1, 0, 29,112,133,192,168, 45,104, 64,
+ 95, 44,249, 63, 93,165,154, 79,202, 42, 1, 0,192,193, 95,192,221, 5,138, 64, 42,219,239, 63, 81,179,203, 93, 73, 41, 1, 0,
+ 85,126,100,192,103,211,114, 64,187,176, 43, 64,200,177, 12, 83, 8, 58, 1, 0,110,189,201,191, 48, 28,154, 64,180,148, 60, 64,
+ 16,222, 64,105,113, 64, 1, 0, 21, 55, 17,192,125, 67,140, 64,118, 8, 75, 64,191,206,203, 95, 35, 69, 1, 0, 46,138, 12,192,
+195,168,156, 64, 99,240, 23, 64, 80,208,202,106, 1, 52, 1, 0,128,101,115,192,106,100,142, 64,214,174,205, 62,226,172,245, 96,
+134, 8, 1, 0,187,250,142,192,178,123,113, 64, 90,120,242, 62,157,158,113, 82, 16, 10, 1, 0, 28, 21,134,192,185,231,130, 64,
+175,210,133,190,127,164, 72, 89,205,249, 1, 0,225,105,214, 63,211,177,161, 64,160,229, 29, 64, 63, 36, 80,110,217, 53, 1, 0,
+ 62,213, 88, 63,193, 70,167, 64,212,217, 32, 64, 19, 18, 21,114, 36, 55, 1, 0, 53,176,150, 63,238,252,174, 64, 37,172,226, 63,
+144, 25, 58,119,232, 38, 1, 0, 24, 41, 22, 64, 1,197,169, 64,191, 68, 84, 63,200, 51,156,115, 80, 18, 1, 0, 73,243, 75, 64,
+ 86, 16,156, 64,180,150, 33, 63, 48, 69,189,106, 54, 14, 1, 0,161,112, 54, 64, 94, 77,156, 64,208,107,196, 63, 58, 62,229,106,
+235, 32, 1, 0, 31, 84,144, 64, 24, 19, 87, 64, 53, 65,211, 63,192, 98,248, 72, 36, 36, 1, 0, 7, 90,123, 64,107,238,121, 64,
+115,227,247, 63,231, 85, 2, 85, 39, 42, 1, 0,208, 74,136, 64,231,117,121, 64, 32,193,133, 63, 5, 93,218, 84, 4, 23, 1, 0,
+ 17, 21, 58, 64,224,209,160, 64,103,100, 88,191, 57, 63,183,109, 89,237, 1, 0,151,252, 4, 64, 71, 89,174, 64,215, 93, 38,191,
+108, 45,201,118,139,241, 1, 0,140,246, 19, 64,148, 60,166, 64, 11, 70,182,191, 86, 50, 94,113,112,224, 1, 0, 95,222,182, 64,
+178, 32,161, 62, 48, 92,165, 63,166,124, 43, 7, 44, 28, 1, 0, 52,119,179, 64,223,204,147, 63,116,141,160, 63, 82,122,159, 25,
+163, 27, 1, 0,235, 52,185, 64,191,185, 83, 63, 39,176,252, 62, 55,126, 42, 18, 11, 11, 1, 0, 88,178,186, 64,180, 33,226,190,
+ 69,211,165,190,104,127,202,245, 55,249, 1, 0,100,194,181, 64,227, 37,178,191, 65, 51,191,190, 54,124, 29,226, 48,248, 1, 0,
+241, 83,184, 64, 33,241,117,191,204, 69,248, 62,223,125, 11,235,246, 9, 1, 0, 15,242,157, 64,177, 35, 63,192,242,230,132, 63,
+131,107,108,190,225, 22, 1, 0, 58,163,169, 64,184,207, 14,192, 43, 92,148, 63,136,115, 10,207, 63, 25, 1, 0, 30, 26,167, 64,
+ 62, 11, 42,192,199,163,159, 62,213,113,233,197, 16, 7, 1, 0,185,114,173, 64,147, 11,162,191,136,131,237,191, 53,118,147,228,
+ 73,215, 1, 0, 90, 82,178, 64,181, 0,168,190,125, 64,231,191,121,121,179,248, 86,216, 1, 0,140, 68,168, 64,162,100, 57,191,
+ 90, 41, 31,192,158,114, 63,240, 64,201, 1, 0,219,140, 29, 64,164,216,163,192,163,160,187, 63,250, 53,106,144,229, 31, 1, 0,
+ 8, 63, 76, 64,149, 92,152,192,201, 6,157, 63, 16, 70, 83,152,237, 26, 1, 0,107,200, 50, 64, 4, 21,164,192,143,252, 18, 63,
+ 24, 61, 65,144,195, 12, 1, 0, 29,166,188, 63,167,120,181,192, 4,224,165, 61,184, 31, 5,132, 45, 2, 1, 0, 26,186, 9, 63,
+104,142,186,192,128, 74,126, 62, 87, 12,186,128,164, 5, 1, 0,228,160,145, 63,121, 59,181,192,246,252,123, 63,194, 24, 44,132,
+226, 20, 1, 0,226, 54, 99,191,172,134,174,192, 96, 98,250, 63, 61,236, 18,137,253, 42, 1, 0,150,195, 60,189, 46,121,177,192,
+174, 6,245, 63,177,254, 6,135,200, 41, 1, 0,109, 88, 35,191,129,186,182,192,207, 8,152, 63,253,241,128,131, 49, 26, 1, 0,
+163,114,134, 62, 81, 94,183,192, 73,210,157,191,215, 5, 15,131,212,228, 1, 0,253,217,151, 63, 90, 89,178,192,210,246,178,191,
+170, 25,109,134, 73,225, 1, 0,179,205, 19, 63, 33,145,175,192,102,151,253,191,127, 12, 91,136, 72,212, 1, 0,116,166,101,192,
+ 67,107,111,192, 69,233, 47, 64,230,177, 41,174,223, 59, 1, 0,109, 20, 68,192,202, 9,139,192,124,255, 29, 64,134,189,225,160,
+253, 53, 1, 0,230,184,106,192,117, 83,133,192, 76, 95,243, 63, 51,176, 7,165,176, 41, 1, 0, 40,177,150,192,101,250, 73,192,
+104,252,189, 63,247,152,135,187,210, 32, 1, 0, 59, 67,164,192,106,116, 19,192, 96,145,209, 63, 47,144, 43,205,253, 35, 1, 0,
+118, 31,148,192,144, 99, 46,192, 95,237, 21, 64,160,154,116,196,152, 50, 1, 0,115, 48,157,192, 74,183, 33,191, 21,172, 72, 64,
+209,148,167,242,172, 68, 1, 0,250, 48,151,192,117,157,186,191,236, 37, 74, 64,216,152,125,224,232, 68, 1, 0,102, 31,167,192,
+ 18,113,133,191,122,150, 29, 64, 41,142,104,233,247, 53, 1, 0,225, 1,174,192, 65,167, 12,192,199, 1, 38, 62,107,137,240,207,
+ 66, 3, 1, 0,172,156,160,192, 23,121, 66,192,220,253, 53, 60,102,146,228,189, 4, 0, 1, 0, 9, 99,168,192,184,173, 32,192,
+129, 16, 27,191, 29,141, 70,201, 73,242, 1, 0,220, 18, 19,191,168,186, 98, 64, 66,136,148, 64,102,243,131, 77, 18,101, 1, 0,
+ 36,220, 68,191, 24,143,132, 64, 20,105,130, 64,100,239,203, 90,172, 88, 1, 0, 60,255,185,191,215,244,108, 64,129, 7,138, 64,
+139,224,241, 80, 7, 94, 1, 0, 46,202,247,191, 23,140, 27, 64,116,252,158, 64, 31,214,185, 52,218,108, 1, 0,190, 24,220,191,
+163,163,202, 63,160,244,171, 64,154,218, 45, 35, 62,117, 1, 0,227,219,133,191,172, 47, 17, 64, 93,160,169, 64,141,232, 95, 49,
+188,115, 1, 0,123, 45, 50, 62,213, 16,230, 62,160,240,186, 64, 39, 4,119, 9,147,127, 1, 0,131,119,172, 59,182,209,162, 63,
+170, 73,183, 64, 45, 0,116, 27, 4,125, 1, 0,165,230, 40,191,246,111, 24, 63, 50,150,185, 64,232,241,240, 12,142,126, 1, 0,
+100,225, 66,192,146,191,131, 63,152, 18,157, 64, 83,189,128, 22,233,106, 1, 0, 98,140, 80,192,169,205,238, 63, 83, 69,144, 64,
+189,184,115, 40, 84, 98, 1, 0,177, 39,109,192,154,213,147, 63,239,143,140, 64,185,174, 1, 25,169, 95, 1, 0,131,173,128, 64,
+ 50,170, 14, 64,247, 71,105, 64,223, 87,191, 48, 71, 79, 1, 0,202,137,140, 64, 4,234, 33, 64,152,117, 60, 64, 53, 96, 36, 55,
+236, 63, 1, 0, 68,176,115, 64, 85, 49, 68, 64, 65,173, 79, 64, 74, 83,177, 66,177, 70, 1, 0, 51, 23, 39, 64, 14,245, 76, 64,
+105,248,132, 64,229, 56,127, 69, 48, 91, 1, 0,122, 75,254, 63, 17, 36, 50, 64, 83, 70,152, 64,248, 43,210, 60,174,103, 1, 0,
+190,239, 52, 64,193,186, 22, 64,166,240,145, 64, 96, 61,243, 51,149, 99, 1, 0,249,244,213, 63, 10, 33, 52, 63,248, 94,178, 64,
+ 77, 36,236, 14,212,121, 1, 0,230, 80, 22, 64, 50,155,141, 63,108, 95,168, 64, 0, 51,253, 23,235,114, 1, 0, 96,113,194, 63,
+166,184,195, 63, 31,160,174, 64, 51, 33, 16, 33, 28,119, 1, 0,228,119,112, 63, 49, 46,115, 64,186,222,139, 64,107, 20, 31, 83,
+ 42, 95, 1, 0,221, 22,199, 63, 71,211,134, 64, 37,161,113, 64,163, 33,255, 91, 99, 82, 1, 0,170,131, 58, 63, 58,178,140, 64,
+213,174,115, 64,136, 15, 65, 96,237, 82, 1, 0,116,134,132, 64, 40,130, 40,192,237,207, 77, 64,116, 90,110,198,230, 69, 1, 0,
+232,187,140, 64, 6, 96, 62,192,107,247, 30, 64,247, 95,174,190,233, 53, 1, 0, 37, 61,152, 64,230, 9, 14,192,137,179, 39, 64,
+172,103, 78,207, 31, 57, 1, 0,189,121,149, 64,142,192,111,191, 76, 95, 90, 64,168,101,148,235, 10, 75, 1, 0,254,112,134, 64,
+126,146,207,190,159, 19,130, 64,238, 91,148,246,143, 88, 1, 0, 12,129,129, 64,231,129,173,191,159,125,128, 64,188, 88,231,226,
+136, 87, 1, 0,220,104, 22, 64,204,221, 40,191,115,137,170, 64,223, 50,169,241,146,116, 1, 0,245,120, 56, 64,118,213,154,191,
+ 81,227,158, 64,178, 62,207,229,120,108, 1, 0, 52, 56, 66, 64,206, 40,139,190, 21,116,160, 64,247, 65,238,249,133,109, 1, 0,
+ 61,161,150, 64,107,221, 89, 63,118,113, 89, 64,214,102,175, 18,225, 73, 1, 0, 74,120,165, 64, 95, 78,167, 62,139, 51, 48, 64,
+202,112,111, 7, 13, 60, 1, 0, 12, 65,162, 64, 11, 84,149, 63,172,202, 44, 64,198,110,224, 25,171, 58, 1, 0, 67,138,194,190,
+177, 97,138,192, 75,158,124, 64,147,247,125,161,230, 85, 1, 0,214, 82, 66,191,128,115,152,192,164, 25, 85, 64,255,238,225,151,
+121, 72, 1, 0,119,155,171, 61,138, 40,155,192,113, 96, 83, 64,133, 1, 61,150, 18, 72, 1, 0,144,237,178, 63, 25,136,136,192,
+121, 1,113, 64,139, 30, 59,163,185, 82, 1, 0, 68,147,238, 63,166,230,100,192,234, 9,136, 64, 50, 40,133,177,199, 92, 1, 0,
+ 30,149,109, 63, 40, 18,111,192,171,100,141, 64,208, 20, 59,174, 62, 96, 1, 0, 45,210,162, 63,233,211,224,191,184, 67,174, 64,
+185, 27, 29,218, 19,119, 1, 0,158,106, 94, 63,167,106, 30,192,254,240,167, 64, 26, 19, 65,202,149,114, 1, 0, 22,114,229, 63,
+193, 96, 20,192,253,167,162, 64,236, 38,159,205, 9,111, 1, 0,208, 76, 67, 64, 62,120,111,192, 14, 89, 85, 64,174, 66, 62,174,
+120, 72, 1, 0,139,220, 37, 64,245,135,141,192,114,173, 54, 64,207, 56,160,159, 47, 62, 1, 0,204,119, 84, 64, 93, 73,130,192,
+212,107, 38, 64,210, 72, 34,167,105, 56, 1, 0,178,218, 82,192,178,247, 1,191,211,129,154, 64,225,183,250,244, 42,105, 1, 0,
+ 0,245,124,192, 27, 32,187,190, 57, 6,138, 64,108,169, 93,248,245, 93, 1, 0, 42, 75,112,192,228, 42,152,191, 25, 44,139, 64,
+ 2,174, 93,230,225, 94, 1, 0,239,222, 43,192,212,226, 11,192,227, 71,151, 64,214,197,113,208,159,103, 1, 0,137,207,229,191,
+ 30, 63, 22,192,207,235,161, 64, 68,216, 22,205,129,110, 1, 0,239, 11, 14,192,175,114,191,191,254,208,166, 64,124,207,187,222,
+172,113, 1, 0,163, 78,149,189, 65, 25,137,191,234,102,184, 64,219,254,212,232,224,125, 1, 0,208,203,104,191,146, 6,113,191,
+108, 5,183, 64,119,236,106,235,207,124, 1, 0, 26, 68,251,190,111, 38,228,191,114, 48,178, 64,114,245, 94,217,145,121, 1, 0,
+ 76,169,222,191,205,107,104,192,150,142,136, 64,234,217,154,176,226, 92, 1, 0,145,143, 39,192,190, 49, 94,192,165, 27,124, 64,
+ 16,199, 8,180,215, 85, 1, 0,130,168, 6,192,190,132,130,192, 12, 96,105, 64, 32,210,152,166, 70, 79, 1, 0, 68, 65, 84, 65,
+104, 1, 0, 0,184,189, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,191, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0, 88,111,184, 3,
- 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0, 8,113,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,114,184, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,115,184, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,116,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,144,114,184, 3, 54, 0, 0, 0,
- 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2,
- 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0,
- 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0, 96,115,184, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,
-162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,
-240,116,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,160,117,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,
-216,162,186, 3,112,104,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 0, 0, 0, 0,112,104,101,
-114,101, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232,118,184, 3, 72, 18,185, 3,120,118,185, 3, 0, 0, 0, 0,168,120,184, 3,144,182,184, 3,
- 0, 0, 0, 0,168, 82,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,119,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,181,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 16,185, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-130, 2, 0, 0,128, 7, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,117,224,186, 64, 91, 13,187, 64,160,240,186, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-232,118,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0, 32,119,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,120,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 60, 0, 0,
-168,120,184, 3, 58, 0, 0, 0,130, 2, 0, 0, 28,136,141,191, 12,243,244, 62,198, 86,183,192,212,231,117, 10,191,130,255, 0,
- 3, 0, 0, 0,240,102,131,192, 30,183,119, 64,109,169,199,191, 58,166,158, 84,230,221,255, 0, 3, 0, 0, 0,119,108,239, 63,
-213, 85,156, 64,188, 58, 40,192,228, 40,207,106,137,198,255, 0, 3, 0, 0, 0, 95,135,146, 64, 63, 54, 14,191,241,194,102,192,
- 27,100,219,243, 45,177,255, 0, 3, 0, 0, 0,239, 84,141, 62, 16,220,157,192, 14, 2, 73,192, 8, 6, 39,148, 86,187,255, 0,
- 3, 0, 0, 0,132,239,162,192,206,165, 12,192,150, 45,240,191,175,144,245,207,251,214,255, 0, 3, 0, 0, 0,239, 84,141,190,
- 16,220,157, 64, 14, 2, 73, 64,248,249,217,107,170, 68,255, 0, 3, 0, 0, 0,132,239,162, 64,206,165, 12, 64,150, 45,240, 63,
- 81,111, 11, 48, 5, 41,255, 0, 3, 0, 0, 0,240,102,131, 64, 30,183,119,192,109,169,199, 63,198, 89, 98,171, 26, 34,255, 0,
- 3, 0, 0, 0,119,108,239,191,213, 85,156,192,188, 58, 40, 64, 28,215, 49,149,119, 57,255, 0, 3, 0, 0, 0, 95,135,146,192,
- 63, 54, 14, 63,241,194,102, 64,229,155, 37, 12,211, 78,255, 0, 3, 0, 0, 0, 28,136,141, 63, 12,243,244,190,198, 86,183, 64,
- 44, 24,139,245, 65,125,255, 0, 3, 0, 0, 0,114, 17, 68,192,226,153, 35, 64,154, 26,137,192, 6,189,226, 55, 85,162,255, 0,
- 3, 0, 0, 0,155, 40,230, 62,239,199, 73, 64,176, 52,157,192,211, 9,237, 68,153,148,255, 0, 3, 0, 0, 0,124, 55,168,191,
-224,177,164, 64, 58,144, 29,192, 69,227,132,112, 46,202,255, 0, 3, 0, 0, 0, 94, 35,105,192,230, 88,129,191,195, 14,143,192,
- 93,176,233,233, 68,158,255, 0, 3, 0, 0, 0, 37, 2,173,192,137,187,123, 63, 56, 68, 1,192,206,137,127, 21,216,211,255, 0,
- 3, 0, 0, 0,234,168, 2, 64,231,158, 57,189, 65,149,175,192,162, 44, 3,255, 11,136,255, 0, 3, 0, 0, 0, 19,159,114, 64,
-254,226, 34, 64,196,133,106,192,225, 82,164, 55,228,175,255, 0, 3, 0, 0, 0,105,176,249,190, 21,148, 39,192,217,214,166,192,
- 87,245,194,198, 5,142,255, 0, 3, 0, 0, 0,227,163, 54, 64, 86,121, 78,192, 22,202,125,192, 99, 62,120,185, 79,169,255, 0,
- 3, 0, 0, 0,241, 40, 53,192,200, 31,134,192,229,188, 60,192, 30,194, 94,164,136,191,255, 0, 3, 0, 0, 0, 96,230,181,192,
- 33, 24,119,191,174, 26,130, 63,186,131,231,234, 56, 22,255, 0, 3, 0, 0, 0,103, 93,163,192,136,128, 38, 64, 83,235,153, 63,
-100,144,224, 56, 74, 26,255, 0, 3, 0, 0, 0,238,219, 36,192,132,151,165, 64,165,226,109, 63,176,199, 33,113, 80, 20,255, 0,
- 3, 0, 0, 0, 24,237,111, 63,118,174,184, 64,212, 34,154, 62,125, 20, 44,126,148, 6,255, 0, 3, 0, 0, 0,163,244,130, 64,
-157, 58,133, 64,125, 95,226,190,119, 89, 5, 91, 86,246,255, 0, 3, 0, 0, 0, 96,230,181, 64, 33, 24,119, 63,174, 26,130,191,
- 70,124, 25, 21,200,233,255, 0, 3, 0, 0, 0,103, 93,163, 64,136,128, 38,192, 83,235,153,191,156,111, 32,199,182,229,255, 0,
- 3, 0, 0, 0,238,219, 36, 64,132,151,165,192,165,226,109,191, 80, 56,223,142,176,235,255, 0, 3, 0, 0, 0, 24,237,111,191,
-118,174,184,192,212, 34,154,190,131,235,212,129,108,249,255, 0, 3, 0, 0, 0,163,244,130,192,157, 58,133,192,125, 95,226, 62,
-137,166,251,164,170, 9,255, 0, 3, 0, 0, 0,227,163, 54,192, 86,121, 78, 64, 22,202,125, 64,157,193,136, 70,177, 86,255, 0,
- 3, 0, 0, 0,241, 40, 53, 64,200, 31,134, 64,229,188, 60, 64,226, 61,162, 91,120, 64,255, 0, 3, 0, 0, 0, 37, 2,173, 64,
-137,187,123,191, 56, 68, 1, 64, 50,118,129,234, 40, 44,255, 0, 3, 0, 0, 0,124, 55,168, 63,224,177,164,192, 58,144, 29, 64,
-187, 28,124,143,210, 53,255, 0, 3, 0, 0, 0, 19,159,114,192,254,226, 34,192,196,133,106, 64, 31,173, 92,200, 28, 80,255, 0,
- 3, 0, 0, 0,234,168, 2,192,231,158, 57, 61, 65,149,175, 64, 94,211,253, 0,245,119,255, 0, 3, 0, 0, 0,105,176,249, 62,
- 21,148, 39, 64,217,214,166, 64,169, 10, 62, 57,251,113,255, 0, 3, 0, 0, 0, 94, 35,105, 64,230, 88,129, 63,195, 14,143, 64,
-163, 79, 23, 22,188, 97,255, 0, 3, 0, 0, 0,114, 17, 68, 64,226,153, 35,192,154, 26,137, 64,250, 66, 30,200,171, 93,255, 0,
- 3, 0, 0, 0,155, 40,230,190,239,199, 73,192,176, 52,157, 64, 45,246, 19,187,103,107,255, 0, 3, 0, 0, 0, 37,178, 10,192,
-138,231,201, 63,149,143,166,192,129,209,140, 33,145,141,255, 0, 3, 0, 0, 0, 3,132,110,192,243,203, 85, 64,151,107, 66,192,
- 16,174,158, 73,209,190,255, 0, 3, 0, 0, 0,116,161,174,190, 81,152,241, 63,110, 2,177,192,217,247, 15, 40,182,134,255, 0,
- 3, 0, 0, 0,138, 91,154, 63,218,179,133, 64,209,222,122,192, 0, 27, 30, 92, 86,171,255, 0, 3, 0, 0, 0, 7, 82, 52,192,
- 82,252,149, 64, 64,202, 5,192, 39,193,227,101,181,210,255, 0, 3, 0, 0, 0,179, 12,148, 62,251,221,166, 64,188, 87, 41,192,
-192, 7,224,113, 21,198,255, 0, 3, 0, 0, 0,216,246, 29,192, 17,156,141,190,209,167,169,192, 47,203,160,250,137,139,255, 0,
- 3, 0, 0, 0, 99, 72,145,192, 79,114,213,191,183, 35, 83,192, 26,156, 3,219, 12,185,255, 0, 3, 0, 0, 0,115, 58,158,192,
-129,120, 33, 64,198, 41,238,191,126,148,116, 56,137,215,255, 0, 3, 0, 0, 0,118,158,174,192,103,148, 33,191,140,156, 1,192,
-218,136,198,240,203,211,255, 0, 3, 0, 0, 0, 55, 14,249, 62, 95,133,102, 62,210,143,186,192, 56, 9, 40, 5,113,128,255, 0,
- 3, 0, 0, 0,220, 61, 92, 64, 56,230,159,190, 6, 61,151,192, 94, 76,242,248,135,153,255, 0, 3, 0, 0, 0, 7, 86, 60, 64,
- 60, 48,119, 64, 93, 88, 81,192,119, 63,124, 85,246,184,255, 0, 3, 0, 0, 0,252, 55,139, 64, 62, 95,132, 63,225,216,113,192,
-118, 95, 54, 21,107,173,255, 0, 3, 0, 0, 0, 18, 6, 84,191,251, 96,142,191, 76, 4,182,192,158,237, 20,233,109,131,255, 0,
- 3, 0, 0, 0,109, 74,225,189, 51, 54,123,192, 34,246,138,192,241,253, 39,169, 1,162,255, 0, 3, 0, 0, 0,153, 66,119, 64,
-127,154,251,191,161,220,123,192, 59, 85, 59,214, 34,170,255, 0, 3, 0, 0, 0,201, 59,208, 63,241,182,135,192,212,101,108,192,
-103, 34,133,162,160,175,255, 0, 3, 0, 0, 0,161,246,169,191,235,196,151,192,170,149, 74,192, 95,228,253,151,184,186,255, 0,
- 3, 0, 0, 0, 33,198,131,192,218,137, 84,192, 37,134, 32,192,247,164, 77,184,167,201,255, 0, 3, 0, 0, 0,176, 61,179,192,
-138,110,210,191, 24,220,228,190,210,133,130,219,238,244,255, 0, 3, 0, 0, 0, 73,182,170,192,136, 16, 90,190, 90,194, 25, 64,
-224,139, 8,252,174, 53,255, 0, 3, 0, 0, 0, 75, 55,153,192, 4, 78, 87, 64, 12, 54, 62,190,200,151, 29, 74,179,250,255, 0,
- 3, 0, 0, 0,235, 19,161,192,207, 12,210, 63,210,242, 31, 64, 50,146,244, 34,182, 55,255, 0, 3, 0, 0, 0, 60, 75, 94,192,
-189,115,150, 64,186,211,167,190, 98,179, 49,102,183,247,255, 0, 3, 0, 0, 0,186,191,189,191, 63, 32,168, 64,213,100, 7, 64,
-161,224,191,114, 61, 47,255, 0, 3, 0, 0, 0,242,205,186, 63,141, 65,177, 64,127,219,154,191, 82, 32,177,120, 61,228,255, 0,
- 3, 0, 0, 0, 99,245,175, 62, 97, 12,178, 64,255,253,228, 63,247, 6, 65,121, 98, 40,255, 0, 3, 0, 0, 0,226, 92, 70, 64,
- 8,131,150, 64,182, 77,204,191,193, 66, 37,103, 32,220,255, 0, 3, 0, 0, 0,200,194,152, 64,180,155, 83, 64,154,217, 62, 63,
-207,104,101, 71, 87, 17,255, 0, 3, 0, 0, 0, 73,182,170, 64,136, 16, 90, 62, 90,194, 25,192, 32,116,248, 3, 82,202,255, 0,
- 3, 0, 0, 0,176, 61,179, 64,138,110,210, 63, 24,220,228, 62, 46,122,126, 36, 18, 11,255, 0, 3, 0, 0, 0,235, 19,161, 64,
-207, 12,210,191,210,242, 31,192,206,109, 12,221, 74,200,255, 0, 3, 0, 0, 0, 75, 55,153, 64, 4, 78, 87,192, 12, 54, 62, 62,
- 56,104,227,181, 77, 5,255, 0, 3, 0, 0, 0,186,191,189, 63, 63, 32,168,192,213,100, 7,192, 95, 31, 65,141,195,208,255, 0,
- 3, 0, 0, 0, 60, 75, 94, 64,189,115,150,192,186,211,167, 62,158, 76,207,153, 73, 8,255, 0, 3, 0, 0, 0, 99,245,175,190,
- 97, 12,178,192,255,253,228,191, 9,249,191,134,158,215,255, 0, 3, 0, 0, 0,242,205,186,191,141, 65,177,192,127,219,154, 63,
-174,223, 79,135,195, 27,255, 0, 3, 0, 0, 0,200,194,152,192,180,155, 83,192,154,217, 62,191, 49,151,155,184,169,238,255, 0,
- 3, 0, 0, 0,226, 92, 70,192, 8,131,150,192,182, 77,204, 63, 63,189,219,152,224, 35,255, 0, 3, 0, 0, 0,201, 59,208,191,
-241,182,135, 64,212,101,108, 64,153,221,123, 93, 96, 80,255, 0, 3, 0, 0, 0,153, 66,119,192,127,154,251, 63,161,220,123, 64,
-197,170,197, 41,222, 85,255, 0, 3, 0, 0, 0,161,246,169, 63,235,196,151, 64,170,149, 74, 64,161, 27, 3,104, 72, 69,255, 0,
- 3, 0, 0, 0, 33,198,131, 64,218,137, 84, 64, 37,134, 32, 64, 9, 91,179, 71, 89, 54,255, 0, 3, 0, 0, 0,118,158,174, 64,
-103,148, 33, 63,140,156, 1, 64, 38,119, 58, 15, 53, 44,255, 0, 3, 0, 0, 0,115, 58,158, 64,129,120, 33,192,198, 41,238, 63,
-130,107,140,199,119, 40,255, 0, 3, 0, 0, 0, 7, 82, 52, 64, 82,252,149,192, 64,202, 5, 64,217, 62, 29,154, 75, 45,255, 0,
- 3, 0, 0, 0,179, 12,148,190,251,221,166,192,188, 87, 41, 64, 64,248, 32,142,235, 57,255, 0, 3, 0, 0, 0, 7, 86, 60,192,
- 60, 48,119,192, 93, 88, 81, 64,137,192,132,170, 10, 71,255, 0, 3, 0, 0, 0,252, 55,139,192, 62, 95,132,191,225,216,113, 64,
-138,160,202,234,149, 82,255, 0, 3, 0, 0, 0,220, 61, 92,192, 56,230,159, 62, 6, 61,151, 64,162,179, 14, 7,121,102,255, 0,
- 3, 0, 0, 0, 55, 14,249,190, 95,133,102,190,210,143,186, 64,200,246,216,250,143,127,255, 0, 3, 0, 0, 0,109, 74,225, 61,
- 51, 54,123, 64, 34,246,138, 64, 15, 2,217, 86,255, 93,255, 0, 3, 0, 0, 0, 18, 6, 84, 63,251, 96,142, 63, 76, 4,182, 64,
- 98, 18,236, 22,147,124,255, 0, 3, 0, 0, 0, 99, 72,145, 64, 79,114,213, 63,183, 35, 83, 64,230, 99,253, 36,244, 70,255, 0,
- 3, 0, 0, 0,216,246, 29, 64, 17,156,141, 62,209,167,169, 64,209, 52, 96, 5,119,116,255, 0, 3, 0, 0, 0, 3,132,110, 64,
-243,203, 85,192,151,107, 66, 64,240, 81, 98,182, 47, 65,255, 0, 3, 0, 0, 0, 37,178, 10, 64,138,231,201,191,149,143,166, 64,
-127, 46,116,222,111,114,255, 0, 3, 0, 0, 0,138, 91,154,191,218,179,133,192,209,222,122, 64, 0,229,226,163,170, 84,255, 0,
- 3, 0, 0, 0,116,161,174, 62, 81,152,241,191,110, 2,177, 64, 39, 8,241,215, 74,121,255, 0, 3, 0, 0, 0, 36, 76, 19,192,
- 25,151,129, 64,212,254, 98,192,231,206, 97, 88,131,177,255, 0, 3, 0, 0, 0, 93,232,175,191,177, 23, 64, 64, 69,186,154,192,
-227,225,235, 66, 34,151,255, 0, 3, 0, 0, 0,208,190,232,190, 93,160,139, 64,191, 33,120,192,183,244,205, 94,192,170,255, 0,
- 3, 0, 0, 0,210,126,142,192, 43, 49,238, 63,112, 30, 84,192,187,158, 95, 39,183,182,255, 0, 3, 0, 0, 0,138,165, 97,192,
- 92, 9, 80, 63, 20, 74,147,192,183,177,233, 17, 86,156,255, 0, 3, 0, 0, 0, 98, 61,152,192, 87, 63,106,188, 6, 97, 90,192,
-127,152,251, 0,183,180,255, 0, 3, 0, 0, 0,200,173, 14, 64,155,183, 63, 64,192, 75,144,192,206, 48, 45, 64,152,156,255, 0,
- 3, 0, 0, 0, 95,162,167, 63,144, 29,209, 63, 25,245,174,192,250, 29, 75, 36,250,136,255, 0, 3, 0, 0, 0,211, 62, 68, 64,
- 51, 56,168, 63, 13,245,153,192,241, 65,192, 29,106,150,255, 0, 3, 0, 0, 0, 33,182, 36, 64, 34, 38,220,191,150, 5,159,192,
-233, 54,211,217,223,146,255, 0, 3, 0, 0, 0, 16, 34, 81, 63,129, 64,179,191,162, 5,180,192,242, 18, 93,224,111,133,255, 0,
- 3, 0, 0, 0,212, 56,159, 63,172,166, 68,192,212,108,154,192,176, 27, 32,190,208,149,255, 0, 3, 0, 0, 0,204, 76,223,191,
-170, 32,101,192, 65, 83,137,192,199,216,195,178,198,161,255, 0, 3, 0, 0, 0,249,249, 10,192, 62, 52,244,191, 25,236,162,192,
- 9,208, 0,213,102,145,255, 0, 3, 0, 0, 0, 42,207, 89,192,251, 6, 47,192, 27,165,121,192,209,182, 18,196,198,169,255, 0,
- 3, 0, 0, 0,137,215,176,192, 25, 62,241, 63,179,254,219,190,179,134,232, 39, 78,247,255, 0, 3, 0, 0, 0, 28,150,186,192,
-150, 16, 28, 60,191, 9, 7,191,118,128,131, 1, 77,245,255, 0, 3, 0, 0, 0, 34,132,181,192, 99, 60, 92, 63,217, 81,149, 63,
-181,131,238, 18,252, 23,255, 0, 3, 0, 0, 0,175,242, 74,190,164,173,183, 64,227,105,145,191,117,250,160,125, 31,232,255, 0,
- 3, 0, 0, 0,219,227, 2,192, 96,164,173, 64,200, 71, 78,191,164,212, 52,119,226,238,255, 0, 3, 0, 0, 0,181,140, 92,191,
- 75, 38,184, 64,176,148, 37, 63,224,236,237,125,159, 12,255, 0, 3, 0, 0, 0, 75,104,159, 64,212, 56,236, 63,240,126, 29,192,
-211,108,166, 41, 9,203,255, 0, 3, 0, 0, 0,215,159,132, 64, 84,184, 97, 64, 30, 44, 10,192,176, 91, 19, 76, 56,209,255, 0,
- 3, 0, 0, 0, 95,122,164, 64,199,143, 44, 64, 53, 78, 68,191, 17,112, 17, 59,185,237,255, 0, 3, 0, 0, 0,255,176, 54, 64,
-243, 84,141,192,237,176, 36,192,192, 63, 9,160, 63,200,255, 0, 3, 0, 0, 0, 93,229,133, 64,217, 21, 68,192,157,226, 45,192,
-249, 90,187,187, 78,197,255, 0, 3, 0, 0, 0,203, 56,129, 64, 21,211,130,192,187,115,143,191,252, 87,194,166,252,229,255, 0,
- 3, 0, 0, 0,189,239,104,192, 82,142,140,192,178,178,168,191,134,177,245,158,155,227,255, 0, 3, 0, 0, 0, 50,141,253,191,
- 52,155,167,192,170,181,218,191,125,211,166,141,155,219,255, 0, 3, 0, 0, 0,164, 58, 41,192,172, 34,167,192,206,232,151, 61,
-232,197,243,141, 26, 0,255, 0, 3, 0, 0, 0, 93,229,133,192,217, 21, 68, 64,157,226, 45, 64, 7,165, 69, 68,178, 58,255, 0,
- 3, 0, 0, 0,203, 56,129,192, 21,211,130, 64,187,115,143, 63, 4,168, 62, 89, 4, 26,255, 0, 3, 0, 0, 0,255,176, 54,192,
-243, 84,141, 64,237,176, 36, 64, 64,192,247, 95,193, 55,255, 0, 3, 0, 0, 0, 50,141,253, 63, 52,155,167, 64,170,181,218, 63,
-131, 44, 90,114,101, 36,255, 0, 3, 0, 0, 0,164, 58, 41, 64,172, 34,167, 64,206,232,151,189, 24, 58, 13,114,230,255,255, 0,
- 3, 0, 0, 0,189,239,104, 64, 82,142,140, 64,178,178,168, 63,122, 78, 11, 97,101, 28,255, 0, 3, 0, 0, 0, 28,150,186, 64,
-150, 16, 28,188,191, 9, 7, 63,138,127,125,254,179, 10,255, 0, 3, 0, 0, 0, 34,132,181, 64, 99, 60, 92,191,217, 81,149,191,
- 75,124, 18,237, 4,232,255, 0, 3, 0, 0, 0,137,215,176, 64, 25, 62,241,191,179,254,219, 62, 77,121, 24,216,178, 8,255, 0,
- 3, 0, 0, 0,219,227, 2, 64, 96,164,173,192,200, 71, 78, 63, 92, 43,204,136, 30, 17,255, 0, 3, 0, 0, 0,181,140, 92, 63,
- 75, 38,184,192,176,148, 37,191, 32, 19, 19,130, 97,243,255, 0, 3, 0, 0, 0,175,242, 74, 62,164,173,183,192,227,105,145, 63,
-139, 5, 96,130,225, 23,255, 0, 3, 0, 0, 0,215,159,132,192, 84,184, 97,192, 30, 44, 10, 64, 80,164,237,179,200, 46,255, 0,
- 3, 0, 0, 0, 95,122,164,192,199,143, 44,192, 53, 78, 68, 63,239,143,239,196, 71, 18,255, 0, 3, 0, 0, 0, 75,104,159,192,
-212, 56,236,191,240,126, 29, 64, 45,147, 90,214,247, 52,255, 0, 3, 0, 0, 0,212, 56,159,191,172,166, 68, 64,212,108,154, 64,
- 80,228,224, 65, 48,106,255, 0, 3, 0, 0, 0, 33,182, 36,192, 34, 38,220, 63,150, 5,159, 64, 23,201, 45, 38, 33,109,255, 0,
- 3, 0, 0, 0, 16, 34, 81,191,129, 64,179, 63,162, 5,180, 64, 14,237,163, 31,145,122,255, 0, 3, 0, 0, 0, 42,207, 89, 64,
-251, 6, 47, 64, 27,165,121, 64, 47, 73,238, 59, 58, 86,255, 0, 3, 0, 0, 0,208, 76,223, 63,170, 32,101, 64, 65, 83,137, 64,
- 57, 39, 61, 77, 58, 94,255, 0, 3, 0, 0, 0,249,249, 10, 64, 62, 52,244, 63, 25,236,162, 64,247, 47, 0, 43,154,110,255, 0,
- 3, 0, 0, 0,210,126,142, 64, 43, 49,238,191,112, 30, 84, 64, 69, 97,161,216, 73, 73,255, 0, 3, 0, 0, 0, 98, 61,152, 64,
- 87, 63,106, 60, 6, 97, 90, 64,129,103, 5,255, 73, 75,255, 0, 3, 0, 0, 0,138,165, 97, 64, 92, 9, 80,191, 20, 74,147, 64,
- 73, 78, 23,238,170, 99,255, 0, 3, 0, 0, 0,208,190,232, 62, 93,160,139,192,191, 33,120, 64, 73, 11, 51,161, 64, 85,255, 0,
- 3, 0, 0, 0, 36, 76, 19, 64, 25,151,129,192,212,254, 98, 64, 25, 49,159,167,125, 78,255, 0, 3, 0, 0, 0, 93,232,175, 63,
-177, 23, 64,192, 69,186,154, 64, 29, 30, 21,189,222,104,255, 0, 3, 0, 0, 0,211, 62, 68,192, 51, 56,168,191, 13,245,153, 64,
- 15,190, 64,226,150,105,255, 0, 3, 0, 0, 0,200,173, 14,192,155,183, 63,192,192, 75,144, 64, 50,207,211,191,104, 99,255, 0,
- 3, 0, 0, 0, 95,162,167,191,144, 29,209,191, 25,245,174, 64, 6,226,181,219, 6,119,255, 0, 3, 0, 0, 0,158,156,211,191,
-185,228,132, 63,190,207,176,192,164,220,231, 21,244,134,255, 0, 3, 0, 0, 0, 0, 76, 41,192,190,199, 5, 64, 83,157,153,192,
-146,198, 75, 45,246,150,255, 0, 3, 0, 0, 0,204, 83,125,192,169, 55,105, 64,244,162, 20,192, 72,169,246, 79, 82,206,255, 0,
- 3, 0, 0, 0,178,215, 91,192,222,235, 62, 64,190,254,108,192,215,180, 87, 65,155,175,255, 0, 3, 0, 0, 0,242, 63, 59,191,
-210,237,152, 63,251, 21,182,192,125,239, 26, 25,149,131,255, 0, 3, 0, 0, 0, 86,230, 94, 61,198, 30, 35, 64,233, 15,169,192,
-238, 0, 52, 55,135,140,255, 0, 3, 0, 0, 0,220, 4,199, 63, 7,145,146, 64,104,186, 83,192,109, 34,137,100,168,184,255, 0,
- 3, 0, 0, 0, 9,120, 86, 63,149, 91,109, 64, 79,242,142,192,133, 18, 64, 81,218,158,255, 0, 3, 0, 0, 0,103,243, 95,192,
-221, 91,138, 64,186, 15,236,191,170,178,219, 93, 25,216,255, 0, 3, 0, 0, 0, 46,206, 5,192,121, 41,159, 64,154, 91, 19,192,
-230,209, 96,108,226,205,255, 0, 3, 0, 0, 0,169,200,139, 63,198, 78,163, 64,201,146, 42,192,247, 24, 59,111,206,197,255, 0,
- 3, 0, 0, 0,187,128, 4,191,206,181,167, 64, 74, 92, 37,192, 57,245, 96,114,145,199,255, 0, 3, 0, 0, 0,151, 16,231,191,
-160,166,209, 61,167, 95,178,192,136,217,196, 2,245,133,255, 0, 3, 0, 0, 0,163,200, 69,192,178,143, 38,191,148, 48,158,192,
-243,188, 11,242,223,147,255, 0, 3, 0, 0, 0, 43,192,155,192,151, 6,250,191,170, 82, 39,192, 79,149,247,212,231,199,255, 0,
- 3, 0, 0, 0,233,118,132,192,217,111,173,191, 67,122,123,192,100,165, 58,226,165,170,255, 0, 3, 0, 0, 0,238, 85,146,192,
-178,205, 78, 64, 70, 54,221,191,183,156,134, 71,120,218,255, 0, 3, 0, 0, 0, 76,137,167,192,111, 31,227, 63,158, 57,251,191,
-234,141, 54, 39, 59,213,255, 0, 3, 0, 0, 0, 39,143,170,192,167, 15,183,191,251, 85,252,191,217,139,169,223, 13,213,255, 0,
- 3, 0, 0, 0, 8,214,175,192,177,124, 53, 62,206,241, 2,192, 23,136, 89, 3, 92,211,255, 0, 3, 0, 0, 0, 77,160,160,190,
- 9, 20,182, 62,108,232,186,192, 8,248,241, 7,128,128,255, 0, 3, 0, 0, 0, 33,144,163, 63,151,144,186, 61, 50, 47,183,192,
- 97, 27, 19, 2,252,130,255, 0, 3, 0, 0, 0,222,179,129, 64,234,147,224,190, 38,180,134,192, 83, 89, 64,246,218,164,255, 0,
- 3, 0, 0, 0,114,138, 49, 64,246, 97, 57,190, 57, 76,165,192,250, 60,247,251,138,143,255, 0, 3, 0, 0, 0,249,158, 27, 64,
-197,118,141, 64, 58,196, 62,192, 90, 52, 70, 97, 90,191,255, 0, 3, 0, 0, 0, 98,244, 89, 64, 8,120, 79, 64, 65,128, 96,192,
- 8, 74, 39, 71,151,179,255, 0, 3, 0, 0, 0, 13,100,144, 64,200,214,118, 62, 64,205,110,192,182, 98, 37, 4,161,174,255, 0,
- 3, 0, 0, 0, 42,202,131, 64, 60,161,231, 63,142,245,112,192, 10, 90,255, 38,209,173,255, 0, 3, 0, 0, 0,149, 51,122,191,
- 52,151,163,190, 15,157,184,192,118,234, 36,250,248,129,255, 0, 3, 0, 0, 0, 5,113, 42,191, 31,112,241,191, 15,119,176,192,
- 93,241, 84,215,135,135,255, 0, 3, 0, 0, 0, 60, 55,172, 61, 22, 64,143,192,164,246,113,192, 27, 2,132,157, 71,174,255, 0,
- 3, 0, 0, 0,167,173,154,190,111,224, 83,192,198,169,154,192,136,249, 89,183,211,150,255, 0, 3, 0, 0, 0,151,133,136, 64,
- 9,249,162,191,106,219,115,192,175, 93, 47,229, 3,173,255, 0, 3, 0, 0, 0,110,124, 89, 64,135, 6, 40,192,223,195,127,192,
-120, 74, 31,199,208,168,255, 0, 3, 0, 0, 0,244,248,117, 63,109, 90,148,192,123, 0, 93,192, 8, 20, 66,154,249,180,255, 0,
- 3, 0, 0, 0,162, 0, 17, 64, 63,196,113,192, 52,239,119,192, 10, 49, 64,173,144,171,255, 0, 3, 0, 0, 0,162,217, 7,191,
- 21,117,156,192,222,238, 75,192,139,245, 20,149,108,186,255, 0, 3, 0, 0, 0,171,144, 6,192,112,158,144,192,198,241, 69,192,
-156,210, 55,157,115,188,255, 0, 3, 0, 0, 0,110,238,148,192,115,109, 50,192,187,197, 13,192,170,153,231,195, 17,208,255, 0,
- 3, 0, 0, 0, 79,252, 96,192,140, 40,115,192,116,165, 48,192,226,178, 98,173,236,195,255, 0, 3, 0, 0, 0,100,228,172,192,
-217,128,248,191, 8, 93,150,191, 91,138, 53,213, 86,229,255, 0, 3, 0, 0, 0, 82,171,182,192,216,250,168,191, 15, 15,147, 62,
-122,131,250,226,203, 5,255, 0, 3, 0, 0, 0,215, 73,160,192,124,165, 49, 62,232, 85, 66, 64, 33,147, 84, 4, 42, 67,255, 0,
- 3, 0, 0, 0,171, 89,178,192,192,115, 24,191, 78,116,221, 63,129,134, 64,243, 50, 38,255, 0, 3, 0, 0, 0, 51,206,143,192,
-133,250,105, 64,119,251, 97,191, 85,158, 53, 80,193,235,255, 0, 3, 0, 0, 0, 62, 32,160,192,163, 38, 65, 64,164,117, 3, 63,
-236,146, 24, 66,193, 10,255, 0, 3, 0, 0, 0,216,108,155,192, 59,255,141, 63,189,117, 69, 64, 61,150,119, 23, 42, 68,255, 0,
- 3, 0, 0, 0, 85, 27,164,192,244, 78, 9, 64, 87,193,239, 63, 33,144,128, 46, 73, 41,255, 0, 3, 0, 0, 0,134, 35,117,192,
- 39,152,138, 64, 73, 86,116,191,230,171, 2, 94, 73,234,255, 0, 3, 0, 0, 0, 35,220, 67,192, 6,218,159, 64,242,103,155, 62,
-240,188,215,108, 55, 6,255, 0, 3, 0, 0, 0,130, 79, 99,191,215,182,164, 64, 10, 4, 42, 64,118,237, 50,112,190, 58,255, 0,
- 3, 0, 0, 0,161, 86, 3,192, 14,205,168, 64, 60, 55,197, 63,148,211, 31,115,255, 33,255, 0, 3, 0, 0, 0,229,101,215, 63,
- 84,141,168, 64, 16, 90,248,191, 11, 37,148,114,159,212,255, 0, 3, 0, 0, 0, 99, 52,155, 63,198, 17,183, 64,232,199,235,190,
-159, 26,192,124,120,245,255, 0, 3, 0, 0, 0,105,179, 10, 61, 25,185,169, 64,120,119, 31, 64, 77, 0,101,115, 96, 55,255, 0,
- 3, 0, 0, 0,143,198, 37, 63,123,120,183, 64,160,108,135, 63,240, 13, 8,125,144, 23,255, 0, 3, 0, 0, 0,180,174, 32, 64,
- 65, 13,155, 64,238,167, 8,192,247, 53,245,105,163,208,255, 0, 3, 0, 0, 0, 69,199,104, 64,177,135,143, 64, 41, 12,132,191,
- 10, 79, 10, 98, 31,233,255, 0, 3, 0, 0, 0,121,134,159, 64, 49,245, 49, 64,210,166,169, 63, 27,109,242, 59,190, 29,255, 0,
- 3, 0, 0, 0, 52,133,143, 64,119,200,113, 64,186,206, 29, 62, 20, 98, 39, 82,190, 3,255, 0, 3, 0, 0, 0,215, 73,160, 64,
-124,165, 49,190,232, 85, 66,192,223,108,172,251,214,188,255, 0, 3, 0, 0, 0,171, 89,178, 64,192,115, 24, 63, 78,116,221,191,
-127,121,192, 12,206,217,255, 0, 3, 0, 0, 0,100,228,172, 64,217,128,248, 63, 8, 93,150, 63,165,117,203, 42,170, 26,255, 0,
- 3, 0, 0, 0, 82,171,182, 64,216,250,168, 63, 15, 15,147,190,134,124, 6, 29, 53,250,255, 0, 3, 0, 0, 0,216,108,155, 64,
- 59,255,141,191,189,117, 69,192,195,105,137,232,214,187,255, 0, 3, 0, 0, 0, 85, 27,164, 64,244, 78, 9,192, 87,193,239,191,
-223,111,128,209,183,214,255, 0, 3, 0, 0, 0, 51,206,143, 64,133,250,105,192,119,251, 97, 63,171, 97,203,175, 63, 20,255, 0,
- 3, 0, 0, 0, 62, 32,160, 64,163, 38, 65,192,164,117, 3,191, 20,109,232,189, 63,245,255, 0, 3, 0, 0, 0,130, 79, 99, 63,
-215,182,164,192, 10, 4, 42,192,138, 18,206,143, 66,197,255, 0, 3, 0, 0, 0,161, 86, 3, 64, 14,205,168,192, 60, 55,197,191,
-108, 44,225,140, 1,222,255, 0, 3, 0, 0, 0,134, 35,117, 64, 39,152,138,192, 73, 86,116, 63, 26, 84,254,161,183, 21,255, 0,
- 3, 0, 0, 0, 35,220, 67, 64, 6,218,159,192,242,103,155,190, 16, 67, 41,147,201,249,255, 0, 3, 0, 0, 0,105,179, 10,189,
- 25,185,169,192,120,119, 31,192,179,255,155,140,160,200,255, 0, 3, 0, 0, 0,143,198, 37,191,123,120,183,192,160,108,135,191,
- 16,242,248,130,112,232,255, 0, 3, 0, 0, 0,229,101,215,191, 84,141,168,192, 16, 90,248, 63,245,218,108,141, 97, 43,255, 0,
- 3, 0, 0, 0, 99, 52,155,191,198, 17,183,192,232,199,235, 62, 97,229, 64,131,136, 10,255, 0, 3, 0, 0, 0,121,134,159,192,
- 49,245, 49,192,210,166,169,191,229,146, 14,196, 66,226,255, 0, 3, 0, 0, 0, 52,133,143,192,119,200,113,192,186,206, 29,190,
-236,157,217,173, 66,252,255, 0, 3, 0, 0, 0,180,174, 32,192, 65, 13,155,192,238,167, 8, 64, 9,202, 11,150, 93, 47,255, 0,
- 3, 0, 0, 0, 69,199,104,192,177,135,143,192, 41, 12,132, 63,246,176,246,157,225, 22,255, 0, 3, 0, 0, 0,244,248,117,191,
-109, 90,148, 64,123, 0, 93, 64,248,235,190,101, 7, 75,255, 0, 3, 0, 0, 0,162, 0, 17,192, 63,196,113, 64, 52,239,119, 64,
-246,206,192, 82,112, 84,255, 0, 3, 0, 0, 0,151,133,136,192, 9,249,162, 63,106,219,115, 64, 81,162,209, 26,253, 82,255, 0,
- 3, 0, 0, 0,110,124, 89,192,135, 6, 40, 64,223,195,127, 64,136,181,225, 56, 48, 87,255, 0, 3, 0, 0, 0,162,217, 7, 63,
- 21,117,156, 64,222,238, 75, 64,117, 10,236,106,148, 69,255, 0, 3, 0, 0, 0,171,144, 6, 64,112,158,144, 64,198,241, 69, 64,
-100, 45,201, 98,141, 67,255, 0, 3, 0, 0, 0,110,238,148, 64,115,109, 50, 64,187,197, 13, 64, 86,102, 25, 60,239, 47,255, 0,
- 3, 0, 0, 0, 79,252, 96, 64,140, 40,115, 64,116,165, 48, 64, 30, 77,158, 82, 20, 60,255, 0, 3, 0, 0, 0, 39,143,170, 64,
-167, 15,183, 63,251, 85,252, 63, 39,116, 87, 32,243, 42,255, 0, 3, 0, 0, 0, 8,214,175, 64,177,124, 53,190,206,241, 2, 64,
-233,119,167,252,164, 44,255, 0, 3, 0, 0, 0,238, 85,146, 64,178,205, 78,192, 70, 54,221, 63, 73, 99,122,184,136, 37,255, 0,
- 3, 0, 0, 0, 76,137,167, 64,111, 31,227,191,158, 57,251, 63, 22,114,202,216,197, 42,255, 0, 3, 0, 0, 0,103,243, 95, 64,
-221, 91,138,192,186, 15,236, 63, 86, 77, 37,162,231, 39,255, 0, 3, 0, 0, 0, 46,206, 5, 64,121, 41,159,192,154, 91, 19, 64,
- 26, 46,160,147, 30, 50,255, 0, 3, 0, 0, 0,169,200,139,191,198, 78,163,192,201,146, 42, 64, 9,231,197,144, 50, 58,255, 0,
- 3, 0, 0, 0,187,128, 4, 63,206,181,167,192, 74, 92, 37, 64,199, 10,160,141,111, 56,255, 0, 3, 0, 0, 0,249,158, 27,192,
-197,118,141,192, 58,196, 62, 64,166,203,186,158,166, 64,255, 0, 3, 0, 0, 0, 98,244, 89,192, 8,120, 79,192, 65,128, 96, 64,
-248,181,217,184,105, 76,255, 0, 3, 0, 0, 0, 13,100,144,192,200,214,118,190, 64,205,110, 64, 74,157,219,251, 95, 81,255, 0,
- 3, 0, 0, 0, 42,202,131,192, 60,161,231,191,142,245,112, 64,246,165, 1,217, 47, 82,255, 0, 3, 0, 0, 0,222,179,129,192,
-234,147,224, 62, 38,180,134, 64,173,166,192, 9, 38, 91,255, 0, 3, 0, 0, 0,114,138, 49,192,246, 97, 57, 62, 57, 76,165, 64,
- 6,195, 9, 4,118,112,255, 0, 3, 0, 0, 0, 77,160,160, 62, 9, 20,182,190,108,232,186, 64,248, 7, 15,248,128,127,255, 0,
- 3, 0, 0, 0, 33,144,163,191,151,144,186,189, 50, 47,183, 64,159,228,237,253, 4,125,255, 0, 3, 0, 0, 0, 60, 55,172,189,
- 22, 64,143, 64,164,246,113, 64,229,253,124, 98,185, 81,255, 0, 3, 0, 0, 0,167,173,154, 62,111,224, 83, 64,198,169,154, 64,
-120, 6,167, 72, 45,105,255, 0, 3, 0, 0, 0,149, 51,122, 63, 52,151,163, 62, 15,157,184, 64,138, 21,220, 5, 8,126,255, 0,
- 3, 0, 0, 0, 5,113, 42, 63, 31,112,241, 63, 15,119,176, 64,163, 14,172, 40,121,120,255, 0, 3, 0, 0, 0, 43,192,155, 64,
-151, 6,250, 63,170, 82, 39, 64,177,106, 9, 43, 25, 56,255, 0, 3, 0, 0, 0,233,118,132, 64,217,111,173, 63, 67,122,123, 64,
-156, 90,198, 29, 91, 85,255, 0, 3, 0, 0, 0,151, 16,231, 63,160,166,209,189,167, 95,178, 64,120, 38, 60,253, 11,122,255, 0,
- 3, 0, 0, 0,163,200, 69, 64,178,143, 38, 63,148, 48,158, 64, 13, 67,245, 13, 33,108,255, 0, 3, 0, 0, 0,204, 83,125, 64,
-169, 55,105,192,244,162, 20, 64,184, 86, 10,176,174, 49,255, 0, 3, 0, 0, 0,178,215, 91, 64,222,235, 62,192,190,254,108, 64,
- 41, 75,169,190,101, 80,255, 0, 3, 0, 0, 0,158,156,211, 63,185,228,132,191,190,207,176, 64, 92, 35, 25,234, 12,121,255, 0,
- 3, 0, 0, 0, 0, 76, 41, 64,190,199, 5,192, 83,157,153, 64,110, 57,181,210, 10,105,255, 0, 3, 0, 0, 0,220, 4,199,191,
- 7,145,146,192,104,186, 83, 64,147,221,119,155, 88, 71,255, 0, 3, 0, 0, 0, 9,120, 86,191,149, 91,109,192, 79,242,142, 64,
-123,237,192,174, 38, 97,255, 0, 3, 0, 0, 0,242, 63, 59, 63,210,237,152,191,251, 21,182, 64,131, 16,230,230,107,124,255, 0,
- 3, 0, 0, 0, 86,230, 94,189,198, 30, 35,192,233, 15,169, 64, 18,255,204,200,121,115,255, 0, 3, 0, 0, 0,208, 27, 46,192,
-124,104, 86, 64, 85, 52,126,192,137,197,226, 72,134,168,255, 0, 3, 0, 0, 0, 82,168,234,191, 87, 62,149, 64,118, 12, 67,192,
- 5,217,188,101,210,188,255, 0, 3, 0, 0, 0,186, 10, 16,192,249,106, 52, 64,210,253,147,192,182,206,131, 62,198,155,255, 0,
- 3, 0, 0, 0, 93, 33,240,190,191,199, 71, 64,142, 47,158,192,214,245, 40, 69,199,148,255, 0, 3, 0, 0, 0, 19, 46, 71,187,
-194,240,115, 64,175,166,142,192,240,254,161, 82, 66,158,255, 0, 3, 0, 0, 0,188,194,101,191, 17, 84,154, 64,240,193, 77,192,
- 76,235,214,104,142,185,255, 0, 3, 0, 0, 0,246,246,115,192,183, 86, 15, 64, 51,168,118,192,249,172,229, 47, 45,171,255, 0,
- 3, 0, 0, 0,101, 1,160,192, 47,146,184, 63,153, 38, 45,192,225,146, 96, 30,102,196,255, 0, 3, 0, 0, 0,215,229, 85,192,
-166,178,218, 63,183, 55,144,192, 38,182,133, 37,110,158,255, 0, 3, 0, 0, 0,151,178,104,192,245,107,205,189,175, 60,147,192,
-178,175,205,253, 91,156,255, 0, 3, 0, 0, 0,192, 81,136,192, 55,239, 4,191, 24,222,127,192,130,163,158,245, 35,168,255, 0,
- 3, 0, 0, 0, 70,241,164,192,102,218,251, 62,143, 82, 48,192,222,143,210, 11,110,195,255, 0, 3, 0, 0, 0,209,230,173, 63,
-231,135, 71, 64, 27,234,152,192,148, 29, 4, 67, 11,151,255, 0, 3, 0, 0, 0,158,103, 67, 64, 82,206, 51, 64, 39,168,132,192,
-203, 66, 63, 60,242,164,255, 0, 3, 0, 0, 0,136,131,100, 63, 16, 95, 27, 64, 4,115,168,192,122, 20,138, 53,143,141,255, 0,
- 3, 0, 0, 0, 77,154,217, 63,185, 69, 78, 63,221,196,177,192, 53, 38,236, 17, 42,135,255, 0, 3, 0, 0, 0,107,195, 37, 64,
- 4,213, 36, 63, 20, 33,167,192,151, 55,194, 14,168,141,255, 0, 3, 0, 0, 0,103,139, 94, 64,153,146,250, 63, 72,141,137,192,
- 19, 75,156, 43,245,161,255, 0, 3, 0, 0, 0,231,195, 21, 64,236, 58,101,191,218,178,169,192,247, 49, 31,236,218,139,255, 0,
- 3, 0, 0, 0,142, 32, 48, 64,155,140, 32,192,195, 1,145,192, 3, 59,178,200,204,156,255, 0, 3, 0, 0, 0, 70,155,185, 63,
- 12,202, 59,191,163, 86,180,192,149, 32, 73,239, 91,133,255, 0, 3, 0, 0, 0, 29, 97, 43, 62,144,118, 2,192,125,231,175,192,
-106, 4,160,210,103,136,255, 0, 3, 0, 0, 0, 97,116,196, 62, 10,176, 56,192,120,239,162,192,164, 8, 20,194, 81,144,255, 0,
- 3, 0, 0, 0,185, 2, 5, 64,217,105, 76,192,135,173,142,192,218, 45, 79,187, 56,158,255, 0, 3, 0, 0, 0,163,243,144,191,
-252, 41, 73,192,148, 66,154,192,134,230, 73,188,107,150,255, 0, 3, 0, 0, 0,147,133, 20,192,234, 55,124,192,176, 3,107,192,
-110,204,196,170,164,175,255, 0, 3, 0, 0, 0, 42,186, 60,192,219,128,189,191, 23, 43,155,192, 41,191,189,222,199,150,255, 0,
- 3, 0, 0, 0, 52,164,172,191,106,240, 18,192,141, 58,167,192, 76,226,213,204,128,142,255, 0, 3, 0, 0, 0, 12,171,100,192,
-249, 33,243,191,106,221,135,192,248,178,143,214,143,162,255, 0, 3, 0, 0, 0,195, 78, 74,192,241,206, 96,192, 98, 88, 94,192,
- 4,188, 34,179,129,179,255, 0, 3, 0, 0, 0, 41,110,177,192, 81, 30,186, 63,105,249,158,191,160,134,165, 30, 86,229,255, 0,
- 3, 0, 0, 0, 45,138,172,192,114,149, 17, 64,127,203,200, 62,251,137,171, 48, 56, 9,255, 0, 3, 0, 0, 0, 10, 94,182,192,
- 48, 5, 1, 63, 86, 81,165,191,156,131, 24, 12, 94,228,255, 0, 3, 0, 0, 0,117,224,186,192, 37,234,247,190,147, 56,126, 62,
-132,128,101,246, 46, 6,255, 0, 3, 0, 0, 0,204, 78,184,192, 19,193, 89,189,187,163,141, 63, 22,130,208,254,241, 22,255, 0,
- 3, 0, 0, 0,105,232,174,192,151,187,224, 63,156,183,153, 63,137,136,137, 38, 3, 25,255, 0, 3, 0, 0, 0, 42,118, 68,191,
-101,173,176, 64,114,132,233,191, 57,238,142,120,217,216,255, 0, 3, 0, 0, 0, 81,172,191, 62, 67,208,186, 64,195,163,216,190,
- 75, 7,131,127,159,247,255, 0, 3, 0, 0, 0,113, 2,218,191,172,151,171, 64,114, 25,212,191,243,219,116,117, 30,220,255, 0,
- 3, 0, 0, 0,251,244, 21,192, 28, 12,172, 64, 13,151,128, 61,229,205,196,117,226, 1,255, 0, 3, 0, 0, 0, 51, 39,223,191,
-248, 94,177, 64,104,122, 76, 63,155,217, 3,121, 65, 16,255, 0, 3, 0, 0, 0, 72,208, 28, 61, 91, 13,187, 64, 64,215,245, 62,
-187, 0,168,127, 66, 9,255, 0, 3, 0, 0, 0, 45, 93,142, 64, 70,137, 14, 64,147,202, 70,192,241, 96,173, 49,202,188,255, 0,
- 3, 0, 0, 0,106, 23,173, 64,157,131,182, 63,175,176,225,191, 7,118, 20, 32, 72,218,255, 0, 3, 0, 0, 0, 78,203,128, 64,
-124, 14, 69, 64, 55, 0, 61,192,168, 88, 80, 66,199,191,255, 0, 3, 0, 0, 0,133,175,133, 64, 28,149,121, 64, 51,212,168,191,
- 4, 92, 86, 84,170,227,255, 0, 3, 0, 0, 0, 8,211,149, 64, 84,166, 94, 64, 68, 24, 29,191,221,101, 30, 76,113,241,255, 0,
- 3, 0, 0, 0, 31,169,175, 64,138,176,237, 63, 15,168,103,191,152,119,128, 40, 11,235,255, 0, 3, 0, 0, 0,122, 78, 57, 64,
-224, 12,120,192, 7, 56, 84,192, 62, 64,247,171,239,183,255, 0, 3, 0, 0, 0, 0, 74, 48, 64,245,165,155,192,208, 87,227,191,
- 38, 61, 68,150,192,217,255, 0, 3, 0, 0, 0, 85,108,100, 64,115, 47, 76,192,149,224, 88,192,102, 77, 90,185,131,182,255, 0,
- 3, 0, 0, 0,173,191,150, 64,227,233, 55,192,198,101,254,191,121,102, 79,192, 73,213,255, 0, 3, 0, 0, 0,119, 97,148, 64,
-200, 33, 89,192, 24,225,150,191, 7,101, 44,182, 20,229,255, 0, 3, 0, 0, 0, 75,171, 86, 64, 36, 83,150,192, 22, 36,133,191,
-220, 72,131,153, 32,232,255, 0, 3, 0, 0, 0,116,251, 81,192,115, 80,139,192, 57,124, 10,192, 81,185, 53,160,254,208,255, 0,
- 3, 0, 0, 0, 70,239,122,192, 53,220,138,192,113, 86,227,190, 68,171,132,160,195,246,255, 0, 3, 0, 0, 0, 14, 50, 28,192,
-245, 4,153,192,141, 39, 23,192,187,201,215,151, 33,205,255, 0, 3, 0, 0, 0, 34,123,189,191,203,168,178,192,149,106,130,191,
-209,222, 63,134,158,234,255, 0, 3, 0, 0, 0,176,127,232,191,177,107,178,192, 47,189,236,189, 65,216,100,134, 66,252,255, 0,
- 3, 0, 0, 0, 53,168, 90,192,169, 83,152,192,227,201,133, 62, 29,181, 77,152,136, 4,255, 0, 3, 0, 0, 0,173,191,150,192,
-227,233, 55, 64,198,101,254, 63,135,153,177, 63,183, 42,255, 0, 3, 0, 0, 0, 85,108,100,192,115, 47, 76, 64,149,224, 88, 64,
-154,178,166, 70,125, 73,255, 0, 3, 0, 0, 0,119, 97,148,192,200, 33, 89, 64, 24,225,150, 63,249,154,212, 73,236, 26,255, 0,
- 3, 0, 0, 0, 75,171, 86,192, 36, 83,150, 64, 22, 36,133, 63, 36,183,125,102,224, 23,255, 0, 3, 0, 0, 0, 0, 74, 48,192,
-245,165,155, 64,208, 87,227, 63,218,194,188,105, 64, 38,255, 0, 3, 0, 0, 0,122, 78, 57,192,224, 12,120, 64, 7, 56, 84, 64,
-194,191, 9, 84, 17, 72,255, 0, 3, 0, 0, 0, 34,123,189, 63,203,168,178, 64,149,106,130, 63, 47, 33,193,121, 98, 21,255, 0,
- 3, 0, 0, 0, 14, 50, 28, 64,245, 4,153, 64,141, 39, 23, 64, 69, 54, 41,104,223, 50,255, 0, 3, 0, 0, 0,176,127,232, 63,
-177,107,178, 64, 47,189,236, 61,191, 39,156,121,190, 3,255, 0, 3, 0, 0, 0, 53,168, 90, 64,169, 83,152, 64,227,201,133,190,
-227, 74,179,103,120,251,255, 0, 3, 0, 0, 0, 70,239,122, 64, 53,220,138, 64,113, 86,227, 62,188, 84,124, 95, 61, 9,255, 0,
- 3, 0, 0, 0,116,251, 81, 64,115, 80,139, 64, 57,124, 10, 64,175, 70,203, 95, 2, 47,255, 0, 3, 0, 0, 0,117,224,186, 64,
- 37,234,247, 62,147, 56,126,190,124,127,155, 9,210,249,255, 0, 3, 0, 0, 0, 10, 94,182, 64, 48, 5, 1,191, 86, 81,165, 63,
-100,124,232,243,162, 27,255, 0, 3, 0, 0, 0,204, 78,184, 64, 19,193, 89, 61,187,163,141,191,234,125, 48, 1, 15,233,255, 0,
- 3, 0, 0, 0,105,232,174, 64,151,187,224,191,156,183,153,191,119,119,119,217,253,230,255, 0, 3, 0, 0, 0, 45,138,172, 64,
-114,149, 17,192,127,203,200,190, 5,118, 85,207,200,246,255, 0, 3, 0, 0, 0, 41,110,177, 64, 81, 30,186,191,105,249,158, 63,
- 96,121, 91,225,170, 26,255, 0, 3, 0, 0, 0,251,244, 21, 64, 28, 12,172,192, 13,151,128,189, 27, 50, 60,138, 30,254,255, 0,
- 3, 0, 0, 0,113, 2,218, 63,172,151,171,192,114, 25,212, 63, 13, 36,140,138,226, 35,255, 0, 3, 0, 0, 0, 51, 39,223, 63,
-248, 94,177,192,104,122, 76,191,101, 38,253,134,191,239,255, 0, 3, 0, 0, 0, 72,208, 28,189, 91, 13,187,192, 64,215,245,190,
- 69,255, 88,128,190,246,255, 0, 3, 0, 0, 0, 81,172,191,190, 67,208,186,192,195,163,216, 62,181,248,125,128, 97, 8,255, 0,
- 3, 0, 0, 0, 42,118, 68, 63,101,173,176,192,114,132,233, 63,199, 17,114,135, 39, 39,255, 0, 3, 0, 0, 0,133,175,133,192,
- 28,149,121,192, 51,212,168, 63,252,163,170,171, 86, 28,255, 0, 3, 0, 0, 0, 78,203,128,192,124, 14, 69,192, 55, 0, 61, 64,
- 88,167,176,189, 57, 64,255, 0, 3, 0, 0, 0, 31,169,175,192,138,176,237,191, 15,168,103, 63,104,136,128,215,245, 20,255, 0,
- 3, 0, 0, 0, 8,211,149,192, 84,166, 94,192, 68, 24, 29, 63, 35,154,226,179,143, 14,255, 0, 3, 0, 0, 0,106, 23,173,192,
-157,131,182,191,175,176,225, 63,249,137,236,223,184, 37,255, 0, 3, 0, 0, 0, 45, 93,142,192, 70,137, 14,192,147,202, 70, 64,
- 15,159, 83,206, 54, 67,255, 0, 3, 0, 0, 0,185, 2, 5,192,217,105, 76, 64,135,173,142, 64, 38,210,177, 68,200, 97,255, 0,
- 3, 0, 0, 0, 97,116,196,190, 10,176, 56, 64,120,239,162, 64, 92,247,236, 61,175,111,255, 0, 3, 0, 0, 0,142, 32, 48,192,
-155,140, 32, 64,195, 1,145, 64,253,196, 78, 55, 52, 99,255, 0, 3, 0, 0, 0,231,195, 21,192,236, 58,101, 63,218,178,169, 64,
- 9,206,225, 19, 38,116,255, 0, 3, 0, 0, 0, 70,155,185,191, 12,202, 59, 63,163, 86,180, 64,107,223,183, 16,165,122,255, 0,
- 3, 0, 0, 0, 29, 97, 43,190,144,118, 2, 64,125,231,175, 64,150,251, 96, 45,153,119,255, 0, 3, 0, 0, 0,195, 78, 74, 64,
-241,206, 96, 64, 98, 88, 94, 64,252, 67,222, 76,127, 76,255, 0, 3, 0, 0, 0, 12,171,100, 64,249, 33,243, 63,106,221,135, 64,
- 8, 77,113, 41,113, 93,255, 0, 3, 0, 0, 0,147,133, 20, 64,234, 55,124, 64,176, 3,107, 64,146, 51, 60, 85, 92, 80,255, 0,
- 3, 0, 0, 0,164,243,144, 63,252, 41, 73, 64,148, 66,154, 64,122, 25,183, 67,149,105,255, 0, 3, 0, 0, 0, 52,164,172, 63,
-106,240, 18, 64,141, 58,167, 64,180, 29, 43, 51,128,113,255, 0, 3, 0, 0, 0, 42,186, 60, 64,219,128,189, 63, 23, 43,155, 64,
-215, 64, 67, 33, 57,105,255, 0, 3, 0, 0, 0,101, 1,160, 64, 47,146,184,191,153, 38, 45, 64, 31,109,160,225,154, 59,255, 0,
- 3, 0, 0, 0,246,246,115, 64,183, 86, 15,192, 51,168,118, 64, 7, 83, 27,208,211, 84,255, 0, 3, 0, 0, 0, 70,241,164, 64,
-102,218,251,190,143, 82, 48, 64, 34,112, 46,244,146, 60,255, 0, 3, 0, 0, 0,192, 81,136, 64, 55,239, 4, 63, 24,222,127, 64,
-126, 92, 98, 10,221, 87,255, 0, 3, 0, 0, 0,151,178,104, 64,245,107,205, 61,175, 60,147, 64, 78, 80, 51, 2,165, 99,255, 0,
- 3, 0, 0, 0,215,229, 85, 64,166,178,218,191,183, 55,144, 64,218, 73,123,218,146, 97,255, 0, 3, 0, 0, 0,188,194,101, 63,
- 17, 84,154,192,240,193, 77, 64,180, 20, 42,151,114, 70,255, 0, 3, 0, 0, 0, 19, 46, 71, 59,194,240,115,192,175,166,142, 64,
- 16, 1, 95,173,190, 97,255, 0, 3, 0, 0, 0, 82,168,234, 63, 87, 62,149,192,118, 12, 67, 64,251, 38, 68,154, 46, 67,255, 0,
- 3, 0, 0, 0,208, 27, 46, 64,124,104, 86,192, 85, 52,126, 64,119, 58, 30,183,122, 87,255, 0, 3, 0, 0, 0,186, 10, 16, 64,
-249,106, 52,192,210,253,147, 64, 74, 49,125,193, 58,100,255, 0, 3, 0, 0, 0, 93, 33,240, 62,191,199, 71,192,142, 47,158, 64,
- 42, 10,216,186, 57,107,255, 0, 3, 0, 0, 0,103,139, 94,192,153,146,250,191, 72,141,137, 64,237,180,100,212, 11, 94,255, 0,
- 3, 0, 0, 0,107,195, 37,192, 4,213, 36,191, 20, 33,167, 64,105,200, 62,241, 88,114,255, 0, 3, 0, 0, 0,158,103, 67,192,
- 82,206, 51,192, 39,168,132, 64, 53,189,193,195, 14, 91,255, 0, 3, 0, 0, 0,209,230,173,191,231,135, 71,192, 27,234,152, 64,
-108,226,252,188,245,104,255, 0, 3, 0, 0, 0, 77,154,217,191,185, 69, 78,191,221,196,177, 64,203,217, 20,238,214,120,255, 0,
- 3, 0, 0, 0,136,131,100,191, 16, 95, 27,192, 4,115,168, 64,134,235,118,202,113,114,255, 0, 3, 0, 0, 0,139,220, 37,192,
-245,135,141, 64,114,173, 54,192, 45,199, 95, 96,211,193,255, 0, 3, 0, 0, 0,204,119, 84,192, 93, 73,130, 64,212,107, 38,192,
- 58,183,223, 88,137,199,255, 0, 3, 0, 0, 0,208, 76, 67,192, 62,120,111, 64, 14, 89, 85,192, 80,189,196, 81,140,183,255, 0,
- 3, 0, 0, 0, 68,147,238,191,166,230,100, 64,234, 9,136,192,216,215,130, 78, 59,163,255, 0, 3, 0, 0, 0, 30,149,109,191,
- 40, 18,111, 64,171,100,141,192, 37,235,201, 81,199,159,255, 0, 3, 0, 0, 0,144,237,178,191, 25,136,136, 64,121, 1,113,192,
-117,225,189, 92, 62,173,255, 0, 3, 0, 0, 0,214, 82, 66, 63,128,115,152, 64,164, 25, 85,192,241, 16, 27,104,126,183,255, 0,
- 3, 0, 0, 0,119,155,171,189,138, 40,155, 64,113, 96, 83,192,128,254,196,105,238,183,255, 0, 3, 0, 0, 0, 67,138,194, 62,
-177, 97,138, 64, 75,158,124,192,112, 8,134, 94, 29,170,255, 0, 3, 0, 0, 0,158,106, 94,191,167,106, 30, 64,254,240,167,192,
-229,236,187, 53,105,141,255, 0, 3, 0, 0, 0, 22,114,229,191,193, 96, 20, 64,253,167,162,192, 22,217, 93, 50,244,144,255, 0,
- 3, 0, 0, 0, 45,210,162,191,233,211,224, 63,184, 67,174,192, 69,228,245, 37,244,136,255, 0, 3, 0, 0, 0, 37, 61,152,192,
-230, 9, 14, 64,137,179, 39,192, 85,152,183, 48,226,198,255, 0, 3, 0, 0, 0,232,187,140,192, 6, 96, 62, 64,107,247, 30,192,
- 7,160, 68, 65, 11,202,255, 0, 3, 0, 0, 0,116,134,132,192, 40,130, 40, 64,237,207, 77,192,139,165,149, 57, 30,186,255, 0,
- 3, 0, 0, 0, 12,129,129,192,231,129,173, 63,159,125,128,192, 62,167, 15, 29,123,168,255, 0, 3, 0, 0, 0,254,112,134,192,
-126,146,207, 62,159, 19,130,192, 15,164,119, 9,117,167,255, 0, 3, 0, 0, 0,189,121,149,192,142,192,111, 63, 76, 95, 90,192,
- 95,154,107, 20,236,180,255, 0, 3, 0, 0, 0, 12, 65,162,192, 11, 84,149,191,172,202, 44,192, 60,145, 47,230, 75,197,255, 0,
- 3, 0, 0, 0, 74,120,165,192, 95, 78,167,190,139, 51, 48,192, 54,143,140,248,244,195,255, 0, 3, 0, 0, 0, 61,161,150,192,
-107,221, 89,191,118,113, 89,192, 40,153, 79,237, 35,182,255, 0, 3, 0, 0, 0, 52, 56, 66,192,206, 40,139, 62, 21,116,160,192,
- 13,190, 19, 6,121,146,255, 0, 3, 0, 0, 0,245,120, 56,192,118,213,154, 63, 81,227,158,192, 81,193, 47, 26,133,147,255, 0,
- 3, 0, 0, 0,220,104, 22,192,204,221, 40, 63,115,137,170,192, 16,205, 89, 14,117,139,255, 0, 3, 0, 0, 0,145,143, 39, 64,
-190, 49, 94, 64,165, 27,124,192,238, 56,252, 75, 43,170,255, 0, 3, 0, 0, 0,130,168, 6, 64,190,132,130, 64, 12, 96,105,192,
-226, 45, 91, 89,173,176,255, 0, 3, 0, 0, 0, 76,169,222, 63,205,107,104, 64,150,142,136,192, 23, 38,105, 79, 33,163,255, 0,
- 3, 0, 0, 0,137,207,229, 63, 30, 63, 22, 64,207,235,161,192,198, 39,227, 50,127,145,255, 0, 3, 0, 0, 0,239, 11, 14, 64,
-175,114,191, 63,254,208,166,192,133, 48, 81, 33, 87,142,255, 0, 3, 0, 0, 0,239,222, 43, 64,212,226, 11, 64,227, 71,151,192,
- 33, 58,140, 47, 91,152,255, 0, 3, 0, 0, 0, 0,245,124, 64, 27, 32,187, 62, 57, 6,138,192,138, 86,176, 7, 2,162,255, 0,
- 3, 0, 0, 0, 42, 75,112, 64,228, 42,152, 63, 25, 44,139,192, 0, 82,159, 25, 31,161,255, 0, 3, 0, 0, 0,178,218, 82, 64,
-178,247, 1, 63,211,129,154,192, 35, 72, 4, 11,217,150,255, 0, 3, 0, 0, 0,208,203,104, 63,146, 6,113, 63,108, 5,183,192,
-132, 19,150, 20, 49,131,255, 0, 3, 0, 0, 0, 26, 68,251, 62,111, 38,228, 63,114, 48,178,192,139, 10,158, 38,109,134,255, 0,
- 3, 0, 0, 0,163, 78,149, 61, 65, 25,137, 63,234,102,184,192, 54, 1, 52, 23, 34,130,255, 0, 3, 0, 0, 0, 98,140, 80, 64,
-169,205,238,191, 83, 69,144,192, 70, 71,145,215,173,157,255, 0, 3, 0, 0, 0,177, 39,109, 64,155,213,147,191,238,143,140,192,
- 57, 81,247,230, 77,160,255, 0, 3, 0, 0, 0,100,225, 66, 64,146,191,131,191,152, 18,157,192,178, 66,128,233, 25,149,255, 0,
- 3, 0, 0, 0,190, 24,220, 63,163,163,202,191,160,244,171,192, 99, 37,199,220,196,138,255, 0, 3, 0, 0, 0,227,219,133, 63,
-172, 47, 17,192, 93,160,169,192,126, 23,164,206, 68,140,255, 0, 3, 0, 0, 0, 46,202,247, 63, 23,140, 27,192,116,252,158,192,
-217, 41, 77,203, 32,147,255, 0, 3, 0, 0, 0, 36,220, 68, 63, 24,143,132,192, 20,105,130,192,163, 16, 66,165, 72,167,255, 0,
- 3, 0, 0, 0, 60,255,185, 63,215,244,108,192,129, 7,138,192,113, 31, 11,175,251,161,255, 0, 3, 0, 0, 0,220, 18, 19, 63,
-168,186, 98,192, 66,136,148,192,155, 12,121,178,241,154,255, 0, 3, 0, 0, 0,131,119,172,187,182,209,162,191,170, 73,183,192,
-209,255,144,228,251,130,255, 0, 3, 0, 0, 0,165,230, 40, 63,246,111, 24,191, 50,150,185,192, 19, 14, 18,243,113,129,255, 0,
- 3, 0, 0, 0,123, 45, 50,190,213, 16,230,190,160,240,186,192,231,251,124,246,109,128,255, 0, 3, 0, 0, 0,221, 22,199,191,
- 71,211,134,192, 37,161,113,192, 98,222,255,163,157,173,255, 0, 3, 0, 0, 0,171,131, 58,191, 57,178,140,192,214,174,115,192,
-105,240,201,159, 11,173,255, 0, 3, 0, 0, 0,228,119,112,191, 49, 46,115,192,186,222,139,192,152,235,221,172,217,160,255, 0,
- 3, 0, 0, 0,122, 75,254,191, 18, 36, 50,192, 84, 70,152,192,253,211, 46,195, 87,152,255, 0, 3, 0, 0, 0,190,239, 52,192,
-193,186, 22,192,166,240,145,192,167,194, 3,204,108,156,255, 0, 3, 0, 0, 0, 51, 23, 39,192, 14,245, 76,192,105,248,132,192,
- 29,199,137,186,200,164,255, 0, 3, 0, 0, 0,202,137,140,192, 4,234, 33,192,152,117, 60,192,215,159,216,200, 6,192,255, 0,
- 3, 0, 0, 0, 68,176,115,192, 85, 49, 68,192, 65,173, 79,192,178,172, 81,189, 81,185,255, 0, 3, 0, 0, 0,131,173,128,192,
- 50,170, 14,192,247, 71,105,192, 30,168, 64,207,189,176,255, 0, 3, 0, 0, 0,230, 80, 22,192, 50,155,141,191,108, 95,168,192,
- 3,205, 6,232, 19,141,255, 0, 3, 0, 0, 0, 96,113,194,191,166,184,195,191, 31,160,174,192,205,222,245,222,227,136,255, 0,
- 3, 0, 0, 0,249,244,213,191, 10, 33, 52,191,248, 94,178,192,172,219, 3,241, 48,134,255, 0, 3, 0, 0, 0, 30, 26,167,192,
- 62, 11, 42, 64,199,163,159,190, 45,142, 26, 58,236,248,255, 0, 3, 0, 0, 0, 15,242,157,192,177, 35, 63, 64,242,230,132,191,
-115,148,134, 65, 39,233,255, 0, 3, 0, 0, 0, 58,163,169,192,184,207, 14, 64, 43, 92,148,191,122,140,250, 48,193,230,255, 0,
- 3, 0, 0, 0,241, 83,184,192, 33,241,117, 63,204, 69,248,190, 32,130,245, 20, 22,246,255, 0, 3, 0, 0, 0, 88,178,186,192,
-180, 33,226, 62, 69,211,165, 62,153,128, 65, 10,196, 6,255, 0, 3, 0, 0, 0,100,194,181,192,227, 37,178, 63, 65, 51,191, 62,
-199,131,217, 29,201, 7,255, 0, 3, 0, 0, 0,140, 68,168,192,162,100, 57, 63, 90, 41, 31, 64, 91,141,195, 15,175, 54,255, 0,
- 3, 0, 0, 0,185,114,173,192,147, 11,162, 63,136,131,237, 63,204,137,106, 27,187, 40,255, 0, 3, 0, 0, 0, 90, 82,178,192,
-181, 0,168, 62,125, 64,231, 63,136,134, 78, 7,175, 39,255, 0, 3, 0, 0, 0,235, 52,185,192,191,185, 83,191, 39,176,252,190,
-201,129,211,237,241,244,255, 0, 3, 0, 0, 0, 95,222,182,192,178, 32,161,190, 48, 92,165,191, 90,131,208,248,211,227,255, 0,
- 3, 0, 0, 0, 52,119,179,192,223,204,147,191,116,141,160,191,169,133,113,230,103,228,255, 0, 3, 0, 0, 0,109, 88, 35, 63,
-129,186,182, 64,207, 8,152,191, 5, 14,127,124,202,229,255, 0, 3, 0, 0, 0,226, 54, 99, 63,172,134,174, 64, 96, 98,250,191,
-180, 19,244,118, 14,213,255, 0, 3, 0, 0, 0,150,195, 60, 61, 46,121,177, 64,174, 6,245,191, 84, 1,249,120, 55,214,255, 0,
- 3, 0, 0, 0,228,160,145,191,121, 59,181, 64,246,252,123,191, 63,231,214,123, 42,235,255, 0, 3, 0, 0, 0, 29,166,188,191,
-167,120,181, 64, 4,224,165,189, 81,224,253,123,203,253,255, 0, 3, 0, 0, 0, 26,186, 9,191,104,142,186, 64,128, 74,126,190,
-158,243, 69,127, 88,250,255, 0, 3, 0, 0, 0,179,205, 19,191, 33,145,175, 64,102,151,253, 63,125,243,171,119,167, 43,255, 0,
- 3, 0, 0, 0,163,114,134,190, 81, 94,183, 64, 73,210,157, 63, 40,250,240,124, 49, 27,255, 0, 3, 0, 0, 0,253,217,151,191,
- 90, 89,178, 64,210,246,178, 63, 89,230,146,121,187, 30,255, 0, 3, 0, 0, 0,107,200, 50,192, 4, 21,164, 64,143,252, 18,191,
-229,194,189,111, 58,243,255, 0, 3, 0, 0, 0,219,140, 29,192,164,216,163, 64,163,160,187,191, 2,202,148,111, 27,224,255, 0,
- 3, 0, 0, 0, 8, 63, 76,192,149, 92,152, 64,201, 6,157,191,254,185,184,103, 25,229,255, 0, 3, 0, 0, 0,102, 31,167, 64,
- 18,113,133, 63,122,150, 29,192,214,113,149, 22, 5,202,255, 0, 3, 0, 0, 0,115, 48,157, 64, 74,183, 33, 63, 21,172, 72,192,
- 50,107,106, 13, 91,187,255, 0, 3, 0, 0, 0,250, 48,151, 64,117,157,186, 63,236, 37, 74,192, 41,103,126, 31, 23,187,255, 0,
- 3, 0, 0, 0,118, 31,148, 64,144, 99, 46, 64, 95,237, 21,192,101,101,141, 59,115,205,255, 0, 3, 0, 0, 0, 40,177,150, 64,
-101,250, 73, 64,104,252,189,191, 13,103,113, 68, 39,223,255, 0, 3, 0, 0, 0, 59, 67,164, 64,106,116, 19, 64, 96,145,209,191,
-204,111,223, 50,255,219,255, 0, 3, 0, 0, 0, 9, 99,168, 64,184,173, 32, 64,129, 16, 27, 63,228,114,189, 54,164, 13,255, 0,
- 3, 0, 0, 0,225, 1,174, 64, 65,167, 12, 64,199, 1, 38,190,149,118, 17, 48,195,252,255, 0, 3, 0, 0, 0,172,156,160, 64,
- 23,121, 66, 64,220,253, 53,188,155,109, 25, 66, 0, 0,255, 0, 3, 0, 0, 0,230,184,106, 64,117, 83,133, 64, 76, 95,243,191,
-202, 79,251, 90, 77,214,255, 0, 3, 0, 0, 0,116,166,101, 64, 67,107,111, 64, 69,233, 47,192, 23, 78,219, 81, 34,196,255, 0,
- 3, 0, 0, 0,109, 20, 68, 64,202, 9,139, 64,124,255, 29,192,138, 66, 22, 95, 6,202,255, 0, 3, 0, 0, 0, 46,138, 12, 64,
-195,168,156,192, 99,240, 23,192,172, 47, 54,149,252,203,255, 0, 3, 0, 0, 0,110,189,201, 63, 48, 28,154,192,180,148, 60,192,
- 2, 34,195,150,147,191,255, 0, 3, 0, 0, 0, 21, 55, 17, 64,125, 67,140,192,118, 8, 75,192, 61, 49, 50,160,221,186,255, 0,
- 3, 0, 0, 0, 85,126,100, 64,103,211,114,192,187,176, 43,192, 60, 78,241,172, 2,198,255, 0, 3, 0, 0, 0, 29,112,133, 64,
-168, 45,104,192, 95, 44,249,191,154, 90, 96,176, 48,213,255, 0, 3, 0, 0, 0,192,193, 95, 64,221, 5,138,192, 42,219,239,191,
-181, 76, 61,162,177,214,255, 0, 3, 0, 0, 0, 28, 21,134, 64,185,231,130,192,175,210,133, 62,128, 91,182,166, 33, 6,255, 0,
- 3, 0, 0, 0,128,101,115, 64,106,100,142,192,214,174,205,190, 32, 83, 12,159,127,247,255, 0, 3, 0, 0, 0,187,250,142, 64,
-178,123,113,192, 90,120,242,190, 99, 97,142,173,244,245,255, 0, 3, 0, 0, 0,115, 83,149, 64, 25,118, 24,192, 96, 5, 41,192,
-195,101, 61,204, 36,198,255, 0, 3, 0, 0, 0,236, 97,130, 64,181,248, 34,192, 49,132, 87,192, 17, 89,184,200,144,182,255, 0,
- 3, 0, 0, 0,186,103,144, 64, 91, 9,234,191,150,226, 80,192,152, 98,121,216,152,184,255, 0, 3, 0, 0, 0,208, 74,136,192,
-231,117,121,192, 32,193,133,191,248,162, 42,171,249,232,255, 0, 3, 0, 0, 0, 31, 84,144,192, 24, 19, 87,192, 53, 65,211,191,
- 74,157,248,182,224,219,255, 0, 3, 0, 0, 0, 7, 90,123,192,107,238,121,192,115,227,247,191, 22,170, 1,171,218,213,255, 0,
- 3, 0, 0, 0,161,112, 54,192, 94, 77,156,192,207,107,196,191,198,193, 23,149, 32,223,255, 0, 3, 0, 0, 0, 24, 41, 22,192,
- 1,197,169,192,191, 68, 84,191, 45,204,105,140,172,237,255, 0, 3, 0, 0, 0, 73,243, 75,192, 86, 16,156,192,180,150, 33,191,
-216,186, 63,149,194,241,255, 0, 3, 0, 0, 0,140,246, 19,192,148, 60,166,192, 11, 70,182, 63,164,205,159,142,127, 31,255, 0,
- 3, 0, 0, 0, 17, 21, 58,192,224,209,160,192,103,100, 88, 63,202,192, 72,146,171, 18,255, 0, 3, 0, 0, 0,151,252, 4,192,
- 71, 89,174,192,215, 93, 38, 63,148,210, 55,137,122, 14,255, 0, 3, 0, 0, 0, 53,176,150,191,238,252,174,192, 37,172,226,191,
-114,230,199,136, 20,217,255, 0, 3, 0, 0, 0,225,105,214,191,211,177,161,192,160,229, 29,192,197,219,175,145, 38,202,255, 0,
- 3, 0, 0, 0, 62,213, 88,191,193, 70,167,192,212,217, 32,192,221,237,232,141,230,200,255, 0, 3, 0, 0, 0,236, 97,130,192,
-181,248, 34, 64, 49,132, 87, 64,239,166, 72, 55,112, 73,255, 0, 3, 0, 0, 0,186,103,144,192, 91, 9,234, 63,150,226, 80, 64,
-104,157,135, 39,104, 71,255, 0, 3, 0, 0, 0,115, 83,149,192, 25,118, 24, 64, 96, 5, 41, 64, 61,154,195, 51,220, 57,255, 0,
- 3, 0, 0, 0, 29,112,133,192,168, 45,104, 64, 95, 44,249, 63,102,165,160, 79,208, 42,255, 0, 3, 0, 0, 0,192,193, 95,192,
-221, 5,138, 64, 42,219,239, 63, 75,179,195, 93, 79, 41,255, 0, 3, 0, 0, 0, 85,126,100,192,103,211,114, 64,187,176, 43, 64,
-196,177, 15, 83,254, 57,255, 0, 3, 0, 0, 0,110,189,201,191, 48, 28,154, 64,180,148, 60, 64,254,221, 61,105,109, 64,255, 0,
- 3, 0, 0, 0, 21, 55, 17,192,125, 67,140, 64,118, 8, 75, 64,195,206,206, 95, 35, 69,255, 0, 3, 0, 0, 0, 46,138, 12,192,
-195,168,156, 64, 99,240, 23, 64, 84,208,202,106, 4, 52,255, 0, 3, 0, 0, 0,128,101,115,192,106,100,142, 64,214,174,205, 62,
-224,172,244, 96,129, 8,255, 0, 3, 0, 0, 0,187,250,142,192,178,123,113, 64, 90,120,242, 62,157,158,114, 82, 12, 10,255, 0,
- 3, 0, 0, 0, 28, 21,134,192,185,231,130, 64,175,210,133,190,128,164, 74, 89,223,249,255, 0, 3, 0, 0, 0,225,105,214, 63,
-211,177,161, 64,160,229, 29, 64, 59, 36, 81,110,218, 53,255, 0, 3, 0, 0, 0, 62,213, 88, 63,193, 70,167, 64,212,217, 32, 64,
- 35, 18, 24,114, 26, 55,255, 0, 3, 0, 0, 0, 53,176,150, 63,238,252,174, 64, 37,172,226, 63,142, 25, 57,119,236, 38,255, 0,
- 3, 0, 0, 0, 24, 41, 22, 64, 1,197,169, 64,191, 68, 84, 63,211, 51,151,115, 84, 18,255, 0, 3, 0, 0, 0, 73,243, 75, 64,
- 86, 16,156, 64,180,150, 33, 63, 40, 69,193,106, 62, 14,255, 0, 3, 0, 0, 0,161,112, 54, 64, 94, 77,156, 64,208,107,196, 63,
- 58, 62,233,106,224, 32,255, 0, 3, 0, 0, 0, 31, 84,144, 64, 24, 19, 87, 64, 53, 65,211, 63,182, 98, 8, 73, 32, 36,255, 0,
- 3, 0, 0, 0, 7, 90,123, 64,107,238,121, 64,115,227,247, 63,234, 85,255, 84, 38, 42,255, 0, 3, 0, 0, 0,208, 74,136, 64,
-231,117,121, 64, 32,193,133, 63, 8, 93,214, 84, 7, 23,255, 0, 3, 0, 0, 0, 17, 21, 58, 64,224,209,160, 64,103,100, 88,191,
- 54, 63,184,109, 85,237,255, 0, 3, 0, 0, 0,151,252, 4, 64, 71, 89,174, 64,215, 93, 38,191,108, 45,201,118,134,241,255, 0,
- 3, 0, 0, 0,140,246, 19, 64,148, 60,166, 64, 11, 70,182,191, 92, 50, 97,113,129,224,255, 0, 3, 0, 0, 0, 95,222,182, 64,
-178, 32,161, 62, 48, 92,165, 63,166,124, 48, 7, 45, 28,255, 0, 3, 0, 0, 0, 52,119,179, 64,223,204,147, 63,116,141,160, 63,
- 87,122,143, 25,153, 27,255, 0, 3, 0, 0, 0,235, 52,185, 64,191,185, 83, 63, 39,176,252, 62, 55,126, 45, 18, 15, 11,255, 0,
- 3, 0, 0, 0, 88,178,186, 64,180, 33,226,190, 69,211,165,190,103,127,191,245, 60,249,255, 0, 3, 0, 0, 0,100,194,181, 64,
-227, 37,178,191, 65, 51,191,190, 57,124, 39,226, 55,248,255, 0, 3, 0, 0, 0,241, 83,184, 64, 33,241,117,191,204, 69,248, 62,
-224,125, 11,235,234, 9,255, 0, 3, 0, 0, 0, 15,242,157, 64,177, 35, 63,192,242,230,132, 63,141,107,122,190,217, 22,255, 0,
- 3, 0, 0, 0, 58,163,169, 64,184,207, 14,192, 43, 92,148, 63,134,115, 6,207, 63, 25,255, 0, 3, 0, 0, 0, 30, 26,167, 64,
- 62, 11, 42,192,199,163,159, 62,211,113,230,197, 20, 7,255, 0, 3, 0, 0, 0,185,114,173, 64,147, 11,162,191,136,131,237,191,
- 52,118,150,228, 69,215,255, 0, 3, 0, 0, 0, 90, 82,178, 64,181, 0,168,190,125, 64,231,191,120,121,178,248, 81,216,255, 0,
- 3, 0, 0, 0,140, 68,168, 64,162,100, 57,191, 90, 41, 31,192,165,114, 61,240, 81,201,255, 0, 3, 0, 0, 0,219,140, 29, 64,
-164,216,163,192,163,160,187, 63,254, 53,108,144,229, 31,255, 0, 3, 0, 0, 0, 8, 63, 76, 64,149, 92,152,192,201, 6,157, 63,
- 2, 70, 72,152,231, 26,255, 0, 3, 0, 0, 0,107,200, 50, 64, 4, 21,164,192,143,252, 18, 63, 27, 61, 67,144,198, 12,255, 0,
- 3, 0, 0, 0, 29,166,188, 63,167,120,181,192, 4,224,165, 61,175, 31, 3,132, 53, 2,255, 0, 3, 0, 0, 0, 26,186, 9, 63,
-104,142,186,192,128, 74,126, 62, 98, 12,187,128,168, 5,255, 0, 3, 0, 0, 0,228,160,145, 63,121, 59,181,192,246,252,123, 63,
-193, 24, 42,132,214, 20,255, 0, 3, 0, 0, 0,226, 54, 99,191,172,134,174,192, 96, 98,250, 63, 76,236, 12,137,242, 42,255, 0,
- 3, 0, 0, 0,150,195, 60,189, 46,121,177,192,174, 6,245, 63,172,254, 7,135,201, 41,255, 0, 3, 0, 0, 0,109, 88, 35,191,
-129,186,182,192,207, 8,152, 63,251,241,129,131, 54, 26,255, 0, 3, 0, 0, 0,163,114,134, 62, 81, 94,183,192, 73,210,157,191,
-216, 5, 16,131,207,228,255, 0, 3, 0, 0, 0,253,217,151, 63, 90, 89,178,192,210,246,178,191,167, 25,110,134, 69,225,255, 0,
- 3, 0, 0, 0,179,205, 19, 63, 33,145,175,192,102,151,253,191,131, 12, 85,136, 89,212,255, 0, 3, 0, 0, 0,116,166,101,192,
- 67,107,111,192, 69,233, 47, 64,233,177, 37,174,222, 59,255, 0, 3, 0, 0, 0,109, 20, 68,192,202, 9,139,192,124,255, 29, 64,
-118,189,234,160,250, 53,255, 0, 3, 0, 0, 0,230,184,106,192,117, 83,133,192, 76, 95,243, 63, 54,176, 5,165,179, 41,255, 0,
- 3, 0, 0, 0, 40,177,150,192,101,250, 73,192,104,252,189, 63,243,152,143,187,217, 32,255, 0, 3, 0, 0, 0, 59, 67,164,192,
-106,116, 19,192, 96,145,209, 63, 52,144, 33,205, 1, 36,255, 0, 3, 0, 0, 0,118, 31,148,192,144, 99, 46,192, 95,237, 21, 64,
-155,154,115,196,141, 50,255, 0, 3, 0, 0, 0,115, 48,157,192, 74,183, 33,191, 21,172, 72, 64,206,148,150,242,165, 68,255, 0,
- 3, 0, 0, 0,250, 48,151,192,117,157,186,191,236, 37, 74, 64,215,152,130,224,233, 68,255, 0, 3, 0, 0, 0,102, 31,167,192,
- 18,113,133,191,122,150, 29, 64, 42,142,107,233,251, 53,255, 0, 3, 0, 0, 0,225, 1,174,192, 65,167, 12,192,199, 1, 38, 62,
-107,137,239,207, 61, 3,255, 0, 3, 0, 0, 0,172,156,160,192, 23,121, 66,192,220,253, 53, 60,101,146,231,189, 0, 0,255, 0,
- 3, 0, 0, 0, 9, 99,168,192,184,173, 32,192,129, 16, 27,191, 28,141, 67,201, 92,242,255, 0, 3, 0, 0, 0,220, 18, 19,191,
-168,186, 98, 64, 66,136,148, 64,101,243,135, 77, 15,101,255, 0, 3, 0, 0, 0, 36,220, 68,191, 24,143,132, 64, 20,105,130, 64,
- 93,239,190, 90,184, 88,255, 0, 3, 0, 0, 0, 60,255,185,191,215,244,108, 64,129, 7,138, 64,143,224,245, 80, 5, 94,255, 0,
- 3, 0, 0, 0, 46,202,247,191, 23,140, 27, 64,116,252,158, 64, 39,214,179, 52,224,108,255, 0, 3, 0, 0, 0,190, 24,220,191,
-163,163,202, 63,160,244,171, 64,157,218, 57, 35, 60,117,255, 0, 3, 0, 0, 0,227,219,133,191,172, 47, 17, 64, 93,160,169, 64,
-130,232, 92, 49,188,115,255, 0, 3, 0, 0, 0,123, 45, 50, 62,213, 16,230, 62,160,240,186, 64, 25, 4,132, 9,147,127,255, 0,
- 3, 0, 0, 0,131,119,172, 59,182,209,162, 63,170, 73,183, 64, 47, 0,112, 27, 5,125,255, 0, 3, 0, 0, 0,165,230, 40,191,
-246,111, 24, 63, 50,150,185, 64,237,241,238, 12,143,126,255, 0, 3, 0, 0, 0,100,225, 66,192,146,191,131, 63,152, 18,157, 64,
- 78,189,128, 22,231,106,255, 0, 3, 0, 0, 0, 98,140, 80,192,169,205,238, 63, 83, 69,144, 64,186,184,111, 40, 83, 98,255, 0,
- 3, 0, 0, 0,177, 39,109,192,154,213,147, 63,239,143,140, 64,199,174, 9, 25,179, 95,255, 0, 3, 0, 0, 0,131,173,128, 64,
- 50,170, 14, 64,247, 71,105, 64,226, 87,192, 48, 67, 79,255, 0, 3, 0, 0, 0,202,137,140, 64, 4,234, 33, 64,152,117, 60, 64,
- 41, 96, 40, 55,250, 63,255, 0, 3, 0, 0, 0, 68,176,115, 64, 85, 49, 68, 64, 65,173, 79, 64, 78, 83,175, 66,175, 70,255, 0,
- 3, 0, 0, 0, 51, 23, 39, 64, 14,245, 76, 64,105,248,132, 64,227, 56,119, 69, 56, 91,255, 0, 3, 0, 0, 0,122, 75,254, 63,
- 17, 36, 50, 64, 83, 70,152, 64, 3, 44,210, 60,169,103,255, 0, 3, 0, 0, 0,190,239, 52, 64,193,186, 22, 64,166,240,145, 64,
- 89, 61,253, 51,148, 99,255, 0, 3, 0, 0, 0,249,244,213, 63, 10, 33, 52, 63,248, 94,178, 64, 84, 36,253, 14,208,121,255, 0,
- 3, 0, 0, 0,230, 80, 22, 64, 50,155,141, 63,108, 95,168, 64,253, 50,250, 23,237,114,255, 0, 3, 0, 0, 0, 96,113,194, 63,
-166,184,195, 63, 31,160,174, 64, 51, 33, 11, 33, 29,119,255, 0, 3, 0, 0, 0,228,119,112, 63, 49, 46,115, 64,186,222,139, 64,
-104, 20, 35, 83, 40, 95,255, 0, 3, 0, 0, 0,221, 22,199, 63, 71,211,134, 64, 37,161,113, 64,158, 33, 1, 92, 99, 82,255, 0,
- 3, 0, 0, 0,170,131, 58, 63, 58,178,140, 64,213,174,115, 64,151, 15, 55, 96,245, 82,255, 0, 3, 0, 0, 0,116,134,132, 64,
- 40,130, 40,192,237,207, 77, 64,117, 90,107,198,226, 69,255, 0, 3, 0, 0, 0,232,187,140, 64, 6, 96, 62,192,107,247, 30, 64,
-249, 95,188,190,245, 53,255, 0, 3, 0, 0, 0, 37, 61,152, 64,230, 9, 14,192,137,179, 39, 64,171,103, 73,207, 30, 57,255, 0,
- 3, 0, 0, 0,189,121,149, 64,142,192,111,191, 76, 95, 90, 64,161,101,149,235, 20, 75,255, 0, 3, 0, 0, 0,254,112,134, 64,
-126,146,207,190,159, 19,130, 64,241, 91,137,246,139, 88,255, 0, 3, 0, 0, 0, 12,129,129, 64,231,129,173,191,159,125,128, 64,
-194, 88,241,226,133, 87,255, 0, 3, 0, 0, 0,220,104, 22, 64,204,221, 40,191,115,137,170, 64,240, 50,167,241,139,116,255, 0,
- 3, 0, 0, 0,245,120, 56, 64,118,213,154,191, 81,227,158, 64,175, 62,209,229,123,108,255, 0, 3, 0, 0, 0, 52, 56, 66, 64,
-206, 40,139,190, 21,116,160, 64,243, 65,237,249,135,109,255, 0, 3, 0, 0, 0, 61,161,150, 64,107,221, 89, 63,118,113, 89, 64,
-216,102,177, 18,221, 73,255, 0, 3, 0, 0, 0, 74,120,165, 64, 95, 78,167, 62,139, 51, 48, 64,202,112,116, 7, 12, 60,255, 0,
- 3, 0, 0, 0, 12, 65,162, 64, 11, 84,149, 63,172,202, 44, 64,196,110,209, 25,181, 58,255, 0, 3, 0, 0, 0, 67,138,194,190,
-177, 97,138,192, 75,158,124, 64,144,247,122,161,227, 85,255, 0, 3, 0, 0, 0,214, 82, 66,191,128,115,152,192,164, 25, 85, 64,
- 15,239,229,151,130, 72,255, 0, 3, 0, 0, 0,119,155,171, 61,138, 40,155,192,113, 96, 83, 64,128, 1, 60,150, 18, 72,255, 0,
- 3, 0, 0, 0,144,237,178, 63, 25,136,136,192,121, 1,113, 64,139, 30, 67,163,194, 82,255, 0, 3, 0, 0, 0, 68,147,238, 63,
-166,230,100,192,234, 9,136, 64, 40, 40,126,177,197, 92,255, 0, 3, 0, 0, 0, 30,149,109, 63, 40, 18,111,192,171,100,141, 64,
-219, 20, 55,174, 57, 96,255, 0, 3, 0, 0, 0, 45,210,162, 63,233,211,224,191,184, 67,174, 64,187, 27, 11,218, 12,119,255, 0,
- 3, 0, 0, 0,158,106, 94, 63,167,106, 30,192,254,240,167, 64, 27, 19, 69,202,151,114,255, 0, 3, 0, 0, 0, 22,114,229, 63,
-193, 96, 20,192,253,167,162, 64,234, 38,163,205, 12,111,255, 0, 3, 0, 0, 0,208, 76, 67, 64, 62,120,111,192, 14, 89, 85, 64,
-176, 66, 60,174,116, 72,255, 0, 3, 0, 0, 0,139,220, 37, 64,245,135,141,192,114,173, 54, 64,211, 56,161,159, 45, 62,255, 0,
- 3, 0, 0, 0,204,119, 84, 64, 93, 73,130,192,212,107, 38, 64,198, 72, 33,167,119, 56,255, 0, 3, 0, 0, 0,178,218, 82,192,
-178,247, 1,191,211,129,154, 64,221,183,252,244, 39,105,255, 0, 3, 0, 0, 0, 0,245,124,192, 27, 32,187,190, 57, 6,138, 64,
-118,169, 80,248,254, 93,255, 0, 3, 0, 0, 0, 42, 75,112,192,228, 42,152,191, 25, 44,139, 64, 0,174, 97,230,225, 94,255, 0,
- 3, 0, 0, 0,239,222, 43,192,212,226, 11,192,227, 71,151, 64,223,197,116,208,165,103,255, 0, 3, 0, 0, 0,137,207,229,191,
- 30, 63, 22,192,207,235,161, 64, 58,216, 29,205,129,110,255, 0, 3, 0, 0, 0,239, 11, 14,192,175,114,191,191,254,208,166, 64,
-123,207,175,222,169,113,255, 0, 3, 0, 0, 0,163, 78,149,189, 65, 25,137,191,234,102,184, 64,202,254,204,232,222,125,255, 0,
- 3, 0, 0, 0,208,203,104,191,146, 6,113,191,108, 5,183, 64,124,236,106,235,207,124,255, 0, 3, 0, 0, 0, 26, 68,251,190,
-111, 38,228,191,114, 48,178, 64,117,245, 98,217,147,121,255, 0, 3, 0, 0, 0, 76,169,222,191,205,107,104,192,150,142,136, 64,
-233,217,151,176,223, 92,255, 0, 3, 0, 0, 0,145,143, 39,192,190, 49, 94,192,165, 27,124, 64, 18,199, 4,180,213, 85,255, 0,
- 3, 0, 0, 0,130,168, 6,192,190,132,130,192, 12, 96,105, 64, 30,210,165,166, 83, 79,255, 0, 3, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 8,181,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,182,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 0, 90, 0, 0,144,182,184, 3, 55, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 35, 0, 42, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,
-163, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0,
- 12, 0, 0, 0,165, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,165, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,166, 0, 0, 0,
- 0, 0, 35, 0, 44, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,167, 0, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,
-167, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0,
- 13, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,170, 0, 0, 0,
- 0, 0, 35, 0, 46, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,
-171, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0,
- 14, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,174, 0, 0, 0,
- 0, 0, 35, 0, 48, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,
-175, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0,
- 15, 0, 0, 0,177, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,177, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,178, 0, 0, 0,
- 0, 0, 35, 0, 50, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,
-179, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,
- 16, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,182, 0, 0, 0,
- 0, 0, 35, 0, 52, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,
-183, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0,
- 17, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,186, 0, 0, 0,
- 0, 0, 35, 0, 54, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,
-187, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,190, 0, 0, 0,
- 0, 0, 35, 0, 56, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,
-191, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0,
- 19, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,194, 0, 0, 0,
- 0, 0, 35, 0, 58, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,195, 0, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,
-195, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,198, 0, 0, 0,
- 0, 0, 35, 0, 60, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0,
-199, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,
- 21, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,202, 0, 0, 0,
- 0, 0, 35, 0, 62, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,
-203, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0,
- 22, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,206, 0, 0, 0,
- 0, 0, 35, 0, 64, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0,
-207, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,
- 23, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,210, 0, 0, 0,
- 0, 0, 35, 0, 66, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,211, 0, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,
-211, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0,
- 24, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,214, 0, 0, 0,
- 0, 0, 35, 0, 68, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0,215, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,
-215, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,
- 25, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,218, 0, 0, 0,
- 0, 0, 35, 0, 70, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,
-219, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0,
- 26, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,222, 0, 0, 0,
- 0, 0, 35, 0, 72, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,223, 0, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0,
-223, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,
- 27, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,226, 0, 0, 0,
- 0, 0, 35, 0, 74, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,227, 0, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,
-227, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0,
- 28, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,230, 0, 0, 0,
- 0, 0, 35, 0, 76, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,231, 0, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0,
-231, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0,
- 29, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,234, 0, 0, 0,
- 0, 0, 35, 0, 78, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,235, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0,
-235, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0,
- 30, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,238, 0, 0, 0,
- 0, 0, 35, 0, 80, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0,
-239, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,242, 0, 0, 0,
- 0, 0, 35, 0, 82, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,243, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0,
-243, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,
- 32, 0, 0, 0,245, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,245, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,246, 0, 0, 0,
- 0, 0, 35, 0, 84, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,247, 0, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,
-247, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0,
- 33, 0, 0, 0,249, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,249, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,250, 0, 0, 0,
- 0, 0, 35, 0, 86, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,251, 0, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,
-251, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0,
- 34, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,254, 0, 0, 0,
- 0, 0, 35, 0, 88, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,255, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,
-255, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0,
- 35, 0, 0, 0, 1, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 1, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 2, 1, 0, 0,
- 0, 0, 35, 0, 90, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 3, 1, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0,
- 3, 1, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0,
- 36, 0, 0, 0, 5, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 5, 1, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 6, 1, 0, 0,
- 0, 0, 35, 0, 92, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0,
- 7, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0,
- 37, 0, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 10, 1, 0, 0,
- 0, 0, 35, 0, 94, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0,
- 11, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 14, 1, 0, 0,
- 0, 0, 35, 0, 96, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0, 15, 1, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,
- 15, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0,
- 39, 0, 0, 0, 17, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 17, 1, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 1, 0, 0,
- 0, 0, 35, 0, 98, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0, 19, 1, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,
- 19, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 22, 1, 0, 0,
- 0, 0, 35, 0,100, 0, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0, 23, 1, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,
- 23, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,
- 41, 0, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 26, 1, 0, 0,
- 0, 0, 35, 0,102, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,
- 27, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,
- 13, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 30, 1, 0, 0,
- 0, 0, 35, 0,104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,
- 31, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0,
- 16, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 34, 1, 0, 0,
- 0, 0, 35, 0,106, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,
- 35, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,
- 16, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 38, 1, 0, 0,
- 0, 0, 35, 0,108, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,
- 39, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,
- 17, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 42, 1, 0, 0,
- 0, 0, 35, 0,110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,
- 43, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 46, 1, 0, 0,
- 0, 0, 35, 0,112, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,
- 47, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 50, 1, 0, 0,
- 0, 0, 35, 0,114, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,
- 51, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,
- 19, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 54, 1, 0, 0,
- 0, 0, 35, 0,116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,
- 55, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0,
- 23, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 58, 1, 0, 0,
- 0, 0, 35, 0,118, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,
- 59, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,
- 23, 0, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 62, 1, 0, 0,
- 0, 0, 35, 0,120, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,
- 63, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,
- 24, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 66, 1, 0, 0,
- 0, 0, 35, 0,122, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,
- 67, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0,
- 27, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 70, 1, 0, 0,
- 0, 0, 35, 0,124, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,
- 71, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,
- 27, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 74, 1, 0, 0,
- 0, 0, 35, 0,126, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,
- 75, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,
- 28, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 78, 1, 0, 0,
- 0, 0, 35, 0,128, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,
- 79, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 82, 1, 0, 0,
- 0, 0, 35, 0,130, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,
- 83, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 86, 1, 0, 0,
- 0, 0, 35, 0,132, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,
- 87, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0,
- 24, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 90, 1, 0, 0,
- 0, 0, 35, 0,134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,134, 0, 0, 0,
- 91, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,
- 33, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 94, 1, 0, 0,
- 0, 0, 35, 0,136, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,
- 95, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0,
- 33, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0, 98, 1, 0, 0,
- 0, 0, 35, 0,138, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,
- 99, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,
- 28, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,102, 1, 0, 0,
- 0, 0, 35, 0,140, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,
-103, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,
- 35, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,106, 1, 0, 0,
- 0, 0, 35, 0,142, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,107, 1, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,
-107, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,
- 35, 0, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,110, 1, 0, 0,
- 0, 0, 35, 0,144, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,111, 1, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,
-111, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,114, 1, 0, 0,
- 0, 0, 35, 0,146, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,146, 0, 0, 0,
-115, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0,117, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,118, 1, 0, 0,
- 0, 0, 35, 0,148, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,148, 0, 0, 0,
-119, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,121, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,122, 1, 0, 0,
- 0, 0, 35, 0,150, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,123, 1, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,
-123, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,125, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,126, 1, 0, 0,
- 0, 0, 35, 0,152, 0, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,152, 0, 0, 0,
-127, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0,129, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,130, 1, 0, 0,
- 0, 0, 35, 0,154, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,
-131, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,133, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,134, 1, 0, 0,
- 0, 0, 35, 0,156, 0, 0, 0,134, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,135, 1, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,
-135, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0,137, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,137, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,138, 1, 0, 0,
- 0, 0, 35, 0,158, 0, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,
-139, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,
- 37, 0, 0, 0,141, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,142, 1, 0, 0,
- 0, 0, 35, 0,160, 0, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,
-143, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,
- 41, 0, 0, 0,145, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,146, 1, 0, 0,
- 0, 0, 35, 0,102, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,147, 1, 0, 0, 0, 0, 33, 0, 46, 0, 0, 0,
-147, 1, 0, 0, 0, 0, 33, 0, 43, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,
-102, 0, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,150, 1, 0, 0,
- 0, 0, 35, 0,104, 0, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,
-151, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0,
- 47, 0, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,153, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,154, 1, 0, 0,
- 0, 0, 35, 0,104, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,
-155, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,
- 42, 0, 0, 0,157, 1, 0, 0, 0, 0, 33, 0, 44, 0, 0, 0,157, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,158, 1, 0, 0,
- 0, 0, 35, 0,105, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,
-159, 1, 0, 0, 0, 0, 33, 0, 43, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,
-105, 0, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,162, 1, 0, 0,
- 0, 0, 35, 0,107, 0, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,
-163, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0, 51, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0,
- 51, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,166, 1, 0, 0,
- 0, 0, 35, 0,107, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,
-167, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,
- 42, 0, 0, 0,169, 1, 0, 0, 0, 0, 33, 0, 48, 0, 0, 0,169, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,170, 1, 0, 0,
- 0, 0, 35, 0,108, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,171, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,
-171, 1, 0, 0, 0, 0, 33, 0, 45, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,
-108, 0, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,174, 1, 0, 0,
- 0, 0, 35, 0,110, 0, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,175, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,
-175, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0,
- 55, 0, 0, 0,177, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,177, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,178, 1, 0, 0,
- 0, 0, 35, 0,110, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,
-179, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,
- 44, 0, 0, 0,181, 1, 0, 0, 0, 0, 33, 0, 52, 0, 0, 0,181, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,182, 1, 0, 0,
- 0, 0, 35, 0,111, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,183, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,
-183, 1, 0, 0, 0, 0, 33, 0, 53, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,
-111, 0, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,186, 1, 0, 0,
- 0, 0, 35, 0,113, 0, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,
-187, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0,
- 59, 0, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,189, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,190, 1, 0, 0,
- 0, 0, 35, 0,113, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,
-191, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,
- 52, 0, 0, 0,193, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,193, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,194, 1, 0, 0,
- 0, 0, 35, 0,114, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,195, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,
-195, 1, 0, 0, 0, 0, 33, 0, 57, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,
-114, 0, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,198, 1, 0, 0,
- 0, 0, 35, 0,116, 0, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,
-199, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0,
- 61, 0, 0, 0,201, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,201, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,202, 1, 0, 0,
- 0, 0, 35, 0,116, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,
-203, 1, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,
- 48, 0, 0, 0,205, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,205, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,206, 1, 0, 0,
- 0, 0, 35, 0,117, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,
-207, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,
-117, 0, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,210, 1, 0, 0,
- 0, 0, 35, 0,119, 0, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,
-211, 1, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0,
- 65, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,214, 1, 0, 0,
- 0, 0, 35, 0,119, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,
-215, 1, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,
- 51, 0, 0, 0,217, 1, 0, 0, 0, 0, 33, 0, 62, 0, 0, 0,217, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,218, 1, 0, 0,
- 0, 0, 35, 0,120, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,
-219, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,
-120, 0, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,222, 1, 0, 0,
- 0, 0, 35, 0,122, 0, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,
-223, 1, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0,
- 69, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,226, 1, 0, 0,
- 0, 0, 35, 0,122, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,
-227, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,
- 46, 0, 0, 0,229, 1, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0,229, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,230, 1, 0, 0,
- 0, 0, 35, 0,123, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,
-231, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,
-123, 0, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,234, 1, 0, 0,
- 0, 0, 35, 0,125, 0, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,
-235, 1, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0,
- 73, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,238, 1, 0, 0,
- 0, 0, 35, 0,125, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,
-239, 1, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,
- 54, 0, 0, 0,241, 1, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0,241, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,242, 1, 0, 0,
- 0, 0, 35, 0,126, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,
-243, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,
-126, 0, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,246, 1, 0, 0,
- 0, 0, 35, 0,128, 0, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,
-247, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0,
- 77, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,250, 1, 0, 0,
- 0, 0, 35, 0,128, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,
-251, 1, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,
- 58, 0, 0, 0,253, 1, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0,253, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,254, 1, 0, 0,
- 0, 0, 35, 0,129, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,
-255, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,
-129, 0, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 2, 2, 0, 0,
- 0, 0, 35, 0,131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,
- 3, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0,
- 81, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 6, 2, 0, 0,
- 0, 0, 35, 0,131, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,
- 7, 2, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,
- 60, 0, 0, 0, 9, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 9, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0, 10, 2, 0, 0,
- 0, 0, 35, 0,132, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0, 11, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0,
- 11, 2, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,
-132, 0, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 14, 2, 0, 0,
- 0, 0, 35, 0,134, 0, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0,
- 15, 2, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0,
- 82, 0, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0, 18, 2, 0, 0,
- 0, 0, 35, 0,134, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0,
- 19, 2, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,
- 64, 0, 0, 0, 21, 2, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0, 21, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0, 22, 2, 0, 0,
- 0, 0, 35, 0,135, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0, 23, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0,
- 23, 2, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,
-135, 0, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 26, 2, 0, 0,
- 0, 0, 35, 0,137, 0, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0,
- 27, 2, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0,
- 85, 0, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0, 30, 2, 0, 0,
- 0, 0, 35, 0,137, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,
- 31, 2, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,
- 68, 0, 0, 0, 33, 2, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0, 33, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0, 34, 2, 0, 0,
- 0, 0, 35, 0,138, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, 35, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0,
- 35, 2, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,
-138, 0, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 38, 2, 0, 0,
- 0, 0, 35, 0,140, 0, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,
- 39, 2, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0,
- 87, 0, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 42, 2, 0, 0,
- 0, 0, 35, 0,140, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,
- 43, 2, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,
- 72, 0, 0, 0, 45, 2, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0, 45, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0, 46, 2, 0, 0,
- 0, 0, 35, 0,141, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 47, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0,
- 47, 2, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,
-141, 0, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 50, 2, 0, 0,
- 0, 0, 35, 0,143, 0, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,
- 51, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0,
- 89, 0, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 54, 2, 0, 0,
- 0, 0, 35, 0,143, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,
- 55, 2, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,
- 76, 0, 0, 0, 57, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 57, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0, 58, 2, 0, 0,
- 0, 0, 35, 0,144, 0, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, 59, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0,
- 59, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,
-144, 0, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 62, 2, 0, 0,
- 0, 0, 35, 0,146, 0, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0,
- 63, 2, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0,
- 91, 0, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 66, 2, 0, 0,
- 0, 0, 35, 0,146, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,
- 67, 2, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,
- 62, 0, 0, 0, 69, 2, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0, 69, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 70, 2, 0, 0,
- 0, 0, 35, 0,147, 0, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0,
- 71, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,
-147, 0, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 74, 2, 0, 0,
- 0, 0, 35, 0,149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,
- 75, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0, 95, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0,
- 95, 0, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 78, 2, 0, 0,
- 0, 0, 35, 0,149, 0, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0,
- 79, 2, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,
- 83, 0, 0, 0, 81, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0, 81, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0, 82, 2, 0, 0,
- 0, 0, 35, 0,150, 0, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0,
- 83, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,
-150, 0, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 86, 2, 0, 0,
- 0, 0, 35, 0,152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0,
- 87, 2, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0, 97, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0,
- 97, 0, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 90, 2, 0, 0,
- 0, 0, 35, 0,152, 0, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,
- 91, 2, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,
- 84, 0, 0, 0, 93, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 93, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0, 94, 2, 0, 0,
- 0, 0, 35, 0,153, 0, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0,
- 95, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,
-153, 0, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 98, 2, 0, 0,
- 0, 0, 35, 0,155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,
- 99, 2, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0, 99, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0,
- 99, 0, 0, 0,101, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0,102, 2, 0, 0,
- 0, 0, 35, 0,155, 0, 0, 0,102, 2, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,103, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,
-103, 2, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,
- 86, 0, 0, 0,105, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0,105, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,106, 2, 0, 0,
- 0, 0, 35, 0,156, 0, 0, 0,106, 2, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,
-107, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,
-156, 0, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,110, 2, 0, 0,
- 0, 0, 35, 0,158, 0, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,
-111, 2, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,
-101, 0, 0, 0,113, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,114, 2, 0, 0,
- 0, 0, 35, 0,158, 0, 0, 0,114, 2, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,115, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,
-115, 2, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,
- 88, 0, 0, 0,117, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0,117, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,118, 2, 0, 0,
- 0, 0, 35, 0,159, 0, 0, 0,118, 2, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,
-119, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,
-159, 0, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,122, 2, 0, 0,
- 0, 0, 35, 0,161, 0, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,
-123, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0,
- 93, 0, 0, 0,125, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,125, 2, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,126, 2, 0, 0,
- 0, 0, 35, 0,161, 0, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,127, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,
-127, 2, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,
- 90, 0, 0, 0,129, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,129, 2, 0, 0, 0, 0, 33, 0, 27, 1, 0, 0,146, 1, 0, 0,
- 0, 0, 35, 0,171, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,
-147, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,
-165, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,148, 1, 0, 0,
- 0, 0, 35, 0,164, 0, 0, 0,147, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,
-147, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,
- 26, 1, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,151, 1, 0, 0,
- 0, 0, 35, 0,150, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0, 31, 1, 0, 0,
-151, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,
- 29, 1, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,152, 1, 0, 0,
- 0, 0, 35, 0,172, 0, 0, 0,152, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0,152, 1, 0, 0,
-153, 1, 0, 0, 0, 0, 35, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,
-169, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,154, 1, 0, 0,
- 0, 0, 35, 0, 31, 1, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,
-153, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,
-167, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,157, 1, 0, 0,
- 0, 0, 35, 0,156, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,
-157, 1, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,
-163, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,158, 1, 0, 0,
- 0, 0, 35, 0,179, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,
-159, 1, 0, 0, 0, 0, 35, 0,159, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,
-165, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,160, 1, 0, 0,
- 0, 0, 35, 0,164, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,
-178, 0, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0,
- 34, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,163, 1, 0, 0,
- 0, 0, 35, 0,161, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,
-163, 1, 0, 0, 0, 0, 35, 0, 37, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,
- 35, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,164, 1, 0, 0,
- 0, 0, 35, 0,176, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,
-165, 1, 0, 0, 0, 0, 35, 0,165, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,
-177, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,166, 1, 0, 0,
- 0, 0, 35, 0, 37, 1, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,
- 37, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0,
- 35, 1, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,167, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,169, 1, 0, 0,
- 0, 0, 35, 0,167, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,
-169, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,
- 34, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0,170, 1, 0, 0,
- 0, 0, 35, 0,187, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,
-171, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,
-169, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,172, 1, 0, 0,
- 0, 0, 35, 0,168, 0, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,
-171, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,
- 38, 1, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,175, 1, 0, 0,
- 0, 0, 35, 0,174, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0,
-175, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,
- 41, 1, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,176, 1, 0, 0,
- 0, 0, 35, 0,188, 0, 0, 0,176, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,
-177, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,
-185, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,178, 1, 0, 0,
- 0, 0, 35, 0, 43, 1, 0, 0,177, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,
-177, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,
-183, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,181, 1, 0, 0,
- 0, 0, 35, 0,180, 1, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,
-181, 1, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,
-167, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,182, 1, 0, 0,
- 0, 0, 35, 0,195, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,
-183, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,
-185, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,184, 1, 0, 0,
- 0, 0, 35, 0,184, 0, 0, 0,183, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,
-183, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,
- 44, 1, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,187, 1, 0, 0,
- 0, 0, 35, 0,186, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0,
-187, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,
- 47, 1, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,188, 1, 0, 0,
- 0, 0, 35, 0,196, 0, 0, 0,188, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,
-189, 1, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,
-193, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,190, 1, 0, 0,
- 0, 0, 35, 0, 49, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,
-189, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,
-191, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,193, 1, 0, 0,
- 0, 0, 35, 0,192, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,
-193, 1, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,
-183, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0,194, 1, 0, 0,
- 0, 0, 35, 0,199, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0,
-195, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,
-193, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,196, 1, 0, 0,
- 0, 0, 35, 0,192, 0, 0, 0,195, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,
-195, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,
- 50, 1, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,199, 1, 0, 0,
- 0, 0, 35, 0,198, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,
-199, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,
- 52, 1, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 1, 0, 0,
- 0, 0, 35, 0,200, 0, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,
-201, 1, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,
-177, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,202, 1, 0, 0,
- 0, 0, 35, 0, 55, 1, 0, 0,201, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0,
-201, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,
-175, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,205, 1, 0, 0,
- 0, 0, 35, 0,204, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,
-205, 1, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,
-191, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,206, 1, 0, 0,
- 0, 0, 35, 0,207, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,
-207, 1, 0, 0, 0, 0, 35, 0,207, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,
-179, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,208, 1, 0, 0,
- 0, 0, 35, 0,178, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,
-206, 0, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0,
- 58, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,209, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,210, 1, 0, 0,211, 1, 0, 0,
- 0, 0, 35, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,
-211, 1, 0, 0, 0, 0, 35, 0, 61, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,
- 59, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,204, 0, 0, 0,212, 1, 0, 0,
- 0, 0, 35, 0,204, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,
-213, 1, 0, 0, 0, 0, 35, 0,213, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,
-205, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,214, 1, 0, 0,
- 0, 0, 35, 0, 61, 1, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,
- 61, 1, 0, 0, 0, 0, 35, 0,203, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,203, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0,
- 59, 1, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,215, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,216, 1, 0, 0,217, 1, 0, 0,
- 0, 0, 35, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,
-217, 1, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,
- 58, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,218, 1, 0, 0,
- 0, 0, 35, 0,215, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,
-219, 1, 0, 0, 0, 0, 35, 0,219, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,
-173, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,220, 1, 0, 0,
- 0, 0, 35, 0,172, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,172, 0, 0, 0,
-214, 0, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,
- 64, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,221, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,222, 1, 0, 0,223, 1, 0, 0,
- 0, 0, 35, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,
-223, 1, 0, 0, 0, 0, 35, 0, 67, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,
- 65, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,224, 1, 0, 0,
- 0, 0, 35, 0,212, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,
-225, 1, 0, 0, 0, 0, 35, 0,225, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,
-213, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,226, 1, 0, 0,
- 0, 0, 35, 0, 67, 1, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,
- 67, 1, 0, 0, 0, 0, 35, 0,211, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,211, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0,
- 65, 1, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,227, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,228, 1, 0, 0,229, 1, 0, 0,
- 0, 0, 35, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,210, 0, 0, 0,
-229, 1, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,
- 64, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,230, 1, 0, 0,
- 0, 0, 35, 0,223, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,
-231, 1, 0, 0, 0, 0, 35, 0,231, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,
-189, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,232, 1, 0, 0,
- 0, 0, 35, 0,188, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,188, 0, 0, 0,
-222, 0, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0,
- 70, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,233, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,234, 1, 0, 0,235, 1, 0, 0,
- 0, 0, 35, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,
-235, 1, 0, 0, 0, 0, 35, 0, 73, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,
- 71, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,236, 1, 0, 0,
- 0, 0, 35, 0,220, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,
-237, 1, 0, 0, 0, 0, 35, 0,237, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,
-221, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,238, 1, 0, 0,
- 0, 0, 35, 0, 73, 1, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,
- 73, 1, 0, 0, 0, 0, 35, 0,219, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0,
- 71, 1, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,239, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,240, 1, 0, 0,241, 1, 0, 0,
- 0, 0, 35, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,218, 0, 0, 0,
-241, 1, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,
- 70, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,242, 1, 0, 0,
- 0, 0, 35, 0,231, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,
-243, 1, 0, 0, 0, 0, 35, 0,243, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,
-197, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,244, 1, 0, 0,
- 0, 0, 35, 0,196, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,196, 0, 0, 0,
-230, 0, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,
- 76, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,245, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,246, 1, 0, 0,247, 1, 0, 0,
- 0, 0, 35, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,
-247, 1, 0, 0, 0, 0, 35, 0, 79, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,
- 77, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,248, 1, 0, 0,
- 0, 0, 35, 0,228, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,
-249, 1, 0, 0, 0, 0, 35, 0,249, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,
-229, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,250, 1, 0, 0,
- 0, 0, 35, 0, 79, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,
- 79, 1, 0, 0, 0, 0, 35, 0,227, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,227, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0,
- 77, 1, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,251, 1, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,252, 1, 0, 0,253, 1, 0, 0,
- 0, 0, 35, 0,251, 1, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,226, 0, 0, 0,
-253, 1, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,
- 76, 1, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0,254, 1, 0, 0,
- 0, 0, 35, 0,239, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,254, 1, 0, 0,
-255, 1, 0, 0, 0, 0, 35, 0,255, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,
-201, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 35, 0,200, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,238, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,200, 0, 0, 0,
-238, 0, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0,
- 82, 1, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0, 1, 2, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 2, 2, 0, 0, 3, 2, 0, 0,
- 0, 0, 35, 0, 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0,
- 3, 2, 0, 0, 0, 0, 35, 0, 85, 1, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,
- 83, 1, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 4, 2, 0, 0,
- 0, 0, 35, 0,236, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0,
- 5, 2, 0, 0, 0, 0, 35, 0, 5, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,
-237, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 6, 2, 0, 0,
- 0, 0, 35, 0, 85, 1, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0,
- 85, 1, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0,
- 83, 1, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0, 7, 2, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 8, 2, 0, 0, 9, 2, 0, 0,
- 0, 0, 35, 0, 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,234, 0, 0, 0,
- 9, 2, 0, 0, 0, 0, 35, 0,198, 0, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,
- 82, 1, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 10, 2, 0, 0,
- 0, 0, 35, 0,245, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 10, 2, 0, 0,
- 11, 2, 0, 0, 0, 0, 35, 0, 10, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,
-209, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, 12, 2, 0, 0,
- 0, 0, 35, 0,208, 0, 0, 0, 11, 2, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0,
- 11, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,
- 86, 1, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 15, 2, 0, 0,
- 0, 0, 35, 0, 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, 91, 1, 0, 0,
- 15, 2, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,
- 89, 1, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0, 16, 2, 0, 0,
- 0, 0, 35, 0,242, 0, 0, 0, 16, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 16, 2, 0, 0,
- 17, 2, 0, 0, 0, 0, 35, 0, 16, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,
-213, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,213, 0, 0, 0, 18, 2, 0, 0,
- 0, 0, 35, 0, 91, 1, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,243, 0, 0, 0,
- 17, 2, 0, 0, 0, 0, 35, 0,211, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,
-211, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 21, 2, 0, 0,
- 0, 0, 35, 0, 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,
- 21, 2, 0, 0, 0, 0, 35, 0,210, 0, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,207, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,
-207, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 22, 2, 0, 0,
- 0, 0, 35, 0,247, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 22, 2, 0, 0,
- 23, 2, 0, 0, 0, 0, 35, 0, 22, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,
-217, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, 24, 2, 0, 0,
- 0, 0, 35, 0,216, 0, 0, 0, 23, 2, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0,246, 0, 0, 0,
- 23, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,
- 92, 1, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 27, 2, 0, 0,
- 0, 0, 35, 0, 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 97, 1, 0, 0,
- 27, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,
- 95, 1, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0, 28, 2, 0, 0,
- 0, 0, 35, 0,248, 0, 0, 0, 28, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 28, 2, 0, 0,
- 29, 2, 0, 0, 0, 0, 35, 0, 28, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,
-221, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,221, 0, 0, 0, 30, 2, 0, 0,
- 0, 0, 35, 0, 97, 1, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0,249, 0, 0, 0,
- 29, 2, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,
-219, 0, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 33, 2, 0, 0,
- 0, 0, 35, 0, 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,
- 33, 2, 0, 0, 0, 0, 35, 0,218, 0, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,215, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,
-215, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0, 34, 2, 0, 0,
- 0, 0, 35, 0,251, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 34, 2, 0, 0,
- 35, 2, 0, 0, 0, 0, 35, 0, 34, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,
-225, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0, 36, 2, 0, 0,
- 0, 0, 35, 0,224, 0, 0, 0, 35, 2, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0,250, 0, 0, 0,
- 35, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,
- 98, 1, 0, 0,100, 1, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 39, 2, 0, 0,
- 0, 0, 35, 0, 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,103, 1, 0, 0,
- 39, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,
-101, 1, 0, 0,102, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0, 40, 2, 0, 0,
- 0, 0, 35, 0,252, 0, 0, 0, 40, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 40, 2, 0, 0,
- 41, 2, 0, 0, 0, 0, 35, 0, 40, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,
-229, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,229, 0, 0, 0, 42, 2, 0, 0,
- 0, 0, 35, 0,103, 1, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,
- 41, 2, 0, 0, 0, 0, 35, 0,227, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,
-227, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 45, 2, 0, 0,
- 0, 0, 35, 0, 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,
- 45, 2, 0, 0, 0, 0, 35, 0,226, 0, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,223, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,
-223, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0, 46, 2, 0, 0,
- 0, 0, 35, 0,255, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 46, 2, 0, 0,
- 47, 2, 0, 0, 0, 0, 35, 0, 46, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,
-233, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0, 48, 2, 0, 0,
- 0, 0, 35, 0,232, 0, 0, 0, 47, 2, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,254, 0, 0, 0,
- 47, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,
-104, 1, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 51, 2, 0, 0,
- 0, 0, 35, 0, 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0,
- 51, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,
-107, 1, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 52, 2, 0, 0,
- 0, 0, 35, 0, 0, 1, 0, 0, 52, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 52, 2, 0, 0,
- 53, 2, 0, 0, 0, 0, 35, 0, 52, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,
-237, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 54, 2, 0, 0,
- 0, 0, 35, 0,109, 1, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,
- 53, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,
-235, 0, 0, 0,107, 1, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 57, 2, 0, 0,
- 0, 0, 35, 0, 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,
- 57, 2, 0, 0, 0, 0, 35, 0,234, 0, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,231, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,
-231, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0, 58, 2, 0, 0,
- 0, 0, 35, 0, 3, 1, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0, 58, 2, 0, 0,
- 59, 2, 0, 0, 0, 0, 35, 0, 58, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,
-241, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0, 60, 2, 0, 0,
- 0, 0, 35, 0,240, 0, 0, 0, 59, 2, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0,
- 59, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,
-110, 1, 0, 0,113, 1, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 63, 2, 0, 0,
- 0, 0, 35, 0, 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,115, 1, 0, 0,
- 63, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,
-112, 1, 0, 0,114, 1, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 64, 2, 0, 0,
- 0, 0, 35, 0, 4, 1, 0, 0, 64, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 64, 2, 0, 0,
- 65, 2, 0, 0, 0, 0, 35, 0, 64, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,
-205, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,205, 0, 0, 0, 66, 2, 0, 0,
- 0, 0, 35, 0,115, 1, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,
- 65, 2, 0, 0, 0, 0, 35, 0,203, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,
-203, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 69, 2, 0, 0,
- 0, 0, 35, 0, 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,238, 0, 0, 0,
- 69, 2, 0, 0, 0, 0, 35, 0,202, 0, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,239, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,
-239, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0, 70, 2, 0, 0,
- 0, 0, 35, 0, 11, 1, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0,
- 71, 2, 0, 0, 0, 0, 35, 0, 71, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,
-243, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 72, 2, 0, 0,
- 0, 0, 35, 0,242, 0, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0,242, 0, 0, 0,
- 10, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,116, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,
-118, 1, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0, 73, 2, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0, 74, 2, 0, 0, 75, 2, 0, 0,
- 0, 0, 35, 0, 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,
- 75, 2, 0, 0, 0, 0, 35, 0,121, 1, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,
-119, 1, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0, 76, 2, 0, 0,
- 0, 0, 35, 0, 8, 1, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0,
- 77, 2, 0, 0, 0, 0, 35, 0, 77, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,
- 9, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 78, 2, 0, 0,
- 0, 0, 35, 0,121, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0,
-121, 1, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,
-119, 1, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0, 79, 2, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0, 80, 2, 0, 0, 81, 2, 0, 0,
- 0, 0, 35, 0, 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0,
- 81, 2, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,
-118, 1, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0, 82, 2, 0, 0,
- 0, 0, 35, 0, 15, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0,
- 83, 2, 0, 0, 0, 0, 35, 0, 83, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,
-249, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 84, 2, 0, 0,
- 0, 0, 35, 0,248, 0, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0,248, 0, 0, 0,
- 14, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,122, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,
-124, 1, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0, 85, 2, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0, 86, 2, 0, 0, 87, 2, 0, 0,
- 0, 0, 35, 0, 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,123, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0,
- 87, 2, 0, 0, 0, 0, 35, 0,127, 1, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,
-125, 1, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 88, 2, 0, 0,
- 0, 0, 35, 0, 12, 1, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0,
- 89, 2, 0, 0, 0, 0, 35, 0, 89, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,
- 13, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 90, 2, 0, 0,
- 0, 0, 35, 0,127, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,
-127, 1, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,
-125, 1, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0, 91, 2, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0, 92, 2, 0, 0, 93, 2, 0, 0,
- 0, 0, 35, 0, 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0,
- 93, 2, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,
-124, 1, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0, 94, 2, 0, 0,
- 0, 0, 35, 0, 19, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0,
- 95, 2, 0, 0, 0, 0, 35, 0, 95, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,
-253, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,128, 1, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 96, 2, 0, 0,
- 0, 0, 35, 0,252, 0, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0,252, 0, 0, 0,
- 18, 1, 0, 0, 0, 0, 35, 0,128, 1, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,128, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,
-130, 1, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0, 97, 2, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0, 98, 2, 0, 0, 99, 2, 0, 0,
- 0, 0, 35, 0, 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,129, 1, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0,
- 99, 2, 0, 0, 0, 0, 35, 0,133, 1, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,
-131, 1, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0,100, 2, 0, 0,
- 0, 0, 35, 0, 16, 1, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,
-101, 2, 0, 0, 0, 0, 35, 0,101, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,
- 17, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0,102, 2, 0, 0,
- 0, 0, 35, 0,133, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,
-133, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0,103, 2, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,
-131, 1, 0, 0,103, 2, 0, 0, 0, 0, 35, 0,103, 2, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,104, 2, 0, 0,105, 2, 0, 0,
- 0, 0, 35, 0,103, 2, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0,
-105, 2, 0, 0, 0, 0, 35, 0,250, 0, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,
-130, 1, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,106, 2, 0, 0,
- 0, 0, 35, 0, 23, 1, 0, 0,135, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,
-107, 2, 0, 0, 0, 0, 35, 0,107, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,
- 1, 1, 0, 0,134, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,108, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,108, 2, 0, 0,
- 0, 0, 35, 0, 0, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 0, 1, 0, 0,
- 22, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,
-136, 1, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,109, 2, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,110, 2, 0, 0,111, 2, 0, 0,
- 0, 0, 35, 0,109, 2, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,
-111, 2, 0, 0, 0, 0, 35, 0,139, 1, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,
-137, 1, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,112, 2, 0, 0,
- 0, 0, 35, 0, 20, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,
-113, 2, 0, 0, 0, 0, 35, 0,113, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,
- 21, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,114, 2, 0, 0,
- 0, 0, 35, 0,139, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,
-139, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0,115, 2, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0,137, 1, 0, 0, 0, 0, 35, 0,
-137, 1, 0, 0,115, 2, 0, 0, 0, 0, 35, 0,115, 2, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,116, 2, 0, 0,117, 2, 0, 0,
- 0, 0, 35, 0,115, 2, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0,
-117, 2, 0, 0, 0, 0, 35, 0,254, 0, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,
-136, 1, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,118, 2, 0, 0,
- 0, 0, 35, 0, 7, 1, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,
-119, 2, 0, 0, 0, 0, 35, 0,119, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,
- 5, 1, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,120, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,120, 2, 0, 0,
- 0, 0, 35, 0, 4, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 4, 1, 0, 0,
- 6, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0,
-142, 1, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,121, 2, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,122, 2, 0, 0,123, 2, 0, 0,
- 0, 0, 35, 0,121, 2, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,
-123, 2, 0, 0, 0, 0, 35, 0,144, 1, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,
-143, 1, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,124, 2, 0, 0,
- 0, 0, 35, 0, 8, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,
-125, 2, 0, 0, 0, 0, 35, 0,125, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,
- 25, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,126, 2, 0, 0,
- 0, 0, 35, 0,144, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,
-144, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,127, 2, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,
-143, 1, 0, 0,127, 2, 0, 0, 0, 0, 35, 0,127, 2, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,128, 2, 0, 0,129, 2, 0, 0,
- 0, 0, 35, 0,127, 2, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,
-129, 2, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,
-142, 1, 0, 0,128, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-192, 16,185, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 18,185, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,118,185, 3, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 82,186, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 0,100, 0, 0, 72, 18,185, 3, 54, 0, 0, 0, 0, 5, 0, 0, 27, 1, 0, 0,102, 0, 0, 0,146, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0,
- 27, 1, 0, 0,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 0, 0, 0,146, 1, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,147, 1, 0, 0, 46, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0,148, 1, 0, 0,
-147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 0, 0, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-148, 1, 0, 0,146, 1, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0, 12, 0, 0, 0,165, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,165, 0, 0, 0,148, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0,
- 26, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,165, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,147, 1, 0, 0, 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0,170, 0, 0, 0,
-147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 0, 0, 0,147, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-170, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0,102, 0, 0, 0,149, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,149, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0,
- 26, 1, 0, 0, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,149, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,150, 1, 0, 0,103, 0, 0, 0,149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 1, 0, 0,151, 1, 0, 0,
-150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 0, 0, 0,150, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-151, 1, 0, 0,149, 1, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 1, 0, 0, 14, 0, 0, 0, 31, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 31, 1, 0, 0,151, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0,
- 27, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 1, 0, 0, 31, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,150, 1, 0, 0,104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0, 29, 1, 0, 0,
-150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 0, 0, 0,150, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 29, 1, 0, 0, 30, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0, 45, 0, 0, 0,152, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,152, 1, 0, 0,172, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0,
-168, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,152, 1, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,153, 1, 0, 0, 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 1, 0, 0,154, 1, 0, 0,
-153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 0, 0, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-154, 1, 0, 0,152, 1, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 0, 0, 0, 13, 0, 0, 0, 30, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0,154, 1, 0, 0,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0,
-169, 0, 0, 0,154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 1, 0, 0, 30, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,153, 1, 0, 0,104, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 1, 0, 0,173, 0, 0, 0,
-153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 0, 0, 0,153, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-173, 0, 0, 0, 31, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 44, 0, 0, 0,155, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,155, 1, 0, 0, 29, 1, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0,
-167, 0, 0, 0, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 1, 0, 0,155, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,156, 1, 0, 0,103, 0, 0, 0,155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 1, 0, 0,157, 1, 0, 0,
-156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 0, 0, 0,156, 1, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-157, 1, 0, 0,155, 1, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,162, 0, 0, 0,157, 1, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0,
-166, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 1, 0, 0,162, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,156, 1, 0, 0, 42, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 0, 0, 0, 28, 1, 0, 0,
-156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 0, 0, 0,156, 1, 0, 0, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 28, 1, 0, 0,163, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 1, 0, 0,105, 0, 0, 0, 33, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 33, 1, 0, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,
-158, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 33, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,158, 1, 0, 0, 50, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,160, 1, 0, 0,
-158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-160, 1, 0, 0,159, 1, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 0, 0, 0, 12, 0, 0, 0, 32, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 32, 1, 0, 0,160, 1, 0, 0,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 0, 0, 0,
-165, 0, 0, 0,160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 1, 0, 0, 32, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,164, 0, 0, 0, 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,178, 0, 0, 0,
-164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0,164, 0, 0, 0,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-178, 0, 0, 0,159, 1, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 1, 0, 0,105, 0, 0, 0, 32, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 32, 1, 0, 0, 34, 1, 0, 0,161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,
-161, 1, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 1, 0, 0, 32, 1, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,161, 1, 0, 0,106, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0,163, 1, 0, 0,
-161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,161, 1, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-163, 1, 0, 0,162, 1, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 1, 0, 0, 16, 0, 0, 0, 33, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 33, 1, 0, 0,163, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0,
- 37, 1, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 1, 0, 0, 33, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 36, 1, 0, 0,107, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0, 35, 1, 0, 0,
- 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0, 36, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 35, 1, 0, 0,162, 1, 0, 0,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 1, 0, 0, 49, 0, 0, 0,176, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,
-164, 1, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0,176, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,164, 1, 0, 0, 51, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,166, 1, 0, 0,
-164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-166, 1, 0, 0,165, 1, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0, 15, 0, 0, 0,177, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,177, 0, 0, 0,166, 1, 0, 0, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0,
- 36, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 1, 0, 0,177, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 37, 1, 0, 0,107, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,181, 0, 0, 0,
- 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 0, 0, 0, 37, 1, 0, 0,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-181, 0, 0, 0,165, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 1, 0, 0, 48, 0, 0, 0,175, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, 35, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,
-167, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0,175, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,167, 1, 0, 0,106, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0,169, 1, 0, 0,
-167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0,167, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-169, 1, 0, 0,168, 1, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 0, 0, 0, 0, 0, 0, 0,174, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0,169, 1, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 0, 0, 0,
-162, 0, 0, 0,169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 1, 0, 0,174, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,163, 0, 0, 0, 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0, 34, 1, 0, 0,
-163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 34, 1, 0, 0,168, 1, 0, 0,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0,108, 0, 0, 0,170, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,170, 1, 0, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 0, 0, 0,
- 39, 1, 0, 0,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 0, 0, 0,170, 1, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,171, 1, 0, 0, 54, 0, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 1, 0, 0,172, 1, 0, 0,
-171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-172, 1, 0, 0,170, 1, 0, 0,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0, 13, 0, 0, 0,169, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,169, 0, 0, 0,172, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0,
- 38, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0,169, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,171, 1, 0, 0, 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0,186, 0, 0, 0,
-171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 0, 0, 0,171, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-186, 0, 0, 0,168, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0,108, 0, 0, 0,173, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,173, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0,
- 38, 1, 0, 0, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 1, 0, 0,173, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,174, 1, 0, 0,109, 0, 0, 0,173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 1, 0, 0,175, 1, 0, 0,
-174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 0, 0, 0,174, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-175, 1, 0, 0,173, 1, 0, 0,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0, 18, 0, 0, 0, 43, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0,175, 1, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0,
- 39, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 1, 0, 0, 43, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,174, 1, 0, 0,110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 1, 0, 0, 41, 1, 0, 0,
-174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,174, 1, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 41, 1, 0, 0, 42, 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0, 53, 0, 0, 0,176, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,176, 1, 0, 0,188, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0,
-184, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0,176, 1, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,177, 1, 0, 0, 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 1, 0, 0,178, 1, 0, 0,
-177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 0, 0, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-178, 1, 0, 0,176, 1, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0, 17, 0, 0, 0, 42, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 42, 1, 0, 0,178, 1, 0, 0,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0,
-185, 0, 0, 0,178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 1, 0, 0, 42, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,177, 1, 0, 0,110, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0,189, 0, 0, 0,
-177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0,177, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-189, 0, 0, 0, 43, 1, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 52, 0, 0, 0,179, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,179, 1, 0, 0, 41, 1, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0,
-183, 0, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0,179, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,180, 1, 0, 0,109, 0, 0, 0,179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 1, 0, 0,181, 1, 0, 0,
-180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0,180, 1, 0, 0,181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-181, 1, 0, 0,179, 1, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0, 0, 0, 0, 0,166, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0,181, 1, 0, 0,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 0, 0, 0,
-182, 0, 0, 0,181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,166, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,180, 1, 0, 0, 44, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 40, 1, 0, 0,
-180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,180, 1, 0, 0, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 40, 1, 0, 0,167, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0,111, 0, 0, 0,182, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,182, 1, 0, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0,
- 45, 1, 0, 0,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0,182, 1, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,183, 1, 0, 0, 58, 0, 0, 0,182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 1, 0, 0,184, 1, 0, 0,
-183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-184, 1, 0, 0,182, 1, 0, 0,111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0, 17, 0, 0, 0,185, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0,184, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0,
- 44, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 1, 0, 0,185, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,183, 1, 0, 0, 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0,194, 0, 0, 0,
-183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 0, 0, 0,183, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-194, 0, 0, 0,184, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0,111, 0, 0, 0,185, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,185, 1, 0, 0, 46, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0,
- 44, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 1, 0, 0,185, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,186, 1, 0, 0,112, 0, 0, 0,185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 1, 0, 0,187, 1, 0, 0,
-186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,186, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-187, 1, 0, 0,185, 1, 0, 0,111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0, 20, 0, 0, 0, 49, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0,187, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0,
- 45, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 1, 0, 0, 49, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,186, 1, 0, 0,113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0, 47, 1, 0, 0,
-186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 0, 0, 0,186, 1, 0, 0, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 47, 1, 0, 0, 48, 1, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0, 57, 0, 0, 0,188, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,196, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0,
-192, 0, 0, 0,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 0, 0, 0,188, 1, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,189, 1, 0, 0, 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,190, 1, 0, 0,
-189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-190, 1, 0, 0,188, 1, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 0, 0, 0, 19, 0, 0, 0, 48, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0,190, 1, 0, 0,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0,
-193, 0, 0, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 1, 0, 0, 48, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,189, 1, 0, 0,113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0,197, 0, 0, 0,
-189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0,189, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-197, 0, 0, 0, 49, 1, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 56, 0, 0, 0,191, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,191, 1, 0, 0, 47, 1, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0,
-191, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 1, 0, 0,191, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,192, 1, 0, 0,112, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 1, 0, 0,193, 1, 0, 0,
-192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 0, 0, 0,192, 1, 0, 0,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-193, 1, 0, 0,191, 1, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 0, 0, 0, 0, 0, 0, 0,182, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0,193, 1, 0, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 0, 0, 0,
-190, 0, 0, 0,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 1, 0, 0,182, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,192, 1, 0, 0, 52, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 46, 1, 0, 0,
-192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 0, 0, 0,192, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 46, 1, 0, 0,183, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0,114, 0, 0, 0,194, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0,
- 51, 1, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0,194, 1, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,195, 1, 0, 0, 60, 0, 0, 0,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,196, 1, 0, 0,
-195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-196, 1, 0, 0,194, 1, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0, 19, 0, 0, 0,193, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,193, 0, 0, 0,196, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0,
- 50, 1, 0, 0,196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,193, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,195, 1, 0, 0, 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0,198, 0, 0, 0,
-195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0,195, 1, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-198, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0,114, 0, 0, 0,197, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,197, 1, 0, 0, 53, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0,
- 50, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0,197, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,198, 1, 0, 0,115, 0, 0, 0,197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 1, 0, 0,199, 1, 0, 0,
-198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 0, 0, 0,198, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-199, 1, 0, 0,197, 1, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0, 21, 0, 0, 0, 55, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,199, 1, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0,
- 51, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 1, 0, 0, 55, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,198, 1, 0, 0,116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0, 52, 1, 0, 0,
-198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,198, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 52, 1, 0, 0, 54, 1, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0, 49, 0, 0, 0,200, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,200, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0,
-176, 0, 0, 0,200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 0, 0, 0,200, 1, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,201, 1, 0, 0, 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,202, 1, 0, 0,
-201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 0, 0, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-202, 1, 0, 0,200, 1, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 0, 0, 0, 15, 0, 0, 0, 54, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0,202, 1, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0,
-177, 0, 0, 0,202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 1, 0, 0, 54, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,201, 1, 0, 0,116, 0, 0, 0, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,201, 0, 0, 0,
-201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 0, 0, 0,201, 1, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-201, 0, 0, 0, 55, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, 48, 0, 0, 0,203, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,203, 1, 0, 0, 52, 1, 0, 0,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0,
-175, 0, 0, 0, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 1, 0, 0,203, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,204, 1, 0, 0,115, 0, 0, 0,203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 1, 0, 0,205, 1, 0, 0,
-204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 0, 0, 0,204, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-205, 1, 0, 0,203, 1, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0, 0, 0, 0, 0,190, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,190, 0, 0, 0,205, 1, 0, 0,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0,
-174, 0, 0, 0,205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 1, 0, 0,190, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,204, 1, 0, 0, 56, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 53, 1, 0, 0,
-204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,204, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 53, 1, 0, 0,191, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,117, 0, 0, 0, 57, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 0, 0, 0,
-206, 1, 0, 0,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 57, 1, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,206, 1, 0, 0, 64, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,208, 1, 0, 0,
-206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 0, 0, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-208, 1, 0, 0,207, 1, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 16, 0, 0, 0, 56, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 56, 1, 0, 0,208, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,
-179, 0, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 1, 0, 0, 56, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,178, 0, 0, 0, 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,206, 0, 0, 0,
-178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0,178, 0, 0, 0,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-206, 0, 0, 0,207, 1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 1, 0, 0,117, 0, 0, 0, 56, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 56, 1, 0, 0, 58, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,
-209, 1, 0, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 1, 0, 0, 56, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,209, 1, 0, 0,118, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0,211, 1, 0, 0,
-209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 0, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-211, 1, 0, 0,210, 1, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0, 23, 0, 0, 0, 57, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,211, 1, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0,
- 61, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 1, 0, 0, 57, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 60, 1, 0, 0,119, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0, 59, 1, 0, 0,
- 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0, 60, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 59, 1, 0, 0,210, 1, 0, 0,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 1, 0, 0, 63, 0, 0, 0,204, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 0, 0, 0,
-212, 1, 0, 0,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,204, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,212, 1, 0, 0, 65, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,214, 1, 0, 0,
-212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-214, 1, 0, 0,213, 1, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0, 22, 0, 0, 0,205, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,205, 0, 0, 0,214, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0,
- 60, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,214, 1, 0, 0,205, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 61, 1, 0, 0,119, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,209, 0, 0, 0,
- 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 0, 0, 0, 61, 1, 0, 0,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-209, 0, 0, 0,213, 1, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 1, 0, 0, 62, 0, 0, 0,203, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,203, 0, 0, 0, 59, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,
-215, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,203, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,215, 1, 0, 0,118, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0,217, 1, 0, 0,
-215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-217, 1, 0, 0,216, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0, 5, 0, 0, 0,202, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0,217, 1, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,
-180, 0, 0, 0,217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,217, 1, 0, 0,202, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,181, 0, 0, 0, 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0, 58, 1, 0, 0,
-181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 0, 0, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 58, 1, 0, 0,216, 1, 0, 0,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 1, 0, 0,120, 0, 0, 0, 63, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 0, 0, 0,
-218, 1, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 63, 1, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,218, 1, 0, 0, 68, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,220, 1, 0, 0,
-218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 0, 0, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-220, 1, 0, 0,219, 1, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 0, 0, 0, 14, 0, 0, 0, 62, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 62, 1, 0, 0,220, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 0, 0, 0,
-173, 0, 0, 0,220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 1, 0, 0, 62, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,172, 0, 0, 0, 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,214, 0, 0, 0,
-172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0,172, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-214, 0, 0, 0,219, 1, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,120, 0, 0, 0, 62, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 62, 1, 0, 0, 64, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,
-221, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 1, 0, 0, 62, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,221, 1, 0, 0,121, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0,223, 1, 0, 0,
-221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 0, 0, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-223, 1, 0, 0,222, 1, 0, 0,122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0, 25, 0, 0, 0, 63, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0,223, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0,
- 67, 1, 0, 0,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 1, 0, 0, 63, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 66, 1, 0, 0,122, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0, 65, 1, 0, 0,
- 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0, 66, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 65, 1, 0, 0,222, 1, 0, 0,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 1, 0, 0, 67, 0, 0, 0,212, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,212, 0, 0, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0,
-224, 1, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,212, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,224, 1, 0, 0, 69, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,226, 1, 0, 0,
-224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-226, 1, 0, 0,225, 1, 0, 0,122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 1, 0, 0, 24, 0, 0, 0,213, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0,226, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0,
- 66, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 1, 0, 0,213, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 67, 1, 0, 0,122, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,217, 0, 0, 0,
- 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 0, 0, 0, 67, 1, 0, 0,217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-217, 0, 0, 0,225, 1, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 1, 0, 0, 66, 0, 0, 0,211, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, 65, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,
-227, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 1, 0, 0,211, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,227, 1, 0, 0,121, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0,229, 1, 0, 0,
-227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 0, 0, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-229, 1, 0, 0,228, 1, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0, 1, 0, 0, 0,210, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,210, 0, 0, 0,229, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 0, 0, 0,
-170, 0, 0, 0,229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 1, 0, 0,210, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,171, 0, 0, 0, 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0, 64, 1, 0, 0,
-171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 64, 1, 0, 0,228, 1, 0, 0,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 1, 0, 0,123, 0, 0, 0, 69, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 69, 1, 0, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0,
-230, 1, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0, 69, 1, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,230, 1, 0, 0, 72, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,232, 1, 0, 0,
-230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-232, 1, 0, 0,231, 1, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 0, 0, 0, 18, 0, 0, 0, 68, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 68, 1, 0, 0,232, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0,
-189, 0, 0, 0,232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 1, 0, 0, 68, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,188, 0, 0, 0, 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,222, 0, 0, 0,
-188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0,188, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-222, 0, 0, 0,231, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 1, 0, 0,123, 0, 0, 0, 68, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 68, 1, 0, 0, 70, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,
-233, 1, 0, 0, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,233, 1, 0, 0,124, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0,235, 1, 0, 0,
-233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-235, 1, 0, 0,234, 1, 0, 0,125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0, 27, 0, 0, 0, 69, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 69, 1, 0, 0,235, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0,
- 73, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 1, 0, 0, 69, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 72, 1, 0, 0,125, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0, 71, 1, 0, 0,
- 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 72, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 71, 1, 0, 0,234, 1, 0, 0,124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 1, 0, 0, 71, 0, 0, 0,220, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,220, 0, 0, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0,
-236, 1, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,220, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,236, 1, 0, 0, 73, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,238, 1, 0, 0,
-236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-238, 1, 0, 0,237, 1, 0, 0,125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0, 26, 0, 0, 0,221, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0,238, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0,
- 72, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,221, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 73, 1, 0, 0,125, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,225, 0, 0, 0,
- 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0, 73, 1, 0, 0,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-225, 0, 0, 0,237, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 1, 0, 0, 70, 0, 0, 0,219, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0, 71, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,
-239, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 1, 0, 0,219, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,239, 1, 0, 0,124, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0,241, 1, 0, 0,
-239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-241, 1, 0, 0,240, 1, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 0, 0, 0, 2, 0, 0, 0,218, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,218, 0, 0, 0,241, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 0, 0, 0,
-186, 0, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,241, 1, 0, 0,218, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,187, 0, 0, 0, 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0, 70, 1, 0, 0,
-187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 0, 0, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 70, 1, 0, 0,240, 1, 0, 0,124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 1, 0, 0,126, 0, 0, 0, 75, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 75, 1, 0, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 0, 0, 0,
-242, 1, 0, 0,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0, 75, 1, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,242, 1, 0, 0, 76, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,244, 1, 0, 0,
-242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 0, 0, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-244, 1, 0, 0,243, 1, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 20, 0, 0, 0, 74, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 74, 1, 0, 0,244, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0,
-197, 0, 0, 0,244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 1, 0, 0, 74, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,196, 0, 0, 0, 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,230, 0, 0, 0,
-196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0,196, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-230, 0, 0, 0,243, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 1, 0, 0,126, 0, 0, 0, 74, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 74, 1, 0, 0, 76, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,
-245, 1, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 1, 0, 0, 74, 1, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,245, 1, 0, 0,127, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0,247, 1, 0, 0,
-245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 0, 0, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-247, 1, 0, 0,246, 1, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 1, 0, 0, 29, 0, 0, 0, 75, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 75, 1, 0, 0,247, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0,
- 79, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 1, 0, 0, 75, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 78, 1, 0, 0,128, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0, 77, 1, 0, 0,
- 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 0, 0, 0, 78, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 77, 1, 0, 0,246, 1, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 1, 0, 0, 75, 0, 0, 0,228, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,228, 0, 0, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0,
-248, 1, 0, 0,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,228, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,248, 1, 0, 0, 77, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,250, 1, 0, 0,
-248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-250, 1, 0, 0,249, 1, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 1, 0, 0, 28, 0, 0, 0,229, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0,250, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0,
- 78, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 1, 0, 0,229, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 79, 1, 0, 0,128, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,233, 0, 0, 0,
- 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 0, 0, 0, 79, 1, 0, 0,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-233, 0, 0, 0,249, 1, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 1, 0, 0, 74, 0, 0, 0,227, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, 77, 1, 0, 0,251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,
-251, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 1, 0, 0,227, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,251, 1, 0, 0,127, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0,253, 1, 0, 0,
-251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 0, 0, 0,251, 1, 0, 0,253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-253, 1, 0, 0,252, 1, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 0, 0, 0, 3, 0, 0, 0,226, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,226, 0, 0, 0,253, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 0, 0, 0,
-194, 0, 0, 0,253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 1, 0, 0,226, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,195, 0, 0, 0, 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0, 76, 1, 0, 0,
-195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 76, 1, 0, 0,252, 1, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 1, 0, 0,129, 0, 0, 0, 81, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 81, 1, 0, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0,
-254, 1, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0, 81, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,254, 1, 0, 0, 80, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0, 0, 2, 0, 0,
-254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 0, 0, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 0, 2, 0, 0,255, 1, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 0, 21, 0, 0, 0, 80, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 80, 1, 0, 0, 0, 2, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 0, 0, 0,
-201, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 80, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,200, 0, 0, 0, 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0,238, 0, 0, 0,
-200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0,200, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-238, 0, 0, 0,255, 1, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0,129, 0, 0, 0, 80, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 80, 1, 0, 0, 82, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,
- 1, 2, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 80, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 1, 2, 0, 0,130, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 3, 2, 0, 0,
- 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 0, 0, 0, 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 3, 2, 0, 0, 2, 2, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 1, 0, 0, 31, 0, 0, 0, 81, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 81, 1, 0, 0, 3, 2, 0, 0, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0,
- 85, 1, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 0, 81, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 84, 1, 0, 0,131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 83, 1, 0, 0,
- 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 0, 0, 0, 84, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 83, 1, 0, 0, 2, 2, 0, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 0, 0, 79, 0, 0, 0,236, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 0,
- 4, 2, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0,236, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 4, 2, 0, 0, 81, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0, 6, 2, 0, 0,
- 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 0, 0, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 6, 2, 0, 0, 5, 2, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, 30, 0, 0, 0,237, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0, 6, 2, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0,
- 84, 1, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 0, 0,237, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 85, 1, 0, 0,131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0,241, 0, 0, 0,
- 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 0, 0, 0, 85, 1, 0, 0,241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-241, 0, 0, 0, 5, 2, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 2, 0, 0, 78, 0, 0, 0,235, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,235, 0, 0, 0, 83, 1, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,
- 7, 2, 0, 0, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 1, 0, 0,235, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 7, 2, 0, 0,130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 9, 2, 0, 0,
- 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0, 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 9, 2, 0, 0, 8, 2, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0, 4, 0, 0, 0,234, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 9, 2, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0,
-198, 0, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 2, 0, 0,234, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,199, 0, 0, 0, 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 82, 1, 0, 0,
-199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 82, 1, 0, 0, 8, 2, 0, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0,132, 0, 0, 0, 10, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0,
- 87, 1, 0, 0,245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 0, 0, 0, 10, 2, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 11, 2, 0, 0, 83, 0, 0, 0, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0, 12, 2, 0, 0,
- 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 0, 0, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 12, 2, 0, 0, 10, 2, 0, 0,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0, 23, 0, 0, 0,209, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,209, 0, 0, 0, 12, 2, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0,
- 86, 1, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 2, 0, 0,209, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 11, 2, 0, 0, 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,244, 0, 0, 0,
- 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 0, 0, 0, 11, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-244, 0, 0, 0,208, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0,132, 0, 0, 0, 13, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 13, 2, 0, 0, 88, 1, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 0, 0, 0,
- 86, 1, 0, 0, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, 13, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 14, 2, 0, 0,133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 2, 0, 0, 15, 2, 0, 0,
- 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,134, 0, 0, 0, 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 15, 2, 0, 0, 13, 2, 0, 0,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0, 32, 0, 0, 0, 91, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 91, 1, 0, 0, 15, 2, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0,
- 87, 1, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 2, 0, 0, 91, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 14, 2, 0, 0,134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 1, 0, 0, 89, 1, 0, 0,
- 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 0, 0, 0, 14, 2, 0, 0, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 89, 1, 0, 0, 90, 1, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 0, 0, 0, 67, 0, 0, 0, 16, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 16, 2, 0, 0,242, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 0,
-212, 0, 0, 0,242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 0, 0, 0, 16, 2, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 17, 2, 0, 0, 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 2, 0, 0, 18, 2, 0, 0,
- 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,134, 0, 0, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 18, 2, 0, 0, 16, 2, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0, 24, 0, 0, 0, 90, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 90, 1, 0, 0, 18, 2, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0,
-213, 0, 0, 0, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 2, 0, 0, 90, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 17, 2, 0, 0,134, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 1, 0, 0,243, 0, 0, 0,
- 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0, 17, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-243, 0, 0, 0, 91, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, 66, 0, 0, 0, 19, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 19, 2, 0, 0, 89, 1, 0, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0,
-211, 0, 0, 0, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 1, 0, 0, 19, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 20, 2, 0, 0,133, 0, 0, 0, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 2, 0, 0, 21, 2, 0, 0,
- 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 0, 0, 0, 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 21, 2, 0, 0, 19, 2, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 0, 0, 0, 1, 0, 0, 0,206, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0, 21, 2, 0, 0,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 0, 0, 0,
-210, 0, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 2, 0, 0,206, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 20, 2, 0, 0, 64, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 88, 1, 0, 0,
- 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 0, 0, 0, 20, 2, 0, 0, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 88, 1, 0, 0,207, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0,135, 0, 0, 0, 22, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 22, 2, 0, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0,
- 93, 1, 0, 0,247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 0, 0, 0, 22, 2, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 23, 2, 0, 0, 84, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 2, 0, 0, 24, 2, 0, 0,
- 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 24, 2, 0, 0, 22, 2, 0, 0,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0, 25, 0, 0, 0,217, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,217, 0, 0, 0, 24, 2, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0,
- 92, 1, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 2, 0, 0,217, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 23, 2, 0, 0, 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,246, 0, 0, 0,
- 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0, 23, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-246, 0, 0, 0,216, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0,135, 0, 0, 0, 25, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 25, 2, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 0, 0, 0,
- 92, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0, 25, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 26, 2, 0, 0,136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 2, 0, 0, 27, 2, 0, 0,
- 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 0, 0, 0, 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 27, 2, 0, 0, 25, 2, 0, 0,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0, 33, 0, 0, 0, 97, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 97, 1, 0, 0, 27, 2, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0,
- 93, 1, 0, 0, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 2, 0, 0, 97, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 26, 2, 0, 0,137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 95, 1, 0, 0,
- 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 0, 0, 0, 26, 2, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 95, 1, 0, 0, 96, 1, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 0, 0, 0, 71, 0, 0, 0, 28, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 28, 2, 0, 0,248, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0,
-220, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 0, 0, 0, 28, 2, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 29, 2, 0, 0, 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 2, 0, 0, 30, 2, 0, 0,
- 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 0, 0, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 30, 2, 0, 0, 28, 2, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0, 26, 0, 0, 0, 96, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 30, 2, 0, 0,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,
-221, 0, 0, 0, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 2, 0, 0, 96, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 29, 2, 0, 0,137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 1, 0, 0,249, 0, 0, 0,
- 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 0, 0, 0, 29, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-249, 0, 0, 0, 97, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0, 70, 0, 0, 0, 31, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 31, 2, 0, 0, 95, 1, 0, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0,
-219, 0, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 1, 0, 0, 31, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 32, 2, 0, 0,136, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 2, 0, 0, 33, 2, 0, 0,
- 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 0, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 33, 2, 0, 0, 31, 2, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 0, 0, 0, 2, 0, 0, 0,214, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,214, 0, 0, 0, 33, 2, 0, 0,218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,
-218, 0, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 2, 0, 0,214, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 32, 2, 0, 0, 68, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 94, 1, 0, 0,
- 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 0, 0, 0, 32, 2, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 94, 1, 0, 0,215, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0,138, 0, 0, 0, 34, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 34, 2, 0, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0,
- 99, 1, 0, 0,251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 0, 0, 0, 34, 2, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 35, 2, 0, 0, 86, 0, 0, 0, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 2, 0, 0, 36, 2, 0, 0,
- 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 36, 2, 0, 0, 34, 2, 0, 0,138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0, 27, 0, 0, 0,225, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,225, 0, 0, 0, 36, 2, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0,
- 98, 1, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 2, 0, 0,225, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 35, 2, 0, 0, 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,250, 0, 0, 0,
- 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0, 35, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-250, 0, 0, 0,224, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0,138, 0, 0, 0, 37, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 37, 2, 0, 0,100, 1, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0,
- 98, 1, 0, 0,100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 1, 0, 0, 37, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 38, 2, 0, 0,139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 2, 0, 0, 39, 2, 0, 0,
- 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,140, 0, 0, 0, 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 39, 2, 0, 0, 37, 2, 0, 0,138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0, 34, 0, 0, 0,103, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,103, 1, 0, 0, 39, 2, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0,
- 99, 1, 0, 0, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 2, 0, 0,103, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 38, 2, 0, 0,140, 0, 0, 0,102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 1, 0, 0,101, 1, 0, 0,
- 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0, 38, 2, 0, 0,101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-101, 1, 0, 0,102, 1, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 0, 0, 0, 75, 0, 0, 0, 40, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 40, 2, 0, 0,252, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0,
-228, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0, 40, 2, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 41, 2, 0, 0, 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 2, 0, 0, 42, 2, 0, 0,
- 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,140, 0, 0, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 42, 2, 0, 0, 40, 2, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0, 28, 0, 0, 0,102, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,102, 1, 0, 0, 42, 2, 0, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0,
-229, 0, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 2, 0, 0,102, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 41, 2, 0, 0,140, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 1, 0, 0,253, 0, 0, 0,
- 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0, 41, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-253, 0, 0, 0,103, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, 74, 0, 0, 0, 43, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 43, 2, 0, 0,101, 1, 0, 0,227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 0, 0, 0,
-227, 0, 0, 0,101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 1, 0, 0, 43, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 44, 2, 0, 0,139, 0, 0, 0, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 2, 0, 0, 45, 2, 0, 0,
- 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0, 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 45, 2, 0, 0, 43, 2, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 0, 0, 0, 3, 0, 0, 0,222, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,222, 0, 0, 0, 45, 2, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 0, 0, 0,
-226, 0, 0, 0, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 2, 0, 0,222, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 44, 2, 0, 0, 72, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0,100, 1, 0, 0,
- 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0, 44, 2, 0, 0,100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-100, 1, 0, 0,223, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0,141, 0, 0, 0, 46, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 46, 2, 0, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 0, 0, 0,
-105, 1, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 0, 0, 0, 46, 2, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 47, 2, 0, 0, 88, 0, 0, 0, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 2, 0, 0, 48, 2, 0, 0,
- 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 48, 2, 0, 0, 46, 2, 0, 0,141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0, 29, 0, 0, 0,233, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,233, 0, 0, 0, 48, 2, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,
-104, 1, 0, 0, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 2, 0, 0,233, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 47, 2, 0, 0, 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,254, 0, 0, 0,
- 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0, 47, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-254, 0, 0, 0,232, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0,141, 0, 0, 0, 49, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 49, 2, 0, 0,106, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 0, 0, 0,
-104, 1, 0, 0,106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 1, 0, 0, 49, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 50, 2, 0, 0,142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 2, 0, 0, 51, 2, 0, 0,
- 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 0, 0, 0, 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 51, 2, 0, 0, 49, 2, 0, 0,141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0, 35, 0, 0, 0,109, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,109, 1, 0, 0, 51, 2, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,
-105, 1, 0, 0, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 2, 0, 0,109, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 50, 2, 0, 0,143, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 1, 0, 0,107, 1, 0, 0,
- 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 0, 0, 0, 50, 2, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-107, 1, 0, 0,108, 1, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0, 79, 0, 0, 0, 52, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 52, 2, 0, 0, 0, 1, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0,
-236, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 52, 2, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 53, 2, 0, 0, 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 2, 0, 0, 54, 2, 0, 0,
- 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 0, 0, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 54, 2, 0, 0, 52, 2, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0, 30, 0, 0, 0,108, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,108, 1, 0, 0, 54, 2, 0, 0,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 0, 0, 0,
-237, 0, 0, 0, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 2, 0, 0,108, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 53, 2, 0, 0,143, 0, 0, 0,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 1, 0, 0, 1, 1, 0, 0,
- 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 0, 0, 0, 53, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 1, 1, 0, 0,109, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 0, 0, 0, 78, 0, 0, 0, 55, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 55, 2, 0, 0,107, 1, 0, 0,235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 0, 0, 0,
-235, 0, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 1, 0, 0, 55, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 56, 2, 0, 0,142, 0, 0, 0, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 2, 0, 0, 57, 2, 0, 0,
- 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 0, 0, 0, 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 57, 2, 0, 0, 55, 2, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 4, 0, 0, 0,230, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,230, 0, 0, 0, 57, 2, 0, 0,234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,
-234, 0, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 2, 0, 0,230, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 56, 2, 0, 0, 76, 0, 0, 0,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0,106, 1, 0, 0,
- 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 0, 0, 0, 56, 2, 0, 0,106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-106, 1, 0, 0,231, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0,144, 0, 0, 0, 58, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 58, 2, 0, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0,
-111, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 58, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 59, 2, 0, 0, 90, 0, 0, 0, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 2, 0, 0, 60, 2, 0, 0,
- 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 60, 2, 0, 0, 58, 2, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0, 31, 0, 0, 0,241, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,241, 0, 0, 0, 60, 2, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,
-110, 1, 0, 0, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 2, 0, 0,241, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 59, 2, 0, 0, 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0, 2, 1, 0, 0,
- 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 0, 0, 0, 59, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 2, 1, 0, 0,240, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0,144, 0, 0, 0, 61, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 61, 2, 0, 0,113, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 0, 0, 0,
-110, 1, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 1, 0, 0, 61, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 62, 2, 0, 0,145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 2, 0, 0, 63, 2, 0, 0,
- 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 0, 0, 0, 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 63, 2, 0, 0, 61, 2, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0, 36, 0, 0, 0,115, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,115, 1, 0, 0, 63, 2, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,
-111, 1, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 2, 0, 0,115, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 62, 2, 0, 0,146, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 1, 0, 0,112, 1, 0, 0,
- 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 0, 0, 0, 62, 2, 0, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-112, 1, 0, 0,114, 1, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0, 63, 0, 0, 0, 64, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 64, 2, 0, 0, 4, 1, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0,
-204, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0, 64, 2, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 65, 2, 0, 0, 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 2, 0, 0, 66, 2, 0, 0,
- 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 0, 0, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 66, 2, 0, 0, 64, 2, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 0, 0, 0, 22, 0, 0, 0,114, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,114, 1, 0, 0, 66, 2, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0,
-205, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 2, 0, 0,114, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 65, 2, 0, 0,146, 0, 0, 0,115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 1, 0, 0, 5, 1, 0, 0,
- 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0, 65, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 5, 1, 0, 0,115, 1, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 0, 0, 0, 62, 0, 0, 0, 67, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 67, 2, 0, 0,112, 1, 0, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0,
-203, 0, 0, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 1, 0, 0, 67, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 68, 2, 0, 0,145, 0, 0, 0, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 2, 0, 0, 69, 2, 0, 0,
- 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0, 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 69, 2, 0, 0, 67, 2, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0, 5, 0, 0, 0,238, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,238, 0, 0, 0, 69, 2, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0,
-202, 0, 0, 0, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 2, 0, 0,238, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 68, 2, 0, 0, 80, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0,113, 1, 0, 0,
- 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 0, 0, 0, 68, 2, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-113, 1, 0, 0,239, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 2, 0, 0,147, 0, 0, 0,117, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,117, 1, 0, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 0, 0, 0,
- 70, 2, 0, 0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 11, 1, 0, 0,117, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 70, 2, 0, 0, 94, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 72, 2, 0, 0,
- 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 0, 0, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 72, 2, 0, 0, 71, 2, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 0, 0, 0, 32, 0, 0, 0,116, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,116, 1, 0, 0, 72, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0,
-243, 0, 0, 0, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 2, 0, 0,116, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,242, 0, 0, 0, 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 10, 1, 0, 0,
-242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 0,242, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 10, 1, 0, 0, 71, 2, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 2, 0, 0,147, 0, 0, 0,116, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,116, 1, 0, 0,118, 1, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0,
- 73, 2, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 1, 0, 0,116, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 73, 2, 0, 0,148, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0, 75, 2, 0, 0,
- 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 0, 0, 0, 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 75, 2, 0, 0, 74, 2, 0, 0,149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 1, 0, 0, 38, 0, 0, 0,117, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,117, 1, 0, 0, 75, 2, 0, 0,121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,
-121, 1, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 2, 0, 0,117, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,120, 1, 0, 0,149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0,119, 1, 0, 0,
-120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 0, 0, 0,120, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-119, 1, 0, 0, 74, 2, 0, 0,148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 2, 0, 0, 93, 0, 0, 0, 8, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 8, 1, 0, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0,
- 76, 2, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 76, 2, 0, 0, 95, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 78, 2, 0, 0,
- 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 78, 2, 0, 0, 77, 2, 0, 0,149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 1, 0, 0, 37, 0, 0, 0, 9, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 9, 1, 0, 0, 78, 2, 0, 0,120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,
-120, 1, 0, 0, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 2, 0, 0, 9, 1, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,121, 1, 0, 0,149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 13, 1, 0, 0,
-121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 0, 0, 0,121, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 13, 1, 0, 0, 77, 2, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 2, 0, 0, 92, 0, 0, 0, 7, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 1, 0, 0,119, 1, 0, 0, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0,
- 79, 2, 0, 0,119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 1, 0, 0, 7, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 79, 2, 0, 0,148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0, 81, 2, 0, 0,
- 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 0, 0, 0, 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 81, 2, 0, 0, 80, 2, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0, 10, 0, 0, 0, 6, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 6, 1, 0, 0, 81, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 0, 0, 0,
-244, 0, 0, 0, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 2, 0, 0, 6, 1, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,245, 0, 0, 0, 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0,118, 1, 0, 0,
-245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-118, 1, 0, 0, 80, 2, 0, 0,148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 2, 0, 0,150, 0, 0, 0,123, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,123, 1, 0, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 0, 0, 0,
- 82, 2, 0, 0, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 1, 0, 0,123, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 82, 2, 0, 0, 96, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 84, 2, 0, 0,
- 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 0, 0, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 84, 2, 0, 0, 83, 2, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 0, 0, 0, 33, 0, 0, 0,122, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,122, 1, 0, 0, 84, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 0, 0, 0,
-249, 0, 0, 0, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 2, 0, 0,122, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,248, 0, 0, 0, 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 14, 1, 0, 0,
-248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0,248, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 14, 1, 0, 0, 83, 2, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 2, 0, 0,150, 0, 0, 0,122, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,122, 1, 0, 0,124, 1, 0, 0, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0,
- 85, 2, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 1, 0, 0,122, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 85, 2, 0, 0,151, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0, 87, 2, 0, 0,
- 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 0, 0, 0, 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 87, 2, 0, 0, 86, 2, 0, 0,152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 1, 0, 0, 39, 0, 0, 0,123, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,123, 1, 0, 0, 87, 2, 0, 0,127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,
-127, 1, 0, 0, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 2, 0, 0,123, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,126, 1, 0, 0,152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0,125, 1, 0, 0,
-126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 0, 0, 0,126, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-125, 1, 0, 0, 86, 2, 0, 0,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 2, 0, 0, 95, 0, 0, 0, 12, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0,
- 88, 2, 0, 0, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 1, 0, 0, 12, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 88, 2, 0, 0, 97, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 90, 2, 0, 0,
- 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 90, 2, 0, 0, 89, 2, 0, 0,152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 1, 0, 0, 38, 0, 0, 0, 13, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 13, 1, 0, 0, 90, 2, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,
-126, 1, 0, 0, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 2, 0, 0, 13, 1, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,127, 1, 0, 0,152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 17, 1, 0, 0,
-127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 0, 0, 0,127, 1, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 17, 1, 0, 0, 89, 2, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 2, 0, 0, 94, 0, 0, 0, 11, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 11, 1, 0, 0,125, 1, 0, 0, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0,
- 91, 2, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 1, 0, 0, 11, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 91, 2, 0, 0,151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0, 93, 2, 0, 0,
- 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 0, 0, 0, 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 93, 2, 0, 0, 92, 2, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0, 6, 0, 0, 0, 10, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 10, 1, 0, 0, 93, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0,
-246, 0, 0, 0, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 2, 0, 0, 10, 1, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,247, 0, 0, 0, 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0,124, 1, 0, 0,
-247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-124, 1, 0, 0, 92, 2, 0, 0,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 2, 0, 0,153, 0, 0, 0,129, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,129, 1, 0, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 0, 0, 0,
- 94, 2, 0, 0, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 1, 0, 0,129, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 94, 2, 0, 0, 98, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 96, 2, 0, 0,
- 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 0, 0, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 96, 2, 0, 0, 95, 2, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 0, 0, 0, 34, 0, 0, 0,128, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,128, 1, 0, 0, 96, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0,
-253, 0, 0, 0, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 2, 0, 0,128, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,252, 0, 0, 0, 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 18, 1, 0, 0,
-252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0,252, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 18, 1, 0, 0, 95, 2, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 2, 0, 0,153, 0, 0, 0,128, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,128, 1, 0, 0,130, 1, 0, 0, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,
- 97, 2, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 1, 0, 0,128, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 97, 2, 0, 0,154, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0, 99, 2, 0, 0,
- 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 0, 0, 0, 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 99, 2, 0, 0, 98, 2, 0, 0,155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 1, 0, 0, 40, 0, 0, 0,129, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,129, 1, 0, 0, 99, 2, 0, 0,133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,
-133, 1, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 2, 0, 0,129, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,132, 1, 0, 0,155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0,131, 1, 0, 0,
-132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 0, 0, 0,132, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-131, 1, 0, 0, 98, 2, 0, 0,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 2, 0, 0, 97, 0, 0, 0, 16, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 16, 1, 0, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,
-100, 2, 0, 0, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0, 16, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,100, 2, 0, 0, 99, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0,102, 2, 0, 0,
-100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-102, 2, 0, 0,101, 2, 0, 0,155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 1, 0, 0, 39, 0, 0, 0, 17, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 17, 1, 0, 0,102, 2, 0, 0,132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,
-132, 1, 0, 0,102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 2, 0, 0, 17, 1, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,133, 1, 0, 0,155, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0, 21, 1, 0, 0,
-133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 0, 0, 0,133, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 21, 1, 0, 0,101, 2, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 2, 0, 0, 96, 0, 0, 0, 15, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 15, 1, 0, 0,131, 1, 0, 0,103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,
-103, 2, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 1, 0, 0, 15, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,103, 2, 0, 0,154, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,105, 2, 0, 0,
-103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 0, 0, 0,103, 2, 0, 0,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-105, 2, 0, 0,104, 2, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 0, 0, 0, 7, 0, 0, 0, 14, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 14, 1, 0, 0,105, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0,
-250, 0, 0, 0,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 2, 0, 0, 14, 1, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,251, 0, 0, 0, 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,130, 1, 0, 0,
-251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-130, 1, 0, 0,104, 2, 0, 0,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 2, 0, 0,156, 0, 0, 0,135, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,135, 1, 0, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 0, 0, 0,
-106, 2, 0, 0, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 1, 0, 0,135, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,106, 2, 0, 0,100, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0,108, 2, 0, 0,
-106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 0, 0, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-108, 2, 0, 0,107, 2, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 35, 0, 0, 0,134, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,134, 1, 0, 0,108, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 0, 0, 0,
- 1, 1, 0, 0,108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 2, 0, 0,134, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 0, 1, 0, 0, 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0, 22, 1, 0, 0,
- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0, 0, 1, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 22, 1, 0, 0,107, 2, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 2, 0, 0,156, 0, 0, 0,134, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,134, 1, 0, 0,136, 1, 0, 0,109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,
-109, 2, 0, 0,136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 1, 0, 0,134, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,109, 2, 0, 0,157, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,111, 2, 0, 0,
-109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 0, 0, 0,109, 2, 0, 0,111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-111, 2, 0, 0,110, 2, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 1, 0, 0, 41, 0, 0, 0,135, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,135, 1, 0, 0,111, 2, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,
-139, 1, 0, 0,111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 2, 0, 0,135, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,138, 1, 0, 0,158, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,137, 1, 0, 0,
-138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 0, 0, 0,138, 1, 0, 0,137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-137, 1, 0, 0,110, 2, 0, 0,157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 2, 0, 0, 99, 0, 0, 0, 20, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 0, 0, 0,
-112, 2, 0, 0, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 1, 0, 0, 20, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,112, 2, 0, 0,101, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0,114, 2, 0, 0,
-112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-114, 2, 0, 0,113, 2, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 1, 0, 0, 40, 0, 0, 0, 21, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 21, 1, 0, 0,114, 2, 0, 0,138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,
-138, 1, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 2, 0, 0, 21, 1, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,139, 1, 0, 0,158, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0, 25, 1, 0, 0,
-139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 0, 0, 0,139, 1, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 25, 1, 0, 0,113, 2, 0, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 2, 0, 0, 98, 0, 0, 0, 19, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 19, 1, 0, 0,137, 1, 0, 0,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,
-115, 2, 0, 0,137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 1, 0, 0, 19, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,115, 2, 0, 0,157, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,117, 2, 0, 0,
-115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 0, 0, 0,115, 2, 0, 0,117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-117, 2, 0, 0,116, 2, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0, 8, 0, 0, 0, 18, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 18, 1, 0, 0,117, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0,
-254, 0, 0, 0,117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 2, 0, 0, 18, 1, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,255, 0, 0, 0, 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,136, 1, 0, 0,
-255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 0, 0, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-136, 1, 0, 0,116, 2, 0, 0,157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 2, 0, 0,159, 0, 0, 0,141, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,141, 1, 0, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 0, 0, 0,
-118, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 1, 0, 0,141, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,118, 2, 0, 0, 92, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0,120, 2, 0, 0,
-118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 0, 0, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-120, 2, 0, 0,119, 2, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 1, 0, 0, 36, 0, 0, 0,140, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,140, 1, 0, 0,120, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0,
- 5, 1, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 2, 0, 0,140, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 4, 1, 0, 0, 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0, 6, 1, 0, 0,
- 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0, 4, 1, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 6, 1, 0, 0,119, 2, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 2, 0, 0,159, 0, 0, 0,140, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,140, 1, 0, 0,142, 1, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,
-121, 2, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 1, 0, 0,140, 1, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,121, 2, 0, 0,160, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,123, 2, 0, 0,
-121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 0, 0, 0,121, 2, 0, 0,123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-123, 2, 0, 0,122, 2, 0, 0,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 1, 0, 0, 37, 0, 0, 0,141, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,141, 1, 0, 0,123, 2, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,
-144, 1, 0, 0,123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 2, 0, 0,141, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,145, 1, 0, 0,161, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,143, 1, 0, 0,
-145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 0, 0, 0,145, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-143, 1, 0, 0,122, 2, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 2, 0, 0,101, 0, 0, 0, 24, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 24, 1, 0, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0,
-124, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 1, 0, 0, 24, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,124, 2, 0, 0, 93, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0,126, 2, 0, 0,
-124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 0, 0, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-126, 2, 0, 0,125, 2, 0, 0,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 1, 0, 0, 41, 0, 0, 0, 25, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 25, 1, 0, 0,126, 2, 0, 0,145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,
-145, 1, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 2, 0, 0, 25, 1, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,144, 1, 0, 0,161, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0, 9, 1, 0, 0,
-144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 0, 0, 0,144, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 9, 1, 0, 0,125, 2, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 2, 0, 0,100, 0, 0, 0, 23, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 23, 1, 0, 0,143, 1, 0, 0,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,
-127, 2, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0, 23, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,127, 2, 0, 0,160, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,129, 2, 0, 0,
-127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 0, 0, 0,127, 2, 0, 0,129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-129, 2, 0, 0,128, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 9, 0, 0, 0, 22, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 22, 1, 0, 0,129, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 0, 0, 0,
- 2, 1, 0, 0,129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 2, 0, 0, 22, 1, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 3, 1, 0, 0, 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,142, 1, 0, 0,
- 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-142, 1, 0, 0,128, 2, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 65, 84, 65, 0,220, 0, 0,120,118,185, 3,
- 65, 0, 0, 0, 0, 5, 0, 0,166,222,110, 63, 9,205, 55, 63,212,132,105, 63,201,236, 65, 63,218,153,103, 63,119,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63,118,148,108, 63,
-211,160, 44, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 36, 51,115, 63, 36, 28, 45, 63,166,222,110, 63, 9,205, 55, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63,218,153,103, 63,119,155, 54, 63, 87, 17,102, 63,
-229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63,
- 87, 17,102, 63,229, 52, 43, 63,218,153,103, 63,119,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63, 9, 75, 97, 63, 92,233, 63, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 49, 86, 60, 63, 56, 81, 96, 63,170, 55, 52, 63,
- 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63,
- 92,233, 63, 63,218,153,103, 63,119,155, 54, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,138,153, 89, 63, 39,228, 82, 63,139,153, 89, 63,255,153, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63, 9, 75, 97, 63,
- 92,233, 63, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-212,132,105, 63,201,236, 65, 63,103,167, 98, 63,168, 39, 75, 63, 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63, 92,233, 63, 63,139,153, 89, 63,255,153, 71, 63,138,153, 89, 63,
- 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63,
-138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,205,182, 95, 63,222,228, 40, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 17,102, 63,229, 52, 43, 63, 56, 81, 96, 63,170, 55, 52, 63,
-205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205,182, 95, 63,
-222,228, 40, 63,139,153, 89, 63, 79, 12, 49, 63,139,153, 89, 63, 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,212,132,105, 63,201,236, 65, 63,168, 83,109, 63,207, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63,135, 85,101, 63,
-148, 64, 88, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-138,153, 89, 63, 39,228, 82, 63,103,167, 98, 63,168, 39, 75, 63,135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,148, 64, 88, 63,168, 83,109, 63,207, 83, 78, 63, 36, 51,115, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63,
- 36, 51,115, 63, 22, 56, 90, 63,168, 83,109, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63, 36, 51,115, 63,115, 23, 67, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,162, 18,121, 63,207, 83, 78, 63,
- 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,
-115, 23, 67, 63,168, 83,109, 63,207, 83, 78, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63,163,135,119, 63, 11,205, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63, 36, 51,115, 63,
-115, 23, 67, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-212,132,105, 63,201,236, 65, 63,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,115, 23, 67, 63,163,135,119, 63, 11,205, 55, 63,116,225,124, 63,
-202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63,
-116,225,124, 63,202,236, 65, 63,113,223,129, 63,170, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,113,223,129, 63,170, 39, 75, 63, 98,136,128, 63,148, 64, 88, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63,162, 18,121, 63,207, 83, 78, 63,
- 98,136,128, 63,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95, 98,136, 59,
-148, 64, 88, 63,160,184,111, 60,170, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63,246,203, 76, 61, 53, 86, 60, 63, 31,162,194, 60,172, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,162,194, 60,172, 55, 52, 63,111,239,213, 60,
-223,228, 40, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-246,203, 76, 61, 48,200, 37, 63,243,203, 76, 61, 82, 12, 49, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63, 31,162,194, 60,172, 55, 52, 63,120,226,169, 58,
-230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,
-121, 42,128, 63,230, 52, 43, 63,136, 10,131, 63,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136, 10,131, 63,172, 55, 52, 63,160,141,130, 63, 95,233, 63, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,111,204,126, 63,121,155, 54, 63,
-160,141,130, 63, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,104,163, 60,
- 95,233, 63, 63, 31,162,194, 60,172, 55, 52, 63,246,203, 76, 61, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63,243,203, 76, 61, 41,228, 82, 63,160,184,111, 60,170, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,184,111, 60,170, 39, 75, 63, 11,104,163, 60,
- 95,233, 63, 63,244,203, 76, 61, 2,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-246,203, 76, 61, 53, 86, 60, 63,244,203, 76, 61, 2,154, 71, 63, 11,104,163, 60, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,141,130, 63, 95,233, 63, 63,113,223,129, 63,170, 39, 75, 63,116,225,124, 63,
-202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,
-116,225,124, 63,202,236, 65, 63,163,135,119, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63,210,209,121, 63,212,160, 44, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121, 42,128, 63,230, 52, 43, 63,111,204,126, 63,121,155, 54, 63,
-210,209,121, 63,212,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,209,121, 63,
-212,160, 44, 63,163,135,119, 63, 11,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 95,102,134, 63, 79, 46, 94, 63, 95,102,134, 63, 22,114,105, 63, 52,205,124, 63, 58, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 98,136,128, 63,
-148, 64, 88, 63, 95,102,134, 63, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-243,203, 76, 61, 41,228, 82, 63,234,203, 76, 61, 79, 46, 94, 63, 95, 98,136, 59,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 98,136,128, 63,148, 64, 88, 63, 52,205,124, 63, 58, 26, 99, 63, 36, 51,115, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63,
- 36, 51,115, 63, 22, 56, 90, 63, 52,205,124, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 32, 51,115, 63,212,154,109, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 19,114,105, 63, 21,153,105, 63, 58, 26, 99, 63,
- 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,
-212,154,109, 63, 52,205,124, 63, 58, 26, 99, 63, 95,102,134, 63, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 95,102,134, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,136,153, 89, 63,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 32, 51,115, 63,
-212,154,109, 63, 95,102,134, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 95,102,134, 63, 22,114,105, 63, 95,102,134, 63,242,187,116, 63, 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,212,154,109, 63,136,153, 89, 63,242,187,116, 63,138,153, 89, 63,
- 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63,
-138,153, 89, 63, 19,114,105, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,135, 85,101, 63,148, 64, 88, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63, 21,153,105, 63, 58, 26, 99, 63,
-135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,
-148, 64, 88, 63,138,153, 89, 63, 77, 46, 94, 63,138,153, 89, 63, 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63, 74,174, 73, 63,193,236, 65, 63,124, 84, 68, 63,255,204, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63,169,158, 70, 63,
-200,160, 44, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-196, 33, 77, 63,221, 52, 43, 63, 67,153, 75, 63,113,155, 54, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63,124, 84, 68, 63,255,204, 55, 63, 0, 0, 64, 63,
- 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63,
-196, 33, 77, 63,221, 52, 43, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 16,232, 81, 63, 89,233, 63, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63, 67,153, 75, 63,113,155, 54, 63,
- 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63,
- 89,233, 63, 63,225,225, 82, 63,165, 55, 52, 63,138,153, 89, 63, 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63,138,153, 89, 63, 39,228, 82, 63,179,139, 80, 63,164, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63, 16,232, 81, 63,
- 89,233, 63, 63,139,153, 89, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63,255,153, 71, 63, 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63, 89,233, 63, 63,179,139, 80, 63,164, 39, 75, 63, 74,174, 73, 63,
-193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,
-138,153, 89, 63, 49, 86, 60, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 75,124, 83, 63,217,228, 40, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63,139,153, 89, 63, 79, 12, 49, 63,
- 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,124, 83, 63,
-217,228, 40, 63,225,225, 82, 63,165, 55, 52, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63, 74,174, 73, 63,193,236, 65, 63,179,139, 80, 63,164, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63,148,221, 77, 63,
-140, 64, 88, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 12, 56, 90, 63,120,223, 69, 63,198, 83, 78, 63,148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,140, 64, 88, 63,179,139, 80, 63,164, 39, 75, 63,138,153, 89, 63,
- 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63,
- 0, 0, 64, 63, 12, 56, 90, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63, 0, 0, 64, 63,106, 23, 67, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63,120,223, 69, 63,198, 83, 78, 63,
- 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
-106, 23, 67, 63,136, 32, 58, 63,198, 83, 78, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63, 24, 28, 45, 63,124, 84, 68, 63,255,204, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63, 0, 0, 64, 63,
-106, 23, 67, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-182, 81, 54, 63,193,236, 65, 63,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,106, 23, 67, 63,124, 84, 68, 63,255,204, 55, 63, 74,174, 73, 63,
-193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,
-182, 81, 54, 63,193,236, 65, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63,108, 34, 50, 63,140, 64, 88, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 38,228, 82, 63, 77,116, 47, 63,164, 39, 75, 63,
-108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,
-140, 64, 88, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63, 78, 12, 49, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,181,131, 44, 63,
-216,228, 40, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 60,222, 50, 63,221, 52, 43, 63, 31, 30, 45, 63,165, 55, 52, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63, 78, 12, 49, 63,117,102, 38, 63,
- 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63,
- 60,222, 50, 63,221, 52, 43, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63,240, 23, 46, 63, 89,233, 63, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 50, 86, 60, 63, 31, 30, 45, 63,165, 55, 52, 63,
-240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63,
- 89,233, 63, 63,189,102, 52, 63,113,155, 54, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63,117,102, 38, 63,255,153, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,240, 23, 46, 63,
- 89,233, 63, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-182, 81, 54, 63,193,236, 65, 63, 77,116, 47, 63,164, 39, 75, 63,240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63, 89,233, 63, 63,117,102, 38, 63,255,153, 71, 63,117,102, 38, 63,
- 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63,
-182, 81, 54, 63,193,236, 65, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63, 87, 97, 57, 63,200,160, 44, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63,132,171, 59, 63,255,204, 55, 63,
- 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 97, 57, 63,
-200,160, 44, 63,189,102, 52, 63,113,155, 54, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63,118,102, 38, 63, 19,114,105, 63,118,102, 38, 63, 77, 46, 94, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,108, 34, 50, 63,
-140, 64, 88, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 12, 56, 90, 63,250,101, 54, 63, 51, 26, 99, 63,108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,140, 64, 88, 63,118,102, 38, 63, 77, 46, 94, 63,118,102, 38, 63,
- 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63,
- 0, 0, 64, 63, 12, 56, 90, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63, 0, 0, 64, 63,206,154,109, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 19,114,105, 63,250,101, 54, 63, 51, 26, 99, 63,
- 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
-206,154,109, 63, 6,154, 73, 63, 51, 26, 99, 63,138,153, 89, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,120,102, 38, 63,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 0, 0, 64, 63,
-206,154,109, 63,136,153, 89, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-138,153, 89, 63, 19,114,105, 63,136,153, 89, 63,242,187,116, 63, 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,206,154,109, 63,120,102, 38, 63,242,187,116, 63,118,102, 38, 63,
- 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,
-138,153, 89, 63, 19,114,105, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63,148,221, 77, 63,140, 64, 88, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 39,228, 82, 63,138,153, 89, 63, 77, 46, 94, 63,
-148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,
-140, 64, 88, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,170,192,229, 61,200,236, 65, 63,203,104,214, 61,120,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63,201, 61,254, 61,
-207,160, 44, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-173,153, 25, 62, 27, 28, 45, 63,167, 71, 8, 62, 7,205, 55, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,203,104,214, 61,120,155, 54, 63,175, 36,202, 61,
-228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,
-175, 36,202, 61,228, 52, 43, 63,203,104,214, 61,120,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63, 32,242,163, 61, 96,233, 63, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,203, 76, 61, 53, 86, 60, 63,145, 35,156, 61,172, 55, 52, 63,
- 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61,
- 96,233, 63, 63,203,104,214, 61,120,155, 54, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63,244,203, 76, 61, 2,154, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63, 32,242,163, 61,
- 96,233, 63, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-170,192,229, 61,200,236, 65, 63, 17,213,174, 61,171, 39, 75, 63, 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61, 96,233, 63, 63,244,203, 76, 61, 2,154, 71, 63,246,203, 76, 61,
- 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,
-246,203, 76, 61, 53, 86, 60, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63, 53, 80,151, 61,223,228, 40, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,175, 36,202, 61,228, 52, 43, 63,145, 35,156, 61,172, 55, 52, 63,
- 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 80,151, 61,
-223,228, 40, 63,243,203, 76, 61, 82, 12, 49, 63,246,203, 76, 61, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,170,192,229, 61,200,236, 65, 63,169, 27, 2, 62,204, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63, 23, 70,196, 61,
-147, 64, 88, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-243,203, 76, 61, 41,228, 82, 63, 17,213,174, 61,171, 39, 75, 63, 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,147, 64, 88, 63,169, 27, 2, 62,204, 83, 78, 63,160,153, 25, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,
-160,153, 25, 62, 14, 56, 90, 63,169, 27, 2, 62,204, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63,172,153, 25, 62,108, 23, 67, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,162, 23, 49, 62,195, 83, 78, 63,
-172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,
-108, 23, 67, 63,169, 27, 2, 62,204, 83, 78, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,173,153, 25, 62, 27, 28, 45, 63,173,235, 42, 62,254,204, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,172,153, 25, 62,
-108, 23, 67, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-170,192,229, 61,200,236, 65, 63,167, 71, 8, 62, 7,205, 55, 63,172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,108, 23, 67, 63,173,235, 42, 62,254,204, 55, 63,240, 82, 64, 62,
-183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,
-240, 82, 64, 62,183,236, 65, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 34, 16, 81, 62,131, 64, 88, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,162, 23, 49, 62,195, 83, 78, 63,
- 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,
-131, 64, 88, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 62, 19, 86, 60, 63, 92, 33,101, 62,146, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 14,139,103, 62,
-199,228, 40, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 62, 47, 12, 49, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63, 92, 33,101, 62,146, 55, 52, 63,230, 32, 78, 62,
-211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,
-230, 32, 78, 62,211, 52, 43, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 23, 58, 97, 62, 69,233, 63, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,223,254, 71, 62,102,155, 54, 63,
- 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62,
- 69,233, 63, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 62, 13,228, 82, 63,166,200, 91, 62,147, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 23, 58, 97, 62,
- 69,233, 63, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62,228,153, 71, 63, 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62, 69,233, 63, 63,166,200, 91, 62,147, 39, 75, 63,240, 82, 64, 62,
-183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,
-240, 82, 64, 62,183,236, 65, 63,173,235, 42, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,105, 20, 52, 62,198,160, 44, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 32, 78, 62,211, 52, 43, 63,223,254, 71, 62,102,155, 54, 63,
-105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,105, 20, 52, 62,
-198,160, 44, 63,173,235, 42, 62,254,204, 55, 63,173,153, 25, 62, 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 62, 8,114,105, 63,230, 1, 64, 62, 49, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63, 34, 16, 81, 62,
-131, 64, 88, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62, 58, 46, 94, 63, 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,131, 64, 88, 63,230, 1, 64, 62, 49, 26, 99, 63,160,153, 25, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,
-160,153, 25, 62, 14, 56, 90, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63,159,153, 25, 62,210,154,109, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237,203, 76, 61, 22,114,105, 63,164, 98,230, 61, 58, 26, 99, 63,
-159,153, 25, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,
-210,154,109, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 95,102,134, 63,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,203, 76, 61,242,187,116, 63,159,153, 25, 62,
-210,154,109, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62,232,187,116, 63,159,153, 25, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,210,154,109, 63,210,203, 76, 61,242,187,116, 63,237,203, 76, 61,
- 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,
-237,203, 76, 61, 22,114,105, 63,234,203, 76, 61, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,234,203, 76, 61, 79, 46, 94, 63, 23, 70,196, 61,147, 64, 88, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,164, 98,230, 61, 58, 26, 99, 63,
- 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,
-147, 64, 88, 63,234,203, 76, 61, 79, 46, 94, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63,136,214,159, 62,183,236, 65, 63,145, 0,156, 62,102,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,204,245,165, 62,
-198,160, 44, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 42, 51,179, 62, 28, 28, 45, 63, 42,138,170, 62,254,204, 55, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,145, 0,156, 62,102,155, 54, 63,141,239,152, 62,
-211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63,
-141,239,152, 62,211, 52, 43, 63,145, 0,156, 62,102,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,245, 98,143, 62, 68,233, 63, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 19, 86, 60, 63, 82,111,141, 62,146, 55, 52, 63,
-245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62,
- 68,233, 63, 63,145, 0,156, 62,102,155, 54, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62,228,153, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63,245, 98,143, 62,
- 68,233, 63, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-136,214,159, 62,183,236, 65, 63,173, 27,146, 62,147, 39, 75, 63,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 62,
- 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63,
- 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63,121, 58,140, 62,199,228, 40, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,141,239,152, 62,211, 52, 43, 63, 82,111,141, 62,146, 55, 52, 63,
-121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121, 58,140, 62,
-199,228, 40, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63,136,214,159, 62,183,236, 65, 63, 47,116,167, 62,195, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63,239,119,151, 62,
-131, 64, 88, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 13,228, 82, 63,173, 27,146, 62,147, 39, 75, 63,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,131, 64, 88, 63, 47,116,167, 62,195, 83, 78, 63, 49, 51,179, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63,
- 49, 51,179, 62, 14, 56, 90, 63, 47,116,167, 62,195, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63, 42, 51,179, 62,108, 23, 67, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63, 44,242,190, 62,205, 83, 78, 63,
- 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,
-108, 23, 67, 63, 47,116,167, 62,195, 83, 78, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 45,220,187, 62, 7,205, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63, 42, 51,179, 62,
-108, 23, 67, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-136,214,159, 62,183,236, 65, 63, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,108, 23, 67, 63, 45,220,187, 62, 7,205, 55, 63,214,143,198, 62,
-200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63,
-214,143,198, 62,200,236, 65, 63,188, 74,212, 62,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,122,238,206, 62,147, 64, 88, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 44,242,190, 62,205, 83, 78, 63,
-122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,
-147, 64, 88, 63,188, 74,212, 62,171, 39, 75, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63,129,102,230, 62, 53, 86, 60, 63, 28,247,216, 62,172, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,243, 43,218, 62,
-223,228, 40, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-129,102,230, 62, 48,200, 37, 63,130,102,230, 62, 82, 12, 49, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63, 28,247,216, 62,172, 55, 52, 63,212,118,205, 62,
-228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,
-212,118,205, 62,228, 52, 43, 63, 28,247,216, 62,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,120, 3,215, 62, 95,233, 63, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63,206,101,202, 62,120,155, 54, 63,
-120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62,
- 95,233, 63, 63, 28,247,216, 62,172, 55, 52, 63,129,102,230, 62, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,130,102,230, 62, 41,228, 82, 63,188, 74,212, 62,171, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,120, 3,215, 62,
- 95,233, 63, 63,130,102,230, 62, 1,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 1,154, 71, 63,120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62, 95,233, 63, 63,188, 74,212, 62,171, 39, 75, 63,214,143,198, 62,
-200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,
-214,143,198, 62,200,236, 65, 63, 45,220,187, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63,142,112,192, 62,207,160, 44, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,118,205, 62,228, 52, 43, 63,206,101,202, 62,120,155, 54, 63,
-142,112,192, 62,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,112,192, 62,
-207,160, 44, 63, 45,220,187, 62, 7,205, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,131,102,230, 62, 22,114,105, 63, 87,103,198, 62, 58, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63,122,238,206, 62,
-147, 64, 88, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-130,102,230, 62, 41,228, 82, 63,131,102,230, 62, 79, 46, 94, 63,122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,147, 64, 88, 63, 87,103,198, 62, 58, 26, 99, 63, 49, 51,179, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63,
- 49, 51,179, 62, 14, 56, 90, 63, 87,103,198, 62, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63, 49, 51,179, 62,210,154,109, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 8,114,105, 63, 14,255,159, 62, 49, 26, 99, 63,
- 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,
-210,154,109, 63, 87,103,198, 62, 58, 26, 99, 63,131,102,230, 62, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,134,102,230, 62,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 0, 0,128, 62,232,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 49, 51,179, 62,
-210,154,109, 63,134,102,230, 62,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-131,102,230, 62, 22,114,105, 63,134,102,230, 62,242,187,116, 63, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 62,
- 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63,
- 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63,239,119,151, 62,131, 64, 88, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 14,255,159, 62, 49, 26, 99, 63,
-239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,
-131, 64, 88, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,140, 30, 3, 63,201,236, 65, 63,145, 51, 1, 63,121,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63, 46, 46, 6, 63,
-211,160, 44, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-220,204, 12, 63, 35, 28, 45, 63, 93,120, 8, 63, 11,205, 55, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63,145, 51, 1, 63,121,155, 54, 63, 30, 86,255, 62,
-230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63,
- 30, 86,255, 62,230, 52, 43, 63,145, 51, 1, 63,121,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63,128,201,245, 62, 94,233, 63, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129,102,230, 62, 53, 86, 60, 63,222,213,243, 62,172, 55, 52, 63,
-128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62,
- 94,233, 63, 63,145, 51, 1, 63,121,155, 54, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,130,102,230, 62, 41,228, 82, 63,130,102,230, 62, 1,154, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,128,201,245, 62,
- 94,233, 63, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-140, 30, 3, 63,201,236, 65, 63, 59,130,248, 62,169, 39, 75, 63,128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62, 94,233, 63, 63,130,102,230, 62, 1,154, 71, 63,129,102,230, 62,
- 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63,
-129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63, 9,161,242, 62,223,228, 40, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 86,255, 62,230, 52, 43, 63,222,213,243, 62,172, 55, 52, 63,
- 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9,161,242, 62,
-223,228, 40, 63,130,102,230, 62, 82, 12, 49, 63,129,102,230, 62, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,140, 30, 3, 63,201,236, 65, 63, 94,237, 6, 63,207, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,118,222,253, 62,
-148, 64, 88, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-130,102,230, 62, 41,228, 82, 63, 59,130,248, 62,169, 39, 75, 63,118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,148, 64, 88, 63, 94,237, 6, 63,207, 83, 78, 63,220,204, 12, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63,
-220,204, 12, 63, 22, 56, 90, 63, 94,237, 6, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,220,204, 12, 63,115, 23, 67, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 88,172, 18, 63,207, 83, 78, 63,
-220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,
-115, 23, 67, 63, 94,237, 6, 63,207, 83, 78, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 91, 33, 17, 63, 9,205, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,220,204, 12, 63,
-115, 23, 67, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-140, 30, 3, 63,201,236, 65, 63, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,115, 23, 67, 63, 91, 33, 17, 63, 9,205, 55, 63, 44,123, 22, 63,
-201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63,
- 44,123, 22, 63,201,236, 65, 63,153, 88, 29, 63,167, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,121,170, 26, 63,147, 64, 88, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63, 88,172, 18, 63,207, 83, 78, 63,
-121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,
-147, 64, 88, 63,153, 88, 29, 63,167, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,117,102, 38, 63, 50, 86, 60, 63,200,174, 31, 63,169, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63, 51, 73, 32, 63,
-221,228, 40, 63,117,102, 38, 63, 78, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-117,102, 38, 63, 45,200, 37, 63,117,102, 38, 63, 78, 12, 49, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,200,174, 31, 63,169, 55, 52, 63,169,238, 25, 63,
-229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63,
-169,238, 25, 63,229, 52, 43, 63,200,174, 31, 63,169, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63,246,180, 30, 63, 92,233, 63, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 39,102, 24, 63,119,155, 54, 63,
-246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63,
- 92,233, 63, 63,200,174, 31, 63,169, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,118,102, 38, 63, 38,228, 82, 63,153, 88, 29, 63,167, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,246,180, 30, 63,
- 92,233, 63, 63,117,102, 38, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63,255,153, 71, 63,246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63, 92,233, 63, 63,153, 88, 29, 63,167, 39, 75, 63, 44,123, 22, 63,
-201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63,
- 44,123, 22, 63,201,236, 65, 63, 91, 33, 17, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,138,107, 19, 63,211,160, 44, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,238, 25, 63,229, 52, 43, 63, 39,102, 24, 63,119,155, 54, 63,
-138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,107, 19, 63,
-211,160, 44, 63, 91, 33, 17, 63, 9,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,118,102, 38, 63, 19,114,105, 63,235,102, 22, 63, 59, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,121,170, 26, 63,
-147, 64, 88, 63,118,102, 38, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-118,102, 38, 63, 38,228, 82, 63,118,102, 38, 63, 77, 46, 94, 63,121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,147, 64, 88, 63,235,102, 22, 63, 59, 26, 99, 63,220,204, 12, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,
-220,204, 12, 63, 22, 56, 90, 63,235,102, 22, 63, 59, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,224,204, 12, 63,212,154,109, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,102,230, 62, 22,114,105, 63,204, 50, 3, 63, 58, 26, 99, 63,
-224,204, 12, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,
-212,154,109, 63,235,102, 22, 63, 59, 26, 99, 63,118,102, 38, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,134,102,230, 62,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134,102,230, 62,242,187,116, 63,224,204, 12, 63,
-212,154,109, 63,120,102, 38, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-118,102, 38, 63, 19,114,105, 63,120,102, 38, 63,242,187,116, 63,224,204, 12, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,212,154,109, 63,134,102,230, 62,242,187,116, 63,131,102,230, 62,
- 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,
-131,102,230, 62, 22,114,105, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,118,222,253, 62,148, 64, 88, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63,204, 50, 3, 63, 58, 26, 99, 63,
-118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,
-148, 64, 88, 63,131,102,230, 62, 79, 46, 94, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63,176,235, 70, 63,226,209, 22, 63, 80,234, 73, 63,146,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 1,200, 79, 63,
- 94,152, 9, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 19,215, 82, 63,252, 29, 19, 63,213,233, 76, 63, 35, 48, 21, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 80,234, 73, 63,146,111, 11, 63,193,204, 76, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63,
- 19,215, 82, 63,252, 29, 19, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,164,219, 73, 63,173, 23, 33, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63,213,233, 76, 63, 35, 48, 21, 63,
-164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,
-173, 23, 33, 63,220, 41, 80, 63,105, 60, 31, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63, 0, 0, 64, 63, 24, 28, 45, 63, 5,171, 67, 63,216, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,164,219, 73, 63,
-173, 23, 33, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-196, 33, 77, 63,221, 52, 43, 63,169,158, 70, 63,200,160, 44, 63,164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,173, 23, 33, 63, 5,171, 67, 63,216, 17, 34, 63,176,235, 70, 63,
-226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,124, 83, 63,217,228, 40, 63,
-196, 33, 77, 63,221, 52, 43, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,218, 20, 86, 63,143,140, 28, 63, 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63, 75,124, 83, 63,217,228, 40, 63,
-218, 20, 86, 63,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,
-143,140, 28, 63,220, 41, 80, 63,105, 60, 31, 63, 19,215, 82, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63,176,235, 70, 63,226,209, 22, 63, 5,171, 67, 63,216, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,251, 84, 60, 63,
-216, 17, 34, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 80, 20, 57, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63,251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,216, 17, 34, 63, 5,171, 67, 63,216, 17, 34, 63, 0, 0, 64, 63,
- 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63,
- 80, 20, 57, 63,226,209, 22, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63,
- 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63,
- 96,116, 11, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63,193,204, 76, 63, 0, 0, 0, 63, 80,234, 73, 63,146,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 87, 99, 67, 63,
- 96,116, 11, 63, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63, 96,116, 11, 63, 80,234, 73, 63,146,111, 11, 63,176,235, 70, 63,
-226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63,
- 0, 0, 64, 63, 0, 0, 0, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63,176, 21, 54, 63,146,111, 11, 63,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63, 51, 51, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,
-176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,
-146,111, 11, 63,169,156, 60, 63, 96,116, 11, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,144, 61, 57, 63, 19,196,217, 62, 85,123, 60, 63,253,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,171,132, 67, 63,
-253,230,198, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-112,194, 70, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 85,123, 60, 63,253,230,198, 62, 0, 0, 64, 63,
-211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,
-112,194, 70, 63, 19,196,217, 62,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,131,171, 60, 63, 42,211,236, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,144, 61, 57, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,
-131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63,
- 42,211,236, 62,125, 84, 67, 63, 42,211,236, 62, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63, 63, 51, 51, 63, 0, 0, 0, 63,128, 46, 54, 63, 75,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62,131,171, 60, 63,
- 42,211,236, 62,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63, 42,211,236, 62,128, 46, 54, 63, 75,207,236, 62,144, 61, 57, 63,
- 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63,
- 0, 0, 64, 63, 0, 0, 0, 63,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,128,209, 73, 63, 75,207,236, 62, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204, 76, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63,
-128,209, 73, 63, 75,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63,
- 75,207,236, 62,125, 84, 67, 63, 42,211,236, 62,112,194, 70, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63,237, 40, 45, 63,252, 29, 19, 63,255, 55, 48, 63, 94,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,176, 21, 54, 63,
-146,111, 11, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 80, 20, 57, 63,226,209, 22, 63, 43, 22, 51, 63, 35, 48, 21, 63,176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,146,111, 11, 63,255, 55, 48, 63, 94,152, 9, 63, 63, 51, 51, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63,
- 80, 20, 57, 63,226,209, 22, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63, 36,214, 47, 63,105, 60, 31, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40, 45, 63,252, 29, 19, 63, 43, 22, 51, 63, 35, 48, 21, 63,
- 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,
-105, 60, 31, 63, 91, 36, 54, 63,173, 23, 33, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63, 45,200, 37, 63, 38,235, 41, 63,141,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63, 36,214, 47, 63,
-105, 60, 31, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 60,222, 50, 63,221, 52, 43, 63,181,131, 44, 63,216,228, 40, 63, 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,105, 60, 31, 63, 38,235, 41, 63,141,140, 28, 63,237, 40, 45, 63,
-252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 97, 57, 63,200,160, 44, 63,
- 60,222, 50, 63,221, 52, 43, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63,251, 84, 60, 63,216, 17, 34, 63, 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63, 87, 97, 57, 63,200,160, 44, 63,
-251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,
-216, 17, 34, 63, 91, 36, 54, 63,173, 23, 33, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,134, 14,128, 63, 39, 48, 21, 63,227, 30,122, 63,233,209, 22, 63,138, 29,125, 63,150,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,159,125,129, 63,
- 94,152, 9, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-174, 73,193, 60,253, 29, 19, 63,209, 92,232, 57, 39, 48, 21, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,125,129, 63, 94,152, 9, 63,138, 29,125, 63,150,111, 11, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,209, 92,232, 57, 39, 48, 21, 63,
-174, 73,193, 60,253, 29, 19, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136,174,129, 63,110, 60, 31, 63,213, 14,125, 63,180, 23, 33, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63,134, 14,128, 63, 39, 48, 21, 63,
-213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,
-180, 23, 33, 63,136,174,129, 63,110, 60, 31, 63,121, 42,128, 63,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,210,209,121, 63,212,160, 44, 63, 36, 51,115, 63, 36, 28, 45, 63, 49,222,118, 63,226, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63,213, 14,125, 63,
-180, 23, 33, 63,210,209,121, 63,212,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-121, 42,128, 63,230, 52, 43, 63,210,209,121, 63,212,160, 44, 63,213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,180, 23, 33, 63, 49,222,118, 63,226, 17, 34, 63,227, 30,122, 63,
-233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63,
-120,226,169, 58,230, 52, 43, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,214, 67, 87, 60,110, 60, 31, 63, 13,129, 20, 61,143,140, 28, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,203, 76, 61, 48,200, 37, 63,111,239,213, 60,223,228, 40, 63,
- 13,129, 20, 61,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,
-143,140, 28, 63,214, 67, 87, 60,110, 60, 31, 63,174, 73,193, 60,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,227, 30,122, 63,233,209, 22, 63, 49,222,118, 63,226, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63, 31,136,111, 63,
-225, 17, 34, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-116, 71,108, 63,232,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63, 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,225, 17, 34, 63, 49,222,118, 63,226, 17, 34, 63, 36, 51,115, 63,
- 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,
-116, 71,108, 63,232,209, 22, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,138,150,118, 63,101,116, 11, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63,
-138,150,118, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,
-101,116, 11, 63,213,207,111, 63,100,116, 11, 63, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,138, 29,125, 63,150,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,138,150,118, 63,
-101,116, 11, 63,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 51, 51,115, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,138,150,118, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,101,116, 11, 63,138, 29,125, 63,150,111, 11, 63,227, 30,122, 63,
-233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63,
- 51, 51,115, 63, 0, 0, 0, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,213, 72,105, 63,149,111, 11, 63,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,102,102, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,
-213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,
-149,111, 11, 63,213,207,111, 63,100,116, 11, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,192,112,108, 63, 4,196,217, 62,139,174,111, 63,223,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,239,183,118, 63,
-227,230,198, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-179,245,121, 63, 6,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,139,174,111, 63,223,230,198, 62, 65, 51,115, 63,
-160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,
-179,245,121, 63, 6,196,217, 62,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,180,222,111, 63, 30,211,236, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,112,108, 63, 4,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,
-180,222,111, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63,
- 30,211,236, 62,185,135,118, 63, 30,211,236, 62, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63,101,102,102, 63, 0, 0, 0, 63,170, 97,105, 63, 65,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,180,222,111, 63,
- 30,211,236, 62,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 51, 51,115, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,180,222,111, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63, 30,211,236, 62,170, 97,105, 63, 65,207,236, 62,192,112,108, 63,
- 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63,
- 51, 51,115, 63, 0, 0, 0, 63,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,194, 4,125, 63, 67,207,236, 62,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,
-194, 4,125, 63, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63,
- 67,207,236, 62,185,135,118, 63, 30,211,236, 62,179,245,121, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63, 11, 92, 96, 63,253, 29, 19, 63, 33,107, 99, 63, 94,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63,213, 72,105, 63,
-149,111, 11, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-116, 71,108, 63,232,209, 22, 63, 76, 73,102, 63, 38, 48, 21, 63,213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,149,111, 11, 63, 33,107, 99, 63, 94,152, 9, 63,101,102,102, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63,
-116, 71,108, 63,232,209, 22, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 65, 9, 99, 63,109, 60, 31, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11, 92, 96, 63,253, 29, 19, 63, 76, 73,102, 63, 38, 48, 21, 63,
- 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,
-109, 60, 31, 63,124, 87,105, 63,180, 23, 33, 63, 87, 17,102, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,205,182, 95, 63,222,228, 40, 63,139,153, 89, 63, 45,200, 37, 63, 63, 30, 93, 63,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63, 65, 9, 99, 63,
-109, 60, 31, 63,205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 87, 17,102, 63,229, 52, 43, 63,205,182, 95, 63,222,228, 40, 63, 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,109, 60, 31, 63, 63, 30, 93, 63,143,140, 28, 63, 11, 92, 96, 63,
-253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63,
- 87, 17,102, 63,229, 52, 43, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 31,136,111, 63,225, 17, 34, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63, 36, 28, 45, 63,118,148,108, 63,211,160, 44, 63,
- 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,
-225, 17, 34, 63,124, 87,105, 63,180, 23, 33, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63,152, 72, 53, 62,229,209, 22, 63, 47, 67, 65, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63,255,185, 88, 62,
- 90,152, 9, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 64,246,100, 62,246, 29, 19, 63, 65, 65, 77, 62, 32, 48, 21, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63, 47, 67, 65, 62,147,111, 11, 63,254,204, 76, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63,
- 64,246,100, 62,246, 29, 19, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63,107, 8, 65, 62,170, 23, 33, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63, 65, 65, 77, 62, 32, 48, 21, 63,
-107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,
-170, 23, 33, 63, 89, 65, 90, 62, 94, 60, 31, 63,230, 32, 78, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,105, 20, 52, 62,198,160, 44, 63,173,153, 25, 62, 27, 28, 45, 63,216, 69, 40, 62,220, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,107, 8, 65, 62,
-170, 23, 33, 63,105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-230, 32, 78, 62,211, 52, 43, 63,105, 20, 52, 62,198,160, 44, 63,107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,170, 23, 33, 63,216, 69, 40, 62,220, 17, 34, 63,152, 72, 53, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63,
-230, 32, 78, 62,211, 52, 43, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63, 83,237,113, 62,130,140, 28, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 23,200, 37, 63, 14,139,103, 62,199,228, 40, 63,
- 83,237,113, 62,130,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,
-130,140, 28, 63, 89, 65, 90, 62, 94, 60, 31, 63, 64,246,100, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,152, 72, 53, 62,229,209, 22, 63,216, 69, 40, 62,220, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,133,237, 10, 62,
-219, 17, 34, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-147,213,251, 61,228,209, 22, 63,180,153, 25, 62,185, 32, 23, 63,133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,219, 17, 34, 63,216, 69, 40, 62,220, 17, 34, 63,173,153, 25, 62,
- 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,
-147,213,251, 61,228,209, 22, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63, 34, 39, 39, 62, 98,116, 11, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63,180,153, 25, 62,185, 32, 23, 63,
- 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62,
- 98,116, 11, 63, 67, 12, 12, 62, 98,116, 11, 63,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,254,204, 76, 62, 0, 0, 0, 63, 47, 67, 65, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63, 34, 39, 39, 62,
- 98,116, 11, 63, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-181,153, 25, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63, 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62, 98,116, 11, 63, 47, 67, 65, 62,147,111, 11, 63,152, 72, 53, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,
-181,153, 25, 62, 0, 0, 0, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63,109,224,227, 61,147,111, 11, 63, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204,204, 61, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,
-109,224,227, 61,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,
-147,111, 11, 63, 67, 12, 12, 62, 98,116, 11, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,171, 31,253, 61, 6,196,217, 62, 1,135, 11, 62,228,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,153,172, 39, 62,
-230,230,198, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-179,163, 52, 62, 7,196,217, 62,196,153, 25, 62, 73, 58,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62, 1,135, 11, 62,228,230,198, 62,214,153, 25, 62,
-165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,
-179,163, 52, 62, 7,196,217, 62,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,173, 71, 12, 62, 31,211,236, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171, 31,253, 61, 6,196,217, 62,196,153, 25, 62, 73, 58,217, 62,
-173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62,
- 31,211,236, 62,202,235, 38, 62, 33,211,236, 62,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,215,204,204, 61, 0, 0, 0, 63,251,166,228, 61, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,173, 71, 12, 62,
- 31,211,236, 62, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-181,153, 25, 62, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62, 31,211,236, 62,251,166,228, 61, 67,207,236, 62,171, 31,253, 61,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,
-181,153, 25, 62, 0, 0, 0, 63,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,251,223, 64, 62, 67,207,236, 62, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,204, 76, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63,
-251,223, 64, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62,
- 67,207,236, 62,202,235, 38, 62, 33,211,236, 62,179,163, 52, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63, 1,122,156, 61,254, 29, 19, 63,172,242,180, 61, 96,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63,109,224,227, 61,
-147,111, 11, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-147,213,251, 61,228,209, 22, 63, 42,228,203, 61, 37, 48, 21, 63,109,224,227, 61,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,147,111, 11, 63,172,242,180, 61, 96,152, 9, 63,215,204,204, 61,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63,
-147,213,251, 61,228,209, 22, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,212,227,177, 61,110, 60, 31, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,122,156, 61,254, 29, 19, 63, 42,228,203, 61, 37, 48, 21, 63,
-212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,
-110, 60, 31, 63,208, 85,228, 61,179, 23, 33, 63,175, 36,202, 61,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 53, 80,151, 61,223,228, 40, 63,246,203, 76, 61, 48,200, 37, 63,166,139,130, 61,145,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,212,227,177, 61,
-110, 60, 31, 63, 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-175, 36,202, 61,228, 52, 43, 63, 53, 80,151, 61,223,228, 40, 63,212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,110, 60, 31, 63,166,139,130, 61,145,140, 28, 63, 1,122,156, 61,
-254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,
-175, 36,202, 61,228, 52, 43, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,133,237, 10, 62,219, 17, 34, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,153, 25, 62, 27, 28, 45, 63,201, 61,254, 61,207,160, 44, 63,
-133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,
-219, 17, 34, 63,208, 85,228, 61,179, 23, 33, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,155, 10,193, 62,229,209, 22, 63,229, 7,199, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63, 85,195,210, 62,
- 96,152, 9, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-128,225,216, 62,254, 29, 19, 63,245, 6,205, 62, 37, 48, 21, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,229, 7,199, 62,147,111, 11, 63,202,204,204, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,
-128,225,216, 62,254, 29, 19, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63,140,234,198, 62,179, 23, 33, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63,245, 6,205, 62, 37, 48, 21, 63,
-140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,
-179, 23, 33, 63, 11,135,211, 62,110, 60, 31, 63,212,118,205, 62,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,142,112,192, 62,207,160, 44, 63, 42, 51,179, 62, 28, 28, 45, 63, 61,137,186, 62,219, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63,140,234,198, 62,
-179, 23, 33, 63,142,112,192, 62,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-212,118,205, 62,228, 52, 43, 63,142,112,192, 62,207,160, 44, 63,140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,179, 23, 33, 63, 61,137,186, 62,219, 17, 34, 63,155, 10,193, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63,
-212,118,205, 62,228, 52, 43, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63, 22, 93,223, 62,145,140, 28, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129,102,230, 62, 48,200, 37, 63,243, 43,218, 62,223,228, 40, 63,
- 22, 93,223, 62,145,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,
-145,140, 28, 63, 11,135,211, 62,110, 60, 31, 63,128,225,216, 62,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,155, 10,193, 62,229,209, 22, 63, 61,137,186, 62,219, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63, 20,221,171, 62,
-219, 17, 34, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-180, 91,165, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63, 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,219, 17, 34, 63, 61,137,186, 62,219, 17, 34, 63, 42, 51,179, 62,
- 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,
-180, 91,165, 62,229,209, 22, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,222,249,185, 62, 98,116, 11, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63,
-222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62,
- 98,116, 11, 63,111,108,172, 62, 98,116, 11, 63, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63,202,204,204, 62, 0, 0, 0, 63,229, 7,199, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63,222,249,185, 62,
- 98,116, 11, 63,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 38, 51,179, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63,222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62, 98,116, 11, 63,229, 7,199, 62,147,111, 11, 63,155, 10,193, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63,
- 38, 51,179, 62, 0, 0, 0, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,104, 94,159, 62,147,111, 11, 63, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129,153,153, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63,
-104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,
-147,111, 11, 63,111,108,172, 62, 98,116, 11, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62, 39,174,165, 62, 7,196,217, 62,180, 41,172, 62,227,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62,127, 60,186, 62,
-225,230,198, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21,184,192, 62, 6,196,217, 62, 30, 51,179, 62, 73, 58,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,180, 41,172, 62,227,230,198, 62, 21, 51,179, 62,
-165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62,
- 21,184,192, 62, 6,196,217, 62, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 27,138,172, 62, 33,211,236, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 39,174,165, 62, 7,196,217, 62, 30, 51,179, 62, 73, 58,217, 62,
- 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62,
- 33,211,236, 62, 42,220,185, 62, 31,211,236, 62, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63,129,153,153, 62, 0, 0, 0, 63, 3,144,159, 62, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62, 27,138,172, 62,
- 33,211,236, 62, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 38, 51,179, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63, 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62, 33,211,236, 62, 3,144,159, 62, 67,207,236, 62, 39,174,165, 62,
- 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63,
- 38, 51,179, 62, 0, 0, 0, 63, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 65,214,198, 62, 67,207,236, 62,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,204,204, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63,
- 65,214,198, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62,
- 67,207,236, 62, 42,220,185, 62, 31,211,236, 62, 21,184,192, 62, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,224,132,141, 62,246, 29, 19, 63, 1,163,147, 62, 91,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,104, 94,159, 62,
-147,111, 11, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-180, 91,165, 62,229,209, 22, 63, 95, 95,153, 62, 32, 48, 21, 63,104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,147,111, 11, 63, 1,163,147, 62, 91,152, 9, 63,129,153,153, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,
-180, 91,165, 62,229,209, 22, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 84,223,146, 62, 94, 60, 31, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,132,141, 62,246, 29, 19, 63, 95, 95,153, 62, 32, 48, 21, 63,
- 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62,
- 94, 60, 31, 63,203,123,159, 62,170, 23, 33, 63,141,239,152, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 62, 23,200, 37, 63, 86, 9,135, 62,130,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 84,223,146, 62,
- 94, 60, 31, 63,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-141,239,152, 62,211, 52, 43, 63,121, 58,140, 62,199,228, 40, 63, 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62, 94, 60, 31, 63, 86, 9,135, 62,130,140, 28, 63,224,132,141, 62,
-246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,
-141,239,152, 62,211, 52, 43, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 20,221,171, 62,219, 17, 34, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62, 28, 28, 45, 63,204,245,165, 62,198,160, 44, 63,
- 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,
-219, 17, 34, 63,203,123,159, 62,170, 23, 33, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,140,184, 19, 63,232,209, 22, 63, 43,183, 22, 63,149,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63,223,148, 28, 63,
- 94,152, 9, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-245,163, 31, 63,253, 29, 19, 63,180,182, 25, 63, 38, 48, 21, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 43,183, 22, 63,149,111, 11, 63,155,153, 25, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,
-245,163, 31, 63,253, 29, 19, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,132,168, 22, 63,180, 23, 33, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,180,182, 25, 63, 38, 48, 21, 63,
-132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,
-180, 23, 33, 63,191,246, 28, 63,109, 60, 31, 63,169,238, 25, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,138,107, 19, 63,211,160, 44, 63,220,204, 12, 63, 35, 28, 45, 63,225,119, 16, 63,225, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,132,168, 22, 63,
-180, 23, 33, 63,138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-169,238, 25, 63,229, 52, 43, 63,138,107, 19, 63,211,160, 44, 63,132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,180, 23, 33, 63,225,119, 16, 63,225, 17, 34, 63,140,184, 19, 63,
-232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,
-169,238, 25, 63,229, 52, 43, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,192,225, 34, 63,142,140, 28, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 45,200, 37, 63, 51, 73, 32, 63,221,228, 40, 63,
-192,225, 34, 63,142,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,
-142,140, 28, 63,191,246, 28, 63,109, 60, 31, 63,245,163, 31, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63,140,184, 19, 63,232,209, 22, 63,225,119, 16, 63,225, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,207, 33, 9, 63,
-226, 17, 34, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 29,225, 5, 63,233,209, 22, 63,212,204, 12, 63,188, 32, 23, 63,207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,226, 17, 34, 63,225,119, 16, 63,225, 17, 34, 63,220,204, 12, 63,
- 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63,
- 29,225, 5, 63,233,209, 22, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63, 43, 48, 16, 63,100,116, 11, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,212,204, 12, 63,188, 32, 23, 63,
- 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,
-100,116, 11, 63,118,105, 9, 63,101,116, 11, 63,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,155,153, 25, 63, 0, 0, 0, 63, 43,183, 22, 63,149,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63, 43, 48, 16, 63,
-100,116, 11, 63, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-205,204, 12, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63, 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,100,116, 11, 63, 43,183, 22, 63,149,111, 11, 63,140,184, 19, 63,
-232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63,
-205,204, 12, 63, 0, 0, 0, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63,118,226, 2, 63,149,111, 11, 63,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63,
-118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,
-149,111, 11, 63,118,105, 9, 63,101,116, 11, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62, 77, 10, 6, 63, 6,196,217, 62, 17, 72, 9, 63,227,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62,117, 81, 16, 63,
-223,230,198, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 64,143, 19, 63, 4,196,217, 62,198,204, 12, 63, 72, 58,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 17, 72, 9, 63,227,230,198, 62,191,204, 12, 63,
-160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62,
- 64,143, 19, 63, 4,196,217, 62, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 71,120, 9, 63, 30,211,236, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 77, 10, 6, 63, 6,196,217, 62,198,204, 12, 63, 72, 58,217, 62,
- 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63,
- 30,211,236, 62, 76, 33, 16, 63, 30,211,236, 62,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 62,251, 2, 63, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 71,120, 9, 63,
- 30,211,236, 62,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-205,204, 12, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63, 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63, 30,211,236, 62, 62,251, 2, 63, 67,207,236, 62, 77, 10, 6, 63,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,
-205,204, 12, 63, 0, 0, 0, 63, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 86,158, 22, 63, 65,207,236, 62, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,155,153, 25, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63,
- 86,158, 22, 63, 65,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63,
- 65,207,236, 62, 76, 33, 16, 63, 30,211,236, 62, 64,143, 19, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63,101,235,243, 62,252, 29, 19, 63,132, 9,250, 62, 94,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,118,226, 2, 63,
-149,111, 11, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 29,225, 5, 63,233,209, 22, 63,233,197,255, 62, 39, 48, 21, 63,118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,149,111, 11, 63,132, 9,250, 62, 94,152, 9, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63,
- 29,225, 5, 63,233,209, 22, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,225, 69,249, 62,110, 60, 31, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,235,243, 62,252, 29, 19, 63,233,197,255, 62, 39, 48, 21, 63,
-225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,
-110, 60, 31, 63, 43,241, 2, 63,181, 23, 33, 63, 30, 86,255, 62,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 9,161,242, 62,223,228, 40, 63,129,102,230, 62, 48,200, 37, 63,222,111,237, 62,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,225, 69,249, 62,
-110, 60, 31, 63, 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 30, 86,255, 62,230, 52, 43, 63, 9,161,242, 62,223,228, 40, 63,225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,110, 60, 31, 63,222,111,237, 62,143,140, 28, 63,101,235,243, 62,
-252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63,
- 30, 86,255, 62,230, 52, 43, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,207, 33, 9, 63,226, 17, 34, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63, 35, 28, 45, 63, 46, 46, 6, 63,211,160, 44, 63,
-207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,
-226, 17, 34, 63, 43,241, 2, 63,181, 23, 33, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,218,173, 82, 63, 55, 92,210, 62,229,189, 79, 63,173,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,230,250, 82, 63,
-117,190,166, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-149,153, 89, 63,201,199,165, 62,138,238, 85, 63, 72,220,187, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,229,189, 79, 63,173,208,189, 62,198,119, 76, 63,
- 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,
-198,119, 76, 63, 90,150,169, 62,229,189, 79, 63,173,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,176,175, 76, 63,192,159,213, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,112,194, 70, 63, 19,196,217, 62,170,111, 73, 63, 68,135,193, 62,
-176,175, 76, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,
-192,159,213, 62,229,189, 79, 63,173,208,189, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,193,204, 76, 63, 0, 0, 0, 63,128,209, 73, 63, 75,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63, 75,207,236, 62,176,175, 76, 63,
-192,159,213, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-218,173, 82, 63, 55, 92,210, 62, 52,175, 79, 63,218, 32,233, 62,176,175, 76, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,192,159,213, 62,128,209, 73, 63, 75,207,236, 62,112,194, 70, 63,
- 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,
-112,194, 70, 63, 19,196,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 61, 29, 70, 63,114, 54,174, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,198,119, 76, 63, 90,150,169, 62,170,111, 73, 63, 68,135,193, 62,
- 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61, 29, 70, 63,
-114, 54,174, 62,171,132, 67, 63,253,230,198, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,218,173, 82, 63, 55, 92,210, 62, 56, 54, 86, 63, 58, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62, 41, 51, 83, 63,
- 24,252,255, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-193,204, 76, 63, 0, 0, 0, 63, 52,175, 79, 63,218, 32,233, 62, 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63, 24,252,255, 62, 56, 54, 86, 63, 58, 23,233, 62,147,153, 89, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62,
-147,153, 89, 63, 0, 0, 0, 63, 56, 54, 86, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62,147,153, 89, 63,143,190,209, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62,239,252, 92, 63, 58, 23,233, 62,
-147,153, 89, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,
-143,190,209, 62, 56, 54, 86, 63, 58, 23,233, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,149,153, 89, 63,201,199,165, 62,159, 68, 93, 63, 72,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62,147,153, 89, 63,
-143,190,209, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-218,173, 82, 63, 55, 92,210, 62,138,238, 85, 63, 72,220,187, 62,147,153, 89, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,143,190,209, 62,159, 68, 93, 63, 72,220,187, 62, 78,133, 96, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62,
- 78,133, 96, 63, 55, 92,210, 62,242,131, 99, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,254,255, 95, 63, 24,252,255, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63,239,252, 92, 63, 58, 23,233, 62,
-254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63,
- 24,252,255, 62,242,131, 99, 63,218, 32,233, 62,101,102,102, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,192,112,108, 63, 4,196,217, 62,133,195,105, 63, 37,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,249, 21,109, 63,
- 65, 54,174, 62,139,174,111, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 65, 51,115, 63,160,111,180, 62,139,174,111, 63,223,230,198, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,133,195,105, 63, 37,135,193, 62,106,187,102, 63,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62,
-106,187,102, 63, 54,150,169, 62,133,195,105, 63, 37,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,123,131,102, 63,181,159,213, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62, 70,117, 99, 63,155,208,189, 62,
-123,131,102, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,
-181,159,213, 62,133,195,105, 63, 37,135,193, 62,192,112,108, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,101,102,102, 63, 0, 0, 0, 63,242,131, 99, 63,218, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,123,131,102, 63,
-181,159,213, 62,170, 97,105, 63, 65,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-192,112,108, 63, 4,196,217, 62,170, 97,105, 63, 65,207,236, 62,123,131,102, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,181,159,213, 62,242,131, 99, 63,218, 32,233, 62, 78,133, 96, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62,
- 78,133, 96, 63, 55, 92,210, 62,159, 68, 93, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62, 71, 56, 96, 63, 99,190,166, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,106,187,102, 63, 54,150,169, 62, 70,117, 99, 63,155,208,189, 62,
- 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71, 56, 96, 63,
- 99,190,166, 62,159, 68, 93, 63, 72,220,187, 62,149,153, 89, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 21,238, 92, 63,112,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,254,255, 95, 63,
- 24,252,255, 62, 33,107, 99, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-101,102,102, 63, 0, 0, 0, 63, 33,107, 99, 63, 94,152, 9, 63,254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63, 24,252,255, 62, 21,238, 92, 63,112,150, 9, 63,147,153, 89, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63,
-147,153, 89, 63, 0, 0, 0, 63, 21,238, 92, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,143,153, 89, 63,219, 98, 19, 63, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19,215, 82, 63,252, 29, 19, 63, 14, 69, 86, 63,112,150, 9, 63,
-143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,
-219, 98, 19, 63, 21,238, 92, 63,112,150, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63,139,153, 89, 63, 45,200, 37, 63,218, 20, 86, 63,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,143,140, 28, 63,143,153, 89, 63,
-219, 98, 19, 63, 63, 30, 93, 63,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 11, 92, 96, 63,253, 29, 19, 63, 63, 30, 93, 63,143,140, 28, 63,143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,219, 98, 19, 63,218, 20, 86, 63,143,140, 28, 63, 19,215, 82, 63,
-252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63,
- 19,215, 82, 63,252, 29, 19, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 41, 51, 83, 63, 24,252,255, 62, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63, 14, 69, 86, 63,112,150, 9, 63,
- 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63,
- 24,252,255, 62, 1,200, 79, 63, 94,152, 9, 63,193,204, 76, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,151, 35,188, 60, 46, 92,210, 62,218, 74, 60, 60,150,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 74, 60, 60,150,208,189, 62,195,197,197, 60,
- 89,190,166, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-194,205, 76, 61,186,199,165, 62,237, 28, 18, 61, 60,220,187, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62,150,120,129, 63,150,208,189, 62, 15,171,127, 63,
- 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62,
- 15,171,127, 63, 52,150,169, 62,150,120,129, 63,150,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,150,120,129, 63,150,208,189, 62,244,226,127, 63,179,159,213, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,245,121, 63, 6,196,217, 62,241,162,124, 63, 36,135,193, 62,
-244,226,127, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,
-179,159,213, 62,150,120,129, 63,150,208,189, 62,142,240,130, 63, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0, 0, 63,194, 4,125, 63, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63, 67,207,236, 62,244,226,127, 63,
-179,159,213, 62, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-142,240,130, 63, 46, 92,210, 62, 59,113,129, 63,214, 32,233, 62,244,226,127, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,179,159,213, 62,194, 4,125, 63, 67,207,236, 62,179,245,121, 63,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62,
-179,245,121, 63, 6,196,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,133, 80,121, 63, 65, 54,174, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15,171,127, 63, 52,150,169, 62,241,162,124, 63, 36,135,193, 62,
-133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133, 80,121, 63,
- 65, 54,174, 62,239,183,118, 63,227,230,198, 62, 65, 51,115, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,110,157, 56, 60,214, 32,233, 62,151, 35,188, 60, 46, 92,210, 62, 95,151, 22, 61, 55, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62,176,204,204, 60,
- 24,252,255, 62,110,157, 56, 60,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-167, 79, 11, 38, 0, 0, 0, 63,110,157, 56, 60,214, 32,233, 62,176,204,204, 60, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60, 24,252,255, 62, 95,151, 22, 61, 55, 23,233, 62,215,204, 76, 61,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62,
-215,204, 76, 61, 0, 0, 0, 63, 95,151, 22, 61, 55, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62, 68,205, 76, 61,135,190,209, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 87,129,129, 61, 57, 23,233, 62,
- 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,
-135,190,209, 62, 95,151, 22, 61, 55, 23,233, 62,151, 35,188, 60, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,194,205, 76, 61,186,199,165, 62, 7,191,131, 61, 62,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 68,205, 76, 61,
-135,190,209, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-151, 35,188, 60, 46, 92,210, 62,237, 28, 18, 61, 60,220,187, 62, 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,135,190,209, 62, 7,191,131, 61, 62,220,187, 62, 92,196,157, 61,
- 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62,
- 92,196,157, 61, 49, 92,210, 62, 89,185,181, 61,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,154,153,153, 61, 25,252,255, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63, 87,129,129, 61, 57, 23,233, 62,
-154,153,153, 61, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61,
- 25,252,255, 62, 89,185,181, 61,214, 32,233, 62,215,204,204, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,171, 31,253, 61, 6,196,217, 62,251,181,231, 61, 38,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,204, 36, 1, 62,
- 70, 54,174, 62, 1,135, 11, 62,228,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-214,153, 25, 62,165,111,180, 62, 1,135, 11, 62,228,230,198, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62,251,181,231, 61, 38,135,193, 62, 70,117,207, 61,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62,
- 70,117,207, 61, 54,150,169, 62,251,181,231, 61, 38,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,164,181,205, 61,180,159,213, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 35, 68,181, 61,153,208,189, 62,
-164,181,205, 61,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,
-180,159,213, 62,251,181,231, 61, 38,135,193, 62,171, 31,253, 61, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,215,204,204, 61, 0, 0, 0, 63, 89,185,181, 61,214, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,164,181,205, 61,
-180,159,213, 62,251,166,228, 61, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-171, 31,253, 61, 6,196,217, 62,251,166,228, 61, 67,207,236, 62,164,181,205, 61,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,180,159,213, 62, 89,185,181, 61,214, 32,233, 62, 92,196,157, 61,
- 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62,
- 92,196,157, 61, 49, 92,210, 62, 7,191,131, 61, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 79, 92,155, 61, 91,190,166, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70,117,207, 61, 54,150,169, 62, 35, 68,181, 61,153,208,189, 62,
- 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 79, 92,155, 61,
- 91,190,166, 62, 7,191,131, 61, 62,220,187, 62,194,205, 76, 61,186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63, 1,122,156, 61,254, 29, 19, 63,100, 10,129, 61,113,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63,154,153,153, 61,
- 25,252,255, 62,172,242,180, 61, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-215,204,204, 61, 0, 0, 0, 63,172,242,180, 61, 96,152, 9, 63,154,153,153, 61, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61, 25,252,255, 62,100, 10,129, 61,113,150, 9, 63,215,204, 76, 61,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,
-215,204, 76, 61, 0, 0, 0, 63,100, 10,129, 61,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63, 91,204, 76, 61,220, 98, 19, 63,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,174, 73,193, 60,253, 29, 19, 63,109,132, 23, 61,113,150, 9, 63,
- 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,
-220, 98, 19, 63,100, 10,129, 61,113,150, 9, 63, 1,122,156, 61,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,246,203, 76, 61, 48,200, 37, 63, 13,129, 20, 61,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,143,140, 28, 63, 91,204, 76, 61,
-220, 98, 19, 63,166,139,130, 61,145,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 1,122,156, 61,254, 29, 19, 63,166,139,130, 61,145,140, 28, 63, 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,220, 98, 19, 63, 13,129, 20, 61,143,140, 28, 63,174, 73,193, 60,
-253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,
-174, 73,193, 60,253, 29, 19, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,114,207, 62, 60, 94,152, 9, 63,176,204,204, 60, 24,252,255, 62,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63,109,132, 23, 61,113,150, 9, 63,
-176,204,204, 60, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60,
- 24,252,255, 62,114,207, 62, 60, 94,152, 9, 63,167, 79, 11, 38, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 63, 81,100, 62, 60, 92,210, 62,110,145, 88, 62,167,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62, 91,133,101, 62,
-112,190,166, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62,206,199,165, 62,237, 83,113, 62, 79,220,187, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,110,145, 88, 62,167,208,189, 62,239,120, 75, 62,
- 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,
-239,120, 75, 62, 70,150,169, 62,110,145, 88, 62,167,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62,170, 88, 76, 62,187,159,213, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,163, 52, 62, 7,196,217, 62,144, 88, 63, 62, 46,135,193, 62,
-170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,
-187,159,213, 62,110,145, 88, 62,167,208,189, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62,254,204, 76, 62, 0, 0, 0, 63,251,223, 64, 62, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62, 67,207,236, 62,170, 88, 76, 62,
-187,159,213, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 63, 81,100, 62, 60, 92,210, 62,190, 86, 88, 62,221, 32,233, 62,170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,187,159,213, 62,251,223, 64, 62, 67,207,236, 62,179,163, 52, 62,
- 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,
-179,163, 52, 62, 7,196,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62,213, 14, 50, 62, 78, 54,174, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,120, 75, 62, 70,150,169, 62,144, 88, 63, 62, 46,135,193, 62,
-213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14, 50, 62,
- 78, 54,174, 62,153,172, 39, 62,230,230,198, 62,214,153, 25, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62, 63, 81,100, 62, 60, 92,210, 62,166,114,114, 62, 63, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62,126,102,102, 62,
- 25,252,255, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-254,204, 76, 62, 0, 0, 0, 63,190, 86, 88, 62,221, 32,233, 62,126,102,102, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62, 25,252,255, 62,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62,
- 0, 0,128, 62, 0, 0, 0, 63,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 62,149,190,209, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62,173,198,134, 62, 63, 23,233, 62,
- 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,
-149,190,209, 62,166,114,114, 62, 63, 23,233, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 9, 86,135, 62, 79,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 62,
-149,190,209, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 63, 81,100, 62, 60, 92,210, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,149,190,209, 62, 9, 86,135, 62, 79,220,187, 62, 97,215,141, 62,
- 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62,
- 97,215,141, 62, 60, 92,210, 62,161,212,147, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,193,204,140, 62, 25,252,255, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63,173,198,134, 62, 63, 23,233, 62,
-193,204,140, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62,
- 25,252,255, 62,161,212,147, 62,221, 32,233, 62,129,153,153, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62, 39,174,165, 62, 7,196,217, 62,184, 83,160, 62, 46,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,150,248,166, 62,
- 78, 54,174, 62,180, 41,172, 62,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21, 51,179, 62,165,111,180, 62,180, 41,172, 62,227,230,198, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,184, 83,160, 62, 46,135,193, 62,137, 67,154, 62,
- 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62,
-137, 67,154, 62, 70,150,169, 62,184, 83,160, 62, 46,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,171,211,153, 62,187,159,213, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62, 73,183,147, 62,167,208,189, 62,
-171,211,153, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,
-187,159,213, 62,184, 83,160, 62, 46,135,193, 62, 39,174,165, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62,129,153,153, 62, 0, 0, 0, 63,161,212,147, 62,221, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,171,211,153, 62,
-187,159,213, 62, 3,144,159, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 39,174,165, 62, 7,196,217, 62, 3,144,159, 62, 67,207,236, 62,171,211,153, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,187,159,213, 62,161,212,147, 62,221, 32,233, 62, 97,215,141, 62,
- 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62,
- 97,215,141, 62, 60, 92,210, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 82, 61,141, 62,112,190,166, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,137, 67,154, 62, 70,150,169, 62, 73,183,147, 62,167,208,189, 62,
- 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82, 61,141, 62,
-112,190,166, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,224,132,141, 62,246, 29, 19, 63,251,168,134, 62,107,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63,193,204,140, 62,
- 25,252,255, 62, 1,163,147, 62, 91,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-129,153,153, 62, 0, 0, 0, 63, 1,163,147, 62, 91,152, 9, 63,193,204,140, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62, 25,252,255, 62,251,168,134, 62,107,150, 9, 63, 0, 0,128, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63,
- 0, 0,128, 62, 0, 0, 0, 63,251,168,134, 62,107,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63, 0, 0,128, 62,209, 98, 19, 63, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 64,246,100, 62,246, 29, 19, 63, 11,174,114, 62,107,150, 9, 63,
- 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,
-209, 98, 19, 63,251,168,134, 62,107,150, 9, 63,224,132,141, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62, 23,200, 37, 63, 83,237,113, 62,130,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 62,
-209, 98, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-224,132,141, 62,246, 29, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,209, 98, 19, 63, 83,237,113, 62,130,140, 28, 63, 64,246,100, 62,
-246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63,
- 64,246,100, 62,246, 29, 19, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63,126,102,102, 62, 25,252,255, 62, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63, 11,174,114, 62,107,150, 9, 63,
-126,102,102, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62,
- 25,252,255, 62,255,185, 88, 62, 90,152, 9, 63,254,204, 76, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62,233,142,216, 62, 49, 92,210, 62,248,174,210, 62,153,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,237, 40,217, 62,
- 91,190,166, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 72,102,230, 62,183,199,165, 62, 63, 16,223, 62, 62,220,187, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,248,174,210, 62,153,208,189, 62,175, 34,204, 62,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62,
-175, 34,204, 62, 54,150,169, 62,248,174,210, 62,153,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,151,146,204, 62,180,159,213, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,184,192, 62, 6,196,217, 62,129, 18,198, 62, 37,135,193, 62,
-151,146,204, 62,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,
-180,159,213, 62,248,174,210, 62,153,208,189, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,202,204,204, 62, 0, 0, 0, 63, 65,214,198, 62, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62, 67,207,236, 62,151,146,204, 62,
-180,159,213, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-233,142,216, 62, 49, 92,210, 62,170,145,210, 62,214, 32,233, 62,151,146,204, 62,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,180,159,213, 62, 65,214,198, 62, 67,207,236, 62, 21,184,192, 62,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62,
- 21,184,192, 62, 6,196,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,154,109,191, 62, 68, 54,174, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,175, 34,204, 62, 54,150,169, 62,129, 18,198, 62, 37,135,193, 62,
-154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,109,191, 62,
- 68, 54,174, 62,127, 60,186, 62,225,230,198, 62, 21, 51,179, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,233,142,216, 62, 49, 92,210, 62,171,159,223, 62, 57, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62,154,153,217, 62,
- 24,252,255, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-202,204,204, 62, 0, 0, 0, 63,170,145,210, 62,214, 32,233, 62,154,153,217, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62, 24,252,255, 62,171,159,223, 62, 57, 23,233, 62,101,102,230, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,
-101,102,230, 62, 0, 0, 0, 63,171,159,223, 62, 57, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62, 88,102,230, 62,135,190,209, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62, 20, 45,237, 62, 55, 23,233, 62,
- 88,102,230, 62,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,
-135,190,209, 62,171,159,223, 62, 57, 23,233, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62, 72,102,230, 62,183,199,165, 62, 99,188,237, 62, 60,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62, 88,102,230, 62,
-135,190,209, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-233,142,216, 62, 49, 92,210, 62, 63, 16,223, 62, 62,220,187, 62, 88,102,230, 62,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,135,190,209, 62, 99,188,237, 62, 60,220,187, 62,199, 61,244, 62,
- 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,
-199, 61,244, 62, 46, 92,210, 62, 21, 59,250, 62,213, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 53, 51,243, 62, 24,252,255, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63, 20, 45,237, 62, 55, 23,233, 62,
- 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62,
- 24,252,255, 62, 21, 59,250, 62,213, 32,233, 62, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62, 77, 10, 6, 63, 6,196,217, 62, 15, 93, 3, 63, 36,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62,123,175, 6, 63,
- 65, 54,174, 62, 17, 72, 9, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-191,204, 12, 63,160,111,180, 62, 17, 72, 9, 63,227,230,198, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62, 15, 93, 3, 63, 36,135,193, 62,241, 84, 0, 63,
- 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,
-241, 84, 0, 63, 52,150,169, 62, 15, 93, 3, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62, 12, 29, 0, 63,179,159,213, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62,169, 29,250, 62,150,208,189, 62,
- 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,
-179,159,213, 62, 15, 93, 3, 63, 36,135,193, 62, 77, 10, 6, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 0, 0, 0, 63, 0, 0, 0, 63, 21, 59,250, 62,213, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 12, 29, 0, 63,
-179,159,213, 62, 62,251, 2, 63, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 77, 10, 6, 63, 6,196,217, 62, 62,251, 2, 63, 67,207,236, 62, 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,179,159,213, 62, 21, 59,250, 62,213, 32,233, 62,199, 61,244, 62,
- 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,
-199, 61,244, 62, 46, 92,210, 62, 99,188,237, 62, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62,164,163,243, 62, 89,190,166, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241, 84, 0, 63, 52,150,169, 62,169, 29,250, 62,150,208,189, 62,
-164,163,243, 62, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,163,243, 62,
- 89,190,166, 62, 99,188,237, 62, 60,220,187, 62, 72,102,230, 62,183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,101,235,243, 62,252, 29, 19, 63,114, 15,237, 62,113,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63, 53, 51,243, 62,
- 24,252,255, 62,132, 9,250, 62, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 63,132, 9,250, 62, 94,152, 9, 63, 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62, 24,252,255, 62,114, 15,237, 62,113,150, 9, 63,101,102,230, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,
-101,102,230, 62, 0, 0, 0, 63,114, 15,237, 62,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63,117,102,230, 62,220, 98, 19, 63,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,225,216, 62,254, 29, 19, 63,103,189,223, 62,112,150, 9, 63,
-117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,
-220, 98, 19, 63,114, 15,237, 62,113,150, 9, 63,101,235,243, 62,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,129,102,230, 62, 48,200, 37, 63, 22, 93,223, 62,145,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,145,140, 28, 63,117,102,230, 62,
-220, 98, 19, 63,222,111,237, 62,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-101,235,243, 62,252, 29, 19, 63,222,111,237, 62,143,140, 28, 63,117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,220, 98, 19, 63, 22, 93,223, 62,145,140, 28, 63,128,225,216, 62,
-254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,
-128,225,216, 62,254, 29, 19, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,154,153,217, 62, 24,252,255, 62,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63,103,189,223, 62,112,150, 9, 63,
-154,153,217, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62,
- 24,252,255, 62, 85,195,210, 62, 96,152, 9, 63,202,204,204, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,178,122, 31, 63, 55, 92,210, 62,186,138, 28, 63,155,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,185,199, 31, 63,
- 96,190,166, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-107,102, 38, 63,201,199,165, 62, 97,187, 34, 63, 72,220,187, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,186,138, 28, 63,155,208,189, 62,150, 68, 25, 63,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62,
-150, 68, 25, 63, 54,150,169, 62,186,138, 28, 63,155,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,133,124, 25, 63,181,159,213, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 64,143, 19, 63, 4,196,217, 62,123, 60, 22, 63, 36,135,193, 62,
-133,124, 25, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,
-181,159,213, 62,186,138, 28, 63,155,208,189, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,155,153, 25, 63, 0, 0, 0, 63, 86,158, 22, 63, 65,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63, 65,207,236, 62,133,124, 25, 63,
-181,159,213, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-178,122, 31, 63, 55, 92,210, 62, 14,124, 28, 63,218, 32,233, 62,133,124, 25, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,181,159,213, 62, 86,158, 22, 63, 65,207,236, 62, 64,143, 19, 63,
- 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62,
- 64,143, 19, 63, 4,196,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 7,234, 18, 63, 65, 54,174, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150, 68, 25, 63, 54,150,169, 62,123, 60, 22, 63, 36,135,193, 62,
- 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,234, 18, 63,
- 65, 54,174, 62,117, 81, 16, 63,223,230,198, 62,191,204, 12, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,178,122, 31, 63, 55, 92,210, 62, 17, 3, 35, 63, 58, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62, 2, 0, 32, 63,
- 24,252,255, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-155,153, 25, 63, 0, 0, 0, 63, 14,124, 28, 63,218, 32,233, 62, 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63, 24,252,255, 62, 17, 3, 35, 63, 58, 23,233, 62,109,102, 38, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62,
-109,102, 38, 63, 0, 0, 0, 63, 17, 3, 35, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62,109,102, 38, 63,143,190,209, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62,200,201, 41, 63, 58, 23,233, 62,
-109,102, 38, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,
-143,190,209, 62, 17, 3, 35, 63, 58, 23,233, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,107,102, 38, 63,201,199,165, 62,118, 17, 42, 63, 72,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62,109,102, 38, 63,
-143,190,209, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-178,122, 31, 63, 55, 92,210, 62, 97,187, 34, 63, 72,220,187, 62,109,102, 38, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,143,190,209, 62,118, 17, 42, 63, 72,220,187, 62, 38, 82, 45, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62,
- 38, 82, 45, 63, 55, 92,210, 62,204, 80, 48, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62,215,204, 44, 63, 23,252,255, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,200,201, 41, 63, 58, 23,233, 62,
-215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63,
- 23,252,255, 62,204, 80, 48, 63,218, 32,233, 62, 63, 51, 51, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,144, 61, 57, 63, 19,196,217, 62, 86,144, 54, 63, 68,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62,196,226, 57, 63,
-114, 54,174, 62, 85,123, 60, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63,211,111,180, 62, 85,123, 60, 63,253,230,198, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62, 86,144, 54, 63, 68,135,193, 62, 58,136, 51, 63,
- 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62,
- 58,136, 51, 63, 90,150,169, 62, 86,144, 54, 63, 68,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62, 80, 80, 51, 63,192,159,213, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62, 27, 66, 48, 63,173,208,189, 62,
- 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,
-192,159,213, 62, 86,144, 54, 63, 68,135,193, 62,144, 61, 57, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62, 63, 51, 51, 63, 0, 0, 0, 63,204, 80, 48, 63,218, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62, 80, 80, 51, 63,
-192,159,213, 62,128, 46, 54, 63, 75,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-144, 61, 57, 63, 19,196,217, 62,128, 46, 54, 63, 75,207,236, 62, 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,192,159,213, 62,204, 80, 48, 63,218, 32,233, 62, 38, 82, 45, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62,
- 38, 82, 45, 63, 55, 92,210, 62,118, 17, 42, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62, 26, 5, 45, 63,117,190,166, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 58,136, 51, 63, 90,150,169, 62, 27, 66, 48, 63,173,208,189, 62,
- 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 26, 5, 45, 63,
-117,190,166, 62,118, 17, 42, 63, 72,220,187, 62,107,102, 38, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,237, 40, 45, 63,252, 29, 19, 63,242,186, 41, 63,112,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,215,204, 44, 63,
- 23,252,255, 62,255, 55, 48, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 63, 51, 51, 63, 0, 0, 0, 63,255, 55, 48, 63, 94,152, 9, 63,215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63, 23,252,255, 62,242,186, 41, 63,112,150, 9, 63,109,102, 38, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,
-109,102, 38, 63, 0, 0, 0, 63,242,186, 41, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,113,102, 38, 63,219, 98, 19, 63,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245,163, 31, 63,253, 29, 19, 63,235, 17, 35, 63,112,150, 9, 63,
-113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,
-219, 98, 19, 63,242,186, 41, 63,112,150, 9, 63,237, 40, 45, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63,117,102, 38, 63, 45,200, 37, 63,192,225, 34, 63,142,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,142,140, 28, 63,113,102, 38, 63,
-219, 98, 19, 63, 38,235, 41, 63,141,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-237, 40, 45, 63,252, 29, 19, 63, 38,235, 41, 63,141,140, 28, 63,113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,219, 98, 19, 63,192,225, 34, 63,142,140, 28, 63,245,163, 31, 63,
-253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,
-245,163, 31, 63,253, 29, 19, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 2, 0, 32, 63, 24,252,255, 62,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,235, 17, 35, 63,112,150, 9, 63,
- 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63,
- 24,252,255, 62,223,148, 28, 63, 94,152, 9, 63,155,153, 25, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62,235, 71, 99, 63,222, 76,120, 62, 94, 37,106, 63, 84, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 65, 51,115, 63,
-248,151, 97, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 65, 51,115, 63,151, 83,135, 62,188,129,107, 63, 66, 45,128, 62, 65, 51,115, 63,248,151, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 94, 37,106, 63, 84, 97, 83, 62, 65, 51,115, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62,
- 65, 51,115, 63,151, 83,135, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,142,123,108, 63,169,144,151, 62,231, 50,101, 63, 17,201,146, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,188,129,107, 63, 66, 45,128, 62,
-231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63,
- 17,201,146, 62,142,123,108, 63,169,144,151, 62,106,187,102, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 71, 56, 96, 63, 99,190,166, 62,149,153, 89, 63,201,199,165, 62, 22,238, 93, 63,243,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62,231, 50,101, 63,
- 17,201,146, 62, 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-106,187,102, 63, 54,150,169, 62, 71, 56, 96, 63, 99,190,166, 62,231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63, 17,201,146, 62, 22,238, 93, 63,243,101,144, 62,235, 71, 99, 63,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,
-106,187,102, 63, 54,150,169, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,142,123,108, 63,169,144,151, 62, 65, 51,115, 63, 93,231,157, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,160,111,180, 62,249, 21,109, 63, 65, 54,174, 62,
- 65, 51,115, 63, 93,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,
- 93,231,157, 62,142,123,108, 63,169,144,151, 62, 65, 51,115, 63,151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62,235, 71, 99, 63,222, 76,120, 62, 22,238, 93, 63,243,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62, 21, 69, 85, 63,
- 3,102,144, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 68,235, 79, 63, 37, 77,120, 62,149,153, 89, 63, 79,162,115, 62, 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63, 3,102,144, 62, 22,238, 93, 63,243,101,144, 62,149,153, 89, 63,
-201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62,
- 68,235, 79, 63, 37, 77,120, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62, 22,121, 95, 63,204,176, 70, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,149,153, 89, 63, 79,162,115, 62,
- 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,
-204,176, 70, 62, 24,186, 83, 63,245,176, 70, 62,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 94, 37,106, 63, 84, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 22,121, 95, 63,
-204,176, 70, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-152,153, 89, 63,198, 31, 23, 62, 61,119,103, 63,179,253, 30, 62, 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,204,176, 70, 62, 94, 37,106, 63, 84, 97, 83, 62,235, 71, 99, 63,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62,
-152,153, 89, 63,198, 31, 23, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62,214, 13, 73, 63,181, 97, 83, 62,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62,248,187, 75, 63,241,253, 30, 62,
-214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,
-181, 97, 83, 62, 24,186, 83, 63,245,176, 70, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0, 64, 63,111, 65, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61, 38, 49,117, 63,
-225, 64, 52, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 65, 51,115, 63, 83,111,180, 61,152,153, 89, 63,111, 41,147, 61, 38, 49,117, 63,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61, 0, 0, 64, 63,111, 65, 52, 61,208,222,121, 63,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61,
- 65, 51,115, 63, 83,111,180, 61,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61,135,255, 79, 63,120, 46,231, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,195,111,180, 61,152,153, 89, 63,111, 41,147, 61,
-135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,
-120, 46,231, 61,172, 51, 99, 63, 48, 46,231, 61,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0, 64, 63, 24, 71, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 71, 7, 62,135,255, 79, 63,
-120, 46,231, 61,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-152,153, 89, 63,198, 31, 23, 62,248,187, 75, 63,241,253, 30, 62,135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,120, 46,231, 61, 0, 0, 64, 63, 24, 71, 7, 62, 0, 0, 64, 63,
-195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62,
-152,153, 89, 63,198, 31, 23, 62,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61, 66, 51,115, 63,199, 70, 7, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 61,119,103, 63,179,253, 30, 62,
- 66, 51,115, 63,199, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,
-199, 70, 7, 62,172, 51, 99, 63, 48, 46,231, 61, 65, 51,115, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0, 64, 63,115,152, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62,214, 13, 73, 63,
-181, 97, 83, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 68,235, 79, 63, 37, 77,120, 62,122,177, 71, 63,120, 45,128, 62,214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,181, 97, 83, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0, 64, 63,
-202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62,
- 68,235, 79, 63, 37, 77,120, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62,169,183, 70, 63,219,144,151, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,218, 83,135, 62,122,177, 71, 63,120, 45,128, 62,
-169,183, 70, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,
-219,144,151, 62, 72, 0, 78, 63, 52,201,146, 62,198,119, 76, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 61, 29, 70, 63,114, 54,174, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0, 64, 63,162,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,162,231,157, 62,169,183, 70, 63,
-219,144,151, 62, 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-198,119, 76, 63, 90,150,169, 62, 61, 29, 70, 63,114, 54,174, 62,169,183, 70, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,219,144,151, 62, 0, 0, 64, 63,162,231,157, 62, 0, 0, 64, 63,
-218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,
-198,119, 76, 63, 90,150,169, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62, 21, 69, 85, 63, 3,102,144, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,149,153, 89, 63,201,199,165, 62,230,250, 82, 63,117,190,166, 62,
- 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63,
- 3,102,144, 62, 72, 0, 78, 63, 52,201,146, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62, 94,217,179, 61,222, 76,120, 62,202,196,234, 61,100, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,212,153, 25, 62,
- 2,152, 97, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-214,153, 25, 62,156, 83,135, 62,179,167,245, 61, 72, 45,128, 62,212,153, 25, 62, 2,152, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62,202,196,234, 61,100, 97, 83, 62,214,153, 25, 62,
-106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62,
-214,153, 25, 62,156, 83,135, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62, 53, 49,195, 61, 17,201,146, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,179,167,245, 61, 72, 45,128, 62,
- 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61,
- 17,201,146, 62, 62,118,253, 61,174,144,151, 62, 70,117,207, 61, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 79, 92,155, 61, 91,190,166, 62,194,205, 76, 61,186,199,165, 62,212, 10,137, 61,238,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62, 53, 49,195, 61,
- 17,201,146, 62, 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 70,117,207, 61, 54,150,169, 62, 79, 92,155, 61, 91,190,166, 62, 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61, 17,201,146, 62,212, 10,137, 61,238,101,144, 62, 94,217,179, 61,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62,
- 70,117,207, 61, 54,150,169, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62,213,153, 25, 62,100,231,157, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,165,111,180, 62,204, 36, 1, 62, 70, 54,174, 62,
-213,153, 25, 62,100,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,
-100,231,157, 62, 62,118,253, 61,174,144,151, 62,214,153, 25, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62, 94,217,179, 61,222, 76,120, 62,212, 10,137, 61,238,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62,207,133, 7, 61,
-236,101,144, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-255,162, 71, 60,216, 76,120, 62,188,205, 76, 61, 53,162,115, 62,207,133, 7, 61,236,101,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,236,101,144, 62,212, 10,137, 61,238,101,144, 62,194,205, 76, 61,
-186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62,
-255,162, 71, 60,216, 76,120, 62,190,171,221, 60,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,190,171,221, 60,194,176, 70, 62,194, 98,149, 61,194,176, 70, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,188,205, 76, 61, 53,162,115, 62,
-194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,
-194,176, 70, 62,190,171,221, 60,194,176, 70, 62,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,214,153, 25, 62,106,111, 52, 62,202,196,234, 61,100, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,194, 98,149, 61,
-194,176, 70, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-193,205, 76, 61,168, 31, 23, 62,198, 83,213, 61,179,253, 30, 62,194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,194,176, 70, 62,202,196,234, 61,100, 97, 83, 62, 94,217,179, 61,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62,
-154,105,131, 63,168, 31, 23, 62,175,118,131, 63,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,175,118,131, 63,194,176, 70, 62, 30, 65,124, 63, 90, 97, 83, 62, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 59,239,126, 63,174,253, 30, 62,
- 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63,
- 90, 97, 83, 62,175,118,131, 63,194,176, 70, 62, 70,143,129, 63,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,156,105,131, 63,101, 41,147, 61, 65, 51,115, 63, 83,111,180, 61, 38, 49,117, 63,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61,232,148,135, 63,
-144,158,125, 60,156,105,131, 63,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-215,153, 25, 62,104,111,180, 61,122,245,128, 61,101, 41,147, 61,224,153, 25, 62,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,148,135, 63,144,158,125, 60, 38, 49,117, 63,225, 64, 52, 61,208,222,121, 63,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,245,128, 61,101, 41,147, 61,
-215,153, 25, 62,104,111,180, 61, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61, 96,147,208, 60, 48, 46,231, 61,122,245,128, 61,101, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 83,111,180, 61,156,105,131, 63,101, 41,147, 61,
-102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 96,147,208, 60,
- 48, 46,231, 61, 89, 55,179, 61, 38, 46,231, 61,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 66, 51,115, 63,199, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,199, 70, 7, 62,102,153,129, 63,
- 48, 46,231, 61, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-154,105,131, 63,168, 31, 23, 62, 59,239,126, 63,174,253, 30, 62,102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102,153,129, 63, 48, 46,231, 61, 66, 51,115, 63,199, 70, 7, 62, 65, 51,115, 63,
- 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,
-193,205, 76, 61,168, 31, 23, 62, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61,217,153, 25, 62,204, 70, 7, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,198, 83,213, 61,179,253, 30, 62,
-217,153, 25, 62,204, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,
-204, 70, 7, 62, 89, 55,179, 61, 38, 46,231, 61,215,153, 25, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62, 65, 51,115, 63,151, 83,135, 62, 65, 51,115, 63,248,151, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 30, 65,124, 63,
- 90, 97, 83, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 70,143,129, 63,216, 76,120, 62,192,228,122, 63, 66, 45,128, 62, 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63, 90, 97, 83, 62, 65, 51,115, 63,248,151, 97, 62, 65, 51,115, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62,
- 70,143,129, 63,216, 76,120, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,201,153,128, 63, 14,201,146, 62,239,234,121, 63,169,144,151, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,151, 83,135, 62,192,228,122, 63, 66, 45,128, 62,
-239,234,121, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,
-169,144,151, 62,201,153,128, 63, 14,201,146, 62, 15,171,127, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,133, 80,121, 63, 65, 54,174, 62, 65, 51,115, 63,160,111,180, 62, 65, 51,115, 63, 93,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 93,231,157, 62,239,234,121, 63,
-169,144,151, 62,133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 15,171,127, 63, 52,150,169, 62,133, 80,121, 63, 65, 54,174, 62,239,234,121, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,169,144,151, 62, 65, 51,115, 63, 93,231,157, 62, 65, 51,115, 63,
-151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62,
- 15,171,127, 63, 52,150,169, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136,200,153, 59, 14,201,146, 62,207,133, 7, 61,236,101,144, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194,205, 76, 61,186,199,165, 62,195,197,197, 60, 89,190,166, 62,
-207,133, 7, 61,236,101,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,
-236,101,144, 62,136,200,153, 59, 14,201,146, 62,255,162, 71, 60,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62,147, 92,147, 62,252, 76,120, 62,102, 23,161, 62,115, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62, 22, 51,179, 62,
- 2,152, 97, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21, 51,179, 62,156, 83,135, 62, 32,208,163, 62, 79, 45,128, 62, 22, 51,179, 62, 2,152, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,102, 23,161, 62,115, 97, 83, 62, 21, 51,179, 62,
-101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62,
- 21, 51,179, 62,156, 83,135, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,194,195,165, 62,181,144,151, 62,134, 50,151, 62, 29,201,146, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 32,208,163, 62, 79, 45,128, 62,
-134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62,
- 29,201,146, 62,194,195,165, 62,181,144,151, 62,137, 67,154, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 62,206,199,165, 62,247,168,136, 62, 3,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62,134, 50,151, 62,
- 29,201,146, 62, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-137, 67,154, 62, 70,150,169, 62, 82, 61,141, 62,112,190,166, 62,134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62, 29,201,146, 62,247,168,136, 62, 3,102,144, 62,147, 92,147, 62,
-252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,
-137, 67,154, 62, 70,150,169, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,194,195,165, 62,181,144,151, 62, 21, 51,179, 62, 98,231,157, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,165,111,180, 62,150,248,166, 62, 78, 54,174, 62,
- 21, 51,179, 62, 98,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,
- 98,231,157, 62,194,195,165, 62,181,144,151, 62, 21, 51,179, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,147, 92,147, 62,252, 76,120, 62,247,168,136, 62, 3,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62, 18,174,110, 62,
- 3,102,144, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62, 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62, 3,102,144, 62,247,168,136, 62, 3,102,144, 62, 0, 0,128, 62,
-206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,
-217, 70, 89, 62,252, 76,120, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62,
-241,190,139, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,
-230,176, 70, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62, 21, 51,179, 62,101,111, 52, 62,102, 23,161, 62,115, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62,241,190,139, 62,
-230,176, 70, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62,208, 31, 23, 62, 41,187,155, 62,205,253, 30, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,230,176, 70, 62,102, 23,161, 62,115, 97, 83, 62,147, 92,147, 62,
-252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62,
- 0, 0,128, 62,208, 31, 23, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62, 51,209, 61, 62,115, 97, 83, 62,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,174,137, 72, 62,205,253, 30, 62,
- 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,
-115, 97, 83, 62, 30,130,104, 62,230,176, 70, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61,215,153, 25, 62,104,111,180, 61,224,153, 25, 62,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,153, 25, 62,225, 64, 52, 61, 15, 51,179, 62,
-225, 64, 52, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 20, 51,179, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61, 15, 51,179, 62,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,224,153, 25, 62,225, 64, 52, 61,144,175,161, 62,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61,
- 20, 51,179, 62,104,111,180, 61, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61,231,151, 89, 62,109, 46,231, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,153, 25, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61,
-231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,
-109, 46,231, 61, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62,214,153, 25, 62,106,111, 52, 62,217,153, 25, 62,204, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,204, 70, 7, 62,231,151, 89, 62,
-109, 46,231, 61,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62,208, 31, 23, 62,174,137, 72, 62,205,253, 30, 62,231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,109, 46,231, 61,217,153, 25, 62,204, 70, 7, 62,215,153, 25, 62,
-104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62,
- 0, 0,128, 62,208, 31, 23, 62, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61, 19, 51,179, 62,204, 70, 7, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 41,187,155, 62,205,253, 30, 62,
- 19, 51,179, 62,204, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,
-204, 70, 7, 62, 12, 52,147, 62,109, 46,231, 61, 20, 51,179, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,214,153, 25, 62,156, 83,135, 62,212,153, 25, 62, 2,152, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62, 51,209, 61, 62,
-115, 97, 83, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-217, 70, 89, 62,252, 76,120, 62,192, 95, 56, 62, 79, 45,128, 62, 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,115, 97, 83, 62,212,153, 25, 62, 2,152, 97, 62,214,153, 25, 62,
-106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,
-217, 70, 89, 62,252, 76,120, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62,125,120, 52, 62,181,144,151, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,156, 83,135, 62,192, 95, 56, 62, 79, 45,128, 62,
-125,120, 52, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,
-181,144,151, 62,245,154, 81, 62, 29,201,146, 62,239,120, 75, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,213, 14, 50, 62, 78, 54,174, 62,214,153, 25, 62,165,111,180, 62,213,153, 25, 62,100,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,100,231,157, 62,125,120, 52, 62,
-181,144,151, 62,213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-239,120, 75, 62, 70,150,169, 62,213, 14, 50, 62, 78, 54,174, 62,125,120, 52, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,181,144,151, 62,213,153, 25, 62,100,231,157, 62,214,153, 25, 62,
-156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,
-239,120, 75, 62, 70,150,169, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62, 18,174,110, 62, 3,102,144, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,206,199,165, 62, 91,133,101, 62,112,190,166, 62,
- 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62,
- 3,102,144, 62,245,154, 81, 62, 29,201,146, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,232,194,249, 62,216, 76,120, 62,226,190, 3, 63, 90, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62,191,204, 12, 63,
-248,151, 97, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-191,204, 12, 63,149, 83,135, 62, 64, 27, 5, 63, 66, 45,128, 62,191,204, 12, 63,248,151, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,226,190, 3, 63, 90, 97, 83, 62,191,204, 12, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,
-191,204, 12, 63,149, 83,135, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,222,152,253, 62, 14,201,146, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 64, 27, 5, 63, 66, 45,128, 62,
-222,152,253, 62, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62,
- 14,201,146, 62, 17, 21, 6, 63,169,144,151, 62,241, 84, 0, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,164,163,243, 62, 89,190,166, 62, 72,102,230, 62,183,199,165, 62, 70, 15,239, 62,233,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62,222,152,253, 62,
- 14,201,146, 62,164,163,243, 62, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-241, 84, 0, 63, 52,150,169, 62,164,163,243, 62, 89,190,166, 62,222,152,253, 62, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62, 14,201,146, 62, 70, 15,239, 62,233,101,144, 62,232,194,249, 62,
-216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62,
-241, 84, 0, 63, 52,150,169, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,191,204, 12, 63, 90,231,157, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,160,111,180, 62,123,175, 6, 63, 65, 54,174, 62,
-191,204, 12, 63, 90,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,
- 90,231,157, 62, 17, 21, 6, 63,169,144,151, 62,191,204, 12, 63,149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,232,194,249, 62,216, 76,120, 62, 70, 15,239, 62,233,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62, 75,189,221, 62,
-238,101,144, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-168, 9,211, 62,222, 76,120, 62, 72,102,230, 62, 53,162,115, 62, 75,189,221, 62,238,101,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,238,101,144, 62, 70, 15,239, 62,233,101,144, 62, 72,102,230, 62,
-183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,
-168, 9,211, 62,222, 76,120, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62, 68, 37,242, 62,194,176, 70, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 72,102,230, 62, 53,162,115, 62,
- 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,
-194,176, 70, 62, 80,167,218, 62,194,176, 70, 62, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,226,190, 3, 63, 90, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62, 68, 37,242, 62,
-194,176, 70, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 72,102,230, 62,168, 31, 23, 62,197, 16, 1, 63,174,253, 30, 62, 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,194,176, 70, 62,226,190, 3, 63, 90, 97, 83, 62,232,194,249, 62,
-216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62,
- 72,102,230, 62,168, 31, 23, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62,205, 78,197, 62, 95, 97, 83, 62, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 14,171,202, 62,179,253, 30, 62,
-205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62,
- 95, 97, 83, 62, 80,167,218, 62,194,176, 70, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61, 20, 51,179, 62,104,111,180, 61, 15, 51,179, 62,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,189,204, 12, 63,
-225, 64, 52, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-191,204, 12, 63, 83,111,180, 61, 63,102,230, 62,101, 41,147, 61,189,204, 12, 63,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 15, 51,179, 62,225, 64, 52, 61,144,175,161, 62,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61,
-191,204, 12, 63, 83,111,180, 61,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61, 42, 50,211, 62, 48, 46,231, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20, 51,179, 62,104,111,180, 61, 63,102,230, 62,101, 41,147, 61,
- 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62,
- 48, 46,231, 61,104,154,249, 62, 48, 46,231, 61, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62, 21, 51,179, 62,101,111, 52, 62, 19, 51,179, 62,204, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,204, 70, 7, 62, 42, 50,211, 62,
- 48, 46,231, 61, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 72,102,230, 62,168, 31, 23, 62, 14,171,202, 62,179,253, 30, 62, 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62, 48, 46,231, 61, 19, 51,179, 62,204, 70, 7, 62, 20, 51,179, 62,
-104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62,
- 72,102,230, 62,168, 31, 23, 62,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61,191,204, 12, 63,199, 70, 7, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,197, 16, 1, 63,174,253, 30, 62,
-191,204, 12, 63,199, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,
-199, 70, 7, 62,104,154,249, 62, 48, 46,231, 61,191,204, 12, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62, 21, 51,179, 62,156, 83,135, 62, 22, 51,179, 62, 2,152, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,205, 78,197, 62,
- 95, 97, 83, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-168, 9,211, 62,222, 76,120, 62, 19,150,194, 62, 72, 45,128, 62,205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62, 95, 97, 83, 62, 22, 51,179, 62, 2,152, 97, 62, 21, 51,179, 62,
-101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62,
-168, 9,211, 62,222, 76,120, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62,113,162,192, 62,174,144,151, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,156, 83,135, 62, 19,150,194, 62, 72, 45,128, 62,
-113,162,192, 62,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,
-174,144,151, 62,179, 51,207, 62, 17,201,146, 62,175, 34,204, 62, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,154,109,191, 62, 68, 54,174, 62, 21, 51,179, 62,165,111,180, 62, 21, 51,179, 62, 98,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62, 98,231,157, 62,113,162,192, 62,
-174,144,151, 62,154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-175, 34,204, 62, 54,150,169, 62,154,109,191, 62, 68, 54,174, 62,113,162,192, 62,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,174,144,151, 62, 21, 51,179, 62, 98,231,157, 62, 21, 51,179, 62,
-156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,
-175, 34,204, 62, 54,150,169, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62, 75,189,221, 62,238,101,144, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72,102,230, 62,183,199,165, 62,237, 40,217, 62, 91,190,166, 62,
- 75,189,221, 62,238,101,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,
-238,101,144, 62,179, 51,207, 62, 17,201,146, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62,188, 20, 48, 63, 37, 77,120, 62, 42,242, 54, 63,181, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62, 0, 0, 64, 63,
-115,152, 97, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63,218, 83,135, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62, 42,242, 54, 63,181, 97, 83, 62, 0, 0, 64, 63,
-202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62,
- 0, 0, 64, 63,218, 83,135, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62,184,255, 49, 63, 52,201,146, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,134, 78, 56, 63,117, 45,128, 62,
-184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63,
- 52,201,146, 62, 87, 72, 57, 63,219,144,151, 62, 58,136, 51, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 26, 5, 45, 63,117,190,166, 62,107,102, 38, 63,201,199,165, 62,235,186, 42, 63, 5,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,184,255, 49, 63,
- 52,201,146, 62, 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 58,136, 51, 63, 90,150,169, 62, 26, 5, 45, 63,117,190,166, 62,184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63, 52,201,146, 62,235,186, 42, 63, 5,102,144, 62,188, 20, 48, 63,
- 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62,
- 58,136, 51, 63, 90,150,169, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62, 0, 0, 64, 63,162,231,157, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,211,111,180, 62,196,226, 57, 63,114, 54,174, 62,
- 0, 0, 64, 63,162,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
-162,231,157, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62,188, 20, 48, 63, 37, 77,120, 62,235,186, 42, 63, 5,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,234, 17, 34, 63,
-243,101,144, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21,184, 28, 63,222, 76,120, 62,107,102, 38, 63, 79,162,115, 62,234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,243,101,144, 62,235,186, 42, 63, 5,102,144, 62,107,102, 38, 63,
-201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62,
- 21,184, 28, 63,222, 76,120, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,233, 69, 44, 63,245,176, 70, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,107,102, 38, 63, 79,162,115, 62,
-233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,
-245,176, 70, 62,234,134, 32, 63,204,176, 70, 62,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 42,242, 54, 63,181, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62,233, 69, 44, 63,
-245,176, 70, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-104,102, 38, 63,198, 31, 23, 62, 9, 68, 52, 63,241,253, 30, 62,233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,245,176, 70, 62, 42,242, 54, 63,181, 97, 83, 62,188, 20, 48, 63,
- 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,
-104,102, 38, 63,198, 31, 23, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,162,218, 21, 63, 84, 97, 83, 62,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,195,136, 24, 63,179,253, 30, 62,
-162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63,
- 84, 97, 83, 62,234,134, 32, 63,204,176, 70, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61,191,204, 12, 63, 83,111,180, 61,189,204, 12, 63,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 0, 0, 64, 63,
-111, 65, 52, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63,195,111,180, 61,104,102, 38, 63,111, 41,147, 61, 0, 0, 64, 63,111, 65, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61,189,204, 12, 63,225, 64, 52, 61,208,222,121, 63,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61,
- 0, 0, 64, 63,195,111,180, 61,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 85,204, 28, 63, 48, 46,231, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 83,111,180, 61,104,102, 38, 63,111, 41,147, 61,
- 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63,
- 48, 46,231, 61,122, 0, 48, 63,120, 46,231, 61,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,191,204, 12, 63,199, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,199, 70, 7, 62, 85,204, 28, 63,
- 48, 46,231, 61,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-104,102, 38, 63,198, 31, 23, 62,195,136, 24, 63,179,253, 30, 62, 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63, 48, 46,231, 61,191,204, 12, 63,199, 70, 7, 62,191,204, 12, 63,
- 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62,
-104,102, 38, 63,198, 31, 23, 62,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 0, 0, 64, 63, 24, 71, 7, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62, 9, 68, 52, 63,241,253, 30, 62,
- 0, 0, 64, 63, 24, 71, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
- 24, 71, 7, 62,122, 0, 48, 63,120, 46,231, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62,191,204, 12, 63,149, 83,135, 62,191,204, 12, 63,248,151, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,162,218, 21, 63,
- 84, 97, 83, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21,184, 28, 63,222, 76,120, 62, 68,126, 20, 63, 64, 45,128, 62,162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63, 84, 97, 83, 62,191,204, 12, 63,248,151, 97, 62,191,204, 12, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62,
- 21,184, 28, 63,222, 76,120, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,114,132, 19, 63,169,144,151, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,149, 83,135, 62, 68,126, 20, 63, 64, 45,128, 62,
-114,132, 19, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,
-169,144,151, 62, 25,205, 26, 63, 14,201,146, 62,150, 68, 25, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 7,234, 18, 63, 65, 54,174, 62,191,204, 12, 63,160,111,180, 62,191,204, 12, 63, 90,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,231,157, 62,114,132, 19, 63,
-169,144,151, 62, 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-150, 68, 25, 63, 54,150,169, 62, 7,234, 18, 63, 65, 54,174, 62,114,132, 19, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,169,144,151, 62,191,204, 12, 63, 90,231,157, 62,191,204, 12, 63,
-149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,
-150, 68, 25, 63, 54,150,169, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,234, 17, 34, 63,243,101,144, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107,102, 38, 63,201,199,165, 62,185,199, 31, 63, 96,190,166, 62,
-234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,
-243,101,144, 62, 25,205, 26, 63, 14,201,146, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 80, 0, 0,168, 82,186, 3, 59, 0, 0, 0, 0, 20, 0, 0,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 90, 0, 0,104,191, 53, 3, 0, 0, 0, 0, 49, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0,
+ 42, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,163, 0, 0, 0,
+ 0, 0, 35, 0, 1, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0,
+165, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,165, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0,
+ 44, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,167, 0, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,167, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,
+169, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0,
+ 46, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,171, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
+173, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0,
+ 48, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,175, 0, 0, 0,
+ 0, 0, 35, 0, 5, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
+177, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,177, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0,
+ 50, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,179, 0, 0, 0,
+ 0, 0, 35, 0, 5, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
+181, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,
+ 52, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,183, 0, 0, 0,
+ 0, 0, 35, 0, 3, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,
+185, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,
+ 54, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,187, 0, 0, 0,
+ 0, 0, 35, 0, 3, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0,
+189, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,
+ 56, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,191, 0, 0, 0,
+ 0, 0, 35, 0, 4, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,
+193, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,
+ 58, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,195, 0, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,195, 0, 0, 0,
+ 0, 0, 35, 0, 4, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,
+197, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0,
+ 60, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0,199, 0, 0, 0,
+ 0, 0, 35, 0, 5, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0,
+201, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,
+ 62, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,203, 0, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,
+205, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0,
+ 64, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0,207, 0, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,
+209, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,
+ 66, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,211, 0, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,211, 0, 0, 0,
+ 0, 0, 35, 0, 6, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,
+213, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0,
+ 68, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0,215, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,215, 0, 0, 0,
+ 0, 0, 35, 0, 6, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0,
+217, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,
+ 70, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,219, 0, 0, 0,
+ 0, 0, 35, 0, 7, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0,
+221, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0,
+ 72, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,223, 0, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0,223, 0, 0, 0,
+ 0, 0, 35, 0, 7, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,
+225, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,
+ 74, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,227, 0, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,227, 0, 0, 0,
+ 0, 0, 35, 0, 8, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,
+229, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0,
+ 76, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,231, 0, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0,231, 0, 0, 0,
+ 0, 0, 35, 0, 8, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,
+233, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,
+ 78, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,235, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0,235, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,
+237, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,
+ 80, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0,239, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+241, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0,
+ 82, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,243, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0,243, 0, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,
+245, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,245, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0,
+ 84, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,247, 0, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,247, 0, 0, 0,
+ 0, 0, 35, 0, 7, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,
+249, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,249, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0,
+ 86, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,251, 0, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,251, 0, 0, 0,
+ 0, 0, 35, 0, 8, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,
+253, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,
+ 88, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,255, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,255, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,
+ 1, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 1, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0,
+ 90, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 3, 1, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0, 3, 1, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,
+ 5, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 5, 1, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0,
+ 92, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 7, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,
+ 9, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0,
+ 94, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 11, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+ 13, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0,
+ 96, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0, 15, 1, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0, 15, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,
+ 17, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 17, 1, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0,
+ 98, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0, 19, 1, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0, 19, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+ 21, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0,
+100, 0, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0, 23, 1, 0, 0, 0, 0, 35, 0,100, 0, 0, 0, 23, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,
+ 25, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0,
+102, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0, 27, 1, 0, 0,
+ 0, 0, 35, 0, 12, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,
+ 29, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0,
+104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0, 31, 1, 0, 0,
+ 0, 0, 35, 0, 12, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
+ 33, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0,
+106, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0, 35, 1, 0, 0,
+ 0, 0, 35, 0, 15, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
+ 37, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0,
+108, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0, 39, 1, 0, 0,
+ 0, 0, 35, 0, 13, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,
+ 41, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0,
+110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0, 43, 1, 0, 0,
+ 0, 0, 35, 0, 17, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,
+ 45, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0,
+112, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0, 47, 1, 0, 0,
+ 0, 0, 35, 0, 19, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,
+ 49, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0,
+114, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0, 51, 1, 0, 0,
+ 0, 0, 35, 0, 15, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,
+ 53, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0,
+116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0, 55, 1, 0, 0,
+ 0, 0, 35, 0, 16, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,
+ 57, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0,
+118, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0, 59, 1, 0, 0,
+ 0, 0, 35, 0, 22, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,
+ 61, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0,
+120, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0, 63, 1, 0, 0,
+ 0, 0, 35, 0, 14, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,
+ 65, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,
+122, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0, 67, 1, 0, 0,
+ 0, 0, 35, 0, 18, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,
+ 69, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0,
+124, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0, 71, 1, 0, 0,
+ 0, 0, 35, 0, 26, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,
+ 73, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0,
+126, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0, 75, 1, 0, 0,
+ 0, 0, 35, 0, 20, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,
+ 77, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,
+128, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0, 79, 1, 0, 0,
+ 0, 0, 35, 0, 21, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+ 81, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0,
+130, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 83, 1, 0, 0,
+ 0, 0, 35, 0, 30, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+ 85, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0,
+132, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 87, 1, 0, 0,
+ 0, 0, 35, 0, 23, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,
+ 89, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0,
+134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 91, 1, 0, 0,
+ 0, 0, 35, 0, 25, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,
+ 93, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0,
+136, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 95, 1, 0, 0,
+ 0, 0, 35, 0, 26, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,
+ 97, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0,
+138, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 99, 1, 0, 0,
+ 0, 0, 35, 0, 27, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,
+101, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0,
+140, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,103, 1, 0, 0,
+ 0, 0, 35, 0, 29, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,
+105, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0,
+142, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,107, 1, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,107, 1, 0, 0,
+ 0, 0, 35, 0, 30, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,
+109, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0,
+144, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,111, 1, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,111, 1, 0, 0,
+ 0, 0, 35, 0, 22, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+113, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0,
+146, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,146, 0, 0, 0,115, 1, 0, 0,
+ 0, 0, 35, 0, 32, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+117, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,
+148, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,148, 0, 0, 0,119, 1, 0, 0,
+ 0, 0, 35, 0, 37, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+121, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,121, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0,
+150, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,123, 1, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,123, 1, 0, 0,
+ 0, 0, 35, 0, 33, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+125, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,125, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,126, 1, 0, 0, 0, 0, 35, 0,
+152, 0, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,152, 0, 0, 0,127, 1, 0, 0,
+ 0, 0, 35, 0, 34, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+129, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,
+154, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,131, 1, 0, 0,
+ 0, 0, 35, 0, 39, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+133, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,133, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,134, 1, 0, 0, 0, 0, 35, 0,
+156, 0, 0, 0,134, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,135, 1, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,135, 1, 0, 0,
+ 0, 0, 35, 0, 35, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+137, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,137, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,138, 1, 0, 0, 0, 0, 35, 0,
+158, 0, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,139, 1, 0, 0,
+ 0, 0, 35, 0, 36, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,
+141, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,142, 1, 0, 0, 0, 0, 35, 0,
+160, 0, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,143, 1, 0, 0,
+ 0, 0, 35, 0, 37, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,
+145, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,
+102, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,147, 1, 0, 0, 0, 0, 33, 0, 46, 0, 0, 0,147, 1, 0, 0,
+ 0, 0, 33, 0, 43, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,
+149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,
+104, 0, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,151, 1, 0, 0,
+ 0, 0, 35, 0, 45, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,
+153, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,153, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,
+104, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,155, 1, 0, 0,
+ 0, 0, 35, 0, 42, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,
+157, 1, 0, 0, 0, 0, 33, 0, 44, 0, 0, 0,157, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,
+105, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,159, 1, 0, 0,
+ 0, 0, 33, 0, 43, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,
+161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,
+107, 0, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,163, 1, 0, 0,
+ 0, 0, 35, 0, 49, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0, 51, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0, 51, 0, 0, 0,
+165, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,
+107, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,167, 1, 0, 0,
+ 0, 0, 35, 0, 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,
+169, 1, 0, 0, 0, 0, 33, 0, 48, 0, 0, 0,169, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,
+108, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,171, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,171, 1, 0, 0,
+ 0, 0, 33, 0, 45, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,
+173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,
+110, 0, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,175, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,175, 1, 0, 0,
+ 0, 0, 35, 0, 53, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,
+177, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,177, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,
+110, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,179, 1, 0, 0,
+ 0, 0, 35, 0, 44, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,
+181, 1, 0, 0, 0, 0, 33, 0, 52, 0, 0, 0,181, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,
+111, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,183, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,183, 1, 0, 0,
+ 0, 0, 33, 0, 53, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,
+185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,
+113, 0, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,187, 1, 0, 0,
+ 0, 0, 35, 0, 57, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,
+189, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,189, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,
+113, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,191, 1, 0, 0,
+ 0, 0, 35, 0, 52, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,
+193, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,193, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,
+114, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,195, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,195, 1, 0, 0,
+ 0, 0, 33, 0, 57, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,
+197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,
+116, 0, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,199, 1, 0, 0,
+ 0, 0, 35, 0, 49, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0,
+201, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,201, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,
+116, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,203, 1, 0, 0,
+ 0, 0, 35, 0, 56, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,
+205, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,205, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,
+117, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,207, 1, 0, 0,
+ 0, 0, 33, 0, 50, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,
+209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,
+119, 0, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,211, 1, 0, 0,
+ 0, 0, 35, 0, 63, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0,
+213, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,
+119, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,215, 1, 0, 0,
+ 0, 0, 35, 0, 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,
+217, 1, 0, 0, 0, 0, 33, 0, 62, 0, 0, 0,217, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,
+120, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,219, 1, 0, 0,
+ 0, 0, 33, 0, 47, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,
+221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,
+122, 0, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,223, 1, 0, 0,
+ 0, 0, 35, 0, 67, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0,
+225, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,
+122, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,227, 1, 0, 0,
+ 0, 0, 35, 0, 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,
+229, 1, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0,229, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,
+123, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,231, 1, 0, 0,
+ 0, 0, 33, 0, 55, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,
+233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,
+125, 0, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,235, 1, 0, 0,
+ 0, 0, 35, 0, 71, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0,
+237, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,
+125, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,239, 1, 0, 0,
+ 0, 0, 35, 0, 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,
+241, 1, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0,241, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,
+126, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,243, 1, 0, 0,
+ 0, 0, 33, 0, 59, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,
+245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,
+128, 0, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,247, 1, 0, 0,
+ 0, 0, 35, 0, 75, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0,
+249, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,
+128, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,251, 1, 0, 0,
+ 0, 0, 35, 0, 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,
+253, 1, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0,253, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,
+129, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,255, 1, 0, 0,
+ 0, 0, 33, 0, 61, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0,
+ 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,
+131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 3, 2, 0, 0,
+ 0, 0, 35, 0, 79, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0,
+ 5, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,
+131, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 7, 2, 0, 0,
+ 0, 0, 35, 0, 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0,
+ 9, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 9, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,
+132, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0, 11, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0, 11, 2, 0, 0,
+ 0, 0, 33, 0, 65, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,
+ 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,
+134, 0, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 15, 2, 0, 0,
+ 0, 0, 35, 0, 67, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0,
+ 17, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,
+134, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 19, 2, 0, 0,
+ 0, 0, 35, 0, 64, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0,
+ 21, 2, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0, 21, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,
+135, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0, 23, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0, 23, 2, 0, 0,
+ 0, 0, 33, 0, 69, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0,
+ 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,
+137, 0, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 27, 2, 0, 0,
+ 0, 0, 35, 0, 71, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0,
+ 29, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,
+137, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 31, 2, 0, 0,
+ 0, 0, 35, 0, 68, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,
+ 33, 2, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0, 33, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,
+138, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, 35, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0, 35, 2, 0, 0,
+ 0, 0, 33, 0, 73, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,
+ 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,
+140, 0, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0, 39, 2, 0, 0,
+ 0, 0, 35, 0, 75, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0,
+ 41, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,
+140, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 43, 2, 0, 0,
+ 0, 0, 35, 0, 72, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0,
+ 45, 2, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0, 45, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,
+141, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 47, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0, 47, 2, 0, 0,
+ 0, 0, 33, 0, 77, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,
+ 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,
+143, 0, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0, 51, 2, 0, 0,
+ 0, 0, 35, 0, 79, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0,
+ 53, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,
+143, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 55, 2, 0, 0,
+ 0, 0, 35, 0, 76, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0,
+ 57, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 57, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0,
+144, 0, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, 59, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0, 59, 2, 0, 0,
+ 0, 0, 33, 0, 81, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,
+ 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,
+146, 0, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, 63, 2, 0, 0,
+ 0, 0, 35, 0, 63, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0,
+ 65, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,
+146, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 67, 2, 0, 0,
+ 0, 0, 35, 0, 80, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,
+ 69, 2, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0, 69, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0,
+147, 0, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 71, 2, 0, 0,
+ 0, 0, 33, 0, 82, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,
+ 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,
+149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0, 75, 2, 0, 0,
+ 0, 0, 35, 0, 93, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0, 95, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0, 95, 0, 0, 0,
+ 77, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,
+149, 0, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 79, 2, 0, 0,
+ 0, 0, 35, 0, 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,
+ 81, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0, 81, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0,
+150, 0, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0, 83, 2, 0, 0,
+ 0, 0, 33, 0, 85, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,
+ 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,
+152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0, 87, 2, 0, 0,
+ 0, 0, 35, 0, 95, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0, 97, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0, 97, 0, 0, 0,
+ 89, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,
+152, 0, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 91, 2, 0, 0,
+ 0, 0, 35, 0, 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,
+ 93, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 93, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0,
+153, 0, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0, 95, 2, 0, 0,
+ 0, 0, 33, 0, 87, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,
+ 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,
+155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0, 99, 2, 0, 0,
+ 0, 0, 35, 0, 97, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0, 99, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0, 99, 0, 0, 0,
+101, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,
+155, 0, 0, 0,102, 2, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,103, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,103, 2, 0, 0,
+ 0, 0, 35, 0, 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,
+105, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0,105, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,
+156, 0, 0, 0,106, 2, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,107, 2, 0, 0,
+ 0, 0, 33, 0, 89, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,
+109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,
+158, 0, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,111, 2, 0, 0,
+ 0, 0, 35, 0, 99, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,
+113, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,
+158, 0, 0, 0,114, 2, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,115, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,115, 2, 0, 0,
+ 0, 0, 35, 0, 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,
+117, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0,117, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,
+159, 0, 0, 0,118, 2, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,119, 2, 0, 0,
+ 0, 0, 33, 0, 91, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,
+121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,
+161, 0, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,123, 2, 0, 0,
+ 0, 0, 35, 0, 93, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0, 93, 0, 0, 0,
+125, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,125, 2, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,
+161, 0, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,127, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,127, 2, 0, 0,
+ 0, 0, 35, 0, 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0,
+129, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,129, 2, 0, 0, 0, 0, 33, 0, 27, 1, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,
+171, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,147, 1, 0, 0,
+ 0, 0, 35, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,
+ 26, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,
+164, 0, 0, 0,147, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,147, 1, 0, 0,
+ 0, 0, 35, 0, 26, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,
+ 28, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,
+150, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0, 31, 1, 0, 0,151, 1, 0, 0,
+ 0, 0, 35, 0, 27, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,
+ 30, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,152, 1, 0, 0, 0, 0, 35, 0,
+172, 0, 0, 0,152, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0,152, 1, 0, 0,153, 1, 0, 0,
+ 0, 0, 35, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,
+ 30, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,
+ 31, 1, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,153, 1, 0, 0,
+ 0, 0, 35, 0,167, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,
+ 29, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,
+156, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,157, 1, 0, 0,
+ 0, 0, 35, 0,166, 0, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,
+ 28, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,
+179, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,159, 1, 0, 0,
+ 0, 0, 35, 0,159, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,
+ 32, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,
+164, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,178, 0, 0, 0,
+ 0, 0, 35, 0, 32, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 34, 1, 0, 0,
+161, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,
+161, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,163, 1, 0, 0,
+ 0, 0, 35, 0, 37, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0,
+162, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,
+176, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,165, 1, 0, 0,
+ 0, 0, 35, 0,165, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,
+ 36, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,
+ 37, 1, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0, 37, 1, 0, 0,
+ 0, 0, 35, 0,175, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0,
+167, 1, 0, 0, 0, 0, 35, 0,167, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,
+167, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,169, 1, 0, 0,
+ 0, 0, 35, 0,162, 0, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0, 34, 1, 0, 0,
+168, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,
+187, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,171, 1, 0, 0,
+ 0, 0, 35, 0,170, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,
+ 38, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,
+168, 0, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,171, 1, 0, 0,
+ 0, 0, 35, 0, 38, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,
+ 40, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0,
+174, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0,175, 1, 0, 0,
+ 0, 0, 35, 0, 39, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,
+ 42, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,176, 1, 0, 0, 0, 0, 35, 0,
+188, 0, 0, 0,176, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,177, 1, 0, 0,
+ 0, 0, 35, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,
+ 42, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,
+ 43, 1, 0, 0,177, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,177, 1, 0, 0,
+ 0, 0, 35, 0,183, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,
+ 41, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,
+180, 1, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,181, 1, 0, 0,
+ 0, 0, 35, 0,182, 0, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,
+ 40, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,
+195, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,183, 1, 0, 0,
+ 0, 0, 35, 0,182, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,
+ 44, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,
+184, 0, 0, 0,183, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,183, 1, 0, 0,
+ 0, 0, 35, 0, 44, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,
+ 46, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,
+186, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0,187, 1, 0, 0,
+ 0, 0, 35, 0, 45, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,
+ 48, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,188, 1, 0, 0, 0, 0, 35, 0,
+196, 0, 0, 0,188, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,189, 1, 0, 0,
+ 0, 0, 35, 0,188, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,
+ 48, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,
+ 49, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,189, 1, 0, 0,
+ 0, 0, 35, 0,191, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,
+ 47, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,
+192, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,193, 1, 0, 0,
+ 0, 0, 35, 0,190, 0, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,
+ 46, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,
+199, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0,195, 1, 0, 0,
+ 0, 0, 35, 0,194, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,
+ 50, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,
+192, 0, 0, 0,195, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,195, 1, 0, 0,
+ 0, 0, 35, 0, 50, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,
+ 53, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,
+198, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,199, 1, 0, 0,
+ 0, 0, 35, 0, 51, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,
+ 54, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,
+200, 0, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,201, 1, 0, 0,
+ 0, 0, 35, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,
+ 54, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,
+ 55, 1, 0, 0,201, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0,201, 1, 0, 0,
+ 0, 0, 35, 0,175, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0,
+ 52, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,
+204, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,205, 1, 0, 0,
+ 0, 0, 35, 0,174, 0, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,
+ 53, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,
+207, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,207, 1, 0, 0,
+ 0, 0, 35, 0,207, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,
+ 56, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,
+178, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,206, 0, 0, 0,
+ 0, 0, 35, 0, 56, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,
+209, 1, 0, 0, 0, 0, 35, 0,209, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,210, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,
+209, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,211, 1, 0, 0,
+ 0, 0, 35, 0, 61, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0,
+210, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,204, 0, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,
+204, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,213, 1, 0, 0,
+ 0, 0, 35, 0,213, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,
+ 60, 1, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,
+ 61, 1, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, 61, 1, 0, 0,
+ 0, 0, 35, 0,203, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,203, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0,
+215, 1, 0, 0, 0, 0, 35, 0,215, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,216, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,
+215, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,217, 1, 0, 0,
+ 0, 0, 35, 0,180, 0, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,
+216, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,
+215, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,219, 1, 0, 0,
+ 0, 0, 35, 0,219, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,
+ 62, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,
+172, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,172, 0, 0, 0,214, 0, 0, 0,
+ 0, 0, 35, 0, 62, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0,
+221, 1, 0, 0, 0, 0, 35, 0,221, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,222, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,
+221, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,223, 1, 0, 0,
+ 0, 0, 35, 0, 67, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0,
+222, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,
+212, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,225, 1, 0, 0,
+ 0, 0, 35, 0,225, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,
+ 66, 1, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,
+ 67, 1, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0, 67, 1, 0, 0,
+ 0, 0, 35, 0,211, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,211, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0,
+227, 1, 0, 0, 0, 0, 35, 0,227, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,228, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,
+227, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,210, 0, 0, 0,229, 1, 0, 0,
+ 0, 0, 35, 0,170, 0, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0,
+228, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,
+223, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,231, 1, 0, 0,
+ 0, 0, 35, 0,231, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,
+ 68, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,
+188, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,188, 0, 0, 0,222, 0, 0, 0,
+ 0, 0, 35, 0, 68, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0,
+233, 1, 0, 0, 0, 0, 35, 0,233, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,234, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,
+233, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,235, 1, 0, 0,
+ 0, 0, 35, 0, 73, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0,
+234, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,
+220, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,237, 1, 0, 0,
+ 0, 0, 35, 0,237, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,
+ 72, 1, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,
+ 73, 1, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0, 73, 1, 0, 0,
+ 0, 0, 35, 0,219, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0,
+239, 1, 0, 0, 0, 0, 35, 0,239, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,240, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,
+239, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,218, 0, 0, 0,241, 1, 0, 0,
+ 0, 0, 35, 0,186, 0, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0,
+240, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,
+231, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,243, 1, 0, 0,
+ 0, 0, 35, 0,243, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,
+ 74, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,
+196, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,196, 0, 0, 0,230, 0, 0, 0,
+ 0, 0, 35, 0, 74, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 76, 1, 0, 0,
+245, 1, 0, 0, 0, 0, 35, 0,245, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,246, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,
+245, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,247, 1, 0, 0,
+ 0, 0, 35, 0, 79, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0,
+246, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,248, 1, 0, 0, 0, 0, 35, 0,
+228, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,249, 1, 0, 0,
+ 0, 0, 35, 0,249, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,
+ 78, 1, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,
+ 79, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0, 79, 1, 0, 0,
+ 0, 0, 35, 0,227, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,227, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0,
+251, 1, 0, 0, 0, 0, 35, 0,251, 1, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,252, 1, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,
+251, 1, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,226, 0, 0, 0,253, 1, 0, 0,
+ 0, 0, 35, 0,194, 0, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0, 76, 1, 0, 0,
+252, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,
+239, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,254, 1, 0, 0,255, 1, 0, 0,
+ 0, 0, 35, 0,255, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,201, 0, 0, 0,
+ 80, 1, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,
+200, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,238, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,200, 0, 0, 0,238, 0, 0, 0,
+ 0, 0, 35, 0, 80, 1, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 82, 1, 0, 0,
+ 1, 2, 0, 0, 0, 0, 35, 0, 1, 2, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 2, 2, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0,
+ 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0, 3, 2, 0, 0,
+ 0, 0, 35, 0, 85, 1, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0,
+ 2, 2, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 4, 2, 0, 0, 0, 0, 35, 0,
+236, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0, 5, 2, 0, 0,
+ 0, 0, 35, 0, 5, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0,
+ 84, 1, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,
+ 85, 1, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 85, 1, 0, 0,
+ 0, 0, 35, 0,235, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0,
+ 7, 2, 0, 0, 0, 0, 35, 0, 7, 2, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 8, 2, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,
+ 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,234, 0, 0, 0, 9, 2, 0, 0,
+ 0, 0, 35, 0,198, 0, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 82, 1, 0, 0,
+ 8, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,
+245, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 10, 2, 0, 0, 11, 2, 0, 0,
+ 0, 0, 35, 0, 10, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,
+ 86, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,
+208, 0, 0, 0, 11, 2, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 11, 2, 0, 0,
+ 0, 0, 35, 0, 86, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0,
+ 88, 1, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0,
+ 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, 91, 1, 0, 0, 15, 2, 0, 0,
+ 0, 0, 35, 0, 87, 1, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0,
+ 90, 1, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0, 16, 2, 0, 0, 0, 0, 35, 0,
+242, 0, 0, 0, 16, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 16, 2, 0, 0, 17, 2, 0, 0,
+ 0, 0, 35, 0, 16, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,
+ 90, 1, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,213, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,
+ 91, 1, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 17, 2, 0, 0,
+ 0, 0, 35, 0,211, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,211, 0, 0, 0,
+ 89, 1, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,
+ 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,206, 0, 0, 0, 21, 2, 0, 0,
+ 0, 0, 35, 0,210, 0, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,207, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,207, 0, 0, 0,
+ 88, 1, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,
+247, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 22, 2, 0, 0, 23, 2, 0, 0,
+ 0, 0, 35, 0, 22, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,
+ 92, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,
+216, 0, 0, 0, 23, 2, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 23, 2, 0, 0,
+ 0, 0, 35, 0, 92, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0,
+ 94, 1, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0,
+ 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 97, 1, 0, 0, 27, 2, 0, 0,
+ 0, 0, 35, 0, 93, 1, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0,
+ 96, 1, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0, 28, 2, 0, 0, 0, 0, 35, 0,
+248, 0, 0, 0, 28, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 28, 2, 0, 0, 29, 2, 0, 0,
+ 0, 0, 35, 0, 28, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,
+ 96, 1, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,221, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,
+ 97, 1, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 29, 2, 0, 0,
+ 0, 0, 35, 0,219, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,219, 0, 0, 0,
+ 95, 1, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,
+ 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,214, 0, 0, 0, 33, 2, 0, 0,
+ 0, 0, 35, 0,218, 0, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,215, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,215, 0, 0, 0,
+ 94, 1, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,
+251, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 34, 2, 0, 0, 35, 2, 0, 0,
+ 0, 0, 35, 0, 34, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,
+ 98, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,
+224, 0, 0, 0, 35, 2, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, 35, 2, 0, 0,
+ 0, 0, 35, 0, 98, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0,
+100, 1, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,
+ 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,103, 1, 0, 0, 39, 2, 0, 0,
+ 0, 0, 35, 0, 99, 1, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,101, 1, 0, 0,
+102, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0, 40, 2, 0, 0, 0, 0, 35, 0,
+252, 0, 0, 0, 40, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 40, 2, 0, 0, 41, 2, 0, 0,
+ 0, 0, 35, 0, 40, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,
+102, 1, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,229, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,
+103, 1, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 41, 2, 0, 0,
+ 0, 0, 35, 0,227, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,227, 0, 0, 0,
+101, 1, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,
+ 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,222, 0, 0, 0, 45, 2, 0, 0,
+ 0, 0, 35, 0,226, 0, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,223, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,
+100, 1, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,
+255, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 46, 2, 0, 0, 47, 2, 0, 0,
+ 0, 0, 35, 0, 46, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,
+104, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,
+232, 0, 0, 0, 47, 2, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 47, 2, 0, 0,
+ 0, 0, 35, 0,104, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0,
+106, 1, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,
+ 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0, 51, 2, 0, 0,
+ 0, 0, 35, 0,105, 1, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,107, 1, 0, 0,
+108, 1, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 52, 2, 0, 0, 0, 0, 35, 0,
+ 0, 1, 0, 0, 52, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 52, 2, 0, 0, 53, 2, 0, 0,
+ 0, 0, 35, 0, 52, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0,
+108, 1, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,
+109, 1, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0, 53, 2, 0, 0,
+ 0, 0, 35, 0,235, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0,
+107, 1, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,
+ 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,230, 0, 0, 0, 57, 2, 0, 0,
+ 0, 0, 35, 0,234, 0, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,231, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,
+106, 1, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0,
+ 3, 1, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0, 58, 2, 0, 0, 59, 2, 0, 0,
+ 0, 0, 35, 0, 58, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0,
+110, 1, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,
+240, 0, 0, 0, 59, 2, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 59, 2, 0, 0,
+ 0, 0, 35, 0,110, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0,
+113, 1, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,
+ 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,115, 1, 0, 0, 63, 2, 0, 0,
+ 0, 0, 35, 0,111, 1, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,112, 1, 0, 0,
+114, 1, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 64, 2, 0, 0, 0, 0, 35, 0,
+ 4, 1, 0, 0, 64, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 64, 2, 0, 0, 65, 2, 0, 0,
+ 0, 0, 35, 0, 64, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,
+114, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,205, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,
+115, 1, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0, 65, 2, 0, 0,
+ 0, 0, 35, 0,203, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,203, 0, 0, 0,
+112, 1, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,
+ 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,238, 0, 0, 0, 69, 2, 0, 0,
+ 0, 0, 35, 0,202, 0, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,239, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,239, 0, 0, 0,
+113, 1, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0,
+ 11, 1, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0, 71, 2, 0, 0,
+ 0, 0, 35, 0, 71, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0,
+116, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,
+242, 0, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0,242, 0, 0, 0, 10, 1, 0, 0,
+ 0, 0, 35, 0,116, 1, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,116, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,118, 1, 0, 0,
+ 73, 2, 0, 0, 0, 0, 35, 0, 73, 2, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0, 74, 2, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,
+ 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,117, 1, 0, 0, 75, 2, 0, 0,
+ 0, 0, 35, 0,121, 1, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,
+ 74, 2, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0, 76, 2, 0, 0, 0, 0, 35, 0,
+ 8, 1, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0, 77, 2, 0, 0,
+ 0, 0, 35, 0, 77, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,
+120, 1, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,
+121, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0,121, 1, 0, 0,
+ 0, 0, 35, 0, 7, 1, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,
+ 79, 2, 0, 0, 0, 0, 35, 0, 79, 2, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0, 80, 2, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,
+ 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0, 81, 2, 0, 0,
+ 0, 0, 35, 0,244, 0, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,118, 1, 0, 0,
+ 80, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0,
+ 15, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0, 83, 2, 0, 0,
+ 0, 0, 35, 0, 83, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0,
+122, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,
+248, 0, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0,248, 0, 0, 0, 14, 1, 0, 0,
+ 0, 0, 35, 0,122, 1, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,122, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,124, 1, 0, 0,
+ 85, 2, 0, 0, 0, 0, 35, 0, 85, 2, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0, 86, 2, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,
+ 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,123, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0, 87, 2, 0, 0,
+ 0, 0, 35, 0,127, 1, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,
+ 86, 2, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 88, 2, 0, 0, 0, 0, 35, 0,
+ 12, 1, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0, 89, 2, 0, 0,
+ 0, 0, 35, 0, 89, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0,
+126, 1, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,
+127, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,127, 1, 0, 0,
+ 0, 0, 35, 0, 11, 1, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,
+ 91, 2, 0, 0, 0, 0, 35, 0, 91, 2, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0, 92, 2, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,
+ 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 93, 2, 0, 0,
+ 0, 0, 35, 0,246, 0, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,124, 1, 0, 0,
+ 92, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0,
+ 19, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0, 95, 2, 0, 0,
+ 0, 0, 35, 0, 95, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,
+128, 1, 0, 0, 0, 0, 35, 0,128, 1, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,
+252, 0, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0,252, 0, 0, 0, 18, 1, 0, 0,
+ 0, 0, 35, 0,128, 1, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,128, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,130, 1, 0, 0,
+ 97, 2, 0, 0, 0, 0, 35, 0, 97, 2, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0, 98, 2, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,
+ 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,129, 1, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0, 99, 2, 0, 0,
+ 0, 0, 35, 0,133, 1, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,
+ 98, 2, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0,100, 2, 0, 0, 0, 0, 35, 0,
+ 16, 1, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,101, 2, 0, 0,
+ 0, 0, 35, 0,101, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,
+132, 1, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,
+133, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,133, 1, 0, 0,
+ 0, 0, 35, 0, 15, 1, 0, 0,103, 2, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,
+103, 2, 0, 0, 0, 0, 35, 0,103, 2, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,104, 2, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,
+103, 2, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0,105, 2, 0, 0,
+ 0, 0, 35, 0,250, 0, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,130, 1, 0, 0,
+104, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,
+ 23, 1, 0, 0,135, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,107, 2, 0, 0,
+ 0, 0, 35, 0,107, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,
+134, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,108, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,
+ 0, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 0, 1, 0, 0, 22, 1, 0, 0,
+ 0, 0, 35, 0,134, 1, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,
+109, 2, 0, 0, 0, 0, 35, 0,109, 2, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,110, 2, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,
+109, 2, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,111, 2, 0, 0,
+ 0, 0, 35, 0,139, 1, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,
+110, 2, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,112, 2, 0, 0, 0, 0, 35, 0,
+ 20, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,113, 2, 0, 0,
+ 0, 0, 35, 0,113, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,
+138, 1, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,
+139, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,139, 1, 0, 0,
+ 0, 0, 35, 0, 19, 1, 0, 0,115, 2, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0,137, 1, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,
+115, 2, 0, 0, 0, 0, 35, 0,115, 2, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,116, 2, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,
+115, 2, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0,117, 2, 0, 0,
+ 0, 0, 35, 0,254, 0, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,
+116, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,
+ 7, 1, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,119, 2, 0, 0,
+ 0, 0, 35, 0,119, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,
+140, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,120, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,
+ 4, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 4, 1, 0, 0, 6, 1, 0, 0,
+ 0, 0, 35, 0,140, 1, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0,142, 1, 0, 0,
+121, 2, 0, 0, 0, 0, 35, 0,121, 2, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,122, 2, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,
+121, 2, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,123, 2, 0, 0,
+ 0, 0, 35, 0,144, 1, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,
+122, 2, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,124, 2, 0, 0, 0, 0, 35, 0,
+ 8, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,125, 2, 0, 0,
+ 0, 0, 35, 0,125, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,
+145, 1, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,
+144, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,144, 1, 0, 0,
+ 0, 0, 35, 0, 23, 1, 0, 0,127, 2, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,
+127, 2, 0, 0, 0, 0, 35, 0,127, 2, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,128, 2, 0, 0,129, 2, 0, 0, 0, 0, 35, 0,
+127, 2, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,129, 2, 0, 0,
+ 0, 0, 35, 0, 2, 1, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,142, 1, 0, 0,
+128, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,184, 25, 54, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 27, 54, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,127, 54, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,112, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,100, 0, 0,104, 27, 54, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0, 0, 5, 0, 0, 27, 1, 0, 0,102, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+146, 1, 0, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0, 27, 1, 0, 0,171, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,171, 0, 0, 0,146, 1, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 1, 0, 0,
+ 46, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0,148, 1, 0, 0,147, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 43, 0, 0, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,146, 1, 0, 0,
+102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0, 12, 0, 0, 0,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+165, 0, 0, 0,148, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0, 26, 1, 0, 0,148, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,165, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 1, 0, 0,
+ 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0,170, 0, 0, 0,147, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 46, 0, 0, 0,147, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0,164, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0,102, 0, 0, 0,149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+149, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0, 26, 1, 0, 0, 28, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,149, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 1, 0, 0,
+103, 0, 0, 0,149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 1, 0, 0,151, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,104, 0, 0, 0,150, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 1, 0, 0,149, 1, 0, 0,
+102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 1, 0, 0, 14, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 31, 1, 0, 0,151, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0, 27, 1, 0, 0,151, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,151, 1, 0, 0, 31, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 1, 0, 0,
+104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0, 29, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,103, 0, 0, 0,150, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 1, 0, 0, 30, 1, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0, 45, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+152, 1, 0, 0,172, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0,168, 0, 0, 0,172, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,152, 1, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 1, 0, 0,
+ 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 1, 0, 0,154, 1, 0, 0,153, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,104, 0, 0, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 1, 0, 0,152, 1, 0, 0,
+ 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 0, 0, 0, 13, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 30, 1, 0, 0,154, 1, 0, 0,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0,169, 0, 0, 0,154, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,154, 1, 0, 0, 30, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 1, 0, 0,
+104, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 1, 0, 0,173, 0, 0, 0,153, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 47, 0, 0, 0,153, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 0, 0, 0, 31, 1, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 44, 0, 0, 0,155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+155, 1, 0, 0, 29, 1, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0,167, 0, 0, 0, 29, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 29, 1, 0, 0,155, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,
+103, 0, 0, 0,155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 1, 0, 0,157, 1, 0, 0,156, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 42, 0, 0, 0,156, 1, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 1, 0, 0,155, 1, 0, 0,
+ 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+162, 0, 0, 0,157, 1, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0,166, 0, 0, 0,157, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,157, 1, 0, 0,162, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,
+ 42, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 0, 0, 0, 28, 1, 0, 0,156, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,103, 0, 0, 0,156, 1, 0, 0, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,163, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 1, 0, 0,105, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 33, 1, 0, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,158, 1, 0, 0,179, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 33, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 1, 0, 0,
+ 50, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,160, 1, 0, 0,158, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,105, 0, 0, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 1, 0, 0,159, 1, 0, 0,
+ 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 0, 0, 0, 12, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 32, 1, 0, 0,160, 1, 0, 0,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 0, 0, 0,165, 0, 0, 0,160, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,160, 1, 0, 0, 32, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0,
+ 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,178, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 1, 0, 0, 0,164, 0, 0, 0,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 0, 0, 0,159, 1, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 1, 0, 0,105, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 32, 1, 0, 0, 34, 1, 0, 0,161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,161, 1, 0, 0, 34, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 34, 1, 0, 0, 32, 1, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 1, 0, 0,
+106, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0,163, 1, 0, 0,161, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,105, 0, 0, 0,161, 1, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 1, 0, 0,162, 1, 0, 0,
+107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 1, 0, 0, 16, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 33, 1, 0, 0,163, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0, 37, 1, 0, 0,163, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,163, 1, 0, 0, 33, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0,
+107, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0, 35, 1, 0, 0, 36, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 15, 0, 0, 0, 36, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0,162, 1, 0, 0,
+106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 1, 0, 0, 49, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+176, 0, 0, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,164, 1, 0, 0,180, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0,176, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 1, 0, 0,
+ 51, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 49, 0, 0, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 1, 0, 0,165, 1, 0, 0,
+107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0, 15, 0, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+177, 0, 0, 0,166, 1, 0, 0, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0, 36, 1, 0, 0,166, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,166, 1, 0, 0,177, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 1, 0, 0,
+107, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,181, 0, 0, 0, 37, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 16, 0, 0, 0, 37, 1, 0, 0,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 0, 0, 0,165, 1, 0, 0,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 1, 0, 0, 48, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+175, 0, 0, 0, 35, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,167, 1, 0, 0, 35, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0,175, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 1, 0, 0,
+106, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0,169, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 48, 0, 0, 0,167, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 1, 0, 0,168, 1, 0, 0,
+ 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 0, 0, 0, 0, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+174, 0, 0, 0,169, 1, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 0, 0, 0,162, 0, 0, 0,169, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,169, 1, 0, 0,174, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 0, 0, 0,
+ 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0, 34, 1, 0, 0,163, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 12, 0, 0, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 1, 0, 0,168, 1, 0, 0,
+106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0,108, 0, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+170, 1, 0, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 0, 0, 0, 39, 1, 0, 0,187, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,187, 0, 0, 0,170, 1, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 1, 0, 0,
+ 54, 0, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 1, 0, 0,172, 1, 0, 0,171, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 45, 0, 0, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0,170, 1, 0, 0,
+108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0, 13, 0, 0, 0,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+169, 0, 0, 0,172, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0, 38, 1, 0, 0,172, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0,169, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 1, 0, 0,
+ 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0,186, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 54, 0, 0, 0,171, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 0, 0, 0,168, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0,108, 0, 0, 0,173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+173, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0, 38, 1, 0, 0, 40, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 40, 1, 0, 0,173, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 1, 0, 0,
+109, 0, 0, 0,173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 1, 0, 0,175, 1, 0, 0,174, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,110, 0, 0, 0,174, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 1, 0, 0,173, 1, 0, 0,
+108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0, 18, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 43, 1, 0, 0,175, 1, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0, 39, 1, 0, 0,175, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,175, 1, 0, 0, 43, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 1, 0, 0,
+110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 1, 0, 0, 41, 1, 0, 0,174, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,109, 0, 0, 0,174, 1, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0, 42, 1, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0, 53, 0, 0, 0,176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+176, 1, 0, 0,188, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0,184, 0, 0, 0,188, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0,176, 1, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 1, 0, 0,
+ 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 1, 0, 0,178, 1, 0, 0,177, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,110, 0, 0, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 1, 0, 0,176, 1, 0, 0,
+ 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0, 17, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 42, 1, 0, 0,178, 1, 0, 0,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0,185, 0, 0, 0,178, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,178, 1, 0, 0, 42, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 1, 0, 0,
+110, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0,189, 0, 0, 0,177, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 55, 0, 0, 0,177, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 0, 0, 0, 43, 1, 0, 0,
+ 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 52, 0, 0, 0,179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+179, 1, 0, 0, 41, 1, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0,183, 0, 0, 0, 41, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0,179, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 1, 0, 0,
+109, 0, 0, 0,179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 1, 0, 0,181, 1, 0, 0,180, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 44, 0, 0, 0,180, 1, 0, 0,181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,179, 1, 0, 0,
+ 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0, 0, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+166, 0, 0, 0,181, 1, 0, 0,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 0, 0, 0,182, 0, 0, 0,181, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,166, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 1, 0, 0,
+ 44, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 40, 1, 0, 0,180, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,109, 0, 0, 0,180, 1, 0, 0, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 1, 0, 0,167, 0, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0,111, 0, 0, 0,182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+182, 1, 0, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0, 45, 1, 0, 0,195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0,182, 1, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 1, 0, 0,
+ 58, 0, 0, 0,182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 1, 0, 0,184, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 53, 0, 0, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 1, 0, 0,182, 1, 0, 0,
+111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0, 17, 0, 0, 0,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+185, 0, 0, 0,184, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0, 44, 1, 0, 0,184, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,184, 1, 0, 0,185, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 1, 0, 0,
+ 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0,194, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 58, 0, 0, 0,183, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 0, 0, 0,184, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0,111, 0, 0, 0,185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+185, 1, 0, 0, 46, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0, 44, 1, 0, 0, 46, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 46, 1, 0, 0,185, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 1, 0, 0,
+112, 0, 0, 0,185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 1, 0, 0,187, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,113, 0, 0, 0,186, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 1, 0, 0,185, 1, 0, 0,
+111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0, 20, 0, 0, 0, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 49, 1, 0, 0,187, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0, 45, 1, 0, 0,187, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,187, 1, 0, 0, 49, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 1, 0, 0,
+113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0, 47, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,112, 0, 0, 0,186, 1, 0, 0, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 1, 0, 0, 48, 1, 0, 0,
+ 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0, 57, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+188, 1, 0, 0,196, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0,192, 0, 0, 0,196, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,196, 0, 0, 0,188, 1, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 1, 0, 0,
+ 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,190, 1, 0, 0,189, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,113, 0, 0, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 1, 0, 0,188, 1, 0, 0,
+ 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 0, 0, 0, 19, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 48, 1, 0, 0,190, 1, 0, 0,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0,193, 0, 0, 0,190, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,190, 1, 0, 0, 48, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 1, 0, 0,
+113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0,197, 0, 0, 0,189, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 59, 0, 0, 0,189, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 49, 1, 0, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 56, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+191, 1, 0, 0, 47, 1, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0,191, 0, 0, 0, 47, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 47, 1, 0, 0,191, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 1, 0, 0,
+112, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 1, 0, 0,193, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 52, 0, 0, 0,192, 1, 0, 0,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 1, 0, 0,191, 1, 0, 0,
+ 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 0, 0, 0, 0, 0, 0, 0,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+182, 0, 0, 0,193, 1, 0, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 0, 0, 0,190, 0, 0, 0,193, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,193, 1, 0, 0,182, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 1, 0, 0,
+ 52, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 46, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,112, 0, 0, 0,192, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 1, 0, 0,183, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0,114, 0, 0, 0,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+194, 1, 0, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0, 51, 1, 0, 0,199, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0,194, 1, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,
+ 60, 0, 0, 0,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,196, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 57, 0, 0, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,194, 1, 0, 0,
+114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0, 19, 0, 0, 0,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+193, 0, 0, 0,196, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0, 50, 1, 0, 0,196, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,193, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,
+ 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0,198, 0, 0, 0,195, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 60, 0, 0, 0,195, 1, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0,192, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0,114, 0, 0, 0,197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+197, 1, 0, 0, 53, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0, 50, 1, 0, 0, 53, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0,197, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 1, 0, 0,
+115, 0, 0, 0,197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 1, 0, 0,199, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,116, 0, 0, 0,198, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 1, 0, 0,197, 1, 0, 0,
+114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0, 21, 0, 0, 0, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 55, 1, 0, 0,199, 1, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0, 51, 1, 0, 0,199, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,199, 1, 0, 0, 55, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 1, 0, 0,
+116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0, 52, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,115, 0, 0, 0,198, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 1, 0, 0, 54, 1, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0, 49, 0, 0, 0,200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+200, 1, 0, 0,200, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0,176, 0, 0, 0,200, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,200, 0, 0, 0,200, 1, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 1, 0, 0,
+ 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,202, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,116, 0, 0, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 1, 0, 0,200, 1, 0, 0,
+ 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 0, 0, 0, 15, 0, 0, 0, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 54, 1, 0, 0,202, 1, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0,177, 0, 0, 0,202, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,202, 1, 0, 0, 54, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 1, 0, 0,
+116, 0, 0, 0, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,201, 0, 0, 0,201, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 61, 0, 0, 0,201, 1, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 0, 55, 1, 0, 0,
+ 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, 48, 0, 0, 0,203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+203, 1, 0, 0, 52, 1, 0, 0,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0,175, 0, 0, 0, 52, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 52, 1, 0, 0,203, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 1, 0, 0,
+115, 0, 0, 0,203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 1, 0, 0,205, 1, 0, 0,204, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 56, 0, 0, 0,204, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 1, 0, 0,203, 1, 0, 0,
+ 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0, 0, 0, 0, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+190, 0, 0, 0,205, 1, 0, 0,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0,174, 0, 0, 0,205, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,205, 1, 0, 0,190, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 1, 0, 0,
+ 56, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 53, 1, 0, 0,204, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,115, 0, 0, 0,204, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0,191, 0, 0, 0,
+ 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,117, 0, 0, 0, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 57, 1, 0, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 0, 0, 0,206, 1, 0, 0,207, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 57, 1, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,
+ 64, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,208, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,117, 0, 0, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 1, 0, 0,207, 1, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 16, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 56, 1, 0, 0,208, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,179, 0, 0, 0,208, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,208, 1, 0, 0, 56, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 0, 0, 0,
+ 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,206, 0, 0, 0,178, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 1, 0, 0, 0,178, 0, 0, 0,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0,207, 1, 0, 0,
+ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 1, 0, 0,117, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 56, 1, 0, 0, 58, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,209, 1, 0, 0, 58, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 58, 1, 0, 0, 56, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 1, 0, 0,
+118, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0,211, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,117, 0, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 1, 0, 0,210, 1, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0, 23, 0, 0, 0, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 57, 1, 0, 0,211, 1, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0, 61, 1, 0, 0,211, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,211, 1, 0, 0, 57, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0,
+119, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0, 59, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 22, 0, 0, 0, 60, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,210, 1, 0, 0,
+118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 1, 0, 0, 63, 0, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+204, 0, 0, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 0, 0, 0,212, 1, 0, 0,208, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,204, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 1, 0, 0,
+ 65, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,214, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 63, 0, 0, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,214, 1, 0, 0,213, 1, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0, 22, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+205, 0, 0, 0,214, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0, 60, 1, 0, 0,214, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,214, 1, 0, 0,205, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0,
+119, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,209, 0, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 23, 0, 0, 0, 61, 1, 0, 0,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 0, 0, 0,213, 1, 0, 0,
+ 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 1, 0, 0, 62, 0, 0, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+203, 0, 0, 0, 59, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,215, 1, 0, 0, 59, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,203, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 1, 0, 0,
+118, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0,217, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 62, 0, 0, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,217, 1, 0, 0,216, 1, 0, 0,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0, 5, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+202, 0, 0, 0,217, 1, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,180, 0, 0, 0,217, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,217, 1, 0, 0,202, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 0, 0, 0,
+ 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0, 58, 1, 0, 0,181, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 16, 0, 0, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 1, 0, 0,216, 1, 0, 0,
+118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 1, 0, 0,120, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 63, 1, 0, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 0, 0, 0,218, 1, 0, 0,215, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 63, 1, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 1, 0, 0,
+ 68, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,220, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,120, 0, 0, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 1, 0, 0,219, 1, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 0, 0, 0, 14, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 62, 1, 0, 0,220, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 0, 0, 0,173, 0, 0, 0,220, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,220, 1, 0, 0, 62, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,
+ 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,214, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 2, 0, 0, 0,172, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,214, 0, 0, 0,219, 1, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,120, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 62, 1, 0, 0, 64, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,221, 1, 0, 0, 64, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 64, 1, 0, 0, 62, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,
+121, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0,223, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,120, 0, 0, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 1, 0, 0,222, 1, 0, 0,
+122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0, 25, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 63, 1, 0, 0,223, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0, 67, 1, 0, 0,223, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,223, 1, 0, 0, 63, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 1, 0, 0,
+122, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0, 65, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 24, 0, 0, 0, 66, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 1, 0, 0,222, 1, 0, 0,
+121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 1, 0, 0, 67, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+212, 0, 0, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0,224, 1, 0, 0,216, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,212, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 1, 0, 0,
+ 69, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,226, 1, 0, 0,224, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 67, 0, 0, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 1, 0, 0,225, 1, 0, 0,
+122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 1, 0, 0, 24, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+213, 0, 0, 0,226, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0, 66, 1, 0, 0,226, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,226, 1, 0, 0,213, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0,
+122, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,217, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 25, 0, 0, 0, 67, 1, 0, 0,217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,217, 0, 0, 0,225, 1, 0, 0,
+ 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 1, 0, 0, 66, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+211, 0, 0, 0, 65, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,227, 1, 0, 0, 65, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 65, 1, 0, 0,211, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 1, 0, 0,
+121, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0,229, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 66, 0, 0, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 1, 0, 0,228, 1, 0, 0,
+ 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0, 1, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+210, 0, 0, 0,229, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 0, 0, 0,170, 0, 0, 0,229, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,229, 1, 0, 0,210, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 0, 0, 0,
+ 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0, 64, 1, 0, 0,171, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 14, 0, 0, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 1, 0, 0,228, 1, 0, 0,
+121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 1, 0, 0,123, 0, 0, 0, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 69, 1, 0, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0,230, 1, 0, 0,223, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0, 69, 1, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 1, 0, 0,
+ 72, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,232, 1, 0, 0,230, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,123, 0, 0, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 1, 0, 0,231, 1, 0, 0,
+ 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 0, 0, 0, 18, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 68, 1, 0, 0,232, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0,189, 0, 0, 0,232, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,232, 1, 0, 0, 68, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0,
+ 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,222, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 3, 0, 0, 0,188, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 0, 0, 0,231, 1, 0, 0,
+ 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 1, 0, 0,123, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 68, 1, 0, 0, 70, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,233, 1, 0, 0, 70, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 70, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 1, 0, 0,
+124, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0,235, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,123, 0, 0, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 1, 0, 0,234, 1, 0, 0,
+125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0, 27, 0, 0, 0, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 69, 1, 0, 0,235, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0, 73, 1, 0, 0,235, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,235, 1, 0, 0, 69, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0,
+125, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0, 71, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 26, 0, 0, 0, 72, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 1, 0, 0,234, 1, 0, 0,
+124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 1, 0, 0, 71, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+220, 0, 0, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0,236, 1, 0, 0,224, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,220, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 1, 0, 0,
+ 73, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,238, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 71, 0, 0, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,237, 1, 0, 0,
+125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0, 26, 0, 0, 0,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+221, 0, 0, 0,238, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0, 72, 1, 0, 0,238, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,221, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0,
+125, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,225, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 27, 0, 0, 0, 73, 1, 0, 0,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 0, 0, 0,237, 1, 0, 0,
+ 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 1, 0, 0, 70, 0, 0, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+219, 0, 0, 0, 71, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,239, 1, 0, 0, 71, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 71, 1, 0, 0,219, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 1, 0, 0,
+124, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0,241, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 70, 0, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,241, 1, 0, 0,240, 1, 0, 0,
+ 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 0, 0, 0, 2, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+218, 0, 0, 0,241, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 0, 0, 0,186, 0, 0, 0,241, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,241, 1, 0, 0,218, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 0, 0, 0,
+ 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0, 70, 1, 0, 0,187, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 18, 0, 0, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 1, 0, 0,240, 1, 0, 0,
+124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 1, 0, 0,126, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 75, 1, 0, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 0, 0, 0,242, 1, 0, 0,231, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0, 75, 1, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 1, 0, 0,
+ 76, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,244, 1, 0, 0,242, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,126, 0, 0, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 1, 0, 0,243, 1, 0, 0,
+ 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 20, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 74, 1, 0, 0,244, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0,197, 0, 0, 0,244, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,244, 1, 0, 0, 74, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 0, 0, 0,
+ 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,230, 0, 0, 0,196, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 4, 0, 0, 0,196, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 0, 0, 0,243, 1, 0, 0,
+ 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 1, 0, 0,126, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 74, 1, 0, 0, 76, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,245, 1, 0, 0, 76, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 76, 1, 0, 0, 74, 1, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 1, 0, 0,
+127, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0,247, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,126, 0, 0, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 1, 0, 0,246, 1, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 1, 0, 0, 29, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 75, 1, 0, 0,247, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0, 79, 1, 0, 0,247, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,247, 1, 0, 0, 75, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 1, 0, 0,
+128, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0, 77, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 28, 0, 0, 0, 78, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 1, 0, 0,246, 1, 0, 0,
+127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 1, 0, 0, 75, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+228, 0, 0, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0,248, 1, 0, 0,232, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,228, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 1, 0, 0,
+ 77, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,250, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 75, 0, 0, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 1, 0, 0,249, 1, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 1, 0, 0, 28, 0, 0, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+229, 0, 0, 0,250, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0, 78, 1, 0, 0,250, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,250, 1, 0, 0,229, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 1, 0, 0,
+128, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,233, 0, 0, 0, 79, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 29, 0, 0, 0, 79, 1, 0, 0,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 0, 0, 0,249, 1, 0, 0,
+ 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 1, 0, 0, 74, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+227, 0, 0, 0, 77, 1, 0, 0,251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,251, 1, 0, 0, 77, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 77, 1, 0, 0,227, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 1, 0, 0,
+127, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0,253, 1, 0, 0,251, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 74, 0, 0, 0,251, 1, 0, 0,253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 1, 0, 0,252, 1, 0, 0,
+ 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 0, 0, 0, 3, 0, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+226, 0, 0, 0,253, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 0, 0, 0,194, 0, 0, 0,253, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,253, 1, 0, 0,226, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0,
+ 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0, 76, 1, 0, 0,195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 20, 0, 0, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 1, 0, 0,252, 1, 0, 0,
+127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 1, 0, 0,129, 0, 0, 0, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 81, 1, 0, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0,254, 1, 0, 0,239, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0, 81, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 1, 0, 0,
+ 80, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0, 0, 2, 0, 0,254, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,129, 0, 0, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0,255, 1, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 0, 21, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 80, 1, 0, 0, 0, 2, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 0, 0, 0,201, 0, 0, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 80, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 0, 0, 0,
+ 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0,238, 0, 0, 0,200, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 5, 0, 0, 0,200, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,238, 0, 0, 0,255, 1, 0, 0,
+ 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0,129, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 80, 1, 0, 0, 82, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0, 1, 2, 0, 0, 82, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 80, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0,
+130, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 3, 2, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,129, 0, 0, 0, 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 0, 2, 2, 0, 0,
+131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 1, 0, 0, 31, 0, 0, 0, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 81, 1, 0, 0, 3, 2, 0, 0, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0, 85, 1, 0, 0, 3, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 0, 81, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0,
+131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 83, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 30, 0, 0, 0, 84, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 1, 0, 0, 2, 2, 0, 0,
+130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 0, 0, 79, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+236, 0, 0, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 0, 4, 2, 0, 0,240, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0,236, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 0, 0,
+ 81, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0, 6, 2, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 79, 0, 0, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 0, 0, 5, 2, 0, 0,
+131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, 30, 0, 0, 0,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+237, 0, 0, 0, 6, 2, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0, 84, 1, 0, 0, 6, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 0, 0,237, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 1, 0, 0,
+131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0,241, 0, 0, 0, 85, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 31, 0, 0, 0, 85, 1, 0, 0,241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,241, 0, 0, 0, 5, 2, 0, 0,
+ 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 2, 0, 0, 78, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+235, 0, 0, 0, 83, 1, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0, 7, 2, 0, 0, 83, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 83, 1, 0, 0,235, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 2, 0, 0,
+130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 9, 2, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 78, 0, 0, 0, 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 2, 0, 0, 8, 2, 0, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0, 4, 0, 0, 0,234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+234, 0, 0, 0, 9, 2, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0,198, 0, 0, 0, 9, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 9, 2, 0, 0,234, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0,
+ 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 82, 1, 0, 0,199, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 21, 0, 0, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 8, 2, 0, 0,
+130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0,132, 0, 0, 0, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 10, 2, 0, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0, 87, 1, 0, 0,245, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,245, 0, 0, 0, 10, 2, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 11, 2, 0, 0,
+ 83, 0, 0, 0, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0, 12, 2, 0, 0, 11, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 65, 0, 0, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 2, 0, 0, 10, 2, 0, 0,
+132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0, 23, 0, 0, 0,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+209, 0, 0, 0, 12, 2, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0, 86, 1, 0, 0, 12, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 12, 2, 0, 0,209, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 11, 2, 0, 0,
+ 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,244, 0, 0, 0, 11, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 83, 0, 0, 0, 11, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0,208, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0,132, 0, 0, 0, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 13, 2, 0, 0, 88, 1, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 0, 0, 0, 86, 1, 0, 0, 88, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, 13, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 2, 0, 0,
+133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 2, 0, 0, 15, 2, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,134, 0, 0, 0, 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 2, 0, 0, 13, 2, 0, 0,
+132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0, 32, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 91, 1, 0, 0, 15, 2, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0, 87, 1, 0, 0, 15, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 15, 2, 0, 0, 91, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 2, 0, 0,
+134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 1, 0, 0, 89, 1, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,133, 0, 0, 0, 14, 2, 0, 0, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 1, 0, 0, 90, 1, 0, 0,
+ 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 0, 0, 0, 67, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 16, 2, 0, 0,242, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 0,212, 0, 0, 0,242, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,242, 0, 0, 0, 16, 2, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 2, 0, 0,
+ 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 2, 0, 0, 18, 2, 0, 0, 17, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,134, 0, 0, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 2, 0, 0, 16, 2, 0, 0,
+ 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0, 24, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 90, 1, 0, 0, 18, 2, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0,213, 0, 0, 0, 18, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 18, 2, 0, 0, 90, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 2, 0, 0,
+134, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 1, 0, 0,243, 0, 0, 0, 17, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 82, 0, 0, 0, 17, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 0, 0, 0, 91, 1, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, 66, 0, 0, 0, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 19, 2, 0, 0, 89, 1, 0, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0,211, 0, 0, 0, 89, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 89, 1, 0, 0, 19, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 2, 0, 0,
+133, 0, 0, 0, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 2, 0, 0, 21, 2, 0, 0, 20, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 64, 0, 0, 0, 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 2, 0, 0, 19, 2, 0, 0,
+ 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 0, 0, 0, 1, 0, 0, 0,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+206, 0, 0, 0, 21, 2, 0, 0,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 0, 0, 0,210, 0, 0, 0, 21, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 21, 2, 0, 0,206, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 2, 0, 0,
+ 64, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 88, 1, 0, 0, 20, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,133, 0, 0, 0, 20, 2, 0, 0, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0,207, 0, 0, 0,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0,135, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 22, 2, 0, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0, 93, 1, 0, 0,247, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,247, 0, 0, 0, 22, 2, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 2, 0, 0,
+ 84, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 2, 0, 0, 24, 2, 0, 0, 23, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 69, 0, 0, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 2, 0, 0, 22, 2, 0, 0,
+135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0, 25, 0, 0, 0,217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+217, 0, 0, 0, 24, 2, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0, 92, 1, 0, 0, 24, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 24, 2, 0, 0,217, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 2, 0, 0,
+ 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,246, 0, 0, 0, 23, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 84, 0, 0, 0, 23, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0,216, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0,135, 0, 0, 0, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 25, 2, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 0, 0, 0, 92, 1, 0, 0, 94, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0, 25, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 2, 0, 0,
+136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 2, 0, 0, 27, 2, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,137, 0, 0, 0, 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 2, 0, 0, 25, 2, 0, 0,
+135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0, 33, 0, 0, 0, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 97, 1, 0, 0, 27, 2, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0, 93, 1, 0, 0, 27, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 27, 2, 0, 0, 97, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 2, 0, 0,
+137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 95, 1, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,136, 0, 0, 0, 26, 2, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 1, 0, 0, 96, 1, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 0, 0, 0, 71, 0, 0, 0, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 28, 2, 0, 0,248, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0,220, 0, 0, 0,248, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,248, 0, 0, 0, 28, 2, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 2, 0, 0,
+ 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 2, 0, 0, 30, 2, 0, 0, 29, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,137, 0, 0, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 2, 0, 0, 28, 2, 0, 0,
+ 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0, 26, 0, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 96, 1, 0, 0, 30, 2, 0, 0,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,221, 0, 0, 0, 30, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 30, 2, 0, 0, 96, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 2, 0, 0,
+137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 1, 0, 0,249, 0, 0, 0, 29, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 85, 0, 0, 0, 29, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 0, 0, 0, 97, 1, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0, 70, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 31, 2, 0, 0, 95, 1, 0, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0,219, 0, 0, 0, 95, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 95, 1, 0, 0, 31, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 2, 0, 0,
+136, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 2, 0, 0, 33, 2, 0, 0, 32, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 68, 0, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 2, 0, 0, 31, 2, 0, 0,
+ 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 0, 0, 0, 2, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+214, 0, 0, 0, 33, 2, 0, 0,218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,218, 0, 0, 0, 33, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 33, 2, 0, 0,214, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 2, 0, 0,
+ 68, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 94, 1, 0, 0, 32, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,136, 0, 0, 0, 32, 2, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0,215, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0,138, 0, 0, 0, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 34, 2, 0, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0, 99, 1, 0, 0,251, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,251, 0, 0, 0, 34, 2, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 2, 0, 0,
+ 86, 0, 0, 0, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 2, 0, 0, 36, 2, 0, 0, 35, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 73, 0, 0, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 2, 0, 0, 34, 2, 0, 0,
+138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0, 27, 0, 0, 0,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+225, 0, 0, 0, 36, 2, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0, 98, 1, 0, 0, 36, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 36, 2, 0, 0,225, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 2, 0, 0,
+ 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,250, 0, 0, 0, 35, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 86, 0, 0, 0, 35, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 0, 0, 0,224, 0, 0, 0,
+ 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0,138, 0, 0, 0, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 37, 2, 0, 0,100, 1, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0, 98, 1, 0, 0,100, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,100, 1, 0, 0, 37, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 2, 0, 0,
+139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 2, 0, 0, 39, 2, 0, 0, 38, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,140, 0, 0, 0, 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 2, 0, 0, 37, 2, 0, 0,
+138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0, 34, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+103, 1, 0, 0, 39, 2, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0, 99, 1, 0, 0, 39, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 39, 2, 0, 0,103, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 2, 0, 0,
+140, 0, 0, 0,102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 1, 0, 0,101, 1, 0, 0, 38, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,139, 0, 0, 0, 38, 2, 0, 0,101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 1, 0, 0,102, 1, 0, 0,
+ 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 0, 0, 0, 75, 0, 0, 0, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 40, 2, 0, 0,252, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0,228, 0, 0, 0,252, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0, 40, 2, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 2, 0, 0,
+ 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 2, 0, 0, 42, 2, 0, 0, 41, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,140, 0, 0, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 2, 0, 0, 40, 2, 0, 0,
+ 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0, 28, 0, 0, 0,102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+102, 1, 0, 0, 42, 2, 0, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0,229, 0, 0, 0, 42, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 42, 2, 0, 0,102, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 2, 0, 0,
+140, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 1, 0, 0,253, 0, 0, 0, 41, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 87, 0, 0, 0, 41, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 0, 0, 0,103, 1, 0, 0,
+ 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, 74, 0, 0, 0, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 43, 2, 0, 0,101, 1, 0, 0,227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 0, 0, 0,227, 0, 0, 0,101, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,101, 1, 0, 0, 43, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 2, 0, 0,
+139, 0, 0, 0, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 2, 0, 0, 45, 2, 0, 0, 44, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 72, 0, 0, 0, 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 2, 0, 0, 43, 2, 0, 0,
+ 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 0, 0, 0, 3, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+222, 0, 0, 0, 45, 2, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 0, 0, 0,226, 0, 0, 0, 45, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 45, 2, 0, 0,222, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 2, 0, 0,
+ 72, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0,100, 1, 0, 0, 44, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,139, 0, 0, 0, 44, 2, 0, 0,100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 1, 0, 0,223, 0, 0, 0,
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0,141, 0, 0, 0, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 46, 2, 0, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 0, 0, 0,105, 1, 0, 0,255, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,255, 0, 0, 0, 46, 2, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 2, 0, 0,
+ 88, 0, 0, 0, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 2, 0, 0, 48, 2, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 77, 0, 0, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 2, 0, 0, 46, 2, 0, 0,
+141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0, 29, 0, 0, 0,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+233, 0, 0, 0, 48, 2, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,104, 1, 0, 0, 48, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 48, 2, 0, 0,233, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 2, 0, 0,
+ 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,254, 0, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 88, 0, 0, 0, 47, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0,232, 0, 0, 0,
+ 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0,141, 0, 0, 0, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 49, 2, 0, 0,106, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 0, 0, 0,104, 1, 0, 0,106, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,106, 1, 0, 0, 49, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 2, 0, 0,
+142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 2, 0, 0, 51, 2, 0, 0, 50, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,143, 0, 0, 0, 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 2, 0, 0, 49, 2, 0, 0,
+141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0, 35, 0, 0, 0,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+109, 1, 0, 0, 51, 2, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,105, 1, 0, 0, 51, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 51, 2, 0, 0,109, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 2, 0, 0,
+143, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 1, 0, 0,107, 1, 0, 0, 50, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,142, 0, 0, 0, 50, 2, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 1, 0, 0,108, 1, 0, 0,
+ 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0, 79, 0, 0, 0, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 52, 2, 0, 0, 0, 1, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0,236, 0, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 52, 2, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 2, 0, 0,
+ 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 2, 0, 0, 54, 2, 0, 0, 53, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,143, 0, 0, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 2, 0, 0, 52, 2, 0, 0,
+ 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0, 30, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+108, 1, 0, 0, 54, 2, 0, 0,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 0, 0, 0,237, 0, 0, 0, 54, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 54, 2, 0, 0,108, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 2, 0, 0,
+143, 0, 0, 0,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 1, 0, 0, 1, 1, 0, 0, 53, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 89, 0, 0, 0, 53, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0,109, 1, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 0, 0, 0, 78, 0, 0, 0, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 55, 2, 0, 0,107, 1, 0, 0,235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 0, 0, 0,235, 0, 0, 0,107, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,107, 1, 0, 0, 55, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 2, 0, 0,
+142, 0, 0, 0, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 2, 0, 0, 57, 2, 0, 0, 56, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 76, 0, 0, 0, 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 2, 0, 0, 55, 2, 0, 0,
+ 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 4, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+230, 0, 0, 0, 57, 2, 0, 0,234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,234, 0, 0, 0, 57, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 57, 2, 0, 0,230, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 2, 0, 0,
+ 76, 0, 0, 0,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0,106, 1, 0, 0, 56, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,142, 0, 0, 0, 56, 2, 0, 0,106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 1, 0, 0,231, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0,144, 0, 0, 0, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 58, 2, 0, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0,111, 1, 0, 0, 3, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 58, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 2, 0, 0,
+ 90, 0, 0, 0, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 2, 0, 0, 60, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 81, 0, 0, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 2, 0, 0, 58, 2, 0, 0,
+144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0, 31, 0, 0, 0,241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+241, 0, 0, 0, 60, 2, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,110, 1, 0, 0, 60, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 60, 2, 0, 0,241, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 2, 0, 0,
+ 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0, 2, 1, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 90, 0, 0, 0, 59, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0,240, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0,144, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 61, 2, 0, 0,113, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 0, 0, 0,110, 1, 0, 0,113, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,113, 1, 0, 0, 61, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 2, 0, 0,
+145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 2, 0, 0, 63, 2, 0, 0, 62, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,146, 0, 0, 0, 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 2, 0, 0, 61, 2, 0, 0,
+144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0, 36, 0, 0, 0,115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+115, 1, 0, 0, 63, 2, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,111, 1, 0, 0, 63, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 63, 2, 0, 0,115, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 2, 0, 0,
+146, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 1, 0, 0,112, 1, 0, 0, 62, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,145, 0, 0, 0, 62, 2, 0, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 1, 0, 0,114, 1, 0, 0,
+ 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0, 63, 0, 0, 0, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 64, 2, 0, 0, 4, 1, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0,204, 0, 0, 0, 4, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0, 64, 2, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 2, 0, 0,
+ 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 2, 0, 0, 66, 2, 0, 0, 65, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,146, 0, 0, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 2, 0, 0, 64, 2, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 0, 0, 0, 22, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+114, 1, 0, 0, 66, 2, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0,205, 0, 0, 0, 66, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 66, 2, 0, 0,114, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 2, 0, 0,
+146, 0, 0, 0,115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 1, 0, 0, 5, 1, 0, 0, 65, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 91, 0, 0, 0, 65, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 1, 0, 0,115, 1, 0, 0,
+ 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 0, 0, 0, 62, 0, 0, 0, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 67, 2, 0, 0,112, 1, 0, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0,203, 0, 0, 0,112, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,112, 1, 0, 0, 67, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 2, 0, 0,
+145, 0, 0, 0, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 2, 0, 0, 69, 2, 0, 0, 68, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 80, 0, 0, 0, 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 2, 0, 0, 67, 2, 0, 0,
+ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0, 5, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+238, 0, 0, 0, 69, 2, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0,202, 0, 0, 0, 69, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 69, 2, 0, 0,238, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 2, 0, 0,
+ 80, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0,113, 1, 0, 0, 68, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,145, 0, 0, 0, 68, 2, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 1, 0, 0,239, 0, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 2, 0, 0,147, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+117, 1, 0, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 0, 0, 0, 70, 2, 0, 0, 11, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 11, 1, 0, 0,117, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 2, 0, 0,
+ 94, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 72, 2, 0, 0, 70, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,147, 0, 0, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 2, 0, 0, 71, 2, 0, 0,
+ 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 0, 0, 0, 32, 0, 0, 0,116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+116, 1, 0, 0, 72, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0,243, 0, 0, 0, 72, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 72, 2, 0, 0,116, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 0, 0, 0,
+ 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 10, 1, 0, 0,242, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 6, 0, 0, 0,242, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 1, 0, 0, 71, 2, 0, 0,
+ 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 2, 0, 0,147, 0, 0, 0,116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+116, 1, 0, 0,118, 1, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0, 73, 2, 0, 0,118, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,118, 1, 0, 0,116, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 2, 0, 0,
+148, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0, 75, 2, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,147, 0, 0, 0, 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 2, 0, 0, 74, 2, 0, 0,
+149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 1, 0, 0, 38, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+117, 1, 0, 0, 75, 2, 0, 0,121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,121, 1, 0, 0, 75, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 75, 2, 0, 0,117, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 1, 0, 0,
+149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0,119, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 37, 0, 0, 0,120, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 1, 0, 0, 74, 2, 0, 0,
+148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 2, 0, 0, 93, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 8, 1, 0, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0, 76, 2, 0, 0, 12, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 2, 0, 0,
+ 95, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 78, 2, 0, 0, 76, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 93, 0, 0, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 2, 0, 0, 77, 2, 0, 0,
+149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 1, 0, 0, 37, 0, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 9, 1, 0, 0, 78, 2, 0, 0,120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,120, 1, 0, 0, 78, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 78, 2, 0, 0, 9, 1, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 1, 0, 0,
+149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 13, 1, 0, 0,121, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 38, 0, 0, 0,121, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 1, 0, 0, 77, 2, 0, 0,
+ 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 2, 0, 0, 92, 0, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 7, 1, 0, 0,119, 1, 0, 0, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0, 79, 2, 0, 0,119, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,119, 1, 0, 0, 7, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 2, 0, 0,
+148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0, 81, 2, 0, 0, 79, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 92, 0, 0, 0, 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 2, 0, 0, 80, 2, 0, 0,
+ 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0, 10, 0, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 6, 1, 0, 0, 81, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 0, 0, 0,244, 0, 0, 0, 81, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 81, 2, 0, 0, 6, 1, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 0, 0, 0,
+ 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0,118, 1, 0, 0,245, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 32, 0, 0, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 1, 0, 0, 80, 2, 0, 0,
+148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 2, 0, 0,150, 0, 0, 0,123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+123, 1, 0, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 0, 0, 0, 82, 2, 0, 0, 15, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 15, 1, 0, 0,123, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 2, 0, 0,
+ 96, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 84, 2, 0, 0, 82, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,150, 0, 0, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 2, 0, 0, 83, 2, 0, 0,
+ 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 0, 0, 0, 33, 0, 0, 0,122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+122, 1, 0, 0, 84, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 0, 0, 0,249, 0, 0, 0, 84, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 84, 2, 0, 0,122, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 0, 0, 0,
+ 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 14, 1, 0, 0,248, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 7, 0, 0, 0,248, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 1, 0, 0, 83, 2, 0, 0,
+ 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 2, 0, 0,150, 0, 0, 0,122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+122, 1, 0, 0,124, 1, 0, 0, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0, 85, 2, 0, 0,124, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,124, 1, 0, 0,122, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 2, 0, 0,
+151, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0, 87, 2, 0, 0, 85, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,150, 0, 0, 0, 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 2, 0, 0, 86, 2, 0, 0,
+152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 1, 0, 0, 39, 0, 0, 0,123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+123, 1, 0, 0, 87, 2, 0, 0,127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,127, 1, 0, 0, 87, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 87, 2, 0, 0,123, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 1, 0, 0,
+152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0,125, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 38, 0, 0, 0,126, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 1, 0, 0, 86, 2, 0, 0,
+151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 2, 0, 0, 95, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 12, 1, 0, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0, 88, 2, 0, 0, 16, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 16, 1, 0, 0, 12, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 2, 0, 0,
+ 97, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 90, 2, 0, 0, 88, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 95, 0, 0, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 2, 0, 0, 89, 2, 0, 0,
+152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 1, 0, 0, 38, 0, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 13, 1, 0, 0, 90, 2, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,126, 1, 0, 0, 90, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 90, 2, 0, 0, 13, 1, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 1, 0, 0,
+152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 17, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 39, 0, 0, 0,127, 1, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 1, 0, 0, 89, 2, 0, 0,
+ 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 2, 0, 0, 94, 0, 0, 0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 11, 1, 0, 0,125, 1, 0, 0, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0, 91, 2, 0, 0,125, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,125, 1, 0, 0, 11, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 2, 0, 0,
+151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0, 93, 2, 0, 0, 91, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 94, 0, 0, 0, 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 2, 0, 0, 92, 2, 0, 0,
+ 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0, 6, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 10, 1, 0, 0, 93, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0,246, 0, 0, 0, 93, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 93, 2, 0, 0, 10, 1, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 0, 0, 0,
+ 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0,124, 1, 0, 0,247, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 33, 0, 0, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 1, 0, 0, 92, 2, 0, 0,
+151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 2, 0, 0,153, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+129, 1, 0, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 0, 0, 0, 94, 2, 0, 0, 19, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 19, 1, 0, 0,129, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 2, 0, 0,
+ 98, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 96, 2, 0, 0, 94, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,153, 0, 0, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 2, 0, 0, 95, 2, 0, 0,
+ 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 0, 0, 0, 34, 0, 0, 0,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+128, 1, 0, 0, 96, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0,253, 0, 0, 0, 96, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 96, 2, 0, 0,128, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0,
+ 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 18, 1, 0, 0,252, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 8, 0, 0, 0,252, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 1, 0, 0, 95, 2, 0, 0,
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 2, 0, 0,153, 0, 0, 0,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+128, 1, 0, 0,130, 1, 0, 0, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0, 97, 2, 0, 0,130, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,130, 1, 0, 0,128, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 2, 0, 0,
+154, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0, 99, 2, 0, 0, 97, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,153, 0, 0, 0, 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 2, 0, 0, 98, 2, 0, 0,
+155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 1, 0, 0, 40, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+129, 1, 0, 0, 99, 2, 0, 0,133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,133, 1, 0, 0, 99, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 99, 2, 0, 0,129, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 1, 0, 0,
+155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0,131, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 39, 0, 0, 0,132, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 1, 0, 0, 98, 2, 0, 0,
+154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 2, 0, 0, 97, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 16, 1, 0, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,100, 2, 0, 0, 20, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0, 16, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 2, 0, 0,
+ 99, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0,102, 2, 0, 0,100, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 97, 0, 0, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 2, 0, 0,101, 2, 0, 0,
+155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 1, 0, 0, 39, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 17, 1, 0, 0,102, 2, 0, 0,132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,132, 1, 0, 0,102, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,102, 2, 0, 0, 17, 1, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 1, 0, 0,
+155, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0, 21, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 40, 0, 0, 0,133, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 1, 0, 0,101, 2, 0, 0,
+ 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 2, 0, 0, 96, 0, 0, 0, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 15, 1, 0, 0,131, 1, 0, 0,103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,103, 2, 0, 0,131, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,131, 1, 0, 0, 15, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 2, 0, 0,
+154, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,105, 2, 0, 0,103, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 96, 0, 0, 0,103, 2, 0, 0,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 2, 0, 0,104, 2, 0, 0,
+ 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 0, 0, 0, 7, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 14, 1, 0, 0,105, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0,250, 0, 0, 0,105, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,105, 2, 0, 0, 14, 1, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 0, 0, 0,
+ 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,130, 1, 0, 0,251, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 34, 0, 0, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 1, 0, 0,104, 2, 0, 0,
+154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 2, 0, 0,156, 0, 0, 0,135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+135, 1, 0, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 0, 0, 0,106, 2, 0, 0, 23, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 23, 1, 0, 0,135, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 2, 0, 0,
+100, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0,108, 2, 0, 0,106, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,156, 0, 0, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 2, 0, 0,107, 2, 0, 0,
+ 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 35, 0, 0, 0,134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+134, 1, 0, 0,108, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 0, 0, 0, 1, 1, 0, 0,108, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,108, 2, 0, 0,134, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0,
+ 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0, 22, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 9, 0, 0, 0, 0, 1, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 1, 0, 0,107, 2, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 2, 0, 0,156, 0, 0, 0,134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+134, 1, 0, 0,136, 1, 0, 0,109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,109, 2, 0, 0,136, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,136, 1, 0, 0,134, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 2, 0, 0,
+157, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,111, 2, 0, 0,109, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,156, 0, 0, 0,109, 2, 0, 0,111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 2, 0, 0,110, 2, 0, 0,
+158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 1, 0, 0, 41, 0, 0, 0,135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+135, 1, 0, 0,111, 2, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,139, 1, 0, 0,111, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,111, 2, 0, 0,135, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 1, 0, 0,
+158, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,137, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 40, 0, 0, 0,138, 1, 0, 0,137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 1, 0, 0,110, 2, 0, 0,
+157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 2, 0, 0, 99, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 20, 1, 0, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 0, 0, 0,112, 2, 0, 0, 24, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 24, 1, 0, 0, 20, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 2, 0, 0,
+101, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0,114, 2, 0, 0,112, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 99, 0, 0, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 2, 0, 0,113, 2, 0, 0,
+158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 1, 0, 0, 40, 0, 0, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 21, 1, 0, 0,114, 2, 0, 0,138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,138, 1, 0, 0,114, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,114, 2, 0, 0, 21, 1, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 1, 0, 0,
+158, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0, 25, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 41, 0, 0, 0,139, 1, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 1, 0, 0,113, 2, 0, 0,
+101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 2, 0, 0, 98, 0, 0, 0, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 19, 1, 0, 0,137, 1, 0, 0,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,115, 2, 0, 0,137, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,137, 1, 0, 0, 19, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 2, 0, 0,
+157, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,117, 2, 0, 0,115, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 98, 0, 0, 0,115, 2, 0, 0,117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 2, 0, 0,116, 2, 0, 0,
+ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0, 8, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 18, 1, 0, 0,117, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0,254, 0, 0, 0,117, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,117, 2, 0, 0, 18, 1, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 0, 0, 0,
+ 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,136, 1, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 35, 0, 0, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 1, 0, 0,116, 2, 0, 0,
+157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 2, 0, 0,159, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+141, 1, 0, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 0, 0, 0,118, 2, 0, 0, 7, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 7, 1, 0, 0,141, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 2, 0, 0,
+ 92, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0,120, 2, 0, 0,118, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,159, 0, 0, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 2, 0, 0,119, 2, 0, 0,
+ 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 1, 0, 0, 36, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+140, 1, 0, 0,120, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0, 5, 1, 0, 0,120, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,120, 2, 0, 0,140, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0,
+ 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0, 6, 1, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 10, 0, 0, 0, 4, 1, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 1, 0, 0,119, 2, 0, 0,
+ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 2, 0, 0,159, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+140, 1, 0, 0,142, 1, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,121, 2, 0, 0,142, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,142, 1, 0, 0,140, 1, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 2, 0, 0,
+160, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,123, 2, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,159, 0, 0, 0,121, 2, 0, 0,123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 2, 0, 0,122, 2, 0, 0,
+161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 1, 0, 0, 37, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+141, 1, 0, 0,123, 2, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,144, 1, 0, 0,123, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,123, 2, 0, 0,141, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 1, 0, 0,
+161, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 41, 0, 0, 0,145, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0,122, 2, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 2, 0, 0,101, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 24, 1, 0, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0,124, 2, 0, 0, 8, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 8, 1, 0, 0, 24, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 2, 0, 0,
+ 93, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0,126, 2, 0, 0,124, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,101, 0, 0, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 2, 0, 0,125, 2, 0, 0,
+161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 1, 0, 0, 41, 0, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 25, 1, 0, 0,126, 2, 0, 0,145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,145, 1, 0, 0,126, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,126, 2, 0, 0, 25, 1, 0, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 1, 0, 0,
+161, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0, 9, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 37, 0, 0, 0,144, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 1, 0, 0,125, 2, 0, 0,
+ 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 2, 0, 0,100, 0, 0, 0, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 23, 1, 0, 0,143, 1, 0, 0,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,127, 2, 0, 0,143, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0, 23, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 2, 0, 0,
+160, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,129, 2, 0, 0,127, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,100, 0, 0, 0,127, 2, 0, 0,129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 2, 0, 0,128, 2, 0, 0,
+ 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 9, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 22, 1, 0, 0,129, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 0, 0, 0, 2, 1, 0, 0,129, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,129, 2, 0, 0, 22, 1, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0,
+ 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,142, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 36, 0, 0, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 1, 0, 0,128, 2, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 65, 84, 65, 0,240, 0, 0,184,127, 54, 3, 0, 0, 0, 0, 59, 0, 0, 0,
+ 0, 5, 0, 0,166,222,110, 63, 9,205, 55, 63,212,132,105, 63,201,236, 65, 63,218,153,103, 63,119,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63,118,148,108, 63,
+211,160, 44, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 36, 28, 45, 63,166,222,110, 63, 9,205, 55, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63,218,153,103, 63,
+119,155, 54, 63, 87, 17,102, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63, 87, 17,102, 63,229, 52, 43, 63,218,153,103, 63,119,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63, 9, 75, 97, 63,
+ 92,233, 63, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 49, 86, 60, 63, 56, 81, 96, 63,170, 55, 52, 63, 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63, 92,233, 63, 63,218,153,103, 63,
+119,155, 54, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,138,153, 89, 63, 39,228, 82, 63,139,153, 89, 63,255,153, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63, 9, 75, 97, 63,
+ 92,233, 63, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,132,105, 63,201,236, 65, 63,103,167, 98, 63,168, 39, 75, 63, 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63, 92,233, 63, 63,139,153, 89, 63,
+255,153, 71, 63,138,153, 89, 63, 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63,138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,205,182, 95, 63,
+222,228, 40, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87, 17,102, 63,229, 52, 43, 63, 56, 81, 96, 63,170, 55, 52, 63,205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205,182, 95, 63,222,228, 40, 63,139,153, 89, 63,
+ 79, 12, 49, 63,139,153, 89, 63, 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,212,132,105, 63,201,236, 65, 63,168, 83,109, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63,135, 85,101, 63,
+148, 64, 88, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 39,228, 82, 63,103,167, 98, 63,168, 39, 75, 63,135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,148, 64, 88, 63,168, 83,109, 63,
+207, 83, 78, 63, 36, 51,115, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63, 36, 51,115, 63, 22, 56, 90, 63,168, 83,109, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63, 36, 51,115, 63,
+115, 23, 67, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,162, 18,121, 63,207, 83, 78, 63, 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,115, 23, 67, 63,168, 83,109, 63,
+207, 83, 78, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63,163,135,119, 63, 11,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63, 36, 51,115, 63,
+115, 23, 67, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,132,105, 63,201,236, 65, 63,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,115, 23, 67, 63,163,135,119, 63,
+ 11,205, 55, 63,116,225,124, 63,202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63,116,225,124, 63,202,236, 65, 63,113,223,129, 63,170, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,223,129, 63,170, 39, 75, 63, 98,136,128, 63,
+148, 64, 88, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63,162, 18,121, 63,207, 83, 78, 63, 98,136,128, 63,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95, 98,136, 59,148, 64, 88, 63,160,184,111, 60,
+170, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63,246,203, 76, 61, 53, 86, 60, 63, 31,162,194, 60,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,162,194, 60,172, 55, 52, 63,111,239,213, 60,
+223,228, 40, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 48,200, 37, 63,243,203, 76, 61, 82, 12, 49, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63, 31,162,194, 60,
+172, 55, 52, 63,120,226,169, 58,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,121, 42,128, 63,230, 52, 43, 63,136, 10,131, 63,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136, 10,131, 63,172, 55, 52, 63,160,141,130, 63,
+ 95,233, 63, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,111,204,126, 63,121,155, 54, 63,160,141,130, 63, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,104,163, 60, 95,233, 63, 63, 31,162,194, 60,
+172, 55, 52, 63,246,203, 76, 61, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63,243,203, 76, 61, 41,228, 82, 63,160,184,111, 60,170, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,184,111, 60,170, 39, 75, 63, 11,104,163, 60,
+ 95,233, 63, 63,244,203, 76, 61, 2,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 53, 86, 60, 63,244,203, 76, 61, 2,154, 71, 63, 11,104,163, 60, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,141,130, 63, 95,233, 63, 63,113,223,129, 63,
+170, 39, 75, 63,116,225,124, 63,202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,116,225,124, 63,202,236, 65, 63,163,135,119, 63, 11,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63,210,209,121, 63,
+212,160, 44, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,121, 42,128, 63,230, 52, 43, 63,111,204,126, 63,121,155, 54, 63,210,209,121, 63,212,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,209,121, 63,212,160, 44, 63,163,135,119, 63,
+ 11,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95,102,134, 63, 79, 46, 94, 63, 95,102,134, 63, 22,114,105, 63, 52,205,124, 63, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 98,136,128, 63,
+148, 64, 88, 63, 95,102,134, 63, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243,203, 76, 61, 41,228, 82, 63,234,203, 76, 61, 79, 46, 94, 63, 95, 98,136, 59,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 98,136,128, 63,148, 64, 88, 63, 52,205,124, 63,
+ 58, 26, 99, 63, 36, 51,115, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63, 36, 51,115, 63, 22, 56, 90, 63, 52,205,124, 63, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 32, 51,115, 63,
+212,154,109, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 19,114,105, 63, 21,153,105, 63, 58, 26, 99, 63, 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,212,154,109, 63, 52,205,124, 63,
+ 58, 26, 99, 63, 95,102,134, 63, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95,102,134, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,136,153, 89, 63,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 32, 51,115, 63,
+212,154,109, 63, 95,102,134, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95,102,134, 63, 22,114,105, 63, 95,102,134, 63,242,187,116, 63, 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,212,154,109, 63,136,153, 89, 63,
+242,187,116, 63,138,153, 89, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63,138,153, 89, 63, 19,114,105, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,135, 85,101, 63,
+148, 64, 88, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63, 21,153,105, 63, 58, 26, 99, 63,135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,148, 64, 88, 63,138,153, 89, 63,
+ 77, 46, 94, 63,138,153, 89, 63, 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63, 74,174, 73, 63,193,236, 65, 63,124, 84, 68, 63,255,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63,169,158, 70, 63,
+200,160, 44, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196, 33, 77, 63,221, 52, 43, 63, 67,153, 75, 63,113,155, 54, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63,124, 84, 68, 63,
+255,204, 55, 63, 0, 0, 64, 63, 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63,196, 33, 77, 63,221, 52, 43, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 16,232, 81, 63,
+ 89,233, 63, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63, 67,153, 75, 63,113,155, 54, 63, 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63, 89,233, 63, 63,225,225, 82, 63,
+165, 55, 52, 63,138,153, 89, 63, 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63,138,153, 89, 63, 39,228, 82, 63,179,139, 80, 63,164, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63, 16,232, 81, 63,
+ 89,233, 63, 63,139,153, 89, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63,255,153, 71, 63, 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63, 89,233, 63, 63,179,139, 80, 63,
+164, 39, 75, 63, 74,174, 73, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,138,153, 89, 63, 49, 86, 60, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 75,124, 83, 63,
+217,228, 40, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63,139,153, 89, 63, 79, 12, 49, 63, 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,124, 83, 63,217,228, 40, 63,225,225, 82, 63,
+165, 55, 52, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63, 74,174, 73, 63,193,236, 65, 63,179,139, 80, 63,164, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63,148,221, 77, 63,
+140, 64, 88, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 12, 56, 90, 63,120,223, 69, 63,198, 83, 78, 63,148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,140, 64, 88, 63,179,139, 80, 63,
+164, 39, 75, 63,138,153, 89, 63, 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63, 0, 0, 64, 63, 12, 56, 90, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63, 0, 0, 64, 63,
+106, 23, 67, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,106, 23, 67, 63,136, 32, 58, 63,
+198, 83, 78, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63, 24, 28, 45, 63,124, 84, 68, 63,255,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63, 0, 0, 64, 63,
+106, 23, 67, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,182, 81, 54, 63,193,236, 65, 63,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,106, 23, 67, 63,124, 84, 68, 63,
+255,204, 55, 63, 74,174, 73, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,182, 81, 54, 63,193,236, 65, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63,108, 34, 50, 63,
+140, 64, 88, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 38,228, 82, 63, 77,116, 47, 63,164, 39, 75, 63,108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,140, 64, 88, 63,136, 32, 58, 63,
+198, 83, 78, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63, 78, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,181,131, 44, 63,
+216,228, 40, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 60,222, 50, 63,221, 52, 43, 63, 31, 30, 45, 63,165, 55, 52, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63,
+ 78, 12, 49, 63,117,102, 38, 63, 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63, 60,222, 50, 63,221, 52, 43, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63,240, 23, 46, 63,
+ 89,233, 63, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 50, 86, 60, 63, 31, 30, 45, 63,165, 55, 52, 63,240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63, 89,233, 63, 63,189,102, 52, 63,
+113,155, 54, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63,117,102, 38, 63,255,153, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,240, 23, 46, 63,
+ 89,233, 63, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,182, 81, 54, 63,193,236, 65, 63, 77,116, 47, 63,164, 39, 75, 63,240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63, 89,233, 63, 63,117,102, 38, 63,
+255,153, 71, 63,117,102, 38, 63, 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63,182, 81, 54, 63,193,236, 65, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63, 87, 97, 57, 63,
+200,160, 44, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63,132,171, 59, 63,255,204, 55, 63, 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 97, 57, 63,200,160, 44, 63,189,102, 52, 63,
+113,155, 54, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63,118,102, 38, 63, 19,114,105, 63,118,102, 38, 63, 77, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,108, 34, 50, 63,
+140, 64, 88, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 12, 56, 90, 63,250,101, 54, 63, 51, 26, 99, 63,108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,140, 64, 88, 63,118,102, 38, 63,
+ 77, 46, 94, 63,118,102, 38, 63, 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63, 0, 0, 64, 63, 12, 56, 90, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63, 0, 0, 64, 63,
+206,154,109, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 19,114,105, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,206,154,109, 63, 6,154, 73, 63,
+ 51, 26, 99, 63,138,153, 89, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,120,102, 38, 63,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 0, 0, 64, 63,
+206,154,109, 63,136,153, 89, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 19,114,105, 63,136,153, 89, 63,242,187,116, 63, 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,206,154,109, 63,120,102, 38, 63,
+242,187,116, 63,118,102, 38, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,138,153, 89, 63, 19,114,105, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63,148,221, 77, 63,
+140, 64, 88, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 39,228, 82, 63,138,153, 89, 63, 77, 46, 94, 63,148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,140, 64, 88, 63, 6,154, 73, 63,
+ 51, 26, 99, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,170,192,229, 61,200,236, 65, 63,203,104,214, 61,120,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63,201, 61,254, 61,
+207,160, 44, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,153, 25, 62, 27, 28, 45, 63,167, 71, 8, 62, 7,205, 55, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,203,104,214, 61,
+120,155, 54, 63,175, 36,202, 61,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,175, 36,202, 61,228, 52, 43, 63,203,104,214, 61,120,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63, 32,242,163, 61,
+ 96,233, 63, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 53, 86, 60, 63,145, 35,156, 61,172, 55, 52, 63, 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61, 96,233, 63, 63,203,104,214, 61,
+120,155, 54, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63,244,203, 76, 61, 2,154, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63, 32,242,163, 61,
+ 96,233, 63, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,192,229, 61,200,236, 65, 63, 17,213,174, 61,171, 39, 75, 63, 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61, 96,233, 63, 63,244,203, 76, 61,
+ 2,154, 71, 63,246,203, 76, 61, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,246,203, 76, 61, 53, 86, 60, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63, 53, 80,151, 61,
+223,228, 40, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 36,202, 61,228, 52, 43, 63,145, 35,156, 61,172, 55, 52, 63, 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 80,151, 61,223,228, 40, 63,243,203, 76, 61,
+ 82, 12, 49, 63,246,203, 76, 61, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,170,192,229, 61,200,236, 65, 63,169, 27, 2, 62,204, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63, 23, 70,196, 61,
+147, 64, 88, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243,203, 76, 61, 41,228, 82, 63, 17,213,174, 61,171, 39, 75, 63, 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,147, 64, 88, 63,169, 27, 2, 62,
+204, 83, 78, 63,160,153, 25, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,160,153, 25, 62, 14, 56, 90, 63,169, 27, 2, 62,204, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63,172,153, 25, 62,
+108, 23, 67, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,162, 23, 49, 62,195, 83, 78, 63,172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,108, 23, 67, 63,169, 27, 2, 62,
+204, 83, 78, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,173,153, 25, 62, 27, 28, 45, 63,173,235, 42, 62,254,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,172,153, 25, 62,
+108, 23, 67, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,192,229, 61,200,236, 65, 63,167, 71, 8, 62, 7,205, 55, 63,172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,108, 23, 67, 63,173,235, 42, 62,
+254,204, 55, 63,240, 82, 64, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,240, 82, 64, 62,183,236, 65, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 34, 16, 81, 62,
+131, 64, 88, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,162, 23, 49, 62,195, 83, 78, 63, 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,131, 64, 88, 63,166,200, 91, 62,
+147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 62, 19, 86, 60, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 14,139,103, 62,
+199,228, 40, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 62, 47, 12, 49, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63, 92, 33,101, 62,
+146, 55, 52, 63,230, 32, 78, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,230, 32, 78, 62,211, 52, 43, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 23, 58, 97, 62,
+ 69,233, 63, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,223,254, 71, 62,102,155, 54, 63, 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62, 69,233, 63, 63, 92, 33,101, 62,
+146, 55, 52, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 62, 13,228, 82, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 23, 58, 97, 62,
+ 69,233, 63, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62,228,153, 71, 63, 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62, 69,233, 63, 63,166,200, 91, 62,
+147, 39, 75, 63,240, 82, 64, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,240, 82, 64, 62,183,236, 65, 63,173,235, 42, 62,254,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,105, 20, 52, 62,
+198,160, 44, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,230, 32, 78, 62,211, 52, 43, 63,223,254, 71, 62,102,155, 54, 63,105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,105, 20, 52, 62,198,160, 44, 63,173,235, 42, 62,
+254,204, 55, 63,173,153, 25, 62, 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 62, 8,114,105, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63, 34, 16, 81, 62,
+131, 64, 88, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62, 58, 46, 94, 63, 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,131, 64, 88, 63,230, 1, 64, 62,
+ 49, 26, 99, 63,160,153, 25, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,160,153, 25, 62, 14, 56, 90, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63,159,153, 25, 62,
+210,154,109, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237,203, 76, 61, 22,114,105, 63,164, 98,230, 61, 58, 26, 99, 63,159,153, 25, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,210,154,109, 63,230, 1, 64, 62,
+ 49, 26, 99, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 95,102,134, 63,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,203, 76, 61,242,187,116, 63,159,153, 25, 62,
+210,154,109, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62,232,187,116, 63,159,153, 25, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,210,154,109, 63,210,203, 76, 61,
+242,187,116, 63,237,203, 76, 61, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,237,203, 76, 61, 22,114,105, 63,234,203, 76, 61, 79, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234,203, 76, 61, 79, 46, 94, 63, 23, 70,196, 61,
+147, 64, 88, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,164, 98,230, 61, 58, 26, 99, 63, 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,147, 64, 88, 63,234,203, 76, 61,
+ 79, 46, 94, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63,136,214,159, 62,183,236, 65, 63,145, 0,156, 62,102,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,204,245,165, 62,
+198,160, 44, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42, 51,179, 62, 28, 28, 45, 63, 42,138,170, 62,254,204, 55, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,145, 0,156, 62,
+102,155, 54, 63,141,239,152, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63,141,239,152, 62,211, 52, 43, 63,145, 0,156, 62,102,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,245, 98,143, 62,
+ 68,233, 63, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 19, 86, 60, 63, 82,111,141, 62,146, 55, 52, 63,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62, 68,233, 63, 63,145, 0,156, 62,
+102,155, 54, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63,245, 98,143, 62,
+ 68,233, 63, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,136,214,159, 62,183,236, 65, 63,173, 27,146, 62,147, 39, 75, 63,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 62,
+228,153, 71, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63,121, 58,140, 62,
+199,228, 40, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,141,239,152, 62,211, 52, 43, 63, 82,111,141, 62,146, 55, 52, 63,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 62,
+ 47, 12, 49, 63, 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63,136,214,159, 62,183,236, 65, 63, 47,116,167, 62,195, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63,239,119,151, 62,
+131, 64, 88, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 13,228, 82, 63,173, 27,146, 62,147, 39, 75, 63,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,131, 64, 88, 63, 47,116,167, 62,
+195, 83, 78, 63, 49, 51,179, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63, 49, 51,179, 62, 14, 56, 90, 63, 47,116,167, 62,195, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63, 42, 51,179, 62,
+108, 23, 67, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63, 44,242,190, 62,205, 83, 78, 63, 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,108, 23, 67, 63, 47,116,167, 62,
+195, 83, 78, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 45,220,187, 62, 7,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63, 42, 51,179, 62,
+108, 23, 67, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,136,214,159, 62,183,236, 65, 63, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,108, 23, 67, 63, 45,220,187, 62,
+ 7,205, 55, 63,214,143,198, 62,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63,214,143,198, 62,200,236, 65, 63,188, 74,212, 62,171, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,122,238,206, 62,
+147, 64, 88, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 44,242,190, 62,205, 83, 78, 63,122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,147, 64, 88, 63,188, 74,212, 62,
+171, 39, 75, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63,129,102,230, 62, 53, 86, 60, 63, 28,247,216, 62,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,243, 43,218, 62,
+223,228, 40, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 48,200, 37, 63,130,102,230, 62, 82, 12, 49, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63, 28,247,216, 62,
+172, 55, 52, 63,212,118,205, 62,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,212,118,205, 62,228, 52, 43, 63, 28,247,216, 62,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,120, 3,215, 62,
+ 95,233, 63, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63,206,101,202, 62,120,155, 54, 63,120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62, 95,233, 63, 63, 28,247,216, 62,
+172, 55, 52, 63,129,102,230, 62, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,130,102,230, 62, 41,228, 82, 63,188, 74,212, 62,171, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,120, 3,215, 62,
+ 95,233, 63, 63,130,102,230, 62, 1,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 1,154, 71, 63,120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62, 95,233, 63, 63,188, 74,212, 62,
+171, 39, 75, 63,214,143,198, 62,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,214,143,198, 62,200,236, 65, 63, 45,220,187, 62, 7,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63,142,112,192, 62,
+207,160, 44, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,118,205, 62,228, 52, 43, 63,206,101,202, 62,120,155, 54, 63,142,112,192, 62,207,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,112,192, 62,207,160, 44, 63, 45,220,187, 62,
+ 7,205, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,131,102,230, 62, 22,114,105, 63, 87,103,198, 62, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63,122,238,206, 62,
+147, 64, 88, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 41,228, 82, 63,131,102,230, 62, 79, 46, 94, 63,122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,147, 64, 88, 63, 87,103,198, 62,
+ 58, 26, 99, 63, 49, 51,179, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63, 49, 51,179, 62, 14, 56, 90, 63, 87,103,198, 62, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63, 49, 51,179, 62,
+210,154,109, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 8,114,105, 63, 14,255,159, 62, 49, 26, 99, 63, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,210,154,109, 63, 87,103,198, 62,
+ 58, 26, 99, 63,131,102,230, 62, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134,102,230, 62,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 49, 51,179, 62,
+210,154,109, 63,134,102,230, 62,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,131,102,230, 62, 22,114,105, 63,134,102,230, 62,242,187,116, 63, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 62,
+232,187,116, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63,239,119,151, 62,
+131, 64, 88, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 14,255,159, 62, 49, 26, 99, 63,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 62,
+ 58, 46, 94, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,140, 30, 3, 63,201,236, 65, 63,145, 51, 1, 63,121,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63, 46, 46, 6, 63,
+211,160, 44, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 35, 28, 45, 63, 93,120, 8, 63, 11,205, 55, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63,145, 51, 1, 63,
+121,155, 54, 63, 30, 86,255, 62,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63, 30, 86,255, 62,230, 52, 43, 63,145, 51, 1, 63,121,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63,128,201,245, 62,
+ 94,233, 63, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 53, 86, 60, 63,222,213,243, 62,172, 55, 52, 63,128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62, 94,233, 63, 63,145, 51, 1, 63,
+121,155, 54, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,130,102,230, 62, 41,228, 82, 63,130,102,230, 62, 1,154, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,128,201,245, 62,
+ 94,233, 63, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140, 30, 3, 63,201,236, 65, 63, 59,130,248, 62,169, 39, 75, 63,128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62, 94,233, 63, 63,130,102,230, 62,
+ 1,154, 71, 63,129,102,230, 62, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63,129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63, 9,161,242, 62,
+223,228, 40, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 86,255, 62,230, 52, 43, 63,222,213,243, 62,172, 55, 52, 63, 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9,161,242, 62,223,228, 40, 63,130,102,230, 62,
+ 82, 12, 49, 63,129,102,230, 62, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,140, 30, 3, 63,201,236, 65, 63, 94,237, 6, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,118,222,253, 62,
+148, 64, 88, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 41,228, 82, 63, 59,130,248, 62,169, 39, 75, 63,118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,148, 64, 88, 63, 94,237, 6, 63,
+207, 83, 78, 63,220,204, 12, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63,220,204, 12, 63, 22, 56, 90, 63, 94,237, 6, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,220,204, 12, 63,
+115, 23, 67, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 88,172, 18, 63,207, 83, 78, 63,220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,115, 23, 67, 63, 94,237, 6, 63,
+207, 83, 78, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 91, 33, 17, 63, 9,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,220,204, 12, 63,
+115, 23, 67, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140, 30, 3, 63,201,236, 65, 63, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,115, 23, 67, 63, 91, 33, 17, 63,
+ 9,205, 55, 63, 44,123, 22, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63, 44,123, 22, 63,201,236, 65, 63,153, 88, 29, 63,167, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,121,170, 26, 63,
+147, 64, 88, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63, 88,172, 18, 63,207, 83, 78, 63,121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,147, 64, 88, 63,153, 88, 29, 63,
+167, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,117,102, 38, 63, 50, 86, 60, 63,200,174, 31, 63,169, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63, 51, 73, 32, 63,
+221,228, 40, 63,117,102, 38, 63, 78, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 45,200, 37, 63,117,102, 38, 63, 78, 12, 49, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,200,174, 31, 63,
+169, 55, 52, 63,169,238, 25, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63,169,238, 25, 63,229, 52, 43, 63,200,174, 31, 63,169, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63,246,180, 30, 63,
+ 92,233, 63, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 39,102, 24, 63,119,155, 54, 63,246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63, 92,233, 63, 63,200,174, 31, 63,
+169, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,118,102, 38, 63, 38,228, 82, 63,153, 88, 29, 63,167, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,246,180, 30, 63,
+ 92,233, 63, 63,117,102, 38, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63,255,153, 71, 63,246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63, 92,233, 63, 63,153, 88, 29, 63,
+167, 39, 75, 63, 44,123, 22, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63, 44,123, 22, 63,201,236, 65, 63, 91, 33, 17, 63, 9,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,138,107, 19, 63,
+211,160, 44, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169,238, 25, 63,229, 52, 43, 63, 39,102, 24, 63,119,155, 54, 63,138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,107, 19, 63,211,160, 44, 63, 91, 33, 17, 63,
+ 9,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,118,102, 38, 63, 19,114,105, 63,235,102, 22, 63, 59, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,121,170, 26, 63,
+147, 64, 88, 63,118,102, 38, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 38,228, 82, 63,118,102, 38, 63, 77, 46, 94, 63,121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,147, 64, 88, 63,235,102, 22, 63,
+ 59, 26, 99, 63,220,204, 12, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,220,204, 12, 63, 22, 56, 90, 63,235,102, 22, 63, 59, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,224,204, 12, 63,
+212,154,109, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,131,102,230, 62, 22,114,105, 63,204, 50, 3, 63, 58, 26, 99, 63,224,204, 12, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,212,154,109, 63,235,102, 22, 63,
+ 59, 26, 99, 63,118,102, 38, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,134,102,230, 62,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134,102,230, 62,242,187,116, 63,224,204, 12, 63,
+212,154,109, 63,120,102, 38, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 19,114,105, 63,120,102, 38, 63,242,187,116, 63,224,204, 12, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,212,154,109, 63,134,102,230, 62,
+242,187,116, 63,131,102,230, 62, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,131,102,230, 62, 22,114,105, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,118,222,253, 62,
+148, 64, 88, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63,204, 50, 3, 63, 58, 26, 99, 63,118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,148, 64, 88, 63,131,102,230, 62,
+ 79, 46, 94, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63,176,235, 70, 63,226,209, 22, 63, 80,234, 73, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 1,200, 79, 63,
+ 94,152, 9, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,215, 82, 63,252, 29, 19, 63,213,233, 76, 63, 35, 48, 21, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 80,234, 73, 63,
+146,111, 11, 63,193,204, 76, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63, 19,215, 82, 63,252, 29, 19, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,164,219, 73, 63,
+173, 23, 33, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63,213,233, 76, 63, 35, 48, 21, 63,164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,173, 23, 33, 63,220, 41, 80, 63,
+105, 60, 31, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63, 0, 0, 64, 63, 24, 28, 45, 63, 5,171, 67, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,164,219, 73, 63,
+173, 23, 33, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196, 33, 77, 63,221, 52, 43, 63,169,158, 70, 63,200,160, 44, 63,164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,173, 23, 33, 63, 5,171, 67, 63,
+216, 17, 34, 63,176,235, 70, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 75,124, 83, 63,217,228, 40, 63,196, 33, 77, 63,221, 52, 43, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,218, 20, 86, 63,
+143,140, 28, 63, 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63, 75,124, 83, 63,217,228, 40, 63,218, 20, 86, 63,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,143,140, 28, 63,220, 41, 80, 63,
+105, 60, 31, 63, 19,215, 82, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63,176,235, 70, 63,226,209, 22, 63, 5,171, 67, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,251, 84, 60, 63,
+216, 17, 34, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 80, 20, 57, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63,251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,216, 17, 34, 63, 5,171, 67, 63,
+216, 17, 34, 63, 0, 0, 64, 63, 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63, 80, 20, 57, 63,226,209, 22, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63, 87, 99, 67, 63,
+ 96,116, 11, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63, 96,116, 11, 63,169,156, 60, 63,
+ 96,116, 11, 63, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63,193,204, 76, 63, 0, 0, 0, 63, 80,234, 73, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 87, 99, 67, 63,
+ 96,116, 11, 63, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63, 96,116, 11, 63, 80,234, 73, 63,
+146,111, 11, 63,176,235, 70, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63, 0, 0, 64, 63, 0, 0, 0, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63,176, 21, 54, 63,
+146,111, 11, 63,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 51, 51, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,146,111, 11, 63,169,156, 60, 63,
+ 96,116, 11, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,144, 61, 57, 63, 19,196,217, 62, 85,123, 60, 63,253,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,171,132, 67, 63,
+253,230,198, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,112,194, 70, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 85,123, 60, 63,
+253,230,198, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,112,194, 70, 63, 19,196,217, 62,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,131,171, 60, 63,
+ 42,211,236, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 61, 57, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63, 42,211,236, 62,125, 84, 67, 63,
+ 42,211,236, 62, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63, 63, 51, 51, 63, 0, 0, 0, 63,128, 46, 54, 63, 75,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62,131,171, 60, 63,
+ 42,211,236, 62,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63, 42,211,236, 62,128, 46, 54, 63,
+ 75,207,236, 62,144, 61, 57, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63, 0, 0, 64, 63, 0, 0, 0, 63,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,128,209, 73, 63,
+ 75,207,236, 62, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,193,204, 76, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63,128,209, 73, 63, 75,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63, 75,207,236, 62,125, 84, 67, 63,
+ 42,211,236, 62,112,194, 70, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63,237, 40, 45, 63,252, 29, 19, 63,255, 55, 48, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,176, 21, 54, 63,
+146,111, 11, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 80, 20, 57, 63,226,209, 22, 63, 43, 22, 51, 63, 35, 48, 21, 63,176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,146,111, 11, 63,255, 55, 48, 63,
+ 94,152, 9, 63, 63, 51, 51, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63, 80, 20, 57, 63,226,209, 22, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63, 36,214, 47, 63,
+105, 60, 31, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 40, 45, 63,252, 29, 19, 63, 43, 22, 51, 63, 35, 48, 21, 63, 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,105, 60, 31, 63, 91, 36, 54, 63,
+173, 23, 33, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63, 45,200, 37, 63, 38,235, 41, 63,141,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63, 36,214, 47, 63,
+105, 60, 31, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 60,222, 50, 63,221, 52, 43, 63,181,131, 44, 63,216,228, 40, 63, 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,105, 60, 31, 63, 38,235, 41, 63,
+141,140, 28, 63,237, 40, 45, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87, 97, 57, 63,200,160, 44, 63, 60,222, 50, 63,221, 52, 43, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63,251, 84, 60, 63,
+216, 17, 34, 63, 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63, 87, 97, 57, 63,200,160, 44, 63,251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,216, 17, 34, 63, 91, 36, 54, 63,
+173, 23, 33, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134, 14,128, 63, 39, 48, 21, 63,227, 30,122, 63,233,209, 22, 63,138, 29,125, 63,150,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,159,125,129, 63,
+ 94,152, 9, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174, 73,193, 60,253, 29, 19, 63,209, 92,232, 57, 39, 48, 21, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,125,129, 63, 94,152, 9, 63,138, 29,125, 63,
+150,111, 11, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,209, 92,232, 57, 39, 48, 21, 63,174, 73,193, 60,253, 29, 19, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,174,129, 63,110, 60, 31, 63,213, 14,125, 63,
+180, 23, 33, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63,134, 14,128, 63, 39, 48, 21, 63,213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,180, 23, 33, 63,136,174,129, 63,
+110, 60, 31, 63,121, 42,128, 63,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,210,209,121, 63,212,160, 44, 63, 36, 51,115, 63, 36, 28, 45, 63, 49,222,118, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63,213, 14,125, 63,
+180, 23, 33, 63,210,209,121, 63,212,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,121, 42,128, 63,230, 52, 43, 63,210,209,121, 63,212,160, 44, 63,213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,180, 23, 33, 63, 49,222,118, 63,
+226, 17, 34, 63,227, 30,122, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63,120,226,169, 58,230, 52, 43, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 67, 87, 60,110, 60, 31, 63, 13,129, 20, 61,
+143,140, 28, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 48,200, 37, 63,111,239,213, 60,223,228, 40, 63, 13,129, 20, 61,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,143,140, 28, 63,214, 67, 87, 60,
+110, 60, 31, 63,174, 73,193, 60,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,227, 30,122, 63,233,209, 22, 63, 49,222,118, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63, 31,136,111, 63,
+225, 17, 34, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116, 71,108, 63,232,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63, 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,225, 17, 34, 63, 49,222,118, 63,
+226, 17, 34, 63, 36, 51,115, 63, 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,116, 71,108, 63,232,209, 22, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,138,150,118, 63,
+101,116, 11, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63,138,150,118, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,101,116, 11, 63,213,207,111, 63,
+100,116, 11, 63, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,138, 29,125, 63,150,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,138,150,118, 63,
+101,116, 11, 63,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51,115, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,138,150,118, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,101,116, 11, 63,138, 29,125, 63,
+150,111, 11, 63,227, 30,122, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63, 51, 51,115, 63, 0, 0, 0, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,213, 72,105, 63,
+149,111, 11, 63,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,102, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,149,111, 11, 63,213,207,111, 63,
+100,116, 11, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,192,112,108, 63, 4,196,217, 62,139,174,111, 63,223,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,239,183,118, 63,
+227,230,198, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,245,121, 63, 6,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,139,174,111, 63,
+223,230,198, 62, 65, 51,115, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,179,245,121, 63, 6,196,217, 62,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,180,222,111, 63,
+ 30,211,236, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,112,108, 63, 4,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,180,222,111, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63, 30,211,236, 62,185,135,118, 63,
+ 30,211,236, 62, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63,101,102,102, 63, 0, 0, 0, 63,170, 97,105, 63, 65,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,180,222,111, 63,
+ 30,211,236, 62,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51,115, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,180,222,111, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63, 30,211,236, 62,170, 97,105, 63,
+ 65,207,236, 62,192,112,108, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63, 51, 51,115, 63, 0, 0, 0, 63,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,194, 4,125, 63,
+ 67,207,236, 62,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,194, 4,125, 63, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63, 67,207,236, 62,185,135,118, 63,
+ 30,211,236, 62,179,245,121, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63, 11, 92, 96, 63,253, 29, 19, 63, 33,107, 99, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63,213, 72,105, 63,
+149,111, 11, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116, 71,108, 63,232,209, 22, 63, 76, 73,102, 63, 38, 48, 21, 63,213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,149,111, 11, 63, 33,107, 99, 63,
+ 94,152, 9, 63,101,102,102, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63,116, 71,108, 63,232,209, 22, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 65, 9, 99, 63,
+109, 60, 31, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11, 92, 96, 63,253, 29, 19, 63, 76, 73,102, 63, 38, 48, 21, 63, 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,109, 60, 31, 63,124, 87,105, 63,
+180, 23, 33, 63, 87, 17,102, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,182, 95, 63,222,228, 40, 63,139,153, 89, 63, 45,200, 37, 63, 63, 30, 93, 63,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63, 65, 9, 99, 63,
+109, 60, 31, 63,205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87, 17,102, 63,229, 52, 43, 63,205,182, 95, 63,222,228, 40, 63, 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,109, 60, 31, 63, 63, 30, 93, 63,
+143,140, 28, 63, 11, 92, 96, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63, 87, 17,102, 63,229, 52, 43, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 31,136,111, 63,
+225, 17, 34, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 36, 28, 45, 63,118,148,108, 63,211,160, 44, 63, 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,225, 17, 34, 63,124, 87,105, 63,
+180, 23, 33, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63,152, 72, 53, 62,229,209, 22, 63, 47, 67, 65, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63,255,185, 88, 62,
+ 90,152, 9, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,246,100, 62,246, 29, 19, 63, 65, 65, 77, 62, 32, 48, 21, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63, 47, 67, 65, 62,
+147,111, 11, 63,254,204, 76, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63, 64,246,100, 62,246, 29, 19, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63,107, 8, 65, 62,
+170, 23, 33, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63, 65, 65, 77, 62, 32, 48, 21, 63,107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,170, 23, 33, 63, 89, 65, 90, 62,
+ 94, 60, 31, 63,230, 32, 78, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,105, 20, 52, 62,198,160, 44, 63,173,153, 25, 62, 27, 28, 45, 63,216, 69, 40, 62,220, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,107, 8, 65, 62,
+170, 23, 33, 63,105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,230, 32, 78, 62,211, 52, 43, 63,105, 20, 52, 62,198,160, 44, 63,107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,170, 23, 33, 63,216, 69, 40, 62,
+220, 17, 34, 63,152, 72, 53, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63,230, 32, 78, 62,211, 52, 43, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63, 83,237,113, 62,
+130,140, 28, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 23,200, 37, 63, 14,139,103, 62,199,228, 40, 63, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,130,140, 28, 63, 89, 65, 90, 62,
+ 94, 60, 31, 63, 64,246,100, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,152, 72, 53, 62,229,209, 22, 63,216, 69, 40, 62,220, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,133,237, 10, 62,
+219, 17, 34, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,213,251, 61,228,209, 22, 63,180,153, 25, 62,185, 32, 23, 63,133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,219, 17, 34, 63,216, 69, 40, 62,
+220, 17, 34, 63,173,153, 25, 62, 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,147,213,251, 61,228,209, 22, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63, 34, 39, 39, 62,
+ 98,116, 11, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63,180,153, 25, 62,185, 32, 23, 63, 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62, 98,116, 11, 63, 67, 12, 12, 62,
+ 98,116, 11, 63,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,254,204, 76, 62, 0, 0, 0, 63, 47, 67, 65, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63, 34, 39, 39, 62,
+ 98,116, 11, 63, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,181,153, 25, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63, 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62, 98,116, 11, 63, 47, 67, 65, 62,
+147,111, 11, 63,152, 72, 53, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,181,153, 25, 62, 0, 0, 0, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63,109,224,227, 61,
+147,111, 11, 63, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204,204, 61, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,109,224,227, 61,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,147,111, 11, 63, 67, 12, 12, 62,
+ 98,116, 11, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,171, 31,253, 61, 6,196,217, 62, 1,135, 11, 62,228,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,153,172, 39, 62,
+230,230,198, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,163, 52, 62, 7,196,217, 62,196,153, 25, 62, 73, 58,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62, 1,135, 11, 62,
+228,230,198, 62,214,153, 25, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,179,163, 52, 62, 7,196,217, 62,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,173, 71, 12, 62,
+ 31,211,236, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,171, 31,253, 61, 6,196,217, 62,196,153, 25, 62, 73, 58,217, 62,173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62, 31,211,236, 62,202,235, 38, 62,
+ 33,211,236, 62,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,215,204,204, 61, 0, 0, 0, 63,251,166,228, 61, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,173, 71, 12, 62,
+ 31,211,236, 62, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,181,153, 25, 62, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62, 31,211,236, 62,251,166,228, 61,
+ 67,207,236, 62,171, 31,253, 61, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,181,153, 25, 62, 0, 0, 0, 63,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,251,223, 64, 62,
+ 67,207,236, 62, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,254,204, 76, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63,251,223, 64, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62, 67,207,236, 62,202,235, 38, 62,
+ 33,211,236, 62,179,163, 52, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63, 1,122,156, 61,254, 29, 19, 63,172,242,180, 61, 96,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63,109,224,227, 61,
+147,111, 11, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,213,251, 61,228,209, 22, 63, 42,228,203, 61, 37, 48, 21, 63,109,224,227, 61,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,147,111, 11, 63,172,242,180, 61,
+ 96,152, 9, 63,215,204,204, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63,147,213,251, 61,228,209, 22, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,212,227,177, 61,
+110, 60, 31, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,122,156, 61,254, 29, 19, 63, 42,228,203, 61, 37, 48, 21, 63,212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,110, 60, 31, 63,208, 85,228, 61,
+179, 23, 33, 63,175, 36,202, 61,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 53, 80,151, 61,223,228, 40, 63,246,203, 76, 61, 48,200, 37, 63,166,139,130, 61,145,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,212,227,177, 61,
+110, 60, 31, 63, 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 36,202, 61,228, 52, 43, 63, 53, 80,151, 61,223,228, 40, 63,212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,110, 60, 31, 63,166,139,130, 61,
+145,140, 28, 63, 1,122,156, 61,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,175, 36,202, 61,228, 52, 43, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,133,237, 10, 62,
+219, 17, 34, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,153, 25, 62, 27, 28, 45, 63,201, 61,254, 61,207,160, 44, 63,133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,219, 17, 34, 63,208, 85,228, 61,
+179, 23, 33, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,155, 10,193, 62,229,209, 22, 63,229, 7,199, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63, 85,195,210, 62,
+ 96,152, 9, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,128,225,216, 62,254, 29, 19, 63,245, 6,205, 62, 37, 48, 21, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,229, 7,199, 62,
+147,111, 11, 63,202,204,204, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,128,225,216, 62,254, 29, 19, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63,140,234,198, 62,
+179, 23, 33, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63,245, 6,205, 62, 37, 48, 21, 63,140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,179, 23, 33, 63, 11,135,211, 62,
+110, 60, 31, 63,212,118,205, 62,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,142,112,192, 62,207,160, 44, 63, 42, 51,179, 62, 28, 28, 45, 63, 61,137,186, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63,140,234,198, 62,
+179, 23, 33, 63,142,112,192, 62,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,118,205, 62,228, 52, 43, 63,142,112,192, 62,207,160, 44, 63,140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,179, 23, 33, 63, 61,137,186, 62,
+219, 17, 34, 63,155, 10,193, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63,212,118,205, 62,228, 52, 43, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63, 22, 93,223, 62,
+145,140, 28, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 48,200, 37, 63,243, 43,218, 62,223,228, 40, 63, 22, 93,223, 62,145,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,145,140, 28, 63, 11,135,211, 62,
+110, 60, 31, 63,128,225,216, 62,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,155, 10,193, 62,229,209, 22, 63, 61,137,186, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63, 20,221,171, 62,
+219, 17, 34, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180, 91,165, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63, 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,219, 17, 34, 63, 61,137,186, 62,
+219, 17, 34, 63, 42, 51,179, 62, 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,180, 91,165, 62,229,209, 22, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,222,249,185, 62,
+ 98,116, 11, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63,222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62, 98,116, 11, 63,111,108,172, 62,
+ 98,116, 11, 63, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63,202,204,204, 62, 0, 0, 0, 63,229, 7,199, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63,222,249,185, 62,
+ 98,116, 11, 63,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63,222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62, 98,116, 11, 63,229, 7,199, 62,
+147,111, 11, 63,155, 10,193, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63, 38, 51,179, 62, 0, 0, 0, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,104, 94,159, 62,
+147,111, 11, 63, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,153,153, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63,104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,147,111, 11, 63,111,108,172, 62,
+ 98,116, 11, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62, 39,174,165, 62, 7,196,217, 62,180, 41,172, 62,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62,127, 60,186, 62,
+225,230,198, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184,192, 62, 6,196,217, 62, 30, 51,179, 62, 73, 58,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,180, 41,172, 62,
+227,230,198, 62, 21, 51,179, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62, 21,184,192, 62, 6,196,217, 62, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 27,138,172, 62,
+ 33,211,236, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,174,165, 62, 7,196,217, 62, 30, 51,179, 62, 73, 58,217, 62, 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62, 33,211,236, 62, 42,220,185, 62,
+ 31,211,236, 62, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63,129,153,153, 62, 0, 0, 0, 63, 3,144,159, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62, 27,138,172, 62,
+ 33,211,236, 62, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63, 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62, 33,211,236, 62, 3,144,159, 62,
+ 67,207,236, 62, 39,174,165, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63, 38, 51,179, 62, 0, 0, 0, 63, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 65,214,198, 62,
+ 67,207,236, 62,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,202,204,204, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63, 65,214,198, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62, 67,207,236, 62, 42,220,185, 62,
+ 31,211,236, 62, 21,184,192, 62, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,224,132,141, 62,246, 29, 19, 63, 1,163,147, 62, 91,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,104, 94,159, 62,
+147,111, 11, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180, 91,165, 62,229,209, 22, 63, 95, 95,153, 62, 32, 48, 21, 63,104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,147,111, 11, 63, 1,163,147, 62,
+ 91,152, 9, 63,129,153,153, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,180, 91,165, 62,229,209, 22, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 84,223,146, 62,
+ 94, 60, 31, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,224,132,141, 62,246, 29, 19, 63, 95, 95,153, 62, 32, 48, 21, 63, 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62, 94, 60, 31, 63,203,123,159, 62,
+170, 23, 33, 63,141,239,152, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 62, 23,200, 37, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 84,223,146, 62,
+ 94, 60, 31, 63,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,141,239,152, 62,211, 52, 43, 63,121, 58,140, 62,199,228, 40, 63, 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62, 94, 60, 31, 63, 86, 9,135, 62,
+130,140, 28, 63,224,132,141, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,141,239,152, 62,211, 52, 43, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 20,221,171, 62,
+219, 17, 34, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42, 51,179, 62, 28, 28, 45, 63,204,245,165, 62,198,160, 44, 63, 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,219, 17, 34, 63,203,123,159, 62,
+170, 23, 33, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,140,184, 19, 63,232,209, 22, 63, 43,183, 22, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63,223,148, 28, 63,
+ 94,152, 9, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245,163, 31, 63,253, 29, 19, 63,180,182, 25, 63, 38, 48, 21, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 43,183, 22, 63,
+149,111, 11, 63,155,153, 25, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,245,163, 31, 63,253, 29, 19, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,132,168, 22, 63,
+180, 23, 33, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,180,182, 25, 63, 38, 48, 21, 63,132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,180, 23, 33, 63,191,246, 28, 63,
+109, 60, 31, 63,169,238, 25, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,107, 19, 63,211,160, 44, 63,220,204, 12, 63, 35, 28, 45, 63,225,119, 16, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,132,168, 22, 63,
+180, 23, 33, 63,138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169,238, 25, 63,229, 52, 43, 63,138,107, 19, 63,211,160, 44, 63,132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,180, 23, 33, 63,225,119, 16, 63,
+225, 17, 34, 63,140,184, 19, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,169,238, 25, 63,229, 52, 43, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,192,225, 34, 63,
+142,140, 28, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 45,200, 37, 63, 51, 73, 32, 63,221,228, 40, 63,192,225, 34, 63,142,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,142,140, 28, 63,191,246, 28, 63,
+109, 60, 31, 63,245,163, 31, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63,140,184, 19, 63,232,209, 22, 63,225,119, 16, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,207, 33, 9, 63,
+226, 17, 34, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 29,225, 5, 63,233,209, 22, 63,212,204, 12, 63,188, 32, 23, 63,207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,226, 17, 34, 63,225,119, 16, 63,
+225, 17, 34, 63,220,204, 12, 63, 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63, 29,225, 5, 63,233,209, 22, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63, 43, 48, 16, 63,
+100,116, 11, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,212,204, 12, 63,188, 32, 23, 63, 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,100,116, 11, 63,118,105, 9, 63,
+101,116, 11, 63,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,155,153, 25, 63, 0, 0, 0, 63, 43,183, 22, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63, 43, 48, 16, 63,
+100,116, 11, 63, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204, 12, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63, 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,100,116, 11, 63, 43,183, 22, 63,
+149,111, 11, 63,140,184, 19, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63,205,204, 12, 63, 0, 0, 0, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63,118,226, 2, 63,
+149,111, 11, 63,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63,118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,149,111, 11, 63,118,105, 9, 63,
+101,116, 11, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62, 77, 10, 6, 63, 6,196,217, 62, 17, 72, 9, 63,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62,117, 81, 16, 63,
+223,230,198, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,143, 19, 63, 4,196,217, 62,198,204, 12, 63, 72, 58,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 17, 72, 9, 63,
+227,230,198, 62,191,204, 12, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62, 64,143, 19, 63, 4,196,217, 62, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 71,120, 9, 63,
+ 30,211,236, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77, 10, 6, 63, 6,196,217, 62,198,204, 12, 63, 72, 58,217, 62, 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63, 30,211,236, 62, 76, 33, 16, 63,
+ 30,211,236, 62,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 62,251, 2, 63, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 71,120, 9, 63,
+ 30,211,236, 62,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204, 12, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63, 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63, 30,211,236, 62, 62,251, 2, 63,
+ 67,207,236, 62, 77, 10, 6, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,205,204, 12, 63, 0, 0, 0, 63, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 86,158, 22, 63,
+ 65,207,236, 62, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155,153, 25, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63, 86,158, 22, 63, 65,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63, 65,207,236, 62, 76, 33, 16, 63,
+ 30,211,236, 62, 64,143, 19, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63,101,235,243, 62,252, 29, 19, 63,132, 9,250, 62, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,118,226, 2, 63,
+149,111, 11, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 29,225, 5, 63,233,209, 22, 63,233,197,255, 62, 39, 48, 21, 63,118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,149,111, 11, 63,132, 9,250, 62,
+ 94,152, 9, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63, 29,225, 5, 63,233,209, 22, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,225, 69,249, 62,
+110, 60, 31, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,235,243, 62,252, 29, 19, 63,233,197,255, 62, 39, 48, 21, 63,225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,110, 60, 31, 63, 43,241, 2, 63,
+181, 23, 33, 63, 30, 86,255, 62,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 9,161,242, 62,223,228, 40, 63,129,102,230, 62, 48,200, 37, 63,222,111,237, 62,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,225, 69,249, 62,
+110, 60, 31, 63, 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 86,255, 62,230, 52, 43, 63, 9,161,242, 62,223,228, 40, 63,225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,110, 60, 31, 63,222,111,237, 62,
+143,140, 28, 63,101,235,243, 62,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63, 30, 86,255, 62,230, 52, 43, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,207, 33, 9, 63,
+226, 17, 34, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 35, 28, 45, 63, 46, 46, 6, 63,211,160, 44, 63,207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,226, 17, 34, 63, 43,241, 2, 63,
+181, 23, 33, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,218,173, 82, 63, 55, 92,210, 62,229,189, 79, 63,173,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,230,250, 82, 63,
+117,190,166, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63,201,199,165, 62,138,238, 85, 63, 72,220,187, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,229,189, 79, 63,
+173,208,189, 62,198,119, 76, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,198,119, 76, 63, 90,150,169, 62,229,189, 79, 63,173,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,176,175, 76, 63,
+192,159,213, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,112,194, 70, 63, 19,196,217, 62,170,111, 73, 63, 68,135,193, 62,176,175, 76, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,192,159,213, 62,229,189, 79, 63,
+173,208,189, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,193,204, 76, 63, 0, 0, 0, 63,128,209, 73, 63, 75,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63, 75,207,236, 62,176,175, 76, 63,
+192,159,213, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,218,173, 82, 63, 55, 92,210, 62, 52,175, 79, 63,218, 32,233, 62,176,175, 76, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,192,159,213, 62,128,209, 73, 63,
+ 75,207,236, 62,112,194, 70, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,112,194, 70, 63, 19,196,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 61, 29, 70, 63,
+114, 54,174, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,119, 76, 63, 90,150,169, 62,170,111, 73, 63, 68,135,193, 62, 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61, 29, 70, 63,114, 54,174, 62,171,132, 67, 63,
+253,230,198, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,218,173, 82, 63, 55, 92,210, 62, 56, 54, 86, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62, 41, 51, 83, 63,
+ 24,252,255, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,193,204, 76, 63, 0, 0, 0, 63, 52,175, 79, 63,218, 32,233, 62, 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63, 24,252,255, 62, 56, 54, 86, 63,
+ 58, 23,233, 62,147,153, 89, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62,147,153, 89, 63, 0, 0, 0, 63, 56, 54, 86, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62,147,153, 89, 63,
+143,190,209, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62,239,252, 92, 63, 58, 23,233, 62,147,153, 89, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,143,190,209, 62, 56, 54, 86, 63,
+ 58, 23,233, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,149,153, 89, 63,201,199,165, 62,159, 68, 93, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62,147,153, 89, 63,
+143,190,209, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,218,173, 82, 63, 55, 92,210, 62,138,238, 85, 63, 72,220,187, 62,147,153, 89, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,143,190,209, 62,159, 68, 93, 63,
+ 72,220,187, 62, 78,133, 96, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62, 78,133, 96, 63, 55, 92,210, 62,242,131, 99, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,254,255, 95, 63,
+ 24,252,255, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63,239,252, 92, 63, 58, 23,233, 62,254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63, 24,252,255, 62,242,131, 99, 63,
+218, 32,233, 62,101,102,102, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,192,112,108, 63, 4,196,217, 62,133,195,105, 63, 37,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,249, 21,109, 63,
+ 65, 54,174, 62,139,174,111, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,160,111,180, 62,139,174,111, 63,223,230,198, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,133,195,105, 63,
+ 37,135,193, 62,106,187,102, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62,106,187,102, 63, 54,150,169, 62,133,195,105, 63, 37,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,123,131,102, 63,
+181,159,213, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62, 70,117, 99, 63,155,208,189, 62,123,131,102, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,181,159,213, 62,133,195,105, 63,
+ 37,135,193, 62,192,112,108, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,101,102,102, 63, 0, 0, 0, 63,242,131, 99, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,123,131,102, 63,
+181,159,213, 62,170, 97,105, 63, 65,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,112,108, 63, 4,196,217, 62,170, 97,105, 63, 65,207,236, 62,123,131,102, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,181,159,213, 62,242,131, 99, 63,
+218, 32,233, 62, 78,133, 96, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62, 78,133, 96, 63, 55, 92,210, 62,159, 68, 93, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62, 71, 56, 96, 63,
+ 99,190,166, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,106,187,102, 63, 54,150,169, 62, 70,117, 99, 63,155,208,189, 62, 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71, 56, 96, 63, 99,190,166, 62,159, 68, 93, 63,
+ 72,220,187, 62,149,153, 89, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 21,238, 92, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,254,255, 95, 63,
+ 24,252,255, 62, 33,107, 99, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,102, 63, 0, 0, 0, 63, 33,107, 99, 63, 94,152, 9, 63,254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63, 24,252,255, 62, 21,238, 92, 63,
+112,150, 9, 63,147,153, 89, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63,147,153, 89, 63, 0, 0, 0, 63, 21,238, 92, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,143,153, 89, 63,
+219, 98, 19, 63, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,215, 82, 63,252, 29, 19, 63, 14, 69, 86, 63,112,150, 9, 63,143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,219, 98, 19, 63, 21,238, 92, 63,
+112,150, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63,139,153, 89, 63, 45,200, 37, 63,218, 20, 86, 63,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,143,140, 28, 63,143,153, 89, 63,
+219, 98, 19, 63, 63, 30, 93, 63,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11, 92, 96, 63,253, 29, 19, 63, 63, 30, 93, 63,143,140, 28, 63,143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,219, 98, 19, 63,218, 20, 86, 63,
+143,140, 28, 63, 19,215, 82, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63, 19,215, 82, 63,252, 29, 19, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 41, 51, 83, 63,
+ 24,252,255, 62, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63, 14, 69, 86, 63,112,150, 9, 63, 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63, 24,252,255, 62, 1,200, 79, 63,
+ 94,152, 9, 63,193,204, 76, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,151, 35,188, 60, 46, 92,210, 62,218, 74, 60, 60,150,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 74, 60, 60,150,208,189, 62,195,197,197, 60,
+ 89,190,166, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,194,205, 76, 61,186,199,165, 62,237, 28, 18, 61, 60,220,187, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62,150,120,129, 63,
+150,208,189, 62, 15,171,127, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62, 15,171,127, 63, 52,150,169, 62,150,120,129, 63,150,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,120,129, 63,150,208,189, 62,244,226,127, 63,
+179,159,213, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,245,121, 63, 6,196,217, 62,241,162,124, 63, 36,135,193, 62,244,226,127, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,179,159,213, 62,150,120,129, 63,
+150,208,189, 62,142,240,130, 63, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0, 0, 63,194, 4,125, 63, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63, 67,207,236, 62,244,226,127, 63,
+179,159,213, 62, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,142,240,130, 63, 46, 92,210, 62, 59,113,129, 63,214, 32,233, 62,244,226,127, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,179,159,213, 62,194, 4,125, 63,
+ 67,207,236, 62,179,245,121, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62,179,245,121, 63, 6,196,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,133, 80,121, 63,
+ 65, 54,174, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 15,171,127, 63, 52,150,169, 62,241,162,124, 63, 36,135,193, 62,133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133, 80,121, 63, 65, 54,174, 62,239,183,118, 63,
+227,230,198, 62, 65, 51,115, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,110,157, 56, 60,214, 32,233, 62,151, 35,188, 60, 46, 92,210, 62, 95,151, 22, 61, 55, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62,176,204,204, 60,
+ 24,252,255, 62,110,157, 56, 60,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,167, 79, 11, 38, 0, 0, 0, 63,110,157, 56, 60,214, 32,233, 62,176,204,204, 60, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60, 24,252,255, 62, 95,151, 22, 61,
+ 55, 23,233, 62,215,204, 76, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62,215,204, 76, 61, 0, 0, 0, 63, 95,151, 22, 61, 55, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62, 68,205, 76, 61,
+135,190,209, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 87,129,129, 61, 57, 23,233, 62, 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,135,190,209, 62, 95,151, 22, 61,
+ 55, 23,233, 62,151, 35,188, 60, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,194,205, 76, 61,186,199,165, 62, 7,191,131, 61, 62,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 68,205, 76, 61,
+135,190,209, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,151, 35,188, 60, 46, 92,210, 62,237, 28, 18, 61, 60,220,187, 62, 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,135,190,209, 62, 7,191,131, 61,
+ 62,220,187, 62, 92,196,157, 61, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62, 92,196,157, 61, 49, 92,210, 62, 89,185,181, 61,214, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,154,153,153, 61,
+ 25,252,255, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63, 87,129,129, 61, 57, 23,233, 62,154,153,153, 61, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61, 25,252,255, 62, 89,185,181, 61,
+214, 32,233, 62,215,204,204, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,171, 31,253, 61, 6,196,217, 62,251,181,231, 61, 38,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,204, 36, 1, 62,
+ 70, 54,174, 62, 1,135, 11, 62,228,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,165,111,180, 62, 1,135, 11, 62,228,230,198, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62,251,181,231, 61,
+ 38,135,193, 62, 70,117,207, 61, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62, 70,117,207, 61, 54,150,169, 62,251,181,231, 61, 38,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,164,181,205, 61,
+180,159,213, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 35, 68,181, 61,153,208,189, 62,164,181,205, 61,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,180,159,213, 62,251,181,231, 61,
+ 38,135,193, 62,171, 31,253, 61, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,215,204,204, 61, 0, 0, 0, 63, 89,185,181, 61,214, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,164,181,205, 61,
+180,159,213, 62,251,166,228, 61, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,171, 31,253, 61, 6,196,217, 62,251,166,228, 61, 67,207,236, 62,164,181,205, 61,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,180,159,213, 62, 89,185,181, 61,
+214, 32,233, 62, 92,196,157, 61, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62, 92,196,157, 61, 49, 92,210, 62, 7,191,131, 61, 62,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 79, 92,155, 61,
+ 91,190,166, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117,207, 61, 54,150,169, 62, 35, 68,181, 61,153,208,189, 62, 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 79, 92,155, 61, 91,190,166, 62, 7,191,131, 61,
+ 62,220,187, 62,194,205, 76, 61,186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63, 1,122,156, 61,254, 29, 19, 63,100, 10,129, 61,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63,154,153,153, 61,
+ 25,252,255, 62,172,242,180, 61, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204,204, 61, 0, 0, 0, 63,172,242,180, 61, 96,152, 9, 63,154,153,153, 61, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61, 25,252,255, 62,100, 10,129, 61,
+113,150, 9, 63,215,204, 76, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,215,204, 76, 61, 0, 0, 0, 63,100, 10,129, 61,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63, 91,204, 76, 61,
+220, 98, 19, 63,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174, 73,193, 60,253, 29, 19, 63,109,132, 23, 61,113,150, 9, 63, 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,220, 98, 19, 63,100, 10,129, 61,
+113,150, 9, 63, 1,122,156, 61,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,246,203, 76, 61, 48,200, 37, 63, 13,129, 20, 61,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,143,140, 28, 63, 91,204, 76, 61,
+220, 98, 19, 63,166,139,130, 61,145,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,122,156, 61,254, 29, 19, 63,166,139,130, 61,145,140, 28, 63, 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,220, 98, 19, 63, 13,129, 20, 61,
+143,140, 28, 63,174, 73,193, 60,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,174, 73,193, 60,253, 29, 19, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,207, 62, 60, 94,152, 9, 63,176,204,204, 60,
+ 24,252,255, 62,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63,109,132, 23, 61,113,150, 9, 63,176,204,204, 60, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60, 24,252,255, 62,114,207, 62, 60,
+ 94,152, 9, 63,167, 79, 11, 38, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 63, 81,100, 62, 60, 92,210, 62,110,145, 88, 62,167,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62, 91,133,101, 62,
+112,190,166, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,206,199,165, 62,237, 83,113, 62, 79,220,187, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,110,145, 88, 62,
+167,208,189, 62,239,120, 75, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,239,120, 75, 62, 70,150,169, 62,110,145, 88, 62,167,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62,170, 88, 76, 62,
+187,159,213, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,163, 52, 62, 7,196,217, 62,144, 88, 63, 62, 46,135,193, 62,170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,187,159,213, 62,110,145, 88, 62,
+167,208,189, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62,254,204, 76, 62, 0, 0, 0, 63,251,223, 64, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62, 67,207,236, 62,170, 88, 76, 62,
+187,159,213, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 81,100, 62, 60, 92,210, 62,190, 86, 88, 62,221, 32,233, 62,170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,187,159,213, 62,251,223, 64, 62,
+ 67,207,236, 62,179,163, 52, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,179,163, 52, 62, 7,196,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62,213, 14, 50, 62,
+ 78, 54,174, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,120, 75, 62, 70,150,169, 62,144, 88, 63, 62, 46,135,193, 62,213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14, 50, 62, 78, 54,174, 62,153,172, 39, 62,
+230,230,198, 62,214,153, 25, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62, 63, 81,100, 62, 60, 92,210, 62,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62,126,102,102, 62,
+ 25,252,255, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,254,204, 76, 62, 0, 0, 0, 63,190, 86, 88, 62,221, 32,233, 62,126,102,102, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62, 25,252,255, 62,166,114,114, 62,
+ 63, 23,233, 62, 0, 0,128, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 62, 0, 0, 0, 63,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 62,
+149,190,209, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,149,190,209, 62,166,114,114, 62,
+ 63, 23,233, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 62,
+149,190,209, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 81,100, 62, 60, 92,210, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,149,190,209, 62, 9, 86,135, 62,
+ 79,220,187, 62, 97,215,141, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62, 97,215,141, 62, 60, 92,210, 62,161,212,147, 62,221, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,193,204,140, 62,
+ 25,252,255, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63,173,198,134, 62, 63, 23,233, 62,193,204,140, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62, 25,252,255, 62,161,212,147, 62,
+221, 32,233, 62,129,153,153, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62, 39,174,165, 62, 7,196,217, 62,184, 83,160, 62, 46,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,150,248,166, 62,
+ 78, 54,174, 62,180, 41,172, 62,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,165,111,180, 62,180, 41,172, 62,227,230,198, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,184, 83,160, 62,
+ 46,135,193, 62,137, 67,154, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62,137, 67,154, 62, 70,150,169, 62,184, 83,160, 62, 46,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,171,211,153, 62,
+187,159,213, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62, 73,183,147, 62,167,208,189, 62,171,211,153, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,187,159,213, 62,184, 83,160, 62,
+ 46,135,193, 62, 39,174,165, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62,129,153,153, 62, 0, 0, 0, 63,161,212,147, 62,221, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,171,211,153, 62,
+187,159,213, 62, 3,144,159, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,174,165, 62, 7,196,217, 62, 3,144,159, 62, 67,207,236, 62,171,211,153, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,187,159,213, 62,161,212,147, 62,
+221, 32,233, 62, 97,215,141, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62, 97,215,141, 62, 60, 92,210, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 82, 61,141, 62,
+112,190,166, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,137, 67,154, 62, 70,150,169, 62, 73,183,147, 62,167,208,189, 62, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82, 61,141, 62,112,190,166, 62, 9, 86,135, 62,
+ 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,224,132,141, 62,246, 29, 19, 63,251,168,134, 62,107,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63,193,204,140, 62,
+ 25,252,255, 62, 1,163,147, 62, 91,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,153,153, 62, 0, 0, 0, 63, 1,163,147, 62, 91,152, 9, 63,193,204,140, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62, 25,252,255, 62,251,168,134, 62,
+107,150, 9, 63, 0, 0,128, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 62, 0, 0, 0, 63,251,168,134, 62,107,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63, 0, 0,128, 62,
+209, 98, 19, 63, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,246,100, 62,246, 29, 19, 63, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,209, 98, 19, 63,251,168,134, 62,
+107,150, 9, 63,224,132,141, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62, 23,200, 37, 63, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 62,
+209, 98, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,224,132,141, 62,246, 29, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,209, 98, 19, 63, 83,237,113, 62,
+130,140, 28, 63, 64,246,100, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63, 64,246,100, 62,246, 29, 19, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63,126,102,102, 62,
+ 25,252,255, 62, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63, 11,174,114, 62,107,150, 9, 63,126,102,102, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62, 25,252,255, 62,255,185, 88, 62,
+ 90,152, 9, 63,254,204, 76, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62,233,142,216, 62, 49, 92,210, 62,248,174,210, 62,153,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,237, 40,217, 62,
+ 91,190,166, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,183,199,165, 62, 63, 16,223, 62, 62,220,187, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,248,174,210, 62,
+153,208,189, 62,175, 34,204, 62, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62,175, 34,204, 62, 54,150,169, 62,248,174,210, 62,153,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,151,146,204, 62,
+180,159,213, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184,192, 62, 6,196,217, 62,129, 18,198, 62, 37,135,193, 62,151,146,204, 62,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,180,159,213, 62,248,174,210, 62,
+153,208,189, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,202,204,204, 62, 0, 0, 0, 63, 65,214,198, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62, 67,207,236, 62,151,146,204, 62,
+180,159,213, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,142,216, 62, 49, 92,210, 62,170,145,210, 62,214, 32,233, 62,151,146,204, 62,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,180,159,213, 62, 65,214,198, 62,
+ 67,207,236, 62, 21,184,192, 62, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62, 21,184,192, 62, 6,196,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,154,109,191, 62,
+ 68, 54,174, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 34,204, 62, 54,150,169, 62,129, 18,198, 62, 37,135,193, 62,154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,109,191, 62, 68, 54,174, 62,127, 60,186, 62,
+225,230,198, 62, 21, 51,179, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,233,142,216, 62, 49, 92,210, 62,171,159,223, 62, 57, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62,154,153,217, 62,
+ 24,252,255, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,202,204,204, 62, 0, 0, 0, 63,170,145,210, 62,214, 32,233, 62,154,153,217, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62, 24,252,255, 62,171,159,223, 62,
+ 57, 23,233, 62,101,102,230, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,101,102,230, 62, 0, 0, 0, 63,171,159,223, 62, 57, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62, 88,102,230, 62,
+135,190,209, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62, 20, 45,237, 62, 55, 23,233, 62, 88,102,230, 62,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,135,190,209, 62,171,159,223, 62,
+ 57, 23,233, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62, 72,102,230, 62,183,199,165, 62, 99,188,237, 62, 60,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62, 88,102,230, 62,
+135,190,209, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,142,216, 62, 49, 92,210, 62, 63, 16,223, 62, 62,220,187, 62, 88,102,230, 62,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,135,190,209, 62, 99,188,237, 62,
+ 60,220,187, 62,199, 61,244, 62, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,199, 61,244, 62, 46, 92,210, 62, 21, 59,250, 62,213, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 53, 51,243, 62,
+ 24,252,255, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63, 20, 45,237, 62, 55, 23,233, 62, 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62, 24,252,255, 62, 21, 59,250, 62,
+213, 32,233, 62, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62, 77, 10, 6, 63, 6,196,217, 62, 15, 93, 3, 63, 36,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62,123,175, 6, 63,
+ 65, 54,174, 62, 17, 72, 9, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,160,111,180, 62, 17, 72, 9, 63,227,230,198, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62, 15, 93, 3, 63,
+ 36,135,193, 62,241, 84, 0, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,241, 84, 0, 63, 52,150,169, 62, 15, 93, 3, 63, 36,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62, 12, 29, 0, 63,
+179,159,213, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62,169, 29,250, 62,150,208,189, 62, 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,179,159,213, 62, 15, 93, 3, 63,
+ 36,135,193, 62, 77, 10, 6, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 0, 0, 0, 63, 0, 0, 0, 63, 21, 59,250, 62,213, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 12, 29, 0, 63,
+179,159,213, 62, 62,251, 2, 63, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77, 10, 6, 63, 6,196,217, 62, 62,251, 2, 63, 67,207,236, 62, 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,179,159,213, 62, 21, 59,250, 62,
+213, 32,233, 62,199, 61,244, 62, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,199, 61,244, 62, 46, 92,210, 62, 99,188,237, 62, 60,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62,164,163,243, 62,
+ 89,190,166, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241, 84, 0, 63, 52,150,169, 62,169, 29,250, 62,150,208,189, 62,164,163,243, 62, 89,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,163,243, 62, 89,190,166, 62, 99,188,237, 62,
+ 60,220,187, 62, 72,102,230, 62,183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,101,235,243, 62,252, 29, 19, 63,114, 15,237, 62,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63, 53, 51,243, 62,
+ 24,252,255, 62,132, 9,250, 62, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,132, 9,250, 62, 94,152, 9, 63, 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62, 24,252,255, 62,114, 15,237, 62,
+113,150, 9, 63,101,102,230, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,101,102,230, 62, 0, 0, 0, 63,114, 15,237, 62,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63,117,102,230, 62,
+220, 98, 19, 63,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,128,225,216, 62,254, 29, 19, 63,103,189,223, 62,112,150, 9, 63,117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,220, 98, 19, 63,114, 15,237, 62,
+113,150, 9, 63,101,235,243, 62,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,129,102,230, 62, 48,200, 37, 63, 22, 93,223, 62,145,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,145,140, 28, 63,117,102,230, 62,
+220, 98, 19, 63,222,111,237, 62,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,235,243, 62,252, 29, 19, 63,222,111,237, 62,143,140, 28, 63,117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,220, 98, 19, 63, 22, 93,223, 62,
+145,140, 28, 63,128,225,216, 62,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,128,225,216, 62,254, 29, 19, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,154,153,217, 62,
+ 24,252,255, 62,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63,103,189,223, 62,112,150, 9, 63,154,153,217, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62, 24,252,255, 62, 85,195,210, 62,
+ 96,152, 9, 63,202,204,204, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,178,122, 31, 63, 55, 92,210, 62,186,138, 28, 63,155,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,185,199, 31, 63,
+ 96,190,166, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63,201,199,165, 62, 97,187, 34, 63, 72,220,187, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,186,138, 28, 63,
+155,208,189, 62,150, 68, 25, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62,150, 68, 25, 63, 54,150,169, 62,186,138, 28, 63,155,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,133,124, 25, 63,
+181,159,213, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,143, 19, 63, 4,196,217, 62,123, 60, 22, 63, 36,135,193, 62,133,124, 25, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,181,159,213, 62,186,138, 28, 63,
+155,208,189, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,155,153, 25, 63, 0, 0, 0, 63, 86,158, 22, 63, 65,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63, 65,207,236, 62,133,124, 25, 63,
+181,159,213, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,178,122, 31, 63, 55, 92,210, 62, 14,124, 28, 63,218, 32,233, 62,133,124, 25, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,181,159,213, 62, 86,158, 22, 63,
+ 65,207,236, 62, 64,143, 19, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62, 64,143, 19, 63, 4,196,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 7,234, 18, 63,
+ 65, 54,174, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,150, 68, 25, 63, 54,150,169, 62,123, 60, 22, 63, 36,135,193, 62, 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,234, 18, 63, 65, 54,174, 62,117, 81, 16, 63,
+223,230,198, 62,191,204, 12, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,178,122, 31, 63, 55, 92,210, 62, 17, 3, 35, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62, 2, 0, 32, 63,
+ 24,252,255, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155,153, 25, 63, 0, 0, 0, 63, 14,124, 28, 63,218, 32,233, 62, 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63, 24,252,255, 62, 17, 3, 35, 63,
+ 58, 23,233, 62,109,102, 38, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62,109,102, 38, 63, 0, 0, 0, 63, 17, 3, 35, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62,109,102, 38, 63,
+143,190,209, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62,200,201, 41, 63, 58, 23,233, 62,109,102, 38, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,143,190,209, 62, 17, 3, 35, 63,
+ 58, 23,233, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,107,102, 38, 63,201,199,165, 62,118, 17, 42, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62,109,102, 38, 63,
+143,190,209, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,178,122, 31, 63, 55, 92,210, 62, 97,187, 34, 63, 72,220,187, 62,109,102, 38, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,143,190,209, 62,118, 17, 42, 63,
+ 72,220,187, 62, 38, 82, 45, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62, 38, 82, 45, 63, 55, 92,210, 62,204, 80, 48, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62,215,204, 44, 63,
+ 23,252,255, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,200,201, 41, 63, 58, 23,233, 62,215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63, 23,252,255, 62,204, 80, 48, 63,
+218, 32,233, 62, 63, 51, 51, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,144, 61, 57, 63, 19,196,217, 62, 86,144, 54, 63, 68,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62,196,226, 57, 63,
+114, 54,174, 62, 85,123, 60, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,211,111,180, 62, 85,123, 60, 63,253,230,198, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62, 86,144, 54, 63,
+ 68,135,193, 62, 58,136, 51, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62, 58,136, 51, 63, 90,150,169, 62, 86,144, 54, 63, 68,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62, 80, 80, 51, 63,
+192,159,213, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62, 27, 66, 48, 63,173,208,189, 62, 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,192,159,213, 62, 86,144, 54, 63,
+ 68,135,193, 62,144, 61, 57, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62, 63, 51, 51, 63, 0, 0, 0, 63,204, 80, 48, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62, 80, 80, 51, 63,
+192,159,213, 62,128, 46, 54, 63, 75,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 61, 57, 63, 19,196,217, 62,128, 46, 54, 63, 75,207,236, 62, 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,192,159,213, 62,204, 80, 48, 63,
+218, 32,233, 62, 38, 82, 45, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62, 38, 82, 45, 63, 55, 92,210, 62,118, 17, 42, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62, 26, 5, 45, 63,
+117,190,166, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58,136, 51, 63, 90,150,169, 62, 27, 66, 48, 63,173,208,189, 62, 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 26, 5, 45, 63,117,190,166, 62,118, 17, 42, 63,
+ 72,220,187, 62,107,102, 38, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,237, 40, 45, 63,252, 29, 19, 63,242,186, 41, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,215,204, 44, 63,
+ 23,252,255, 62,255, 55, 48, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 51, 51, 63, 0, 0, 0, 63,255, 55, 48, 63, 94,152, 9, 63,215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63, 23,252,255, 62,242,186, 41, 63,
+112,150, 9, 63,109,102, 38, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,109,102, 38, 63, 0, 0, 0, 63,242,186, 41, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,113,102, 38, 63,
+219, 98, 19, 63,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245,163, 31, 63,253, 29, 19, 63,235, 17, 35, 63,112,150, 9, 63,113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,219, 98, 19, 63,242,186, 41, 63,
+112,150, 9, 63,237, 40, 45, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63,117,102, 38, 63, 45,200, 37, 63,192,225, 34, 63,142,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,142,140, 28, 63,113,102, 38, 63,
+219, 98, 19, 63, 38,235, 41, 63,141,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 40, 45, 63,252, 29, 19, 63, 38,235, 41, 63,141,140, 28, 63,113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,219, 98, 19, 63,192,225, 34, 63,
+142,140, 28, 63,245,163, 31, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,245,163, 31, 63,253, 29, 19, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 2, 0, 32, 63,
+ 24,252,255, 62,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,235, 17, 35, 63,112,150, 9, 63, 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63, 24,252,255, 62,223,148, 28, 63,
+ 94,152, 9, 63,155,153, 25, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62,235, 71, 99, 63,222, 76,120, 62, 94, 37,106, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 65, 51,115, 63,
+248,151, 97, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,151, 83,135, 62,188,129,107, 63, 66, 45,128, 62, 65, 51,115, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 94, 37,106, 63,
+ 84, 97, 83, 62, 65, 51,115, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62, 65, 51,115, 63,151, 83,135, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,123,108, 63,169,144,151, 62,231, 50,101, 63,
+ 17,201,146, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,188,129,107, 63, 66, 45,128, 62,231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63, 17,201,146, 62,142,123,108, 63,
+169,144,151, 62,106,187,102, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 71, 56, 96, 63, 99,190,166, 62,149,153, 89, 63,201,199,165, 62, 22,238, 93, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62,231, 50,101, 63,
+ 17,201,146, 62, 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,106,187,102, 63, 54,150,169, 62, 71, 56, 96, 63, 99,190,166, 62,231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63, 17,201,146, 62, 22,238, 93, 63,
+243,101,144, 62,235, 71, 99, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,106,187,102, 63, 54,150,169, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,123,108, 63,169,144,151, 62, 65, 51,115, 63,
+ 93,231,157, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,160,111,180, 62,249, 21,109, 63, 65, 54,174, 62, 65, 51,115, 63, 93,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 93,231,157, 62,142,123,108, 63,
+169,144,151, 62, 65, 51,115, 63,151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62,235, 71, 99, 63,222, 76,120, 62, 22,238, 93, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62, 21, 69, 85, 63,
+ 3,102,144, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,235, 79, 63, 37, 77,120, 62,149,153, 89, 63, 79,162,115, 62, 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63, 3,102,144, 62, 22,238, 93, 63,
+243,101,144, 62,149,153, 89, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62, 68,235, 79, 63, 37, 77,120, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62, 22,121, 95, 63,
+204,176, 70, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,149,153, 89, 63, 79,162,115, 62, 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,204,176, 70, 62, 24,186, 83, 63,
+245,176, 70, 62,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 94, 37,106, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 22,121, 95, 63,
+204,176, 70, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,198, 31, 23, 62, 61,119,103, 63,179,253, 30, 62, 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,204,176, 70, 62, 94, 37,106, 63,
+ 84, 97, 83, 62,235, 71, 99, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62,152,153, 89, 63,198, 31, 23, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62,214, 13, 73, 63,
+181, 97, 83, 62,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62,248,187, 75, 63,241,253, 30, 62,214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,181, 97, 83, 62, 24,186, 83, 63,
+245,176, 70, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0, 64, 63,111, 65, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61, 38, 49,117, 63,
+225, 64, 52, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 83,111,180, 61,152,153, 89, 63,111, 41,147, 61, 38, 49,117, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61, 0, 0, 64, 63,
+111, 65, 52, 61,208,222,121, 63,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61, 65, 51,115, 63, 83,111,180, 61,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61,135,255, 79, 63,
+120, 46,231, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,195,111,180, 61,152,153, 89, 63,111, 41,147, 61,135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,120, 46,231, 61,172, 51, 99, 63,
+ 48, 46,231, 61,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0, 64, 63, 24, 71, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 71, 7, 62,135,255, 79, 63,
+120, 46,231, 61,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,198, 31, 23, 62,248,187, 75, 63,241,253, 30, 62,135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,120, 46,231, 61, 0, 0, 64, 63,
+ 24, 71, 7, 62, 0, 0, 64, 63,195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62,152,153, 89, 63,198, 31, 23, 62,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61, 66, 51,115, 63,
+199, 70, 7, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 61,119,103, 63,179,253, 30, 62, 66, 51,115, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,199, 70, 7, 62,172, 51, 99, 63,
+ 48, 46,231, 61, 65, 51,115, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62,214, 13, 73, 63,
+181, 97, 83, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,235, 79, 63, 37, 77,120, 62,122,177, 71, 63,120, 45,128, 62,214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,181, 97, 83, 62, 0, 0, 64, 63,
+115,152, 97, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62, 68,235, 79, 63, 37, 77,120, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62,169,183, 70, 63,
+219,144,151, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,218, 83,135, 62,122,177, 71, 63,120, 45,128, 62,169,183, 70, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,219,144,151, 62, 72, 0, 78, 63,
+ 52,201,146, 62,198,119, 76, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 61, 29, 70, 63,114, 54,174, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0, 64, 63,162,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,162,231,157, 62,169,183, 70, 63,
+219,144,151, 62, 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,119, 76, 63, 90,150,169, 62, 61, 29, 70, 63,114, 54,174, 62,169,183, 70, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,219,144,151, 62, 0, 0, 64, 63,
+162,231,157, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,198,119, 76, 63, 90,150,169, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62, 21, 69, 85, 63,
+ 3,102,144, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63,201,199,165, 62,230,250, 82, 63,117,190,166, 62, 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63, 3,102,144, 62, 72, 0, 78, 63,
+ 52,201,146, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62, 94,217,179, 61,222, 76,120, 62,202,196,234, 61,100, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,212,153, 25, 62,
+ 2,152, 97, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,156, 83,135, 62,179,167,245, 61, 72, 45,128, 62,212,153, 25, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62,202,196,234, 61,
+100, 97, 83, 62,214,153, 25, 62,106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62,214,153, 25, 62,156, 83,135, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62, 53, 49,195, 61,
+ 17,201,146, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,179,167,245, 61, 72, 45,128, 62, 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61, 17,201,146, 62, 62,118,253, 61,
+174,144,151, 62, 70,117,207, 61, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 79, 92,155, 61, 91,190,166, 62,194,205, 76, 61,186,199,165, 62,212, 10,137, 61,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62, 53, 49,195, 61,
+ 17,201,146, 62, 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117,207, 61, 54,150,169, 62, 79, 92,155, 61, 91,190,166, 62, 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61, 17,201,146, 62,212, 10,137, 61,
+238,101,144, 62, 94,217,179, 61,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62, 70,117,207, 61, 54,150,169, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62,213,153, 25, 62,
+100,231,157, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,165,111,180, 62,204, 36, 1, 62, 70, 54,174, 62,213,153, 25, 62,100,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,100,231,157, 62, 62,118,253, 61,
+174,144,151, 62,214,153, 25, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62, 94,217,179, 61,222, 76,120, 62,212, 10,137, 61,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62,207,133, 7, 61,
+236,101,144, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255,162, 71, 60,216, 76,120, 62,188,205, 76, 61, 53,162,115, 62,207,133, 7, 61,236,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,236,101,144, 62,212, 10,137, 61,
+238,101,144, 62,194,205, 76, 61,186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62,255,162, 71, 60,216, 76,120, 62,190,171,221, 60,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,190,171,221, 60,194,176, 70, 62,194, 98,149, 61,
+194,176, 70, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,188,205, 76, 61, 53,162,115, 62,194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,194,176, 70, 62,190,171,221, 60,
+194,176, 70, 62,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,214,153, 25, 62,106,111, 52, 62,202,196,234, 61,100, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,194, 98,149, 61,
+194,176, 70, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,193,205, 76, 61,168, 31, 23, 62,198, 83,213, 61,179,253, 30, 62,194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,194,176, 70, 62,202,196,234, 61,
+100, 97, 83, 62, 94,217,179, 61,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62,154,105,131, 63,168, 31, 23, 62,175,118,131, 63,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,175,118,131, 63,194,176, 70, 62, 30, 65,124, 63,
+ 90, 97, 83, 62, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 59,239,126, 63,174,253, 30, 62, 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63, 90, 97, 83, 62,175,118,131, 63,
+194,176, 70, 62, 70,143,129, 63,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,156,105,131, 63,101, 41,147, 61, 65, 51,115, 63, 83,111,180, 61, 38, 49,117, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61,232,148,135, 63,
+144,158,125, 60,156,105,131, 63,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,153, 25, 62,104,111,180, 61,122,245,128, 61,101, 41,147, 61,224,153, 25, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,148,135, 63,144,158,125, 60, 38, 49,117, 63,
+225, 64, 52, 61,208,222,121, 63,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,122,245,128, 61,101, 41,147, 61,215,153, 25, 62,104,111,180, 61, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61, 96,147,208, 60,
+ 48, 46,231, 61,122,245,128, 61,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 83,111,180, 61,156,105,131, 63,101, 41,147, 61,102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 96,147,208, 60, 48, 46,231, 61, 89, 55,179, 61,
+ 38, 46,231, 61,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 66, 51,115, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,199, 70, 7, 62,102,153,129, 63,
+ 48, 46,231, 61, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,105,131, 63,168, 31, 23, 62, 59,239,126, 63,174,253, 30, 62,102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102,153,129, 63, 48, 46,231, 61, 66, 51,115, 63,
+199, 70, 7, 62, 65, 51,115, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,193,205, 76, 61,168, 31, 23, 62, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61,217,153, 25, 62,
+204, 70, 7, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,198, 83,213, 61,179,253, 30, 62,217,153, 25, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,204, 70, 7, 62, 89, 55,179, 61,
+ 38, 46,231, 61,215,153, 25, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62, 65, 51,115, 63,151, 83,135, 62, 65, 51,115, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 30, 65,124, 63,
+ 90, 97, 83, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,143,129, 63,216, 76,120, 62,192,228,122, 63, 66, 45,128, 62, 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63, 90, 97, 83, 62, 65, 51,115, 63,
+248,151, 97, 62, 65, 51,115, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62, 70,143,129, 63,216, 76,120, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201,153,128, 63, 14,201,146, 62,239,234,121, 63,
+169,144,151, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,151, 83,135, 62,192,228,122, 63, 66, 45,128, 62,239,234,121, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,169,144,151, 62,201,153,128, 63,
+ 14,201,146, 62, 15,171,127, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,133, 80,121, 63, 65, 54,174, 62, 65, 51,115, 63,160,111,180, 62, 65, 51,115, 63, 93,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 93,231,157, 62,239,234,121, 63,
+169,144,151, 62,133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 15,171,127, 63, 52,150,169, 62,133, 80,121, 63, 65, 54,174, 62,239,234,121, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,169,144,151, 62, 65, 51,115, 63,
+ 93,231,157, 62, 65, 51,115, 63,151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62, 15,171,127, 63, 52,150,169, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,200,153, 59, 14,201,146, 62,207,133, 7, 61,
+236,101,144, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,194,205, 76, 61,186,199,165, 62,195,197,197, 60, 89,190,166, 62,207,133, 7, 61,236,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,236,101,144, 62,136,200,153, 59,
+ 14,201,146, 62,255,162, 71, 60,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62,147, 92,147, 62,252, 76,120, 62,102, 23,161, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62, 22, 51,179, 62,
+ 2,152, 97, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,156, 83,135, 62, 32,208,163, 62, 79, 45,128, 62, 22, 51,179, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,102, 23,161, 62,
+115, 97, 83, 62, 21, 51,179, 62,101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62, 21, 51,179, 62,156, 83,135, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194,195,165, 62,181,144,151, 62,134, 50,151, 62,
+ 29,201,146, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 32,208,163, 62, 79, 45,128, 62,134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62, 29,201,146, 62,194,195,165, 62,
+181,144,151, 62,137, 67,154, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 62,206,199,165, 62,247,168,136, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62,134, 50,151, 62,
+ 29,201,146, 62, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,137, 67,154, 62, 70,150,169, 62, 82, 61,141, 62,112,190,166, 62,134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62, 29,201,146, 62,247,168,136, 62,
+ 3,102,144, 62,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,137, 67,154, 62, 70,150,169, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194,195,165, 62,181,144,151, 62, 21, 51,179, 62,
+ 98,231,157, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,165,111,180, 62,150,248,166, 62, 78, 54,174, 62, 21, 51,179, 62, 98,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62, 98,231,157, 62,194,195,165, 62,
+181,144,151, 62, 21, 51,179, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,147, 92,147, 62,252, 76,120, 62,247,168,136, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62, 18,174,110, 62,
+ 3,102,144, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62, 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62, 3,102,144, 62,247,168,136, 62,
+ 3,102,144, 62, 0, 0,128, 62,206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,217, 70, 89, 62,252, 76,120, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62,241,190,139, 62,
+230,176, 70, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,230,176, 70, 62, 30,130,104, 62,
+230,176, 70, 62, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62, 21, 51,179, 62,101,111, 52, 62,102, 23,161, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62,241,190,139, 62,
+230,176, 70, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,208, 31, 23, 62, 41,187,155, 62,205,253, 30, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,230,176, 70, 62,102, 23,161, 62,
+115, 97, 83, 62,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 62,208, 31, 23, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62, 51,209, 61, 62,
+115, 97, 83, 62,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,174,137, 72, 62,205,253, 30, 62, 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,115, 97, 83, 62, 30,130,104, 62,
+230,176, 70, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61,215,153, 25, 62,104,111,180, 61,224,153, 25, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,153, 25, 62,225, 64, 52, 61, 15, 51,179, 62,
+225, 64, 52, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 51,179, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61, 15, 51,179, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,224,153, 25, 62,
+225, 64, 52, 61,144,175,161, 62,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61, 20, 51,179, 62,104,111,180, 61, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61,231,151, 89, 62,
+109, 46,231, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,153, 25, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61,231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,109, 46,231, 61, 12, 52,147, 62,
+109, 46,231, 61, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62,214,153, 25, 62,106,111, 52, 62,217,153, 25, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,204, 70, 7, 62,231,151, 89, 62,
+109, 46,231, 61,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,208, 31, 23, 62,174,137, 72, 62,205,253, 30, 62,231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,109, 46,231, 61,217,153, 25, 62,
+204, 70, 7, 62,215,153, 25, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 62,208, 31, 23, 62, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61, 19, 51,179, 62,
+204, 70, 7, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 41,187,155, 62,205,253, 30, 62, 19, 51,179, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,204, 70, 7, 62, 12, 52,147, 62,
+109, 46,231, 61, 20, 51,179, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,214,153, 25, 62,156, 83,135, 62,212,153, 25, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62, 51,209, 61, 62,
+115, 97, 83, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,217, 70, 89, 62,252, 76,120, 62,192, 95, 56, 62, 79, 45,128, 62, 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,115, 97, 83, 62,212,153, 25, 62,
+ 2,152, 97, 62,214,153, 25, 62,106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,217, 70, 89, 62,252, 76,120, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62,125,120, 52, 62,
+181,144,151, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,156, 83,135, 62,192, 95, 56, 62, 79, 45,128, 62,125,120, 52, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,181,144,151, 62,245,154, 81, 62,
+ 29,201,146, 62,239,120, 75, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,213, 14, 50, 62, 78, 54,174, 62,214,153, 25, 62,165,111,180, 62,213,153, 25, 62,100,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,100,231,157, 62,125,120, 52, 62,
+181,144,151, 62,213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,120, 75, 62, 70,150,169, 62,213, 14, 50, 62, 78, 54,174, 62,125,120, 52, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,181,144,151, 62,213,153, 25, 62,
+100,231,157, 62,214,153, 25, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,239,120, 75, 62, 70,150,169, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62, 18,174,110, 62,
+ 3,102,144, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,206,199,165, 62, 91,133,101, 62,112,190,166, 62, 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62, 3,102,144, 62,245,154, 81, 62,
+ 29,201,146, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,232,194,249, 62,216, 76,120, 62,226,190, 3, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62,191,204, 12, 63,
+248,151, 97, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,149, 83,135, 62, 64, 27, 5, 63, 66, 45,128, 62,191,204, 12, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,226,190, 3, 63,
+ 90, 97, 83, 62,191,204, 12, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,191,204, 12, 63,149, 83,135, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,222,152,253, 62,
+ 14,201,146, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 64, 27, 5, 63, 66, 45,128, 62,222,152,253, 62, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62, 14,201,146, 62, 17, 21, 6, 63,
+169,144,151, 62,241, 84, 0, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,164,163,243, 62, 89,190,166, 62, 72,102,230, 62,183,199,165, 62, 70, 15,239, 62,233,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62,222,152,253, 62,
+ 14,201,146, 62,164,163,243, 62, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241, 84, 0, 63, 52,150,169, 62,164,163,243, 62, 89,190,166, 62,222,152,253, 62, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62, 14,201,146, 62, 70, 15,239, 62,
+233,101,144, 62,232,194,249, 62,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62,241, 84, 0, 63, 52,150,169, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,191,204, 12, 63,
+ 90,231,157, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,160,111,180, 62,123,175, 6, 63, 65, 54,174, 62,191,204, 12, 63, 90,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,231,157, 62, 17, 21, 6, 63,
+169,144,151, 62,191,204, 12, 63,149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,232,194,249, 62,216, 76,120, 62, 70, 15,239, 62,233,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62, 75,189,221, 62,
+238,101,144, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,168, 9,211, 62,222, 76,120, 62, 72,102,230, 62, 53,162,115, 62, 75,189,221, 62,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,238,101,144, 62, 70, 15,239, 62,
+233,101,144, 62, 72,102,230, 62,183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,168, 9,211, 62,222, 76,120, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62, 68, 37,242, 62,
+194,176, 70, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 72,102,230, 62, 53,162,115, 62, 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,194,176, 70, 62, 80,167,218, 62,
+194,176, 70, 62, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,226,190, 3, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62, 68, 37,242, 62,
+194,176, 70, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,168, 31, 23, 62,197, 16, 1, 63,174,253, 30, 62, 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,194,176, 70, 62,226,190, 3, 63,
+ 90, 97, 83, 62,232,194,249, 62,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62, 72,102,230, 62,168, 31, 23, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62,205, 78,197, 62,
+ 95, 97, 83, 62, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 14,171,202, 62,179,253, 30, 62,205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62, 95, 97, 83, 62, 80,167,218, 62,
+194,176, 70, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61, 20, 51,179, 62,104,111,180, 61, 15, 51,179, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,189,204, 12, 63,
+225, 64, 52, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 83,111,180, 61, 63,102,230, 62,101, 41,147, 61,189,204, 12, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 15, 51,179, 62,
+225, 64, 52, 61,144,175,161, 62,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61,191,204, 12, 63, 83,111,180, 61,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61, 42, 50,211, 62,
+ 48, 46,231, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 51,179, 62,104,111,180, 61, 63,102,230, 62,101, 41,147, 61, 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62, 48, 46,231, 61,104,154,249, 62,
+ 48, 46,231, 61, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62, 21, 51,179, 62,101,111, 52, 62, 19, 51,179, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,204, 70, 7, 62, 42, 50,211, 62,
+ 48, 46,231, 61, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,168, 31, 23, 62, 14,171,202, 62,179,253, 30, 62, 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62, 48, 46,231, 61, 19, 51,179, 62,
+204, 70, 7, 62, 20, 51,179, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62, 72,102,230, 62,168, 31, 23, 62,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61,191,204, 12, 63,
+199, 70, 7, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,197, 16, 1, 63,174,253, 30, 62,191,204, 12, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,199, 70, 7, 62,104,154,249, 62,
+ 48, 46,231, 61,191,204, 12, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62, 21, 51,179, 62,156, 83,135, 62, 22, 51,179, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,205, 78,197, 62,
+ 95, 97, 83, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,168, 9,211, 62,222, 76,120, 62, 19,150,194, 62, 72, 45,128, 62,205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62, 95, 97, 83, 62, 22, 51,179, 62,
+ 2,152, 97, 62, 21, 51,179, 62,101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62,168, 9,211, 62,222, 76,120, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62,113,162,192, 62,
+174,144,151, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,156, 83,135, 62, 19,150,194, 62, 72, 45,128, 62,113,162,192, 62,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,174,144,151, 62,179, 51,207, 62,
+ 17,201,146, 62,175, 34,204, 62, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,109,191, 62, 68, 54,174, 62, 21, 51,179, 62,165,111,180, 62, 21, 51,179, 62, 98,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62, 98,231,157, 62,113,162,192, 62,
+174,144,151, 62,154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 34,204, 62, 54,150,169, 62,154,109,191, 62, 68, 54,174, 62,113,162,192, 62,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,174,144,151, 62, 21, 51,179, 62,
+ 98,231,157, 62, 21, 51,179, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,175, 34,204, 62, 54,150,169, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62, 75,189,221, 62,
+238,101,144, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,183,199,165, 62,237, 40,217, 62, 91,190,166, 62, 75,189,221, 62,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,238,101,144, 62,179, 51,207, 62,
+ 17,201,146, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62,188, 20, 48, 63, 37, 77,120, 62, 42,242, 54, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62, 0, 0, 64, 63,
+115,152, 97, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,218, 83,135, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62, 42,242, 54, 63,
+181, 97, 83, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62, 0, 0, 64, 63,218, 83,135, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62,184,255, 49, 63,
+ 52,201,146, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,134, 78, 56, 63,117, 45,128, 62,184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63, 52,201,146, 62, 87, 72, 57, 63,
+219,144,151, 62, 58,136, 51, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 26, 5, 45, 63,117,190,166, 62,107,102, 38, 63,201,199,165, 62,235,186, 42, 63, 5,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,184,255, 49, 63,
+ 52,201,146, 62, 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58,136, 51, 63, 90,150,169, 62, 26, 5, 45, 63,117,190,166, 62,184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63, 52,201,146, 62,235,186, 42, 63,
+ 5,102,144, 62,188, 20, 48, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62, 58,136, 51, 63, 90,150,169, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62, 0, 0, 64, 63,
+162,231,157, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,211,111,180, 62,196,226, 57, 63,114, 54,174, 62, 0, 0, 64, 63,162,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,162,231,157, 62, 87, 72, 57, 63,
+219,144,151, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62,188, 20, 48, 63, 37, 77,120, 62,235,186, 42, 63, 5,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,234, 17, 34, 63,
+243,101,144, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184, 28, 63,222, 76,120, 62,107,102, 38, 63, 79,162,115, 62,234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,243,101,144, 62,235,186, 42, 63,
+ 5,102,144, 62,107,102, 38, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62, 21,184, 28, 63,222, 76,120, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,233, 69, 44, 63,
+245,176, 70, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,107,102, 38, 63, 79,162,115, 62,233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,245,176, 70, 62,234,134, 32, 63,
+204,176, 70, 62,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 42,242, 54, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62,233, 69, 44, 63,
+245,176, 70, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,198, 31, 23, 62, 9, 68, 52, 63,241,253, 30, 62,233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,245,176, 70, 62, 42,242, 54, 63,
+181, 97, 83, 62,188, 20, 48, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,104,102, 38, 63,198, 31, 23, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,162,218, 21, 63,
+ 84, 97, 83, 62,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,195,136, 24, 63,179,253, 30, 62,162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63, 84, 97, 83, 62,234,134, 32, 63,
+204,176, 70, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61,191,204, 12, 63, 83,111,180, 61,189,204, 12, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 0, 0, 64, 63,
+111, 65, 52, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,195,111,180, 61,104,102, 38, 63,111, 41,147, 61, 0, 0, 64, 63,111, 65, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61,189,204, 12, 63,
+225, 64, 52, 61,208,222,121, 63,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61, 0, 0, 64, 63,195,111,180, 61,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 85,204, 28, 63,
+ 48, 46,231, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 83,111,180, 61,104,102, 38, 63,111, 41,147, 61, 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63, 48, 46,231, 61,122, 0, 48, 63,
+120, 46,231, 61,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,191,204, 12, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,199, 70, 7, 62, 85,204, 28, 63,
+ 48, 46,231, 61,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,198, 31, 23, 62,195,136, 24, 63,179,253, 30, 62, 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63, 48, 46,231, 61,191,204, 12, 63,
+199, 70, 7, 62,191,204, 12, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62,104,102, 38, 63,198, 31, 23, 62,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 0, 0, 64, 63,
+ 24, 71, 7, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0, 64, 63, 24, 71, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 71, 7, 62,122, 0, 48, 63,
+120, 46,231, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62,191,204, 12, 63,149, 83,135, 62,191,204, 12, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,162,218, 21, 63,
+ 84, 97, 83, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184, 28, 63,222, 76,120, 62, 68,126, 20, 63, 64, 45,128, 62,162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63, 84, 97, 83, 62,191,204, 12, 63,
+248,151, 97, 62,191,204, 12, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62, 21,184, 28, 63,222, 76,120, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,114,132, 19, 63,
+169,144,151, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,149, 83,135, 62, 68,126, 20, 63, 64, 45,128, 62,114,132, 19, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,169,144,151, 62, 25,205, 26, 63,
+ 14,201,146, 62,150, 68, 25, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 7,234, 18, 63, 65, 54,174, 62,191,204, 12, 63,160,111,180, 62,191,204, 12, 63, 90,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,231,157, 62,114,132, 19, 63,
+169,144,151, 62, 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,150, 68, 25, 63, 54,150,169, 62, 7,234, 18, 63, 65, 54,174, 62,114,132, 19, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,169,144,151, 62,191,204, 12, 63,
+ 90,231,157, 62,191,204, 12, 63,149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,150, 68, 25, 63, 54,150,169, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,234, 17, 34, 63,
+243,101,144, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63,201,199,165, 62,185,199, 31, 63, 96,190,166, 62,234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,243,101,144, 62, 25,205, 26, 63,
+ 14,201,146, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 80, 0, 0, 8,112, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 0, 20, 0, 0,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -16351,19 +13300,24 @@ char datatoc_preview_blend[]= {
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,216,162,186, 3, 52, 0, 0, 0, 1, 0, 0, 0,160,170,186, 3,160,117,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69,112,114,101,118,105,101,119, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,164,186, 3,248,169,186, 3,
- 64,170,186, 3, 0, 0, 0, 0,224,165,186, 3, 16,168,186, 3, 0, 0, 0, 0,176,163,159, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88,164,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,166,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,168,186, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+152, 1, 0, 0, 88,192, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0,104,135, 53, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 46, 48, 48,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,194, 55, 3,
+ 0, 0, 0, 0,200,200, 55, 3, 0, 0, 0, 0, 40,201, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,196, 55, 3,
+ 0, 0, 0, 0,152,198, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,201, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,194, 55, 3,
+ 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,196, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,199, 55, 3, 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52,235, 92,142,188, 0, 0,128, 63, 2, 0,128, 63,235, 92,142, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 32,164,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3,
- 68, 65, 84, 65, 84, 1, 0, 0, 88,164,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 56,194, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,136,194, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,165,186, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56,196, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16372,14 +13326,14 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0,224,165,186, 3, 58, 0, 0, 0, 5, 0, 0, 0, 0,116, 6, 65,
-254,255,127, 63, 42,117,228, 39, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 0,116, 6, 65,254,255,127,191, 43, 59,177,167,
- 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 0,116, 6,193,250,255,127,191, 39,117,228,167, 0, 0, 0, 0,255,127,255, 0,
- 3, 0, 0, 0,252,115, 6,193, 1, 0,128, 63, 49, 59,177, 39, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 0,239,110, 59,
-131,164, 26, 60,235, 92, 14,189,228, 12, 95, 33, 28,133,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,136,166,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,100, 0, 0, 0, 56,196, 55, 3, 0, 0, 0, 0, 52, 0, 0, 0,
+ 5, 0, 0, 0, 0,116, 6, 65,254,255,127, 63, 42,117,228, 39, 0, 0, 0, 0,255,127, 3, 0, 0,116, 6, 65,254,255,127,191,
+ 43, 59,177,167, 0, 0, 0, 0,255,127, 3, 0, 0,116, 6,193,250,255,127,191, 39,117,228,167, 0, 0, 0, 0,255,127, 3, 0,
+252,115, 6,193, 1, 0,128, 63, 49, 59,177, 39, 0, 0, 0, 0,255,127, 3, 0, 0,239,110, 59,131,164, 26, 60,235, 92, 14,189,
+228, 12, 95, 33, 28,133, 3, 0, 68, 65, 84, 65,104, 1, 0, 0,232,196, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16,168,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+152,198, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16387,202 +13341,220 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 16,168,186, 3, 55, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,112,168,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,169,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,170,186, 3, 6, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,163,159, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,198, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0,
+ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0, 24,199, 55, 3, 0, 0, 0, 0,
+ 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200,200, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,201, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,201, 55, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,248,169,186, 3, 54, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 44, 0, 0, 0, 64,170,186, 3, 65, 0, 0, 0,
- 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,176,163,159, 3, 59, 0, 0, 0,
- 4, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,160,170,186, 3,
- 52, 0, 0, 0, 1, 0, 0, 0,144,185,186, 3,216,162,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,
-119, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,171,186, 3, 40,182,186, 3, 16,183,186, 3, 0, 0, 0, 0,
-168,173,186, 3,192,178,186, 3, 0, 0, 0, 0,208,184,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32,172,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,177,186, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,180,186, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128,179, 0, 0, 64, 52, 0, 0,192, 28, 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,232,171,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,200, 78,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,
- 32,172,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,173,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,200,200, 55, 3, 0, 0, 0, 0,
+ 48, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65,
+ 48, 0, 0, 0, 40,201, 55, 3, 0, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,168,201, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 4, 0, 0, 0,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0,
+ 1, 0, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 88,192, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,203, 55, 3, 0, 0, 0, 0,104,214, 55, 3, 0, 0, 0, 0,104,215, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,205, 55, 3, 0, 0, 0, 0,184,210, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,217, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,204, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,209, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,212, 55, 3,
+ 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52,
+ 0, 0,192, 28, 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
+ 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0,232,203, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136, 7, 52, 3, 0, 0, 0, 0, 68, 65, 84, 65,
+104, 1, 0, 0, 56,204, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,205, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 96, 3, 0, 0,168,173,186, 3, 58, 0, 0, 0, 36, 0, 0, 0, 0, 0,128, 63,255,255,127, 63,255,255,251, 39,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0, 2,168, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 1, 0,128,191,253,255,127,191,253,255,251,167, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,250,255,127,191,
- 3, 0,128, 63, 3, 0, 2, 40, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,113,250, 63, 64, 7, 3,128, 63, 79,201,113, 48,
- 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,114,250, 63, 64,242,249,127,191,107,200,113, 48, 0, 0, 0, 0, 1,128,255, 0,
- 2, 0, 0, 0,206,233,127, 63,245,249,127,191, 95,200,113, 48, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,206,233,127, 63,
- 3, 3,128, 63, 63,201,113, 48, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,185,235, 63,192,197, 9,128, 63,138, 82,171, 51,
- 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,185,235, 63,192,113,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128,255, 0,
- 2, 0, 0, 0,232,174,127,191,110,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,236,174,127,191,
-201, 9,128, 63,138, 82,171, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,181,242,159,192, 32, 15,128, 63,175,196, 41, 43,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,182,242,159,192,194,225,127,191,175,196, 37, 43, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,108,229, 63,192,197,225,127,191,175,180, 37, 43, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,108,229, 63,192,
- 29, 15,128, 63,175,180, 41, 43, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,112,253,159, 64,242, 18,128, 63, 85,138, 18, 51,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,112,253,159, 64, 27,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,223,250, 63, 64, 24,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,225,250, 63, 64,
-245, 18,128, 63, 85,138, 18, 51, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,178,236,223,192, 32, 14,128, 63, 81,158,216,175,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,178,236,223,192,192,227,127,191, 81,160,216,175, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 89,246, 15,193,188,227,127,191, 73,160,216,175, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 89,246, 15,193,
- 35, 14,128, 63, 73,158,216,175, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,217,239,159,192,204, 8,128, 63,151,121,170, 51,
- 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,217,239,159,192,104,238,127,191,150,121,170, 51, 0, 0, 0, 0, 1,128,255, 0,
- 2, 0, 0, 0,217,239,223,192,108,238,127,191,150,121,170, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,217,239,223,192,
-200, 8,128, 63,151,121,170, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,233,247,223, 64,219, 24,128, 63, 78,136,155,180,
- 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,233,247,223, 64, 76,206,127,191, 79,136,155,180, 0, 0, 0, 0,255,127,255, 0,
- 3, 0, 0, 0,245,251, 15, 65, 80,206,127,191, 79,136,155,180, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,245,251, 15, 65,
-216, 24,128, 63, 78,136,155,180, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,179,247,159, 64,233, 8,128, 63,180, 96,173,180,
- 0, 0, 0, 0, 1,128,255, 0, 3, 0, 0, 0,179,247,159, 64, 42,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128,255, 0,
- 3, 0, 0, 0,178,247,223, 64, 38,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128,255, 0, 3, 0, 0, 0,177,247,223, 64,
-237, 8,128, 63,180, 96,173,180, 0, 0, 0, 0, 1,128,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,177,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192,178,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+208, 2, 0, 0,232,205, 55, 3, 0, 0, 0, 0, 52, 0, 0, 0, 36, 0, 0, 0, 0, 0,128, 63,255,255,127, 63,255,255,251, 39,
+ 0, 0, 0, 0,254,127, 2, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0, 2,168, 0, 0, 0, 0,255,127, 2, 0, 1, 0,128,191,
+253,255,127,191,253,255,251,167, 0, 0, 0, 0,255,127, 2, 0,250,255,127,191, 3, 0,128, 63, 3, 0, 2, 40, 0, 0, 0, 0,
+255,127, 2, 0,113,250, 63, 64, 7, 3,128, 63, 79,201,113, 48, 0, 0, 0, 0, 1,128, 2, 0,114,250, 63, 64,242,249,127,191,
+107,200,113, 48, 0, 0, 0, 0, 1,128, 2, 0,206,233,127, 63,245,249,127,191, 95,200,113, 48, 0, 0, 0, 0, 1,128, 2, 0,
+206,233,127, 63, 3, 3,128, 63, 63,201,113, 48, 0, 0, 0, 0, 1,128, 2, 0,185,235, 63,192,197, 9,128, 63,138, 82,171, 51,
+ 0, 0, 0, 0, 1,128, 2, 0,185,235, 63,192,113,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128, 2, 0,232,174,127,191,
+110,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128, 2, 0,236,174,127,191,201, 9,128, 63,138, 82,171, 51, 0, 0, 0, 0,
+ 1,128, 2, 0,181,242,159,192, 32, 15,128, 63,175,196, 41, 43, 0, 0, 0, 0,255,127, 2, 0,182,242,159,192,194,225,127,191,
+175,196, 37, 43, 0, 0, 0, 0,255,127, 2, 0,108,229, 63,192,197,225,127,191,175,180, 37, 43, 0, 0, 0, 0,255,127, 2, 0,
+108,229, 63,192, 29, 15,128, 63,175,180, 41, 43, 0, 0, 0, 0,254,127, 2, 0,112,253,159, 64,242, 18,128, 63, 85,138, 18, 51,
+ 0, 0, 0, 0,254,127, 2, 0,112,253,159, 64, 27,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127, 2, 0,223,250, 63, 64,
+ 24,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127, 2, 0,225,250, 63, 64,245, 18,128, 63, 85,138, 18, 51, 0, 0, 0, 0,
+255,127, 2, 0,178,236,223,192, 32, 14,128, 63, 81,158,216,175, 0, 0, 0, 0,254,127, 2, 0,178,236,223,192,192,227,127,191,
+ 81,160,216,175, 0, 0, 0, 0,255,127, 2, 0, 89,246, 15,193,188,227,127,191, 73,160,216,175, 0, 0, 0, 0,254,127, 2, 0,
+ 89,246, 15,193, 35, 14,128, 63, 73,158,216,175, 0, 0, 0, 0,255,127, 2, 0,217,239,159,192,204, 8,128, 63,151,121,170, 51,
+ 0, 0, 0, 0, 1,128, 2, 0,217,239,159,192,104,238,127,191,150,121,170, 51, 0, 0, 0, 0, 2,128, 2, 0,217,239,223,192,
+108,238,127,191,150,121,170, 51, 0, 0, 0, 0, 1,128, 2, 0,217,239,223,192,200, 8,128, 63,151,121,170, 51, 0, 0, 0, 0,
+ 1,128, 2, 0,233,247,223, 64,219, 24,128, 63, 78,136,155,180, 0, 0, 0, 0,255,127, 3, 0,233,247,223, 64, 76,206,127,191,
+ 79,136,155,180, 0, 0, 0, 0,254,127, 3, 0,245,251, 15, 65, 80,206,127,191, 79,136,155,180, 0, 0, 0, 0,255,127, 3, 0,
+245,251, 15, 65,216, 24,128, 63, 78,136,155,180, 0, 0, 0, 0,254,127, 3, 0,179,247,159, 64,233, 8,128, 63,180, 96,173,180,
+ 0, 0, 0, 0, 1,128, 3, 0,179,247,159, 64, 42,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128, 3, 0,178,247,223, 64,
+ 38,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128, 3, 0,177,247,223, 64,237, 8,128, 63,180, 96,173,180, 0, 0, 0, 0,
+ 1,128, 3, 0, 68, 65, 84, 65,104, 1, 0, 0, 8,209, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,210, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,176, 1, 0, 0,184,210, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
+ 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
+ 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
+ 18, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0,
+ 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 20, 0, 0, 0,
+ 0, 0, 34, 0, 20, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 35, 0, 31, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 32, 0, 0, 0, 0, 0, 35, 0,
+ 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,184,212, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,214, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,215, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,217, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,180, 0, 0, 0,104,214, 55, 3, 0, 0, 0, 0, 48, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
+ 24, 0, 0, 0, 25, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 2, 32, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65,176, 1, 0, 0,
+104,215, 55, 3, 0, 0, 0, 0, 59, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,144, 0, 0, 0,104,217, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 36, 0, 0, 0,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,
+232,227, 55, 3, 0, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 69,112,114,101,118,105,101,119, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40,220, 55, 3, 0, 0, 0, 0,168,226, 55, 3, 0, 0, 0, 0, 8,227, 55, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40,222, 55, 3, 0, 0, 0, 0,120,224, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+136,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120,220, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,222, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,224, 55, 3, 0, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52, 0, 0,192, 28,
+ 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 4, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,
+ 40,220, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,
+120,220, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-176, 1, 0, 0,192,178,186, 3, 55, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 34, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 23, 0, 0, 0,
- 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
- 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0,
- 29, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 30, 0, 0, 0,
- 0, 0, 35, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 33, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 32, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,160,180,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,182,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,183,186, 3, 6, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,184,186, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,222, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,180, 0, 0, 0, 40,182,186, 3, 54, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0,
- 26, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 0,
- 35, 0, 0, 0, 34, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65,140, 1, 0, 0, 16,183,186, 3, 65, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,208,184,186, 3, 59, 0, 0, 0,
- 36, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,144,185,186, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 64,193,186, 3,160,170,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,
-119, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,186,186, 3,152,192,186, 3,224,192,186, 3, 0, 0, 0, 0,
-152,188,186, 3,176,190,186, 3, 0, 0, 0, 0,136,201,163, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,187,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,189,186, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,191,186, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0,128,179, 0, 0, 64, 52, 0, 0,192, 28, 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,216,186,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,168, 85,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,
- 16,187,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,188,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,
+ 40,222, 55, 3, 0, 0, 0, 0, 52, 0, 0, 0, 4, 0, 0, 0, 50, 49,175, 64,255,255,127, 63, 28,159,152, 51, 0, 0, 0, 0,
+255,127, 3, 0, 50, 49,175, 64, 0, 0,128,191, 33,159,152,179, 0, 0, 0, 0,255,127, 3, 0, 50, 49,175,192,252,255,127,191,
+ 31,159,152,179, 0, 0, 0, 0,255,127, 3, 0, 45, 49,175,192, 4, 0,128, 63, 33,159,152, 51, 0, 0, 0, 0,255,127, 3, 0,
+ 68, 65, 84, 65,104, 1, 0, 0,200,222, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,224, 55, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 96, 0, 0, 0,152,188,186, 3, 58, 0, 0, 0, 4, 0, 0, 0, 50, 49,175, 64,255,255,127, 63, 28,159,152, 51,
- 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 50, 49,175, 64, 0, 0,128,191, 33,159,152,179, 0, 0, 0, 0,255,127,255, 0,
- 3, 0, 0, 0, 50, 49,175,192,252,255,127,191, 31,159,152,179, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 45, 49,175,192,
- 4, 0,128, 63, 33,159,152, 51, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 40,189,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,176,190,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0,120,224, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,248,224, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168,226, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8,227, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,176,190,186, 3, 55, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 16,191,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,192,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,192,186, 3, 6, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,201,163, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,168,226, 55, 3, 0, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 48, 0, 0, 0, 8,227, 55, 3,
+ 0, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 0, 0, 0,136,227, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 4, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0,232,227, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117,
+ 98,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200,229, 55, 3, 0, 0, 0, 0,248,236, 55, 3, 0, 0, 0, 0,184,237, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200,231, 55, 3, 0, 0, 0, 0,104,234, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,239, 55, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24,230, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,232, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,235, 55, 3, 0, 0, 0, 0, 3, 0, 0, 0,
+ 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
+ 12, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63,
+ 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 4, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,200,229, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0, 24,230, 55, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152,192,186, 3, 54, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 44, 0, 0, 0,224,192,186, 3, 65, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,136,201,163, 3, 59, 0, 0, 0,
- 4, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 64,193,186, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,144,185,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,194,186, 3, 8,201,186, 3,176,201,186, 3, 0, 0, 0, 0,
- 72,196,186, 3,192,198,186, 3, 0, 0, 0, 0,232,202,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-192,194,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,197,186, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,199,186, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63, 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,136,194,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,
-192,194,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,231, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,196,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16590,17 +13562,17 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,231, 55, 3,
+ 0, 0, 0, 0, 52, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,230, 73,230, 73, 26,182, 3, 0,
+ 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182, 3, 0, 1, 0,128,191,253,255,127,191, 0, 0,128,191,
+ 26,182, 26,182, 26,182, 3, 0,250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182, 3, 0, 4, 0,128, 63,
+247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,230, 73, 3, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,230, 73, 26,182,
+230, 73, 3, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 3, 0,255,255,127,191, 0, 0,128, 63,
+ 0, 0,128, 63, 26,182,230, 73,230, 73, 3, 0, 68, 65, 84, 65,104, 1, 0, 0,184,232, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,192, 0, 0, 0, 72,196,186, 3, 58, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,
-230, 73,230, 73, 26,182,255, 0, 3, 0, 0, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182,255, 0,
- 3, 0, 0, 0, 1, 0,128,191,253,255,127,191, 0, 0,128,191, 26,182, 26,182, 26,182,255, 0, 3, 0, 0, 0,250,255,127,191,
- 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182,255, 0, 3, 0, 0, 0, 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,
-230, 73,230, 73,230, 73,255, 0, 3, 0, 0, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,230, 73, 26,182,230, 73,255, 0,
- 3, 0, 0, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73,255, 0, 3, 0, 0, 0,255,255,127,191,
- 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,230, 73,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,197,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,234, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192,198,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16608,1727 +13580,1913 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-144, 0, 0, 0,192,198,186, 3, 55, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0,
- 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,128,199,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,201,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,201,186, 3, 6, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,104,234, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0,
+ 12, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0, 72,235, 55, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,236, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,237, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0,
64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,202,186, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,239, 55, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0, 8,201,186, 3, 54, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2,
- 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 8, 1, 0, 0,176,201,186, 3,
- 65, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0,248,236, 55, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2,
+ 4, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0,
+ 6, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 0, 2, 68, 65, 84, 65, 32, 1, 0, 0,184,237, 55, 3, 0, 0, 0, 0, 59, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,232,202,186, 3, 59, 0, 0, 0,
- 24, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 80, 65, 0, 0,244, 1, 0, 0,120,203,186, 3, 65, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 80, 83,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 2, 0, 1, 0, 0, 0, 1, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 8, 0, 5, 0, 5, 0, 3, 0,100, 0,
- 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 4, 0, 5, 0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,128, 63,205,204,204, 61,205,204, 76, 63, 0, 0,128, 63, 0, 0,200, 66,
- 0, 0, 72, 66, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 96, 0, 0, 0, 40,239, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 24, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 80, 65, 0, 0,208, 2, 0, 0,216,239, 55, 3,
+ 0, 0, 0, 0, 96, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 80, 83,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,242, 55, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
+ 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 4, 0, 6, 0, 8, 0,
+ 5, 0, 5, 0, 3, 0,100, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 7, 0, 0,128, 63,205,204,204, 61,205,204, 76, 63, 0, 0,128, 63, 0, 0,200, 66, 0, 0, 72, 66, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
128, 41,182, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,240,214, 35,189,
- 0, 0, 0, 0,184,155,196,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-205,204, 76, 62, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0,128, 63,205,204, 76, 62,154,153,153, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 78, 65, 49,204,208, 0, 0, 32, 77,162, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 83, 68, 78, 65, 78, 65, 77, 69, 59, 10, 0, 0, 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,
-105,114,115,116, 0, 42,108, 97,115,116, 0,120, 0,121, 0,122, 0,119, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,
-110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,
-121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,
-100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,
-109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,111,110, 95,105,100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100,
- 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100, 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,
-108,101,110, 97,109,101, 91, 50, 52, 48, 93, 0,116,111,116, 0,112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93,
- 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93, 0,112, 97,100, 48, 0,112, 97,100, 49, 0, 42,114,101, 99,116,
- 91, 50, 93, 0, 42,111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49,
- 50, 56, 93, 0, 42, 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,
-121,112,101, 0,116,111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,
-107, 0,115,108,105,100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,
-105,118,101,114, 0, 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,
-111,115, 0,114,101,108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,
-115, 0,118,103,114,111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120,
- 0, 42, 97,100,116, 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,
-122,101, 0, 98,108,111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,
-104, 0, 42, 42,115, 99,114,105,112,116,115, 0, 42,102,108, 97,103, 0, 97, 99,116,115, 99,114,105,112,116, 0,116,111,116,115,
- 99,114,105,112,116, 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,
-115,116, 97,114,116, 0,101,110,100, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0,
- 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,
-117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,
-112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,
-101, 0,115,101,101,107, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 97,110,103,108,101, 0, 99,108,105,112,
-115,116, 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,
-119,115,105,122,101, 0,115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 89,
- 70, 95, 97,112,101,114,116,117,114,101, 0, 89, 70, 95, 98,107,104,116,121,112,101, 0, 89, 70, 95, 98,107,104, 98,105, 97,115,
- 0, 89, 70, 95, 98,107,104,114,111,116, 0,115, 99,114,105,112,116,108,105,110,107, 0, 42,100,111,102, 95,111, 98, 0,102,114,
- 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97,
- 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,
-109,101,110,117,110,114, 0, 42,115, 99,101,110,101, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0,
- 42, 97,110,105,109, 0, 42,114,114, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,116,112, 97,103,101,
-102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,116, 97, 0,116,119,101,
-110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,100,102,105,108,101,
- 0, 42,112,114,101,118,105,101,119, 0, 42,114,101,110,100,101,114, 95,116,101,120,116, 0,108, 97,115,116,117,112,100, 97,116,
-101, 0,108, 97,115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121,
- 0,103,101,110, 95,116,121,112,101, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,
-109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,
-117,118,110, 97,109,101, 91, 51, 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,
-112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,
-114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112,
- 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0,112, 97,100, 91, 50, 93, 0,114, 0,103, 0, 98, 0,107, 0,
-100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,110,111,114,102, 97, 99, 0,118, 97,114,102, 97, 99, 0,100,105,115,
-112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0,110, 97,109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,
-112,110, 97,109,101, 0, 42,115,116,110, 97,109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,
-116,114, 0, 42,114,101,115,117,108,116, 0, 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116,
- 41, 40, 41, 0, 40, 42,105,110,115,116, 97,110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,
-107, 41, 40, 41, 0,118,101,114,115,105,111,110, 0, 97, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,
-101, 91, 54, 93, 0,105,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,
-112,101, 0,118,105,101,119,115, 99, 97,108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,
-104, 0,114,101, 99, 97,108, 99, 0,108, 97,115,116,115,105,122,101, 0,110,111,105,115,101,115,105,122,101, 0,116,117,114, 98,
-117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97,
- 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,
-109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,
-116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50,
- 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110,
- 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,
-105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,
-112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120,
- 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0,101,120,116,101,110,100, 0, 99,104,101, 99,107,101,114,100,
-105,115,116, 0,110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,
-110, 0, 42, 99,111, 98, 97, 0, 42,101,110,118, 0,117,115,101, 95,110,111,100,101,115, 0,112, 97,100, 91, 55, 93, 0,108,111,
- 99, 91, 51, 93, 0,114,111,116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120,
- 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98,
- 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,
-111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,
-111,102,102, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105,
- 97,115, 0,115,111,102,116, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,
-116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112,
- 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,
-112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,
-101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115,
- 97,109,112, 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,
-117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,
-122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,
-110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,
-116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,
-109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,
-116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,
-115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,121, 95, 99,111,108,
-111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 0, 89, 70, 95,110,117,109,112,104,111,116,111,110,115, 0, 89, 70, 95,110,117,
-109,115,101, 97,114, 99,104, 0, 89, 70, 95,112,104,100,101,112,116,104, 0, 89, 70, 95,117,115,101,113,109, 99, 0, 89, 70, 95,
- 98,117,102,115,105,122,101, 0, 89, 70, 95,112, 97,100, 0, 89, 70, 95, 99, 97,117,115,116,105, 99, 98,108,117,114, 0, 89, 70,
- 95,108,116,114, 97,100,105,117,115, 0, 89, 70, 95,103,108,111,119,105,110,116, 0, 89, 70, 95,103,108,111,119,111,102,115, 0,
- 89, 70, 95,103,108,111,119,116,121,112,101, 0, 89, 70, 95,112, 97,100, 50, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,109, 97,
-116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,
-114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,
-101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104,
- 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,
-121, 0,102,114,101,115,110,101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,
-110,101,108, 95,116,114, 97, 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,
-108,105,109,105,116, 0,116,120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,
-101,112,116,104, 95,116,114, 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,
-105,114, 0,103,108,111,115,115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112,
- 95,103,108,111,115,115, 95,116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,
-116, 95,116,104,114,101,115,104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,
-116, 95,109,105,114, 0,102, 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101,
- 95,108, 0,102,108, 97,114,101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,
-122,101, 0,102,108, 97,114,101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,
-115,116,114, 97,110,100, 95,115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,
-101, 0,115,116,114, 97,110,100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,
-110,100, 95,119,105,100,116,104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115,
- 98,105, 97,115, 0,108, 98,105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,
-115,101,108, 0,112,114, 95,116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,
-108, 97,103, 0,100,105,102,102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,
-104,110,101,115,115, 0,114,101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,
-115,115, 0, 42,114, 97,109,112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,
-111,108, 0,114, 97,109,112,105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,
-112, 98,108,101,110,100, 95,115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102,
- 97, 99, 95, 99,111,108, 0,114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,
-105,111,110, 0,102,104, 0,114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,
-110, 97,109,111,100,101, 0,115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,
-115,115,115, 95,101,114,114,111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95,
- 99,111,108,102, 97, 99, 0,115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95,
- 98, 97, 99,107, 0,115,115,115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0, 89, 70, 95, 97,114, 0, 89,
- 70, 95, 97,103, 0, 89, 70, 95, 97, 98, 0, 89, 70, 95,100,115, 99, 97,108,101, 0, 89, 70, 95,100,112,119,114, 0, 89, 70, 95,
-100,115,109,112, 0, 89, 70, 95,112,114,101,115,101,116, 0, 89, 70, 95,100,106,105,116, 0,103,112,117,109, 97,116,101,114,105,
- 97,108, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,
-107, 50, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,
-101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,
-101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,116,111,116, 99,
-111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,101,115,104, 0,118,101,
- 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,103,104,116, 0,114, 97,100,105,117,115, 0,104, 49, 0,104, 50,
- 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,
-115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,111,114,100,101,114,117, 0,111,114,
-100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,117, 0, 42,107,110,111,116,115,118,
- 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,
-100,120, 0,107,101,114,110, 0,104, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,111, 98,106,
- 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, 0, 42,107,
-101,121, 0, 98,101,118, 0,112, 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,
-116, 49, 0,101,120,116, 50, 0,114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,
-116,110,117, 0, 42,108, 97,115,116,115,101,108, 98,112, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103,
- 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,
-117,108,112,111,115, 0,117,108,104,101,105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104,
- 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121,
- 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,
-110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,116,105,109,101, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120,
- 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,
-114,105,110,102,111, 0,101,102,102,101, 99,116, 0, 42,109,102, 97, 99,101, 0, 42,109,116,102, 97, 99,101, 0, 42,116,102, 97,
- 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116, 0, 42,109, 99,111,108, 0, 42,109,
-115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,101,108,101, 99,116, 0, 42,101,100,105,116,
- 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,
-116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116, 95,102, 97, 99,101, 0, 99,117, 98,101,109,
- 97,112,115,105,122,101, 0,100,114, 97,119,102,108, 97,103, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105,
-118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0, 42,109,114, 0, 42,112,118, 0, 42,116,
-112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101,
- 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,
-101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,
-111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,105,110,100,101,120, 0,102, 0,105,
- 0,115, 91, 50, 53, 54, 93, 0,116,111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,
-109,105,100, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115, 0, 42,101,100,103,101,115,
- 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,
-110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,114,101,110,100,101,114,108,
-118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101,
- 97,115,101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0, 42,111,108,100, 95,102, 97,
- 99,101,115, 0, 42,111,108,100, 95,101,100,103,101,115, 0, 42,101,114,114,111,114, 0,109,111,100,105,102,105,101,114, 0,115,
-117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109, 67, 97, 99,104,101, 0,
- 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,
-110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0,
- 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,
-102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,
-116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,
-114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,
-117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,
-103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 51, 50, 93, 0, 42,
-116,101,120,116,117,114,101, 0,115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,
-118,101,108, 0,116,101,120,109, 97,112,112,105,110,103, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108, 97,121,
-101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0, 42,112,114,111,106,101, 99,116,
-111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101, 99,116,111,114,115, 0, 97,115,
-112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,
-102, 97, 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,
-115,116, 97,114,116,121, 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,
-102, 97,108,108,111,102,102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,
-102,108, 97,103, 0,109,117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,112, 97,114,101,110,116,105,110,118, 91, 52, 93,
- 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,120, 0,102,111,
-114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0, 42, 99,111,108,
-108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,
-111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,
-114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,
-115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,116,105,109,101, 0, 42, 98,118,104,116,114,101,101, 0, 42,100,109, 0,111,
-112,101,114, 97,116,105,111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,
-100,115,105,122,101, 0,110,101,101,100, 98,105,110,100, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,
-100, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,110,
-102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,100,
-115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104, 0,
- 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,114,116, 0,116,111,
-116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,115,121,115, 0,112,111,115,105,116,105,111,110, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0,240,214, 35,189, 0, 0, 0, 0,184,155,196,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 72, 0, 0, 0,248,242, 55, 3, 0, 0, 0, 0,120, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 60, 85, 32, 60, 0, 0, 0, 0, 0, 0, 0, 0, 68, 78, 65, 49,
+148,230, 0, 0, 56,212, 56, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 10, 12, 0, 0,
+ 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120,
+ 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,
+103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103,
+ 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,
+110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,111,110, 95,105,
+100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100,
+ 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,116,111,116, 0,
+112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93,
+ 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,
+111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42,
+ 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,
+111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,
+100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0,
+ 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,114,101,
+108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,115, 0,118,103,114,
+111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,116,
+ 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,108,
+111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 42,108,105,
+110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,116, 97,114,116, 0,101,110,100,
+ 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0, 42,110, 97,109,
+101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,117,114, 99, 0,
+115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,112,111,115, 0,
+117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,101, 0,115,101,
+101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116, 97, 0, 99,108,
+105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115,105,122,101, 0,
+115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98,
+ 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,102,
+114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,108,
+ 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0, 42, 97,110,105,
+109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111,116, 0,108, 97,
+115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,
+116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,116,
+ 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,
+100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97,115,116,117,115,
+101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110, 95,116,121,112,
+101, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,111,110,101,103,
+ 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,109,101, 91, 51,
+ 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, 0,111,102,115,
+ 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,114,109,111,100,
+101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, 97, 99,101, 0,
+119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,112, 97,100, 91,
+ 55, 93, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,118, 97,114,102, 97, 99,
+ 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0, 99,111,108,115,112,101, 99,102,
+ 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,102, 97, 99, 0,115,112,101, 99,
+102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,105,114,114,102, 97, 99, 0,116,
+114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102, 97, 99, 0, 99,111,108,114,101,
+102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97, 99, 0,115, 99, 97,116,116,101,
+114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,103,116,104,102, 97, 99, 0, 99,
+108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,114,111,117,103,104,102, 97, 99,
+ 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,102,101,102, 97, 99, 0,115,105,
+122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,104, 97,100,111,119,102, 97, 99,
+ 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,110,100,102, 97, 99, 0,110, 97,
+109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, 97,109,101,115, 0,
+115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, 0, 42, 99,102,114,
+ 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, 97,110, 99,101, 95,
+105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,111,110, 0, 97, 0,
+105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109, 97,116, 91, 52, 93, 91, 52, 93,
+ 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,115, 99, 97,108,101, 0,110,111,
+116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108, 99, 0,108, 97,115,116,115,105,
+122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,115,111,102,116,110,101,115,115,
+ 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,112,111,105,110,116,115, 0,112,
+100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0,111, 98, 95, 99, 97,
+ 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,111,105,110,116, 95,100, 97,116,
+ 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104, 0,110,111,105,115,101, 95,105,
+110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112, 97,100, 51, 91, 51, 93, 0,110,
+111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,108,108,111,102,102, 95,115,112,101,
+101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,102, 97,108,108,111,102,102, 95, 99,
+117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,112,101, 0,102,105,108,101, 95,102,
+111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,101, 0,105,110,116, 95,109,117,108,
+116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,114, 99,101, 95,112, 97,116,104, 91,
+ 50, 52, 48, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,109,101, 0,110,111,105,115,101,115,
+105,122,101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114,
+ 97,116,105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,
+109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103,
+ 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,
+117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,
+118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,
+101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,
+101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,
+110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,
+109, 97,120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,
+110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,
+110,118, 0, 42,112,100, 0, 42,118,100, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,116, 91,
+ 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0,109,111,100,101, 0,
+116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,
+101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104,
+ 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,
+112,111,116,115,105,122,101, 0, 98,105, 97,115, 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104,
+ 0,112, 97,100, 53, 91, 51, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,
+108,116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,
+112, 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,
+121,112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,
+122,101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,
+115, 97,109,112, 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,
+115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,
+105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,
+116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,
+104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,
+116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110,
+ 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114,
+ 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,121, 95, 99,111,
+108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 54, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,116,101,
+120,116,117,114,101, 0,112, 97,100, 54, 91, 54, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, 0,115,
+ 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, 99,111,
+108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, 99,116,
+105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, 95, 99,
+117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,115,104,
+ 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,115,111,
+108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,101,110,
+115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101,
+ 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109,
+ 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114,
+ 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,
+115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,102,114,101,115,110,101,108, 95,109,
+105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, 0,102,114,101,
+115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,120, 95,102, 97,
+108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, 97, 0,104, 97,
+114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,115, 95,116,114,
+ 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,116,114, 97, 0,
+ 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,116,114,
+ 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, 97,100,101,116,
+111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,101, 99, 0,115,
+116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,101,115,105,122,
+101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,115,116, 97, 0,
+115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,100, 95,115,117,
+114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,104,102, 97,100,
+101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115, 98,105, 97,115, 0,108, 98,105, 97,115, 0,
+115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,116,121,112,101,
+ 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,102, 95,115,104,
+ 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,101,102,114, 97,
+ 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,112, 95, 99,111,
+108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,105,110, 95,115,
+112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,115,112,101, 99,
+ 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,114, 97,109,112,
+102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,114,101,102,108,
+101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,115,115,115, 95,
+114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,111,114, 0,115,
+115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,115,115,115, 95,
+116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,115, 95,102,108,
+ 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, 0,115,104, 97,
+100,111,119,111,110,108,121, 95,102,108, 97,103, 0,105,110,100,101,120, 0,103,112,117,109, 97,116,101,114,105, 97,108, 0,110,
+ 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,107, 50, 0,115,
+101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,122, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,101,120,
+112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,101,108,
+101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,108, 97,103, 50, 0,
+116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,101,115,
+104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,103,104,
+116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116,
+ 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,111,114,
+100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,117, 0,
+ 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,101,114,
+112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,101,121,105,110,100,
+101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,111, 98,
+106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, 0, 42,
+107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101, 0,116,119,105,115,
+116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,116,104,108,101,110,
+ 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,101,115,111,108,117,
+ 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,115,101,108, 0,115,
+112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,114, 0,
+102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,103,104,116, 0,120,
+111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,115, 0,
+ 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,102,111,
+110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,116,105,
+109,101, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,
+108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 42,109,102, 97, 99,101, 0, 42,109,116,
+102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116,
+ 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,101,108,
+101, 99,116, 0, 42,101,100,105,116, 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97,
+ 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116, 95,102,
+ 97, 99,101, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117,
+ 98,115,117,114,102,116,121,112,101, 0,101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,112,118, 0, 42,116,112, 97,103,
+101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,
+119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,
+119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51,
+ 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,116,
+111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50,
+ 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,
+118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,110,116,
+ 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,114,101,110,100,101,114,108,118,108,
+ 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,
+101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0, 42,111,108,100, 95,102, 97, 99,101,
+115, 0, 42,111,108,100, 95,101,100,103,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0, 42,101,114,114,111,114, 0,109,
+111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108,
+ 97,121,101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0,116,101,120,109, 97,112,
+112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109,
+ 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,
+103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,
+116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116,
+ 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,
+116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,
+115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,
+108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115,
+ 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101,
+ 91, 51, 50, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111,108,108, 0,116,105,109,101, 0,112, 97,
+100, 49, 48, 0,115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0,
+ 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101,
+ 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97,108,101,120, 0,115, 99, 97,
+108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, 0,114,101,112,101, 97,116,
+ 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97,114,116,121, 0,104,101,105,
+103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108,108,111,102,102, 0,116,105,
+109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97,103, 0,109,117,108,116,105,
+ 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112, 97,114,101,110,116,105,110,
+118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,
+120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0,
+ 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0,112,116, 99, 97, 99,104,101,
+115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42,
+ 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,
+118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109,101, 95,120,110,101,119, 0,
+ 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, 97,116,105,111,110, 0,118,
+101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105,122,101, 0, 42, 98,105,110,
+100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, 42, 98,105,110,100, 99, 97,
+103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,
+110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,
+100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104,
+ 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,
+100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,
+114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111,115,105,116,105,111,110, 0,
114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118,103,114,111,117,112, 0,112,
-114,111,116,101, 99,116, 0, 42,117,110,100,111, 95,118,101,114,116,115, 0,117,110,100,111, 95,118,101,114,116,115, 95,116,111,
-116, 0,117,110,100,111, 95,115,105,103,110, 97,108, 0,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,108,101, 0,
- 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,112, 95,110,
- 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,104,114,105,
-110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115, 0, 42,111,
-114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,112,116,115,
- 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111,112,110,116,115,119, 0,116,121,112,101,
-117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,100,117, 0,100,118, 0,100,119, 0,
- 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,
-101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,
-112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117, 98,115,116,114, 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,
-112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103,114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42,
- 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, 98, 0, 42,112,111,115,101, 0, 99,111,110,115,116,114, 97,105,110,116,
- 67,104, 97,110,110,101,108,115, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105,101,114,115, 0, 42,109, 97,116, 98,
-105,116,115, 0, 97, 99,116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101,
- 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118,
- 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0, 99,111,108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,
-116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,
-103, 0,105,112,111,102,108, 97,103, 0,105,112,111,119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,
-108, 97,103, 0, 98,111,117,110,100,116,121,112,101, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116,
- 97, 0,100,117,112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97,
- 0,102,111,114,109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,115,105,122,101,102, 97, 99, 0,109, 97,114,
-103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111,
- 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,100,116, 0,100,116,120, 0,101,109,112,116,121, 95,100,114,
- 97,119,116,121,112,101, 0,112, 97,100, 49, 91, 53, 93, 0,101,109,112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,
-112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,
-115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,
-101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0,
- 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,
-116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,
-109, 0, 42,112,100, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,112, 0,102,108,117,105,100,115,105,109, 70,
-108, 97,103, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,115,104, 97,112,101,110,114, 0,115,104, 97,112,101,102,108,
- 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0, 42,102,108,117,105,100,115,105,109, 83,101,
-116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,100, 70,105,
-110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116,
-101, 0,103,112,117,108, 97,109,112, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,100,101,102,108,101, 99,
-116, 0,102,111,114, 99,101,102,105,101,108,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,
-112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105,
- 99,116, 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,112,111,119,101,114, 0,102, 95,100,105,115,116, 0,102, 95,100,
- 97,109,112, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,
-100, 0,102, 95,112,111,119,101,114, 95,114, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,
-102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,
-119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,
-102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,107,
- 0,107,105,110,107, 95, 97,120,105,115, 0,114,116, 50, 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,102,114, 97,109,
-101, 0,116,111,116,112,111,105,110,116, 0, 42,120,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,
-115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,
-115,116, 95,101,120, 97, 99,116, 0,120,100, 97,116, 97, 95,116,121,112,101, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,
-118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,109,101,109, 95, 99, 97, 99,104,101, 0,108,105,
-110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,
-110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114,
- 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67,
- 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80,
- 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107,
- 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,
-115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,
-101,108,100,105,110,103, 0, 42,112, 97,114,116,105, 99,108,101,115, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,
-105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,110,111,100,101,109, 97,115,115, 0,103,114, 97,118, 0,109,101,100,105, 97,
-102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,
-115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108,
- 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,
-112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,
-108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,101,121,
- 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98,
- 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,
-111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,
-115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,
-114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0,115,104,111,119, 95, 97,
-100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,114,101,
-118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,111,
-100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86, 97,
-108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,110,
-101,110,116, 0,103,114, 97,118,120, 0,103,114, 97,118,121, 0,103,114, 97,118,122, 0, 97,110,105,109, 83,116, 97,114,116, 0,
- 97,110,105,109, 69,110,100, 0,103,115,116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,
-105,110,105, 86,101,108,121, 0,105,110,105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 83,117,
-114,102, 97, 99,101, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104, 91, 50, 52, 48, 93, 0,
- 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70,108, 97,103,115, 0,100,
-111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116, 84,121,112,101, 0,112, 97,114,
-116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,114,115, 0,103,101,110,101,114,
- 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,116,104,105,110,103, 0,115,117,
-114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 83,105,122,101, 0,112, 97,114,
-116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,122,101, 0, 42,109,101,115,104,
- 83,117,114,102, 78,111,114,109, 97,108,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112,115, 84,105,109,101,
- 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 83,116,114,101,110,
-103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111, 99,105,116,121,102,
-111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82, 97,100,105,117,115,
- 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,116,121,112,101, 0,104,111,114,114, 0,104,111,114,103,
- 0,104,111,114, 98, 0,104,111,114,107, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,122,101,110,107, 0, 97,
-109, 98,107, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,
-105,110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120,
- 82, 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,
-105, 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,
-104,121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116,
- 97, 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116,
- 97,114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,
-116, 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,
-110,100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97,
- 99, 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0,
- 97,111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111,
- 95, 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114,
- 0, 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,115, 97,109,112, 95,109,101,
-116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,
-112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,115,101,108, 99,111,
-108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, 70,111,114,
-109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101,114, 0,100,
-119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121,116,101,115,
- 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118,101, 69,118,
-101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,115, 0, 42,
-112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,111,100,101,
- 99, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,
-111, 95, 98,105,116,114, 97,116,101, 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114,
- 99, 95,109, 97,120, 95,114, 97,116,101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97,
- 99,107,101,116, 95,115,105,122,101, 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,
-112, 97,100, 91, 51, 93, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,
-114,105,100,101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103, 0,
-112, 97,115,115, 95,120,111,114, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100,
- 97,116, 97, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0, 97,117,100,105,111, 0, 99,102,114, 97, 0,112,115,102,114, 97,
- 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,111, 0,116,104,114,101, 97,100,115, 0,102,
-114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82, 0,101,100,103,101, 71, 0,101,100,103,101,
- 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,108, 97,121, 0,102,114,101,113,112,108, 97,
-121, 0, 97,116,116,114,105, 98, 0,114,116, 49, 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,
-110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,
-114,116,115, 0,121,112, 97,114,116,115, 0,119,105,110,112,111,115, 0,112,108, 97,110,101,115, 0,105,109,116,121,112,101, 0,
-115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,114,112,
- 97,100, 49, 0,114,112, 97,100, 50, 0,115, 99,101,109,111,100,101, 0,114,101,110,100,101,114,101,114, 0,111, 99,114,101,115,
- 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,100,103,101,105,110,116, 0,115,
- 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,121,101,114,115, 0, 97, 99,116,
-108, 97,121, 0,120, 97,115,112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115,
- 0, 99,111,108,111,114, 95,109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,
-101, 0,112,111,115,116,115, 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,
-111,115, 97, 0, 98, 97,107,101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,
-108, 97,103, 0, 98, 97,107,101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,
-115,112,108,105,116, 0, 98, 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116,
- 0, 98, 97,107,101, 95,112, 97,100, 0, 71, 73,113,117, 97,108,105,116,121, 0, 71, 73, 99, 97, 99,104,101, 0, 71, 73,109,101,
-116,104,111,100, 0, 71, 73,112,104,111,116,111,110,115, 0, 71, 73,100,105,114,101, 99,116, 0, 89, 70, 95, 65, 65, 0, 89, 70,
-101,120,112,111,114,116,120,109,108, 0, 89, 70, 95,110,111, 98,117,109,112, 0, 89, 70, 95, 99,108, 97,109,112,114,103, 98, 0,
-121,102,112, 97,100, 49, 0, 71, 73,100,101,112,116,104, 0, 71, 73, 99, 97,117,115,100,101,112,116,104, 0, 71, 73,112,105,120,
-101,108,115,112,101,114,115, 97,109,112,108,101, 0, 71, 73,112,104,111,116,111,110, 99,111,117,110,116, 0, 71, 73,109,105,120,
-112,104,111,116,111,110,115, 0, 71, 73,112,104,111,116,111,110,114, 97,100,105,117,115, 0, 89, 70, 95,114, 97,121,100,101,112,
-116,104, 0, 89, 70, 95, 65, 65,112, 97,115,115,101,115, 0, 89, 70, 95, 65, 65,115, 97,109,112,108,101,115, 0,121,102,112, 97,
-100, 50, 0, 71, 73,115,104, 97,100,111,119,113,117, 97,108,105,116,121, 0, 71, 73,114,101,102,105,110,101,109,101,110,116, 0,
- 71, 73,112,111,119,101,114, 0, 71, 73,105,110,100,105,114,112,111,119,101,114, 0, 89, 70, 95,103, 97,109,109, 97, 0, 89, 70,
- 95,101,120,112,111,115,117,114,101, 0, 89, 70, 95,114, 97,121, 98,105, 97,115, 0, 89, 70, 95, 65, 65,112,105,120,101,108,115,
-105,122,101, 0, 89, 70, 95, 65, 65,116,104,114,101,115,104,111,108,100, 0, 98, 97, 99,107, 98,117,102, 91, 49, 54, 48, 93, 0,
-112,105, 99, 91, 49, 54, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97,
+114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,
+108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,
+112, 95,110, 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,
+104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115,
+ 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,
+112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115,101, 95,105,110,110,101,114, 0, 99,114,101, 97,
+115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, 95,111,102,115, 0,109, 97,116, 95,
+111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,114,101,110,100,101,114, 95,115,116,
+101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,101, 0, 42,111, 98,106,101, 99,116,
+ 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102, 95,114, 97,100,105,117,115, 0,
+ 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111,112,110,116,115,119,
+ 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,100,117, 0,100,
+118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,116, 91, 52, 93,
+ 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99,117,108,112,116, 0,
+112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117, 98,115,116,114,
+ 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103,114,111,117,112, 0,
+ 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, 98, 0, 42,112,111,
+115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,114, 97,105,110,116, 67,104, 97,
+110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105,101,114,115, 0,114,
+101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116, 99,111,108, 0,100,108,111, 99,
+ 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117,
+ 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116,
+ 65,110,103,108,101, 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,
+116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0, 99,111,
+108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,
+107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,105,112,111,
+119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0, 98,111,117,110,100,116,121,112,101,
+ 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112,101,110,100, 0,115,102, 0,109,
+ 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109,102, 97, 99,116,111,114, 0,114,
+100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,101,108, 0,109,
+ 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,114,111,116,109,
+111,100,101, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112, 97,100, 49, 91, 51, 93, 0,101,109,
+112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,
+115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,
+101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42,
+ 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,
+111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,
+115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,
+112, 0,102,108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,115,104, 97,112,
+101,102,108, 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0, 42,102,108,117,105,100,115,105,
+109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,
+100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109,
+ 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,
+105,100,115, 0, 42,100,117,112,108,105,108,105,115,116, 0,105,109, 97, 95,111,102,115, 91, 50, 93, 0,112, 97,100, 51, 91, 56,
+ 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0,110,111, 95,100,114, 97,
+119, 0, 97,110,105,109, 97,116,101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,100,101,
+102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,
+107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,104, 0,102,
+ 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,
+105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,
+114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102, 95,112,101,
+114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,102, 95,115,
+116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,
+112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0,
+ 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,
+105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,
+102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,
+121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,116, 0,100,
+ 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,
+100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101, 0,101,110,
+100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0, 99,111,109,112,
+114,101,115,115,105,111,110, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,
+110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115,
+ 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,
+108,105,110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,
+105,111,110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,
+101,114, 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82,
+ 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95,
+ 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67,
+ 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,
+108,105,115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115,
+ 0,119,101,108,100,105,110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,
+105,110,103, 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,
+110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116,
+ 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,
+103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,
+111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 51,
+ 50, 93, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,
+109,101,100, 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108,
+ 0,108,111, 99, 97,108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,
+110,116,107,101,121, 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100,
+ 97,109,112, 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,
+109,105,110,108,111,111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73,
+ 68, 0,112,108, 97,115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104,
+ 0,115,104,101, 97,114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,
+101,102,102,101, 99,116,111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93,
+ 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52, 93, 0,118,101,108, 91, 51, 93, 0,
+ 42,102,109,100, 0,115,104,111,119, 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,
+116,105,111,110,120,121,122, 0,112,114,101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,
+117,105, 68,105,115,112,108, 97,121, 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,
+118,105,115, 99,111,115,105,116,121, 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115,
+ 99,111,115,105,116,121, 69,120,112,111,110,101,110,116, 0,103,114, 97,118, 91, 51, 93, 0, 97,110,105,109, 83,116, 97,114,116,
+ 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,103,115,116, 97,114,
+ 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,105, 86,101,
+108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104,
+ 91, 50, 52, 48, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70,
+108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116, 84,121,
+112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,114,115,
+ 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,116,104,
+105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 83,105,
+122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,122,101,
+ 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112,
+115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101,
+ 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111,
+ 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82,
+ 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,116,121,112,101, 0,104,111,114,114,
+ 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,102, 97,115,116, 99,111,
+108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105,110,102, 97, 99, 0,108,111,103,102,
+ 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82, 97,100,105,117,115, 0,115,107,121,
+116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,105, 99,115, 69,110,103,105,110,101, 0,
+116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104,121,115,117, 98,115,116,101,112, 0,
+109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97, 0,109,105,115,116,100,105,115,116,
+ 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97,114, 98, 0,115,116, 97,114,107, 0,
+115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,116, 97,114,100,105,115,116, 0,115,116,
+ 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110,100, 0,100,111,102,109,105,110, 0,
+100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99, 0, 97,111,101,110,101,114,103,121,
+ 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97,111,109,105,120, 0, 97,111, 99,111,
+108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95, 97,100, 97,112,116, 95,115,112,101,
+101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0, 97,111, 95, 97,112,112,114,111,120,
+ 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95,101,110,101,114,103,121, 0, 97,
+111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111, 95,105,110,100,105,114,101, 99,116,
+ 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0, 97,
+111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,112, 97,115,115,101,115,
+ 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,112, 97,100, 91, 51, 93, 0,115,101,108, 99,
+111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, 70,111,
+114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101,114, 0,
+100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121,116,101,
+115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118,101, 69,
+118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,115, 0,
+ 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,111,100,
+101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99,111,100,101, 99,
+ 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99, 84,101,109,112,
+111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0,109,105,
+110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116,101, 0, 98,105,
+116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97,109,112,108,101,
+ 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110,110,101,108,115,
+ 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116,101, 0, 97,117,
+100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95, 98,105,
+116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95,118,111,108,117,109,101,
+ 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,
+101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101,
+ 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,
+115,111,117,110,100, 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,
+100,101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,
+101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103, 0,112, 97,115,
+115, 95,120,111,114, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100, 97,116, 97,
+ 0,113,116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0,115,117, 98,
+102,114, 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,
+111, 0,116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82,
+ 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,
+108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112, 0,115,
+116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,
+115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,112,108, 97,
+110,101,115, 0,105,109,116,121,112,101, 0,115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121, 0,100,105,115,
+112,108, 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,116,105,111,110,
+115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,114,101,110,100,101,114,101,114, 0,111, 99,
+114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,
+100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,
+121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112, 0,121,
+ 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,103,116,
+ 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,116, 0,
+100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101, 95,102,
+105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101, 95,110,
+111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,107,101,
+ 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,100, 0,
+112,105, 99, 91, 50, 52, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97,
109,112, 95,117,100, 97,116, 97, 91, 49, 54, 48, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, 95,115,116, 97,
-109,112, 91, 52, 93, 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,
-115,104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115,
- 0,115,105,109,112,108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,
-111,110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,
-112, 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,
-100,111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,
-111,109,101,116,101,120,116, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,117,114,102, 95,109, 97,
-120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,111,114, 0, 99,111,108,
- 91, 51, 93, 0, 42, 98,114,117,115,104, 0,116,111,111,108, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,
-108, 95, 97,110,103,108,101, 0, 42,112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,
-101,107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0, 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55,
- 93, 0,101,109,105,116,116,101,114,100,105,115,116, 0,100,114, 97,119, 95,116,105,109,101,100, 0,115,101,108,101, 99,116,109,
-111,100,101, 0,110, 97,109,101, 91, 51, 54, 93, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 42,115,101,115,115,105,111,110, 0,
-112,105,118,111,116, 91, 51, 93, 0,116,101,120,115,101,112, 0,116, 97, 98,108,101,116, 95,115,105,122,101, 0,116, 97, 98,108,
-101,116, 95,115,116,114,101,110,103,116,104, 0,112, 97,100, 91, 53, 93, 0,103, 97,109,109, 97, 0,109,117,108, 0, 42,118,112,
+109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, 95,116,121,112,
+101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103,
+ 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115,104, 97,100,111,
+119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0,115,105,109,112,
+108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111,110, 98,108, 97,
+ 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112, 50, 95,100,101,
+112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100,111,109,101, 97,
+110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111,109,101,116,101,
+120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,
+117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,
+111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114,112,116,101,120,116, 0, 99,111,108, 91, 51, 93, 0,
+109, 97,116,109,111,100,101, 0,102,114, 97,109,105,110,103, 0,114,116, 49, 0,114,116, 50, 0,100,111,109,101, 0,115,116,101,
+114,101,111,102,108, 97,103, 0,101,121,101,115,101,112, 97,114, 97,116,105,111,110, 0, 42, 99, 97,109,101,114, 97, 0, 42, 98,
+114,117,115,104, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99,117,114,115,111,114, 95,
+ 99,111,108, 91, 52, 93, 0,112, 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,108, 95, 97,
+110,103,108,101, 0,115, 99,114,101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,112, 97,105,110,116, 99,
+117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0,
+ 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,100,105,115,116, 0,115,
+101,108,101, 99,116,109,111,100,101, 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,101,112, 0,102, 97,100,
+101, 95,102,114, 97,109,101,115, 0,110, 97,109,101, 91, 51, 54, 93, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0,114, 97,100,105,
+ 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, 0,108, 97,115,116, 95,121, 0,108, 97,115,116, 95, 97,110,
+103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, 0, 97,110, 99,104,111,114,101,100, 95,115,105,122,101, 0,
+ 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, 91, 51, 93, 0, 97,110, 99,104,111,114,101,100, 95,105,110,
+105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, 97,119, 95,112,114,101,115,115,117,114,101, 0,112,114,101,
+115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, 97,108, 95,114,111,116, 97,116,105,111,110, 0, 42,118,112,
97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, 95,112,114,101,118, 0, 42,118,112, 97,105,110,116, 0, 42,
-119,112, 97,105,110,116, 0, 42,115, 99,117,108,112,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,
-110,101,114,116,121,112,101, 0,101,100,105,116, 98,117,116,102,108, 97,103, 0,106,111,105,110,116,114,105,108,105,109,105,116,
- 0,100,101,103,114, 0,116,117,114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,
-111,114,109, 97,108,115,105,122,101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,
-103,115, 0,118,101,114,116,105, 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,
-105,117,115, 0,117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,
-110, 0,117,118, 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,
-117,118, 99, 97,108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,
-101, 0,117,118, 95,112, 97,100, 91, 50, 93, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,109, 97,112,
- 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,122,101, 0,
-115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,116,111,107,
-101,121, 95,109,111,100,101, 0,114,101,116,111,112,111, 95,109,111,100,101, 0,114,101,116,111,112,111, 95,112, 97,105,110,116,
- 95,116,111,111,108, 0,108,105,110,101, 95,100,105,118, 0,101,108,108,105,112,115,101, 95,100,105,118, 0,114,101,116,111,112,
-111, 95,104,111,116,115,112,111,116, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,115,
-107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,
-105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,
-108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,
-104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,
- 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121,
- 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,
-104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,
-115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,
-107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110,
- 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,
-110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,
-101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116,
- 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,
-110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,
-103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,
-105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,
-109,111,100,101, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97,
-114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,116,111,116,111,
- 98,106, 0,116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111,
-116,109,101,115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0, 42, 99, 97,109,101,114, 97, 0, 42,119,111,114,108,100,
- 0, 42,115,101,116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,
-114, 91, 51, 93, 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93,
- 0, 42,101,100, 0,102,114, 97,109,105,110,103, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,
-115, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,
-118, 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0,106,117,109,112,102,114, 97,109,101, 0,102,114, 97,109,101, 95,115,
-116,101,112, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,
- 98,108,101,110,100, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93,
- 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,
-115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109,
- 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91,
- 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,
-111,111,109, 0,118,105,101,119, 98,117,116, 0,108, 97,115,116,109,111,100,101, 0,114,102,108, 97,103, 0,118,105,101,119,108,
-111, 99,107, 0,112,101,114,115,112, 0,118,105,101,119, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98,
- 98, 0, 42,103,112,100, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,114,101,116,111,112,111, 95,118,105,101,119,
- 95,100, 97,116, 97, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116,105,109,101,114,
- 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,114,101,103,105,111,
-110, 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,
-104, 97,110,100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 42,
- 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50, 93, 0,108, 97,121, 97, 99,116, 0,
-100,114, 97,119,116,121,112,101, 0,108,111, 99, 97,108,118,105,101,119, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,
-117,110,100, 0,102,108, 97,103, 50, 0,112,105,118,111,116, 95,108, 97,115,116, 0,103,114,105,100, 0,103,114,105,100,118,105,
-101,119, 0,112, 97,100,102, 0,110,101, 97,114, 0,102, 97,114, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,102,
-108, 97,103, 0,103,114,105,100,115,117, 98,100,105,118, 0,109,111,100,101,115,101,108,101, 99,116, 0,107,101,121,102,108, 97,
-103,115, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, 0,116,119,100,114, 97,119,102,108,
- 97,103, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0, 97,102,116,101,114,100,114, 97,119, 0,122, 98,117,
-102, 0,120,114, 97,121, 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,
-101,114,116,105,101,115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110,
- 91, 50, 93, 0,109, 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,
-108, 0,115, 99,114,111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,
-112,111,102,115, 0, 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,
-119,105,110,121, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 42,115, 99,114,101,101,110, 0,118, 50,100, 0, 42, 97,100,115, 0,
-103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112, 0,112,105,110, 0,108,111, 99,107, 0, 99,117,
-114,115,101,110,115, 0, 99,117,114, 97, 99,116, 0,112,114,101,118,105,101,119, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,
-111, 0, 42,108,111, 99,107,112,111,105,110, 0,116,101,120,110,114, 0,116,101,120,102,114,111,109, 0,115,104,111,119,103,114,
-111,117,112, 0,109,111,100,101,108,116,121,112,101, 0,115, 99,114,105,112,116, 98,108,111, 99,107, 0,114,101, 95, 97,108,105,
-103,110, 0,111,108,100,107,101,121,112,114,101,115,115, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110,
- 0, 42,112,105,110,105,100, 0,114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101,
- 98,114, 97, 0,122,111,111,109, 0,116,105,116,108,101, 91, 50, 52, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101,
- 91, 56, 48, 93, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0, 97, 99,116,105,118,101, 95, 98,111,111,107,109, 97,114,
-107, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108,115,116, 97,116,101, 0,102, 95,102,112, 0,109,101,110,117,
- 0,102,112, 95,115,116,114, 91, 56, 93, 0, 42,112,117,112,109,101,110,117, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,
-101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,
-111,112, 0, 42,108,111, 97,100,105,109, 97,103,101, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,116,114,101,101,
- 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101,
- 97,114, 99,104, 95,116,115,101, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0,100,111, 95, 0,111,117,116,108,105,110,
-101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0, 42, 99,117,109, 97,112, 0,105,109, 97,110,114, 0, 99,117,114,116,
-105,108,101, 0,105,109,116,121,112,101,110,114, 0,100,116, 95,117,118, 0,115,116,105, 99,107,121, 0,100,116, 95,117,118,115,
-116,114,101,116, 99,104, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,
-119,108,105,110,101,115, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,114,115, 95,116,111,
-116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,114, 0,115,104,111,
-119,115,121,110,116, 97,120, 0,111,118,101,114,119,114,105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,
-112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114,
- 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,
-101,115,116,114, 91, 50, 53, 54, 93, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, 95,101,118,101,110,116, 0, 42,112,121,
- 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,108, 98, 97, 99,107, 0, 42,112,121, 95,
-103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, 99,114,105,112,116,110, 97,109,101, 91,
- 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115, 99,114,105,112,116, 0, 42, 98,117,116,
- 95,114,101,102,115, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0, 42, 99,117,114,102,111,110,
-116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,110,117,109,116,105,
-108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,118,105,101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,
-114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115, 0,115, 99,114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,
-108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0,112,114,118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,116,117,
-114,110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40, 41, 0,
- 40, 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,103, 50,
- 0, 42,109,101,110,117,112, 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111,114, 0,114,112,
-116, 95,109, 97,115,107, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116,
- 91, 56, 93, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,
-105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0,
- 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,
-112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,
-108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,
-111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0,
- 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97,
- 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,
-101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,110,
-101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91,
- 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104,
- 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0,105,110,110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,
-110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,
-110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,
-110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,
-119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119,
- 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,
-119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,
-108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,
-105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,111,108,108, 0,119, 99,111,108, 95,115,
-116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91,
- 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,
-105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,
-120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,105,116,108,101, 91,
- 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 95,104,105,
- 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93, 0,108,105,115,116, 95,116,
-101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,
-112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,
-101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52,
- 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91, 52, 93, 0,115,101,108,101,
- 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93,
- 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,
-114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93,
- 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,
-101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,102, 97, 99,101, 91,
- 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,110,111,
-114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91,
- 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,
-109,101, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,
-108, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112,
- 97,100, 91, 50, 93, 0,115,121,110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116,
- 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,
-105,101, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93,
- 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91,
- 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,
-110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,
-101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 51,
- 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101, 0,
-116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,116,
-105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,111,
-100,101, 0,116,108,111,103,105, 99, 0,116, 97,114,109, 91, 50, 48, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108,
- 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114,
- 91, 49, 54, 48, 93, 0,114,101,110,100,101,114,100,105,114, 91, 49, 54, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54,
- 48, 93, 0,112,108,117,103,116,101,120,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54,
- 48, 93, 0,112,121,116,104,111,110,100,105,114, 91, 49, 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,
-121,102,101,120,112,111,114,116,100,105,114, 91, 49, 54, 48, 93, 0,118,101,114,115,105,111,110,115, 0,103, 97,109,101,102,108,
- 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117,
- 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101,
- 0,100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,
-115,104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,
-111,110,116,115, 0,117,105,115,116,121,108,101,115, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,
-114,121, 0,103,112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,
-100,105,115,116, 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,
-102,116,109,111,117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,
-119, 95,104,111,116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,
-116,119, 95,115,105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,
-101, 0,119,109,100,114, 97,119,109,101,116,104,111,100, 0,119,109,112, 97,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,
-105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,
-116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,
-115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,
-116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,100,
-111,102, 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0,105,112,111, 95,110,101,119, 0,118,101,114,115,101,
-109, 97,115,116,101,114, 91, 49, 54, 48, 93, 0,118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,
-104, 97, 99,108,105,112, 0, 97,117,116,111,107,101,121, 95,102,108, 97,103, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,
-118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115,
- 99,101,110,101, 0,102,117,108,108, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,
-115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116,
- 99,117,114,115,111,114, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101,
- 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0,
- 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,
-101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,
-102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,
-110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,
-114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,
-111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118,
- 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,
-121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,
-101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,
-121,112,101, 0, 97,108,105,103,110,109,101,110,116, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,
-101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,
-115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,110,115,117,
- 98,118,101,114,115,105,111,110, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,
-108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,110, 97,109,101, 91, 56, 48, 93, 0, 42,105, 98,117,102, 0, 42,
-105, 98,117,102, 95, 99,111,109,112, 0, 42,115,101, 49, 0, 42,115,101, 50, 0, 42,115,101, 51, 0,110,114, 0, 98,111,116,116,
-111,109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97,
- 91, 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,115, 97,116,117,114, 97,116,105,111,110, 0,100,105,114, 91, 49, 54, 48, 93, 0,
-100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100,
- 97,116, 97, 0,111,114,120, 0,111,114,121, 0, 42, 99,114,111,112, 0, 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,
-108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,116,115,116,114,105,112,100, 97,116, 97, 0, 42,116,115,116,114,105,112,100,
- 97,116, 97, 95,115,116, 97,114,116,115,116,105,108,108, 0, 42,116,115,116,114,105,112,100, 97,116, 97, 95,101,110,100,115,116,
-105,108,108, 0, 42,105, 98,117,102, 95,115,116, 97,114,116,115,116,105,108,108, 0, 42,105, 98,117,102, 95,101,110,100,115,116,
-105,108,108, 0, 42,105,110,115,116, 97,110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,
-114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,
-101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112,
- 0,104, 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, 42,115,116,114,105,112, 0,102, 97,
- 99,102, 48, 0,102, 97, 99,102, 49, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98,
- 97,115,101, 0, 42,115,111,117,110,100, 0, 42,104,100, 97,117,100,105,111, 0,108,101,118,101,108, 0,112, 97,110, 0,115, 99,
-101,110,101,110,114, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,115,116,
- 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0, 98,108,
-101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0, 42,115,
-101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116, 95,105,
-109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93, 0,101,
-100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,
-102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111,
- 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121, 73,110,105, 0, 83, 99, 97,108,101,120, 70,
-105,110, 0, 83, 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,110, 0,121, 73,110,105, 0,121, 70,105,110,
- 0,114,111,116, 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,111,108, 97,116,105,111,110, 0, 42,102,114,
- 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,
-101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,
-114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,
-105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,
-118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,
-109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112,
- 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,
-118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51, 50, 93, 0,118,103,114,111,117,
-112,110, 97,109,101, 95,118, 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,117,115,101,100, 0,117,115,
-101,100,101,108,101,109, 0,111,116,121,112,101, 0,111,108,100, 0, 42,112,111,105,110, 0, 42,111,108,100,112,111,105,110, 0,
-114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,
-117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 51,
- 50, 93, 0,118, 97,108,117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51, 50, 93, 0,100,101,108, 97,121, 0,
-100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51, 50, 93, 0,100, 97,109,112,116,105,
-109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,101, 91, 51, 50, 93, 0, 97,120,105,
-115,102,108, 97,103, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 51, 50, 93, 0, 98,111,
-100,121, 91, 51, 50, 93, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,
-107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,
-102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91,
- 49, 50, 56, 93, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,
-116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107,
- 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,
-114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,
-108,101,110,103,116,104, 0,115,110,100,110,114, 0,112, 97,100, 49, 91, 50, 93, 0,109, 97,107,101, 99,111,112,121, 0, 99,111,
-112,121,109, 97,100,101, 0,112, 97,100, 50, 91, 49, 93, 0,116,114, 97, 99,107, 0, 42,109,101, 0,108,105,110, 86,101,108,111,
- 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97,103,
- 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114, 99,101,
-114,111,116, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108, 97,114,
-118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0, 98,117,116,115,116, 97, 0, 98,117,
-116,101,110,100, 0,109,105,110, 0,109, 97,120, 0,118,105,115,105,102, 97, 99, 0,114,111,116,100, 97,109,112, 0,109,105,110,
-108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,
-116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,
-116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,
-111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101,
- 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,
-110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0,103,111, 0, 97, 99,
- 99,101,108,108,101,114, 97,116,105,111,110, 0,109, 97,120,115,112,101,101,100, 0,109, 97,120,114,111,116,115,112,101,101,100,
- 0,109, 97,120,116,105,108,116,115,112,101,101,100, 0,116,105,108,116,100, 97,109,112, 0,115,112,101,101,100,100, 97,109,112,
- 0, 42,115, 97,109,112,108,101, 0, 42,115,116,114,101, 97,109, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0,
- 42,115,110,100, 95,115,111,117,110,100, 0,112, 97,110,110,105,110,103, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,112,
-105,116, 99,104, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,100,105,115,116, 97,110, 99,101, 0,
-115,116,114,101, 97,109,108,101,110, 0, 99,104, 97,110,110,101,108,115, 0,104,105,103,104,112,114,105,111, 0,112, 97,100, 91,
- 49, 48, 93, 0,103, 97,105,110, 0,100,111,112,112,108,101,114,102, 97, 99,116,111,114, 0,100,111,112,112,108,101,114,118,101,
-108,111, 99,105,116,121, 0,110,117,109,115,111,117,110,100,115, 98,108,101,110,100,101,114, 0,110,117,109,115,111,117,110,100,
-115,103, 97,109,101,101,110,103,105,110,101, 0, 42, 97,114,101, 97, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101,
- 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,
-101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,
-109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93,
- 91, 52, 93, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,
+119,112, 97,105,110,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,110,101,114,116,121,112,101, 0,
+101,100,105,116, 98,117,116,102,108, 97,103, 0,106,111,105,110,116,114,105,108,105,109,105,116, 0,100,101,103,114, 0,116,117,
+114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,111,114,109, 97,108,115,105,122,
+101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,103,115, 0,118,101,114,116,105,
+ 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,105,117,115, 0,117,118, 99, 97,
+108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,110, 0,117,118, 99, 97,108, 99,
+ 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,117,118, 99, 97,108, 99, 95,102,
+108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,101, 0,117,118, 95,112, 97,100,
+ 0,103,112,101,110, 99,105,108, 95,102,108, 97,103,115, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,
+109, 97,112, 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,
+122,101, 0,115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,
+116,111,107,101,121, 95,109,111,100,101, 0, 97,117,116,111,107,101,121, 95,102,108, 97,103, 0,114,101,116,111,112,111, 95,109,
+111,100,101, 0,114,101,116,111,112,111, 95,112, 97,105,110,116, 95,116,111,111,108, 0,108,105,110,101, 95,100,105,118, 0,101,
+108,108,105,112,115,101, 95,100,105,118, 0,114,101,116,111,112,111, 95,104,111,116,115,112,111,116, 0,109,117,108,116,105,114,
+101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,115,107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,
+115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,
+104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114,
+ 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,
+103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,
+116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116,
+ 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,
+116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,
+105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,
+101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,
+115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,
+105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,
+116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,
+103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116,
+ 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,
+108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109,
+ 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,109,111,100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,
+105,118,101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,
+110, 97,112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,
+101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,111, 98,106,101, 99,116,115, 0, 97,117,116,111, 95,110,111,114,109,
+ 97,108,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,115, 99,117,108,
+112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,
+110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0,115, 99,
+117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95, 97,108,112,104, 97, 0,116,111,116,111, 98,106, 0,
+116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111,116,109,101,
+115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,116,104, 0,115,121,115,116,
+101,109, 0,115,121,115,116,101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,121, 91, 51, 93, 0,113,117,
+105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98, 97,115,101, 0,
+ 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119, 99,101,110,116,
+ 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116, 0,108, 97,121,
+ 95,117,112,100, 97,116,101,100, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 42,
+101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111, 0,116,114,
+ 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42,115,111,117,
+110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95,104, 97,110,
+100,108,101, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100,
+ 0,100, 97,103,102,108, 97,103,115, 0,112, 97,100, 54, 0,112, 97,100, 53, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,
+103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,105, 99,115, 95,
+115,101,116,116,105,110,103,115, 0, 98,108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93,
+ 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,
+115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,
+111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116, 91, 52,
+ 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,
+121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,116,119,100,114, 97,119,102,108, 97,103, 0,105,115, 95,
+112,101,114,115,112, 0,114,102,108, 97,103, 0,118,105,101,119,108,111, 99,107, 0,112,101,114,115,112, 0, 99,108,105,112, 91,
+ 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98, 0, 42,
+108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104,
+ 95,116,105,109,101,114, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119,
+ 0,103,114,105,100,118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,103,105,111,110,
+ 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104,
+ 97,110,100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,
+112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50,
+ 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,
+101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103,114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,109,111,100,101,115,
+101,108,101, 99,116, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,115,117, 98,100,105,118, 0,103,114,105,100,102,
+108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, 0,112, 97,100, 50, 91, 50, 93,
+ 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,
+ 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,121, 0,
+110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,101,114,116,105,101,115, 95,
+115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109, 97,120,
+ 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,111,108,
+108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0, 97,108,
+105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0, 42,116,
+ 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,109, 97,
+115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112,
+ 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,115,101,
+114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,116,101,
+120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0,114,101,110,100,
+101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,105,116,
+108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,102,
+105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 56, 48, 93, 0,102,105,108,116,101,114, 95,103,108,
+111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,101,108,
+ 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114, 91, 56,
+ 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115, 0, 42,
+102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112, 0, 42,
+115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,101,110,
+116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, 0,116,114,101,101, 0, 42,116,114,
+101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114, 99,104,
+ 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114, 99,104,
+ 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,110,101,
+ 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,114,116,
+105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,105, 99,
+107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,108,105,
+110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,114,
+115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,114,
+ 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,105,116,
+101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,111,
+108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,110,
+100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,105,110,
+ 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, 95,
+101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,108,
+ 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, 99,
+114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115, 99,
+114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97, 99,
+104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0, 42, 99,
+117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,
+116,101,120,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,116,105,116,108,101, 91, 50, 52, 93, 0,109,101,110,117, 0,
+110,117,109,116,105,108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,115,101,108,115,116, 97,116,101, 0,118,105,101,
+119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115, 0,115, 99,114,
+111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0, 97, 99,116,105,
+118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,116,117,114,110,
+102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40, 41, 0, 40, 42,
+114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,103, 50, 0, 42,
+109,101,110,117,112, 0, 42,112,117,112,109,101,110,117, 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,117,
+114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116, 91, 50,
+ 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,101,108, 95,101,
+110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0, 42, 97,114,101, 97, 0, 42,115,111,117,110,100, 0,115,110,100,110,114,
+ 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105,100, 0,
+114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98,111,108,
+100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112,104, 97,
+ 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,108, 97, 98,
+101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,111,109, 0,
+109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99,111,108,
+117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99,101, 0,
+ 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101,108,115,
+112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,110,101, 91, 52,
+ 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91, 52, 93, 0,
+116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104, 97,100,101,
+116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,110,101,114, 95,
+ 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,
+107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,
+105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,119, 99,111,108,
+ 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,
+108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,
+119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,
+117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119,
+ 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,111,
+108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,116,101,109, 0,
+119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107, 91, 52, 93, 0,
+116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,104,101,
+ 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,
+100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,
+116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,
+101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93, 0,
+108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,
+101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 91,
+ 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,104,
+ 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91, 52,
+ 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,
+111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,109,
+ 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,
+100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109, 91,
+ 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52, 93,
+ 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101, 95,115,101,108,
+101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,101, 95,108,101,
+110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,114, 97, 95,102,
+ 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52, 93, 0,118,101,
+114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,110,
+101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116, 91,
+ 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,
+118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,
+117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108, 97,115,116,115,
+101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,
+101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,
+ 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,
+108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116, 91, 52,
+ 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,108,
+ 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,111,117,116,
+112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,
+105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,115,111,108,101,
+ 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,110,101, 95,119,
+105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112, 97,100, 0,115,121,110,116, 97,120,108, 91, 52,
+ 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118, 91,
+ 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,
+115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,
+105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,
+109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,
+104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,
+101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, 98, 97, 99,107, 91,
+ 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101,
+ 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,
+116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,
+111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,116, 97,
+114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101, 91,
+ 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,
+112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114, 91, 49, 54, 48, 93, 0,114,101,110,100,101,114,100,105,114,
+ 91, 50, 52, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,116,101,120,100,105,114, 91, 49,
+ 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54, 48, 93, 0,112,121,116,104,111,110,100,105,114, 91, 49, 54,
+ 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, 50, 52,
+ 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 95,
+112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,100,101,
+ 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101, 0,103,
+ 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,
+108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,
+102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,100,105,
+111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,100,105,
+110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,110,117,
+116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,121,108,
+101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102,105,103,115,116,114, 91, 54,
+ 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103,112, 95,109, 97,110,104, 97,
+116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116, 0,103,112, 95,101,114, 97,
+115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111,117,115,101, 0,116, 98, 95,
+114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,111,116, 0,116,
+119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115,105,122,101, 0,116,101,120,
+116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,119,109,101,116,
+104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,105,116, 0,
+112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,116, 0,112,
+ 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,115,105,122,
+101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,116,104, 95,
+118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,100,111,102, 95,
+114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,121,112,
+101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,115,116,
+102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,119,105,100,103,101,116, 95,117,110,105,116, 0, 97,110,105,115,
+111,116,114,111,112,105, 99, 95,102,105,108,116,101,114, 0,118,101,114,115,101,109, 97,115,116,101,114, 91, 49, 54, 48, 93, 0,
+118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,116, 95,
+114,101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,112,116, 95,112,
+ 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0,118,
+101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,
+101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,105,110,105,100,
+ 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,
+117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,
+100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42,
+ 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,
+101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91,
+ 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,
+120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,
+105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0,
+ 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,
+108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,
+114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52,
+ 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,
+112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,
+110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,
+108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,
+115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,
+115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,
+114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111,110, 0,119,105,110,112,111,115, 0, 42, 99,117,114,115,
+ 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,
+102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101,110, 97,109,101, 91, 50, 52, 48, 93, 0,110, 97,109,101, 91, 56, 48,
+ 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, 0,
+114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, 93,
+ 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54, 48, 93, 0,100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,
+108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,
+110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,110, 99,101, 95,
+112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100,
+ 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101,
+ 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,
+105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99,
+ 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,
+115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98, 97,115,101, 0, 42,115, 99,101,110,101, 95,
+115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110, 0,115, 99,101,110,101,110,114, 0,109,117,108,116,105, 99, 97,109,
+ 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,
+115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0,
+ 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0,
+ 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116,
+ 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93,
+ 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,
+101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,
+116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100,
+ 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121,
+ 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83, 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,
+110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116, 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,
+111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,
+103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,
+112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111,
+ 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114,
+ 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,
+109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,
+116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,
+105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,
+117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51, 50, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118,
+ 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,
+101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,
+101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,
+103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108,117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51,
+ 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51,
+ 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,
+101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0, 99,
+111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,
+116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,
+116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,
+105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,
+112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115,
+ 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109,
+ 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,
+114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,
+105,100,101,108,101,110,103,116,104, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,
+114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,
+111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101,
+ 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0,112, 97,100,
+ 51, 91, 50, 93, 0,112,105,116, 99,104, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,
+105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99,
+ 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93,
+ 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,
+110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110,
+ 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93,
+ 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93,
+ 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95,
+ 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,
+116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101, 99,116,
+ 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,
+109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0, 42,115,117, 98,116, 97,114,
+103,101,116, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,
+110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,
+108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93,
+ 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,
+105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93,
+ 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,
+111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,
100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,
-115,101, 0, 42,101,100, 98,111, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112,
- 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,
-111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104,
- 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,114,111,112, 0, 99,111,110,115,116,102,108, 97,103, 0,105,107,102,108, 97,103,
- 0,115,101,108,101, 99,116,102,108, 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,111,110,101, 0, 42, 99,104,
-105,108,100, 0,105,107,116,114,101,101, 0, 42, 98, 95, 98,111,110,101, 95,109, 97,116,115, 0, 42,100,117, 97,108, 95,113,117,
- 97,116, 0, 42, 98, 95, 98,111,110,101, 95,100,117, 97,108, 95,113,117, 97,116,115, 0,101,117,108, 91, 51, 93, 0,114,111,116,
-109,111,100,101, 0, 99,104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91,
- 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,
-105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51,
- 93, 0,105,107,115,116,114,101,116, 99,104, 0, 42, 99,117,115,116,111,109, 0, 99,104, 97,110, 98, 97,115,101, 0,112,114,111,
-120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99,
- 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,
- 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,
-101, 95,109, 97,114,107,101,114, 0, 42,115,111,117,114, 99,101, 0,102,105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,
- 97, 99,116,110,114, 0, 97, 99,116,119,105,100,116,104, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,116,101,
-109,112, 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,
-102,111,114, 99,101, 0,104,101, 97,100,116, 97,105,108, 0, 42,116, 97,114, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50,
- 93, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,116, 97,114,110,117,109, 0,116, 97,114,103,
-101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120, 95,114,111,111,116,
- 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,
-112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98,116, 97,114,103,101,
-116, 91, 51, 93, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110,109, 97,120,102,
-108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,102,111,108,108,
-111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103,116,104, 0, 98,
-117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0,
-109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0,
-105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,101,120,112,111,
- 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,109,105,110, 91,
- 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,122,109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104,
- 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,
-115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115,
- 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101,
- 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,
-117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101,
- 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,109,105,116, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 0,
-105,110,116,101,114,110, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 95,101,120,116, 0,108,111, 99,120, 0,108,111, 99,121,
- 0,111,119,110, 95,105,110,100,101,120, 0,116,111, 95,105,110,100,101,120, 0, 42,116,111,115,111, 99,107, 0, 42,108,105,110,
-107, 0, 42,110,101,119, 95,110,111,100,101, 0,117,115,101,114,110, 97,109,101, 91, 51, 50, 93, 0,108, 97,115,116,121, 0,111,
-117,116,112,117,116,115, 0, 42,115,116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,104, 0, 99,117,115,116,111,109,
- 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,101,
-120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,112,
-114,118,114, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0, 42,116,111,110,111,100,101, 0,
- 42,102,114,111,109,115,111, 99,107, 0,110,111,100,101,115, 0,108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,
-114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,100,
-101,120, 0, 97,108,108,116,121,112,101,115, 0, 42,111,119,110,116,121,112,101, 0, 42,115,101,108,105,110, 0, 42,115,101,108,
-111,117,116, 0, 40, 42,116,105,109,101, 99,117,114,115,111,114, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119,
- 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,116, 99,104, 0, 42,115,
-100,104, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109,105,110,115,112,101,101,100,
- 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0, 99,117,114,118,101,100, 0,
-105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,
-101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,105,116,101,114, 0,119,114, 97,112, 0,
-115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,115, 97,116, 0,
-116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93,
- 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0, 99,111,108,110, 97,109,101, 91, 51, 50, 93, 0, 98,107,116,121,112,101, 0,
-114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120,
- 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,100,105, 99,116, 0, 42,110,111,100,101, 0, 97,110,103,108,101, 95,111,
-102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,116,104,114,101,115,104,111,108,100, 0,102, 97,100,101, 0,109, 0, 99,
- 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,108,101, 0,109, 97,
-120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,117,114,
-118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0, 99,117,114,114, 0, 99,108,105,112,
-114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91,
- 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,105,110,110,
-101,114,114, 97,100,105,117,115, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,114,111,116, 0,115, 99,117,108,112,116, 95,
-116,111,111,108, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, 97, 99,116,
-105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,111,116,108, 97,121,101,114, 0,109, 97,120,108, 97,121,
-101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0,101,100,105,116,102,108, 97,103, 0,118,101,108, 91, 51, 93,
- 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,
-119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,114, 97,110,100, 91, 51, 93, 0, 42,115,116,105,
- 99,107, 95,111, 98, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0,105, 95,114,111,116, 91, 52, 93, 0,
-114, 95,114,111,116, 91, 52, 93, 0,114, 95, 97,118,101, 91, 51, 93, 0,114, 95,118,101, 91, 51, 93, 0,100,105,101,116,105,109,
-101, 0, 98, 97,110,107, 0,115,105,122,101,109,117,108, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0, 98,112,105, 0, 97,
-108,105,118,101, 0,108,111,111,112, 0,100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101,
- 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,
-122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,114,116, 50, 91, 51, 93, 0,100,114, 97,119, 95,
-115,116,101,112, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,
-112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,
-105,110,116,101,103,114, 97,116,111,114, 0,110, 98,101,116,119,101,101,110, 0, 98,111,105,100,110,101,105,103,104, 98,111,117,
-114,115, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0,
- 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,
-116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103, 0,
-115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,
-105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,
-112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,
-114,105,100, 95,114,101,115, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,
-114,101, 97, 99,116,102, 97, 99, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,
-102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0,114,101, 97, 99,116,115,
-104, 97,112,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,100, 97,109,
-112,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,
-105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114,
- 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,
-102, 97, 99, 0, 99,108,117,109,112,112,111,119, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,
-114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,
-114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,
-104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,
-119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114,
- 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,109, 97,120, 95,108, 97,116, 95, 97, 99,
- 99, 0,109, 97,120, 95,116, 97,110, 95, 97, 99, 99, 0, 97,118,101,114, 97,103,101, 95,118,101,108, 0, 98, 97,110,107,105,110,
-103, 0,109, 97,120, 95, 98, 97,110,107, 0,103,114,111,117,110,100,122, 0, 98,111,105,100,102, 97, 99, 91, 56, 93, 0, 98,111,
-105,100,114,117,108,101, 91, 56, 93, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98,
- 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116,
- 41, 40, 41, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,
-104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42,116, 97,114,103,101,
-116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,101,102,102,101, 99,116,111,114,115, 0,114,101, 97, 99,116,101,118,101,
-110,116,115, 0,107,101,121,101,100, 95,116, 97,114,103,101,116,115, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97,
- 99,104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,
-111,116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51,
- 50, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,
-100, 97,116, 97, 0, 42, 99, 97, 99,104,101, 0, 67,100,105,115, 0, 67,118,105, 0, 91, 51, 93, 0,115,116,114,117, 99,116,117,
-114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,
-109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,
-108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,
-101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,
-114,111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,
-114,111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,
-117, 99,116, 0,112,114,101,115,101,116,115, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,
-108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,115,101,
+115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,
+115,107,101,116, 99,104, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,
+100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,
+116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,
+116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116,
+ 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,
+101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,
+103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,
+112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,
+101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,
+116,104, 95, 97, 99, 0, 99,111,110,115,116,102,108, 97,103, 0,105,107,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,
+103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101,
+ 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,
+109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101,
+ 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,
+105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,
+104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, 99,104, 97,110, 98, 97,
+115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,
+111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,
+112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97,
+ 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 51, 50, 93, 0,110,117,109,
+105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,
+118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,
+101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115,
+ 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42,115,111,
+117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93, 0,102,
+105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,
+101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,
+104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,
+114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,
+114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101,
+ 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,
+114,103,101,116, 91, 51, 50, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,
+103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110,
+ 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50,
+ 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,
+108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,
+108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0,
+ 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,
+101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112,
+ 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93,
+ 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,
+110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116,
+ 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,
+116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101,
+ 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115,
+ 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116,
+ 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101, 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,
+109,105,116, 0,115,116, 97, 99,107, 95,116,121,112,101, 0, 42,115,116, 97, 99,107, 95,112,116,114, 0,115,116, 97, 99,107, 95,
+105,110,100,101,120, 0,108,111, 99,120, 0,108,111, 99,121, 0,111,119,110, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,
+115,111, 99,107, 0,116,111, 95,105,110,100,101,120, 0, 42,108,105,110,107, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,
+121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0,111,117,116,112,117,116,115, 0, 42,115,
+116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,104, 0,108, 97, 98,101,108, 91, 51, 50, 93, 0, 99,117,115,116,111,
+109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,
+101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,
+112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0,
+ 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,100,101,115, 0,
+108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,
+116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,100,101,120, 0, 97,108,108,116,121,112,101,115, 0, 40, 42,112,114,
+111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116,
+ 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104, 0, 99,121, 99,108,105, 99, 0,
+109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0,
+ 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,103,
+ 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,
+103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,
+115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,116, 49, 0,116,
+ 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, 0, 97,108,103,
+111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, 97, 99, 95,120,
+ 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,109,101, 91, 51,
+ 50, 93, 0, 98,107,116,121,112,101, 0,114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102,
+ 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,100,105, 99,116, 0, 42,110,111,
+100,101, 0, 97,110,103,108,101, 95,111,102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,116,104,114,101,115,104,111,108,
+100, 0,102, 97,100,101, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112,101, 91, 51, 93,
+ 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,105,110,118, 91,
+ 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,117,115,112,105,
+108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,115,104,111,114,116,121, 0,109,105,110,116, 97,
+ 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50,
+ 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,
+115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114,
+ 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51,
+ 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91,
+ 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116,
+ 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,
+105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,
+114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,
+105,103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,
+103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95,
+ 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,
+111,112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101,
+ 0,109,116,101,120, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,105,108,101,112, 97,116,104, 91,
+ 50, 52, 48, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,100,101, 0,106,105,116,116,101,
+114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,109,111,111,116,104, 95,115,116,
+114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, 95,112,
+108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116, 95,116,111,111,108, 0,118,101,
+114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,116, 95,116,111,111,108, 0,112,
+ 97,100, 51, 91, 53, 93, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114, 0, 99,114,101, 97,115,101, 95,
+112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,116,101,120,116,117,114,101, 95,
+115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,108, 97,121, 95, 97,108,112,104,
+ 97, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,
+115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,
+110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,111,116,108, 97,121,101,114, 0,
+109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,101,120,116,101,114,110, 97,108,
+ 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93,
+ 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,
+101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93,
+ 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,114,116, 91, 50, 93, 0,112,114,101,118, 95,115,116, 97,116,101,
+ 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101,
+ 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,
+105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,
+105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,
+111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,
+110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,
+105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,
+115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,
+114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,
+101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,
+119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,
+101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109,
+ 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116,
+ 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116,
+ 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98, 98, 95,115,105,
+122,101, 91, 50, 93, 0, 98, 98, 95,118,101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,108, 0, 99,111,
+108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,
+112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,
+105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0,106,105,116,102, 97,
+ 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,110,100, 0,103,114,105,100, 95,114,101,115, 0,101,102,
+102,101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,
+112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,
+112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99,
+ 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97,
+ 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,105,108,100,
+ 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,110,100,
+115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,112,111,119,
+ 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,112, 95, 99,108,117,109,112, 0,114,111,117,103,104, 49,
+ 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,
+114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100,
+ 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0,112, 97,114,
+116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,105,110, 0,112, 97,114,116,105,110,103, 95,109, 97,120,
+ 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,
+115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100,
+ 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,115, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,
+100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,112, 97,114,116,105, 99,
+108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,
+104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42, 99,108,109,100, 0,
+ 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,111,117,116, 95,100,109, 0, 42,116, 97,114,103,101,116,
+ 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,102,114, 97,109,101, 0, 98,118,104,116,114,101,101, 95,
+102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,111,116,117,110,101,120,105,115,116, 0,116,111,116, 99,
+104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,
+103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,
+118,110, 97,109,101, 91, 51, 93, 91, 51, 50, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,
+116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,102,101, 99,116,111,114,115, 0, 42,102,108,117,105,100,
+ 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 97,108,108,111, 99, 95,
+102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101, 0, 42,112,100,100, 0, 42,102,114, 97,110,100, 0, 67,
+100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,
+101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,
+105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,
+101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,118,101,
+108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111,110, 0,
+115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,
+101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,
+112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, 99,116, 0,115,104, 97,112,101,107,101,121, 95,114,101,
+115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105,115,116,
+ 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115,105,108,
+111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,116, 97,110, 99,101, 95,114,101,112,101,108, 0,115,101,
108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,
-101, 0, 42,112,111,105,110,116,115, 0,116,111,116,112,111,105,110,116,115, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,
-114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,
-110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,
-108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0, 42,116,121,112,101,115,116,114, 0, 42,109,101,115,115, 97,103,101, 0,108,
-105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,119,105,110,100,114,
- 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,
-108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101,
- 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,107,101,121,109, 97,
-112,115, 0, 42,103,104,111,115,116,119,105,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,
-109,101, 91, 51, 50, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,
-105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,
-101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,
-104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,116,105,109,101,114,115, 0,115,117,
- 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0, 42,112,116,114,
- 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,
-114, 0,107,101,121,109, 97,112, 0,110, 97,109,101,105,100, 91, 54, 52, 93, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,
-111,110,105,100, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,114,101,112,111,114,116,115, 0,109,118, 97,108, 91, 50,
- 93, 0,112,114,101,118,120, 0,112,114,101,118,121, 0,117,110,105, 99,111,100,101, 0, 97,115, 99,105,105, 0, 42,107,101,121,
-109, 97,112, 95,105,100,110, 97,109,101, 0, 99,117,115,116,111,109, 0, 99,117,115,116,111,109,100, 97,116, 97,102,114,101,101,
- 0, 42,101,100, 97,116, 97, 0,105,110,102,108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0,
- 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,
-104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,
-117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,
-101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,
-101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0, 42,114,110, 97, 95,
-112, 97,116,104, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93,
- 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 99,111,108,111,114, 95,109,111,100,101, 0, 99,111,108,111,114, 91, 51, 93,
- 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,
-112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,
-110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,105,100,116,121,
-112,101, 0,116,101,109,112,108, 97,116,101,115, 0,103,114,111,117,112,109,111,100,101, 0,112, 97,116,104,115, 0,107,101,121,
-105,110,103,102,108, 97,103, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,
-116,114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 0, 84, 89, 80, 69,161, 1, 0, 0,
+101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,
+116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,
+105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,
+112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,
+101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,
+119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,
+111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,
+106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,
+103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,
+116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,
+101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 51, 50, 93, 0,112,111,115,
+120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,
+117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,
+101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,
+101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,
+110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101,
+ 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,
+107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97,112,116,121,112,101, 0, 42,112,116,114, 0,105,116,101,
+109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105,100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,
+108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0, 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97,
+ 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,
+101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42,111,112,109, 0, 42,101,100, 97,116, 97, 0,105,110,102,
+108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,
+111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,104, 97,115,101, 95,109,117,108,116,105,112,
+108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,117,101, 95,111,102,102,115,101,116, 0,109,
+105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,101,114, 95,109,111,100,101, 0, 98,101,102,
+111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,
+115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112,
+ 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,
+121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95,116, 97,114,103,101,116,115, 0,118, 97,114,105, 97,
+ 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,
+118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0, 99,111,108,111,114, 95,109,111,
+100,101, 0, 99,111,108,111,114, 91, 51, 93, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,
+112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,
+105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0,103,114,111,
+117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100,101, 0,107,101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,
+115, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, 42,116,109,112, 97,
+ 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,118,101,114,115, 0,
+111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, 95,101,120,116,101,
+110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,112,116,105,111,110,
+115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,107, 95, 97,104,101,
+ 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,114, 0,102,108,101,
+101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,114,117,108,101,115,
+ 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, 95,116,121,112,101,
+ 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,105,100, 0,108, 97,
+110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,103,114,101,115,115,
+105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,112,101,101,100, 0,
+ 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, 95,112,101,114,115,
+111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,108, 97,110,100, 95,
+109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95,
+ 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,115,116,105,
+ 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, 95,103,114,111,117,
+112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,116,101,120, 95,115,
+104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,
+103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,105,102,121, 0,109,
+ 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,115,115, 95,112,101,
+114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,100,120, 95,119,116,
+ 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, 99,111,
+109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,
+111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, 0,118,111,114,116,
+105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, 0,118,103,114,112,
+ 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,118,103,114,111,117,
+112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,116,115, 95,111,108,
+100, 0, 42,118,101,108, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, 52, 93, 0, 0, 0, 0, 84, 89, 80, 69,205, 1, 0, 0,
99,104, 97,114, 0,117, 99,104, 97,114, 0,115,104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,108,111,110,103,
0,117,108,111,110,103, 0,102,108,111, 97,116, 0,100,111,117, 98,108,101, 0,118,111,105,100, 0, 76,105,110,107, 0, 76,105,
-110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,105, 0,118,101, 99, 50,
-102, 0,118,101, 99, 50,100, 0,118,101, 99, 51,105, 0,118,101, 99, 51,102, 0,118,101, 99, 51,100, 0,118,101, 99, 52,105, 0,
-118,101, 99, 52,102, 0,118,101, 99, 52,100, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121,
- 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68,
- 97,116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,
-116, 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0,
- 75,101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 83, 99,114,105,112,116, 76,105,110,107,
- 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100,
- 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,
-101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77,
- 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,
-110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,
-112,105,110,103, 0, 76, 97,109,112, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 87, 97,118,101, 0, 77, 97,116,101,
-114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,
-108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,
-110,102,111, 0, 84,101,120,116, 66,111,120, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,100,
-105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77,
- 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105,
- 99,107,121, 0, 77, 83,101,108,101, 99,116, 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0,
- 77,117,108,116,105,114,101,115, 0, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102,111,
-114,109, 87,101,105,103,104,116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,
-111,108, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0, 77,
- 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,105,
-115,112,115, 0, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 68, 71, 69, 68, 82, 65, 87, 32, 40, 49, 60, 60, 49, 41, 32,
- 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 69, 65, 77, 32, 40, 49, 60, 60, 50, 41, 32, 35,100,101,102,105,110,101, 32, 77,
- 69, 95, 70, 71, 79, 78, 32, 40, 49, 60, 60, 51, 41, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 68, 71, 69, 82, 69,
- 78, 68, 69, 82, 32, 40, 49, 60, 60, 53, 41, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 76, 79, 79, 83, 69, 69, 68, 71, 69,
- 32, 40, 49, 60, 60, 55, 41, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 69, 65, 77, 95, 76, 65, 83, 84, 32, 40, 49, 60,
- 60, 56, 41, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 72, 65, 82, 80, 32, 40, 49, 60, 60, 57, 41, 32, 32, 32, 35,100,
-101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 49, 32, 49, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73,
- 80, 86, 50, 32, 50, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 51, 32, 52, 32, 35,100,101,102,105,110,
-101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 52, 32, 56, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 88, 89, 32,
- 49, 54, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 88, 90, 32, 51, 50, 32, 35,100,101,102,105,110,101, 32,
- 77, 69, 95, 80, 82, 79, 74, 89, 90, 32, 54, 52, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 49, 86, 50, 32, 49, 32,
- 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 50, 86, 51, 32, 50, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86,
- 49, 32, 52, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86, 52, 32, 52, 32, 35,100,101,102,105,110,101, 32, 77, 69,
- 95, 86, 52, 86, 49, 32, 56, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 77, 79, 79, 84, 72, 32, 49, 32, 35,100,101,
-102,105,110,101, 32, 77, 69, 95, 70, 65, 67, 69, 95, 83, 69, 76, 32, 50, 32, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95,
- 86, 83, 69,108, 32, 48, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 83, 69,108, 32, 49, 32, 35,100,101,102,105,110,101,
- 32, 77, 69, 95, 70, 83, 69, 76, 32, 50, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 69, 67, 84, 32, 49, 32,
- 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 67, 84, 73, 86, 69, 32, 50, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 83, 69, 76, 49, 32, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 50, 32, 56, 32, 35,100,101,102,105,110,
-101, 32, 84, 70, 95, 83, 69, 76, 51, 32, 49, 54, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 52, 32, 51, 50, 32,
- 35,100,101,102,105,110,101, 32, 84, 70, 95, 72, 73, 68, 69, 32, 54, 52, 32, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 68, 89, 78, 65, 77, 73, 67, 32, 49, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 83, 79, 82, 84, 32, 50,
- 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 84, 69, 88, 32, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65,
- 82, 69, 68, 86, 69, 82, 84, 32, 56, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 76, 73, 71, 72, 84, 32, 49, 54, 32, 35,100,
-101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 82, 69, 68, 67, 79, 76, 32, 54, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 84, 73, 76, 69, 83, 32, 49, 50, 56, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68,
- 32, 50, 53, 54, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 84, 87, 79, 83, 73, 68, 69, 32, 53, 49, 50, 32, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 73, 78, 86, 73, 83, 73, 66, 76, 69, 32, 49, 48, 50, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 79, 66, 67, 79, 76, 32, 50, 48, 52, 56, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68,
- 50, 32, 52, 48, 57, 54, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 68, 79, 87, 32, 56, 49, 57, 50, 32, 35,
-100,101,102,105,110,101, 32, 84, 70, 95, 66, 77, 70, 79, 78, 84, 32, 49, 54, 51, 56, 52, 32, 32, 35,100,101,102,105,110,101, 32,
- 84, 70, 95, 83, 79, 76, 73, 68, 32, 48, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 68, 68, 32, 49, 32, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 32, 50, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 67, 76, 73, 80, 32, 52,
- 32, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 85, 66, 32, 51, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 49, 32, 49, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65,
- 84, 69, 68, 50, 32, 50, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 51, 32, 52, 32,
- 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 52, 32, 56, 32, 35,100,101,102,105,110,101,
- 32, 84, 70, 95, 80, 73, 78, 49, 32, 49, 54, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 50, 32, 51, 50, 32, 35,
-100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 51, 32, 54, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78,
- 52, 32, 49, 50, 56, 32, 35,101,110,100,105,102, 32,117,108,116,105,114,101,115, 76,101,118,101,108, 59, 13, 10, 13, 10,116,121,
-112,101,100,101,102, 32,115,116,114,117, 99,116, 32, 77,117,108,116,105,114,101,115, 32,123, 13, 10, 9, 76,105,115,116, 66, 97,
-115,101, 32,108,101,118,101,108,115, 59, 13, 10, 9, 77, 86,101,114,116, 32, 42,118,101,114,116,115, 59, 13, 10, 13, 10, 9,117,
-110,115,105,103,110,101,100, 32, 99,104, 97,114, 32,108,101,118,101,108, 95, 99,111,117,110,116, 44, 32, 99,117,114,114,101,110,
-116, 44, 32,110,101,119,108,118,108, 44, 32,101,100,103,101,108,118,108, 44, 32,112,105,110,108,118,108, 44, 32,114,101,110,100,
-101,114,108,118,108, 59, 13, 10, 9,117,110,115,105,103,110,101,100, 32, 99,104, 97,114, 32,117,115,101, 95, 99,111,108, 44, 32,
-102,108, 97,103, 59, 13, 10, 13, 10, 9, 47, 42, 32, 83,112,101, 99,105, 97,108, 32,108,101,118,101,108, 32, 49, 32,100, 97,116,
- 97, 32,116,104, 97,116, 32, 99, 97,110,110,111,116, 32, 98,101, 32,109,111,100,105,102,105,101,100, 32,102,114,111,109, 32,111,
-116,104,101,114, 32,108,101,118,101,108,115, 32, 42, 47, 13, 10, 9, 67,117,115,116,111,109, 68, 97,116, 97, 32,118,100, 97,116,
- 97, 59, 13, 10, 9, 67,117,115,116,111,109, 68, 97,116, 97, 32,102,100, 97,116, 97, 59, 13, 10, 9,115,104,111,114,116, 32, 42,
-101,100,103,101, 95,102,108, 97,103,115, 59, 13, 10, 9, 99,104, 97,114, 32, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115,
- 59, 13, 10,125, 32, 77,117,108,116,105,114,101,115, 59, 13, 10, 13, 10, 47, 42, 42, 32, 69,110,100, 32, 77,117,108,116,105,114,
-101,115, 32, 42, 42, 47, 13, 10, 13, 10,116,121,112,101,100,101,102, 32,115,116,114,117, 99,116, 32, 80, 97,114,116,105, 97,108,
- 86,105,115,105, 98,105,108,105,116,121, 32,123, 13, 10, 9,117,110,115,105,103,110,101,100, 32,105,110,116, 32, 42,118,101,114,
-116, 95,109, 97,112, 59, 32, 47, 42, 32,118,101,114,116, 95,109, 97,112, 91, 79,108,100, 32, 73,110,100,101,120, 93, 61, 32, 78,
-101,119, 32, 73,110,100,101,120, 32, 42, 47, 13, 10, 9,105,110,116, 32, 42,101,100,103,101, 95,109, 97,112, 59, 32, 47, 42, 32,
-101,100,103,101, 95,109, 97,112, 91, 79,108,100, 32, 73,110,100,101,120, 93, 61, 32, 78,101,119, 32, 73,110,100,101,120, 44, 32,
- 45, 49, 61, 32,104,105,100,100,101,110, 32, 42, 47, 13, 10, 9, 77, 70, 97, 99,101, 32, 42,111,108,100, 95,102, 97, 99,101,115,
- 59, 13, 10, 9, 77, 69,100,103,101, 32, 42,111,108,100, 95,101,100,103,101,115, 59, 13, 10, 9,117,110,115,105,103,110,101,100,
- 32,105,110,116, 32,116,111,116,102, 97, 99,101, 44, 32,116,111,116,101,100,103,101, 44, 32,116,111,116,118,101,114,116, 44, 32,
-112, 97,100, 59, 13, 10,125, 32, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 59, 13, 10, 13, 10, 47, 42,
- 32,109,118,101,114,116, 45, 62,102,108, 97,103, 32, 40, 49, 61, 83, 69, 76, 69, 67, 84, 41, 32, 42, 47, 13, 10, 35,100,101,102,
-105,110,101, 32, 77, 69, 95, 83, 80, 72, 69, 82, 69, 84, 69, 83, 84, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95,
- 83, 80, 72, 69, 82, 69, 84, 69, 77, 80, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 72, 73, 68, 69, 9, 9, 9,
- 49, 54, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 69, 82, 84, 95, 77, 69, 82, 71, 69, 68, 9, 9, 40, 49, 60, 60,
- 54, 41, 13, 10, 13, 10, 47, 42, 32,109,101,100,103,101, 45, 62,102,108, 97,103, 32, 40, 49, 61, 83, 69, 76, 69, 67, 84, 41, 42,
- 47, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 68, 71, 69, 68, 82, 65, 87, 9, 9, 9, 40, 49, 60, 60, 49, 41, 13,
- 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 69, 65, 77, 9, 9, 9, 9, 40, 49, 60, 60, 50, 41, 13, 10, 35,100,101,102,
-105,110,101, 32, 77, 69, 95, 70, 71, 79, 78, 9, 9, 9, 9, 40, 49, 60, 60, 51, 41, 13, 10, 9, 9, 9, 9, 9, 9, 47, 42, 32,
-114,101,115,101,114,118,101, 32, 49, 54, 32,102,111,114, 32, 77, 69, 95, 72, 73, 68, 69, 32, 42, 47, 13, 10, 35,100,101,102,105,
-110,101, 32, 77, 69, 95, 69, 68, 71, 69, 82, 69, 78, 68, 69, 82, 9, 9, 40, 49, 60, 60, 53, 41, 13, 10, 35,100,101,102,105,110,
-101, 32, 77, 69, 95, 76, 79, 79, 83, 69, 69, 68, 71, 69, 9, 9, 40, 49, 60, 60, 55, 41, 13, 10, 35,100,101,102,105,110,101, 32,
- 77, 69, 95, 83, 69, 65, 77, 95, 76, 65, 83, 84, 9, 9, 40, 49, 60, 60, 56, 41, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69,
- 95, 83, 72, 65, 82, 80, 9, 9, 9, 40, 49, 60, 60, 57, 41, 13, 10, 13, 10, 47, 42, 32,112,117,110,111, 32, 61, 32,118,101,114,
-116,101,120,110,111,114,109, 97,108, 32, 40,109,102, 97, 99,101, 41, 32, 42, 47, 13, 10, 47, 42, 32,114,101,110,100,101,114, 32,
- 97,115,115,117,109,101,115, 32,102,108,105,112,115, 32,116,111, 32, 98,101, 32,111,114,100,101,114,101,100, 32,108,105,107,101,
- 32,116,104,105,115, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 49, 9, 9, 49, 13, 10,
- 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 50, 9, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69,
- 95, 70, 76, 73, 80, 86, 51, 9, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 52, 9, 9, 56,
- 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 88, 89, 9, 9, 49, 54, 13, 10, 35,100,101,102,105,110,101,
- 32, 77, 69, 95, 80, 82, 79, 74, 88, 90, 9, 9, 51, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 89,
- 90, 9, 9, 54, 52, 13, 10, 13, 10, 47, 42, 32,101,100, 99,111,100,101, 32, 40,109,102, 97, 99,101, 41, 32, 42, 47, 13, 10, 35,
-100,101,102,105,110,101, 32, 77, 69, 95, 86, 49, 86, 50, 9, 9, 9, 49, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86,
- 50, 86, 51, 9, 9, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86, 49, 9, 9, 9, 52, 13, 10, 35,100,
-101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86, 52, 9, 9, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 52,
- 86, 49, 9, 9, 9, 56, 13, 10, 13, 10, 47, 42, 32,102,108, 97,103, 32, 40,109,102, 97, 99,101, 41, 32, 42, 47, 13, 10, 35,100,
-101,102,105,110,101, 32, 77, 69, 95, 83, 77, 79, 79, 84, 72, 9, 9, 9, 49, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95,
- 70, 65, 67, 69, 95, 83, 69, 76, 9, 9, 9, 50, 13, 10, 9, 9, 9, 9, 9, 9, 47, 42, 32,102,108, 97,103, 32, 77, 69, 95, 72,
- 73, 68, 69, 61, 61, 49, 54, 32,105,115, 32,117,115,101,100, 32,104,101,114,101, 32,116,111,111, 32, 42, 47, 32, 13, 10, 47, 42,
- 32,109,115,101,108,101, 99,116, 45, 62,116,121,112,101, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 83,
- 69,108, 9, 48, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 83, 69,108, 32, 49, 13, 10, 35,100,101,102,105,110,101,
- 32, 77, 69, 95, 70, 83, 69, 76, 32, 50, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,102,108, 97,103, 32, 42, 47,
- 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 69, 67, 84, 9, 49, 32, 47, 42, 32,117,115,101, 32, 77, 70, 97,
- 99,101, 32,104,105,100,101, 32,102,108, 97,103, 32, 40, 97,102,116,101,114, 32, 50, 46, 52, 51, 41, 44, 32,115,104,111,117,108,
-100, 32, 98,101, 32, 97, 98,108,101, 32,116,111, 32,114,101,117,115,101, 32, 97,102,116,101,114, 32, 50, 46, 52, 52, 32, 42, 47,
- 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 67, 84, 73, 86, 69, 9, 50, 32, 47, 42, 32,100,101,112,114,101, 99, 97,
-116,101,100, 33, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 49, 9, 9, 52, 13, 10, 35,100,101,
-102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 50, 9, 9, 56, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 51,
- 9, 9, 49, 54, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 52, 9, 9, 51, 50, 13, 10, 35,100,101,102,105,
-110,101, 32, 84, 70, 95, 72, 73, 68, 69, 9, 9, 54, 52, 32, 47, 42, 32,117,110,117,115,101,100, 44, 32,115, 97,109,101, 32, 97,
-115, 32, 84, 70, 95, 83, 69, 76, 69, 67, 84, 32, 42, 47, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,109,111,100,
-101, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 89, 78, 65, 77, 73, 67, 9, 9, 49, 13, 10, 35,100,101,
-102,105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 83, 79, 82, 84, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 84, 69, 88, 9, 9, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 82, 69, 68, 86, 69, 82, 84, 9, 56,
- 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 76, 73, 71, 72, 84, 9, 9, 49, 54, 13, 10, 13, 10, 35,100,101,102,105,110,
-101, 32, 84, 70, 95, 83, 72, 65, 82, 69, 68, 67, 79, 76, 9, 54, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 84, 73,
- 76, 69, 83, 9, 9, 49, 50, 56, 9, 9, 47, 42, 32,100,101,112,114,101, 99, 97,116,101,100, 32, 42, 47, 13, 10, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68, 9, 50, 53, 54, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 84, 87, 79, 83, 73, 68, 69, 9, 9, 53, 49, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 73, 78, 86, 73, 83, 73,
- 66, 76, 69, 9, 49, 48, 50, 52, 13, 10, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 79, 66, 67, 79, 76, 9, 9, 50, 48,
- 52, 56, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68, 50, 9, 52, 48, 57, 54, 9, 47,
- 42, 32,119,105,116,104, 32, 90, 32, 97,120,105,115, 32, 99,111,110,115,116,114, 97,105,110,116, 32, 42, 47, 13, 10, 35,100,101,
-102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 68, 79, 87, 9, 9, 56, 49, 57, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 66, 77, 70, 79, 78, 84, 9, 9, 49, 54, 51, 56, 52, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,116,114, 97,
-110,115,112, 44, 32,118, 97,108,117,101,115, 32, 49, 45, 52, 32, 97,114,101, 32,117,115,101,100, 32, 97,115, 32,102,108, 97,103,
-115, 32,105,110, 32,116,104,101, 32, 71, 76, 44, 32, 87, 65, 82, 78, 73, 78, 71, 44, 32, 84, 70, 95, 83, 85, 66, 32, 99, 97,110,
-116, 32,119,111,114,107, 32,119,105,116,104, 32,116,104,105,115, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 83, 79, 76, 73, 68, 9, 48, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 68, 68, 9, 9, 49, 13, 10, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 67, 76, 73, 80, 9,
- 9, 52, 32, 47, 42, 32, 99,108,105,112,109, 97,112, 32, 97,108,112,104, 97, 47, 98,105,110, 97,114,121, 32, 97,108,112,104, 97,
- 32, 97,108,108, 32,111,114, 32,110,111,116,104,105,110,103, 33, 32, 42, 47, 13, 10, 13, 10, 47, 42, 32,115,117, 98, 32,105,115,
- 32,110,111,116, 32, 97,118, 97,105,108, 97, 98,108,101, 32,105,110, 32,116,104,101, 32,117,115,101,114, 32,105,110,116,101,114,
-102, 97, 99,101, 32, 97,110,121,109,111,114,101, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 85, 66, 9,
- 9, 51, 13, 10, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,117,110,119,114, 97,112, 32, 42, 47, 13, 10, 35,100,
-101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 49, 9, 49, 13, 10, 35,100,101,102,105,110,101, 32,
- 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 50, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80,
- 82, 69, 67, 65, 84, 69, 68, 51, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69,
- 68, 52, 9, 56, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 49, 9, 9, 32, 32, 32, 32, 49, 54, 13, 10, 35,
-100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 50, 9, 9, 32, 32, 32, 32, 51, 50, 13, 10, 35,100,101,102,105,110,101, 32,
- 84, 70, 95, 80, 73, 78, 51, 9, 32, 32, 32, 9, 9, 54, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 52,
- 9, 32, 32, 32, 32, 9, 49, 50, 56, 13, 10, 13, 10, 35,101,110,100,105,102, 13, 10, 35, 79, 67, 75, 33,110,101, 32, 67,249, 0,
- 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,
-105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,
-118,101,108, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114,
- 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,
-100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,
-107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,
-102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,
-105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,
-116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,
-116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,
-104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101,
- 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104,
- 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114,
- 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104,
- 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,
-109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,
-116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,
-101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,
-116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109,
- 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101,
- 0, 98, 68,101,102,111,114,109, 71,114,111,117,112, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 66,117,108,108,
-101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,111,102,116, 66,111,100,121, 0,
- 79, 98, 72,111,111,107, 0, 82, 78, 71, 0, 80, 84, 67, 97, 99,104,101, 77,101,109, 0, 83, 66, 86,101,114,116,101,120, 0, 66,
-111,100,121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 87,111,
-114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,
-111,100,101, 99, 68, 97,116, 97, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,
-116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,
-101,110,100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 84,105,109,101, 77, 97,114,
-107,101,114, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 66,114,117,115,104, 0, 80, 97,114,
-116,105, 99,108,101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,
-110,103,115, 0, 84,114, 97,110,115,102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0,
- 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 86, 80, 97,105,110,116, 0, 84,111,111,108, 83,101,116,116,105,110,103,
-115, 0, 98, 83,116, 97,116,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116,115, 0, 68, 97,103, 70,
-111,114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 98, 71, 80,100, 97,116, 97,
- 0, 82,101,110,100,101,114, 73,110,102,111, 0, 82,101,116,111,112,111, 86,105,101,119, 68, 97,116, 97, 0, 86,105,101,119, 68,
-101,112,116,104,115, 0, 83,109,111,111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,
-101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0,
- 98, 83, 99,114,101,101,110, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,
-101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0,
- 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,
-108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,
-101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,
-112, 97, 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,
-101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, 76,111,103,105, 99, 0, 83,112, 97, 99,101,
- 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111,108,101, 0,
-117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,
-103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,
-101,109,101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0,
- 98, 84,104,101,109,101, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 83, 99,114, 86,101,114,
-116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,
-117,116, 0, 72,101, 97,100,101,114, 0, 72,101, 97,100,101,114, 84,121,112,101, 0, 77,101,110,117, 0, 77,101,110,117, 84,121,
-112,101, 0, 83, 99,114, 65,114,101, 97, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,
-103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 84, 83,
-116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,
-109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,
-116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0, 98, 83,111,117,110,100, 0,104,
-100, 97,117,100,105,111, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,
-114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0,
- 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102,
- 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,
-114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,
-117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,
-114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121,
- 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,
-110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 77,
-101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114,
- 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116,
- 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,
-116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 98, 83,111,117,110,100,
- 65, 99,116,117, 97,116,111,114, 0, 98, 67, 68, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116,
- 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,
-121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,
-116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,
-110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,
-109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101,
- 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,
-111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,114,
- 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 70,114,101,101, 67, 97,109,101,114, 97, 0, 98, 83, 97,109,112,
-108,101, 0, 98, 83,111,117,110,100, 76,105,115,116,101,110,101,114, 0, 83,112, 97, 99,101, 83,111,117,110,100, 0, 71,114,111,
-117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 80,111,115,101, 67,104, 97,
-110,110,101,108, 0, 98, 65, 99,116,105,111,110, 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65,
- 99,116,105,111,110, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0,
- 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,
-121,116,104,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114,
- 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 97,116,101, 76,
-105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,
-105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,
-111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,
-107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80, 97,116,104, 67,111,110,115,
-116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,105,103,
-105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108, 97,109,112, 84,111, 67,111,
-110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,
-110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114,
- 97,105,110,116, 0, 98, 82,111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,
-109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,
-110,116, 0, 98, 83,104,114,105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110,
- 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107,
- 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 0, 98, 78,111,
-100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,
-109, 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,
-101, 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,
-100,101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,
-115, 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,
-101, 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,
-116, 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101,
- 76,101,110,115, 68,105,115,116, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,
-111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68,
- 97,116, 97, 76, 97,121,101,114, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 67,104,105,
-108,100, 80, 97,114,116,105, 99,108,101, 0, 75,101,121,101,100, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80,
- 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 80, 97,114,
-116,105, 99,108,101, 69,100,105,116, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 76,105,110,107, 78,
-111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114,
- 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 0, 82,101,112,111,114,116, 76,105,115,116, 0,
-119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 69,118,101,110,116,
- 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121,109, 97,112, 73,
-116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,
-111,114, 84,121,112,101, 0, 70, 77,111,100,105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0,
- 70, 77,111,100, 95, 70,117,110, 99,116,105,111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,
-111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,
-115, 0, 70, 77,111,100, 95, 80,121,116,104,111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,
-111,105,115,101, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 67,104, 97,110,110,101,108, 68,114,105,118,101,114, 0,
- 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,
-112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,
-101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101, 0, 73,100, 65,100,116, 84,101,109,112,108,
- 97,116,101, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 8, 0, 12, 0,
- 8, 0, 4, 0, 8, 0, 8, 0, 16, 0, 12, 0, 12, 0, 24, 0, 16, 0, 16, 0, 32, 0, 16, 0, 16, 0, 20, 0, 76, 0, 52, 0,
- 40, 2, 0, 0, 32, 0,140, 0, 92, 3, 92, 0, 36, 0, 56, 0, 84, 0,112, 0,124, 0, 48, 0, 16, 0, 24, 0, 40, 0,120, 0,
- 12, 0,136, 0, 36, 0,220, 4,128, 1, 0, 0, 0, 0, 0, 0,136, 0, 24, 1, 84, 1, 24, 0, 8, 3,168, 0, 0, 0,140, 0,
-132, 0,132, 1, 8, 1, 56, 0,112, 2, 76, 0, 60, 1, 0, 0,108, 0,104, 0,140, 0, 56, 0, 8, 0, 16, 0, 76, 1, 0, 0,
- 0, 0, 0, 0, 24, 1, 20, 0, 44, 0, 60, 0, 24, 0, 12, 0, 12, 0, 4, 0, 8, 0, 8, 0, 0, 0, 24, 0, 76, 0, 32, 0,
- 8, 0, 12, 0, 8, 0, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 12, 0, 0, 0, 16, 0, 64, 0, 24, 0, 12, 0, 40, 0, 56, 0,
- 72, 0, 92, 0,100, 0, 72, 0,100, 0,120, 0, 68, 0, 64, 0,112, 0, 64, 0,152, 0,156, 0, 64, 0, 96, 0,108, 0,188, 0,
-104, 0,184, 0, 56, 0, 76, 0, 0, 0,132, 0, 28, 0,232, 0,104, 0, 0, 0, 64, 0, 0, 0, 0, 0, 68, 0, 8, 0, 8, 0,
-220, 0, 80, 0, 76, 1, 76, 0, 68, 0, 68, 0, 64, 0,164, 1,112, 0,108, 0,188, 0, 40, 0, 92, 0, 56, 0,120, 0,128, 0,
-152, 0,208, 0, 0, 0, 24, 0, 16, 0, 0, 0, 0, 0, 0, 0,112, 1, 28, 0,176, 0,144, 0, 52, 0, 16, 0, 72, 0,224, 3,
- 56, 0, 16, 0, 80, 0, 16, 0,196, 0, 8, 0, 84, 0, 80, 0, 32, 0, 0, 0, 32, 0, 36, 1, 32, 0, 24, 2, 0, 0, 0, 0,
- 56, 0,216, 2, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 40, 0,136, 0, 48, 0,140, 0,196, 0, 20, 0,232, 0,
-204, 0,124, 1, 52, 0, 0, 0, 92, 0, 0, 0,248, 0, 12, 0, 12, 0,136, 0,188, 0,124, 2, 80, 2, 40, 0,168, 0,232, 0,
- 52, 0,136, 2, 28, 0, 80, 0, 16, 1, 32, 0,224, 0, 32, 0, 32, 0, 48, 2, 16, 1, 16, 0,152, 20, 56, 0, 40, 11, 20, 0,
- 24, 0, 56, 1, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0,112, 0, 0, 0,236, 0, 0, 0, 32, 0, 80, 0, 28, 0, 16, 0,
- 8, 0, 52, 0,252, 0,240, 0,168, 1,196, 0, 28, 1, 0, 0, 16, 0, 12, 0, 24, 0, 48, 0, 16, 0, 20, 0, 16, 0, 24, 0,
- 56, 1, 0, 0, 56, 0, 64, 0, 48, 0, 8, 0, 44, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 68, 0,
- 76, 0, 80, 0, 60, 0,128, 0, 76, 0, 60, 0, 12, 0, 92, 0, 28, 0, 20, 0, 80, 0, 16, 0, 76, 0,108, 0, 84, 0, 28, 0,
- 96, 0, 60, 0, 56, 0,108, 0,140, 0, 4, 0, 20, 0, 12, 0, 8, 0, 40, 0, 0, 0, 68, 0,184, 0, 24, 0, 4, 1,120, 0,
-172, 1,104, 0,216, 0, 64, 0, 44, 0, 64, 0,116, 0, 60, 0,104, 0, 52, 0, 44, 0, 44, 0, 68, 0, 44, 0, 64, 0, 44, 0,
- 20, 0, 52, 0, 96, 0, 12, 0,108, 0, 92, 0, 28, 0, 28, 0, 28, 0, 52, 0, 20, 0, 60, 0,140, 0, 36, 0,120, 0, 32, 0,
-208, 0, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 0, 16, 1, 40, 0, 8, 0, 8, 0, 64, 0, 32, 0, 24, 0, 8, 0,
- 24, 0, 32, 0, 8, 0, 32, 0, 12, 0, 44, 0, 20, 0, 68, 0, 24, 0, 56, 0, 72, 0, 28, 0,252, 0,244, 1, 0, 0, 0, 0,
- 0, 0, 16, 0, 20, 0, 24, 0,172, 0, 24, 0, 24, 0,140, 0,148, 0, 56, 0, 0, 0, 0, 0, 92, 0, 0, 0, 88, 0, 0, 0,
- 88, 0, 20, 0, 24, 0, 16, 0, 20, 0, 8, 0, 8, 0, 24, 0, 20, 0, 88, 0, 24, 1, 16, 0, 68, 0, 0, 1, 20, 0,152, 0,
- 88, 0, 96, 0, 88, 0, 20, 0, 56, 0, 0, 0, 83, 84, 82, 67,104, 1, 0, 0, 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0,
- 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0, 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0,
- 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 4, 0, 5, 0, 4, 0, 6, 0, 15, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,
- 16, 0, 2, 0, 8, 0, 5, 0, 8, 0, 6, 0, 17, 0, 3, 0, 4, 0, 5, 0, 4, 0, 6, 0, 4, 0, 7, 0, 18, 0, 3, 0,
- 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 19, 0, 3, 0, 8, 0, 5, 0, 8, 0, 6, 0, 8, 0, 7, 0, 20, 0, 4, 0,
- 4, 0, 5, 0, 4, 0, 6, 0, 4, 0, 7, 0, 4, 0, 8, 0, 21, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0,
- 7, 0, 8, 0, 22, 0, 4, 0, 8, 0, 5, 0, 8, 0, 6, 0, 8, 0, 7, 0, 8, 0, 8, 0, 23, 0, 4, 0, 4, 0, 9, 0,
- 4, 0, 10, 0, 4, 0, 11, 0, 4, 0, 12, 0, 24, 0, 4, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0,
- 25, 0, 4, 0, 9, 0, 13, 0, 12, 0, 14, 0, 4, 0, 15, 0, 4, 0, 16, 0, 26, 0, 10, 0, 26, 0, 0, 0, 26, 0, 1, 0,
- 0, 0, 17, 0, 0, 0, 18, 0, 2, 0, 19, 0, 0, 0, 20, 0, 4, 0, 21, 0, 25, 0, 22, 0, 4, 0, 23, 0, 4, 0, 24, 0,
- 27, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0, 27, 0, 25, 0, 28, 0, 26, 0, 0, 0, 27, 0, 2, 0, 28, 0, 2, 0, 19, 0,
- 4, 0, 29, 0, 26, 0, 30, 0, 28, 0, 8, 0, 27, 0, 31, 0, 27, 0, 32, 0, 29, 0, 33, 0, 0, 0, 34, 0, 0, 0, 35, 0,
- 4, 0, 36, 0, 4, 0, 37, 0, 28, 0, 38, 0, 30, 0, 6, 0, 4, 0, 39, 0, 4, 0, 40, 0, 2, 0, 41, 0, 2, 0, 42, 0,
- 2, 0, 43, 0, 4, 0, 44, 0, 31, 0, 6, 0, 32, 0, 45, 0, 2, 0, 46, 0, 2, 0, 47, 0, 2, 0, 17, 0, 2, 0, 19, 0,
- 0, 0, 48, 0, 33, 0, 21, 0, 33, 0, 0, 0, 33, 0, 1, 0, 34, 0, 49, 0, 35, 0, 50, 0, 24, 0, 51, 0, 24, 0, 52, 0,
- 2, 0, 46, 0, 2, 0, 47, 0, 2, 0, 53, 0, 2, 0, 54, 0, 2, 0, 55, 0, 2, 0, 56, 0, 2, 0, 19, 0, 2, 0, 57, 0,
- 7, 0, 11, 0, 7, 0, 12, 0, 4, 0, 58, 0, 7, 0, 59, 0, 7, 0, 60, 0, 7, 0, 61, 0, 31, 0, 62, 0, 36, 0, 7, 0,
- 27, 0, 31, 0, 12, 0, 63, 0, 24, 0, 64, 0, 2, 0, 46, 0, 2, 0, 65, 0, 2, 0, 66, 0, 2, 0, 37, 0, 37, 0, 16, 0,
- 37, 0, 0, 0, 37, 0, 1, 0, 7, 0, 67, 0, 7, 0, 61, 0, 2, 0, 17, 0, 2, 0, 47, 0, 2, 0, 68, 0, 2, 0, 19, 0,
- 4, 0, 69, 0, 4, 0, 70, 0, 9, 0, 2, 0, 7, 0, 71, 0, 0, 0, 20, 0, 0, 0, 72, 0, 7, 0, 73, 0, 7, 0, 74, 0,
- 38, 0, 13, 0, 27, 0, 31, 0, 39, 0, 75, 0, 37, 0, 76, 0, 0, 0, 77, 0, 4, 0, 78, 0, 7, 0, 61, 0, 12, 0, 79, 0,
- 36, 0, 80, 0, 27, 0, 81, 0, 2, 0, 17, 0, 2, 0, 82, 0, 2, 0, 83, 0, 2, 0, 19, 0, 40, 0, 5, 0, 27, 0, 84, 0,
- 2, 0, 85, 0, 2, 0, 86, 0, 2, 0, 87, 0, 4, 0, 37, 0, 41, 0, 6, 0, 41, 0, 0, 0, 41, 0, 1, 0, 0, 0, 88, 0,
- 0, 0, 89, 0, 4, 0, 23, 0, 4, 0, 90, 0, 42, 0, 10, 0, 42, 0, 0, 0, 42, 0, 1, 0, 4, 0, 91, 0, 4, 0, 92, 0,
- 4, 0, 93, 0, 4, 0, 43, 0, 4, 0, 14, 0, 4, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 43, 0, 15, 0, 27, 0, 31, 0,
- 0, 0, 97, 0, 4, 0, 94, 0, 4, 0, 98, 0, 12, 0, 99, 0, 41, 0,100, 0, 41, 0,101, 0, 4, 0,102, 0, 4, 0,103, 0,
- 12, 0,104, 0, 0, 0,105, 0, 4, 0,106, 0, 4, 0,107, 0, 9, 0,108, 0, 8, 0,109, 0, 44, 0, 3, 0, 4, 0,110, 0,
- 4, 0,111, 0, 9, 0, 2, 0, 45, 0, 21, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0, 17, 0, 2, 0, 19, 0, 7, 0,112, 0,
- 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0,116, 0, 7, 0,117, 0, 7, 0,118, 0, 7, 0,119, 0, 7, 0,120, 0,
- 7, 0,121, 0, 7, 0,122, 0, 2, 0,123, 0, 2, 0,124, 0, 7, 0,125, 0, 36, 0, 80, 0, 40, 0,126, 0, 32, 0,127, 0,
- 46, 0, 13, 0, 4, 0,128, 0, 4, 0,129, 0, 4, 0,130, 0, 4, 0,131, 0, 2, 0,132, 0, 2, 0,133, 0, 2, 0, 19, 0,
- 2, 0,134, 0, 2, 0,135, 0, 2, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 47, 0,139, 0, 48, 0, 32, 0, 27, 0, 31, 0,
- 0, 0, 34, 0, 12, 0,140, 0, 49, 0,141, 0, 50, 0,142, 0, 51, 0,143, 0, 2, 0,134, 0, 2, 0, 19, 0, 2, 0,144, 0,
- 2, 0, 17, 0, 2, 0, 37, 0, 2, 0, 43, 0, 4, 0,145, 0, 2, 0,146, 0, 2, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0,
- 2, 0,150, 0, 2, 0,151, 0, 4, 0,152, 0, 4, 0,153, 0, 44, 0,154, 0, 30, 0,155, 0, 0, 0,156, 0, 7, 0,157, 0,
- 4, 0,158, 0, 2, 0,159, 0, 2, 0,160, 0, 2, 0,161, 0, 2, 0,162, 0, 7, 0,163, 0, 7, 0,164, 0, 52, 0, 31, 0,
- 2, 0,165, 0, 2, 0,166, 0, 2, 0,167, 0, 2, 0,168, 0, 32, 0,169, 0, 53, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0,
- 0, 0,173, 0, 0, 0,174, 0, 0, 0,175, 0, 7, 0,176, 0, 7, 0,177, 0, 2, 0,178, 0, 2, 0,179, 0, 2, 0,180, 0,
- 2, 0,181, 0, 2, 0,182, 0, 2, 0,183, 0, 2, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0,
- 7, 0,189, 0, 7, 0, 57, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, 54, 0, 15, 0,
- 0, 0,195, 0, 9, 0,196, 0, 0, 0,197, 0, 0, 0,198, 0, 4, 0,199, 0, 4, 0,200, 0, 9, 0,201, 0, 7, 0,202, 0,
- 7, 0,203, 0, 7, 0,204, 0, 4, 0,205, 0, 9, 0,206, 0, 9, 0,207, 0, 4, 0,208, 0, 4, 0, 37, 0, 55, 0, 6, 0,
- 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,209, 0, 7, 0, 67, 0, 4, 0, 64, 0, 56, 0, 5, 0, 2, 0, 19, 0,
- 2, 0, 36, 0, 2, 0, 64, 0, 2, 0,210, 0, 55, 0,204, 0, 57, 0, 17, 0, 32, 0,169, 0, 48, 0,211, 0, 58, 0,212, 0,
- 7, 0,213, 0, 7, 0,214, 0, 2, 0, 17, 0, 2, 0,215, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0,216, 0, 4, 0,217, 0,
- 2, 0,218, 0, 2, 0,219, 0, 4, 0,134, 0, 4, 0,145, 0, 2, 0,220, 0, 2, 0,221, 0, 53, 0, 57, 0, 27, 0, 31, 0,
- 39, 0, 75, 0, 7, 0,222, 0, 7, 0,223, 0, 7, 0,224, 0, 7, 0,225, 0, 7, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0,
- 7, 0,229, 0, 7, 0,230, 0, 7, 0,231, 0, 7, 0,232, 0, 7, 0,233, 0, 7, 0,234, 0, 7, 0,235, 0, 7, 0,236, 0,
- 7, 0,237, 0, 7, 0,238, 0, 7, 0,239, 0, 7, 0,240, 0, 7, 0,241, 0, 2, 0,242, 0, 2, 0,243, 0, 2, 0,244, 0,
- 2, 0,245, 0, 2, 0,246, 0, 2, 0,247, 0, 2, 0,248, 0, 2, 0, 19, 0, 2, 0, 17, 0, 2, 0,215, 0, 7, 0,249, 0,
- 7, 0,250, 0, 7, 0,251, 0, 7, 0,252, 0, 2, 0,253, 0, 2, 0,254, 0, 2, 0,255, 0, 2, 0,132, 0, 4, 0, 23, 0,
- 4, 0,129, 0, 4, 0,130, 0, 4, 0,131, 0, 7, 0, 0, 1, 7, 0, 1, 1, 7, 0,191, 0, 46, 0, 2, 1, 59, 0, 3, 1,
- 36, 0, 80, 0, 48, 0,211, 0, 54, 0, 4, 1, 56, 0, 5, 1, 57, 0, 6, 1, 30, 0,155, 0, 0, 0, 7, 1, 0, 0, 8, 1,
- 60, 0, 8, 0, 7, 0, 9, 1, 7, 0, 10, 1, 7, 0,177, 0, 4, 0, 19, 0, 7, 0, 11, 1, 7, 0, 12, 1, 7, 0, 13, 1,
- 32, 0, 45, 0, 61, 0, 81, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0, 17, 0, 2, 0, 19, 0, 4, 0, 14, 1, 2, 0,179, 0,
- 2, 0, 15, 1, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0, 16, 1, 7, 0, 17, 1, 7, 0, 18, 1,
- 7, 0, 19, 1, 7, 0, 20, 1, 7, 0, 21, 1, 7, 0, 22, 1, 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1,
- 62, 0, 27, 1, 2, 0, 28, 1, 2, 0, 70, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 31, 1,
- 2, 0, 32, 1, 2, 0, 33, 1, 2, 0, 34, 1, 2, 0, 35, 1, 0, 0, 36, 1, 0, 0, 37, 1, 2, 0, 38, 1, 2, 0, 39, 1,
- 2, 0, 40, 1, 2, 0, 41, 1, 2, 0, 42, 1, 7, 0, 43, 1, 7, 0, 44, 1, 7, 0, 45, 1, 7, 0, 46, 1, 2, 0, 47, 1,
- 2, 0, 43, 0, 2, 0, 48, 1, 2, 0, 49, 1, 2, 0, 50, 1, 2, 0, 51, 1, 7, 0, 52, 1, 7, 0, 53, 1, 7, 0, 54, 1,
- 7, 0, 55, 1, 7, 0, 56, 1, 7, 0, 57, 1, 7, 0, 58, 1, 7, 0, 59, 1, 7, 0, 60, 1, 7, 0, 61, 1, 7, 0, 62, 1,
- 7, 0, 63, 1, 2, 0, 64, 1, 2, 0, 65, 1, 4, 0, 66, 1, 4, 0, 67, 1, 2, 0, 68, 1, 2, 0, 69, 1, 2, 0, 70, 1,
- 2, 0, 71, 1, 7, 0, 72, 1, 7, 0, 73, 1, 7, 0, 74, 1, 7, 0, 75, 1, 2, 0, 76, 1, 2, 0, 77, 1, 52, 0, 78, 1,
- 36, 0, 80, 0, 30, 0,155, 0, 40, 0,126, 0, 63, 0, 2, 0, 27, 0, 31, 0, 36, 0, 80, 0, 64, 0,130, 0, 27, 0, 31, 0,
- 39, 0, 75, 0, 2, 0, 79, 1, 2, 0, 19, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0, 80, 1, 7, 0, 81, 1,
- 7, 0, 82, 1, 7, 0, 83, 1, 7, 0, 84, 1, 7, 0, 85, 1, 7, 0, 86, 1, 7, 0, 87, 1, 7, 0, 88, 1, 7, 0, 89, 1,
- 7, 0, 90, 1, 7, 0, 91, 1, 7, 0, 92, 1, 7, 0, 93, 1, 7, 0, 94, 1, 7, 0, 95, 1, 7, 0, 96, 1, 7, 0, 97, 1,
- 7, 0, 98, 1, 7, 0, 99, 1, 7, 0,100, 1, 7, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1, 7, 0,105, 1,
- 7, 0,106, 1, 2, 0,107, 1, 2, 0,108, 1, 2, 0,109, 1, 0, 0,110, 1, 0, 0,111, 1, 7, 0,112, 1, 7, 0,113, 1,
- 2, 0,114, 1, 2, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 2, 0,120, 1, 2, 0,121, 1,
- 4, 0, 14, 1, 4, 0,122, 1, 2, 0,123, 1, 2, 0,124, 1, 2, 0,125, 1, 2, 0,126, 1, 7, 0,127, 1, 7, 0,128, 1,
- 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1, 7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1,
- 0, 0,137, 1, 7, 0,138, 1, 7, 0,139, 1, 7, 0,140, 1, 4, 0,141, 1, 0, 0,142, 1, 0, 0, 48, 1, 0, 0,143, 1,
- 0, 0, 7, 1, 2, 0,144, 1, 2, 0,145, 1, 2, 0, 65, 1, 2, 0,146, 1, 2, 0,147, 1, 2, 0,148, 1, 7, 0,149, 1,
- 7, 0,150, 1, 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 2, 0,165, 0, 2, 0,166, 0, 56, 0,154, 1, 56, 0,155, 1,
- 0, 0,156, 1, 0, 0,157, 1, 0, 0,158, 1, 0, 0,159, 1, 2, 0,160, 1, 2, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1,
- 52, 0, 78, 1, 59, 0, 3, 1, 36, 0, 80, 0, 65, 0,164, 1, 30, 0,155, 0, 7, 0,165, 1, 7, 0,166, 1, 7, 0,167, 1,
- 7, 0,168, 1, 7, 0,169, 1, 2, 0,170, 1, 2, 0, 70, 0, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, 7, 0,174, 1,
- 7, 0,175, 1, 7, 0,176, 1, 7, 0,177, 1, 7, 0,178, 1, 7, 0,179, 1, 2, 0,180, 1, 2, 0,181, 1, 7, 0,182, 1,
- 7, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 4, 0,187, 1, 4, 0,188, 1, 4, 0,189, 1, 40, 0,126, 0,
- 12, 0,190, 1, 66, 0, 4, 0, 27, 0, 31, 0, 0, 0,191, 1, 67, 0, 2, 0, 44, 0,154, 0, 68, 0, 26, 0, 68, 0, 0, 0,
- 68, 0, 1, 0, 69, 0,192, 1, 4, 0,193, 1, 4, 0,194, 1, 4, 0,195, 1, 4, 0,196, 1, 4, 0,197, 1, 4, 0,198, 1,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,199, 1, 2, 0,200, 1, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 7, 0,201, 1,
- 7, 0,202, 1, 7, 0,203, 1, 7, 0,204, 1, 7, 0,205, 1, 7, 0,206, 1, 7, 0,207, 1, 7, 0, 23, 0, 7, 0,208, 1,
- 7, 0,209, 1, 70, 0, 16, 0, 27, 0, 31, 0, 69, 0,192, 1, 12, 0,210, 1, 12, 0,211, 1, 12, 0,212, 1, 36, 0, 80, 0,
- 64, 0,213, 1, 2, 0, 19, 0, 2, 0,214, 1, 4, 0,178, 0, 7, 0, 9, 1, 7, 0,177, 0, 7, 0, 10, 1, 7, 0,215, 1,
- 7, 0,216, 1, 7, 0,217, 1, 35, 0, 11, 0, 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 2, 0, 55, 0,
- 0, 0,222, 1, 0, 0,223, 1, 0, 0,224, 1, 0, 0,225, 1, 0, 0,226, 1, 0, 0,227, 1, 34, 0, 7, 0, 7, 0,228, 1,
- 7, 0,219, 1, 7, 0,220, 1, 2, 0,224, 1, 2, 0,227, 1, 7, 0,221, 1, 7, 0, 37, 0, 71, 0, 21, 0, 71, 0, 0, 0,
- 71, 0, 1, 0, 2, 0, 17, 0, 2, 0,229, 1, 2, 0,227, 1, 2, 0, 19, 0, 2, 0,230, 1, 2, 0,231, 1, 2, 0,232, 1,
- 2, 0,233, 1, 2, 0,234, 1, 2, 0,235, 1, 2, 0,236, 1, 2, 0,237, 1, 7, 0,238, 1, 7, 0,239, 1, 34, 0, 49, 0,
- 35, 0, 50, 0, 2, 0,240, 1, 2, 0,241, 1, 4, 0,242, 1, 72, 0, 5, 0, 2, 0,243, 1, 2, 0,229, 1, 0, 0, 19, 0,
- 0, 0, 37, 0, 2, 0, 70, 0, 73, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 8, 0, 7, 0,244, 1, 74, 0, 62, 0,
- 27, 0, 31, 0, 39, 0, 75, 0, 69, 0,192, 1, 12, 0,245, 1, 12, 0,211, 1, 12, 0,246, 1, 32, 0,247, 1, 32, 0,248, 1,
- 32, 0,249, 1, 36, 0, 80, 0, 75, 0,250, 1, 38, 0,251, 1, 64, 0,213, 1, 12, 0,252, 1, 7, 0, 9, 1, 7, 0,177, 0,
- 7, 0, 10, 1, 4, 0,178, 0, 2, 0,253, 1, 2, 0,214, 1, 2, 0, 19, 0, 2, 0,254, 1, 7, 0,255, 1, 7, 0, 0, 2,
- 7, 0, 1, 2, 2, 0,232, 1, 2, 0,233, 1, 2, 0, 2, 2, 2, 0, 3, 2, 4, 0, 4, 2, 34, 0, 5, 2, 2, 0, 23, 0,
- 2, 0, 99, 0, 2, 0, 67, 0, 2, 0, 6, 2, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 11, 2,
- 7, 0, 12, 2, 7, 0, 13, 2, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0, 16, 2, 0, 0, 17, 2, 76, 0, 18, 2, 77, 0, 19, 2,
- 0, 0, 20, 2, 66, 0, 21, 2, 66, 0, 22, 2, 66, 0, 23, 2, 66, 0, 24, 2, 4, 0, 25, 2, 7, 0, 26, 2, 4, 0, 27, 2,
- 4, 0, 28, 2, 73, 0, 29, 2, 4, 0, 30, 2, 4, 0, 31, 2, 72, 0, 32, 2, 72, 0, 33, 2, 78, 0, 39, 0, 27, 0, 31, 0,
- 69, 0,192, 1, 12, 0, 34, 2, 36, 0, 80, 0, 38, 0,251, 1, 64, 0,213, 1, 79, 0, 35, 2, 80, 0, 36, 2, 81, 0, 37, 2,
- 82, 0, 38, 2, 83, 0, 39, 2, 84, 0, 40, 2, 85, 0, 41, 2, 86, 0, 42, 2, 78, 0, 43, 2, 87, 0, 44, 2, 88, 0, 45, 2,
- 89, 0, 46, 2, 89, 0, 47, 2, 89, 0, 48, 2, 4, 0, 54, 0, 4, 0, 49, 2, 4, 0, 50, 2, 4, 0, 51, 2, 4, 0, 52, 2,
- 4, 0,178, 0, 7, 0, 9, 1, 7, 0,177, 0, 7, 0, 10, 1, 7, 0, 53, 2, 4, 0, 54, 2, 2, 0, 55, 2, 2, 0, 19, 0,
- 2, 0, 56, 2, 2, 0, 57, 2, 2, 0,214, 1, 2, 0, 58, 2, 90, 0, 59, 2, 91, 0, 60, 2, 81, 0, 8, 0, 9, 0, 61, 2,
- 7, 0, 62, 2, 4, 0, 63, 2, 0, 0, 19, 0, 0, 0, 64, 2, 2, 0, 14, 1, 2, 0, 65, 2, 2, 0, 66, 2, 79, 0, 7, 0,
- 4, 0, 67, 2, 4, 0, 68, 2, 4, 0, 69, 2, 4, 0, 70, 2, 2, 0,229, 1, 0, 0, 71, 2, 0, 0, 19, 0, 83, 0, 5, 0,
- 4, 0, 67, 2, 4, 0, 68, 2, 0, 0, 72, 2, 0, 0, 73, 2, 2, 0, 19, 0, 92, 0, 2, 0, 4, 0, 74, 2, 7, 0,220, 1,
- 84, 0, 3, 0, 92, 0, 75, 2, 4, 0, 76, 2, 4, 0, 19, 0, 82, 0, 6, 0, 7, 0, 77, 2, 2, 0, 78, 2, 2, 0,229, 1,
- 0, 0, 19, 0, 0, 0, 73, 2, 0, 0,184, 0, 85, 0, 4, 0, 0, 0,209, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,187, 0,
- 93, 0, 6, 0, 48, 0, 61, 2, 0, 0, 19, 0, 0, 0, 64, 2, 2, 0, 14, 1, 2, 0, 65, 2, 2, 0, 66, 2, 94, 0, 1, 0,
- 7, 0, 79, 2, 95, 0, 5, 0, 0, 0,209, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,187, 0, 4, 0, 37, 0, 86, 0, 1, 0,
- 7, 0, 80, 2, 87, 0, 2, 0, 4, 0, 81, 2, 4, 0, 17, 0, 80, 0, 7, 0, 7, 0, 62, 2, 48, 0, 61, 2, 0, 0, 19, 0,
- 0, 0, 64, 2, 2, 0, 14, 1, 2, 0, 65, 2, 2, 0, 66, 2, 96, 0, 1, 0, 7, 0, 82, 2, 97, 0, 1, 0, 4, 0, 83, 2,
- 98, 0, 1, 0, 0, 0, 84, 2, 99, 0, 1, 0, 7, 0, 62, 2,100, 0, 3, 0, 4, 0, 85, 2, 0, 0, 96, 0, 7, 0, 86, 2,
-102, 0, 4, 0, 7, 0,209, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0,103, 0, 1, 0,102, 0, 63, 2,104, 0, 5, 0,
- 4, 0, 87, 2, 4, 0, 88, 2, 0, 0, 19, 0, 0, 0,229, 1, 0, 0,184, 0,105, 0, 2, 0, 4, 0, 89, 2, 4, 0, 88, 2,
-106, 0, 10, 0,106, 0, 0, 0,106, 0, 1, 0,104, 0, 90, 2,103, 0, 91, 2,105, 0, 92, 2, 4, 0, 54, 0, 4, 0, 50, 2,
- 4, 0, 49, 2, 4, 0, 37, 0, 82, 0, 93, 2, 90, 0, 14, 0, 12, 0, 94, 2, 82, 0, 93, 2, 0, 0, 95, 2, 0, 0, 96, 2,
- 0, 0, 97, 2, 0, 0, 98, 2, 0, 0, 99, 2, 0, 0,100, 2, 0, 0,101, 2, 0, 0, 19, 0, 89, 0, 46, 2, 89, 0, 48, 2,
- 2, 0,102, 2, 0, 0,103, 2, 91, 0, 8, 0, 4, 0,104, 2, 4, 0,105, 2, 79, 0,106, 2, 83, 0,107, 2, 4, 0, 50, 2,
- 4, 0, 49, 2, 4, 0, 54, 0, 4, 0, 37, 0,107, 0, 7, 0,107, 0, 0, 0,107, 0, 1, 0, 4, 0, 17, 0, 4, 0, 14, 1,
- 0, 0, 20, 0, 47, 0,139, 0, 0, 0,108, 2,108, 0, 7, 0,107, 0,109, 2, 2, 0,110, 2, 2, 0, 94, 2, 2, 0,111, 2,
- 2, 0, 94, 0, 9, 0,112, 2, 9, 0,113, 2,109, 0, 3, 0,107, 0,109, 2, 32, 0,169, 0, 0, 0, 20, 0,110, 0, 5, 0,
-107, 0,109, 2, 32, 0,169, 0, 0, 0, 20, 0, 2, 0,114, 2, 0, 0,115, 2,111, 0, 5, 0,107, 0,109, 2, 7, 0, 92, 0,
- 7, 0,116, 2, 4, 0,117, 2, 4, 0,118, 2,112, 0, 5, 0,107, 0,109, 2, 32, 0,119, 2, 0, 0, 72, 0, 4, 0, 14, 1,
- 4, 0, 19, 0,113, 0, 13, 0,107, 0,109, 2, 32, 0,120, 2, 32, 0,121, 2, 32, 0,122, 2, 32, 0,123, 2, 7, 0,124, 2,
- 7, 0,125, 2, 7, 0,116, 2, 7, 0,126, 2, 4, 0,127, 2, 4, 0,128, 2, 4, 0, 94, 0, 4, 0,129, 2,114, 0, 5, 0,
-107, 0,109, 2, 2, 0,130, 2, 2, 0, 19, 0, 7, 0,131, 2, 32, 0,132, 2,115, 0, 3, 0,107, 0,109, 2, 7, 0,133, 2,
- 4, 0, 94, 0,116, 0, 10, 0,107, 0,109, 2, 7, 0,134, 2, 4, 0,135, 2, 4, 0, 37, 0, 2, 0, 94, 0, 2, 0,136, 2,
- 2, 0,137, 2, 2, 0,138, 2, 7, 0,139, 2, 0, 0,140, 2,117, 0, 3, 0,107, 0,109, 2, 7, 0, 37, 0, 4, 0, 17, 0,
-118, 0, 11, 0,107, 0,109, 2, 53, 0,141, 2, 7, 0,142, 2, 4, 0,143, 2, 0, 0,140, 2, 7, 0,144, 2, 4, 0,145, 2,
- 32, 0,146, 2, 0, 0,147, 2, 4, 0,148, 2, 4, 0, 37, 0,119, 0, 10, 0,107, 0,109, 2, 32, 0,149, 2, 48, 0,150, 2,
- 4, 0, 94, 0, 4, 0,151, 2, 7, 0,152, 2, 7, 0,153, 2, 0, 0,147, 2, 4, 0,148, 2, 4, 0, 37, 0,120, 0, 3, 0,
-107, 0,109, 2, 7, 0,154, 2, 4, 0,155, 2,121, 0, 5, 0,107, 0,109, 2, 7, 0,156, 2, 0, 0,140, 2, 2, 0, 19, 0,
- 2, 0,157, 2,122, 0, 8, 0,107, 0,109, 2, 32, 0,169, 0, 7, 0,156, 2, 7, 0,221, 1, 7, 0,110, 0, 0, 0,140, 2,
- 2, 0, 19, 0, 2, 0, 17, 0,123, 0, 21, 0,107, 0,109, 2, 32, 0,158, 2, 0, 0,140, 2, 53, 0,141, 2, 32, 0,146, 2,
- 2, 0, 19, 0, 2, 0, 37, 0, 7, 0,159, 2, 7, 0,160, 2, 7, 0,161, 2, 7, 0,255, 1, 7, 0,162, 2, 7, 0,163, 2,
- 7, 0,164, 2, 7, 0,165, 2, 4, 0,145, 2, 4, 0,148, 2, 0, 0,147, 2, 7, 0,166, 2, 7, 0,167, 2, 7, 0, 43, 0,
-124, 0, 7, 0,107, 0,109, 2, 2, 0,168, 2, 2, 0,169, 2, 4, 0, 70, 0, 32, 0,169, 0, 7, 0,170, 2, 0, 0,140, 2,
-125, 0, 9, 0,107, 0,109, 2, 32, 0,169, 0, 7, 0,171, 2, 7, 0,172, 2, 7, 0,165, 2, 4, 0,173, 2, 4, 0,174, 2,
- 7, 0,175, 2, 0, 0, 20, 0,126, 0, 1, 0,107, 0,109, 2,127, 0, 6, 0,107, 0,109, 2, 47, 0,139, 0,128, 0,176, 2,
-129, 0,177, 2,130, 0,178, 2,131, 0,179, 2,132, 0, 14, 0,107, 0,109, 2, 82, 0,180, 2, 82, 0,181, 2, 82, 0,182, 2,
- 82, 0,183, 2, 82, 0,184, 2, 82, 0,185, 2, 79, 0,186, 2, 4, 0,187, 2, 4, 0,188, 2, 2, 0,189, 2, 2, 0, 37, 0,
- 7, 0,190, 2,133, 0,191, 2,134, 0, 3, 0,107, 0,109, 2,135, 0,192, 2,136, 0,191, 2,137, 0, 4, 0,107, 0,109, 2,
- 32, 0,169, 0, 4, 0,193, 2, 4, 0, 37, 0,138, 0, 2, 0, 4, 0,194, 2, 7, 0,220, 1,139, 0, 2, 0, 4, 0,130, 0,
- 4, 0,195, 2,140, 0, 20, 0,107, 0,109, 2, 32, 0,169, 0, 0, 0,140, 2, 2, 0,196, 2, 2, 0,197, 2, 2, 0, 19, 0,
- 2, 0, 37, 0, 7, 0,198, 2, 7, 0,199, 2, 4, 0, 54, 0, 4, 0,200, 2,139, 0,201, 2,138, 0,202, 2, 4, 0,203, 2,
- 4, 0,204, 2, 4, 0,205, 2, 4, 0,195, 2, 7, 0,206, 2, 7, 0,207, 2, 7, 0,208, 2,141, 0, 8, 0,107, 0,109, 2,
-142, 0,209, 2,135, 0,192, 2, 4, 0,210, 2, 4, 0,211, 2, 4, 0,212, 2, 2, 0, 19, 0, 2, 0, 57, 0,143, 0, 8, 0,
-107, 0,109, 2, 32, 0, 45, 0, 2, 0,213, 2, 2, 0, 19, 0, 2, 0,130, 2, 2, 0, 57, 0, 7, 0,214, 2, 7, 0,215, 2,
-144, 0, 5, 0,107, 0,109, 2, 4, 0,216, 2, 2, 0, 19, 0, 2, 0,217, 2, 7, 0,218, 2,145, 0, 7, 0,107, 0,109, 2,
- 82, 0,219, 2, 4, 0,220, 2, 0, 0,221, 2, 0, 0,222, 2, 0, 0,223, 2, 0, 0,224, 2,146, 0, 3, 0,107, 0,109, 2,
-147, 0,225, 2,131, 0,179, 2,148, 0, 10, 0,107, 0,109, 2, 32, 0,226, 2, 32, 0,227, 2, 0, 0,228, 2, 7, 0,229, 2,
- 2, 0,230, 2, 2, 0,231, 2, 0, 0,232, 2, 0, 0,233, 2, 0, 0,115, 2,149, 0, 9, 0,107, 0,109, 2, 32, 0,234, 2,
- 0, 0,228, 2, 7, 0,235, 2, 7, 0,236, 2, 0, 0, 14, 1, 0, 0,130, 2, 0, 0,237, 2, 0, 0, 37, 0,150, 0, 27, 0,
- 27, 0, 31, 0, 2, 0,230, 1, 2, 0,231, 1, 2, 0,238, 2, 2, 0, 19, 0, 2, 0,239, 2, 2, 0,240, 2, 2, 0,241, 2,
- 2, 0, 70, 0, 0, 0,242, 2, 0, 0,243, 2, 0, 0,244, 2, 0, 0, 17, 0, 4, 0, 37, 0, 7, 0,245, 2, 7, 0,246, 2,
- 7, 0,247, 2, 7, 0,248, 2, 7, 0,249, 2, 7, 0,250, 2, 34, 0,251, 2, 36, 0, 80, 0, 38, 0,251, 1, 84, 0, 40, 2,
- 7, 0,252, 2, 7, 0,253, 2,150, 0,254, 2,151, 0, 3, 0,151, 0, 0, 0,151, 0, 1, 0, 0, 0, 20, 0, 69, 0, 3, 0,
- 7, 0,255, 2, 4, 0, 19, 0, 4, 0, 37, 0, 32, 0,112, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0, 17, 0, 2, 0, 0, 3,
- 4, 0, 1, 3, 4, 0, 2, 3, 4, 0, 3, 3, 0, 0, 4, 3, 32, 0, 38, 0, 32, 0, 5, 3, 32, 0, 6, 3, 32, 0, 7, 3,
- 32, 0, 8, 3, 36, 0, 80, 0, 75, 0,250, 1, 69, 0,192, 1,152, 0, 9, 3,152, 0, 10, 3,153, 0, 11, 3, 9, 0, 2, 0,
- 12, 0, 12, 3, 12, 0, 34, 2, 12, 0,211, 1, 12, 0, 13, 3, 12, 0, 14, 3, 64, 0,213, 1, 0, 0, 15, 3, 4, 0,214, 1,
- 4, 0, 16, 3, 7, 0, 9, 1, 7, 0, 17, 3, 7, 0, 18, 3, 7, 0,177, 0, 7, 0, 19, 3, 7, 0, 10, 1, 7, 0, 20, 3,
- 7, 0, 21, 3, 7, 0,171, 2, 7, 0, 22, 3, 7, 0,213, 0, 4, 0, 23, 3, 2, 0, 19, 0, 2, 0, 24, 3, 2, 0, 25, 3,
- 2, 0, 26, 3, 2, 0, 27, 3, 2, 0, 28, 3, 2, 0, 29, 3, 2, 0, 30, 3, 2, 0, 31, 3, 2, 0, 32, 3, 2, 0, 33, 3,
- 2, 0, 34, 3, 4, 0, 35, 3, 4, 0, 36, 3, 4, 0, 37, 3, 4, 0, 38, 3, 7, 0, 39, 3, 7, 0, 26, 2, 7, 0, 40, 3,
- 7, 0, 41, 3, 7, 0, 42, 3, 7, 0, 43, 3, 7, 0, 44, 3, 7, 0, 45, 3, 7, 0, 46, 3, 7, 0, 47, 3, 7, 0, 48, 3,
- 7, 0, 49, 3, 0, 0, 50, 3, 0, 0, 51, 3, 0, 0, 52, 3, 0, 0, 53, 3, 7, 0, 54, 3, 7, 0, 55, 3, 40, 0,126, 0,
- 12, 0, 56, 3, 12, 0, 57, 3, 12, 0, 58, 3, 12, 0, 59, 3, 7, 0, 60, 3, 2, 0, 81, 2, 2, 0, 61, 3, 7, 0, 63, 2,
- 4, 0, 62, 3, 4, 0, 63, 3,154, 0, 64, 3, 2, 0, 65, 3, 2, 0,220, 0, 7, 0, 66, 3, 12, 0, 67, 3, 12, 0, 68, 3,
- 12, 0, 69, 3, 12, 0, 70, 3,155, 0, 71, 3,156, 0, 72, 3, 65, 0, 73, 3, 2, 0, 74, 3, 2, 0, 75, 3, 2, 0, 76, 3,
- 2, 0, 77, 3, 7, 0, 55, 2, 2, 0, 78, 3, 2, 0, 79, 3,147, 0, 80, 3,135, 0, 81, 3,135, 0, 82, 3, 4, 0, 83, 3,
- 4, 0, 84, 3, 4, 0, 85, 3, 4, 0, 70, 0, 12, 0, 86, 3,157, 0, 14, 0,157, 0, 0, 0,157, 0, 1, 0, 32, 0, 38, 0,
- 7, 0,171, 2, 7, 0, 11, 1, 7, 0,172, 2, 7, 0,165, 2, 0, 0, 20, 0, 4, 0,173, 2, 4, 0,174, 2, 4, 0, 87, 3,
- 2, 0, 17, 0, 2, 0, 88, 3, 7, 0,175, 2,155, 0, 36, 0, 2, 0, 89, 3, 2, 0, 90, 3, 2, 0, 19, 0, 2, 0,165, 2,
- 7, 0, 91, 3, 7, 0, 92, 3, 7, 0, 93, 3, 7, 0, 94, 3, 7, 0, 95, 3, 7, 0, 96, 3, 7, 0, 97, 3, 7, 0, 98, 3,
- 7, 0, 99, 3, 7, 0,100, 3, 7, 0,101, 3, 7, 0,102, 3, 7, 0,103, 3, 7, 0,104, 3, 7, 0,105, 3, 7, 0,106, 3,
- 7, 0,107, 3, 7, 0,108, 3, 7, 0,109, 3, 7, 0,110, 3, 7, 0,111, 3, 7, 0,112, 3, 7, 0,113, 3, 7, 0,114, 3,
- 2, 0,115, 3, 2, 0,116, 3, 2, 0,117, 3, 2, 0,118, 3, 53, 0,170, 0,158, 0,119, 3, 7, 0,120, 3, 4, 0,118, 2,
-159, 0, 6, 0,159, 0, 0, 0,159, 0, 1, 0, 4, 0,121, 3, 4, 0,122, 3, 7, 0, 2, 0, 9, 0,123, 3,131, 0, 12, 0,
- 4, 0, 19, 0, 4, 0,124, 3, 4, 0,125, 3, 4, 0,126, 3, 4, 0,127, 3, 4, 0,128, 3, 4, 0,129, 3, 4, 0,130, 3,
- 0, 0,131, 3, 0, 0,132, 3, 0, 0,133, 3, 12, 0,134, 3,160, 0, 1, 0, 7, 0,228, 1,154, 0, 30, 0, 4, 0, 19, 0,
- 7, 0,135, 3, 7, 0,136, 3, 7, 0,137, 3, 4, 0,138, 3, 4, 0,139, 3, 4, 0,140, 3, 4, 0,141, 3, 7, 0,142, 3,
- 7, 0,143, 3, 7, 0,144, 3, 7, 0,145, 3, 7, 0,146, 3, 7, 0,147, 3, 7, 0,148, 3, 7, 0,149, 3, 7, 0,150, 3,
- 7, 0,151, 3, 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,156, 3, 7, 0,157, 3, 7, 0,158, 3,
- 7, 0,159, 3, 4, 0,160, 3, 4, 0,161, 3, 7, 0,162, 3, 7, 0, 46, 3,156, 0, 44, 0,142, 0,163, 3, 4, 0,122, 3,
- 4, 0,164, 3,161, 0,165, 3,162, 0,166, 3, 7, 0, 37, 0, 7, 0,167, 3, 7, 0,168, 3, 7, 0,169, 3, 7, 0,170, 3,
- 7, 0,171, 3, 7, 0,172, 3, 7, 0,173, 3, 7, 0,174, 3, 7, 0,175, 3, 7, 0,176, 3, 2, 0,177, 3, 2, 0,178, 3,
- 7, 0,179, 3, 7, 0,180, 3, 4, 0,131, 0, 4, 0,181, 3, 4, 0,182, 3, 2, 0,183, 3, 2, 0,184, 3,160, 0,185, 3,
- 4, 0,186, 3, 4, 0, 82, 0, 7, 0,187, 3, 7, 0,188, 3, 7, 0,189, 3, 7, 0,190, 3, 2, 0,191, 3, 2, 0,192, 3,
- 2, 0,193, 3, 2, 0,194, 3, 2, 0,195, 3, 2, 0,196, 3, 2, 0,197, 3, 2, 0,198, 3,163, 0,199, 3, 7, 0,200, 3,
- 7, 0,201, 3,131, 0,202, 3,147, 0, 48, 0, 2, 0, 17, 0, 2, 0,203, 3, 2, 0,204, 3, 2, 0,205, 3, 7, 0,206, 3,
- 2, 0,207, 3, 2, 0,208, 3, 7, 0,209, 3, 2, 0,210, 3, 2, 0,211, 3, 7, 0,212, 3, 7, 0,213, 3, 7, 0,214, 3,
- 7, 0,215, 3, 7, 0,216, 3, 7, 0,217, 3, 4, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3, 7, 0,221, 3, 78, 0,222, 3,
- 78, 0,223, 3, 78, 0,224, 3, 0, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3, 36, 0, 80, 0, 2, 0,228, 3, 0, 0,229, 3,
- 0, 0,230, 3, 7, 0,231, 3, 4, 0,232, 3, 7, 0,233, 3, 7, 0,234, 3, 4, 0,235, 3, 4, 0, 19, 0, 7, 0,236, 3,
- 7, 0,237, 3, 7, 0,238, 3, 82, 0,239, 3, 7, 0,240, 3, 7, 0,241, 3, 7, 0,242, 3, 7, 0,243, 3, 7, 0,244, 3,
- 7, 0,245, 3, 7, 0,246, 3, 4, 0,247, 3,164, 0, 72, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0,179, 0, 2, 0, 15, 1,
- 2, 0, 48, 1, 2, 0,248, 3, 7, 0,249, 3, 7, 0,250, 3, 7, 0,251, 3, 7, 0,252, 3, 7, 0,253, 3, 7, 0,254, 3,
- 7, 0,255, 3, 7, 0, 0, 4, 7, 0, 86, 1, 7, 0, 88, 1, 7, 0, 87, 1, 7, 0, 1, 4, 4, 0, 2, 4, 7, 0, 3, 4,
- 7, 0, 4, 4, 7, 0, 5, 4, 7, 0, 6, 4, 7, 0, 7, 4, 7, 0, 8, 4, 7, 0, 9, 4, 2, 0, 10, 4, 2, 0, 14, 1,
- 2, 0, 11, 4, 2, 0, 12, 4, 2, 0, 13, 4, 2, 0, 14, 4, 2, 0, 15, 4, 2, 0, 16, 4, 7, 0, 17, 4, 7, 0, 18, 4,
- 7, 0, 19, 4, 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4, 7, 0, 23, 4, 7, 0, 24, 4, 7, 0, 25, 4, 7, 0, 26, 4,
- 7, 0, 27, 4, 7, 0, 28, 4, 2, 0, 29, 4, 2, 0, 30, 4, 2, 0, 31, 4, 2, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4,
- 7, 0, 35, 4, 7, 0, 36, 4, 2, 0, 37, 4, 2, 0, 38, 4, 2, 0, 39, 4, 2, 0, 40, 4, 7, 0, 41, 4, 7, 0, 42, 4,
- 7, 0, 43, 4, 7, 0, 44, 4, 2, 0, 45, 4, 2, 0, 46, 4, 2, 0, 47, 4, 2, 0, 19, 0, 7, 0, 48, 4, 7, 0, 49, 4,
- 36, 0, 80, 0, 52, 0, 78, 1, 30, 0,155, 0, 40, 0,126, 0,165, 0, 8, 0,165, 0, 0, 0,165, 0, 1, 0, 4, 0, 23, 3,
- 4, 0, 50, 4, 4, 0, 19, 0, 2, 0, 51, 4, 2, 0, 52, 4, 32, 0,169, 0,166, 0, 13, 0, 9, 0, 53, 4, 9, 0, 54, 4,
- 4, 0, 55, 4, 4, 0, 56, 4, 4, 0, 57, 4, 4, 0, 58, 4, 4, 0, 59, 4, 4, 0, 60, 4, 4, 0, 61, 4, 4, 0, 62, 4,
- 4, 0, 63, 4, 4, 0, 37, 0, 0, 0, 64, 4,167, 0, 5, 0, 9, 0, 65, 4, 9, 0, 66, 4, 4, 0, 67, 4, 4, 0, 70, 0,
- 0, 0, 68, 4,168, 0, 13, 0, 4, 0, 17, 0, 4, 0, 69, 4, 4, 0, 70, 4, 4, 0, 71, 4, 4, 0, 72, 4, 4, 0, 73, 4,
- 4, 0, 94, 0, 4, 0, 74, 4, 4, 0, 75, 4, 4, 0, 76, 4, 4, 0, 77, 4, 4, 0, 78, 4, 26, 0, 30, 0,169, 0, 4, 0,
- 4, 0, 79, 4, 7, 0, 80, 4, 2, 0, 19, 0, 2, 0, 81, 4,170, 0, 11, 0,170, 0, 0, 0,170, 0, 1, 0, 0, 0, 20, 0,
- 64, 0, 82, 4, 65, 0, 83, 4, 4, 0, 23, 3, 4, 0, 84, 4, 4, 0, 85, 4, 4, 0, 37, 0, 4, 0, 86, 4, 4, 0, 87, 4,
-171, 0,131, 0,166, 0, 88, 4,167, 0, 89, 4,168, 0, 90, 4,169, 0, 91, 4, 4, 0, 92, 4, 4, 0,131, 0, 4, 0,181, 3,
- 4, 0, 93, 4, 4, 0, 94, 4, 4, 0, 95, 4, 4, 0, 96, 4, 2, 0, 19, 0, 2, 0, 97, 4, 7, 0, 26, 2, 7, 0, 98, 4,
- 7, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, 2, 0,103, 4, 2, 0,104, 4, 2, 0,105, 4, 2, 0,106, 4,
- 2, 0,219, 0, 2, 0,107, 4, 2, 0,108, 4, 2, 0,118, 3, 2, 0,109, 4, 2, 0,110, 4, 2, 0, 35, 1, 2, 0,110, 0,
- 2, 0,111, 4, 2, 0,112, 4, 2, 0,113, 4, 2, 0,114, 4, 2, 0,115, 4, 2, 0,116, 4, 2, 0,117, 4, 2, 0,118, 4,
- 2, 0,119, 4, 2, 0, 36, 1, 2, 0,120, 4, 2, 0,121, 4, 2, 0,122, 4, 2, 0,123, 4, 4, 0,124, 4, 4, 0, 14, 1,
- 2, 0,125, 4, 2, 0,126, 4, 2, 0,127, 4, 2, 0,128, 4, 2, 0,129, 4, 2, 0,130, 4, 24, 0,131, 4, 24, 0,132, 4,
- 23, 0,133, 4, 12, 0,134, 4, 2, 0,135, 4, 2, 0, 37, 0, 7, 0,136, 4, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4,
- 4, 0,140, 4, 7, 0,141, 4, 7, 0,142, 4, 7, 0,143, 4, 7, 0,144, 4, 2, 0,145, 4, 2, 0,146, 4, 2, 0,147, 4,
- 2, 0,148, 4, 2, 0,149, 4, 2, 0,150, 4, 7, 0,151, 4, 7, 0,152, 4, 7, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4,
- 2, 0,156, 4, 2, 0,157, 4, 2, 0,158, 4, 2, 0,159, 4, 2, 0,160, 4, 2, 0,161, 4, 2, 0,162, 4, 2, 0,163, 4,
- 4, 0,164, 4, 4, 0,165, 4, 4, 0,166, 4, 4, 0,167, 4, 4, 0,168, 4, 7, 0,169, 4, 4, 0,170, 4, 4, 0,171, 4,
- 4, 0,172, 4, 4, 0,173, 4, 7, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 7, 0,178, 4, 7, 0,179, 4,
- 7, 0,180, 4, 7, 0,181, 4, 7, 0,182, 4, 0, 0,183, 4, 0, 0,184, 4, 4, 0,185, 4, 2, 0,186, 4, 2, 0,161, 1,
- 0, 0,187, 4, 7, 0,188, 4, 7, 0,189, 4, 4, 0,190, 4, 4, 0,191, 4, 7, 0,192, 4, 7, 0,193, 4, 2, 0,194, 4,
- 2, 0,195, 4, 7, 0,196, 4, 2, 0,197, 4, 2, 0,198, 4, 4, 0,199, 4, 2, 0,200, 4, 2, 0,201, 4, 2, 0,202, 4,
- 2, 0,203, 4, 7, 0,204, 4, 7, 0, 70, 0, 43, 0,205, 4,172, 0, 9, 0,172, 0, 0, 0,172, 0, 1, 0, 0, 0, 20, 0,
- 2, 0,206, 4, 2, 0,207, 4, 2, 0,208, 4, 2, 0, 43, 0, 7, 0,209, 4, 7, 0, 70, 0,173, 0, 5, 0, 7, 0,210, 4,
- 0, 0, 17, 0, 0, 0, 43, 0, 0, 0, 70, 0, 0, 0,161, 1,174, 0, 5, 0,174, 0, 0, 0,174, 0, 1, 0, 4, 0,121, 3,
- 0, 0,131, 3, 4, 0, 19, 0,175, 0, 6, 0,176, 0,211, 4, 2, 0, 19, 0, 2, 0,212, 4, 2, 0,213, 4, 2, 0,214, 4,
- 9, 0,215, 4,177, 0, 4, 0, 2, 0,110, 0, 2, 0,142, 2, 2, 0,124, 3, 2, 0,216, 4,178, 0, 10, 0, 2, 0, 19, 0,
- 2, 0,217, 4, 2, 0,218, 4, 2, 0,219, 4,177, 0,220, 4, 9, 0,215, 4, 7, 0,221, 4, 4, 0,222, 4, 4, 0,223, 4,
- 4, 0, 37, 0,179, 0, 4, 0,179, 0, 0, 0,179, 0, 1, 0, 0, 0,224, 4, 7, 0,225, 4,180, 0, 8, 0,181, 0,226, 4,
-176, 0,211, 4, 7, 0,227, 4, 4, 0, 94, 0, 0, 0,228, 4, 0, 0,229, 4, 0, 0,230, 4, 0, 0,231, 4,182, 0, 9, 0,
-176, 0,211, 4, 7, 0,232, 4, 7, 0,233, 4, 2, 0, 14, 1, 2, 0, 19, 0, 4, 0, 36, 0, 4, 0,234, 4, 84, 0,235, 4,
- 9, 0,215, 4,183, 0, 72, 0,182, 0,236, 4,182, 0,237, 4,180, 0,238, 4, 7, 0,239, 4, 2, 0,240, 4, 2, 0,241, 4,
- 7, 0,242, 4, 7, 0,243, 4, 2, 0,124, 3, 2, 0,244, 4, 7, 0,245, 4, 7, 0,246, 4, 7, 0,247, 4, 2, 0,248, 4,
- 2, 0,223, 4, 2, 0,249, 4, 2, 0,250, 4, 2, 0,251, 4, 2, 0,252, 4, 7, 0,253, 4, 7, 0,254, 4, 7, 0,255, 4,
- 2, 0, 0, 5, 2, 0, 1, 5, 2, 0, 2, 5, 2, 0, 3, 5, 2, 0, 4, 5, 2, 0, 5, 5, 2, 0, 6, 5,175, 0, 7, 5,
-178, 0, 8, 5, 7, 0, 9, 5, 7, 0, 10, 5, 7, 0, 11, 5, 2, 0, 12, 5, 2, 0, 70, 0, 0, 0, 13, 5, 0, 0, 14, 5,
- 0, 0, 15, 5, 0, 0, 16, 5, 0, 0, 17, 5, 0, 0, 18, 5, 2, 0, 19, 5, 7, 0, 20, 5, 7, 0, 21, 5, 7, 0, 22, 5,
- 7, 0, 23, 5, 7, 0, 24, 5, 7, 0, 25, 5, 7, 0, 26, 5, 7, 0, 27, 5, 7, 0, 28, 5, 7, 0, 29, 5, 2, 0, 30, 5,
- 0, 0, 31, 5, 0, 0, 32, 5, 0, 0, 33, 5, 0, 0, 34, 5, 32, 0, 35, 5, 0, 0, 36, 5, 0, 0, 37, 5, 0, 0, 38, 5,
- 0, 0, 39, 5, 0, 0, 40, 5, 0, 0, 41, 5, 0, 0, 42, 5, 0, 0, 43, 5, 2, 0, 44, 5, 2, 0, 45, 5, 2, 0, 46, 5,
- 2, 0, 47, 5, 2, 0, 48, 5,184, 0, 8, 0, 4, 0, 49, 5, 4, 0, 50, 5, 4, 0, 51, 5, 4, 0, 52, 5, 4, 0, 53, 5,
- 4, 0, 54, 5, 4, 0, 54, 0, 4, 0, 50, 2, 47, 0, 34, 0, 27, 0, 31, 0, 39, 0, 75, 0, 32, 0, 55, 5,164, 0, 56, 5,
- 47, 0, 57, 5, 48, 0,211, 0, 12, 0, 58, 5,165, 0, 59, 5, 32, 0, 60, 5, 7, 0, 61, 5, 7, 0, 62, 5, 7, 0, 63, 5,
- 7, 0, 64, 5, 4, 0, 23, 3, 2, 0, 19, 0, 2, 0, 7, 1, 59, 0, 3, 1,185, 0, 65, 5,173, 0, 66, 5,183, 0, 67, 5,
-186, 0, 68, 5,171, 0,185, 0,169, 0, 91, 4, 40, 0,126, 0, 12, 0,104, 0, 12, 0, 69, 5,187, 0, 70, 5, 2, 0, 71, 5,
- 2, 0, 72, 5, 2, 0,220, 0, 2, 0, 73, 5, 4, 0, 74, 5, 4, 0, 75, 5, 12, 0, 76, 5,188, 0, 6, 0, 48, 0,211, 0,
- 46, 0, 2, 1, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0,110, 0, 7, 0, 77, 5,189, 0, 35, 0, 7, 0, 78, 5, 7, 0, 79, 5,
- 7, 0, 80, 5, 7, 0, 81, 5, 7, 0, 82, 5, 7, 0, 83, 5, 7, 0, 84, 5, 7, 0, 85, 5, 7, 0, 86, 5, 7, 0, 21, 1,
- 7, 0, 87, 5, 7, 0, 88, 5, 7, 0, 89, 5, 7, 0, 90, 5, 7, 0,176, 0, 2, 0, 91, 5, 2, 0, 92, 5, 4, 0, 93, 5,
- 2, 0, 94, 5, 2, 0, 95, 5, 2, 0, 96, 5, 2, 0, 97, 5, 7, 0, 98, 5, 69, 0, 99, 5,190, 0,100, 5,189, 0,101, 5,
-191, 0,102, 5,192, 0,103, 5,193, 0,104, 5,194, 0,105, 5,195, 0,106, 5, 7, 0,107, 5, 2, 0,108, 5, 2, 0,109, 5,
- 4, 0,161, 1,196, 0, 54, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,
- 7, 0, 86, 5, 7, 0, 21, 1, 7, 0, 43, 0, 4, 0,114, 5, 2, 0, 96, 5, 2, 0, 97, 5, 32, 0, 55, 5, 32, 0,115, 5,
-188, 0,116, 5,196, 0,101, 5, 0, 0,117, 5, 4, 0, 23, 3, 4, 0,118, 5, 2, 0,119, 5, 2, 0,120, 5, 2, 0,121, 5,
- 2, 0,122, 5, 2, 0,161, 1, 2, 0, 19, 0, 2, 0,123, 5, 2, 0,124, 5, 7, 0,116, 0, 7, 0,125, 5, 7, 0,126, 5,
- 7, 0,127, 5, 7, 0,128, 5, 7, 0,129, 5, 7, 0,176, 0, 7, 0, 61, 5, 2, 0,130, 5, 2, 0, 65, 1, 2, 0,131, 5,
- 2, 0,132, 5, 2, 0,133, 5, 2, 0,134, 5, 2, 0,135, 5, 2, 0,136, 5, 2, 0,137, 5, 2, 0,138, 5, 4, 0,139, 5,
- 12, 0,140, 5, 2, 0,141, 5, 2, 0, 64, 2, 2, 0,142, 5, 0, 0,143, 5, 0, 0,144, 5, 9, 0,145, 5,190, 0,100, 5,
-198, 0, 22, 0, 24, 0, 36, 0, 24, 0, 64, 0, 23, 0,146, 5, 23, 0,147, 5, 23, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5,
- 7, 0,151, 5, 7, 0,152, 5, 2, 0,153, 5, 2, 0,154, 5, 2, 0,155, 5, 2, 0,156, 5, 2, 0,157, 5, 2, 0, 19, 0,
- 2, 0,158, 5, 2, 0,159, 5, 2, 0,160, 5, 2, 0,161, 5, 2, 0,162, 5, 2, 0,122, 5, 7, 0,163, 5,197, 0, 6, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,199, 0, 8, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,200, 0,164, 5, 47, 0,139, 0,201, 0, 14, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5,202, 0,166, 5,
- 12, 0,167, 5, 2, 0, 14, 1, 2, 0, 19, 0, 2, 0,168, 5, 0, 0,169, 5, 0, 0,170, 5,203, 0, 31, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,191, 0,102, 5, 2, 0,171, 5, 2, 0,172, 5,
- 2, 0,158, 5, 2, 0,173, 5,198, 0,165, 5, 2, 0,174, 5, 2, 0,138, 0, 2, 0,169, 5, 2, 0,175, 5, 9, 0,176, 5,
- 2, 0,177, 5, 0, 0,178, 5, 0, 0,179, 5, 2, 0,180, 5, 2, 0,181, 5, 2, 0, 32, 3, 2, 0,182, 5, 2, 0,183, 5,
- 0, 0, 19, 0, 0, 0, 48, 1, 9, 0,250, 1, 4, 0,184, 5, 4, 0,185, 5, 27, 0,186, 5,204, 0, 16, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5, 7, 0, 14, 2, 7, 0, 15, 2,
- 2, 0,174, 5, 2, 0,187, 5, 2, 0,188, 5, 2, 0,189, 5, 4, 0, 19, 0, 7, 0,190, 5,190, 0,100, 5,205, 0, 15, 0,
- 0, 0,191, 5, 0, 0,192, 5, 0, 0,193, 5, 2, 0, 19, 0, 2, 0,194, 5, 2, 0,195, 5, 2, 0,104, 1, 2, 0,196, 5,
- 2, 0, 37, 0, 4, 0,197, 5, 4, 0,198, 5, 2, 0,199, 5, 2, 0,200, 5, 0, 0,201, 5, 0, 0,202, 5,206, 0, 12, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 4, 0, 37, 0,205, 0,203, 5,207, 0,204, 5, 12, 0,205, 5,
- 12, 0,206, 5,208, 0,207, 5,195, 0,208, 5,209, 0,209, 5,210, 0, 17, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5,
- 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5, 12, 0,210, 5,211, 0,211, 5, 0, 0,212, 5,212, 0,213, 5,
- 4, 0,214, 5, 4, 0,215, 5, 2, 0, 19, 0, 2, 0,216, 5, 2, 0,217, 5, 2, 0, 37, 0,213, 0, 29, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5, 48, 0,150, 2, 46, 0, 2, 1, 62, 0,218, 5,
- 2, 0,138, 0, 2, 0,219, 5, 2, 0, 70, 0, 2, 0,220, 5, 4, 0, 19, 0, 2, 0,221, 5, 2, 0,170, 5, 2, 0,169, 5,
- 2, 0,161, 1, 0, 0,222, 5, 0, 0,223, 5, 0, 0,224, 5, 0, 0,122, 5, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0,190, 5,
- 7, 0, 65, 1, 7, 0,225, 5, 7, 0,226, 5,190, 0,100, 5,214, 0, 11, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5,
- 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5, 2, 0,168, 5, 2, 0, 19, 0, 4, 0, 37, 0,202, 0,166, 5,198, 0,165, 5,
-215, 0, 27, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5, 43, 0,227, 5,
- 4, 0,228, 5, 4, 0,229, 5, 2, 0, 94, 0, 2, 0,138, 0, 2, 0,230, 5, 0, 0,231, 5, 0, 0,232, 5, 4, 0,233, 5,
- 4, 0,234, 5, 4, 0,235, 5, 4, 0,236, 5, 2, 0,237, 5, 2, 0,238, 5, 7, 0,239, 5, 23, 0,240, 5, 23, 0,241, 5,
- 4, 0,242, 5, 4, 0,243, 5, 0, 0,244, 5, 0, 0,245, 5,216, 0, 10, 0, 27, 0, 31, 0, 9, 0,246, 5, 9, 0,247, 5,
- 9, 0,248, 5, 9, 0,249, 5, 9, 0,250, 5, 4, 0, 94, 0, 4, 0,251, 5, 0, 0,252, 5, 0, 0,253, 5,217, 0, 10, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5,216, 0,254, 5, 2, 0, 94, 0, 2, 0,138, 0,
- 4, 0, 43, 0, 9, 0,255, 5,218, 0, 8, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5,
-198, 0,165, 5, 4, 0, 19, 0, 4, 0, 0, 6,219, 0, 23, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5,
- 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5, 27, 0, 1, 6, 27, 0, 81, 0, 2, 0, 19, 0, 2, 0,138, 0, 7, 0, 2, 6,
- 9, 0, 3, 6, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0, 4, 6, 7, 0, 5, 6, 59, 0, 3, 1, 59, 0, 6, 6, 4, 0, 7, 6,
- 2, 0,178, 5, 2, 0, 37, 0,190, 0,100, 5,220, 0, 10, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5,
- 7, 0,112, 5, 2, 0,113, 5, 2, 0, 19, 0, 2, 0, 32, 3, 4, 0, 37, 0,190, 0,100, 5,221, 0, 42, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5,207, 0,204, 5, 0, 0,191, 5,
- 0, 0,192, 5, 0, 0,193, 5, 2, 0, 17, 0, 2, 0,200, 5, 2, 0, 19, 0, 2, 0,194, 5, 9, 0, 3, 6, 4, 0,197, 5,
- 4, 0, 8, 6, 4, 0, 9, 6, 4, 0,198, 5, 23, 0, 10, 6, 23, 0, 11, 6, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6,
- 7, 0, 2, 6, 2, 0, 15, 6, 2, 0,210, 0, 2, 0,104, 1, 2, 0,196, 5, 2, 0, 37, 0, 2, 0, 43, 0, 2, 0, 16, 6,
- 2, 0, 17, 6, 9, 0, 18, 6, 9, 0, 19, 6, 9, 0, 20, 6, 9, 0, 21, 6, 9, 0, 22, 6, 2, 0, 23, 6, 0, 0,202, 5,
- 58, 0, 24, 6,222, 0, 7, 0,222, 0, 0, 0,222, 0, 1, 0, 4, 0, 25, 6, 4, 0, 23, 0, 0, 0, 88, 0, 4, 0, 26, 6,
- 4, 0, 17, 0,223, 0, 13, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,
- 4, 0, 17, 0, 4, 0, 27, 6, 4, 0, 19, 0, 4, 0,230, 5, 12, 0, 28, 6, 12, 0, 29, 6, 0, 0, 30, 6,224, 0, 7, 0,
-224, 0, 0, 0,224, 0, 1, 0, 0, 0, 31, 6, 2, 0, 32, 6, 2, 0, 33, 6, 2, 0, 34, 6, 2, 0, 37, 0,225, 0, 12, 0,
- 2, 0, 33, 6, 2, 0, 35, 6, 2, 0, 36, 6, 0, 0,115, 2, 2, 0, 37, 6, 2, 0, 38, 6, 2, 0, 39, 6, 2, 0, 40, 6,
- 2, 0, 41, 6, 2, 0,158, 5, 7, 0, 42, 6, 7, 0, 43, 6,226, 0, 18, 0,226, 0, 0, 0,226, 0, 1, 0, 0, 0,131, 3,
-225, 0, 44, 6,225, 0, 45, 6,225, 0, 46, 6,225, 0, 47, 6, 7, 0, 48, 6, 2, 0, 49, 6, 2, 0, 50, 6, 2, 0, 51, 6,
- 2, 0, 52, 6, 2, 0, 53, 6, 2, 0, 54, 6, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 2, 0, 58, 6,227, 0, 10, 0,
- 0, 0, 59, 6, 0, 0, 60, 6, 0, 0, 61, 6, 0, 0, 62, 6, 0, 0, 63, 6, 0, 0, 64, 6, 2, 0, 65, 6, 2, 0, 66, 6,
- 2, 0, 67, 6, 2, 0, 37, 0,228, 0, 8, 0, 0, 0, 68, 6, 0, 0, 69, 6, 0, 0, 70, 6, 0, 0, 71, 6, 0, 0, 72, 6,
- 0, 0, 73, 6, 7, 0, 77, 5, 7, 0, 37, 0,229, 0, 16, 0,227, 0, 74, 6,227, 0, 75, 6,227, 0, 76, 6,227, 0, 77, 6,
-227, 0, 78, 6,227, 0, 79, 6,227, 0, 80, 6,227, 0, 81, 6,227, 0, 82, 6,227, 0, 83, 6,227, 0, 84, 6,227, 0, 85, 6,
-227, 0, 86, 6,227, 0, 87, 6,228, 0, 88, 6, 0, 0, 89, 6,230, 0, 71, 0, 0, 0, 90, 6, 0, 0, 91, 6, 0, 0, 63, 6,
- 0, 0, 92, 6, 0, 0, 93, 6, 0, 0, 94, 6, 0, 0, 95, 6, 0, 0, 96, 6, 0, 0, 97, 6, 0, 0, 98, 6, 0, 0, 99, 6,
- 0, 0,100, 6, 0, 0,101, 6, 0, 0,102, 6, 0, 0,103, 6, 0, 0,104, 6, 0, 0,105, 6, 0, 0,106, 6, 0, 0,107, 6,
- 0, 0,108, 6, 0, 0,109, 6, 0, 0,110, 6, 0, 0,111, 6, 0, 0,112, 6, 0, 0,113, 6, 0, 0,114, 6, 0, 0,115, 6,
- 0, 0,116, 6, 0, 0,117, 6, 0, 0,118, 6, 0, 0,119, 6, 0, 0,120, 6, 0, 0,121, 6, 0, 0,122, 6, 0, 0,123, 6,
- 0, 0,124, 6, 0, 0,125, 6, 0, 0,126, 6, 0, 0,127, 6, 0, 0,128, 6, 0, 0,129, 6, 0, 0,130, 6, 0, 0,131, 6,
- 0, 0,132, 6, 0, 0,133, 6, 0, 0,134, 6, 0, 0,135, 6, 0, 0,136, 6, 0, 0,137, 6, 0, 0,138, 6, 0, 0,139, 6,
- 0, 0,140, 6, 0, 0,141, 6, 0, 0,142, 6, 0, 0,143, 6, 0, 0,144, 6, 0, 0,145, 6, 0, 0,146, 6, 0, 0,147, 6,
- 0, 0,148, 6, 0, 0,149, 6, 0, 0,150, 6, 0, 0,151, 6, 0, 0,152, 6, 0, 0,153, 6, 0, 0,154, 6, 0, 0,155, 6,
- 0, 0,156, 6, 0, 0,157, 6, 0, 0,158, 6, 0, 0, 96, 0,231, 0, 5, 0, 0, 0,159, 6, 0, 0,114, 6, 0, 0,116, 6,
- 2, 0, 19, 0, 2, 0, 37, 0,232, 0, 21, 0,232, 0, 0, 0,232, 0, 1, 0, 0, 0, 20, 0,229, 0,160, 6,230, 0,161, 6,
-230, 0,162, 6,230, 0,163, 6,230, 0,164, 6,230, 0,165, 6,230, 0,166, 6,230, 0,167, 6,230, 0,168, 6,230, 0,169, 6,
-230, 0,170, 6,230, 0,171, 6,230, 0,172, 6,230, 0,173, 6,230, 0,174, 6,230, 0,175, 6,230, 0,176, 6,231, 0,177, 6,
-233, 0, 5, 0, 4, 0, 19, 0, 4, 0, 37, 0, 7, 0, 63, 2, 7, 0,178, 6, 7, 0,228, 1,234, 0, 67, 0, 4, 0, 19, 0,
- 4, 0,179, 6, 4, 0,180, 6, 0, 0,181, 6, 0, 0,182, 6, 0, 0,183, 6, 0, 0,184, 6, 0, 0,185, 6, 0, 0,186, 6,
- 0, 0,187, 6, 0, 0,188, 6, 0, 0,189, 6, 2, 0,190, 6, 2, 0, 37, 0, 4, 0,191, 6, 4, 0,192, 6, 4, 0,193, 6,
- 4, 0,194, 6, 2, 0,195, 6, 2, 0,196, 6, 4, 0,197, 6, 4, 0, 43, 0, 4, 0,198, 6, 2, 0,199, 6, 2, 0,200, 6,
- 2, 0,201, 6, 2, 0,202, 6, 12, 0,203, 6, 12, 0,204, 6, 12, 0,205, 6, 2, 0,206, 6, 2, 0,207, 6, 2, 0,208, 6,
- 2, 0,209, 6, 2, 0,210, 6, 2, 0,211, 6, 2, 0,212, 6, 2, 0,213, 6,233, 0,214, 6, 2, 0,215, 6, 2, 0,216, 6,
- 2, 0,217, 6, 2, 0,218, 6, 2, 0,219, 6, 2, 0,220, 6, 2, 0,221, 6, 2, 0,222, 6, 4, 0,223, 6, 4, 0,224, 6,
- 2, 0,225, 6, 2, 0,226, 6, 2, 0,227, 6, 2, 0,228, 6, 2, 0,229, 6, 2, 0,230, 6, 2, 0,231, 6, 2, 0,232, 6,
- 2, 0,233, 6, 2, 0,234, 6, 2, 0,235, 6, 2, 0,236, 6, 0, 0,237, 6, 0, 0,238, 6, 7, 0,239, 6, 2, 0, 12, 5,
- 2, 0,240, 6, 56, 0,241, 6,200, 0, 21, 0, 27, 0, 31, 0, 12, 0,242, 6, 12, 0,243, 6, 12, 0,244, 6, 12, 0,110, 5,
- 47, 0,139, 0, 47, 0,245, 6, 2, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0,249, 6, 2, 0,250, 6, 2, 0,251, 6,
- 2, 0,252, 6, 2, 0, 37, 0, 2, 0,253, 6, 2, 0,254, 6, 4, 0, 70, 0,195, 0,255, 6, 9, 0, 0, 7, 2, 0, 1, 7,
-235, 0, 5, 0,235, 0, 0, 0,235, 0, 1, 0,235, 0, 2, 7, 13, 0, 3, 7, 4, 0, 19, 0,236, 0, 7, 0,236, 0, 0, 0,
-236, 0, 1, 0,235, 0, 4, 7,235, 0, 5, 7, 2, 0,132, 4, 2, 0, 19, 0, 4, 0, 37, 0,237, 0, 23, 0,237, 0, 0, 0,
-237, 0, 1, 0,238, 0, 6, 7,239, 0,209, 5, 0, 0, 7, 7, 0, 0, 8, 7, 0, 0, 9, 7, 2, 0, 10, 7, 2, 0, 11, 7,
- 2, 0, 12, 7, 2, 0, 13, 7, 2, 0, 14, 7, 2, 0, 37, 0, 2, 0, 19, 0, 2, 0, 15, 7, 2, 0, 16, 7, 2, 0, 17, 7,
- 4, 0, 18, 7,237, 0, 19, 7, 9, 0, 20, 7, 4, 0, 21, 7, 4, 0, 22, 7, 0, 0, 23, 7,240, 0, 2, 0,241, 0, 6, 7,
-239, 0,209, 5,242, 0, 2, 0,243, 0, 6, 7,239, 0,209, 5,244, 0, 23, 0,244, 0, 0, 0,244, 0, 1, 0,235, 0, 4, 7,
-235, 0, 5, 7,235, 0, 24, 7,235, 0, 25, 7,200, 0, 26, 7, 23, 0, 52, 0, 0, 0,111, 5, 0, 0, 27, 7, 2, 0,159, 5,
- 2, 0,160, 5, 2, 0, 28, 7, 2, 0, 37, 0, 2, 0,249, 6, 2, 0, 26, 6, 2, 0, 19, 0, 40, 0,126, 0,245, 0, 6, 7,
- 12, 0, 29, 7, 12, 0,110, 5, 12, 0, 30, 7, 12, 0, 31, 7,246, 0, 21, 0,246, 0, 0, 0,246, 0, 1, 0,198, 0,165, 5,
- 23, 0, 32, 7, 23, 0, 33, 7, 2, 0,159, 5, 2, 0,160, 5, 2, 0, 34, 7, 2, 0, 35, 7, 2, 0, 36, 7, 2, 0, 19, 0,
- 7, 0, 10, 2, 2, 0,248, 6, 2, 0,252, 6, 4, 0, 43, 0,247, 0, 6, 7, 12, 0, 37, 7, 12, 0, 38, 7, 12, 0, 30, 7,
- 0, 0, 39, 7, 9, 0, 40, 7,248, 0, 11, 0, 0, 0, 41, 7, 2, 0, 42, 7, 2, 0, 43, 7, 2, 0, 44, 7, 2, 0, 45, 7,
- 2, 0,121, 4, 2, 0,116, 4,200, 0, 46, 7, 47, 0, 47, 7, 4, 0, 48, 7, 4, 0, 49, 7,249, 0, 1, 0, 0, 0, 50, 7,
-250, 0, 8, 0, 58, 0, 51, 7, 58, 0, 52, 7,250, 0, 53, 7,250, 0, 54, 7,250, 0, 55, 7, 2, 0,134, 0, 2, 0, 19, 0,
- 4, 0, 56, 7,251, 0, 4, 0, 4, 0,228, 5, 4, 0, 57, 7, 4, 0,233, 5, 4, 0, 58, 7,252, 0, 2, 0, 4, 0, 59, 7,
- 4, 0, 60, 7,253, 0, 7, 0, 7, 0, 61, 7, 7, 0, 62, 7, 7, 0, 63, 7, 4, 0, 19, 0, 4, 0, 37, 0, 7, 0, 3, 4,
- 7, 0, 64, 7,254, 0, 6, 0, 0, 0, 65, 7, 0, 0,193, 5, 50, 0,142, 0, 2, 0,110, 0, 2, 0,120, 4, 4, 0, 37, 0,
-255, 0, 21, 0,255, 0, 0, 0,255, 0, 1, 0, 4, 0, 57, 0, 4, 0, 23, 0, 4, 0, 28, 0, 4, 0, 66, 7, 4, 0, 67, 7,
- 4, 0, 68, 7,249, 0, 69, 7, 0, 0, 65, 7, 4, 0, 70, 7, 4, 0, 71, 7,254, 0, 6, 3,251, 0, 72, 7,252, 0, 73, 7,
-253, 0, 74, 7,250, 0, 75, 7,250, 0, 76, 7,250, 0, 77, 7, 58, 0, 78, 7, 58, 0, 79, 7, 0, 1, 12, 0, 0, 0,191, 1,
- 9, 0,196, 0, 0, 0,197, 0, 4, 0,200, 0, 4, 0,208, 0, 9, 0,201, 0, 7, 0,203, 0, 7, 0,204, 0, 9, 0, 80, 7,
- 9, 0, 81, 7, 9, 0,205, 0, 9, 0,207, 0, 1, 1, 43, 0, 1, 1, 0, 0, 1, 1, 1, 0, 9, 0, 82, 7, 9, 0, 26, 0,
- 0, 0, 27, 0, 4, 0, 19, 0, 4, 0, 17, 0, 4, 0, 23, 0, 4, 0, 92, 0, 4, 0, 83, 7, 4, 0, 84, 7, 4, 0, 67, 7,
- 4, 0, 68, 7, 4, 0, 85, 7, 4, 0,219, 0, 4, 0, 86, 7, 4, 0, 87, 7, 7, 0,233, 4, 7, 0, 88, 7, 4, 0,131, 0,
- 4, 0, 89, 7,255, 0, 90, 7, 36, 0, 80, 0, 47, 0,139, 0, 50, 0,142, 0, 7, 0, 91, 7, 7, 0, 92, 7, 0, 1, 4, 1,
- 1, 1, 93, 7, 1, 1, 94, 7, 1, 1, 95, 7, 12, 0, 96, 7, 2, 1, 97, 7, 3, 1, 98, 7, 7, 0, 99, 7, 7, 0,100, 7,
- 4, 0,101, 7, 7, 0,102, 7, 9, 0,103, 7, 4, 0,104, 7, 4, 0,105, 7, 4, 0,106, 7, 7, 0,107, 7, 4, 1, 4, 0,
- 4, 1, 0, 0, 4, 1, 1, 0, 12, 0,108, 7, 1, 1,109, 7,185, 0, 6, 0, 12, 0,110, 7, 12, 0, 96, 7, 12, 0,111, 7,
- 1, 1,112, 7, 0, 0,113, 7, 0, 0,114, 7, 5, 1, 4, 0, 7, 0,115, 7, 7, 0,113, 0, 2, 0,116, 7, 2, 0,117, 7,
- 6, 1, 6, 0, 7, 0,118, 7, 7, 0,119, 7, 7, 0,120, 7, 7, 0,121, 7, 4, 0,122, 7, 4, 0,123, 7, 7, 1, 12, 0,
- 7, 0,124, 7, 7, 0,125, 7, 7, 0,126, 7, 7, 0,127, 7, 7, 0,128, 7, 7, 0,129, 7, 7, 0,130, 7, 7, 0,131, 7,
- 7, 0,132, 7, 7, 0,133, 7, 4, 0,154, 2, 4, 0,134, 7, 8, 1, 2, 0, 7, 0,210, 4, 7, 0, 37, 0, 9, 1, 5, 0,
- 7, 0,135, 7, 7, 0,136, 7, 4, 0, 94, 0, 4, 0,116, 2, 4, 0,137, 7, 10, 1, 6, 0, 10, 1, 0, 0, 10, 1, 1, 0,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,138, 7, 2, 0, 57, 0, 11, 1, 8, 0, 11, 1, 0, 0, 11, 1, 1, 0, 2, 0, 17, 0,
- 2, 0, 19, 0, 2, 0,138, 7, 2, 0, 57, 0, 7, 0, 23, 0, 7, 0,131, 0, 12, 1, 45, 0, 12, 1, 0, 0, 12, 1, 1, 0,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,138, 7, 2, 0,215, 0, 2, 0,177, 3, 2, 0,139, 7, 7, 0,140, 7, 7, 0, 93, 0,
- 7, 0,167, 2, 4, 0,141, 7, 4, 0, 82, 0, 4, 0,118, 2, 7, 0,142, 7, 7, 0,143, 7, 7, 0,144, 7, 7, 0,145, 7,
- 7, 0,146, 7, 7, 0,147, 7, 7, 0,164, 2, 7, 0, 1, 1, 7, 0,148, 7, 7, 0,149, 7, 7, 0, 37, 0, 7, 0,150, 7,
- 7, 0,151, 7, 7, 0,152, 7, 2, 0,153, 7, 2, 0,154, 7, 2, 0,155, 7, 2, 0,156, 7, 2, 0,157, 7, 2, 0,158, 7,
- 2, 0,159, 7, 2, 0,160, 7, 2, 0,123, 5, 2, 0,161, 7, 2, 0,211, 1, 2, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7,
- 7, 0,213, 0, 13, 1,165, 7, 65, 0,164, 1, 14, 1, 16, 0, 14, 1, 0, 0, 14, 1, 1, 0, 2, 0, 17, 0, 2, 0, 19, 0,
- 2, 0,138, 7, 2, 0,215, 0, 7, 0,159, 2, 7, 0,160, 2, 7, 0,161, 2, 7, 0,255, 1, 7, 0,162, 2, 7, 0,163, 2,
- 7, 0,166, 7, 7, 0,164, 2, 7, 0,166, 2, 7, 0,167, 2,212, 0, 5, 0, 2, 0, 17, 0, 2, 0, 56, 7, 2, 0, 19, 0,
- 2, 0,167, 7, 27, 0, 1, 6,211, 0, 3, 0, 4, 0, 69, 0, 4, 0,168, 7,212, 0, 2, 0, 15, 1, 11, 0, 15, 1, 0, 0,
- 15, 1, 1, 0, 0, 0, 20, 0, 2, 0, 17, 0, 2, 0,169, 7, 4, 0, 22, 0, 4, 0,170, 7, 2, 0, 19, 0, 2, 0, 37, 0,
- 9, 0,171, 7, 9, 0,172, 7, 16, 1, 5, 0, 0, 0, 20, 0, 7, 0, 21, 1, 7, 0,173, 7, 4, 0,174, 7, 4, 0, 37, 0,
- 17, 1, 4, 0, 2, 0, 17, 0, 2, 0, 19, 0, 2, 0, 43, 0, 2, 0, 70, 0, 18, 1, 4, 0, 0, 0, 20, 0, 64, 0,175, 7,
- 7, 0, 21, 1, 7, 0, 37, 0, 19, 1, 6, 0, 2, 0,176, 7, 2, 0,177, 7, 2, 0, 17, 0, 2, 0,178, 7, 0, 0,179, 7,
- 0, 0,180, 7, 20, 1, 5, 0, 4, 0, 17, 0, 4, 0, 37, 0, 0, 0, 20, 0, 0, 0,181, 7, 0, 0,182, 7, 21, 1, 3, 0,
- 4, 0, 17, 0, 4, 0, 37, 0, 0, 0, 20, 0, 22, 1, 4, 0, 2, 0,183, 7, 2, 0,184, 7, 2, 0, 19, 0, 2, 0, 37, 0,
- 23, 1, 6, 0, 0, 0, 20, 0, 0, 0,185, 7, 2, 0,186, 7, 2, 0,164, 2, 2, 0, 14, 1, 2, 0, 70, 0, 24, 1, 5, 0,
- 0, 0, 20, 0, 7, 0,113, 0, 7, 0, 5, 4, 2, 0, 19, 0, 2, 0,130, 2, 25, 1, 3, 0, 0, 0, 20, 0, 4, 0,118, 2,
- 4, 0,183, 7, 26, 1, 7, 0, 0, 0, 20, 0, 7, 0, 5, 4, 0, 0,187, 7, 0, 0,188, 7, 2, 0, 14, 1, 2, 0, 43, 0,
- 4, 0,189, 7, 27, 1, 3, 0, 32, 0,190, 7, 0, 0,191, 7, 0, 0,192, 7, 28, 1, 18, 0, 28, 1, 0, 0, 28, 1, 1, 0,
- 2, 0, 17, 0, 2, 0,169, 7, 2, 0, 19, 0, 2, 0,193, 7, 2, 0,194, 7, 2, 0,195, 7, 2, 0, 43, 0, 2, 0, 70, 0,
- 0, 0, 20, 0, 9, 0, 2, 0, 29, 1,196, 7, 32, 0, 45, 0, 2, 0,216, 4, 2, 0, 99, 7, 2, 0,197, 7, 2, 0, 37, 0,
- 30, 1, 11, 0, 0, 0, 20, 0, 0, 0, 17, 0, 0, 0,198, 7, 2, 0, 19, 0, 2, 0,130, 2, 2, 0,199, 7, 4, 0,200, 7,
- 4, 0,201, 7, 4, 0,202, 7, 4, 0,203, 7, 4, 0,204, 7, 31, 1, 1, 0, 0, 0,205, 7, 32, 1, 4, 0, 43, 0,227, 5,
- 0, 0,206, 7, 4, 0, 14, 1, 4, 0, 19, 0, 29, 1, 18, 0, 29, 1, 0, 0, 29, 1, 1, 0, 29, 1,207, 7, 2, 0, 17, 0,
- 2, 0, 19, 0, 2, 0,208, 7, 2, 0,195, 7, 2, 0,169, 7, 2, 0,209, 7, 2, 0, 70, 0, 2, 0,161, 1, 0, 0, 20, 0,
- 9, 0, 2, 0, 33, 1,196, 7, 28, 1,210, 7, 2, 0, 15, 0, 2, 0,211, 7, 4, 0,212, 7, 34, 1, 3, 0, 4, 0,190, 2,
- 4, 0, 37, 0, 32, 0, 45, 0, 35, 1, 12, 0,152, 0,213, 7, 2, 0, 17, 0, 2, 0, 19, 0, 4, 0,140, 7, 4, 0, 93, 0,
- 0, 0, 20, 0, 0, 0,214, 7, 2, 0,215, 7, 2, 0,216, 7, 2, 0,217, 7, 2, 0,218, 7, 7, 0,219, 7, 36, 1, 10, 0,
- 2, 0, 19, 0, 2, 0,220, 7, 4, 0,140, 7, 4, 0, 93, 0, 2, 0,221, 7, 2, 1, 97, 7, 2, 0, 17, 0, 2, 0,222, 7,
- 2, 0,223, 7, 2, 0,224, 7, 37, 1, 7, 0, 2, 0, 19, 0, 2, 0,220, 7, 4, 0,140, 7, 4, 0, 93, 0, 2, 0, 17, 0,
- 2, 0,225, 7, 7, 0,137, 3, 38, 1, 11, 0, 4, 0,190, 2, 2, 0, 17, 0, 2, 0, 19, 0, 32, 0, 45, 0, 78, 0,226, 7,
- 0, 0, 20, 0, 7, 0,227, 7, 7, 0,228, 7, 7, 0, 40, 3, 2, 0,229, 7, 2, 0,230, 7, 39, 1, 5, 0, 2, 0, 17, 0,
- 2, 0, 19, 0, 4, 0, 37, 0, 47, 0,139, 0, 32, 0, 55, 5, 40, 1, 5, 0, 4, 0, 19, 0, 4, 0, 17, 0, 0, 0, 20, 0,
- 0, 0,181, 7, 32, 0, 45, 0, 41, 1, 13, 0, 2, 0, 19, 0, 2, 0, 17, 0, 2, 0,169, 7, 2, 0, 41, 3, 7, 0,231, 7,
- 7, 0,232, 7, 7, 0, 9, 1, 7, 0, 10, 1, 7, 0, 17, 3, 7, 0, 20, 3, 7, 0,233, 7, 7, 0,234, 7, 32, 0,235, 7,
- 42, 1, 10, 0, 2, 0, 19, 0, 2, 0, 17, 0, 4, 0,140, 7, 4, 0, 93, 0, 0, 0, 20, 0, 0, 0,214, 7, 2, 0, 43, 0,
- 2, 0, 64, 0, 2, 0,236, 7, 2, 0,237, 7, 43, 1, 8, 0, 32, 0, 45, 0, 7, 0,161, 2, 7, 0,238, 7, 7, 0,239, 7,
- 7, 0,156, 2, 2, 0, 19, 0, 2, 0,130, 2, 7, 0,240, 7, 44, 1, 12, 0, 2, 0, 17, 0, 2, 0, 14, 1, 2, 0, 19, 0,
- 2, 0,164, 2, 2, 0,190, 2, 2, 0,241, 7, 4, 0, 37, 0, 7, 0,242, 7, 7, 0,243, 7, 7, 0,244, 7, 7, 0,245, 7,
- 0, 0,246, 7, 45, 1, 10, 0, 2, 0, 19, 0, 2, 0, 17, 0, 4, 0,140, 7, 4, 0, 93, 0, 0, 0, 20, 0, 2, 0, 81, 4,
- 2, 0, 64, 0, 2, 0,236, 7, 2, 0,237, 7, 65, 0,164, 1, 46, 1, 7, 0, 4, 0,118, 2, 4, 0,247, 7, 4, 0,248, 7,
- 4, 0,249, 7, 7, 0,250, 7, 7, 0,251, 7, 0, 0,187, 7, 47, 1, 7, 0, 0, 0,252, 7, 32, 0,253, 7, 0, 0,191, 7,
- 2, 0,254, 7, 2, 0, 43, 0, 4, 0, 70, 0, 0, 0,192, 7, 48, 1, 6, 0, 2, 0, 19, 0, 2, 0, 17, 0, 4, 0,140, 7,
- 4, 0, 93, 0, 0, 0,255, 7, 0, 0, 0, 8, 49, 1, 1, 0, 4, 0, 19, 0, 50, 1, 6, 0, 0, 0, 96, 0, 2, 0, 17, 0,
- 2, 0, 19, 0, 4, 0, 1, 8, 7, 0, 2, 8, 43, 0,227, 5, 51, 1, 4, 0, 0, 0,184, 0, 2, 0, 19, 0, 4, 0, 17, 0,
- 32, 0, 45, 0, 52, 1, 2, 0, 4, 0, 17, 0, 4, 0,148, 5, 33, 1, 10, 0, 33, 1, 0, 0, 33, 1, 1, 0, 33, 1,207, 7,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,169, 7, 2, 0, 3, 8, 0, 0, 20, 0, 9, 0, 2, 0, 32, 0, 45, 0, 53, 1, 10, 0,
- 7, 0, 40, 3, 7, 0, 4, 8, 7, 0, 5, 8, 7, 0, 6, 8, 7, 0, 7, 8, 4, 0, 19, 0, 7, 0,241, 7, 7, 0, 8, 8,
- 7, 0, 9, 8, 7, 0, 37, 0, 2, 1, 20, 0, 27, 0, 31, 0, 0, 0,195, 0, 54, 1, 10, 8, 9, 0, 11, 8, 44, 0,154, 0,
- 44, 0, 12, 8, 9, 0, 13, 8, 36, 0, 80, 0, 7, 0,137, 3, 7, 0, 14, 8, 7, 0, 15, 8, 7, 0, 16, 8, 7, 0, 17, 8,
- 7, 0, 18, 8, 7, 0, 19, 8, 4, 0, 94, 0, 4, 0, 20, 8, 0, 0, 21, 8, 0, 0, 22, 8, 0, 0, 23, 8, 55, 1, 6, 0,
- 27, 0, 31, 0, 7, 0, 24, 8, 7, 0, 25, 8, 7, 0, 26, 8, 2, 0, 27, 8, 2, 0, 28, 8, 56, 1, 15, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5,244, 0, 29, 8,198, 0,165, 5, 2, 1, 97, 7, 2, 0, 14, 1,
- 2, 0,220, 7, 2, 0, 14, 2, 2, 0, 15, 2, 2, 0, 19, 0, 2, 0,170, 5, 4, 0, 70, 0, 57, 1, 6, 0, 57, 1, 0, 0,
- 57, 1, 1, 0, 32, 0, 45, 0, 9, 0, 30, 8, 4, 0,220, 0, 4, 0, 37, 0, 65, 0, 4, 0, 27, 0, 31, 0, 12, 0, 31, 8,
- 4, 0,136, 0, 7, 0, 32, 8, 58, 1, 25, 0, 58, 1, 0, 0, 58, 1, 1, 0, 58, 1, 38, 0, 12, 0, 33, 8, 0, 0, 20, 0,
- 7, 0, 34, 8, 7, 0, 35, 8, 7, 0, 36, 8, 7, 0, 37, 8, 4, 0, 19, 0, 7, 0, 38, 8, 7, 0, 39, 8, 7, 0, 40, 8,
- 7, 0, 21, 1, 7, 0,220, 1, 7, 0, 41, 8, 7, 0,116, 2, 7, 0, 42, 8, 7, 0, 43, 8, 7, 0, 44, 8, 7, 0, 45, 8,
- 7, 0, 46, 8, 7, 0,177, 0, 2, 0,136, 0, 2, 0,249, 4, 59, 1, 20, 0, 27, 0, 31, 0, 12, 0, 47, 8, 12, 0, 48, 8,
- 12, 0, 49, 8, 4, 0, 19, 0, 4, 0,119, 5, 2, 0,168, 2, 2, 0,184, 5, 2, 0,136, 0, 2, 0, 50, 8, 2, 0, 51, 8,
- 2, 0, 52, 8, 2, 0, 53, 8, 2, 0, 54, 8, 4, 0, 55, 8, 4, 0, 56, 8, 4, 0, 57, 8, 4, 0, 58, 8, 4, 0, 59, 8,
- 4, 0, 60, 8, 60, 1, 38, 0, 60, 1, 0, 0, 60, 1, 1, 0, 26, 0, 61, 8, 12, 0, 67, 3, 0, 0, 20, 0, 2, 0, 19, 0,
- 2, 0, 62, 8, 2, 0, 63, 8, 2, 0, 64, 8, 2, 0, 26, 3, 2, 0, 65, 8, 4, 0,253, 1, 4, 0, 57, 8, 4, 0, 58, 8,
- 58, 1, 66, 8, 60, 1, 38, 0, 60, 1, 67, 8, 12, 0, 68, 8, 9, 0, 69, 8, 9, 0, 70, 8, 9, 0, 71, 8, 7, 0, 9, 1,
- 7, 0,177, 0, 7, 0, 72, 8, 7, 0,201, 1, 2, 0, 73, 8, 2, 0, 37, 0, 7, 0, 74, 8, 7, 0, 75, 8, 7, 0, 22, 3,
- 7, 0, 76, 8, 7, 0, 77, 8, 7, 0, 78, 8, 7, 0, 79, 8, 7, 0, 80, 8, 7, 0, 81, 8, 7, 0,250, 1, 32, 0, 82, 8,
-153, 0, 9, 0, 12, 0, 83, 8, 2, 0, 19, 0, 2, 0, 84, 8, 7, 0, 26, 2, 7, 0, 85, 8, 7, 0, 86, 8, 12, 0, 87, 8,
- 4, 0, 88, 8, 4, 0, 37, 0, 61, 1, 7, 0, 61, 1, 0, 0, 61, 1, 1, 0, 12, 0, 21, 8, 4, 0, 19, 0, 4, 0, 89, 8,
- 0, 0,131, 3,231, 0, 90, 8,152, 0, 7, 0, 27, 0, 31, 0, 12, 0, 91, 8, 12, 0, 83, 8, 12, 0, 92, 8, 12, 0,104, 0,
- 4, 0, 19, 0, 4, 0, 93, 8,202, 0, 4, 0, 27, 0, 94, 8, 12, 0, 83, 8, 4, 0, 95, 8, 4, 0, 19, 0, 62, 1, 17, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5,152, 0, 9, 3,
-202, 0, 96, 8, 0, 0, 14, 1, 0, 0,168, 5, 2, 0, 19, 0, 2, 0, 97, 8, 2, 0,169, 5, 2, 0,170, 5, 2, 0, 98, 8,
- 7, 0, 99, 8, 63, 1, 8, 0, 63, 1, 0, 0, 63, 1, 1, 0, 61, 1,100, 8, 36, 0, 80, 0, 12, 0, 12, 3, 4, 0, 19, 0,
- 0, 0, 20, 0, 4, 0,101, 8, 64, 1, 5, 0, 64, 1, 0, 0, 64, 1, 1, 0, 36, 0, 80, 0, 2, 0, 19, 0, 0, 0,102, 8,
- 65, 1, 12, 0, 65, 1, 0, 0, 65, 1, 1, 0, 9, 0, 2, 0, 2, 0, 17, 0, 2, 0, 19, 0, 0, 0,103, 8, 0, 0,104, 8,
- 0, 0,102, 8, 7, 0,105, 8, 7, 0,106, 8, 4, 0, 37, 0, 36, 0, 80, 0, 66, 1, 9, 0, 66, 1, 0, 0, 66, 1, 1, 0,
- 32, 0,107, 8, 0, 0,108, 8, 7, 0,109, 8, 2, 0,110, 8, 2, 0, 19, 0, 2, 0, 17, 0, 2, 0, 37, 0, 67, 1, 7, 0,
- 43, 0,227, 5, 26, 0, 61, 8, 4, 0, 19, 0, 4, 0,111, 8, 12, 0,112, 8, 32, 0,107, 8, 0, 0,108, 8, 68, 1, 12, 0,
- 32, 0,107, 8, 2, 0,113, 8, 2, 0, 19, 0, 2, 0,114, 8, 2, 0,115, 8, 0, 0,108, 8, 32, 0,116, 8, 0, 0,117, 8,
- 7, 0,118, 8, 7, 0,220, 1, 7, 0,119, 8, 7, 0,120, 8, 69, 1, 6, 0, 32, 0,107, 8, 4, 0,121, 8, 4, 0,122, 8,
- 4, 0, 94, 0, 4, 0, 37, 0, 0, 0,108, 8, 70, 1, 4, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,121, 8, 0, 0,108, 8,
- 71, 1, 4, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,121, 8, 0, 0,108, 8, 72, 1, 10, 0, 32, 0,107, 8, 4, 0,123, 8,
- 7, 0,130, 0, 4, 0, 19, 0, 2, 0,223, 5, 2, 0,124, 8, 2, 0, 43, 0, 2, 0, 70, 0, 7, 0,125, 8, 0, 0,108, 8,
- 73, 1, 4, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,121, 8, 0, 0,108, 8, 74, 1, 10, 0, 32, 0,107, 8, 2, 0, 17, 0,
- 2, 0,183, 3, 4, 0, 92, 0, 4, 0, 93, 0, 7, 0,238, 7, 7, 0,239, 7, 4, 0, 37, 0,152, 0,213, 7, 0, 0,108, 8,
- 75, 1, 4, 0, 32, 0,107, 8, 4, 0, 27, 3, 4, 0,126, 8, 0, 0,108, 8, 76, 1, 5, 0, 32, 0,107, 8, 7, 0,130, 0,
- 4, 0,127, 8, 4, 0, 27, 3, 4, 0, 28, 3, 77, 1, 6, 0, 32, 0,107, 8, 4, 0,128, 8, 4, 0,129, 8, 7, 0,130, 8,
- 7, 0,131, 8, 0, 0,108, 8, 78, 1, 16, 0, 32, 0,107, 8, 32, 0, 67, 8, 4, 0, 17, 0, 7, 0,132, 8, 7, 0,133, 8,
- 7, 0,134, 8, 7, 0,135, 8, 7, 0,136, 8, 7, 0,137, 8, 7, 0,138, 8, 7, 0,139, 8, 7, 0,140, 8, 2, 0, 19, 0,
- 2, 0, 37, 0, 2, 0, 43, 0, 2, 0, 70, 0, 79, 1, 3, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,123, 5, 80, 1, 5, 0,
- 32, 0,107, 8, 4, 0, 19, 0, 4, 0, 37, 0, 7, 0,141, 8, 0, 0,108, 8, 81, 1, 10, 0, 32, 0,107, 8, 0, 0,108, 8,
- 2, 0,142, 8, 2, 0,143, 8, 0, 0,144, 8, 0, 0,145, 8, 7, 0,146, 8, 7, 0,147, 8, 7, 0,148, 8, 7, 0,149, 8,
- 82, 1, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0, 7, 0,150, 8, 7, 0,151, 8, 2, 0, 19, 0,
- 2, 0,123, 5, 83, 1, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0, 7, 0,150, 8, 7, 0,151, 8,
- 2, 0, 19, 0, 2, 0,123, 5, 84, 1, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0, 7, 0,150, 8,
- 7, 0,151, 8, 2, 0, 19, 0, 2, 0,123, 5, 85, 1, 7, 0, 32, 0,107, 8, 0, 0,108, 8, 7, 0, 21, 1, 7, 0, 31, 1,
- 2, 0, 19, 0, 2, 0, 14, 1, 4, 0, 37, 0, 86, 1, 5, 0, 32, 0,226, 2, 7, 0, 21, 1, 2, 0,230, 2, 0, 0,232, 2,
- 0, 0,152, 8, 87, 1, 10, 0, 87, 1, 0, 0, 87, 1, 1, 0, 2, 0, 17, 0, 2, 0, 19, 0, 0, 0,153, 8, 7, 0,222, 0,
- 7, 0,223, 0, 2, 0, 21, 8, 2, 0,154, 8, 32, 0, 45, 0, 88, 1, 22, 0, 88, 1, 0, 0, 88, 1, 1, 0, 2, 0, 19, 0,
- 2, 0, 14, 1, 2, 0,155, 8, 2, 0,156, 8, 36, 0, 80, 0,152, 0,213, 7, 32, 0,169, 0, 7, 0, 92, 0, 7, 0, 93, 0,
- 7, 0,157, 8, 7, 0,158, 8, 7, 0,159, 8, 7, 0,160, 8, 7, 0,157, 2, 7, 0,161, 8, 7, 0,215, 7, 7, 0,162, 8,
- 0, 0,163, 8, 0, 0,164, 8, 12, 0, 14, 3, 89, 1, 8, 0, 7, 0,228, 1, 7, 0,238, 7, 7, 0,239, 7, 9, 0, 2, 0,
- 2, 0,165, 8, 2, 0,166, 8, 2, 0,167, 8, 2, 0,168, 8, 90, 1, 18, 0, 90, 1, 0, 0, 90, 1, 1, 0, 90, 1,169, 8,
- 0, 0, 20, 0, 89, 1,170, 8, 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,171, 8, 2, 0,172, 8, 2, 0,173, 8, 2, 0,174, 8,
- 4, 0, 43, 0, 7, 0,175, 8, 7, 0,176, 8, 4, 0,177, 8, 4, 0,178, 8, 90, 1,179, 8, 91, 1,180, 8, 92, 1, 33, 0,
- 92, 1, 0, 0, 92, 1, 1, 0, 92, 1,181, 8, 0, 0, 20, 0, 0, 0,182, 8, 2, 0, 17, 0, 2, 0, 19, 0, 2, 0, 66, 7,
- 2, 0, 99, 7, 2, 0,183, 8, 2, 0,138, 0, 2, 0,172, 8, 2, 0, 56, 7, 12, 0,208, 7, 12, 0,184, 8, 27, 0, 1, 6,
- 9, 0,185, 8, 7, 0,175, 8, 7, 0,176, 8, 7, 0,255, 1, 7, 0,186, 8, 2, 0,187, 8, 2, 0,188, 8, 7, 0,189, 8,
- 7, 0,190, 8, 2, 0,191, 8, 2, 0,192, 8, 9, 0,193, 8, 24, 0,194, 8, 24, 0,195, 8, 24, 0,196, 8, 93, 1,155, 0,
- 94, 1,197, 8, 91, 1, 8, 0, 91, 1, 0, 0, 91, 1, 1, 0, 92, 1,198, 8, 92, 1,199, 8, 90, 1,200, 8, 90, 1,179, 8,
- 4, 0, 19, 0, 4, 0, 37, 0, 59, 0, 20, 0, 27, 0, 31, 0, 39, 0, 75, 0, 12, 0,201, 8, 12, 0,202, 8, 89, 1,203, 8,
- 12, 0,204, 8, 4, 0, 17, 0, 4, 0,205, 8, 4, 0,206, 8, 4, 0,207, 8, 12, 0,208, 8, 94, 1,209, 8, 90, 1,210, 8,
- 90, 1,211, 8, 9, 0,212, 8, 9, 0,213, 8, 4, 0,214, 8, 9, 0,215, 8, 9, 0,216, 8, 9, 0,217, 8, 95, 1, 6, 0,
- 4, 0,129, 0, 4, 0,131, 0, 4, 0, 56, 7, 0, 0,218, 8, 0, 0,219, 8, 2, 0, 37, 0, 96, 1, 16, 0, 2, 0, 12, 7,
- 2, 0, 13, 7, 2, 0,220, 8, 2, 0, 5, 8, 2, 0,221, 8, 2, 0, 68, 0, 7, 0,156, 2, 7, 0,222, 8, 7, 0,223, 8,
- 2, 0, 35, 1, 0, 0,224, 8, 0, 0,232, 4, 2, 0,225, 8, 2, 0, 37, 0, 4, 0,226, 8, 4, 0,227, 8, 97, 1, 9, 0,
- 7, 0,228, 8, 7, 0,229, 8, 7, 0, 19, 8, 7, 0,113, 0, 7, 0,230, 8, 7, 0,190, 5, 2, 0,231, 8, 0, 0,232, 8,
- 0, 0, 37, 0, 98, 1, 4, 0, 7, 0,233, 8, 7, 0,234, 8, 2, 0,231, 8, 2, 0, 37, 0, 99, 1, 3, 0, 7, 0,235, 8,
- 7, 0,236, 8, 7, 0, 15, 0,100, 1, 7, 0, 0, 0,191, 1, 2, 0,118, 4, 2, 0,119, 4, 2, 0,120, 4, 2, 0, 69, 4,
- 4, 0,131, 0, 4, 0,181, 3,101, 1, 7, 0, 7, 0,237, 8, 7, 0,238, 8, 7, 0,239, 8, 7, 0, 10, 2, 7, 0,240, 8,
- 7, 0,241, 8, 7, 0,242, 8,102, 1, 4, 0, 2, 0,243, 8, 2, 0,244, 8, 2, 0,245, 8, 2, 0,246, 8,103, 1, 2, 0,
- 7, 0, 5, 0, 7, 0, 6, 0,104, 1, 2, 0, 0, 0,171, 0, 0, 0,247, 8,105, 1, 1, 0, 0, 0, 20, 0,106, 1, 10, 0,
- 0, 0,248, 8, 0, 0,249, 8, 0, 0,173, 5, 0, 0,250, 8, 2, 0,220, 8, 2, 0,251, 8, 7, 0,252, 8, 7, 0,253, 8,
- 7, 0,254, 8, 7, 0,161, 8,107, 1, 2, 0, 9, 0,255, 8, 9, 0, 0, 9,108, 1, 11, 0, 0, 0,120, 4, 0, 0, 17, 0,
- 0, 0,231, 8, 0, 0,113, 0, 0, 0, 1, 9, 0, 0,110, 0, 0, 0,184, 0, 7, 0, 2, 9, 7, 0, 3, 9, 7, 0, 4, 9,
- 7, 0, 5, 9,109, 1, 8, 0, 7, 0,176, 7, 7, 0,130, 0, 7, 0,232, 4, 7, 0, 82, 2, 7, 0, 6, 9, 7, 0,209, 0,
- 7, 0, 7, 9, 4, 0, 17, 0,110, 1, 4, 0, 2, 0, 8, 9, 2, 0, 9, 9, 2, 0, 10, 9, 2, 0, 37, 0,111, 1, 1, 0,
- 0, 0, 20, 0,112, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 19, 0, 2, 0, 11, 9,113, 1, 10, 0, 2, 0,122, 3,
- 2, 0, 19, 0, 7, 0, 5, 4, 7, 0, 12, 9, 7, 0, 13, 9, 7, 0, 14, 9, 7, 0, 15, 9,112, 1, 16, 9,112, 1, 17, 9,
-112, 1, 18, 9, 62, 0, 9, 0, 4, 0, 19, 0, 4, 0, 64, 0, 24, 0, 19, 9, 24, 0, 20, 9,113, 1, 21, 9, 7, 0, 22, 9,
- 7, 0, 23, 9, 7, 0, 24, 9, 7, 0, 25, 9,114, 1, 4, 0, 48, 0,150, 2, 7, 0, 26, 9, 7, 0, 94, 1, 7, 0, 37, 0,
-176, 0, 17, 0, 27, 0, 31, 0,114, 1, 27, 9, 62, 0, 16, 9, 52, 0, 78, 1, 2, 0, 19, 0, 2, 0, 77, 5, 4, 0,110, 0,
- 7, 0, 28, 9, 7, 0, 7, 2, 7, 0, 29, 9, 7, 0, 30, 9, 7, 0, 94, 1, 7, 0, 31, 9, 2, 0, 48, 1, 0, 0, 32, 9,
- 0, 0,115, 3, 0, 0, 96, 0,115, 1, 10, 0, 4, 0, 17, 0, 4, 0,130, 0, 4, 0, 19, 0, 4, 0, 88, 3, 4, 0, 33, 9,
- 4, 0, 34, 9, 4, 0, 35, 9, 0, 0, 96, 0, 0, 0, 20, 0, 9, 0, 2, 0, 89, 0, 6, 0,115, 1, 36, 9, 4, 0, 37, 9,
- 4, 0, 38, 9, 4, 0, 39, 9, 4, 0, 37, 0, 9, 0, 40, 9,116, 1, 5, 0, 7, 0, 77, 2, 7, 0,190, 2, 7, 0,220, 1,
- 2, 0, 41, 9, 2, 0, 37, 0,117, 1, 5, 0, 7, 0, 77, 2, 7, 0, 42, 9, 7, 0, 43, 9, 7, 0, 44, 9, 7, 0,190, 2,
-118, 1, 7, 0, 4, 0, 45, 9, 4, 0, 46, 9, 4, 0, 47, 9, 7, 0, 48, 9, 7, 0, 49, 9, 7, 0, 50, 9, 7, 0, 51, 9,
-119, 1, 8, 0,119, 1, 0, 0,119, 1, 1, 0, 32, 0, 45, 0, 4, 0,213, 2, 2, 0, 19, 0, 2, 0, 57, 0, 7, 0,190, 2,
- 7, 0,184, 7,120, 1, 26, 0, 32, 0, 52, 9,117, 1, 84, 3,117, 1, 53, 9,116, 1, 54, 9,117, 1,165, 7, 7, 0, 55, 9,
- 7, 0, 56, 9, 7, 0, 57, 9, 7, 0, 58, 9, 7, 0, 49, 9, 7, 0, 50, 9, 7, 0,190, 2, 7, 0,167, 2, 7, 0, 59, 9,
- 7, 0, 60, 9, 7, 0,110, 0, 7, 0, 61, 9, 4, 0, 45, 9, 4, 0, 62, 9, 4, 0, 37, 0, 4, 0, 82, 0, 4, 0, 63, 9,
- 2, 0, 19, 0, 2, 0, 64, 9, 2, 0, 65, 9, 2, 0,118, 3,121, 1,117, 0, 27, 0, 31, 0, 39, 0, 75, 0, 4, 0, 19, 0,
- 2, 0, 17, 0, 2, 0,142, 8, 2, 0, 66, 9, 2, 0, 67, 9, 2, 0, 73, 8, 2, 0, 68, 9, 2, 0, 69, 9, 2, 0, 70, 9,
- 2, 0, 71, 9, 2, 0, 72, 9, 2, 0, 73, 9, 2, 0, 74, 9, 2, 0, 75, 9, 2, 0, 76, 9, 2, 0, 77, 9, 2, 0, 78, 9,
- 2, 0, 79, 9, 2, 0, 80, 9, 2, 0, 81, 9, 2, 0,211, 1, 2, 0,158, 7, 2, 0,134, 7, 2, 0, 82, 9, 2, 0, 83, 9,
- 2, 0,116, 3, 2, 0,117, 3, 2, 0, 84, 9, 2, 0, 85, 9, 2, 0, 86, 9, 2, 0, 87, 9, 2, 0, 88, 9, 2, 0, 89, 9,
- 7, 0, 90, 9, 7, 0, 91, 9, 7, 0, 92, 9, 2, 0, 93, 9, 2, 0, 94, 9, 7, 0, 95, 9, 7, 0, 96, 9, 7, 0, 97, 9,
- 7, 0,140, 7, 7, 0, 93, 0, 7, 0,167, 2, 7, 0,146, 7, 7, 0, 98, 9, 7, 0, 99, 9, 7, 0,100, 9, 4, 0,141, 7,
- 4, 0,139, 7, 4, 0,101, 9, 7, 0,142, 7, 7, 0,143, 7, 7, 0,144, 7, 7, 0,102, 9, 7, 0,103, 9, 7, 0,104, 9,
- 7, 0,105, 9, 7, 0,106, 9, 7, 0,107, 9, 7, 0,108, 9, 7, 0,109, 9, 7, 0, 40, 3, 7, 0,110, 0, 7, 0,110, 9,
- 7, 0,111, 9, 7, 0,112, 9, 7, 0,113, 9, 7, 0,114, 9, 7, 0,115, 9, 7, 0,116, 9, 4, 0,117, 9, 4, 0,118, 9,
- 7, 0,119, 9, 7, 0,120, 9, 7, 0,121, 9, 7, 0,122, 9, 7, 0,123, 9, 7, 0, 57, 0, 7, 0,124, 9, 7, 0,125, 9,
- 7, 0,112, 3, 7, 0,110, 3, 7, 0,111, 3, 7, 0,126, 9, 7, 0,127, 9, 7, 0,128, 9, 7, 0,129, 9, 7, 0,130, 9,
- 7, 0,131, 9, 7, 0,132, 9, 7, 0,133, 9, 7, 0,134, 9, 7, 0,135, 9, 7, 0,136, 9, 7, 0,137, 9, 7, 0,138, 9,
- 4, 0,139, 9, 4, 0,140, 9, 7, 0, 47, 3, 7, 0,141, 9, 7, 0,142, 9, 7, 0,143, 9, 7, 0,144, 9, 7, 0,145, 9,
- 7, 0,146, 9, 7, 0,147, 9, 0, 0,148, 9, 65, 0, 73, 3, 65, 0,149, 9, 32, 0,150, 9, 32, 0,151, 9, 36, 0, 80, 0,
-155, 0, 71, 3,155, 0,152, 9,142, 0, 39, 0,142, 0, 0, 0,142, 0, 1, 0,121, 1,153, 9,120, 1,163, 3,118, 1, 67, 8,
-122, 1,154, 9, 9, 0,155, 9,123, 1,156, 9,123, 1,157, 9, 12, 0,158, 9, 12, 0,159, 9,156, 0, 72, 3, 32, 0,160, 9,
- 32, 0,161, 9, 32, 0, 38, 0, 12, 0,162, 9, 12, 0,163, 9, 12, 0,164, 9, 7, 0,213, 0, 7, 0, 92, 4, 4, 0,118, 2,
- 4, 0, 19, 0, 4, 0,141, 7, 4, 0,165, 9, 4, 0,166, 9, 4, 0,167, 9, 4, 0, 57, 0, 2, 0,220, 0, 2, 0,168, 9,
- 2, 0,169, 9, 2, 0, 65, 3, 2, 0,170, 9, 2, 0,118, 3, 0, 0,171, 9, 2, 0,172, 9, 2, 0,173, 9, 2, 0,174, 9,
- 9, 0,175, 9,131, 0,202, 3,129, 0, 34, 0,124, 1,176, 9, 7, 0,174, 3, 7, 0,177, 9, 7, 0,178, 9, 7, 0, 8, 4,
- 7, 0,179, 9, 7, 0, 50, 3, 7, 0, 40, 3, 7, 0,180, 9, 7, 0, 9, 2, 7, 0,181, 9, 7, 0,182, 9, 7, 0,183, 9,
- 7, 0,184, 9, 7, 0,185, 9, 7, 0,186, 9, 7, 0,175, 3, 7, 0,187, 9, 7, 0,188, 9, 7, 0,189, 9, 7, 0,176, 3,
- 7, 0,172, 3, 7, 0,173, 3, 4, 0,190, 9, 4, 0, 94, 0, 4, 0,191, 9, 4, 0,192, 9, 2, 0,193, 9, 2, 0,194, 9,
- 2, 0,195, 9, 2, 0,196, 9, 2, 0,197, 9, 2, 0, 37, 0, 4, 0, 70, 0,130, 0, 8, 0,124, 1,198, 9, 7, 0,199, 9,
- 7, 0,200, 9, 7, 0,165, 1, 7, 0,201, 9, 4, 0, 94, 0, 2, 0,202, 9, 2, 0,203, 9,125, 1, 4, 0, 7, 0, 5, 0,
- 7, 0, 6, 0, 7, 0, 7, 0, 7, 0,204, 9,126, 1, 6, 0,126, 1, 0, 0,126, 1, 1, 0,125, 1,205, 9, 4, 0,206, 9,
- 2, 0,207, 9, 2, 0, 19, 0,127, 1, 5, 0,127, 1, 0, 0,127, 1, 1, 0, 12, 0,208, 9, 4, 0,209, 9, 4, 0, 19, 0,
-128, 1, 9, 0,128, 1, 0, 0,128, 1, 1, 0, 12, 0,129, 0,127, 1,210, 9, 4, 0, 19, 0, 2, 0,207, 9, 2, 0,211, 9,
- 7, 0, 95, 0, 0, 0,212, 9,190, 0, 6, 0, 27, 0, 31, 0, 12, 0,134, 4, 4, 0, 19, 0, 2, 0,213, 9, 2, 0,214, 9,
- 9, 0,215, 9,129, 1, 6, 0,129, 1, 0, 0,129, 1, 1, 0, 4, 0, 17, 0, 4, 0, 23, 0, 0, 0,216, 9, 0, 0,217, 9,
-130, 1, 5, 0, 12, 0,218, 9, 4, 0,219, 9, 4, 0,220, 9, 4, 0, 19, 0, 4, 0, 37, 0,131, 1, 13, 0, 27, 0, 31, 0,
-132, 1,221, 9,132, 1,222, 9, 12, 0,223, 9, 4, 0,224, 9, 2, 0,225, 9, 2, 0, 37, 0, 12, 0,226, 9, 12, 0,227, 9,
-130, 1,228, 9, 12, 0,229, 9, 12, 0,230, 9, 12, 0,231, 9,132, 1, 30, 0,132, 1, 0, 0,132, 1, 1, 0, 9, 0,232, 9,
- 4, 0,247, 6, 4, 0, 37, 0,200, 0,164, 5,200, 0,233, 9, 0, 0,234, 9, 2, 0,235, 9, 2, 0,236, 9, 2, 0, 12, 7,
- 2, 0, 13, 7, 2, 0,237, 9, 2, 0,238, 9, 2, 0, 88, 3, 2, 0, 26, 6, 2, 0,239, 9, 2, 0,240, 9, 4, 0,161, 1,
-133, 1,241, 9,134, 1,242, 9,135, 1,243, 9, 4, 0,244, 9, 4, 0,245, 9, 9, 0,246, 9, 12, 0,247, 9, 12, 0,227, 9,
- 12, 0, 30, 7, 12, 0,248, 9, 12, 0,249, 9,136, 1, 12, 0,136, 1, 0, 0,136, 1, 1, 0, 0, 0,250, 9,137, 1,251, 9,
- 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,252, 9, 2, 0,253, 9, 2, 0,254, 9, 2, 0,255, 9, 2, 0, 0, 10, 2, 0, 37, 0,
-138, 1, 6, 0,138, 1, 0, 0,138, 1, 1, 0, 12, 0, 1, 10, 0, 0, 2, 10, 4, 0, 3, 10, 4, 0, 4, 10,208, 0, 8, 0,
-208, 0, 0, 0,208, 0, 1, 0, 0, 0,250, 9, 26, 0, 30, 0,139, 1, 6, 7, 9, 0, 5, 10,137, 1,251, 9,130, 1, 6, 10,
-133, 1, 23, 0,133, 1, 0, 0,133, 1, 1, 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0, 5, 0, 2, 0, 6, 0, 2, 0, 7, 10,
- 2, 0, 8, 10, 2, 0, 9, 10, 2, 0, 10, 10, 0, 0, 11, 10, 0, 0, 37, 0, 2, 0,252, 9, 2, 0,253, 9, 2, 0,254, 9,
- 2, 0,255, 9, 2, 0, 0, 10, 2, 0, 43, 0, 0, 0, 12, 10, 2, 0, 13, 10, 2, 0, 14, 10, 4, 0, 70, 0, 9, 0, 5, 10,
-140, 1, 8, 0,140, 1, 0, 0,140, 1, 1, 0, 9, 0, 2, 0, 9, 0, 15, 10, 0, 0,131, 3, 2, 0, 17, 0, 2, 0, 19, 0,
- 7, 0, 16, 10,141, 1, 5, 0, 7, 0, 17, 10, 4, 0, 18, 10, 4, 0, 19, 10, 4, 0, 14, 1, 4, 0, 19, 0,142, 1, 6, 0,
- 7, 0, 20, 10, 7, 0, 21, 10, 7, 0, 22, 10, 7, 0, 23, 10, 4, 0, 17, 0, 4, 0, 19, 0,143, 1, 5, 0, 7, 0,238, 7,
- 7, 0,239, 7, 7, 0,190, 2, 2, 0,224, 1, 2, 0,225, 1,144, 1, 5, 0,143, 1, 2, 0, 4, 0, 54, 0, 7, 0, 24, 10,
- 7, 0,238, 7, 7, 0,239, 7,145, 1, 4, 0, 2, 0, 25, 10, 2, 0, 26, 10, 2, 0, 27, 10, 2, 0, 28, 10,146, 1, 2, 0,
- 43, 0,254, 5, 26, 0, 61, 8,147, 1, 3, 0, 24, 0, 29, 10, 4, 0, 19, 0, 4, 0, 37, 0,148, 1, 6, 0, 7, 0,110, 0,
- 7, 0,142, 2, 7, 0, 30, 10, 7, 0, 37, 0, 2, 0,219, 0, 2, 0, 31, 10,149, 1, 7, 0,149, 1, 0, 0,149, 1, 1, 0,
- 27, 0, 1, 6, 0, 0, 32, 10, 4, 0, 33, 10, 4, 0, 94, 0, 0, 0,131, 3,150, 1, 6, 0, 12, 0,112, 8, 0, 0, 34, 10,
- 7, 0, 61, 0, 7, 0, 16, 10, 4, 0, 17, 0, 4, 0, 19, 0,151, 1, 3, 0, 7, 0, 35, 10, 4, 0, 19, 0, 4, 0, 37, 0,
-152, 1, 15, 0,152, 1, 0, 0,152, 1, 1, 0, 61, 1,100, 8,150, 1, 62, 0, 12, 0, 14, 3, 35, 0, 50, 0,151, 1, 36, 10,
- 4, 0, 54, 0, 7, 0, 61, 0, 2, 0, 19, 0, 2, 0,255, 0, 4, 0, 33, 10, 0, 0, 32, 10, 4, 0, 37, 10, 7, 0, 38, 10,
-153, 1, 2, 0, 0, 0, 39, 10, 0, 0, 40, 10,154, 1, 4, 0,154, 1, 0, 0,154, 1, 1, 0,152, 0,226, 2, 12, 0, 41, 10,
-155, 1, 22, 0,155, 1, 0, 0,155, 1, 1, 0, 12, 0, 42, 10,152, 0,213, 7,154, 1, 43, 10, 12, 0, 44, 10, 12, 0, 14, 3,
- 0, 0,131, 3, 7, 0, 16, 10, 7, 0, 45, 10, 7, 0, 92, 0, 7, 0, 93, 0, 7, 0,157, 8, 7, 0,158, 8, 7, 0,157, 2,
- 7, 0,161, 8, 7, 0,215, 7, 7, 0,162, 8, 2, 0, 46, 10, 2, 0, 47, 10, 2, 0, 19, 0, 2, 0, 17, 0,156, 1, 6, 0,
-156, 1, 0, 0,156, 1, 1, 0, 12, 0, 42, 10, 4, 0, 19, 0, 4, 0, 81, 2, 0, 0,131, 3,157, 1, 10, 0,157, 1, 0, 0,
-157, 1, 1, 0, 27, 0, 1, 6, 0, 0, 48, 10, 4, 0, 49, 10, 4, 0, 50, 10, 0, 0, 32, 10, 4, 0, 33, 10, 2, 0, 19, 0,
- 2, 0, 51, 10,158, 1, 6, 0,158, 1, 0, 0,158, 1, 1, 0, 12, 0, 52, 10, 0, 0,131, 3, 4, 0, 19, 0, 4, 0, 53, 10,
-159, 1, 5, 0,159, 1, 0, 0,159, 1, 1, 0, 0, 0, 32, 10, 4, 0, 33, 10, 7, 0,134, 2, 39, 0, 9, 0,152, 0, 9, 3,
-152, 0, 54, 10,154, 1, 43, 10, 12, 0, 55, 10,155, 1, 56, 10, 12, 0, 57, 10, 12, 0, 58, 10, 4, 0, 19, 0, 4, 0,220, 0,
-160, 1, 2, 0, 27, 0, 31, 0, 39, 0, 75, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,102, 0,114, 99,116,105,
+ 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0,
+ 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101,
+ 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,
+116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,
+109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80,
+ 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101,
+ 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,
+117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,
+108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, 80,111,105,110,116, 68,101,110,115,105,116,
+121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,120,101,108, 68, 97,116, 97, 0, 98, 78,111,100,101, 84,114,
+101,101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,111,108,117,109,101, 83,101,116,116,105,110,103,
+115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97,
+ 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98,
+ 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104,
+ 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104,
+ 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,100,103,101, 0,
+ 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 77, 83,101,108,101, 99,116,
+ 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 0, 80, 97,
+114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102,111,114,109, 87,101,105,103,104,116, 0, 77, 84,
+101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,111,108, 0, 77, 70,108,111, 97,116, 80,114,
+111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0, 77, 83,116,114,105,110,103, 80,114,111,112,101,
+114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,105,115,112,115, 0, 77,117,108,116,105,114,101,
+115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 70, 97, 99,
+101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108, 0, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,105,110,103, 73,110,102,111, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,
+100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,
+114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,
+111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,
+111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105,
+110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83,
+101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,
+114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102,
+105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,
+111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109,
+ 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97,
+116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,105,110,103,115,
+ 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111,
+108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102,
+ 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,
+114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
+ 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114,
+109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101,
+ 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,
+117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105,
+110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108,
+101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,
+114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,114,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
+ 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114,111,117,112, 0, 83,
+ 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 98, 71, 80,100, 97,
+116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 0,
+ 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,111,102,116, 66,
+111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0, 69,102,102,101, 99,
+116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67, 97, 99,104,101, 77,
+101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100,121, 80,111,105,110,
+116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 70,108,117,105,100, 86,101,114,116,
+101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,
+116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,
+111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,
+105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,
+116, 97, 0, 82,101,110,100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114,
+ 97,109,105,110,103, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0,
+ 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,
+101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0,
+ 84,114, 97,110,115,102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0, 86, 80, 97,105,
+110,116, 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,
+110,103,115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,
+101, 83,116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,
+119, 51, 68, 0, 82,101,110,100,101,114, 73,110,102,111, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,111,116,104,
+ 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,
+110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,
+112,101, 83,104,101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,
+101,108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,
+109, 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,
+114,101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,
+101, 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,
+101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 84,105,
+109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,
+101, 76,111,103,105, 99, 0, 83,112, 97, 99,101, 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,
+112, 97, 99,101, 67,111,110,115,111,108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 83,
+111,117,110,100, 0, 83, 99,114, 65,114,101, 97, 0, 98, 83,111,117,110,100, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,
+116, 83,116,121,108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105,
+ 87,105,100,103,101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,101,109,101, 83,
+112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98, 65,100,100,111,
+110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110, 0, 83, 99,114,
+ 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76,
+ 97,121,111,117,116, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,
+121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,
+111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,
+110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,
+101,113,117,101,110, 99,101, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86,
+ 97,114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115,
+ 0, 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,
+102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,
+101,114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,
+111,117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,
+101,114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,
+121, 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,
+101,110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98,
+ 65,114,109, 97,116,117,114,101, 83,101,110,115,111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,
+101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,
+114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65,
+ 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,
+111,110, 65, 99,116,117, 97,116,111,114, 0, 83,111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,
+114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117,
+ 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,
+116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,
+116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,
+116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65,
+ 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,
+121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80,
+ 97,114,101,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,
+109, 97,116,117,114,101, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101, 0,
+ 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115,101, 67,
+104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110, 71,114,
+111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108, 0, 98,
+ 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,
+111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101, 73, 75,
+ 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,
+111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,
+111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,
+ 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101, 67,111,
+110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,
+111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80, 97,
+116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108, 97,
+109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67,111,110,
+115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116,
+ 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115,116,114,
+ 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114,105,110,
+107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,111,100,105,102,105,101,114, 0,
+ 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,
+107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,100,101,
+ 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109,
+ 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101,
+ 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,
+101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,115,
+ 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,101,
+ 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,116,
+ 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, 76,
+101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,108,
+111,114,115,112,105,108,108, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,111,
+105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68, 97,
+116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,114, 75,
+101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,105,100,
+ 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0, 67,104,105,108,100, 80, 97,114,116,105, 99,108,
+101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114,116,105, 99,108,101, 68,117,112,108,105, 87,101,
+105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,105,110,
+103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 66,111,105,100, 83,101,116,116,105,110,103,115,
+ 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105, 99,108,
+101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71,
+ 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,
+111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119,
+ 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,111,119,
+ 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,114, 82,
+ 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100,105,
+102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105,111,
+110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111,100,
+ 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104,111,
+110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83,116,
+101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104, 97,
+110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112,
+ 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,
+107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101,
+ 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108,101,
+ 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111,110,
+ 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65,118,
+101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116, 97,
+116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 84, 76, 69, 78, 1, 0, 1, 0,
+ 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 16, 0, 24, 0, 16, 0, 4, 0, 8, 0, 16, 0, 16, 0, 32, 0,
+ 96, 0, 72, 0, 72, 2, 0, 0, 40, 0,144, 0, 32, 5,112, 0, 36, 0, 56, 0,112, 0,128, 0,168, 0, 96, 0, 40, 0, 48, 0,
+176, 0, 16, 0,136, 0, 40, 0,184, 5,240, 1, 0, 0, 0, 0, 0, 0, 24, 1,112, 1,120, 1, 24, 0, 8, 3,200, 0, 0, 0,
+104, 0, 64, 1, 40, 1, 8, 1,136, 0,216, 1, 88, 0, 32, 3,104, 0, 88, 1, 0, 0,128, 0,104, 0,208, 0, 80, 0, 8, 0,
+ 16, 0, 32, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0,152, 1, 20, 0, 48, 0, 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0,
+ 8, 0, 0, 0, 40, 0,128, 0, 48, 0, 8, 0, 16, 0, 8, 0, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 16, 0, 16, 0, 64, 0,
+ 24, 0, 12, 0, 64, 0, 80, 0,136, 0,104, 0,120, 0,128, 0, 96, 0,128, 0,160, 0, 96, 0, 88, 0,136, 0, 88, 0,112, 0,
+ 16, 1, 56, 0,192, 0,184, 0,232, 0, 88, 0,120, 0,136, 0,224, 0,136, 0,248, 0, 80, 0,136, 0, 0, 0,152, 0, 48, 0,
+ 16, 2,160, 0, 0, 0,120, 0, 0, 0, 0, 0, 96, 0, 8, 0, 8, 0, 48, 1,112, 0, 16, 2,104, 0,128, 0, 88, 0, 96, 0,
+200, 1,144, 0,136, 0, 80, 0,144, 0,112, 0,208, 0, 16, 0, 16, 1, 48, 0, 0, 0,152, 0,184, 0,104, 0, 48, 0, 24, 0,
+120, 0,152, 0,120, 1,224, 0,192, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 12, 0,224, 1,
+ 40, 0,184, 0,152, 0, 64, 0, 64, 0, 24, 0, 88, 0,168, 3, 64, 0, 24, 0, 16, 0,104, 0, 96, 0, 24, 0,248, 2, 48, 0,
+ 16, 0,168, 0, 88, 0, 96, 0, 56, 0,192, 1, 32, 0, 8, 0, 24, 0, 80, 2, 0, 0, 0, 0, 88, 0, 96, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 1, 56, 0,144, 0, 64, 0,240, 0,104, 0,248, 0,240, 0, 96, 2,104, 0, 0, 0,168, 0, 0, 0, 24, 1,
+ 16, 0, 16, 0, 40, 33,128, 16, 24, 16,216, 0,160, 2,120, 2, 64, 0, 24, 0,216, 0, 48, 1, 72, 0,200, 2, 40, 0,136, 1,
+104, 0,216, 0,160, 0,136, 1, 24, 1, 32, 0,232, 0, 32, 0, 32, 0,112, 2,120, 1, 16, 0, 88, 30, 80, 0, 56, 0,184, 13,
+216, 0, 32, 0, 40, 0, 88, 1, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 32, 1, 88, 0, 16, 0, 8, 0, 44, 0, 0, 1,240, 0,
+200, 1, 32, 1, 32, 0, 12, 0, 24, 0, 52, 0, 16, 0, 24, 0, 24, 0, 32, 0, 72, 1, 0, 0, 64, 0, 64, 0, 48, 0, 8, 0,
+ 48, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 72, 0, 72, 0, 96, 0,104, 0, 60, 0,128, 0, 80, 0,
+ 80, 0, 16, 0, 96, 0, 32, 0, 72, 0, 88, 0, 24, 0, 80, 0,112, 0, 84, 0, 32, 0, 96, 0, 56, 0, 56, 0,112, 0,140, 0,
+ 4, 0, 24, 0, 16, 0, 8, 0, 88, 0, 40, 0, 40, 1,200, 0, 16, 0,248, 1, 4, 0, 40, 0,120, 0, 64, 1, 88, 0, 56, 0,
+ 88, 0,128, 0, 80, 0,120, 0, 24, 0, 56, 0, 48, 0, 48, 0, 48, 0, 8, 0, 40, 0, 72, 0, 72, 0, 48, 0, 48, 0, 24, 0,
+ 56, 0,104, 0, 16, 0,112, 0, 96, 0, 56, 0, 28, 0, 28, 0, 28, 0, 56, 0, 24, 0, 72, 0,168, 0, 40, 0,152, 0, 56, 0,
+ 16, 0, 8, 1, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 0, 16, 1, 44, 0, 24, 0, 8, 0, 64, 0, 32, 0, 24, 0,
+ 16, 0, 24, 0, 32, 0, 8, 0, 96, 0, 20, 0, 32, 0, 12, 0, 56, 0, 24, 0, 72, 0,240, 0, 24, 0, 56, 0, 56, 0, 20, 0,
+ 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0,208, 2,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 32, 0, 40, 0,192, 0,
+ 40, 0, 24, 1,224, 0,168, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0,120, 0, 0, 0,104, 0, 24, 0, 24, 0, 16, 0, 24, 0,
+ 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1, 16, 0,104, 0, 0, 1, 40, 0,200, 0,104, 0,112, 0,168, 0,
+ 32, 0, 80, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0,128, 0, 0, 0, 0, 0, 0, 0, 83, 84, 82, 67,148, 1, 0, 0,
+ 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0, 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0,
+ 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,
+ 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 16, 0, 4, 0, 7, 0, 7, 0, 7, 0, 8, 0,
+ 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, 0, 9, 0, 11, 0, 12, 0, 12, 0, 4, 0, 13, 0, 4, 0, 14, 0, 18, 0, 10, 0,
+ 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, 0, 0, 0, 16, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 19, 0, 17, 0, 20, 0,
+ 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0, 19, 0, 23, 0, 20, 0, 24, 0, 0, 0, 25, 0,
+ 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, 0, 18, 0, 28, 0, 20, 0, 8, 0, 19, 0, 29, 0, 19, 0, 30, 0, 21, 0, 31, 0,
+ 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, 0, 4, 0, 35, 0, 20, 0, 36, 0, 22, 0, 5, 0, 4, 0, 37, 0, 4, 0, 38, 0,
+ 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, 0, 23, 0, 6, 0, 24, 0, 42, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 15, 0,
+ 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, 0, 25, 0, 0, 0, 25, 0, 1, 0, 26, 0, 46, 0, 27, 0, 47, 0, 16, 0, 48, 0,
+ 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 50, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 17, 0,
+ 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, 0, 4, 0, 55, 0, 7, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 23, 0, 59, 0,
+ 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, 0, 16, 0, 61, 0, 2, 0, 43, 0, 2, 0, 62, 0, 2, 0, 63, 0, 2, 0, 35, 0,
+ 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, 0, 7, 0, 64, 0, 7, 0, 58, 0, 2, 0, 15, 0, 2, 0, 44, 0, 2, 0, 65, 0,
+ 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, 0, 9, 0, 2, 0, 7, 0, 68, 0, 0, 0, 18, 0, 0, 0, 69, 0, 7, 0, 70, 0,
+ 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, 0, 31, 0, 72, 0, 29, 0, 73, 0, 0, 0, 74, 0, 4, 0, 75, 0, 7, 0, 58, 0,
+ 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, 0, 2, 0, 15, 0, 2, 0, 79, 0, 2, 0, 80, 0, 2, 0, 17, 0, 32, 0, 6, 0,
+ 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, 0, 0, 0, 82, 0, 4, 0, 21, 0, 4, 0, 83, 0, 33, 0, 10, 0, 33, 0, 0, 0,
+ 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, 0, 4, 0, 86, 0, 4, 0, 87, 0, 4, 0, 12, 0, 4, 0, 88, 0, 0, 0, 89, 0,
+ 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, 0, 0, 0, 91, 0, 4, 0, 88, 0, 4, 0, 92, 0, 12, 0, 93, 0, 32, 0, 94, 0,
+ 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, 0, 12, 0, 98, 0, 0, 0, 99, 0, 4, 0,100, 0, 4, 0,101, 0, 9, 0,102, 0,
+ 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, 0, 4, 0,105, 0, 9, 0, 2, 0, 36, 0, 16, 0, 19, 0, 29, 0, 31, 0, 72, 0,
+ 0, 0, 15, 0, 0, 0,106, 0, 2, 0, 17, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,110, 0, 7, 0,111, 0,
+ 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 28, 0, 77, 0, 24, 0,116, 0, 37, 0, 14, 0, 38, 0,117, 0,
+ 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0, 35, 0,
+ 2, 0,125, 0, 2, 0,126, 0, 2, 0,127, 0, 2, 0, 17, 0, 4, 0, 67, 0, 39, 0, 32, 0, 19, 0, 29, 0, 0, 0, 32, 0,
+ 12, 0,128, 0, 40, 0,129, 0, 41, 0,130, 0, 42, 0,131, 0, 42, 0,132, 0, 2, 0,133, 0, 2, 0,134, 0, 2, 0,124, 0,
+ 2, 0, 17, 0, 2, 0,135, 0, 2, 0, 15, 0, 4, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 2, 0,139, 0, 2, 0,140, 0,
+ 2, 0,141, 0, 2, 0,142, 0, 4, 0,143, 0, 4, 0,144, 0, 35, 0,145, 0, 22, 0,146, 0, 7, 0,147, 0, 4, 0,148, 0,
+ 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, 0, 2, 0,152, 0, 7, 0,153, 0, 7, 0,154, 0, 43, 0, 65, 0, 2, 0,155, 0,
+ 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0, 24, 0,159, 0, 44, 0,160, 0, 0, 0,161, 0, 0, 0,162, 0, 0, 0,163, 0,
+ 0, 0,164, 0, 0, 0,165, 0, 7, 0,166, 0, 7, 0,167, 0, 7, 0,168, 0, 2, 0,169, 0, 2, 0,170, 0, 2, 0,171, 0,
+ 2, 0,172, 0, 2, 0,173, 0, 2, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0,
+ 7, 0,180, 0, 7, 0,181, 0, 7, 0, 54, 0, 7, 0,182, 0, 7, 0,183, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0,
+ 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0,
+ 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0,
+ 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0,
+ 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 7, 0,218, 0,
+ 45, 0, 15, 0, 0, 0,219, 0, 9, 0,220, 0, 0, 0,221, 0, 0, 0,222, 0, 4, 0,223, 0, 4, 0,224, 0, 9, 0,225, 0,
+ 7, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0, 4, 0,229, 0, 9, 0,230, 0, 9, 0,231, 0, 4, 0,232, 0, 4, 0, 35, 0,
+ 46, 0, 6, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,233, 0, 7, 0, 64, 0, 4, 0, 61, 0, 47, 0, 5, 0,
+ 2, 0, 17, 0, 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,234, 0, 46, 0,228, 0, 48, 0, 17, 0, 24, 0,159, 0, 39, 0,235, 0,
+ 49, 0,236, 0, 7, 0,237, 0, 7, 0,238, 0, 2, 0, 15, 0, 2, 0,239, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,240, 0,
+ 4, 0,241, 0, 2, 0,242, 0, 2, 0,243, 0, 4, 0,124, 0, 4, 0,136, 0, 2, 0,244, 0, 2, 0,245, 0, 50, 0, 25, 0,
+ 2, 0, 17, 0, 2, 0,246, 0, 7, 0,247, 0, 7, 0,248, 0, 2, 0,135, 0, 2, 0,249, 0, 4, 0,250, 0, 4, 0,251, 0,
+ 24, 0,159, 0, 4, 0,252, 0, 2, 0,253, 0, 2, 0,254, 0, 9, 0,255, 0, 7, 0, 0, 1, 7, 0, 1, 1, 2, 0, 2, 1,
+ 2, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, 7, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 7, 0, 9, 1, 47, 0, 10, 1,
+ 51, 0, 11, 1, 52, 0, 13, 0, 4, 0, 12, 1, 4, 0, 13, 1, 2, 0, 14, 1, 2, 0, 17, 0, 2, 0, 15, 1, 2, 0, 16, 1,
+ 24, 0,159, 0, 7, 0, 17, 1, 4, 0, 18, 1, 0, 0, 19, 1, 7, 0, 20, 1, 4, 0, 21, 1, 4, 0,124, 0, 44, 0, 63, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0, 7, 0, 22, 1, 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1, 7, 0, 27, 1,
+ 7, 0, 28, 1, 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 67, 0, 7, 0, 31, 1, 7, 0, 32, 1, 7, 0, 33, 1, 7, 0, 34, 1,
+ 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1, 7, 0, 40, 1, 7, 0, 41, 1, 7, 0, 42, 1,
+ 2, 0, 43, 1, 2, 0, 44, 1, 2, 0, 45, 1, 2, 0, 46, 1, 2, 0, 47, 1, 2, 0, 48, 1, 2, 0, 49, 1, 2, 0, 17, 0,
+ 2, 0, 15, 0, 2, 0,239, 0, 7, 0, 50, 1, 7, 0, 51, 1, 7, 0, 52, 1, 7, 0, 53, 1, 4, 0, 54, 1, 4, 0, 55, 1,
+ 2, 0, 56, 1, 2, 0, 57, 1, 2, 0, 15, 1, 2, 0,122, 0, 4, 0, 21, 0, 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0,
+ 7, 0, 58, 1, 7, 0, 59, 1, 7, 0, 87, 0, 37, 0, 60, 1, 53, 0, 61, 1, 28, 0, 77, 0, 39, 0,235, 0, 45, 0, 62, 1,
+ 47, 0, 10, 1, 48, 0, 63, 1, 22, 0,146, 0, 50, 0, 64, 1, 52, 0, 65, 1, 0, 0, 66, 1, 0, 0,176, 0, 54, 0, 8, 0,
+ 7, 0, 67, 1, 7, 0, 68, 1, 7, 0,167, 0, 4, 0, 17, 0, 7, 0, 69, 1, 7, 0, 70, 1, 7, 0, 71, 1, 24, 0, 42, 0,
+ 55, 0, 72, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 72, 1, 2, 0,170, 0, 2, 0, 73, 1,
+ 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0, 74, 1, 7, 0, 75, 1, 7, 0, 76, 1, 7, 0, 77, 1,
+ 7, 0, 78, 1, 7, 0, 79, 1, 7, 0, 80, 1, 7, 0, 81, 1, 7, 0, 82, 1, 7, 0, 83, 1, 7, 0, 84, 1, 51, 0, 85, 1,
+ 2, 0,246, 0, 2, 0, 67, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0, 86, 1, 7, 0, 87, 1, 7, 0, 88, 1, 7, 0, 89, 1,
+ 7, 0, 90, 1, 2, 0, 91, 1, 2, 0, 92, 1, 2, 0, 93, 1, 2, 0, 94, 1, 0, 0, 95, 1, 0, 0, 96, 1, 2, 0, 97, 1,
+ 2, 0, 98, 1, 2, 0, 99, 1, 2, 0,100, 1, 2, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1, 7, 0,105, 1,
+ 2, 0,106, 1, 2, 0, 87, 0, 2, 0,107, 1, 2, 0,108, 1, 2, 0,109, 1, 2, 0,110, 1, 7, 0,111, 1, 7, 0,112, 1,
+ 7, 0,113, 1, 7, 0,114, 1, 7, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 7, 0,120, 1,
+ 7, 0,121, 1, 7, 0,122, 1, 2, 0,123, 1, 0, 0,124, 1, 28, 0, 77, 0, 43, 0,125, 1, 2, 0,126, 1, 0, 0,127, 1,
+ 22, 0,146, 0, 56, 0, 18, 0, 7, 0,128, 1, 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1, 7, 0,133, 1,
+ 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1, 7, 0,137, 1, 2, 0,138, 1, 2, 0,139, 1, 2, 0,140, 1, 2, 0,141, 1,
+ 7, 0,142, 1, 7, 0,143, 1, 7, 0,144, 1, 7, 0,145, 1, 57, 0,125, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,146, 1,
+ 2, 0, 17, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,147, 1, 7, 0,148, 1, 7, 0,149, 1, 7, 0,150, 1,
+ 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, 7, 0,155, 1, 7, 0,156, 1, 7, 0,157, 1, 7, 0,158, 1,
+ 7, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1, 7, 0,164, 1, 7, 0,165, 1, 7, 0,166, 1,
+ 56, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, 7, 0,174, 1,
+ 2, 0,175, 1, 2, 0,176, 1, 2, 0,177, 1, 0, 0,178, 1, 0, 0,179, 1, 7, 0,180, 1, 7, 0,181, 1, 2, 0,182, 1,
+ 2, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 7, 0,187, 1, 2, 0,188, 1, 2, 0,189, 1, 4, 0, 72, 1,
+ 4, 0,190, 1, 2, 0,191, 1, 2, 0,192, 1, 2, 0,193, 1, 2, 0,194, 1, 7, 0,195, 1, 7, 0,196, 1, 7, 0,197, 1,
+ 7, 0,198, 1, 7, 0,199, 1, 7, 0,200, 1, 7, 0,201, 1, 7, 0,202, 1, 7, 0,203, 1, 7, 0,204, 1, 0, 0,205, 1,
+ 7, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 4, 0,209, 1, 0, 0,210, 1, 0, 0,107, 1, 0, 0,211, 1, 0, 0, 66, 1,
+ 2, 0,212, 1, 2, 0,213, 1, 2, 0,126, 1, 2, 0,214, 1, 2, 0,215, 1, 2, 0,216, 1, 7, 0,217, 1, 7, 0,218, 1,
+ 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 2, 0,155, 0, 2, 0,156, 0, 47, 0,222, 1, 47, 0,223, 1, 0, 0,224, 1,
+ 0, 0,225, 1, 0, 0,226, 1, 0, 0,227, 1, 2, 0,228, 1, 2, 0,229, 1, 7, 0,230, 1, 7, 0,231, 1, 43, 0,125, 1,
+ 53, 0, 61, 1, 28, 0, 77, 0, 58, 0,232, 1, 22, 0,146, 0, 7, 0,233, 1, 7, 0,234, 1, 7, 0,235, 1, 7, 0,236, 1,
+ 7, 0,237, 1, 2, 0,238, 1, 2, 0, 67, 0, 7, 0,239, 1, 7, 0,240, 1, 7, 0,241, 1, 7, 0,242, 1, 7, 0,243, 1,
+ 7, 0,244, 1, 7, 0,245, 1, 7, 0,246, 1, 7, 0,247, 1, 2, 0,248, 1, 2, 0,249, 1, 4, 0,250, 1, 2, 0,251, 1,
+ 2, 0,252, 1, 12, 0,253, 1, 59, 0, 4, 0, 19, 0, 29, 0, 0, 0,254, 1, 60, 0, 2, 0, 35, 0,145, 0, 61, 0, 26, 0,
+ 61, 0, 0, 0, 61, 0, 1, 0, 62, 0,255, 1, 4, 0, 0, 2, 4, 0, 1, 2, 4, 0, 2, 2, 4, 0, 3, 2, 4, 0, 4, 2,
+ 4, 0, 5, 2, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 6, 2, 2, 0, 7, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 8, 2,
+ 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 11, 2, 7, 0, 12, 2, 7, 0, 13, 2, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0, 21, 0,
+ 7, 0, 16, 2, 7, 0, 17, 2, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,255, 1, 12, 0, 18, 2, 12, 0, 19, 2,
+ 12, 0, 20, 2, 28, 0, 77, 0, 57, 0, 21, 2, 0, 0, 17, 0, 0, 0, 22, 2, 2, 0, 23, 2, 2, 0,169, 0, 2, 0, 35, 0,
+ 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 7, 0, 24, 2, 7, 0, 25, 2, 7, 0, 26, 2, 61, 0, 27, 2, 27, 0, 11, 0,
+ 7, 0, 28, 2, 7, 0, 29, 2, 7, 0, 30, 2, 7, 0,248, 0, 2, 0, 52, 0, 0, 0, 31, 2, 0, 0, 32, 2, 0, 0, 33, 2,
+ 0, 0, 34, 2, 0, 0, 35, 2, 0, 0, 36, 2, 26, 0, 7, 0, 7, 0, 37, 2, 7, 0, 29, 2, 7, 0, 30, 2, 2, 0, 33, 2,
+ 2, 0, 36, 2, 7, 0,248, 0, 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0, 64, 0, 1, 0, 2, 0, 15, 0, 2, 0, 38, 2,
+ 2, 0, 36, 2, 2, 0, 17, 0, 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 43, 2, 2, 0, 44, 2,
+ 2, 0, 45, 2, 2, 0, 46, 2, 7, 0, 47, 2, 7, 0, 48, 2, 26, 0, 46, 0, 27, 0, 47, 0, 2, 0, 49, 2, 2, 0, 50, 2,
+ 4, 0, 51, 2, 65, 0, 5, 0, 2, 0, 52, 2, 2, 0, 38, 2, 0, 0, 17, 0, 0, 0, 35, 0, 2, 0, 67, 0, 66, 0, 4, 0,
+ 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 53, 2, 7, 0, 54, 2, 67, 0, 4, 0, 12, 0, 55, 2, 68, 0, 56, 2, 4, 0, 57, 2,
+ 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,255, 1, 12, 0, 58, 2, 12, 0, 19, 2, 67, 0, 59, 2,
+ 24, 0, 60, 2, 24, 0, 61, 2, 24, 0, 62, 2, 28, 0, 77, 0, 70, 0, 63, 2, 30, 0, 64, 2, 57, 0, 21, 2, 12, 0, 65, 2,
+ 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 87, 0, 2, 0, 66, 2, 2, 0, 67, 2, 7, 0, 68, 2,
+ 7, 0, 69, 2, 4, 0, 70, 2, 2, 0, 35, 0, 2, 0, 23, 2, 2, 0, 17, 0, 2, 0, 71, 2, 7, 0, 72, 2, 7, 0, 73, 2,
+ 7, 0, 74, 2, 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 75, 2, 2, 0, 76, 2, 4, 0, 77, 2, 9, 0, 78, 2, 2, 0, 21, 0,
+ 2, 0, 93, 0, 2, 0, 64, 0, 2, 0, 79, 2, 7, 0, 80, 2, 7, 0, 81, 2, 7, 0, 82, 2, 7, 0, 83, 2, 7, 0, 84, 2,
+ 7, 0, 85, 2, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0, 89, 2, 0, 0, 90, 2, 71, 0, 91, 2, 72, 0, 92, 2,
+ 0, 0, 93, 2, 59, 0, 94, 2, 59, 0, 95, 2, 59, 0, 96, 2, 59, 0, 97, 2, 4, 0, 98, 2, 7, 0, 99, 2, 4, 0,100, 2,
+ 4, 0,101, 2, 66, 0,102, 2, 4, 0,103, 2, 4, 0,104, 2, 65, 0,105, 2, 65, 0,106, 2, 73, 0, 39, 0, 19, 0, 29, 0,
+ 31, 0, 72, 0, 62, 0,255, 1, 28, 0, 77, 0, 30, 0, 64, 2, 57, 0, 21, 2, 74, 0,107, 2, 75, 0,108, 2, 76, 0,109, 2,
+ 77, 0,110, 2, 78, 0,111, 2, 79, 0,112, 2, 80, 0,113, 2, 81, 0,114, 2, 73, 0,115, 2, 82, 0,116, 2, 83, 0,117, 2,
+ 84, 0,118, 2, 84, 0,119, 2, 84, 0,120, 2, 4, 0, 51, 0, 4, 0,121, 2, 4, 0,122, 2, 4, 0,123, 2, 4, 0,124, 2,
+ 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 66, 2, 2, 0,125, 2, 2, 0, 17, 0, 2, 0,126, 2,
+ 2, 0,127, 2, 0, 0,128, 2, 0, 0,129, 2, 2, 0, 23, 2, 85, 0,130, 2, 86, 0,131, 2, 76, 0, 8, 0, 9, 0,132, 2,
+ 7, 0,133, 2, 4, 0,134, 2, 0, 0, 17, 0, 0, 0,135, 2, 2, 0, 72, 1, 2, 0,136, 2, 2, 0,137, 2, 74, 0, 7, 0,
+ 4, 0,138, 2, 4, 0,139, 2, 4, 0,140, 2, 4, 0,141, 2, 2, 0, 38, 2, 0, 0,142, 2, 0, 0, 17, 0, 78, 0, 5, 0,
+ 4, 0,138, 2, 4, 0,139, 2, 0, 0,143, 2, 0, 0,144, 2, 2, 0, 17, 0, 87, 0, 2, 0, 4, 0,145, 2, 7, 0, 30, 2,
+ 79, 0, 3, 0, 87, 0,146, 2, 4, 0,147, 2, 4, 0, 17, 0, 77, 0, 4, 0, 7, 0,148, 2, 2, 0,149, 2, 0, 0, 17, 0,
+ 0, 0,144, 2, 80, 0, 4, 0, 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0, 0, 0,179, 0, 88, 0, 6, 0, 39, 0,132, 2,
+ 0, 0, 17, 0, 0, 0,135, 2, 2, 0, 72, 1, 2, 0,136, 2, 2, 0,137, 2, 89, 0, 1, 0, 7, 0,150, 2, 90, 0, 5, 0,
+ 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0, 0, 0,179, 0, 4, 0, 35, 0, 81, 0, 1, 0, 7, 0,151, 2, 82, 0, 2, 0,
+ 4, 0,252, 1, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,133, 2, 39, 0,132, 2, 0, 0, 17, 0, 0, 0,135, 2, 2, 0, 72, 1,
+ 2, 0,136, 2, 2, 0,137, 2, 91, 0, 1, 0, 7, 0,152, 2, 92, 0, 1, 0, 4, 0,153, 2, 93, 0, 1, 0, 0, 0,154, 2,
+ 94, 0, 1, 0, 7, 0,133, 2, 95, 0, 3, 0, 4, 0,155, 2, 0, 0, 90, 0, 7, 0,156, 2, 96, 0, 4, 0, 7, 0,233, 0,
+ 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 97, 0, 1, 0, 96, 0,134, 2, 98, 0, 5, 0, 4, 0,157, 2, 4, 0,158, 2,
+ 0, 0, 17, 0, 0, 0, 38, 2, 0, 0,159, 2, 99, 0, 2, 0, 4, 0,160, 2, 4, 0,158, 2,100, 0, 10, 0,100, 0, 0, 0,
+100, 0, 1, 0, 98, 0,161, 2, 97, 0,162, 2, 99, 0,163, 2, 4, 0, 51, 0, 4, 0,122, 2, 4, 0,121, 2, 4, 0, 35, 0,
+ 77, 0,164, 2, 85, 0, 14, 0, 12, 0,165, 2, 77, 0,164, 2, 0, 0,166, 2, 0, 0,167, 2, 0, 0,168, 2, 0, 0,169, 2,
+ 0, 0,170, 2, 0, 0,171, 2, 0, 0,172, 2, 0, 0, 17, 0, 84, 0,118, 2, 84, 0,120, 2, 2, 0,173, 2, 0, 0,174, 2,
+ 86, 0, 8, 0, 4, 0,175, 2, 4, 0,176, 2, 74, 0,177, 2, 78, 0,178, 2, 4, 0,122, 2, 4, 0,121, 2, 4, 0, 51, 0,
+ 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0, 4, 0, 15, 0, 4, 0, 72, 1, 4, 0,179, 2, 4, 0, 35, 0,
+ 0, 0, 18, 0, 38, 0,117, 0, 0, 0,180, 2,102, 0, 6, 0,101, 0,181, 2, 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2,
+ 4, 0,185, 2, 4, 0,186, 2,103, 0, 7, 0,101, 0,181, 2, 2, 0,187, 2, 2, 0,165, 2, 2, 0,188, 2, 2, 0, 88, 0,
+ 9, 0,189, 2, 9, 0,190, 2,104, 0, 3, 0,101, 0,181, 2, 24, 0,159, 0, 0, 0, 18, 0,105, 0, 5, 0,101, 0,181, 2,
+ 24, 0,159, 0, 0, 0, 18, 0, 2, 0,191, 2, 0, 0,192, 2,106, 0, 5, 0,101, 0,181, 2, 7, 0, 85, 0, 7, 0,193, 2,
+ 4, 0,194, 2, 4, 0,195, 2,107, 0, 5, 0,101, 0,181, 2, 24, 0,196, 2, 0, 0, 69, 0, 4, 0, 72, 1, 4, 0, 17, 0,
+108, 0, 13, 0,101, 0,181, 2, 24, 0,197, 2, 24, 0,198, 2, 24, 0,199, 2, 24, 0,200, 2, 7, 0,201, 2, 7, 0,202, 2,
+ 7, 0,193, 2, 7, 0,203, 2, 4, 0,204, 2, 4, 0,205, 2, 4, 0, 88, 0, 4, 0,206, 2,109, 0, 5, 0,101, 0,181, 2,
+ 2, 0,207, 2, 2, 0, 17, 0, 7, 0,208, 2, 24, 0,209, 2,110, 0, 3, 0,101, 0,181, 2, 7, 0,210, 2, 4, 0, 88, 0,
+111, 0, 10, 0,101, 0,181, 2, 7, 0,211, 2, 4, 0,212, 2, 4, 0, 35, 0, 2, 0, 88, 0, 2, 0,213, 2, 2, 0,214, 2,
+ 2, 0,215, 2, 7, 0,216, 2, 0, 0,217, 2,112, 0, 3, 0,101, 0,181, 2, 7, 0, 35, 0, 4, 0, 15, 0,113, 0, 6, 0,
+101, 0,181, 2,114, 0,218, 2,115, 0,219, 2,116, 0,220, 2, 7, 0,221, 2, 4, 0, 15, 0,117, 0, 11, 0,101, 0,181, 2,
+ 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2, 4, 0,185, 2, 4, 0,186, 2, 4, 0,222, 2, 7, 0,223, 2, 4, 0,224, 2,
+ 0, 0,217, 2, 7, 0,225, 2,118, 0, 12, 0,101, 0,181, 2, 24, 0,226, 2, 39, 0,227, 2, 4, 0, 88, 0, 4, 0,228, 2,
+ 7, 0,229, 2, 7, 0,230, 2, 7, 0,231, 2, 7, 0,232, 2, 0, 0,184, 2, 4, 0,185, 2, 4, 0, 35, 0,119, 0, 3, 0,
+101, 0,181, 2, 7, 0,233, 2, 4, 0,234, 2,120, 0, 5, 0,101, 0,181, 2, 7, 0,235, 2, 0, 0,217, 2, 2, 0, 17, 0,
+ 2, 0,236, 2,121, 0, 8, 0,101, 0,181, 2, 24, 0,159, 0, 7, 0,235, 2, 7, 0,248, 0, 7, 0,104, 0, 0, 0,217, 2,
+ 2, 0, 17, 0, 2, 0, 15, 0,122, 0, 21, 0,101, 0,181, 2, 24, 0,237, 2, 0, 0,217, 2, 44, 0,182, 2, 24, 0,183, 2,
+ 2, 0, 17, 0, 2, 0, 35, 0, 7, 0,238, 2, 7, 0,239, 2, 7, 0,240, 2, 7, 0, 72, 2, 7, 0,241, 2, 7, 0,242, 2,
+ 7, 0,243, 2, 7, 0,244, 2, 4, 0,186, 2, 4, 0,185, 2, 0, 0,184, 2, 7, 0,245, 2, 7, 0,246, 2, 7, 0, 87, 0,
+123, 0, 7, 0,101, 0,181, 2, 2, 0,247, 2, 2, 0,248, 2, 4, 0, 67, 0, 24, 0,159, 0, 7, 0,249, 2, 0, 0,217, 2,
+124, 0, 10, 0,101, 0,181, 2, 24, 0,159, 0, 0, 0,250, 2, 7, 0,251, 2, 7, 0,252, 2, 7, 0,244, 2, 4, 0,253, 2,
+ 4, 0,254, 2, 7, 0,255, 2, 0, 0, 18, 0,125, 0, 1, 0,101, 0,181, 2,126, 0, 7, 0,101, 0,181, 2, 38, 0,117, 0,
+127, 0, 0, 3,128, 0, 1, 3,129, 0, 2, 3,130, 0, 3, 3, 12, 0, 4, 3,131, 0, 13, 0,101, 0,181, 2, 77, 0, 5, 3,
+ 77, 0, 6, 3, 77, 0, 7, 3, 77, 0, 8, 3, 77, 0, 9, 3, 77, 0, 10, 3, 74, 0, 11, 3, 4, 0, 12, 3, 4, 0, 13, 3,
+ 7, 0, 14, 3, 7, 0, 15, 3,132, 0, 16, 3,133, 0, 7, 0,101, 0,181, 2, 77, 0, 5, 3, 77, 0, 17, 3,134, 0, 18, 3,
+135, 0, 16, 3, 4, 0, 19, 3, 4, 0, 12, 3,136, 0, 4, 0,101, 0,181, 2, 24, 0,159, 0, 4, 0, 20, 3, 4, 0, 35, 0,
+137, 0, 2, 0, 4, 0, 21, 3, 7, 0, 30, 2,138, 0, 2, 0, 4, 0,120, 0, 4, 0, 22, 3,139, 0, 24, 0,101, 0,181, 2,
+ 24, 0,159, 0, 0, 0,217, 2, 2, 0, 23, 3, 2, 0, 17, 0, 2, 0, 72, 1, 2, 0, 35, 0,137, 0, 24, 3, 4, 0, 25, 3,
+ 7, 0, 26, 3, 4, 0, 51, 0, 4, 0, 27, 3,138, 0, 28, 3,137, 0, 29, 3, 4, 0, 30, 3, 4, 0, 31, 3, 4, 0, 32, 3,
+ 4, 0, 22, 3, 7, 0, 33, 3, 7, 0, 34, 3, 7, 0, 35, 3, 7, 0, 36, 3, 7, 0, 37, 3, 9, 0, 38, 3,140, 0, 8, 0,
+101, 0,181, 2,141, 0, 39, 3,134, 0, 18, 3, 4, 0, 40, 3, 4, 0, 41, 3, 4, 0, 42, 3, 2, 0, 17, 0, 2, 0, 54, 0,
+142, 0, 8, 0,101, 0,181, 2, 24, 0, 42, 0, 2, 0,252, 0, 2, 0, 17, 0, 2, 0,207, 2, 2, 0, 54, 0, 7, 0, 43, 3,
+ 7, 0, 44, 3,143, 0, 6, 0,101, 0,181, 2, 4, 0, 45, 3, 2, 0, 17, 0, 2, 0, 46, 3, 7, 0, 47, 3, 0, 0,161, 0,
+144, 0, 8, 0,101, 0,181, 2, 0, 0, 48, 3, 0, 0, 49, 3, 0, 0,171, 2, 0, 0, 50, 3, 0, 0, 51, 3, 0, 0, 88, 0,
+ 0, 0,159, 2,145, 0, 3, 0,101, 0,181, 2,146, 0, 52, 3,130, 0, 3, 3,147, 0, 10, 0,101, 0,181, 2, 24, 0, 53, 3,
+ 24, 0, 54, 3, 0, 0, 55, 3, 7, 0, 56, 3, 2, 0, 57, 3, 2, 0, 58, 3, 0, 0, 59, 3, 0, 0, 60, 3, 0, 0,192, 2,
+148, 0, 9, 0,101, 0,181, 2, 24, 0, 61, 3, 0, 0, 55, 3, 7, 0, 62, 3, 7, 0, 63, 3, 0, 0, 72, 1, 0, 0,207, 2,
+ 0, 0, 64, 3, 0, 0, 35, 0,149, 0, 1, 0,101, 0,181, 2,150, 0, 11, 0,101, 0,181, 2, 0, 0,217, 2, 7, 0,120, 0,
+ 7, 0, 65, 3, 7, 0, 66, 3, 7, 0, 67, 3, 7, 0, 68, 3, 4, 0, 17, 0, 2, 0, 69, 3, 2, 0, 70, 3, 4, 0, 35, 0,
+151, 0, 9, 0,101, 0,181, 2, 24, 0, 71, 3, 4, 0, 72, 3, 4, 0, 73, 3, 4, 0, 74, 3, 7, 0, 75, 3, 7, 0, 76, 3,
+ 2, 0,207, 2, 2, 0, 17, 0,152, 0, 16, 0,101, 0,181, 2, 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2, 4, 0,185, 2,
+ 4, 0,186, 2, 4, 0,222, 2, 7, 0,223, 2, 24, 0, 77, 3, 24, 0, 78, 3, 51, 0, 85, 1, 0, 0,217, 2, 7, 0, 79, 3,
+ 0, 0, 17, 0, 0, 0,246, 0, 0, 0,159, 2,153, 0, 3, 0,154, 0, 80, 3, 4, 0, 57, 2, 0, 0, 90, 0,154, 0, 29, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 81, 3, 2, 0, 17, 0, 2, 0, 82, 3, 2, 0, 83, 3,
+ 2, 0, 84, 3, 2, 0, 67, 0, 0, 0, 85, 3, 0, 0, 86, 3, 0, 0, 87, 3, 0, 0,229, 1, 4, 0, 35, 0, 7, 0, 88, 3,
+ 7, 0, 89, 3, 7, 0, 90, 3, 7, 0, 91, 3, 7, 0, 92, 3, 7, 0, 93, 3, 26, 0, 94, 3, 28, 0, 77, 0, 30, 0, 64, 2,
+ 79, 0,112, 2, 0, 0, 69, 0, 7, 0, 95, 3, 7, 0, 96, 3,153, 0, 97, 3,155, 0, 3, 0,155, 0, 0, 0,155, 0, 1, 0,
+ 0, 0, 18, 0, 62, 0, 3, 0, 7, 0, 98, 3, 4, 0, 17, 0, 4, 0, 35, 0, 24, 0,129, 0, 19, 0, 29, 0, 31, 0, 72, 0,
+156, 0, 99, 3, 2, 0, 15, 0, 2, 0,100, 3, 4, 0,101, 3, 4, 0,102, 3, 4, 0,103, 3, 0, 0,104, 3, 24, 0, 36, 0,
+ 24, 0,105, 3, 24, 0,106, 3, 24, 0,107, 3, 24, 0,108, 3, 28, 0, 77, 0, 70, 0, 63, 2, 62, 0,255, 1,157, 0,109, 3,
+157, 0,110, 3,158, 0,111, 3, 9, 0, 2, 0,159, 0,112, 3,160, 0,113, 3,161, 0,114, 3, 12, 0,115, 3, 12, 0,116, 3,
+ 12, 0, 19, 2, 12, 0,117, 3, 12, 0,118, 3, 4, 0, 72, 1, 4, 0,119, 3, 57, 0, 21, 2, 0, 0,120, 3, 4, 0, 23, 2,
+ 4, 0,121, 3, 7, 0, 67, 1, 7, 0,122, 3, 7, 0,123, 3, 7, 0,167, 0, 7, 0,124, 3, 7, 0, 68, 1, 7, 0,125, 3,
+ 7, 0, 9, 2, 7, 0,126, 3, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3, 7, 0,130, 3, 7, 0,131, 3, 7, 0,251, 2,
+ 7, 0,132, 3, 7, 0,237, 0, 7, 0,133, 3, 4, 0,134, 3, 2, 0, 17, 0, 2, 0,135, 3, 2, 0,136, 3, 2, 0,137, 3,
+ 2, 0,138, 3, 2, 0,139, 3, 2, 0,140, 3, 2, 0,141, 3, 2, 0,142, 3, 2, 0,143, 3, 2, 0,144, 3, 2, 0,145, 3,
+ 4, 0,146, 3, 4, 0,147, 3, 4, 0,148, 3, 4, 0,149, 3, 7, 0,150, 3, 7, 0, 99, 2, 7, 0,151, 3, 7, 0,152, 3,
+ 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,212, 0, 7, 0,156, 3, 7, 0,157, 3, 7, 0,158, 3, 7, 0,159, 3,
+ 2, 0,160, 3, 0, 0,161, 3, 0, 0,106, 0, 0, 0,162, 3, 0, 0,163, 3, 7, 0,164, 3, 7, 0,165, 3, 12, 0,166, 3,
+ 12, 0,167, 3, 12, 0,168, 3, 12, 0,169, 3, 7, 0,170, 3, 2, 0,252, 1, 2, 0,171, 3, 7, 0,134, 2, 4, 0,172, 3,
+ 4, 0,173, 3,162, 0,174, 3, 2, 0,175, 3, 2, 0,244, 0, 7, 0,176, 3, 12, 0,177, 3, 12, 0,178, 3, 12, 0,179, 3,
+ 12, 0,180, 3,163, 0, 64, 1,164, 0,181, 3, 58, 0,182, 3, 2, 0,183, 3, 2, 0,184, 3, 2, 0, 57, 2, 2, 0,185, 3,
+ 7, 0,125, 2, 2, 0,186, 3, 2, 0,187, 3,146, 0,188, 3,134, 0,189, 3,134, 0,190, 3, 4, 0,191, 3, 4, 0,192, 3,
+ 4, 0,193, 3, 4, 0,194, 3, 12, 0,195, 3, 12, 0,196, 3, 12, 0,197, 3, 7, 0,198, 3, 0, 0,199, 3,165, 0, 14, 0,
+165, 0, 0, 0,165, 0, 1, 0, 24, 0, 36, 0, 7, 0,251, 2, 7, 0, 69, 1, 7, 0,252, 2, 7, 0,244, 2, 0, 0, 18, 0,
+ 4, 0,253, 2, 4, 0,254, 2, 4, 0,200, 3, 2, 0, 15, 0, 2, 0,201, 3, 7, 0,255, 2,166, 0, 12, 0,166, 0, 0, 0,
+166, 0, 1, 0, 24, 0, 42, 0, 4, 0,202, 3, 4, 0,252, 1, 4, 0,203, 3, 4, 0, 15, 0, 4, 0,204, 3, 7, 0, 69, 1,
+ 7, 0,205, 3, 7, 0,206, 3, 7, 0,150, 2,163, 0, 40, 0, 4, 0, 17, 0, 2, 0,207, 3, 2, 0,208, 3, 2, 0,244, 2,
+ 2, 0,209, 3, 2, 0,210, 3, 2, 0,211, 3, 2, 0,212, 3, 2, 0,213, 3, 7, 0,214, 3, 7, 0,215, 3, 7, 0,216, 3,
+ 7, 0,217, 3, 7, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3, 7, 0,221, 3, 7, 0,222, 3, 7, 0,223, 3, 7, 0,224, 3,
+ 7, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3, 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3, 7, 0,231, 3, 7, 0,232, 3,
+ 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3, 7, 0,236, 3, 7, 0,237, 3, 7, 0,238, 3, 7, 0,239, 3, 7, 0,240, 3,
+ 44, 0,160, 0,167, 0,241, 3, 7, 0,242, 3, 4, 0,195, 2,168, 0, 5, 0, 58, 0,232, 1, 7, 0,243, 3, 7, 0,244, 3,
+ 2, 0, 17, 0, 2, 0,245, 3,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0, 4, 0, 15, 0, 4, 0,246, 3, 9, 0, 2, 0,
+170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 0,247, 3, 4, 0,248, 3, 4, 0,249, 3, 4, 0, 17, 0, 9, 0,250, 3,
+ 9, 0,251, 3, 12, 0,252, 3,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0, 4, 0, 17, 0, 4, 0,253, 3, 4, 0,254, 3,
+ 4, 0,255, 3, 4, 0, 0, 4, 4, 0, 1, 4, 4, 0, 2, 4, 4, 0,248, 3, 4, 0,252, 1, 2, 0, 3, 4, 2, 0, 54, 0,
+ 0, 0, 4, 4, 0, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4, 0, 0, 8, 4, 12, 0, 9, 4,171, 0, 10, 4, 9, 0, 11, 4,
+172, 0, 1, 0, 7, 0, 37, 2,162, 0, 30, 0, 4, 0, 17, 0, 7, 0, 12, 4, 7, 0, 13, 4, 7, 0, 14, 4, 4, 0, 15, 4,
+ 4, 0, 16, 4, 4, 0, 17, 4, 4, 0, 18, 4, 7, 0, 19, 4, 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4, 7, 0, 23, 4,
+ 7, 0, 24, 4, 7, 0, 25, 4, 7, 0, 26, 4, 7, 0, 27, 4, 7, 0, 28, 4, 7, 0, 29, 4, 7, 0, 30, 4, 7, 0, 31, 4,
+ 7, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4, 7, 0, 35, 4, 7, 0, 36, 4, 4, 0, 37, 4, 4, 0, 38, 4, 7, 0, 39, 4,
+ 7, 0,156, 3,164, 0, 54, 0, 4, 0,248, 3, 4, 0, 40, 4,173, 0, 41, 4,174, 0, 42, 4, 0, 0, 35, 0, 0, 0, 43, 4,
+ 2, 0, 44, 4, 7, 0, 45, 4, 0, 0, 46, 4, 7, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4,
+ 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 4, 7, 0, 55, 4, 2, 0, 56, 4, 0, 0, 57, 4, 2, 0, 58, 4, 7, 0, 59, 4,
+ 7, 0, 60, 4, 0, 0, 61, 4, 4, 0,121, 0, 4, 0, 62, 4, 4, 0, 63, 4, 2, 0, 64, 4, 2, 0, 65, 4,172, 0, 66, 4,
+ 4, 0, 67, 4, 4, 0, 79, 0, 7, 0, 68, 4, 7, 0, 69, 4, 7, 0, 70, 4, 7, 0, 71, 4, 2, 0, 72, 4, 2, 0, 73, 4,
+ 2, 0, 74, 4, 2, 0, 75, 4, 2, 0, 76, 4, 2, 0, 77, 4, 2, 0, 78, 4, 2, 0, 79, 4,175, 0, 80, 4, 7, 0, 81, 4,
+ 7, 0, 82, 4,130, 0, 83, 4, 12, 0, 4, 3,168, 0, 84, 4, 7, 0, 85, 4, 7, 0, 86, 4, 7, 0, 87, 4, 0, 0, 88, 4,
+176, 0, 1, 0, 7, 0, 89, 4,146, 0, 50, 0,145, 0, 90, 4, 2, 0, 15, 0, 2, 0, 91, 4, 2, 0, 92, 4, 2, 0, 93, 4,
+ 7, 0, 94, 4, 2, 0, 95, 4, 2, 0, 96, 4, 7, 0, 97, 4, 2, 0, 98, 4, 2, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4,
+ 7, 0,102, 4, 4, 0,103, 4, 4, 0,104, 4, 7, 0,105, 4, 4, 0,106, 4, 7, 0,107, 4, 7, 0,108, 4, 7, 0,109, 4,
+ 73, 0,110, 4, 73, 0,111, 4, 0, 0,112, 4, 7, 0,113, 4, 7, 0,114, 4, 28, 0, 77, 0, 2, 0,115, 4, 0, 0,116, 4,
+ 0, 0,117, 4, 7, 0,118, 4, 4, 0,119, 4, 7, 0,120, 4, 7, 0,121, 4, 4, 0,122, 4, 4, 0, 17, 0, 7, 0,123, 4,
+ 7, 0,124, 4, 7, 0,125, 4,176, 0,126, 4, 4, 0, 51, 0, 7, 0,127, 4, 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4,
+ 7, 0,131, 4, 7, 0,132, 4, 7, 0,133, 4, 4, 0,134, 4, 4, 0, 35, 0,177, 0, 76, 0, 19, 0, 29, 0, 31, 0, 72, 0,
+ 2, 0,170, 0, 2, 0, 73, 1, 2, 0,107, 1, 2, 0,135, 4, 7, 0,136, 4, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4,
+ 7, 0,140, 4, 7, 0,141, 4, 7, 0,153, 1, 7, 0,155, 1, 7, 0,154, 1, 7, 0, 67, 0, 4, 0,142, 4, 7, 0,143, 4,
+ 7, 0,144, 4, 7, 0,145, 4, 7, 0,146, 4, 7, 0,147, 4, 7, 0,148, 4, 7, 0,149, 4, 2, 0,150, 4, 2, 0, 72, 1,
+ 2, 0,151, 4, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 7, 0,157, 4, 7, 0,158, 4,
+ 7, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4, 7, 0,163, 4, 7, 0,164, 4, 7, 0,165, 4, 7, 0,166, 4,
+ 7, 0,167, 4, 7, 0,168, 4, 2, 0,169, 4, 2, 0,170, 4, 2, 0,171, 4, 2, 0,172, 4, 7, 0,173, 4, 7, 0,174, 4,
+ 7, 0,175, 4, 7, 0,176, 4, 2, 0,177, 4, 2, 0,178, 4, 2, 0,179, 4, 2, 0,180, 4, 7, 0,181, 4, 7, 0,182, 4,
+ 7, 0,183, 4, 7, 0,184, 4, 7, 0,185, 4, 7, 0,186, 4, 7, 0,187, 4, 2, 0,188, 4, 2, 0,189, 4, 2, 0,190, 4,
+ 2, 0,191, 4, 2, 0,192, 4, 2, 0, 17, 0, 7, 0,193, 4, 7, 0,194, 4, 28, 0, 77, 0, 43, 0,125, 1, 2, 0,126, 1,
+ 2, 0,195, 4, 22, 0,146, 0,178, 0, 8, 0,178, 0, 0, 0,178, 0, 1, 0, 4, 0,134, 3, 4, 0,196, 4, 4, 0, 17, 0,
+ 2, 0,197, 4, 2, 0,198, 4, 24, 0,159, 0,179, 0, 13, 0, 9, 0,199, 4, 9, 0,200, 4, 4, 0,201, 4, 4, 0,202, 4,
+ 4, 0,203, 4, 4, 0,204, 4, 4, 0,205, 4, 4, 0,206, 4, 4, 0,207, 4, 4, 0,208, 4, 4, 0,209, 4, 4, 0, 35, 0,
+ 0, 0,210, 4,180, 0, 5, 0, 9, 0,211, 4, 9, 0,212, 4, 4, 0,213, 4, 4, 0, 67, 0, 0, 0,214, 4,181, 0, 17, 0,
+ 4, 0,215, 4, 4, 0,216, 4, 4, 0,217, 4, 4, 0,218, 4, 4, 0,219, 4, 4, 0,220, 4, 4, 0,221, 4, 4, 0,222, 4,
+ 4, 0,223, 4, 4, 0,224, 4, 4, 0,225, 4, 4, 0,226, 4, 2, 0,227, 4, 2, 0,228, 4, 4, 0,229, 4, 4, 0,230, 4,
+ 4, 0, 87, 0,182, 0, 15, 0, 4, 0, 15, 0, 4, 0,217, 4, 4, 0,231, 4, 4, 0,232, 4, 4, 0,233, 4, 4, 0,234, 4,
+ 7, 0,235, 4, 4, 0,236, 4, 4, 0, 88, 0, 4, 0,237, 4, 4, 0,238, 4, 4, 0,239, 4, 4, 0,240, 4, 4, 0,241, 4,
+ 18, 0, 28, 0,183, 0, 7, 0, 4, 0,242, 4, 7, 0,243, 4, 7, 0,244, 4, 7, 0,245, 4, 4, 0,246, 4, 2, 0, 17, 0,
+ 2, 0, 35, 0,184, 0, 11, 0,184, 0, 0, 0,184, 0, 1, 0, 0, 0, 18, 0, 57, 0,247, 4, 58, 0,248, 4, 4, 0,134, 3,
+ 4, 0,249, 4, 4, 0,250, 4, 4, 0, 35, 0, 4, 0,251, 4, 4, 0,252, 4,185, 0,105, 0,179, 0,253, 4,180, 0,254, 4,
+181, 0,255, 4,182, 0, 0, 5, 4, 0, 19, 3, 4, 0,121, 0, 4, 0, 62, 4, 7, 0, 1, 5, 4, 0, 2, 5, 4, 0, 3, 5,
+ 4, 0, 4, 5, 4, 0, 5, 5, 2, 0, 17, 0, 2, 0, 6, 5, 7, 0, 7, 5, 7, 0, 8, 5, 7, 0, 9, 5, 7, 0, 10, 5,
+ 7, 0, 11, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5, 2, 0, 15, 5, 2, 0,243, 0, 2, 0, 16, 5, 4, 0, 17, 5,
+ 2, 0, 18, 5, 2, 0, 19, 5, 2, 0, 94, 1, 2, 0,104, 0, 2, 0, 20, 5, 2, 0, 21, 5, 2, 0, 22, 5, 2, 0, 23, 5,
+ 2, 0, 24, 5, 2, 0, 25, 5, 2, 0, 26, 5, 2, 0, 27, 5, 2, 0, 28, 5, 2, 0, 29, 5, 4, 0, 30, 5, 4, 0, 72, 1,
+ 4, 0, 31, 5, 2, 0, 32, 5, 2, 0, 33, 5, 2, 0, 34, 5, 2, 0, 35, 5, 2, 0, 36, 5, 2, 0, 37, 5, 2, 0, 38, 5,
+ 2, 0, 39, 5, 16, 0, 40, 5, 16, 0, 41, 5, 15, 0, 42, 5, 12, 0, 43, 5, 2, 0, 44, 5, 2, 0, 45, 5, 7, 0, 46, 5,
+ 7, 0, 47, 5, 7, 0, 48, 5, 7, 0, 49, 5, 4, 0, 50, 5, 7, 0, 51, 5, 7, 0, 52, 5, 7, 0, 53, 5, 7, 0, 54, 5,
+ 2, 0, 55, 5, 2, 0, 56, 5, 2, 0, 57, 5, 2, 0, 58, 5, 2, 0, 59, 5, 2, 0, 60, 5, 7, 0, 61, 5, 7, 0, 62, 5,
+ 7, 0, 63, 5, 0, 0, 64, 5, 4, 0, 65, 5, 2, 0, 66, 5, 2, 0,229, 1, 0, 0, 67, 5, 7, 0, 68, 5, 7, 0, 69, 5,
+ 0, 0, 70, 5, 0, 0, 71, 5, 0, 0, 72, 5, 0, 0, 73, 5, 4, 0, 74, 5, 2, 0, 75, 5, 2, 0, 76, 5, 7, 0, 77, 5,
+ 7, 0, 78, 5, 2, 0, 79, 5, 2, 0, 80, 5, 7, 0, 81, 5, 2, 0, 82, 5, 2, 0, 83, 5, 4, 0, 84, 5, 2, 0, 85, 5,
+ 2, 0, 86, 5, 2, 0, 87, 5, 2, 0, 88, 5, 7, 0, 89, 5, 7, 0, 67, 0, 34, 0, 90, 5, 0, 0, 91, 5,186, 0, 9, 0,
+186, 0, 0, 0,186, 0, 1, 0, 0, 0, 18, 0, 2, 0, 92, 5, 2, 0, 93, 5, 2, 0, 94, 5, 2, 0, 87, 0, 7, 0, 95, 5,
+ 7, 0, 67, 0,187, 0, 7, 0, 2, 0,212, 2, 2, 0, 72, 1, 2, 0, 76, 3, 2, 0, 96, 5, 7, 0, 97, 5, 7, 0, 67, 0,
+ 34, 0, 98, 5,188, 0, 5, 0, 7, 0, 99, 5, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 67, 0, 0, 0,229, 1,189, 0, 28, 0,
+ 7, 0,148, 4, 7, 0,149, 4, 2, 0, 72, 1, 2, 0, 17, 0, 2, 0,100, 5, 2, 0,195, 4, 2, 0,151, 4, 2, 0,152, 4,
+ 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4,188, 0,101, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5,
+ 2, 0, 15, 5, 2, 0,243, 0, 2, 0, 16, 5, 2, 0,102, 5, 2, 0,103, 5,187, 0,104, 5, 2, 0,105, 5, 2, 0, 18, 5,
+ 2, 0, 21, 5, 2, 0, 22, 5, 7, 0,106, 5, 7, 0, 87, 0,190, 0, 6, 0,190, 0, 0, 0,190, 0, 1, 0, 4, 0,247, 3,
+ 0, 0, 4, 4, 4, 0, 17, 0, 24, 0,107, 5,191, 0, 4, 0,192, 0,108, 5, 9, 0,109, 5, 0, 0,110, 5, 4, 0, 88, 0,
+193, 0, 8, 0,191, 0,111, 5, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0,112, 5, 2, 0,113, 5, 2, 0,114, 5, 4, 0, 87, 0,
+ 9, 0,115, 5,194, 0, 6, 0, 2, 0,104, 0, 2, 0,253, 3, 2, 0,116, 5, 2, 0,206, 2, 4, 0, 17, 0, 7, 0,223, 2,
+195, 0, 14, 0, 2, 0, 17, 0, 2, 0,117, 5, 2, 0,118, 5, 2, 0,119, 5,194, 0,120, 5, 9, 0,115, 5, 7, 0,121, 5,
+ 7, 0, 54, 0, 4, 0,122, 5, 4, 0,123, 5, 4, 0,124, 5, 4, 0,125, 5, 38, 0,117, 0, 24, 0,159, 0,196, 0, 4, 0,
+196, 0, 0, 0,196, 0, 1, 0, 0, 0,126, 5, 7, 0,127, 5,197, 0, 14, 0,191, 0,111, 5, 4, 0, 88, 0, 4, 0,128, 5,
+ 7, 0,129, 5, 7, 0,130, 5, 7, 0,131, 5, 4, 0,132, 5, 4, 0,133, 5, 7, 0,134, 5, 7, 0,135, 5, 4, 0,136, 5,
+ 7, 0,137, 5, 7, 0,138, 5, 4, 0, 35, 0,198, 0, 7, 0,191, 0,111, 5, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 34, 0,
+ 4, 0,139, 5, 79, 0,140, 5, 9, 0,115, 5,199, 0, 82, 0,198, 0,141, 5,198, 0,142, 5,197, 0, 99, 3, 7, 0,143, 5,
+ 2, 0,144, 5, 2, 0,145, 5, 7, 0,146, 5, 7, 0,147, 5, 2, 0,253, 3, 2, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5,
+ 7, 0,151, 5, 2, 0,152, 5, 2, 0,122, 5, 2, 0,153, 5, 2, 0,154, 5, 2, 0,155, 5, 2, 0,156, 5, 7, 0,157, 5,
+ 7, 0,158, 5, 7, 0,159, 5, 2, 0,160, 5, 2, 0,161, 5, 2, 0,162, 5, 2, 0,163, 5, 2, 0,164, 5, 2, 0,165, 5,
+ 2, 0,166, 5, 2, 0,167, 5,193, 0,168, 5,195, 0,169, 5, 7, 0,170, 5, 7, 0,171, 5, 7, 0,172, 5, 2, 0,173, 5,
+ 2, 0,174, 5, 0, 0,175, 5, 0, 0,176, 5, 0, 0,177, 5, 0, 0,178, 5, 0, 0,179, 5, 0, 0,180, 5, 2, 0,181, 5,
+ 7, 0,182, 5, 7, 0,183, 5, 7, 0,184, 5, 7, 0,185, 5, 7, 0,186, 5, 7, 0,187, 5, 7, 0,188, 5, 7, 0,189, 5,
+ 7, 0,190, 5, 7, 0,191, 5, 2, 0,192, 5, 0, 0,193, 5, 0, 0,194, 5, 0, 0,195, 5, 0, 0,196, 5, 24, 0,197, 5,
+ 0, 0,198, 5, 0, 0,199, 5, 0, 0,200, 5, 0, 0,201, 5, 0, 0,202, 5, 0, 0,203, 5, 0, 0,204, 5, 0, 0,205, 5,
+ 0, 0,206, 5, 0, 0,207, 5, 2, 0,208, 5, 2, 0,209, 5, 2, 0,210, 5, 2, 0,211, 5, 0, 0,212, 5, 0, 0,195, 4,
+ 4, 0,213, 5, 2, 0,214, 5, 2, 0, 87, 0, 4, 0,215, 5, 7, 0,216, 5, 7, 0,217, 5,200, 0, 8, 0, 4, 0,218, 5,
+ 4, 0,219, 5, 4, 0,220, 5, 4, 0,221, 5, 4, 0,222, 5, 4, 0,223, 5, 4, 0, 51, 0, 4, 0,122, 2,201, 0, 4, 0,
+ 7, 0,224, 5, 0, 0,225, 5, 0, 0,226, 5, 2, 0, 17, 0,202, 0, 4, 0, 7, 0,227, 5, 4, 0, 17, 0, 4, 0,228, 5,
+ 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0, 24, 0,107, 5,177, 0,229, 5, 38, 0,230, 5, 12, 0,231, 5,
+178, 0,232, 5, 24, 0,233, 5, 7, 0,234, 5, 7, 0,235, 5, 7, 0,236, 5, 7, 0,237, 5, 4, 0,134, 3, 4, 0,238, 5,
+ 4, 0,239, 5, 4, 0,192, 3, 4, 0,240, 5, 2, 0, 17, 0, 2, 0, 66, 1, 53, 0, 61, 1,203, 0,241, 5,199, 0,242, 5,
+204, 0,243, 5,185, 0,177, 0,183, 0,244, 5, 12, 0, 98, 0, 12, 0,245, 5, 9, 0,246, 5, 9, 0,247, 5, 9, 0,248, 5,
+ 9, 0,249, 5,205, 0,250, 5, 2, 0,251, 5, 2, 0,252, 5, 2, 0,244, 0, 2, 0,253, 5, 4, 0,254, 5, 4, 0,255, 5,
+ 12, 0, 0, 6,188, 0,101, 5,189, 0, 1, 6,201, 0, 2, 6,159, 0,112, 3,202, 0, 3, 6,206, 0, 11, 0,206, 0, 0, 0,
+206, 0, 1, 0, 39, 0,235, 0, 37, 0, 60, 1, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0,104, 0, 7, 0, 4, 6, 2, 0, 5, 6,
+ 2, 0, 17, 0, 7, 0, 67, 0,207, 0, 38, 0, 7, 0, 6, 6, 7, 0, 7, 6, 7, 0, 8, 6, 7, 0, 9, 6, 7, 0, 10, 6,
+ 7, 0, 11, 6, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6, 7, 0, 79, 1, 7, 0, 15, 6, 7, 0, 16, 6, 7, 0, 17, 6,
+ 7, 0, 18, 6, 7, 0,166, 0, 2, 0, 19, 6, 2, 0, 20, 6, 0, 0, 21, 6, 0, 0,195, 4, 2, 0, 22, 6, 2, 0, 23, 6,
+ 2, 0, 24, 6, 2, 0, 5, 6, 7, 0, 25, 6, 7, 0, 26, 6, 62, 0, 27, 6,159, 0,112, 3,207, 0, 28, 6,208, 0, 29, 6,
+209, 0, 30, 6,210, 0, 31, 6,211, 0, 32, 6, 7, 0, 33, 6, 2, 0, 34, 6, 2, 0, 35, 6, 7, 0, 36, 6, 7, 0, 37, 6,
+ 7, 0, 38, 6,212, 0, 50, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,
+ 7, 0, 14, 6, 7, 0, 79, 1, 7, 0, 87, 0, 4, 0, 43, 6, 2, 0, 24, 6, 2, 0, 5, 6, 24, 0,107, 5, 24, 0, 44, 6,
+ 12, 0, 45, 6,206, 0, 46, 6,212, 0, 28, 6, 0, 0, 47, 6, 4, 0,134, 3, 4, 0,238, 5, 2, 0, 48, 6, 2, 0, 49, 6,
+ 2, 0, 50, 6, 2, 0, 51, 6, 2, 0, 17, 0, 2, 0, 22, 2, 7, 0,110, 0, 7, 0, 52, 6, 7, 0, 53, 6, 7, 0, 54, 6,
+ 7, 0,166, 0, 7, 0,234, 5, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 0, 0, 58, 6, 0, 0, 59, 6, 0, 0, 60, 6,
+ 0, 0, 61, 6, 0, 0, 62, 6, 12, 0, 63, 6, 12, 0, 64, 6, 12, 0, 65, 6, 2, 0, 66, 6, 2, 0,135, 2, 2, 0, 67, 6,
+ 0, 0, 68, 6, 0, 0, 69, 6, 9, 0, 70, 6,159, 0,112, 3,214, 0, 24, 0, 16, 0, 34, 0, 16, 0, 61, 0, 15, 0, 71, 6,
+ 15, 0, 72, 6, 15, 0, 73, 6, 7, 0, 74, 6, 7, 0, 75, 6, 7, 0, 76, 6, 7, 0, 77, 6, 2, 0, 78, 6, 2, 0, 79, 6,
+ 2, 0, 80, 6, 2, 0, 81, 6, 2, 0, 82, 6, 2, 0, 17, 0, 2, 0, 83, 6, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 86, 6,
+ 2, 0, 87, 6, 2, 0, 51, 6, 7, 0, 88, 6, 4, 0, 89, 6, 4, 0, 90, 6,213, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,215, 0, 8, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6,
+ 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 0, 0, 91, 6, 0, 0,176, 0,216, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6,217, 0, 93, 6, 12, 0, 94, 6, 2, 0, 72, 1,
+ 2, 0, 95, 6, 4, 0, 17, 0, 7, 0, 96, 6, 4, 0, 51, 6,218, 0, 21, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6,
+ 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,208, 0, 29, 6,214, 0, 92, 6, 2, 0, 97, 6, 2, 0, 98, 6, 2, 0, 99, 6,
+ 2, 0,100, 6, 2, 0, 83, 6, 2, 0,101, 6, 2, 0,102, 6, 0, 0, 17, 0, 0, 0, 35, 0, 9, 0, 63, 2, 4, 0,103, 6,
+ 4, 0,104, 6, 19, 0,105, 6,219, 0, 18, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,
+ 2, 0, 42, 6,214, 0, 92, 6, 7, 0, 87, 2, 7, 0, 88, 2, 2, 0, 97, 6, 2, 0,106, 6, 2, 0,107, 6, 2, 0,108, 6,
+ 4, 0, 17, 0, 7, 0,109, 6, 4, 0, 5, 6, 4, 0, 35, 0,159, 0,112, 3,220, 0, 16, 0, 0, 0,110, 6, 0, 0,111, 6,
+ 0, 0,112, 6, 0, 0,113, 6, 0, 0,114, 6, 0, 0,115, 6, 4, 0,116, 6, 4, 0,117, 6, 4, 0,118, 6, 2, 0, 15, 0,
+ 2, 0, 17, 0, 2, 0,119, 6, 2, 0,120, 6, 2, 0,172, 1, 2, 0,121, 6, 0, 0,122, 6,221, 0, 16, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 4, 0,123, 6,220, 0,124, 6,222, 0,125, 6, 12, 0,126, 6, 12, 0,127, 6,
+223, 0,128, 6,211, 0,129, 6,224, 0,130, 6, 2, 0,131, 6, 2, 0,132, 6, 2, 0,133, 6, 2, 0, 67, 0,225, 0, 15, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6, 12, 0,134, 6,
+226, 0,135, 6, 0, 0,136, 6,227, 0,137, 6, 2, 0, 17, 0, 2, 0,138, 6, 2, 0,139, 6, 2, 0,140, 6,228, 0, 25, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 4, 0, 17, 0, 39, 0,227, 2, 37, 0, 60, 1, 51, 0,141, 6,
+229, 0,142, 6,230, 0,143, 6,159, 0,112, 3, 7, 0,144, 6, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0,109, 6, 7, 0,145, 6,
+ 7, 0,146, 6, 2, 0,147, 6, 2, 0,148, 6, 2, 0,149, 6, 2, 0,150, 6, 0, 0,151, 6, 0, 0,152, 6, 0, 0,153, 6,
+ 0, 0, 51, 6,231, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,
+ 2, 0, 95, 6, 2, 0, 17, 0, 4, 0, 35, 0,217, 0, 93, 6,214, 0, 92, 6,232, 0, 31, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 34, 0,154, 6, 4, 0,155, 6, 4, 0,156, 6, 2, 0, 88, 0,
+ 2, 0,157, 6, 2, 0,158, 6, 0, 0,159, 6, 0, 0,160, 6, 4, 0,161, 6, 4, 0,162, 6, 4, 0,163, 6, 2, 0,164, 6,
+ 2, 0,165, 6, 2, 0,166, 6, 2, 0,167, 6, 7, 0,168, 6, 15, 0,169, 6, 15, 0,170, 6, 4, 0,171, 6, 4, 0,172, 6,
+ 0, 0,173, 6, 0, 0,174, 6, 2, 0,175, 6, 0, 0,192, 2, 9, 0,176, 6,233, 0, 10, 0, 19, 0, 29, 0, 9, 0,177, 6,
+ 9, 0,178, 6, 9, 0,179, 6, 9, 0,180, 6, 9, 0,181, 6, 4, 0, 88, 0, 4, 0,182, 6, 0, 0,183, 6, 0, 0,184, 6,
+234, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,233, 0,185, 6, 2, 0, 88, 0,
+ 2, 0,157, 6, 4, 0, 87, 0, 9, 0,186, 6,235, 0, 3, 0,235, 0, 0, 0,235, 0, 1, 0, 7, 0,187, 6,236, 0, 11, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,214, 0, 92, 6, 12, 0,188, 6, 4, 0,189, 6,
+ 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,190, 6,237, 0, 26, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6,
+ 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6, 19, 0,191, 6, 19, 0, 78, 0, 2, 0, 17, 0, 2, 0,157, 6, 7, 0,192, 6,
+ 9, 0,193, 6, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0,109, 6, 7, 0, 38, 6, 7, 0,194, 6, 7, 0,195, 6, 53, 0, 61, 1,
+ 53, 0,196, 6, 4, 0,197, 6, 2, 0,198, 6, 2, 0,244, 0, 12, 0,199, 6,159, 0,112, 3,238, 0, 10, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 2, 0, 17, 0, 2, 0,143, 3, 4, 0, 35, 0,
+159, 0,112, 3,239, 0, 42, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,
+214, 0, 92, 6,222, 0,125, 6, 0, 0,200, 6, 0, 0,111, 6, 0, 0,112, 6, 2, 0, 15, 0, 2, 0,201, 6, 2, 0, 17, 0,
+ 2, 0,119, 6, 9, 0,193, 6, 4, 0,116, 6, 4, 0,202, 6, 4, 0,203, 6, 4, 0,204, 6, 15, 0,205, 6, 15, 0,206, 6,
+ 7, 0,207, 6, 7, 0,208, 6, 7, 0,209, 6, 7, 0,192, 6, 2, 0,210, 6, 2, 0,234, 0, 2, 0,172, 1, 2, 0,211, 6,
+ 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,212, 6, 2, 0,213, 6, 9, 0,214, 6, 9, 0,215, 6, 9, 0,216, 6, 9, 0,217, 6,
+ 9, 0,218, 6, 2, 0,219, 6, 0, 0,220, 6, 49, 0,221, 6,240, 0, 7, 0,240, 0, 0, 0,240, 0, 1, 0, 4, 0,222, 6,
+ 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,223, 6, 4, 0, 15, 0,241, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6,
+ 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 4, 0,158, 6, 4, 0, 35, 0, 12, 0,224, 6, 12, 0,225, 6, 0, 0,226, 6,
+ 0, 0,227, 6, 4, 0,228, 6, 4, 0,229, 6,242, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6,
+ 4, 0, 35, 0, 0, 0,230, 6,243, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,
+244, 0,231, 6,214, 0, 92, 6,245, 0,232, 6, 2, 0, 72, 1, 2, 0,233, 6, 2, 0, 87, 2, 2, 0, 88, 2, 2, 0, 17, 0,
+ 2, 0,149, 6, 4, 0, 67, 0,246, 0, 7, 0,246, 0, 0, 0,246, 0, 1, 0, 0, 0,234, 6, 2, 0,235, 6, 2, 0,236, 6,
+ 2, 0,237, 6, 2, 0, 35, 0,247, 0, 12, 0, 2, 0,236, 6, 2, 0,238, 6, 2, 0,239, 6, 0, 0,192, 2, 2, 0,240, 6,
+ 2, 0,241, 6, 2, 0,242, 6, 2, 0,243, 6, 2, 0,244, 6, 2, 0, 83, 6, 7, 0,245, 6, 7, 0,246, 6,248, 0, 18, 0,
+248, 0, 0, 0,248, 0, 1, 0, 0, 0, 4, 4,247, 0,247, 6,247, 0,248, 6,247, 0,249, 6,247, 0,250, 6, 7, 0,251, 6,
+ 2, 0,252, 6, 2, 0,253, 6, 2, 0,254, 6, 2, 0,255, 6, 2, 0, 0, 7, 2, 0, 1, 7, 2, 0, 2, 7, 2, 0, 3, 7,
+ 2, 0, 4, 7, 2, 0, 5, 7,249, 0, 10, 0, 0, 0, 6, 7, 0, 0, 7, 7, 0, 0, 8, 7, 0, 0, 9, 7, 0, 0, 10, 7,
+ 0, 0, 11, 7, 2, 0, 12, 7, 2, 0, 13, 7, 2, 0, 14, 7, 2, 0, 15, 7,250, 0, 8, 0, 0, 0, 16, 7, 0, 0, 17, 7,
+ 0, 0, 18, 7, 0, 0, 19, 7, 0, 0, 20, 7, 0, 0, 21, 7, 7, 0, 4, 6, 7, 0, 35, 0,251, 0, 18, 0,249, 0, 22, 7,
+249, 0, 23, 7,249, 0, 24, 7,249, 0, 25, 7,249, 0, 26, 7,249, 0, 27, 7,249, 0, 28, 7,249, 0, 29, 7,249, 0, 30, 7,
+249, 0, 31, 7,249, 0, 32, 7,249, 0, 33, 7,249, 0, 34, 7,249, 0, 35, 7,249, 0, 36, 7,249, 0, 37, 7,250, 0, 38, 7,
+ 0, 0, 39, 7,252, 0, 97, 0, 0, 0, 40, 7, 0, 0, 41, 7, 0, 0, 10, 7, 0, 0, 42, 7, 0, 0, 43, 7, 0, 0, 44, 7,
+ 0, 0, 45, 7, 0, 0, 46, 7, 0, 0, 47, 7, 0, 0, 48, 7, 0, 0, 49, 7, 0, 0, 50, 7, 0, 0, 51, 7, 0, 0, 52, 7,
+ 0, 0, 53, 7, 0, 0, 54, 7, 0, 0, 55, 7, 0, 0, 56, 7, 0, 0, 57, 7, 0, 0, 58, 7, 0, 0, 59, 7, 0, 0, 60, 7,
+ 0, 0, 61, 7, 0, 0, 62, 7, 0, 0, 63, 7, 0, 0, 64, 7, 0, 0, 65, 7, 0, 0, 66, 7, 0, 0, 67, 7, 0, 0, 68, 7,
+ 0, 0, 69, 7, 0, 0, 70, 7, 0, 0, 71, 7, 0, 0, 72, 7, 0, 0, 73, 7, 0, 0, 74, 7, 0, 0, 75, 7, 0, 0, 76, 7,
+ 0, 0, 77, 7, 0, 0, 78, 7, 0, 0, 79, 7, 0, 0, 80, 7, 0, 0, 81, 7, 0, 0, 82, 7, 0, 0, 83, 7, 0, 0, 84, 7,
+ 0, 0, 85, 7, 0, 0, 86, 7, 0, 0, 87, 7, 0, 0, 88, 7, 0, 0, 89, 7, 0, 0, 90, 7, 0, 0, 91, 7, 0, 0, 92, 7,
+ 0, 0, 93, 7, 0, 0, 94, 7, 0, 0, 95, 7, 0, 0, 96, 7, 0, 0, 97, 7, 0, 0, 98, 7, 0, 0, 99, 7, 0, 0,100, 7,
+ 0, 0,101, 7, 0, 0,102, 7, 0, 0,103, 7, 0, 0,104, 7, 0, 0,105, 7, 0, 0,106, 7, 0, 0,107, 7, 0, 0,108, 7,
+ 0, 0,109, 7, 0, 0,110, 7, 0, 0,111, 7, 0, 0,112, 7, 0, 0,113, 7, 0, 0,114, 7, 0, 0,115, 7, 0, 0,116, 7,
+ 0, 0,117, 7, 0, 0,118, 7, 0, 0,119, 7, 0, 0,120, 7, 0, 0,121, 7, 0, 0,122, 7, 0, 0,123, 7, 0, 0,124, 7,
+ 0, 0,125, 7, 0, 0,126, 7, 0, 0,127, 7, 0, 0,128, 7, 0, 0,129, 7, 0, 0,130, 7, 0, 0,131, 7, 0, 0,132, 7,
+ 0, 0,133, 7, 0, 0,134, 7, 0, 0,135, 7,253, 0, 5, 0, 0, 0,136, 7, 0, 0, 64, 7, 0, 0, 66, 7, 2, 0, 17, 0,
+ 2, 0, 35, 0,254, 0, 25, 0,254, 0, 0, 0,254, 0, 1, 0, 0, 0, 18, 0,251, 0,137, 7,252, 0,138, 7,252, 0,139, 7,
+252, 0,140, 7,252, 0,141, 7,252, 0,142, 7,252, 0,143, 7,252, 0,144, 7,252, 0,145, 7,252, 0,146, 7,252, 0,147, 7,
+252, 0,148, 7,252, 0,149, 7,252, 0,150, 7,252, 0,151, 7,252, 0,152, 7,252, 0,153, 7,252, 0,154, 7,252, 0,155, 7,
+253, 0,156, 7, 4, 0,157, 7, 4, 0, 35, 0,255, 0, 3, 0,255, 0, 0, 0,255, 0, 1, 0, 0, 0,158, 7, 0, 1, 5, 0,
+ 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,134, 2, 7, 0,159, 7, 7, 0, 37, 2, 1, 1, 89, 0, 4, 0, 17, 0, 4, 0,160, 7,
+ 4, 0,161, 7, 0, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7, 0, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7, 0, 0,168, 7,
+ 0, 0,169, 7, 0, 0,170, 7, 0, 0,171, 7, 4, 0,172, 7, 2, 0,173, 7, 2, 0,174, 7, 2, 0,175, 7, 2, 0,176, 7,
+ 4, 0,177, 7, 4, 0,178, 7, 4, 0,179, 7, 4, 0,180, 7, 2, 0,181, 7, 2, 0,182, 7, 4, 0,183, 7, 4, 0,184, 7,
+ 4, 0,185, 7, 4, 0,186, 7, 4, 0,187, 7, 4, 0,224, 6, 4, 0,188, 7, 2, 0,189, 7, 2, 0,190, 7, 2, 0,191, 7,
+ 2, 0,192, 7, 12, 0,193, 7, 12, 0,194, 7, 12, 0,195, 7, 12, 0,196, 7, 12, 0,197, 7, 0, 0,198, 7, 2, 0,199, 7,
+ 2, 0,200, 7, 2, 0,201, 7, 2, 0,202, 7, 2, 0,203, 7, 2, 0,204, 7, 2, 0,205, 7, 2, 0,206, 7, 0, 1,207, 7,
+ 2, 0,208, 7, 2, 0,209, 7, 2, 0,210, 7, 2, 0,211, 7, 2, 0,212, 7, 2, 0,213, 7, 2, 0,214, 7, 2, 0,215, 7,
+ 4, 0,216, 7, 4, 0,217, 7, 2, 0,218, 7, 2, 0,219, 7, 2, 0,220, 7, 2, 0,221, 7, 2, 0,222, 7, 2, 0,223, 7,
+ 2, 0,224, 7, 2, 0,225, 7, 2, 0,226, 7, 2, 0,227, 7, 2, 0,228, 7, 2, 0,229, 7, 2, 0,230, 7, 2, 0,231, 7,
+ 2, 0,232, 7, 2, 0,233, 7, 2, 0,234, 7, 2, 0,235, 7, 0, 0,236, 7, 0, 0,237, 7, 7, 0,238, 7, 2, 0,173, 5,
+ 2, 0,174, 5, 2, 0,239, 7, 2, 0,240, 7, 47, 0,241, 7, 7, 0,242, 7, 4, 0,229, 1, 0, 0,243, 7, 2, 1, 24, 0,
+ 19, 0, 29, 0, 12, 0,244, 7, 12, 0,245, 7, 12, 0,246, 7, 12, 0, 39, 6, 38, 0,117, 0, 38, 0,247, 7, 4, 0,248, 7,
+ 4, 0, 87, 0, 2, 0,249, 7, 2, 0,250, 7, 2, 0,251, 7, 2, 0,252, 7, 2, 0,253, 7, 2, 0,254, 7, 2, 0,255, 7,
+ 2, 0, 0, 8, 2, 0, 1, 8, 2, 0, 2, 8, 2, 0, 3, 8, 2, 0, 35, 0,211, 0, 4, 8, 9, 0, 5, 8, 2, 0, 6, 8,
+ 3, 1, 5, 0, 3, 1, 0, 0, 3, 1, 1, 0, 3, 1, 7, 8, 13, 0, 8, 8, 4, 0, 17, 0, 4, 1, 7, 0, 4, 1, 0, 0,
+ 4, 1, 1, 0, 3, 1, 9, 8, 3, 1, 10, 8, 2, 0, 41, 5, 2, 0, 17, 0, 4, 0, 35, 0, 5, 1, 25, 0, 5, 1, 0, 0,
+ 5, 1, 1, 0, 6, 1, 11, 8, 7, 1,130, 6, 0, 0, 12, 8, 0, 0, 13, 8, 0, 0, 14, 8, 2, 0, 15, 8, 2, 0, 16, 8,
+ 2, 0, 17, 8, 2, 0, 18, 8, 2, 0, 19, 8, 2, 0, 35, 0, 2, 0, 17, 0, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0, 22, 8,
+ 4, 0, 23, 8, 5, 1, 24, 8, 9, 0, 25, 8, 4, 0, 26, 8, 4, 0, 27, 8, 4, 0, 28, 8, 4, 0, 29, 8, 0, 0, 30, 8,
+244, 0, 22, 0,244, 0, 0, 0,244, 0, 1, 0, 3, 1, 9, 8, 3, 1, 10, 8, 3, 1, 31, 8, 3, 1, 32, 8, 2, 1, 33, 8,
+ 15, 0, 49, 0, 0, 0, 40, 6, 0, 0, 34, 8, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 35, 8, 2, 0, 35, 0, 2, 0,253, 7,
+ 2, 0,223, 6, 2, 0, 17, 0, 8, 1, 11, 8, 12, 0, 36, 8, 12, 0, 39, 6, 12, 0, 37, 8, 12, 0, 38, 8, 9, 1, 24, 0,
+ 9, 1, 0, 0, 9, 1, 1, 0,214, 0, 92, 6, 15, 0, 39, 8, 15, 0, 40, 8, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 41, 8,
+ 2, 0, 42, 8, 2, 0, 43, 8, 2, 0, 17, 0, 7, 0, 83, 2, 2, 0, 17, 8, 2, 0, 18, 8, 2, 0,252, 7, 2, 0, 44, 8,
+ 2, 0, 1, 8, 2, 0,195, 4, 10, 1, 11, 8, 12, 0, 45, 8, 12, 0, 46, 8, 12, 0, 37, 8, 0, 0, 47, 8, 9, 0, 48, 8,
+ 11, 1, 14, 0, 0, 0, 49, 8, 2, 0, 50, 8, 2, 0, 51, 8, 2, 0, 52, 8, 2, 0, 53, 8, 2, 0, 29, 5, 2, 0, 54, 8,
+ 2, 1, 55, 8, 38, 0, 56, 8, 4, 0, 57, 8, 4, 0, 58, 8, 4, 0, 59, 8, 4, 0, 35, 0, 0, 0, 60, 8, 12, 1, 3, 0,
+ 0, 0, 61, 8, 4, 0, 62, 8, 4, 0, 63, 8, 13, 1, 4, 0, 4, 0,155, 6, 4, 0, 64, 8, 4, 0,161, 6, 4, 0, 65, 8,
+ 14, 1, 2, 0, 4, 0, 66, 8, 4, 0, 67, 8, 15, 1, 5, 0, 7, 0, 68, 8, 7, 0, 69, 8, 7, 0, 70, 8, 4, 0, 17, 0,
+ 4, 0, 35, 0, 16, 1, 6, 0, 0, 0, 71, 8, 0, 0,112, 6, 41, 0,130, 0, 2, 0,104, 0, 2, 0, 28, 5, 4, 0, 35, 0,
+ 17, 1, 14, 0, 17, 1, 0, 0, 17, 1, 1, 0, 4, 0, 54, 0, 4, 0, 21, 0, 4, 0, 26, 0, 4, 0, 72, 8, 4, 0, 73, 8,
+ 4, 0, 74, 8, 12, 1, 75, 8, 0, 0, 71, 8, 16, 1,106, 3, 13, 1, 76, 8, 14, 1, 77, 8, 15, 1, 78, 8, 18, 1, 12, 0,
+ 0, 0,254, 1, 9, 0,220, 0, 0, 0,221, 0, 4, 0,224, 0, 4, 0,232, 0, 9, 0,225, 0, 7, 0,227, 0, 7, 0,228, 0,
+ 9, 0, 79, 8, 9, 0, 80, 8, 9, 0,229, 0, 9, 0,231, 0, 19, 1, 48, 0, 19, 1, 0, 0, 19, 1, 1, 0, 9, 0, 81, 8,
+ 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0, 4, 0, 21, 0, 4, 0, 85, 0, 4, 0, 82, 8, 4, 0, 83, 8,
+ 4, 0, 73, 8, 4, 0, 74, 8, 4, 0, 84, 8, 4, 0,243, 0, 4, 0, 85, 8, 4, 0, 86, 8, 7, 0, 87, 8, 7, 0, 35, 0,
+ 7, 0, 88, 8, 7, 0, 89, 8, 4, 0,121, 0, 4, 0, 90, 8, 17, 1, 91, 8, 28, 0, 77, 0, 38, 0,117, 0, 24, 0, 92, 8,
+ 41, 0,130, 0, 7, 0, 93, 8, 7, 0, 94, 8, 18, 1, 62, 1, 19, 1, 95, 8, 19, 1, 96, 8, 19, 1, 97, 8, 12, 0, 98, 8,
+245, 0,232, 6, 9, 0, 99, 8, 7, 0, 14, 4, 7, 0,100, 8, 7, 0,101, 8, 4, 0,102, 8, 4, 0,103, 8, 7, 0,104, 8,
+ 9, 0,105, 8, 4, 0,106, 8, 4, 0,107, 8, 4, 0,108, 8, 7, 0,109, 8, 20, 1, 4, 0, 20, 1, 0, 0, 20, 1, 1, 0,
+ 12, 0,110, 8, 19, 1,111, 8,203, 0, 11, 0, 12, 0,112, 8, 12, 0, 98, 8, 12, 0,113, 8, 19, 1,114, 8, 0, 0,115, 8,
+ 0, 0,116, 8, 4, 0,117, 8, 4, 0,118, 8, 4, 0,119, 8, 4, 0, 35, 0, 16, 0,120, 8, 21, 1, 4, 0, 7, 0,121, 8,
+ 7, 0, 76, 3, 2, 0,122, 8, 2, 0,123, 8, 22, 1, 6, 0, 7, 0,124, 8, 7, 0,125, 8, 7, 0,126, 8, 7, 0,127, 8,
+ 4, 0,128, 8, 4, 0,129, 8, 23, 1, 13, 0, 7, 0,130, 8, 7, 0,131, 8, 7, 0,132, 8, 7, 0,133, 8, 7, 0,134, 8,
+ 7, 0,135, 8, 7, 0,136, 8, 7, 0,137, 8, 7, 0,138, 8, 7, 0,139, 8, 4, 0,233, 2, 4, 0,140, 8, 4, 0,141, 8,
+ 24, 1, 2, 0, 7, 0, 99, 5, 7, 0, 35, 0, 25, 1, 5, 0, 7, 0,142, 8, 7, 0,143, 8, 4, 0, 88, 0, 4, 0,193, 2,
+ 4, 0,144, 8, 26, 1, 6, 0, 26, 1, 0, 0, 26, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0, 54, 0,
+ 27, 1, 8, 0, 27, 1, 0, 0, 27, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0, 54, 0, 7, 0, 21, 0,
+ 7, 0,121, 0, 28, 1, 45, 0, 28, 1, 0, 0, 28, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0,239, 0,
+ 2, 0, 56, 4, 2, 0,146, 8, 7, 0,147, 8, 7, 0, 86, 0, 7, 0,246, 2, 4, 0,148, 8, 4, 0, 79, 0, 4, 0,195, 2,
+ 7, 0,149, 8, 7, 0,150, 8, 7, 0,151, 8, 7, 0,152, 8, 7, 0,153, 8, 7, 0,154, 8, 7, 0,243, 2, 7, 0, 59, 1,
+ 7, 0,155, 8, 7, 0,156, 8, 7, 0, 35, 0, 7, 0,157, 8, 7, 0,158, 8, 7, 0,159, 8, 2, 0,160, 8, 2, 0,161, 8,
+ 2, 0,162, 8, 2, 0,163, 8, 2, 0,164, 8, 2, 0,165, 8, 2, 0,166, 8, 2, 0,167, 8, 2, 0, 22, 2, 2, 0,168, 8,
+ 2, 0, 19, 2, 2, 0,169, 8, 0, 0,170, 8, 0, 0,171, 8, 7, 0,237, 0, 29, 1,172, 8, 58, 0,232, 1, 30, 1, 16, 0,
+ 30, 1, 0, 0, 30, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0,239, 0, 7, 0,238, 2, 7, 0,239, 2,
+ 7, 0,240, 2, 7, 0, 72, 2, 7, 0,241, 2, 7, 0,242, 2, 7, 0,173, 8, 7, 0,243, 2, 7, 0,245, 2, 7, 0,246, 2,
+227, 0, 5, 0, 2, 0, 15, 0, 2, 0,174, 8, 2, 0, 17, 0, 2, 0,175, 8, 19, 0,191, 6,226, 0, 3, 0, 4, 0, 66, 0,
+ 4, 0,176, 8,227, 0, 2, 0, 31, 1, 7, 0, 31, 1, 0, 0, 31, 1, 1, 0, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0,
+ 4, 0, 20, 0, 9, 0,177, 8, 32, 1, 5, 0, 0, 0, 18, 0, 7, 0, 79, 1, 7, 0,178, 8, 4, 0,179, 8, 4, 0, 35, 0,
+ 33, 1, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 0, 34, 1, 4, 0, 0, 0, 18, 0, 57, 0,180, 8,
+ 7, 0, 79, 1, 7, 0, 35, 0, 35, 1, 6, 0, 2, 0,181, 8, 2, 0,182, 8, 2, 0, 15, 0, 2, 0,183, 8, 0, 0,184, 8,
+ 0, 0,185, 8, 36, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 0, 0,186, 8, 0, 0,187, 8, 37, 1, 3, 0,
+ 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 38, 1, 4, 0, 2, 0,188, 8, 2, 0,189, 8, 2, 0, 17, 0, 2, 0, 35, 0,
+ 39, 1, 6, 0, 0, 0, 18, 0, 0, 0,190, 8, 2, 0,191, 8, 2, 0,243, 2, 2, 0, 72, 1, 2, 0, 67, 0, 40, 1, 5, 0,
+ 0, 0, 18, 0, 7, 0, 76, 3, 7, 0,145, 4, 2, 0, 17, 0, 2, 0,207, 2, 41, 1, 3, 0, 0, 0, 18, 0, 4, 0,195, 2,
+ 4, 0,188, 8, 42, 1, 7, 0, 0, 0, 18, 0, 7, 0,145, 4, 0, 0,192, 8, 0, 0,193, 8, 2, 0, 72, 1, 2, 0, 87, 0,
+ 4, 0,194, 8, 43, 1, 4, 0, 0, 0,195, 8, 0, 0,196, 8, 4, 0, 15, 0, 7, 0,211, 2, 44, 1, 3, 0, 24, 0,197, 8,
+ 0, 0,198, 8, 0, 0,199, 8, 45, 1, 18, 0, 45, 1, 0, 0, 45, 1, 1, 0, 2, 0, 15, 0, 2, 0,200, 8, 2, 0, 17, 0,
+ 2, 0,201, 8, 2, 0,202, 8, 2, 0,203, 8, 2, 0, 87, 0, 2, 0, 67, 0, 0, 0, 18, 0, 9, 0, 2, 0, 46, 1,204, 8,
+ 24, 0, 42, 0, 2, 0,116, 5, 2, 0,100, 8, 2, 0,205, 8, 2, 0, 35, 0, 47, 1, 11, 0, 0, 0, 18, 0, 0, 0, 15, 0,
+ 0, 0,206, 8, 2, 0, 17, 0, 2, 0,207, 2, 2, 0,207, 8, 4, 0,208, 8, 4, 0,209, 8, 4, 0,210, 8, 4, 0,211, 8,
+ 4, 0,212, 8, 48, 1, 1, 0, 0, 0,213, 8, 49, 1, 4, 0, 34, 0,154, 6, 0, 0,158, 7, 4, 0, 72, 1, 4, 0, 17, 0,
+ 46, 1, 18, 0, 46, 1, 0, 0, 46, 1, 1, 0, 46, 1,214, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,215, 8, 2, 0,203, 8,
+ 2, 0,200, 8, 2, 0,216, 8, 2, 0, 67, 0, 2, 0,229, 1, 0, 0, 18, 0, 9, 0, 2, 0, 50, 1,204, 8, 45, 1,217, 8,
+ 2, 0, 13, 0, 2, 0,218, 8, 4, 0,219, 8, 51, 1, 3, 0, 4, 0,221, 2, 4, 0, 35, 0, 24, 0, 42, 0, 52, 1, 12, 0,
+157, 0,220, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,147, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,221, 8, 2, 0,222, 8,
+ 2, 0,223, 8, 2, 0,224, 8, 2, 0,225, 8, 7, 0,226, 8, 53, 1, 8, 0, 7, 0,227, 8, 7, 0,228, 8, 7, 0,229, 8,
+ 7, 0,230, 8, 7, 0,231, 8, 7, 0,232, 8, 7, 0,233, 8, 7, 0,234, 8, 54, 1, 13, 0, 2, 0, 17, 0, 2, 0,233, 6,
+ 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,235, 8, 7, 0, 14, 4, 7, 0,236, 8,245, 0,232, 6, 53, 1,237, 8, 2, 0, 15, 0,
+ 2, 0, 35, 5, 2, 0,254, 5, 2, 0,238, 8, 55, 1, 11, 0, 4, 0,221, 2, 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0,
+ 73, 0,239, 8, 0, 0, 18, 0, 7, 0,240, 8, 7, 0,241, 8, 7, 0,151, 3, 2, 0,242, 8, 2, 0,243, 8, 56, 1, 5, 0,
+ 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,117, 0, 24, 0,107, 5, 57, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0,
+ 0, 0, 18, 0, 0, 0,186, 8, 24, 0, 42, 0, 58, 1, 13, 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,200, 8, 2, 0,152, 3,
+ 7, 0,244, 8, 7, 0,245, 8, 7, 0,195, 4, 7, 0,163, 3, 7, 0,122, 3, 7, 0,125, 3, 7, 0,246, 8, 7, 0,247, 8,
+ 24, 0,248, 8, 59, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, 7, 0,147, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,221, 8,
+ 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,229, 1, 2, 0, 35, 5, 60, 1, 8, 0, 24, 0, 42, 0, 7, 0,240, 2, 7, 0,249, 8,
+ 7, 0,250, 8, 7, 0,152, 3, 2, 0, 87, 0, 2, 0,207, 2, 7, 0, 67, 0, 61, 1, 12, 0, 2, 0, 15, 0, 2, 0, 72, 1,
+ 2, 0, 17, 0, 2, 0,243, 2, 2, 0,221, 2, 2, 0,251, 8, 4, 0, 35, 0, 7, 0,252, 8, 7, 0,253, 8, 7, 0,254, 8,
+ 7, 0,255, 8, 0, 0, 0, 9, 62, 1, 9, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,147, 8, 4, 0, 86, 0, 0, 0, 18, 0,
+ 2, 0,195, 4, 2, 0, 61, 0, 2, 0, 1, 9, 2, 0, 2, 9, 63, 1, 7, 0, 4, 0,195, 2, 4, 0, 3, 9, 4, 0, 4, 9,
+ 4, 0, 5, 9, 7, 0, 6, 9, 7, 0, 7, 9, 0, 0,192, 8, 64, 1, 7, 0, 0, 0, 8, 9, 24, 0, 9, 9, 0, 0,198, 8,
+ 2, 0, 10, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,199, 8, 65, 1, 6, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,147, 8,
+ 4, 0, 86, 0, 0, 0, 11, 9, 0, 0, 12, 9, 66, 1, 1, 0, 4, 0, 17, 0, 67, 1, 6, 0, 0, 0, 90, 0, 2, 0, 15, 0,
+ 2, 0, 17, 0, 4, 0, 13, 9, 7, 0, 14, 9, 34, 0,154, 6, 68, 1, 4, 0, 0, 0,159, 2, 2, 0, 17, 0, 4, 0, 15, 0,
+ 24, 0, 42, 0, 69, 1, 2, 0, 4, 0, 15, 0, 4, 0, 73, 6, 70, 1, 6, 0, 0, 0,195, 8, 0, 0,196, 8, 4, 0, 15, 0,
+ 7, 0, 30, 2, 24, 0, 53, 3, 24, 0, 15, 9, 50, 1, 10, 0, 50, 1, 0, 0, 50, 1, 1, 0, 50, 1,214, 8, 2, 0, 15, 0,
+ 2, 0, 17, 0, 2, 0,200, 8, 2, 0, 16, 9, 0, 0, 18, 0, 9, 0, 2, 0, 24, 0, 42, 0,245, 0, 16, 0, 19, 0, 29, 0,
+ 0, 0, 32, 0, 35, 0,145, 0, 9, 0,220, 0, 35, 0, 17, 9, 28, 0, 77, 0, 7, 0, 14, 4, 7, 0, 18, 9, 7, 0,236, 8,
+ 7, 0,227, 8, 7, 0,228, 8, 7, 0, 19, 9, 4, 0, 88, 0, 4, 0, 35, 0, 9, 0, 20, 9, 9, 0, 21, 9, 71, 1, 6, 0,
+ 71, 1, 0, 0, 71, 1, 1, 0, 24, 0, 42, 0, 9, 0, 22, 9, 2, 0,244, 0, 0, 0,192, 2, 58, 0, 4, 0, 19, 0, 29, 0,
+ 12, 0, 23, 9, 4, 0,126, 0, 7, 0, 24, 9, 72, 1, 28, 0, 72, 1, 0, 0, 72, 1, 1, 0, 18, 0, 25, 9, 72, 1, 36, 0,
+ 12, 0, 26, 9, 0, 0, 18, 0, 7, 0, 27, 9, 7, 0, 28, 9, 7, 0, 29, 9, 7, 0, 30, 9, 4, 0, 17, 0, 7, 0, 31, 9,
+ 7, 0, 32, 9, 7, 0, 33, 9, 7, 0, 34, 9, 7, 0, 79, 1, 7, 0, 30, 2, 7, 0, 35, 9, 7, 0,193, 2, 7, 0, 36, 9,
+ 7, 0, 37, 9, 7, 0, 38, 9, 7, 0, 39, 9, 7, 0, 40, 9, 7, 0,167, 0, 4, 0,126, 0, 2, 0,153, 5, 2, 0, 5, 7,
+ 73, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 41, 9, 12, 0, 42, 9, 12, 0, 43, 9, 72, 1, 44, 9, 9, 0, 45, 9,
+ 9, 0, 46, 9, 4, 0, 17, 0, 4, 0, 48, 6, 2, 0,247, 2, 2, 0,103, 6, 4, 0, 47, 9, 4, 0,126, 0, 4, 0, 48, 9,
+ 2, 0, 49, 9, 2, 0, 50, 9, 2, 0, 51, 9, 2, 0, 52, 9, 4, 0, 53, 9, 4, 0, 54, 9, 4, 0, 55, 9, 4, 0, 56, 9,
+ 4, 0, 57, 9, 4, 0, 58, 9, 74, 1, 2, 0, 7, 0,148, 2, 4, 0, 17, 0,161, 0, 5, 0, 74, 1, 59, 9, 4, 0,193, 2,
+ 4, 0, 60, 9, 4, 0, 61, 9, 4, 0, 17, 0,160, 0, 16, 0, 4, 0, 62, 9, 4, 0, 63, 9, 4, 0, 64, 9, 4, 0, 65, 9,
+ 2, 0, 66, 9, 2, 0, 67, 9, 2, 0, 68, 9, 2, 0,244, 0, 2, 0, 69, 9, 2, 0, 70, 9, 2, 0, 71, 9, 2, 0, 72, 9,
+ 4, 0, 73, 9, 4, 0, 74, 9, 4, 0, 75, 9, 4, 0, 76, 9, 75, 1, 41, 0, 75, 1, 0, 0, 75, 1, 1, 0, 18, 0, 25, 9,
+ 12, 0,177, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 77, 9, 2, 0, 78, 9, 2, 0, 79, 9, 2, 0,137, 3, 2, 0, 80, 9,
+ 4, 0, 70, 2, 4, 0, 55, 9, 4, 0, 56, 9, 72, 1, 81, 9, 75, 1, 36, 0, 75, 1, 82, 9, 12, 0, 83, 9,161, 0,114, 3,
+ 24, 0, 84, 9, 75, 1, 85, 9, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 86, 9, 7, 0, 9, 2, 7, 0,127, 3, 7, 0,129, 3,
+ 2, 0,160, 3, 2, 0, 35, 0, 7, 0, 87, 9, 7, 0, 88, 9, 7, 0,132, 3, 7, 0, 89, 9, 7, 0, 90, 9, 7, 0, 91, 9,
+ 7, 0, 92, 9, 7, 0, 93, 9, 7, 0, 94, 9, 7, 0, 95, 9, 7, 0, 96, 9, 7, 0, 63, 2,158, 0, 16, 0, 12, 0, 97, 9,
+ 68, 0, 98, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 99, 9, 4, 0, 87, 0, 7, 0, 99, 2, 7, 0,100, 9, 7, 0,101, 9,
+ 12, 0,102, 9, 4, 0,103, 9, 4, 0,104, 9, 9, 0,105, 9, 9, 0,106, 9,160, 0,113, 3, 0, 0,107, 9, 76, 1, 1, 0,
+ 4, 0,104, 9, 77, 1, 12, 0, 4, 0,104, 9, 7, 0,212, 8, 2, 0,108, 9, 2, 0,109, 9, 7, 0,110, 9, 7, 0,111, 9,
+ 2, 0,112, 9, 2, 0, 17, 0, 7, 0,113, 9, 7, 0,114, 9, 7, 0,115, 9, 7, 0,116, 9, 78, 1, 7, 0, 78, 1, 0, 0,
+ 78, 1, 1, 0, 12, 0,117, 9, 4, 0, 17, 0, 4, 0,118, 9, 0, 0, 4, 4,253, 0,119, 9,157, 0, 9, 0, 19, 0, 29, 0,
+ 12, 0,120, 9, 12, 0, 97, 9, 12, 0,121, 9, 12, 0, 98, 0, 4, 0, 17, 0, 4, 0,122, 9, 4, 0,123, 9, 4, 0, 35, 0,
+217, 0, 6, 0, 19, 0,124, 9, 12, 0, 97, 9, 58, 0,125, 9, 0, 0,126, 9, 4, 0,127, 9, 4, 0, 17, 0, 79, 1, 13, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6,157, 0,109, 3,
+217, 0,128, 9, 0, 0, 72, 1, 0, 0, 95, 6, 2, 0, 17, 0, 7, 0,129, 9, 80, 1, 8, 0, 80, 1, 0, 0, 80, 1, 1, 0,
+ 78, 1,130, 9, 28, 0, 77, 0, 12, 0,115, 3, 4, 0, 17, 0, 0, 0, 18, 0, 4, 0,250, 7, 81, 1, 5, 0, 81, 1, 0, 0,
+ 81, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,131, 9, 82, 1, 14, 0, 82, 1, 0, 0, 82, 1, 1, 0, 9, 0, 2, 0,
+ 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,132, 9, 0, 0,133, 9, 0, 0,131, 9, 7, 0,134, 9, 7, 0,135, 9, 4, 0, 35, 0,
+ 28, 0, 77, 0, 7, 0,136, 9, 7, 0,137, 9, 83, 1, 9, 0, 83, 1, 0, 0, 83, 1, 1, 0, 24, 0,138, 9, 0, 0,250, 2,
+ 7, 0,139, 9, 2, 0,140, 9, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,141, 9, 84, 1, 7, 0, 34, 0,154, 6, 18, 0, 25, 9,
+ 4, 0, 17, 0, 4, 0,142, 9, 12, 0,143, 9, 24, 0,138, 9, 0, 0,250, 2, 85, 1, 15, 0, 24, 0,138, 9, 2, 0,144, 9,
+ 2, 0, 17, 0, 2, 0,145, 9, 2, 0,146, 9, 0, 0,250, 2, 24, 0,147, 9, 0, 0,148, 9, 7, 0,149, 9, 7, 0, 30, 2,
+ 7, 0,150, 9, 7, 0,151, 9, 2, 0, 15, 0, 2, 0, 72, 1, 7, 0, 79, 1, 86, 1, 6, 0, 24, 0,138, 9, 7, 0, 59, 9,
+ 2, 0,152, 9, 2, 0,153, 9, 2, 0, 17, 0, 2, 0,154, 9, 87, 1, 6, 0, 24, 0,138, 9, 4, 0,155, 9, 4, 0,156, 9,
+ 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,250, 2, 88, 1, 4, 0, 24, 0,138, 9, 4, 0, 17, 0, 4, 0,155, 9, 0, 0,250, 2,
+ 89, 1, 4, 0, 24, 0,138, 9, 4, 0, 17, 0, 4, 0,155, 9, 0, 0,250, 2, 90, 1, 4, 0, 24, 0,138, 9, 4, 0, 17, 0,
+ 4, 0,155, 9, 0, 0,250, 2, 91, 1, 2, 0, 4, 0, 17, 0, 7, 0, 14, 4, 92, 1, 2, 0, 24, 0,138, 9, 0, 0,250, 2,
+ 93, 1, 10, 0, 24, 0,138, 9, 4, 0,157, 9, 7, 0,120, 0, 4, 0, 17, 0, 2, 0,152, 6, 2, 0,158, 9, 2, 0, 87, 0,
+ 2, 0, 67, 0, 7, 0,159, 9, 0, 0,250, 2, 94, 1, 10, 0, 24, 0,138, 9, 2, 0, 15, 0, 2, 0, 64, 4, 4, 0, 85, 0,
+ 4, 0, 86, 0, 7, 0,249, 8, 7, 0,250, 8, 4, 0, 35, 0,157, 0,220, 8, 0, 0,250, 2, 95, 1, 4, 0, 24, 0,138, 9,
+ 4, 0,138, 3, 4, 0,160, 9, 0, 0,250, 2, 96, 1, 4, 0, 24, 0,138, 9, 4, 0,138, 3, 4, 0, 35, 0, 0, 0,250, 2,
+ 97, 1, 6, 0, 24, 0,138, 9, 7, 0,120, 0, 7, 0, 65, 3, 4, 0,161, 9, 2, 0,138, 3, 2, 0,139, 3, 98, 1, 6, 0,
+ 24, 0,138, 9, 4, 0,162, 9, 4, 0,163, 9, 7, 0,164, 9, 7, 0,165, 9, 0, 0,250, 2, 99, 1, 16, 0, 24, 0,138, 9,
+ 24, 0, 82, 9, 4, 0, 15, 0, 7, 0,166, 9, 7, 0,167, 9, 7, 0,168, 9, 7, 0,169, 9, 7, 0,170, 9, 7, 0,171, 9,
+ 7, 0,172, 9, 7, 0,173, 9, 7, 0,174, 9, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0, 67, 0,100, 1, 3, 0,
+ 24, 0,138, 9, 4, 0, 17, 0, 4, 0, 22, 2,101, 1, 5, 0, 24, 0,138, 9, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,175, 9,
+ 0, 0,250, 2,102, 1, 10, 0, 24, 0,138, 9, 0, 0,250, 2, 2, 0,176, 9, 2, 0,177, 9, 0, 0,178, 9, 0, 0,179, 9,
+ 7, 0,180, 9, 7, 0,181, 9, 7, 0,182, 9, 7, 0,183, 9,103, 1, 5, 0, 24, 0,138, 9, 0, 0,250, 2, 7, 0,201, 2,
+ 2, 0,184, 9, 2, 0, 17, 0,104, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,185, 9,
+ 7, 0,186, 9, 2, 0, 17, 0, 2, 0, 22, 2,105, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0,
+ 7, 0,185, 9, 7, 0,186, 9, 2, 0, 17, 0, 2, 0, 22, 2,106, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0,
+ 7, 0, 10, 0, 7, 0,185, 9, 7, 0,186, 9, 2, 0, 17, 0, 2, 0, 22, 2,107, 1, 7, 0, 24, 0,138, 9, 0, 0,250, 2,
+ 7, 0, 79, 1, 7, 0, 88, 1, 2, 0, 17, 0, 2, 0, 72, 1, 4, 0, 35, 0,108, 1, 5, 0, 24, 0, 53, 3, 7, 0, 79, 1,
+ 2, 0, 57, 3, 0, 0, 59, 3, 0, 0,187, 9,109, 1, 10, 0,109, 1, 0, 0,109, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0,
+ 0, 0,188, 9, 7, 0, 22, 1, 7, 0, 23, 1, 2, 0,117, 9, 2, 0,189, 9, 24, 0, 42, 0,110, 1, 22, 0,110, 1, 0, 0,
+110, 1, 1, 0, 2, 0, 17, 0, 2, 0, 72, 1, 2, 0,190, 9, 2, 0,191, 9, 28, 0, 77, 0,157, 0,220, 8, 24, 0,159, 0,
+ 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,192, 9, 7, 0,193, 9, 7, 0,194, 9, 7, 0,195, 9, 7, 0,236, 2, 7, 0,196, 9,
+ 7, 0,222, 8, 7, 0,197, 9, 0, 0,198, 9, 0, 0,199, 9, 12, 0,118, 3,111, 1, 8, 0, 7, 0, 37, 2, 7, 0,249, 8,
+ 7, 0,250, 8, 9, 0, 2, 0, 2, 0,200, 9, 2, 0,201, 9, 2, 0,202, 9, 2, 0,203, 9,112, 1, 19, 0,112, 1, 0, 0,
+112, 1, 1, 0,112, 1,204, 9, 0, 0, 18, 0,111, 1,205, 9, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,206, 9, 2, 0,207, 9,
+111, 1,208, 9, 2, 0,209, 9, 2, 0, 87, 0, 7, 0,210, 9, 7, 0,211, 9, 4, 0,212, 9,112, 1,213, 9, 4, 0,214, 9,
+ 4, 0, 67, 0,113, 1,215, 9,114, 1, 4, 0, 0, 0,216, 9, 2, 0,217, 9, 2, 0,218, 9, 4, 0, 35, 0,115, 1, 34, 0,
+115, 1, 0, 0,115, 1, 1, 0,115, 1,219, 9, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 72, 8, 2, 0,100, 8,
+ 2, 0,220, 9, 2, 0,157, 6, 2, 0,209, 9, 2, 0,174, 8, 12, 0,215, 8, 12, 0,221, 9, 19, 0,191, 6, 9, 0,222, 9,
+ 7, 0,210, 9, 7, 0,211, 9, 7, 0, 72, 2, 7, 0,223, 9, 0, 0,224, 9, 2, 0,225, 9, 2, 0,226, 9, 7, 0,227, 9,
+ 7, 0,228, 9, 2, 0,229, 9, 2, 0,230, 9, 9, 0,231, 9, 16, 0,232, 9, 16, 0,233, 9, 16, 0,234, 9,114, 1,146, 0,
+116, 1,235, 9,117, 1,236, 9,113, 1, 8, 0,113, 1, 0, 0,113, 1, 1, 0,115, 1,237, 9,115, 1,238, 9,112, 1,239, 9,
+112, 1,240, 9, 4, 0, 17, 0, 4, 0, 35, 0, 53, 0, 23, 0, 19, 0, 29, 0, 31, 0, 72, 0,159, 0,112, 3, 12, 0,241, 9,
+ 12, 0,242, 9,111, 1,243, 9, 12, 0,244, 9, 4, 0, 15, 0, 4, 0,245, 9, 4, 0,246, 9, 4, 0,247, 9, 4, 0, 17, 0,
+ 4, 0, 35, 0, 12, 0,248, 9, 12, 0,215, 8, 12, 0,221, 9, 4, 0, 62, 6, 9, 0,249, 9, 9, 0,250, 9, 4, 0,251, 9,
+ 9, 0,252, 9, 9, 0,253, 9, 9, 0,254, 9,118, 1, 6, 0, 4, 0,119, 0, 4, 0,121, 0, 4, 0,174, 8, 0, 0,255, 9,
+ 0, 0, 0, 10, 2, 0, 35, 0,119, 1, 16, 0, 2, 0, 17, 8, 2, 0, 18, 8, 2, 0, 1, 10, 2, 0, 2, 10, 2, 0, 3, 10,
+ 2, 0, 65, 0, 2, 0,192, 6, 2, 0, 4, 10, 7, 0,235, 2, 7, 0, 5, 10, 7, 0, 6, 10, 2, 0, 94, 1, 0, 0, 7, 10,
+ 0, 0, 8, 10, 4, 0, 9, 10, 4, 0, 10, 10,120, 1, 9, 0, 7, 0, 11, 10, 7, 0, 12, 10, 7, 0, 19, 9, 7, 0, 76, 3,
+ 7, 0, 13, 10, 7, 0,109, 6, 2, 0, 74, 3, 0, 0, 14, 10, 0, 0, 35, 0,121, 1, 4, 0, 7, 0, 15, 10, 7, 0, 16, 10,
+ 2, 0, 74, 3, 2, 0, 35, 0,122, 1, 3, 0, 7, 0, 17, 10, 7, 0, 87, 8, 7, 0, 13, 0,123, 1, 7, 0, 0, 0,254, 1,
+ 2, 0, 26, 5, 2, 0, 27, 5, 2, 0, 28, 5, 2, 0,217, 4, 4, 0,121, 0, 4, 0, 62, 4,124, 1, 9, 0, 7, 0, 18, 10,
+ 7, 0, 19, 10, 7, 0, 20, 10, 7, 0, 83, 2, 7, 0, 21, 10, 7, 0, 22, 10, 7, 0, 23, 10, 2, 0, 24, 10, 2, 0, 25, 10,
+125, 1, 8, 0, 2, 0, 26, 10, 2, 0, 27, 10, 2, 0, 28, 10, 2, 0, 29, 10, 7, 0, 30, 10, 7, 0, 31, 10, 7, 0, 32, 10,
+ 7, 0, 33, 10,126, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,127, 1, 2, 0, 0, 0,161, 0, 0, 0, 34, 10,128, 1, 1, 0,
+ 0, 0, 18, 0,129, 1, 10, 0, 0, 0, 35, 10, 0, 0, 36, 10, 0, 0,101, 6, 0, 0, 37, 10, 2, 0, 1, 10, 2, 0, 38, 10,
+ 7, 0, 39, 10, 7, 0, 40, 10, 7, 0, 41, 10, 7, 0,196, 9,130, 1, 2, 0, 9, 0, 42, 10, 9, 0, 43, 10,131, 1, 11, 0,
+ 0, 0, 28, 5, 0, 0, 15, 0, 0, 0, 74, 3, 0, 0, 76, 3, 0, 0, 44, 10, 0, 0,104, 0, 0, 0,159, 2, 7, 0, 45, 10,
+ 7, 0, 46, 10, 7, 0, 47, 10, 7, 0, 48, 10,132, 1, 8, 0, 7, 0,181, 8, 7, 0,120, 0, 7, 0, 8, 10, 7, 0,152, 2,
+ 7, 0, 49, 10, 7, 0,233, 0, 7, 0, 50, 10, 4, 0, 15, 0,133, 1, 4, 0, 2, 0, 51, 10, 2, 0, 52, 10, 2, 0, 53, 10,
+ 2, 0, 35, 0,134, 1, 8, 0, 7, 0, 54, 10, 7, 0,201, 2, 7, 0, 55, 10, 7, 0, 68, 8, 7, 0, 69, 8, 7, 0, 70, 8,
+ 7, 0, 56, 10, 7, 0, 57, 10,135, 1, 6, 0, 2, 0, 58, 10, 2, 0, 59, 10, 7, 0, 60, 10, 7, 0, 61, 10, 7, 0, 62, 10,
+ 7, 0, 63, 10,136, 1, 1, 0, 0, 0, 18, 0,137, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 17, 0, 2, 0, 64, 10,
+138, 1, 10, 0, 2, 0,248, 3, 2, 0, 17, 0, 7, 0,145, 4, 7, 0, 65, 10, 7, 0, 66, 10, 7, 0, 67, 10, 7, 0, 68, 10,
+137, 1, 69, 10,137, 1, 70, 10,137, 1, 71, 10, 51, 0, 11, 0, 4, 0, 17, 0, 4, 0, 61, 0, 4, 0, 72, 10, 4, 0, 73, 10,
+ 16, 0, 74, 10, 16, 0, 75, 10,138, 1, 76, 10, 7, 0, 77, 10, 7, 0, 78, 10, 7, 0, 79, 10, 7, 0, 80, 10,230, 0, 10, 0,
+ 4, 0,117, 9, 4, 0, 81, 10, 7, 0, 82, 10, 7, 0, 83, 10, 7, 0, 84, 10, 7, 0, 85, 10, 7, 0, 8, 0, 7, 0, 10, 0,
+ 4, 0, 72, 1, 4, 0,240, 2,229, 0, 18, 0, 4, 0,124, 0, 4, 0, 86, 10, 4, 0, 87, 10, 7, 0, 88, 10, 4, 0, 89, 10,
+ 7, 0, 90, 10, 7, 0, 91, 10, 4, 0, 92, 10, 7, 0, 93, 10, 4, 0, 94, 10, 7, 0, 95, 10,230, 0, 96, 10, 7, 0, 97, 10,
+ 7, 0, 98, 10, 7, 0, 99, 10, 7, 0,100, 10, 4, 0,101, 10, 4, 0, 35, 0,139, 1, 4, 0, 39, 0,227, 2, 7, 0,102, 10,
+ 7, 0,161, 1, 7, 0, 35, 0,192, 0, 34, 0, 19, 0, 29, 0,139, 1,103, 10, 51, 0, 69, 10, 43, 0,104, 10, 49, 0,105, 10,
+ 22, 0,146, 0, 0, 0,106, 10, 7, 0,107, 10, 2, 0, 4, 6, 2, 0,108, 10, 4, 0,104, 0, 4, 0, 17, 0, 7, 0,109, 10,
+ 4, 0, 80, 2, 4, 0,110, 10, 7, 0,111, 10, 7, 0,112, 10, 7, 0,113, 10, 7, 0,161, 1, 4, 0,114, 10, 7, 0,115, 10,
+ 0, 0,116, 10, 0, 0,117, 10, 0, 0,118, 10, 0, 0,119, 10, 7, 0,120, 10, 7, 0,121, 10, 7, 0,122, 10, 7, 0,240, 2,
+ 7, 0,123, 10, 4, 0,124, 10, 7, 0,125, 10, 7, 0,126, 10, 7, 0,127, 10,140, 1, 10, 0, 4, 0, 15, 0, 4, 0,120, 0,
+ 4, 0, 17, 0, 4, 0,201, 3, 4, 0,128, 10, 4, 0,129, 10, 4, 0,130, 10, 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 0,
+141, 1, 1, 0, 0, 0, 60, 8, 84, 0, 7, 0,140, 1,131, 10, 4, 0,132, 10, 4, 0,133, 10, 4, 0,134, 10, 4, 0, 35, 0,
+ 9, 0,135, 10,141, 1,136, 10,142, 1, 5, 0, 7, 0,148, 2, 7, 0,221, 2, 7, 0, 30, 2, 2, 0,129, 2, 2, 0, 35, 0,
+143, 1, 5, 0, 7, 0,148, 2, 7, 0, 89, 4, 7, 0,137, 10, 7, 0,138, 10, 7, 0,221, 2,144, 1, 5, 0, 24, 0,139, 10,
+145, 1, 20, 0, 7, 0,227, 5, 7, 0,140, 10, 7, 0, 54, 0,146, 1, 3, 0, 7, 0,141, 10, 4, 0,142, 10, 4, 0,143, 10,
+147, 1, 7, 0, 4, 0,144, 10, 4, 0,145, 10, 4, 0,146, 10, 7, 0,147, 10, 7, 0,148, 10, 7, 0,149, 10, 7, 0, 54, 0,
+148, 1, 8, 0,148, 1, 0, 0,148, 1, 1, 0, 24, 0, 42, 0, 4, 0,252, 0, 2, 0, 17, 0, 2, 0, 72, 1, 7, 0,221, 2,
+ 7, 0,189, 8,149, 1, 6, 0,149, 1, 0, 0,149, 1, 1, 0, 24, 0, 42, 0, 2, 0,206, 2, 2, 0, 17, 0, 2, 0,150, 10,
+150, 1, 17, 0,143, 1,193, 3,143, 1,151, 10,142, 1,152, 10,143, 1,172, 8,144, 1,153, 10, 4, 0, 79, 0, 7, 0,221, 2,
+ 7, 0,246, 2, 7, 0,154, 10, 4, 0,144, 10, 4, 0,155, 10, 7, 0,148, 10, 7, 0,149, 10, 7, 0,104, 0, 4, 0,156, 10,
+ 2, 0, 17, 0, 2, 0,157, 10,151, 1, 15, 0, 7, 0,248, 0, 7, 0,158, 10, 7, 0,141, 10, 7, 0,159, 10, 7, 0,160, 10,
+ 7, 0,161, 10, 7, 0,162, 10, 7, 0,163, 10, 7, 0,164, 10, 7, 0,165, 10, 7, 0,166, 10, 7, 0,167, 10, 7, 0,168, 10,
+ 4, 0, 17, 0, 4, 0,169, 10,152, 1,124, 0, 19, 0, 29, 0, 31, 0, 72, 0,153, 1,170, 10,151, 1,171, 10,168, 0, 84, 4,
+ 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0, 2, 0,176, 9, 2, 0,172, 10, 2, 0,107, 1, 2, 0,173, 10, 2, 0,160, 3,
+ 2, 0,174, 10, 2, 0,175, 10, 2, 0,176, 10, 2, 0,177, 10, 2, 0,178, 10, 2, 0,179, 10, 2, 0,180, 10, 2, 0,181, 10,
+ 2, 0,182, 10, 2, 0,124, 5, 2, 0,183, 10, 2, 0,184, 10, 2, 0,185, 10, 2, 0,186, 10, 2, 0,187, 10, 2, 0, 19, 2,
+ 2, 0,165, 8, 2, 0,140, 8, 2, 0,188, 10, 2, 0,189, 10, 2, 0,211, 3, 2, 0,212, 3, 2, 0,190, 10, 2, 0,191, 10,
+ 2, 0,192, 10, 2, 0,193, 10, 7, 0,194, 10, 7, 0,195, 10, 7, 0,196, 10, 7, 0,197, 10, 7, 0,198, 10, 7, 0,199, 10,
+ 7, 0,200, 10, 2, 0, 74, 5, 2, 0,201, 10, 7, 0,202, 10, 7, 0,203, 10, 7, 0,204, 10, 7, 0,147, 8, 7, 0, 86, 0,
+ 7, 0,246, 2, 7, 0,153, 8, 7, 0,205, 10, 7, 0,206, 10, 7, 0,207, 10, 7, 0,208, 10, 4, 0,148, 8, 4, 0,146, 8,
+ 4, 0,209, 10, 4, 0,210, 10, 7, 0,149, 8, 7, 0,150, 8, 7, 0,151, 8, 7, 0,211, 10, 7, 0,212, 10, 7, 0,213, 10,
+ 7, 0,214, 10, 7, 0,215, 10, 7, 0,216, 10, 7, 0,217, 10, 7, 0,218, 10, 7, 0,219, 10, 7, 0,151, 3, 7, 0,104, 0,
+ 7, 0,220, 10, 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10, 7, 0,206, 0, 7, 0,224, 10, 4, 0,225, 10, 4, 0,226, 10,
+ 7, 0,227, 10, 7, 0,228, 10, 7, 0,229, 10, 7, 0,230, 10, 7, 0,231, 10, 7, 0,205, 0, 7, 0,232, 10, 7, 0,238, 3,
+ 7, 0,236, 3, 7, 0,237, 3, 7, 0,233, 10, 7, 0,234, 10, 7, 0,235, 10, 7, 0,236, 10, 7, 0,237, 10, 7, 0,238, 10,
+ 7, 0,239, 10, 7, 0,240, 10, 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10, 7, 0,244, 10, 7, 0,245, 10, 7, 0,246, 10,
+ 7, 0,247, 10, 7, 0,248, 10, 7, 0,249, 10, 7, 0,250, 10, 4, 0,251, 10, 4, 0,252, 10, 43, 0,125, 1, 58, 0,182, 3,
+ 12, 0,253, 10, 58, 0,254, 10, 24, 0,255, 10, 24, 0, 0, 11, 28, 0, 77, 0,163, 0, 64, 1,163, 0, 1, 11,141, 0, 50, 0,
+141, 0, 0, 0,141, 0, 1, 0,152, 1, 2, 11,150, 1, 3, 11,147, 1, 82, 9,171, 0, 10, 4, 9, 0, 11, 4,154, 1, 4, 11,
+154, 1, 5, 11, 12, 0, 6, 11, 12, 0, 7, 11,126, 0, 8, 11,134, 0, 9, 11,134, 0, 10, 11, 24, 0, 11, 11, 24, 0, 12, 11,
+ 24, 0, 36, 0, 12, 0,143, 9, 0, 0, 18, 0, 7, 0,237, 0, 7, 0, 19, 3, 7, 0, 13, 11, 7, 0, 14, 11, 4, 0,195, 2,
+ 4, 0, 15, 11, 4, 0, 17, 0, 4, 0,148, 8, 4, 0, 16, 11, 4, 0, 17, 11, 4, 0, 18, 11, 4, 0, 19, 11, 2, 0,244, 0,
+ 2, 0, 20, 11, 2, 0, 21, 11, 2, 0, 22, 11, 0, 0, 23, 11, 2, 0, 24, 11, 2, 0, 25, 11, 2, 0, 26, 11, 9, 0, 27, 11,
+130, 0, 83, 4, 12, 0, 4, 3, 12, 0, 28, 11,146, 1, 29, 11, 4, 0, 30, 11, 4, 0, 31, 11,155, 1, 32, 11,132, 0, 16, 3,
+156, 1, 33, 11, 7, 0, 34, 11,128, 0, 37, 0,157, 1, 20, 9, 7, 0, 53, 4, 7, 0, 35, 11, 7, 0, 36, 11, 7, 0,227, 5,
+ 7, 0,161, 3, 7, 0,151, 3, 7, 0, 37, 11, 7, 0, 82, 2, 7, 0, 38, 11, 7, 0, 39, 11, 7, 0, 40, 11, 7, 0, 41, 11,
+ 7, 0, 42, 11, 7, 0, 43, 11, 7, 0, 54, 4, 7, 0, 44, 11, 7, 0, 45, 11, 7, 0, 46, 11, 7, 0, 55, 4, 7, 0, 51, 4,
+ 7, 0, 52, 4, 7, 0, 47, 11, 7, 0, 48, 11, 4, 0, 49, 11, 4, 0, 88, 0, 4, 0, 50, 11, 4, 0, 51, 11, 2, 0, 52, 11,
+ 2, 0, 53, 11, 2, 0, 54, 11, 2, 0, 55, 11, 2, 0, 56, 11, 2, 0, 57, 11, 2, 0, 58, 11, 2, 0,195, 4,168, 0, 84, 4,
+129, 0, 11, 0,157, 1, 59, 11, 7, 0, 60, 11, 7, 0, 61, 11, 7, 0,233, 1, 7, 0, 62, 11, 7, 0, 63, 11, 7, 0, 64, 11,
+ 4, 0, 88, 0, 2, 0, 65, 11, 2, 0, 66, 11, 58, 0,232, 1,158, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 8, 2,
+ 7, 0, 67, 11,159, 1, 6, 0,159, 1, 0, 0,159, 1, 1, 0,158, 1, 59, 9, 4, 0,250, 0, 2, 0, 68, 11, 2, 0, 17, 0,
+160, 1, 5, 0,160, 1, 0, 0,160, 1, 1, 0, 12, 0, 69, 11, 4, 0, 70, 11, 4, 0, 17, 0,161, 1, 9, 0,161, 1, 0, 0,
+161, 1, 1, 0, 12, 0,119, 0,160, 1, 71, 11, 4, 0, 17, 0, 2, 0, 68, 11, 2, 0, 72, 11, 7, 0, 89, 0, 0, 0, 73, 11,
+159, 0, 6, 0, 19, 0, 29, 0, 12, 0, 43, 5, 4, 0, 17, 0, 2, 0, 74, 11, 2, 0, 75, 11, 9, 0, 76, 11,162, 1, 6, 0,
+ 12, 0, 77, 11, 4, 0, 78, 11, 4, 0, 79, 11, 4, 0, 17, 0, 4, 0, 35, 0,211, 0, 80, 11,163, 1, 17, 0, 19, 0, 29, 0,
+164, 1, 81, 11,164, 1, 82, 11, 12, 0, 83, 11, 4, 0, 84, 11, 2, 0, 85, 11, 2, 0, 86, 11, 12, 0, 87, 11, 12, 0, 88, 11,
+162, 1, 89, 11, 12, 0, 90, 11, 12, 0, 91, 11, 12, 0, 92, 11, 12, 0, 93, 11,165, 1, 94, 11, 12, 0, 95, 11,211, 0, 96, 11,
+164, 1, 32, 0,164, 1, 0, 0,164, 1, 1, 0, 9, 0, 97, 11, 4, 0,251, 7, 2, 0, 98, 11, 2, 0, 35, 0, 2, 1, 99, 11,
+ 2, 1,100, 11, 0, 0,101, 11, 2, 0,102, 11, 2, 0,103, 11, 2, 0, 17, 8, 2, 0, 18, 8, 2, 0,104, 11, 2, 0,105, 11,
+ 2, 0,201, 3, 2, 0,223, 6, 2, 0,106, 11, 2, 0,107, 11, 2, 0,108, 11, 2, 0, 67, 0,166, 1,109, 11,167, 1,110, 11,
+168, 1,111, 11, 4, 0,112, 11, 4, 0,113, 11, 9, 0,114, 11, 12, 0, 88, 11, 12, 0, 37, 8, 12, 0,115, 11, 12, 0,116, 11,
+ 12, 0,117, 11,169, 1, 17, 0,169, 1, 0, 0,169, 1, 1, 0, 0, 0,118, 11, 18, 0, 28, 0, 2, 0,119, 11, 2, 0, 15, 0,
+ 2, 0, 13, 0, 2, 0,120, 11, 2, 0,121, 11, 2, 0,122, 11, 2, 0,123, 11, 2, 0,124, 11, 2, 0, 17, 0, 2, 0,125, 11,
+ 2, 0, 29, 0, 2, 0, 35, 0,170, 1,126, 11,171, 1, 10, 0,171, 1, 0, 0,171, 1, 1, 0, 12, 0,127, 11, 0, 0,118, 11,
+ 2, 0,128, 11, 2, 0,129, 11, 2, 0, 17, 0, 2, 0,130, 11, 4, 0,131, 11, 9, 0,132, 11,165, 1, 7, 0,165, 1, 0, 0,
+165, 1, 1, 0, 0, 0,118, 11, 0, 0,133, 11, 12, 0,196, 7, 4, 0,134, 11, 4, 0, 17, 0,223, 0, 14, 0,223, 0, 0, 0,
+223, 0, 1, 0, 0, 0,118, 11, 18, 0, 28, 0,172, 1, 11, 8, 9, 0,135, 11, 9, 0,136, 11,170, 1,126, 11,162, 1,137, 11,
+ 12, 0,138, 11,223, 0,139, 11, 7, 1,130, 6, 2, 0, 17, 0, 2, 0,195, 4,173, 1, 8, 0,173, 1, 0, 0,173, 1, 1, 0,
+ 9, 0, 2, 0, 9, 0,140, 11, 0, 0, 4, 4, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,141, 11,174, 1, 5, 0, 7, 0,142, 11,
+ 4, 0,143, 11, 4, 0,144, 11, 4, 0, 72, 1, 4, 0, 17, 0,175, 1, 6, 0, 7, 0,145, 11, 7, 0,146, 11, 7, 0,147, 11,
+ 7, 0,148, 11, 4, 0, 15, 0, 4, 0, 17, 0,176, 1, 5, 0, 7, 0,249, 8, 7, 0,250, 8, 7, 0,221, 2, 2, 0, 33, 2,
+ 2, 0, 34, 2,177, 1, 5, 0,176, 1, 2, 0, 4, 0, 51, 0, 7, 0,149, 11, 7, 0,249, 8, 7, 0,250, 8,178, 1, 4, 0,
+ 2, 0,150, 11, 2, 0,151, 11, 2, 0,152, 11, 2, 0,153, 11,179, 1, 2, 0, 34, 0,185, 6, 18, 0, 25, 9,180, 1, 3, 0,
+ 16, 0,154, 11, 4, 0, 17, 0, 4, 0, 35, 0,181, 1, 6, 0, 7, 0,104, 0, 7, 0,223, 2, 7, 0,155, 11, 7, 0, 35, 0,
+ 2, 0,243, 0, 2, 0,156, 11,182, 1, 5, 0, 7, 0,157, 11, 7, 0,120, 0, 7, 0, 60, 9, 7, 0, 61, 9, 4, 0, 17, 0,
+183, 1, 6, 0, 19, 0,191, 6, 0, 0,158, 11, 0, 0,159, 11, 2, 0,160, 11, 2, 0, 17, 0, 4, 0,161, 11,184, 1, 7, 0,
+184, 1, 0, 0,184, 1, 1, 0, 0, 0, 4, 4,183, 1,162, 11, 2, 0,163, 11, 2, 0, 15, 0, 7, 0, 58, 0,185, 1, 7, 0,
+ 12, 0,164, 11, 0, 0,165, 11, 9, 0,166, 11, 7, 0, 58, 0, 7, 0,141, 11, 4, 0, 15, 0, 4, 0, 17, 0,186, 1, 3, 0,
+ 7, 0,167, 11, 4, 0, 17, 0, 4, 0, 35, 0,187, 1, 15, 0,187, 1, 0, 0,187, 1, 1, 0, 78, 1,130, 9,185, 1, 59, 0,
+ 12, 0,118, 3, 27, 0, 47, 0,186, 1,168, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 15, 1, 4, 0,169, 11,
+ 0, 0,158, 11, 4, 0,170, 11, 7, 0,171, 11,188, 1, 2, 0, 0, 0,172, 11, 0, 0,173, 11,189, 1, 4, 0,189, 1, 0, 0,
+189, 1, 1, 0,157, 0, 53, 3, 12, 0,174, 11,190, 1, 24, 0,190, 1, 0, 0,190, 1, 1, 0, 12, 0,175, 11,157, 0,220, 8,
+189, 1,176, 11, 12, 0,177, 11, 12, 0,118, 3, 0, 0, 4, 4, 7, 0,141, 11, 7, 0,178, 11, 7, 0, 85, 0, 7, 0, 86, 0,
+ 7, 0,192, 9, 7, 0,193, 9, 7, 0,236, 2, 7, 0,196, 9, 7, 0,222, 8, 7, 0,197, 9, 2, 0,179, 11, 2, 0,180, 11,
+ 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 0,191, 1, 6, 0,191, 1, 0, 0,191, 1, 1, 0, 12, 0,175, 11,
+ 4, 0, 17, 0, 4, 0,252, 1, 0, 0, 4, 4,192, 1, 11, 0,192, 1, 0, 0,192, 1, 1, 0, 19, 0,191, 6, 0, 0,181, 11,
+ 4, 0,161, 11, 2, 0,182, 11, 2, 0, 35, 0, 0, 0,158, 11, 4, 0,169, 11, 2, 0, 17, 0, 2, 0,183, 11,193, 1, 8, 0,
+193, 1, 0, 0,193, 1, 1, 0, 12, 0,184, 11, 0, 0, 4, 4, 0, 0,185, 11, 2, 0, 17, 0, 2, 0,183, 11, 4, 0,186, 11,
+194, 1, 5, 0,194, 1, 0, 0,194, 1, 1, 0, 0, 0,158, 11, 4, 0,169, 11, 7, 0,211, 2, 31, 0, 12, 0,157, 0,109, 3,
+157, 0,187, 11,189, 1,176, 11, 12, 0,188, 11,190, 1,189, 11, 12, 0,190, 11, 12, 0,191, 11, 4, 0, 17, 0, 4, 0,244, 0,
+ 2, 0,192, 11, 2, 0,193, 11, 7, 0,194, 11,195, 1, 2, 0, 19, 0, 29, 0, 31, 0, 72, 0,196, 1, 5, 0,196, 1, 0, 0,
+196, 1, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 0,197, 1, 6, 0,196, 1,195, 11, 24, 0, 42, 0, 4, 0,196, 11,
+ 7, 0,197, 11, 4, 0,198, 11, 4, 0,117, 9,198, 1, 3, 0,196, 1,195, 11, 4, 0,196, 11, 7, 0,199, 11,199, 1, 8, 0,
+196, 1,195, 11, 24, 0, 42, 0, 7, 0, 67, 1, 7, 0,200, 11, 7, 0, 19, 3, 7, 0, 19, 9, 4, 0,196, 11, 4, 0,201, 11,
+200, 1, 5, 0,196, 1,195, 11, 7, 0,202, 11, 7, 0,100, 8, 7, 0,242, 2, 7, 0, 54, 0,201, 1, 3, 0,196, 1,195, 11,
+ 7, 0, 19, 9, 7, 0,203, 11,145, 1, 4, 0, 7, 0,204, 11, 7, 0,221, 10, 2, 0,205, 11, 2, 0, 72, 1,202, 1, 14, 0,
+202, 1, 0, 0,202, 1, 1, 0, 12, 0,206, 11, 12, 0,207, 11, 12, 0,208, 11, 0, 0, 18, 0, 4, 0, 29, 0, 4, 0, 17, 0,
+ 4, 0,209, 11, 7, 0,210, 11, 4, 0,198, 11, 4, 0,117, 9, 7, 0, 14, 4, 7, 0,244, 2,153, 1, 23, 0, 4, 0,196, 11,
+ 4, 0,211, 11, 7, 0,212, 11, 7, 0,240, 2, 7, 0,213, 11, 7, 0,236, 8, 7, 0,204, 11, 7, 0,214, 11, 7, 0,223, 2,
+ 7, 0, 88, 10, 7, 0,145, 4, 7, 0,215, 11, 7, 0,216, 11, 7, 0,217, 11, 7, 0,218, 11, 7, 0,219, 11, 7, 0,220, 11,
+ 7, 0,221, 11, 7, 0,222, 11, 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 12, 0,226, 11,114, 0, 40, 0,113, 0,227, 11,
+203, 1,171, 10, 58, 0,228, 11, 58, 0,254, 10, 58, 0,229, 11,204, 1,230, 11, 40, 0,160, 0, 40, 0,231, 11, 40, 0,232, 11,
+ 7, 0,233, 11, 7, 0,234, 11, 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, 7, 0,250, 7, 7, 0,238, 11, 7, 0,161, 1,
+ 7, 0,239, 11, 4, 0,240, 11, 4, 0,241, 11, 4, 0,242, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,243, 11, 2, 0,244, 11,
+ 2, 0,245, 11, 4, 0,246, 11, 7, 0,223, 2, 4, 0,247, 11, 7, 0,248, 11, 4, 0,249, 11, 4, 0,250, 11, 4, 0,251, 11,
+130, 0,252, 11, 12, 0,253, 11,168, 0, 84, 4, 4, 0,254, 11, 7, 0,255, 11, 7, 0, 0, 12, 4, 0, 67, 0,115, 0, 12, 0,
+113, 0,227, 11,141, 0, 39, 3, 7, 0,128, 1, 7, 0,250, 7, 7, 0, 1, 12, 7, 0, 2, 12, 7, 0, 3, 12, 2, 0, 4, 12,
+ 2, 0, 5, 12, 2, 0, 6, 12, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 0,227, 11,132, 0, 16, 3,134, 0, 18, 3,
+ 7, 0, 59, 9, 7, 0, 7, 12, 7, 0, 8, 12, 7, 0, 69, 1, 7, 0, 9, 12, 4, 0,152, 9, 4, 0, 12, 3, 2, 0, 15, 0,
+ 2, 0, 35, 0, 4, 0, 67, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0};
diff --git a/source/blender/editors/datafiles/splash.png.c b/source/blender/editors/datafiles/splash.png.c
index aea2a9a1a14..aa358275335 100644
--- a/source/blender/editors/datafiles/splash.png.c
+++ b/source/blender/editors/datafiles/splash.png.c
@@ -1,8411 +1,6314 @@
/* DataToC output of file <splash_png> */
-int datatoc_splash_png_size= 268962;
+int datatoc_splash_png_size= 201866;
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, 6, 0, 0, 0, 8, 90,206, 70, 0,
- 0, 10, 78,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, 94,
-157,147,103, 84,147,103, 27,199,175,231,121,178, 7, 35, 9, 17,144,241,176,151, 76, 25, 1,100,134, 21, 1, 25, 34, 75, 20, 66,
- 18, 32,140, 16, 67, 2, 14, 92,136,168, 64, 69, 81, 17,193,137, 84, 69, 44, 88,173,128,212,137, 40, 14,138,162,226,214,130, 20,
- 17,181, 22,171,184,112,244, 3,231, 84,223,158,119,244,237,239,211,255, 92,227, 92,247, 53,110, 0, 70, 72,152, 84,150,139,106,
- 0,228,200,148,138,232, 96,127, 60, 62, 33, 17, 39,247, 0, 10, 84, 32,129, 35,128, 80,148, 39, 15,159, 25, 20, 3, 0, 32, 8,
-228,227,121,209,193,254,240, 5, 4,224,245, 13, 64, 0, 0,174,217,134, 68,226, 56,252,127,104,138,228, 10, 37, 0, 18, 9, 0,
- 83,197,146, 60, 17, 0, 82, 12, 0,217, 5, 74,185, 18, 0, 25, 5, 0, 78,106,150, 92, 9,128, 18, 0,128,163,136, 79, 72, 4,
- 64,181, 1,128,147, 62,161,167, 0, 0, 39,117, 66,251, 2, 0, 71,156, 35, 19, 3,160, 49, 0, 32, 23,231,136,197, 0,104, 39,
- 0,172,206, 87, 73,196, 0, 88, 24, 0,148,228, 75, 37, 5, 0,216,117, 0, 48,205, 86,229, 72, 1,176,183, 0,192,201,145, 8,
-243, 0, 8, 12, 0, 48, 85, 74, 68, 25, 0, 4, 7, 0, 96, 40, 98,162,249, 0,132,105, 0, 20, 70,250, 87, 58,245, 43,173,148,
-204, 87, 2, 0,240,115,229, 11, 20,210,244, 12, 37,110, 41,178,194, 29,221,221,121,120,136,164, 32, 91,162, 84,218, 70, 10, 69,
- 89, 66,133, 24,231,231,230,200,133,178, 5, 0, 19, 61, 3, 0, 0, 43, 47, 58,216, 31, 23, 4,242, 93, 29,221, 93, 93,109,157,
-236, 28,191,204,233,191, 59,255, 38,241, 9,137,248,132,122, 25, 5, 8, 0, 32,220,238, 47,182,127, 23,151, 91, 7,192, 27, 3,
-192,214,125,177,165,110, 1,104, 93, 9,160,125,231,139,205,116, 39,128,122, 49, 64,203,229,175,250,225, 10, 2,249,120,134, 82,
- 41,247,176,183, 47, 40, 40,176,147, 74, 68,118,162,140,175,234,252,207,128,191,193, 87,245,236, 4,129,124,252,207,241,224, 1,
-146, 52,161, 42, 91,137, 71, 7,251,227,162,220,236, 92,149, 2,207,147, 11, 69, 18,220,246,175, 71,252,143, 19,191,226,171,119,
- 76,137,150,164, 73, 20, 18,153, 72,130,199, 74, 37, 5, 82, 89, 58,206,207,149,137,165, 74,105,174, 12,151,202,254,211, 18,255,
- 97,218, 95,152,184,107, 0, 96,215,127, 2, 78,178, 29,104, 92,230, 0,246,107, 55, 16,216,116,192,146,182, 3, 0,242,231,222,
-194,168,177, 16, 9, 0,113,134,195, 19,119, 15, 0, 48,241,155,255, 21,180, 2, 0,208, 60,105, 58, 14, 0,192,143,142,193, 69,
- 42, 69,254,132,143, 0, 0, 64, 4, 26,168, 3, 7,116,192, 0, 76,192, 18,108,193, 9,220,192, 19,124, 33, 16,166, 67, 4,196,
- 64, 2,204, 5, 17,100, 64, 14, 40,160, 0, 10, 97, 57,148, 64, 25,172,131, 77, 80, 3, 59,160, 30, 26,160, 9, 14, 65, 43, 28,
-131,211,112, 14, 46,193, 21,232,131,187,208, 15, 67,240, 20, 70,225, 53,140, 35, 8, 66, 70,152, 8, 27,209, 65, 12, 17, 51,196,
- 6,113, 66,120,136, 55, 18,136,132, 33,209, 72, 2,146,130,164, 35, 50, 68,133, 20, 34, 43,144, 50,164, 18,169, 65,118, 33, 13,
-200,247,200, 81,228, 52,114, 1,233, 69,110, 35, 3,200, 8,242, 59,242, 30,197, 80, 6,202, 65,245, 81,115,212, 30,229,161,126,
-104, 40, 26,131,206, 65,211,209,121,232, 66,180, 24, 93,139, 86,163,117,232, 1,180, 5, 61,141, 94, 66,251,208,126,244, 41, 58,
-134, 1, 70,199,184,152, 17,102,139,241, 48, 62, 22,129, 37, 98,105,152, 2, 91,130,149, 98, 85, 88, 29,214,132,181, 99, 93,216,
- 53,172, 31,123,134,189, 35,144, 8,108, 2, 78,176, 37,120, 18, 66, 8,179, 8, 34,194, 60,194, 18, 66, 57,161,134,176,143,208,
- 66,232, 36, 92, 35, 12, 16, 70, 9,159,136, 76,162, 30,209,134,232, 65, 20, 16,227,137,233,196, 2, 98, 9,177,138,184,135,120,
-132,120,150,216, 71, 28, 34,190, 38,145, 72, 92,146, 5,201,141, 20, 66, 74, 32,101,146, 22,145,202, 73,219, 72,205,164, 83,164,
- 94,210, 32,105,140, 76, 38,235,144,109,200, 94,228, 8,178,144,172, 36,151,144,183,144, 15,144, 79,146,175,146,135,200,111, 41,
-116,138, 33,197,137, 18, 68, 73,164,200, 40, 69,148, 42,202,126,202, 9,202, 85,202, 48,101,156,170, 65, 53,163,122, 80, 35,168,
- 98,234, 2,106, 5,181,158,218, 78,189, 76, 29,162,142,211, 52,105, 22, 52, 47, 90, 12, 45,147,182,156, 86, 77,107,162,157,165,
-221,163,189,164,211,233,198,116,119,122, 20, 93, 74, 95, 70,175,166, 31,164,159,167, 15,208,223, 49, 88, 12,107, 6,159,145,196,
- 80, 49,214, 50,246, 50, 78, 49,110, 51, 94, 50,153, 76,115,166, 47, 51,145,169,100,174,101, 54, 48,207, 48, 31, 48,223,170,177,
-213,236,212, 4,106, 98,181,165,106,181,106, 45,106, 87,213,158,171, 83,213,205,212,253,212,231,170, 47, 84,175, 82, 63,172,126,
- 89,253,153, 6, 85,195, 92,131,175, 33,212, 88,162, 81,171,113, 84,227,166,198,152, 38, 91,211, 81, 51, 66, 51, 71,179, 92,115,
-191,230, 5,205,199, 44, 50,203,156, 21,200, 18,179,138, 89,187, 89,103, 88,131,108,140,109,194,230,179, 69,236, 21,236,122,246,
- 89,246, 16,135,196,177,224, 8, 56,153,156, 50,206,119,156, 30,206,168, 22, 75,203, 89, 43, 86,107,190, 86,173,214,113,173,126,
- 46,198, 53,231, 10,184,217,220, 10,238, 33,238, 13,238,251, 73,250,147,252, 38, 73, 38,173,153,212, 52,233,234,164, 55,218,147,
-181,125,181, 37,218,165,218,205,218,125,218,239,117,112,157, 64,157, 44,157,245, 58,173, 58,247,117, 9,186,214,186, 81,186, 5,
-186,219,117,207,234, 62,155,204,153,236, 57, 89, 52,185,116,242,161,201,119,244, 80, 61,107,189,104,189, 69,122,187,245,186,245,
-198,244, 13,244,131,245,229,250, 91,244,207,232, 63, 51,224, 26,248, 26,100, 26,108, 52, 56, 97, 48, 98,200, 54,244, 54,148, 26,
-110, 52, 60,105,248, 4,215,194,253,240,108,188, 26,239,196, 71,141,244,140, 66,140, 84, 70,187,140,122,140,198,141, 45,140,103,
- 25, 23, 25, 55, 27,223, 55,161,153,240, 76,210, 76, 54,154,116,152,140,154, 26,154,134,155, 22,154, 54,154,222, 49,163,154,241,
-204, 50,204, 54,155,117,153,189, 49,183, 48,143, 51, 95,101,222,106,254,216, 66,219, 66, 96,177,208,162,209,226,158, 37,211,210,
-199,114,158,101,157,229,117, 43,146, 21,207, 42,203,106,155,213, 21,107,212,218,197, 58,195,186,214,250,178, 13,106,227,106, 35,
-181,217,102,211, 59,133, 56,197,125,138,108, 74,221,148,155,182, 12, 91, 63,219,124,219, 70,219, 1, 59,174, 93,152, 93,145, 93,
-171,221,115,123, 83,251, 68,251,245,246, 93,246,159, 28, 92, 28,178, 29,234, 29,238, 58,178, 28,167, 59, 22, 57,182, 59,254,238,
-100,237, 36,114,170,117,186, 62,149, 57, 53,104,234,210,169,109, 83, 95, 56,219, 56, 75,156,183, 59,223,114, 97,187,132,187,172,
-114,233,112,249,232,234,230,170,112,109,114, 29,113, 51,117, 75,113,219,234,118,147,199,225, 69,242,202,121,231,221,137,238,254,
-238, 75,221,143,185,191,243,112,245, 80,122, 28,242,248,205,211,214, 51,203,115,191,231,227,105, 22,211, 36,211,234,167, 13,122,
- 25,123, 9,189,118,121,245,123,227,222, 41,222, 59,189,251,125,140,124,132, 62,117, 62, 15,125, 77,124,197,190,123,124,135,253,
-172,252, 50,253, 14,248, 61,247,119,240, 87,248, 31,241,127,195,247,224, 47,230,159, 10,192, 2,130, 3, 74, 3,122, 2, 89,129,
-179, 2,107, 2, 31, 4, 25, 7,165, 7, 53, 6,141, 6,187, 4, 47, 10, 62, 21, 66, 12, 9, 13, 89, 31,114, 83,160, 47, 16, 9,
- 26, 4,163,211,221,166, 47,158,222, 25,202, 8,157, 25, 90, 19,250, 48,204, 58, 76, 17,214, 30,142,134, 79, 15,223, 16,126,111,
-134,217, 12,217,140,214, 8,136, 16, 68,108,136,184, 31,105, 17, 57, 47,242,199, 40, 82, 84,100, 84,109,212,163,104,199,232,194,
-232,174,153,236,153,201, 51,247,207,124, 29,227, 31, 83, 17,115,119,150,229, 44,213,172,142, 88,245,216,164,216,134,216, 55,113,
- 1,113,149,113,253,241,246,241,139,227, 47, 37,232, 38, 72, 19,218, 18,201,137,177,137,123, 18,199,102, 7,206,222, 52,123, 40,
-201, 37,169, 36,233,198, 28,139, 57,243,231, 92,152,171, 59, 55,123,238,241,100,245,100, 97,242,225, 20, 98, 74, 92,202,254,148,
- 15,194, 8, 97,157,112, 44, 85,144,186, 53,117, 84,196, 23,109, 22, 61, 21,251,138, 55,138, 71, 36, 94,146, 74,201,112,154, 87,
- 90,101,218,227,116,175,244, 13,233, 35, 25, 62, 25, 85, 25,207,164,124,105,141,244, 69,102, 72,230,142,204, 55, 89, 17, 89,123,
-179, 62,103,199,101, 55,231, 80,114, 82,114,142,202, 88,178, 44, 89,103,174, 65,238,252,220, 94,185,141,188, 68,222, 63,207, 99,
-222,166,121,163,138, 80,197,158, 60, 36,111, 78, 94,155,146,163,148, 43,187, 85,150,170,149,170,129,124,239,252,218,252,183, 5,
-177, 5,135,231,107,206,151,205,239, 94, 96,189, 96,205,130,225,133, 65, 11,191, 93, 68, 88, 36, 90,212, 81,104, 84,184,188,112,
- 96,177,223,226, 93, 75,144, 37,169, 75, 58,150,154, 44, 45, 94, 58,180, 44,120,217,190,229,180,229, 89,203,127, 42,114, 40,170,
- 44,122,181, 34,110, 69,123,177,126,241,178,226,193,149,193, 43, 27, 75,212, 74, 20, 37, 55, 87,121,174,218,177,154,176, 90,186,
-186,103,205,212, 53, 91,214,124, 42, 21,151, 94, 44,115, 40,171, 42,251, 80, 46, 42,191,248,141,227, 55,213,223,124, 94,155,182,
-182,167,194,181, 98,251, 58,210, 58,217,186, 27,235,125,214,239,171,212,172, 92, 88, 57,184, 33,124, 67,203, 70,124, 99,233,198,
- 87,155,146, 55, 93,168,114,174,218,177,153,182, 89,181,185,191, 58,172,186,109,139,233,150,117, 91, 62,212,100,212,244,213,250,
-215, 54,111,213,219,186,102,235,155,109,226,109, 87,183,251,110,111,218,161,191,163,108,199,251,157,210,157,183,118, 5,239,106,
-169, 51,175,171,218, 77,218,157,191,251, 81,125,108,125,215,183,188,111, 27,246,232,238, 41,219,243,113,175,108,111,255,190,232,
-125,157, 13,110, 13, 13,251,245,246, 87, 52,162,141,170,198,145, 3, 73, 7,174,124, 23,240, 93, 91,147,109,211,174,102,110,115,
-217, 65, 56,168, 58,248,228,251,148,239,111, 28, 10, 61,212,113,152,119,184,233, 7,179, 31,182, 30, 97, 31, 41,109, 65, 90, 22,
-180,140,182,102,180,246,183, 37,180,245, 30,157,126,180,163,221,179,253,200,143,118, 63,238, 61,102,116,172,246,184,214,241,138,
- 19,180, 19,197, 39, 62,159, 92,120,114,236,148,252,212,179,211,233,167, 7, 59,146, 59,238,158,137, 63,115,189, 51,170,179,231,
-108,232,217,243,231,130,206,157,233,242,235, 58,121,222,235,252,177, 11, 30, 23,142, 94,228, 93,108,189,228,122,169,165,219,165,
-251,200, 79, 46, 63, 29,233,113,237,105,185,236,118,185,237,138,251,149,246,222,105,189, 39,174,250, 92, 61,125, 45,224,218,185,
-235,130,235,151,250,102,244,245,222,152,117,227,214,205,164,155,253,183,196,183, 30,223,206,190,253,226, 78,254,157,241,187,203,
-238, 17,239,149,222,215,184, 95,245, 64,239, 65,221,207, 86, 63, 55,247,187,246, 31, 31, 8, 24,232,126, 56,243,225,221, 65,209,
-224,211, 95,242,126,249, 48, 84,252,136,249,168,106,216,112,184,225,177,211,227, 99, 35, 65, 35, 87,158,204,126, 50,244, 84,254,
-116,252, 89,201,175,154,191,110,125,110,249,252,135,223,124,127,235, 30,141, 31, 29,122,161,120,241,249,247,242,151, 58, 47,247,
-190,114,126,213, 49, 22, 57,246,224,117,206,235,241, 55,165,111,117,222,238,123,199,123,215,245, 62,238,253,240,120,193, 7,242,
-135,234,143, 86, 31,219, 63,133,126,186,247, 57,231,243,231, 63, 0, 3,152,243,252,228,233,233, 61, 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, 4, 4, 19, 16, 22,110,185,205,242, 0, 0, 32, 0, 73, 68, 65, 84,120, 94,236,189,123,
-180,109, 87, 93,231,249,249,205, 57,215,115,239,115, 78, 94, 36,225, 37, 33,188, 21,161, 48,160, 85, 42, 74, 73, 40, 69, 75, 27,
-149,132,194, 6, 44, 69,161,203,238,174, 70,187, 17,170,171,122,104,141, 18, 5,202,106,180, 91,233, 38,165,229,168, 82, 75,139,
- 72,169, 77, 15,149, 78,240, 5,104,161,166, 4, 31, 32, 96, 66,124, 0, 9, 33,185,185,231,236,189,215, 99, 62,126,253,199, 92,
-231,220,115,111,238, 59,185, 33,129,245,201,216, 57,247,156,189,246,218,115,174, 53,215,252,254, 94,107, 46,152,153,153,153,153,
-153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,
-153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,121, 80,176,103,218,224, 1, 70,166, 87, 13, 92,109, 12,143,
- 80,101, 3,248,233,239, 51, 51, 51, 51, 51, 51, 51, 15, 3, 4, 48,198,200, 19,255,249,117,207,252,197, 15,252,232,139, 62,253,
-103, 63,246,205,119,255,240,203,190,228, 87, 75,103,174, 57,180,205,204,204,204,204,204,204,204,121,240, 96,122,234, 2,148,223,
-243,194,167,188,225, 71, 95,252,212, 87, 92,225,187,197, 35,182, 23,205,115,191,236, 73, 79,249,202,167, 62,226,218,247,126,248,
-142, 59,142,172,198,143, 2,202, 44,238, 51, 51, 51, 51, 51, 51,231,204,131, 41,234, 6,104,191,250,170,230, 91,255,193,229,225,
-233,221, 93,247,224,143,220, 77,232, 6,158,252,228,199, 93,252,226,175,124,194, 55,126,228, 19, 71,236,199, 62,185,251, 65,160,
- 99, 22,246,153,153,153,153,153,153,115,226,193, 20,117, 1,170,247,223,190,123,199,165, 59,229, 51,190,226, 9,219, 87,106, 80,
-226,222, 46, 97,111,143,139, 47,191,220,189,244,249, 95,248,213, 49,133, 39,189,247, 67,119,252, 49,112, 55,179,176,207,204,204,
-204,204,204,156, 53, 15,166,168, 3,136, 42,123,191,246,161,163, 31,184,179,139,151,190,224,105, 23, 61,185,182, 14,223,117,196,
-123,239,129,170,229, 5, 95,241,133, 79,123,198,227,118,158,247, 59,127,246,201,219, 87,125,184,237, 76, 59,156,153,153,153,153,
-153,153,201, 60,216,158,240,126,229,251, 14,240,152,175,124,226,214,183,255,220, 75,175,254,174,199, 53,174,222,108, 60, 88,139,
-121,212, 85,212,143,125, 44,183,126,242,238,221, 87,255,196,111,255,200,187, 63,240,137,183, 2,123,211,231,245,148,123,126, 8,
-160,170,215, 0, 23, 79,191,222, 38, 34,159,211, 70,201,231, 91,127,103,102,102,102, 30,234, 60,216,162,190,143, 1,182,129, 43,
-174,220,118,223,244,159,190,253, 9,223,247,149, 87, 46,174,236,187, 8, 36,228,138,199,208,124,193,227, 25, 53,241,191,252,204,
-251,254,195,255,249,171,127,250, 47,128,191, 33,183,247,126, 11,187,170, 94, 13, 92,125,166,237, 38,142,136,200, 45,103,218, 8,
- 64, 85,111, 2,174,157,126,125,189,136,188,233,116,219, 63,220,249, 92,233,239,100,156, 92, 75, 54, 80,246,239,196, 0,184, 5,
-184, 13,184, 81, 68,142,156,236,179,231,130,170,158,184,255,179,229,172,199,224,204,204,204,231, 55,238, 76, 27,156, 2, 3, 36,
- 96,235,210,101,241,197,151, 46,220,165, 73,229,192, 64,144,233,127, 34, 34,186,255, 23,217,255,251,193,187, 14,104,125,212,238,
-123,127,237,211,191,241, 99, 47,122,236,139,190,252,242,197, 69,163, 87, 56,114, 55,125,187,164,184,244, 10,254,143, 87, 63,239,
- 21,215, 60,241,138,167,188,230,109,191,251,218,123, 87,227,123,121, 96,132,253, 58,224,141,103,218,104, 31, 85, 5,184, 17,184,
- 89, 68,110, 56,195,230, 51, 15, 3, 38, 33,191,110,122,157,202,192,219, 55, 88,222,166,170, 55,144, 13,151,251, 35,238,215, 0,
- 55,157,105,163,147,112, 51,240,130, 51,109, 52, 51, 51, 51,115, 62,162, 46,128, 44, 42,123,205, 15,189,240,113, 63,252,210,103,
- 94,254,188,157,166, 40,147,152, 44,216,198,228,151, 8,226,236,113,191, 99, 12, 98,237,177,223, 37,191,151, 16,245, 42, 41, 56,
-135, 57,180,159, 16, 61,169, 19,190,253, 5, 79,255,178,103, 61,241, 17,239,120,229, 91,110,254,129, 63,250,232, 93, 63, 3, 12,
-220,127, 97, 63, 87,174, 3,174, 83,213,235,128,235,239,231,228, 62,243,217,231,143,206,180,193, 9,188, 10,184, 86, 85,175,159,
-189,230,153,153,153,135, 42,231, 35,234, 0,143,120,243, 55, 62,254, 45,223,243,229,143,126,238,184, 73,104, 18,172, 17,192,128,
- 74,126, 97,144, 36, 89,122, 21, 48,146,125,251,164, 96, 65, 68,178,191,175, 96, 69,196, 25,177,147, 71,156, 69, 93, 1, 85,146,
- 8,195,102,228, 25,143,187,252, 17, 55,253,240,183,252,196,247,188,245,183,158,244, 11,191,249,209, 31, 1,238,226,129,241,218,
- 33,123, 66,167,226, 90,142,231, 90,224, 38, 85,125,193, 44,236,159, 51,220, 66,142,196,220, 34, 34, 55,195, 65,168,252, 90, 38,
- 49,159,182,187, 26,120,187,170, 62,251, 1, 58,247, 55,144,195,251,103,226,129,248,174,153,153,153,207, 3,206, 71,212,165, 42,
-204,213,255,240,105, 23, 63, 71,215, 30,223, 15,144, 82, 22,233,131,200, 58,211,107,255, 31, 10,214, 96, 46,189,124, 18,247,132,
- 24, 32, 77, 81,124,129, 3,133, 55, 41, 11,191, 49, 16,201,245,249, 2,227,224,217, 41, 75,243, 31,191,255,235,191,247, 57, 79,
-185,242,139,255,217, 79,189,239,251, 7, 31, 63,112,236, 11,206, 31, 17, 57,109,104,115,242,206,223,200,177, 48,237, 53,228,201,
-254, 97,153, 67,158, 57,224, 6,224,134,147,121,222,147,104,223, 8,220,168,170,111, 35,159,111,200, 99,224,129, 58,247, 55,238,
- 27, 17, 51, 51, 51, 51, 15, 4,230, 76, 27,156, 4, 59,250,116,247, 47,254,201, 93,239, 23, 51,176, 40, 35,139, 6,218, 90,167,
- 87, 58,246,239, 42, 81,155, 17,162, 71,170, 54,139,124, 74,144, 18, 7, 94, 57, 0, 35,164, 30, 82, 7,218, 3, 67,254, 93,199,
-105,123, 69, 53,225, 99, 34, 12,145,239,253,214,231, 92,123,211,155,191,245, 87,174,186, 98,251, 91,200,178,127, 62,253, 56,107,
- 68,228, 70,114, 78,243,176,199,116,221, 41, 54,159,121,120,240, 2, 17,121,245,217,132,210, 69,228,213, 28,239, 81,191,238, 84,
-219,206,204,204,204,124, 54, 57, 31, 79, 29,133,187, 95,247,171,183,255,192,175,253,217,103,190,229,105, 87, 54,143, 19, 48, 73,
- 53,229,119,133,164, 89,178, 55, 99, 50,207,250,130,173, 47,252,238,175,122,226,213,181,171, 77, 74, 9,172,205,190,117, 74,232,
-184, 66,172, 96, 30,251, 76,204, 35,158,136,108, 95,137,212,219, 16, 6,210,250, 46,116,239, 83,164,187, 62, 10,161, 3,105, 80,
- 34, 81, 33,173, 70,158,251,244, 47,248,130,119,189,249, 91,127,250,235, 94,255,159,237,199, 63,117,244, 29, 28, 43,222,187, 32,
-136,200,109,170,122, 35,199, 60,182,243,169, 98,190, 15, 39,169,136,190,229,129, 8,237,158, 80,225,127, 94,183,155, 61, 16,251,
- 56,145, 11,209,223, 19,218,121, 86,251, 59, 15, 15,249, 6,142, 21, 87, 94,172,170,215,156,141, 65, 48, 51, 51, 51,243, 96,114,
- 62,162, 30,129, 53,240,225,223,185,117,245,150,223,185,117,213,112,242, 69,108, 46,125,225, 51, 46,127,229,183, 60,251,241,143,
-108, 77,105, 66,210, 28,122,239,123,116, 88, 67, 92, 99,159,252, 92,220,179,191, 13,251,248,191,123,159, 15,239,187,222,122,207,
-237,132, 91,223, 77,252,171,247, 33,182, 4, 85, 84, 96,220,140, 60,249, 81,151,238,252,202,191,252,111,126,242,249,175,125,251,
- 61,159, 57,218,255, 38, 15, 64, 40,254, 12,220,111, 81,131, 3, 97,123, 21,217,219,191,143,113,160,170,183,113, 44, 52,124, 82,
-129, 82,213, 55,114,236,179, 55,138,200, 13,135,246,251, 42, 78,168,232,158,246,249,166,179,169,222, 87,213, 87,145,189,209,147,
-237,227,180,237, 58, 25,247,183,191,167,233,235,235,200,251,221,191, 87, 30, 46, 92,165,248,137, 2,126,248, 59,103,102,102,102,
- 30, 18,156,143,168, 39,160, 7, 2,121, 81,152, 41,235,125,112,207,187,138,240,133,111,122,241,147,127,240,181,207,187,234,121,
-113,132, 49, 70,212, 15,104,191,129, 48,128, 83,170,175,255,103,184,103,191,244, 20, 95,113, 12,185,228, 42,138, 75, 94,137,185,
-242, 25,132, 63,252, 41, 48, 17,200, 21,242,227,198,243,140, 39, 61,242,178,183,252,147,231,189,249,229,111,252,141,111, 1,254,
-154, 11, 43,234,135, 39,242,179, 22,181,195,168,234,181,192,219, 57,189, 40, 92, 77,246, 10, 95,117,154,106,235,253,123,171, 1,
-110,214,124,139,214,219, 56,117, 4,225,106,242,173, 89,215, 76,225,228,251, 48, 9,229,219, 56,117,106, 97,191, 93,215,169,234,
- 89, 9,231, 3,212,223,147,245,245, 38,102, 97,157,153,153,153, 57,142,243, 17,117,200,194,233,167, 23, 28, 19,116,251,184,203,
-234,111,124,219, 75,159,250,166,175,125,242,101, 79, 26,186, 68,140, 30,134, 14,130, 7, 81,164,128,234,155,127, 4,251,244,111,
- 56,216,217,110, 55,240,174, 15,220,206,187, 62,120, 59,247,172, 58, 10, 43, 60,237, 81,151,240, 77,207,126, 34, 95,242,132, 71,
-230, 29, 63,246, 57, 72,185,133,127,239,191,129,210,229, 38, 24, 33,172, 6, 94,246,252,167, 63,235,231,222,253, 23,175,124,215,
- 31,222,254, 6, 46,208,237,110,147,224, 29, 22,187,115, 13,223,238, 23,220,189,253,132, 63,223, 66,222,215,190,145,112,216,155,
-189,154, 99,149,246,167, 11,245, 94, 76,222,239,190,103,125, 35,199, 60,203,253,251,177,247,121,149,170,222, 38, 39, 95, 40,230,
-141,220, 87,208, 15,239,107,191,109,215,112,223,126,220,135, 11,212,223,139, 57, 94,208,143,112,172,125,199, 69, 22, 30, 96, 78,
-188, 11,226, 1, 9,189, 95,136,116,196,204,204,204,231, 47,194,253,103, 63,228,189,243,194,167, 95,242,189, 55, 92,255,148,239,
-127,204,178,105,186, 81,209, 56,128, 31,242, 86, 70, 32,172, 41,190,250,187, 40,190,230,251, 14, 62,252, 95, 62,246, 41, 94,251,
-243,239,225,182,207,236, 81, 87, 5,133, 51, 24,133, 20, 60, 46, 5,190,241,217, 79,224,127,187,238,185,180, 85, 1, 64,252,200,
- 77,132, 63,254, 25,100,235,138,233,107,133,178, 44,120,255, 71, 62,113,199,223,251,167,255,241,235, 84,249, 51,114,138,224,148,
-168,234,235, 56,180,248,140,136,156,246, 56,156,194,131,125,193,137,121, 89, 61,205, 10,107, 83,222,247,143, 56,180,172, 42,240,
-234,147,229,118, 79,226,221,222, 34, 34,207, 62, 97,155,195,223,181,207,141,228,125, 30, 39, 10,211,119,191,157, 99,226,113, 4,
-120,194,225,237,166,144,251,219, 14,125,236, 22,242,253,248,199,165, 28, 78,227,121, 95,176,254,158,162,175,183,145,191,243,198,
-195,127, 84,213,139, 47,132, 40,170,234,173, 28,159,183, 63,238,124,156, 13, 83, 63, 15, 47, 62,115,132,147, 71, 27,110, 35,159,
-203, 27, 78, 60,254, 51, 51, 51, 51,167,227,124, 61,245,125,246, 5,253,241,175,249,154, 71,255,171, 55,190,240,170,255,214, 37,
-199,102,240, 16, 71,136, 33,139,185, 0, 26,145,203, 30,139,251,210, 87, 28,124,248, 99,119, 28,225, 21, 63,249, 46, 62,221, 5,
-218, 69,131,183,150,162,176,148, 86,176, 90, 34, 49,240,142,247,255, 37,214, 24,126,232,219,158, 7,128,125,226,223, 39,126,228,
- 55, 32,174,192, 53, 32, 16, 70,207,179,158,112,249,149, 95,250,180, 43,191,246,253, 31,186,227,195,228, 20,193, 89,123,235,147,
-200,159,138,107,185,175,160,156, 84,156,206,192,219, 56,222,187, 60,229,189,206, 34,114,243, 20,222,222,247, 72,175, 81,213, 87,
-157, 33, 31,126,179,136, 92,127,178, 55, 36, 23,249,189,158, 99,130,178,127, 15,246, 97, 65, 60,124, 12,110, 35, 27, 45,247,105,
-223,161,182,157,105,241,150, 11,217,223,219, 56,197,254, 46,144,160,159, 88, 95,112,198,186,132,179,228, 84,233,131,171,201,231,
-227,117,170,250,176, 93,126,119,102,102,230,193,231,254,136,186, 0,114,201,194, 61,255,173,215, 61,225, 71, 95,242,140,203,158,
- 57,244, 48,136,135,148, 67,237, 20,230, 96, 75,245, 35,238,201, 95,133, 44, 47, 59,216,193,235,127,254,125,124,236,111,143,194,
-206,146,163,171, 0, 18,177, 2,173, 21, 46, 91, 56, 46,110, 28, 59, 59, 75,126,229, 15, 62,198,243,190,232,113, 92,251,204,199,
-131,117,216,171,191,138,240,129,127,143, 60,226, 42,208, 68, 18,161,108, 74, 94,242,188,167, 92,251,254, 15,221,241,239,128,123,
- 56, 7, 81,231,236,151,140,189,129,243,184,183, 88,143,173, 45,190,207, 25,151, 27, 21,145, 91, 52, 47, 77,186, 47,182,215,114,
-122, 49, 57,105,158,124,159, 73, 56,111,225,248, 80, 55,112, 16, 38, 63, 44, 90,111, 58, 93,251, 14,181,237, 85,156,132, 7,161,
-191,167,109,223, 3,201,212,151,195,227,227,150, 51, 24, 87,103,203,254,186,242,135,195,248,135,215,160,223,231,141,170,122,181,
-156,162, 14, 98,102,102,102,230, 48,231,115,127,247,126, 81,220,242,185, 79,216,250,190,247,253,247, 95,244, 75, 47,121,218, 37,
-207,220,108, 34,145,152, 5,221, 0, 86, 16, 43,136, 19,196, 26,196, 9,230, 81, 79, 63,216,201,199,239,188,151, 95,255,192, 95,
- 67,219,228,219,220,140, 1,107,137, 24,246,134,200,199,239,218,112,219,167, 55,120, 21,146,181,188,251, 79,255,234, 88, 3, 46,
-123, 34,218,237, 2, 97,106,141, 66, 72, 60,245, 49,151, 60, 1,120, 36, 15, 76, 90,225,100, 92, 71,246, 34,207,181, 64,235,176,
-192, 29, 57, 7, 81, 56,108, 60,156,238,190,248, 91,206, 50, 76,123, 88, 64, 14,183,233,184, 72,196, 89,182,239,184,176,247, 9,
- 92,200,254,222,118, 14,251,187, 95, 76, 41,132, 19,195,229,247, 71, 92,143, 0,175, 39,167, 62,158, 45, 34,215,139,200,155, 14,
-189,174, 23,145, 75,166,109, 14, 27, 45,175,154, 12,175,153,153,153,153,211,114,174,158,250,126,184,253, 81,223,249,119, 31,241,
-131,111,253,198,199,125,119,145, 44,155, 49,129, 85,208,132, 40, 72, 18,212,202, 20,122,207, 31, 17, 87, 98, 46,254,130,131, 29,
-221,126,215, 46,221,198,195,118,197,129,157,176,239, 91, 27, 3,170,220,187,242,248, 49,240,152, 29,199, 94,191, 95,147,199,148,
- 79,183, 48,108,144,102, 11, 69, 33, 4, 30,127,197,214,229, 85,105,175, 28,198,248, 97,206,141,215,159,230,189,171,201, 34,117,
- 53,217,131, 58,168,254, 62, 7,111,241,176,200,157,117,129,213,228, 93, 31,252,174,167,190, 55,250,108, 35, 7,167, 18,254,195,
- 94,250, 89,237,235,196,182,157,192,133,236,239, 89,239,239,254, 48, 25,110, 39,214, 14,188,254, 20,199,255,172,152, 62,123,198,
-207,139,200,155, 84,245,102,142, 79,113,188,145,211, 27, 82, 51, 51, 51, 51,231, 36,234, 2,176, 85,219, 47,255,215,223,240,152,
- 55,191,250,154, 71,124,197, 56, 66, 95,228, 37, 95, 53, 42,226, 19,101,105, 56, 26, 99,106, 48, 6,103, 15,238, 96, 23, 0, 13,
- 7, 59,187,124,167,197,150, 5, 49, 65, 94, 47, 94, 39, 81,159,126,170,128, 53,172, 55,158,191,234,123,170,103, 30,106,170, 70,
- 80, 15,161, 7,179,141,104, 66, 83,226,146, 69,209,238,180,229,197,159, 30,187,115,138, 64,200, 89,228, 44,167,188,234,235, 56,
-246,120,206,155,128,179, 45,150, 58, 92,221,124,181,230,194,175,243,225, 84, 17,130,179, 53, 46, 78,197,121,137, 48,121,219,147,
-221, 66,119, 33,251,123, 46,237, 59, 47, 38, 65,191,137,227,251,241,234, 7, 43, 66, 0, 7,233,136,215,115, 44,244,127,181,170,
- 94, 39, 39, 20, 6,206,204,204,204, 28,230,108, 68,125, 63,148, 93, 60,245,138,250,219,126,254, 37,143,127,211,151, 92,222, 94,
-222,141, 9, 42,151, 5,221, 39,156, 79,148,141,229,159,191,251, 19, 31,124,220, 69,229, 69,223,125,205, 35, 30,215, 43,200,190,
-183,238, 61,233, 51,127,137,121,236,115, 0,120,218,163, 47,229,203,158,116, 57,191,247,225,187,192,185, 44,226,102, 18,244,253,
-117,225, 82,254,108,127,207,154, 39, 93,121,108,126,215,221, 79,194,176,139, 14, 23, 33,211, 19, 99, 52,237, 27, 5,152, 67,109,
-126,192,152,188, 39, 56, 54,201,158,169,152,235, 48,135,197,233,106, 46,236,173, 87,247,151,115, 49, 16, 78,181,237,195,169,191,
-199,113, 10, 65,127,253, 89,158,231, 7,154,195,171,216,193,195,232, 56,206,204,204,124,118, 56,147,168,239,135,219, 47,191,254,
-239, 92,242,218, 31,255,250,199,252,211, 43,235,162,220, 36, 65,218,236,130,235,152,168,147,210,151,240, 63,190,243,175,222,121,
-195,251, 62,253,203, 63,125,253, 85,223, 47, 58, 69,222,237, 84,253,238, 12,122,231,159, 29,236,216, 24,225, 95,124,243,179,249,
-250, 15,253,191,208,123,168,202, 44,236, 48, 61,205, 13,208, 4,171, 13,207,250,194, 71,243,242,175,254,162,131,207,166, 79,127,
- 24, 85,143,196, 49,111,168,138, 17,229,158, 85,223,237,110,198, 61, 46, 16,147,176, 31,158,100,175,227,220, 43,161,111,227,252,
- 87,166, 59, 23,193,125,168,240,112,235,239,137,130,126,195,217, 68,114, 46, 4, 34,114,228,132,226,198,107,121, 96, 30, 36, 51,
- 51, 51,243, 57,202,233, 68, 93, 0,113, 86,158,252,134,175,123,212,143,191,246,239, 93,249,181, 33,192,198, 25,164, 50,104, 82,
-180,139, 44,156,112,251, 16,250,239,248,185,143,255,212,111,127,116,247,231,129,244,215, 71,253,157,136, 62, 85, 15, 60,117,160,
-110,137,183,191, 23,119,228,118,228,226,171, 0,120,225,179,174,226,134,127,242,247,121,205, 79,191,135,205,189, 3,212, 21,216,
-156, 79,103,244,176,233,248,146,167, 94,193, 47,189,246, 27, 88,212,249, 62,117,124, 71,252,208, 59,144,178, 2,137,160, 9, 77,
- 17,140,225,214, 59,238,189,171, 31,227,254, 35, 89, 47, 20, 55,115, 44, 92,125,226,173,110,103,195,103, 77, 36, 62, 75, 60,108,
-250,171,249,105,108, 39, 10,250,253, 41,140,123, 32,248,108, 24, 54, 51, 51, 51, 15, 83, 78,151,123, 22,224,242, 55,126,253,163,
-127,242,251,191,226,202,175,237, 3,248,214, 33,141, 69, 19,176,137, 44,106,203,111,125,114,125,231,243,222,250, 23, 63,240,219,
- 31,221,253,191,128,219,129, 79,124,228, 51,253, 71, 48, 2,113, 42,122,178, 38,135,216,195, 10,255,222,183, 28,247, 37,223,253,
-252, 47,226,247,127,228,197,188,230, 31,126, 49,143,191,164,162, 86,207,210, 68,190,252, 73,151,241, 19,223,243, 53,252,238, 27,
-174,227,241, 87,236, 28,108, 31,254,240,167,208,123,111,135,162, 66,167, 34, 60, 66, 4, 35,124,228,111,143,252, 21,249, 57,235,
-251, 1,252,135, 10,167,170, 58,127,168,112,190,237, 59,213,182,231,187,191,207, 26,122,252,227, 85,225,161, 33,232, 51, 51, 51,
- 51,231,196,105,195,239,143,189,184,124,222,119,124,241, 37,207, 31,251, 4,203, 2, 41, 5, 29, 21,219, 7,170,133,229,103, 63,
-120,247, 95,252, 15,191,116,251,191,222,237,226,123,128,187,201, 15,122,169,127,247,214,189, 63,248,212,158,255,206,203,218,194,
- 69,213,131,226,118,154,150,244,215,191, 75,120,223,143,225,190,226, 53, 7,223,243,140,199, 93,198, 91,190,243,171,248,145,151,
- 7,238,184,103, 77, 89, 56, 30,117,201,226, 62,237,137, 31,250, 85,194,159,252, 44,212, 45, 0, 98, 44, 26, 19, 18, 19,190, 31,
-120,199,123,110,125, 31,121, 61,250, 11, 41,234,231,147,215, 60, 46,132,170, 23,104,213,179,251,193,109, 28,107,223,169,214,142,
- 63,142,233,254,237, 83,241, 80,239,239,113, 60,196, 5,253,124,139, 24,103,102,102, 62, 15, 57,157,167,238,174,186,164,122,210,
-197,149, 37,164, 92,221,174,155, 72, 57, 70,164, 18, 94,251,174,191,185,249, 21, 63,123,235,255,188,219,197,119, 3,119, 2, 71,
-129, 17,240,159,188,119,252,131,119,124,248,200, 7, 10, 7,218, 71, 64, 17, 67,190, 95,189,221, 34,254,201,127,192,223,252, 47,
-208,205,103,142,251,194,186,112, 92,117,197,206,125, 5,221,119,196,247,191,149,240,158, 55, 32, 85,137, 88,155,243,245, 69, 5,
- 62, 80, 24,248, 47, 31,249,212, 29,191,247,161, 59,111, 38,175,253,126, 65, 68, 93,143,127,196, 39,156,253, 36,123,226,109, 98,
- 39, 93,180,229,179,200,225,246, 93,172,121, 57,211, 51,113,186,109, 30,234,253, 61,224,161, 44,232,154,151,238, 61,204,249,214,
- 38,204,204,204,124,158,112, 58, 81,183, 31,186,179,251,232,223,142, 49,180,173,165,245,145,214,194,202, 38,125,217,219,111,251,
-133, 31,189,233, 83, 63, 8,124, 16,248, 12,217, 67,207,234,157, 31,242,114,231,143,255,206,157, 55, 30,245, 17,231, 35,248,148,
-171,230,166, 69,105, 88,108,145,110,253,117,198,119,188,130,248,231,239, 64,119, 63,113,210, 6,232,250, 46,210,173, 55, 51,254,
-242,119, 18,254,248,223, 66, 93,131,117, 48, 85,225,137, 41,144,222,131, 85,126,232, 23,255,248,151,129,191,156,190,255, 1, 23,
-245, 67,247, 45, 31,230,172,110, 47,154,110, 67, 58, 60, 33,191,238, 12,158,238,131,205,141, 28,159,187, 61,221,178,185,251,199,
-226,148,219, 60, 12,250, 11,156, 84,208,111,225,244,107, 22,156, 22, 85,189, 90, 85, 95,119,232,117,237,161,247,206,105,193,162,
-105,251,195, 69,153, 71, 56,203,241, 54, 51, 51,243,249,203,105,195,239,119,175,194, 31,190,228, 23, 62,254,166,215,124,213, 21,
-215, 93,218,186,157, 15,127,166,255,219,255,251,189,159,126,231,159,127,114,243,255, 0,159, 2,238, 37,123,231,135, 69, 52, 2,
-221, 95,222,213,255,250, 27,126,243,142,107,223,252, 13,143,125, 65, 88, 5,112, 6,169,236,177, 18,182,118, 27,194, 81,252,123,
-127, 24, 41,151,200,165, 79,197, 92,242, 4,112, 53, 36, 79,186,247,175,209,187,254, 28,250,123,161, 40, 96,113, 44,175,158,111,
-123, 51,232, 32,148, 75,195,191,191,249, 35, 31,250,255,254,235, 39,126,129, 28,122, 63,182, 74,205, 3,192,228,157, 95,203,125,
-159, 47,126,132,115,171,124,127, 53,199,175,189,126,147,230,199,140,158,118,177,151,233,251,175,131,179,187,159,254,124,152,170,
-172,223,196, 49, 17,185, 86, 85,223,118, 50,143,245,208, 45, 95,103, 18,169,135,108,127,225,148,130,126, 46, 11, 10,157,140,171,
- 57, 94,136, 95,207,177,168,197, 53,154,215, 58,184,225, 76,247,154,235,177,199,232, 30, 62,198, 15,218,210,184, 51, 51, 51, 15,
- 95, 78, 39,234, 30,184,231,247,111,219,251,119,191,127,219,222, 77,192, 22, 57,111,126, 7, 57,212,190,154,182, 57,113, 89,177,
- 68,126,222,250, 29,255,230,221,159,122,203,179, 30,219, 62,254,165,207,188,244,137,221,238,136,108,151, 80,153,188,210, 28, 10,
- 69,129, 20, 69,174, 96,191,251,131,132, 79,223,114,176, 59, 49, 14, 92, 9,139,229,241,123, 87, 96,140,104,106,168,171,146, 91,
- 62,118,231,145,255,233,223,190,255,205,100, 47,189,227, 12, 79,104, 59, 25,170,167, 94, 26,237, 52,220,231,105,104,167, 67,242,
-106,105,175,230,216,147,208,246,133,238,102,242,196,127, 56,148,191, 31,230,191,150, 99,185,233,243,246, 32,207,146, 27, 56,254,
- 49,168,175,154, 60,205, 27, 56,214,182,107,201, 66,120, 49,217, 19, 63,194, 41,114,240, 15,229,254, 78,253, 58, 89, 74,224,237,
-231, 48, 20,110, 60,143,123,215,175, 37, 27, 76,183,145,143,193,201,214,126,191,134,251, 46,145,123,203,133, 52,112,102,102,102,
- 62,119, 56,157,168, 71,178,112, 7,178,136,155,233,111,195,244,218, 15,183,159,140, 0,172,146,234,159,254,119,191,248,241, 31,
-186,116,225,222,240, 15,158,184,243,232,254,232, 8, 91, 5, 82,219, 99,247,175, 3,136,129,178, 62,253,125,104, 10, 36,133, 33,
-146,118, 71,154, 71, 94,193,135, 63,117,100,117,253,155,126,231, 77, 71,215,254, 61, 28, 51, 50, 46, 52,183,144, 5,253,108,243,
-233, 7,136,200, 13,122,108, 1,155,125, 47,236, 90, 30, 2, 21,226,147,183,126, 61,217,187,222,143, 72,156,232,121,238,115, 4,
-184,254, 20,239, 29,240, 80,238,239, 73, 56,215,244,192, 89, 45,167,123, 10,174,230,236,235, 12,110,224, 2, 26, 56, 51, 51, 51,
-159, 91,156, 46,167,174,100,113, 94,147, 39,241,123,200,225,246,205,244,247,211,185, 52, 74, 22,254,163,187, 93,252,237,111,190,
-225,163,255,235,207,254,241,221,127, 81,151,134, 98,215,147,142,122,232,211,193, 94, 4, 65,228, 36,175,233, 63, 34, 48, 38,116,
- 55, 32, 71, 6,154,139, 47,226,183,111, 59,122,199,215,254,192,205, 63,112,219,157,171,255, 76,110,219,134, 11,144, 75,159,184,
-153, 60,185, 94, 47,249, 65, 28,231, 44,232,251, 76,222,221,179,201,251, 59, 27, 79,255, 70,114, 40,251, 92,189,194,115, 70,242,
- 67, 97,246,219,118, 42,110, 38, 63,246,244,172,142,193, 67,185,191, 15, 50,251,249,250,179, 58,110,228,227,240, 2, 17, 57,167,
-136,208,204,204,204,231, 55, 23,114,145, 22,200, 43,191,183,100, 47,237,139,190,227,203, 47,255,174,127,245,194, 71,127,211,163,
-119, 74, 23, 6, 37, 56,129,218, 34,206,100,207,221, 28,106,142, 42, 68,208,144,160,143, 88,159, 40, 10, 97, 55,194, 15,191,231,
-158,223,250,223,223,121,235,219,124, 76,127,200,177, 91,233,142, 45, 44,255, 48, 98, 10, 5,159,232, 37,222, 70,126,186,217,253,
-241, 6,239, 23,135,106, 9,246, 61,236, 35,228,103,182,223,175, 10,236,135,106,127, 31,108,166,227,112, 53,247,173, 77,184,133,
- 28,110,159,133,124,102,102,230,156,185,208,162, 14, 89,216,107, 96, 7,184,242, 11, 46,169,190,230, 85,207,189,252, 69,223,126,
-205,101, 95,250,152,173,162, 64, 5, 85, 37,137,144, 14,181,198, 40, 24,213,124,235,154,192,221,125, 76,255,233,131,247,252,233,
-219,222,247,233,119,254,201,223,172,127, 13,248, 91,114,228,160,227, 97, 42,232, 51, 51, 51, 51, 51, 51, 15, 36, 15,134,168, 67,
-254,158, 18, 88, 0,219,192,149,151, 44,221,223,249,210,171,150, 95,250,226,103, 94,242,156,103, 62,186,125,228,197,149, 93, 44,
-156,148,206,136, 9, 9,221,196, 52, 30, 29,211,230, 99,159,238,238,186,241, 3,247,252,215,223,187,109,245, 7,159,188,119,188,
- 5,248, 4,176, 75,206,161, 95,176,123,210,103,102,102,102,102,102, 30,110, 60, 88,162, 14,249,187, 12, 80,145, 67,242, 45,185,
-162,254, 18,224,138,182, 50,151,214,206,108, 23, 86,202,144, 52,244, 65,247, 54, 67,188, 91,149, 79,147, 67,236,187,228,188,249,
-154, 51, 23,234,205,204,204,204,204,204,124,222,241, 96,138,250, 62,251,226, 94,144,189,247,253,151,227,224,233,235, 64,246,192,
-253,244, 26,201, 66, 30,152,197,124,102,102,102,102,102,230,164,124, 54, 68,253, 48,251,171,194,155, 67, 63,247, 73,112,240,116,
-117,101, 22,242,153,153,153,153,153,153,211,242,217, 22,245, 19, 57,220,158, 89,196,103,102,102,102,102,102,102,102,102,102,102,
-102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,
-102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, 30,214,168,234, 67,109,109,135,153,207, 2,251,
-227,224,225, 56, 30, 30,142,109,158, 57,123,228, 69, 47,122,209, 59, 49, 70,173,115,118,123,103,199, 42, 36, 69,195, 48, 12,106,
-173,141, 85, 89,177, 94,175,147,247, 94, 83, 74,130,106,126,200,121, 2, 98,216, 95,237,205, 80,150,169,114,142,132,138,247, 94,
- 68, 68, 4,149,194, 57,134,113, 80,146,106, 89, 87,148,101, 21, 68, 36, 24, 99, 8, 33,226,189, 79, 34,146,218,182,101, 24,122,
-234,186,166, 31, 6,170,178,100,181, 90,153, 24,163,180, 77, 43,174,112, 98,172, 53,170, 68,231, 92, 24,135,209,132, 24,197, 90,
-171, 41,165, 4, 98,140, 65,140,181, 54,165,100, 54,155,141, 69, 49,228,135,189, 37, 85, 85, 64, 52, 37,213,148, 60,170, 17,103,
- 77, 93, 85,146, 98, 76,136,104, 81, 20, 9, 85,188,247, 70,193,166,148, 68,140, 25,173, 49, 94, 85, 36,165, 40,128,136,128, 42,
-209, 88,139,181,214,132, 16,168,235, 90,134,190, 71, 85, 17, 17,170,162, 72,170, 42,170,138,130,136, 17, 20,193,136, 96,140, 33,
-134,160,235,245, 74, 72, 73, 16,209,170,105, 84,196,184, 24,163, 17, 48, 34, 32,214,210, 52, 77, 74, 41, 69, 85,245, 64, 68,196,
-105, 74,210,117,157, 90,107, 83,233, 74, 99,172, 49, 8,118,244, 35,101, 81,202, 48,142, 38,120,239,131, 15,201,216,188, 72, 95,
- 10, 33,185,178, 50, 41, 70,147, 52, 9, 32, 77,211, 90, 99, 76, 49,142, 99, 97,140, 72, 81, 20,132, 24, 99, 12, 49,198, 24, 99,
- 26,135,128,152,100,203,146, 24,131, 2, 52, 77, 75,140,193,146,212, 98,140,166, 24, 49,214,138, 17,172, 49,166,142, 41,133,186,
- 44,147, 49, 70,197,152, 8,224, 67, 32,134, 0, 34,120,239,173,136, 72, 83, 85, 0, 66, 62, 22,164,148,108,225, 10,235, 67, 8,
-198,152, 96,173, 21, 4,141, 41, 98,141,181, 49,198, 34,165, 36,198, 26, 9, 33,146, 98,212,148, 18, 34,130,177,198,107, 82, 10,
-231,176,214,202, 56,142, 86, 85,169,171, 74,250, 97, 64, 68,196, 57,139,117, 78,140,136, 87, 77,253, 56,122,181,214, 74, 81,184,
- 50,132, 96, 64, 72, 41, 73, 76, 81,157,117, 41,166, 68, 89, 20, 69, 74,201,168, 42, 33, 4, 81, 77, 24, 99, 83, 93, 87, 81,140,
-213, 20,147,128, 98,173, 85, 85, 13, 73, 53, 10,168,170,106,138,193, 90, 99, 5,129,190, 31,196,123,159,202,170,242, 58, 13,198,
-194, 57, 21, 17, 66, 8, 54,198,136,177, 6, 52,175,156,232,172, 53, 69, 89,210,117,157,169,235, 26,239, 71, 82, 74, 38,165, 36,
-206, 57,140,177, 41,166,132,115, 86, 68,140,196,152, 8, 49,136, 51, 70,139,178, 8,154, 52, 57,107,211,122,179,161, 44, 11,107,
-173, 3, 85, 73, 41, 50,250,160,206,218,100,114,155, 25,199,209,150,101,201, 56,142, 34,130, 56,231,140, 49,198,245, 67,111, 10,
- 87, 56, 49,198,160,138, 15, 97, 52, 34, 49,132, 96,140,181,210, 52, 13,193, 7, 49, 34, 54,169, 26, 64, 5, 72, 41,145, 82, 10,
-214,154, 0,146, 47, 77, 20, 17,131, 76,179,130,181,150,144, 98, 10,222, 39,103,157,186,178, 48,128, 9, 33, 48,122, 47,109,219,
- 0,176, 89,173,109, 82,213,186,110,162,247, 62,150, 69, 17, 99,138, 41,198,136,170, 74, 83,215, 38, 95,211,138,115,142,164, 81,
- 11, 87, 4, 31, 66, 66,140,166, 16,213,135,144,140, 49, 18, 83, 34,165, 40, 34, 72, 97, 11,131, 32, 41,165,252, 16, 72, 49,168,
- 38,172, 53, 73,196, 36, 99, 13, 49, 4,107,172, 37,134, 40,154, 18, 73,213,136,136, 49,198, 88, 5,103, 68,204, 24, 60,198, 24,
-113,206,217, 97, 24, 4, 69, 52,207, 25, 24, 99, 48, 34,136, 49,234,156,245, 41,166,100,140,164,148, 82, 12, 33,132, 24,147,148,
-101,105,247,143, 25,130, 22, 69, 65, 74,137, 16, 66,112,174, 16,107,173,132, 16,108, 82, 21, 99, 76,190, 94, 84, 77, 74,201,166,
- 20,197, 57, 7, 64, 8, 1, 31,252,168, 81,125,219,182,211, 53, 97,163, 24,241, 49,196, 81, 53, 37,231, 10,188, 31,147,136, 32,
- 34, 41,132,160, 34, 66,254,250, 68,204,115,169, 53,198,152, 73,244,213, 57,171,249, 18, 53,196, 24, 41,138,194, 42,152, 24,130,
- 5,138,148,146, 3,108, 81,150, 70, 83,114,195, 48,104,254,184,166,162,112, 41,132,168,144, 47,136,148, 82,180,214,170,136, 80,
-148, 5,133, 43,152,222,179,170, 74,140, 49,166,152,210,254, 92,137,130,181,118,127,124, 73, 76,209,146,212,133, 24,141, 32, 41,
- 75, 1, 70,192, 41,152,148, 18,198, 26, 66, 8, 88,147,127, 26, 99, 16, 17, 92, 81,160,154, 72, 49, 33, 34,162, 40,130,164, 24,
-227, 8, 36, 85, 69, 85, 35,228,201,189, 44,203, 36, 34,201, 90, 27, 99, 74, 18,125, 16, 31, 60,136,224,156, 75,198,152,164,170,
-234,189,199,123, 15, 40,154,123,106,243,252,110,197, 24, 73,227,152,143,119, 81, 20,140,163,183,160,249, 2, 64,172,136, 56, 80,
-151, 82,210,148,146, 26, 99,146,181, 70, 67,136, 41,132, 16, 81, 77,206, 21, 89, 79,140,193, 26, 67, 74,202, 56, 14,178, 92, 46,
-196, 57, 39, 73,147, 76,199, 78,234,186, 46, 69,164, 80,212,200,139,255,209, 63, 58,202, 36, 68,198, 90,163,104, 82,160,109, 22,
- 82,148, 46,197, 20,117,236, 71,181, 69,193,122,181, 18, 64,130,247,200, 56,130, 49,186,223,163,164, 9, 91, 22,136, 88, 89,110,
-111,137,247,158,245,106,143,182,109,232,214,107, 92, 93,169,247, 94, 76, 34,137,179,105,123,107, 11, 48, 42,249,201,171, 24,147,
- 7,207, 56,142, 84, 85,197, 56,142, 24, 99, 56,122,244,168,160, 72, 89, 87, 52,117, 3, 24,181,206,168, 49,134, 49, 68, 41,172,
-165,235, 58, 45,139,130,193,143,121,114,115,133, 25,251, 94,218,118,145,175, 4,129, 97,136, 24, 7,133, 45, 88,237,173, 99, 12,
-163,154,124,122, 5,231, 40,203, 50,141, 93,167, 34,194, 69, 59,219, 2,198, 68, 77,236,237,237,233,246,246,118, 26,199, 81,179,
-237,226, 88,173,214, 41,145,216,106,183,101,181, 89,137, 17, 97,107,107, 75, 54,155,142,162, 40,112, 70,216,221,221, 37,165,168,
- 70,133, 40, 73, 16, 75, 89,215,212,101, 73, 34,177, 58,186, 2, 18,139,182,213,222,123,146,247, 32, 98,156, 43,164,105,106, 49,
- 54, 47,131, 47,198,176,238,186, 24,198, 49,138,170,184,186, 38,198, 32,154,148,210, 21,218,182, 45,123,187, 71,141,117, 78, 20,
- 72, 41,210,182, 11,185,247,222,123,163,136,104, 76, 72, 93,186,212,111, 58,182,118,118,196,154, 60,255,238,173, 55,162,154, 68,
- 68, 76,211, 44,108, 81, 8,123,123,107,209,164,201, 21, 46, 13,163, 87, 17,163,181, 51, 58,166,188,184,159,179, 14,213,128,113,
-133, 56, 99,179,225, 33,162,146, 23, 2,148,105,144,166,177,239,247, 39, 51,196, 88, 98, 76, 44,151, 11, 52, 37, 66, 74,178, 94,
-175,217, 94, 44,100,111,179, 65,128,162, 40,180, 44, 10,193, 58,237,250, 46, 57,231,132,164,132, 24,104,234,154, 24,163,108, 54,
- 27,113,206,137, 15,249, 41,187,206, 57,181,214, 72, 85, 84, 32,176,238, 58,109,202, 26, 17,197, 24, 35,128,236,237,237,177,181,
-181,197, 62,125,223, 17, 66,208,178, 44, 21, 72,227, 56,178,216, 90, 72,191,233,141,115, 78,202,178,212, 97,232, 84, 48,136, 49,
- 98,140,145,162, 40, 36,248, 32,171,245, 10,231, 44,117, 89, 39,175, 17, 13, 17, 48, 88,103, 53,132, 17,148,100,156,211, 48,142,
- 36,205, 6,134, 49, 34,170, 42, 97,140, 72, 33,154,148,148, 98,212,229,114, 59,105,138,210,117,157, 44,151, 75, 73, 33, 74, 63,
-246, 44,154, 86, 49, 70,251,126, 64, 53, 73,211, 52,178,183,183, 71,190,128,145, 24,188,110,111,111, 43,130,174, 86, 27, 98, 10,
- 44,151, 91, 6,144, 16,163, 90, 81,173,203, 38, 41, 74,223,247,200,244,115,185,189, 35,221,106, 37, 33, 37,182,182,150, 8,162,
-187,123, 43, 77, 41, 98,173,165,170, 10,233,251, 65,202,186,164, 46,107, 70, 31, 12,146,100,232, 6,105,155,214,142, 49, 36, 17,
- 73,146,167, 81, 77, 33, 74,219, 46,100,189, 94,171,106, 36, 69,149,124,254, 17, 64,155,170, 73, 42,170,195,144,231,204,113, 12,
- 76,154,143,136, 80,215, 53, 77,211, 32, 70,180,235, 58, 77,160, 22, 36, 29,136,190, 33,248, 64, 85, 85,248, 16,232,215, 61, 69,
-229,212, 26,171,198, 26, 5, 48,198,176, 94,109, 68,242, 68,169, 34, 34,219, 59,219,154, 82, 74, 49, 70, 85,205,162, 20,162, 18,
-131, 23,177, 6, 81, 88,119,107, 49, 98, 76,221,212,106,197, 72,240, 35,195,224, 49,198, 80,213, 21,227, 56,170, 49, 70, 5,165,
- 44,107,137, 41, 72, 30,163,213, 65, 31, 85, 84,194, 56, 10,226, 36,165,128, 70,149,162, 42, 37,198,132, 21, 68, 69,196, 57,167,
- 86, 12, 74, 82,239,125,244, 49,138, 31, 70,221,218,218, 74, 49, 70, 29,186, 94,140, 19, 69, 39, 93,215, 40, 69, 97, 68, 36,207,
-103,174, 40,212, 26, 43,131, 31,166,227,155,143, 95, 85, 86,136,136, 32, 70,172,129, 24, 2,174, 40,180,239,187, 52,142,158,170,
-172, 52,132,160, 85,213,164,164, 49, 86, 85,153, 84, 84, 83, 8,234,125, 36,198,132,106, 62, 62, 77,211, 96,173, 48,142,163, 58,
- 87,106, 74,201, 84, 85,101, 68, 68, 82, 74, 2,164, 16, 70,170,170, 65, 68, 88,175,215,162,170,214, 57, 35,101,153, 13,170, 97,
- 24, 12, 96, 98,140,120,239, 89, 46,151,108, 54,155,148, 82,164, 40, 10,169,235, 70,214,235,181,214,117,173,198,144, 48,134,232,
- 35, 24,104,235, 6, 85, 36,165,164,206, 57, 69,209, 4, 98, 68,166, 99,173, 26, 99,144,148,144,245,106,133, 24, 35, 62, 4, 17,
-144,162,176,106,140, 69, 85,197, 24, 43,162,136, 58,136, 62, 34,198, 16,194, 72, 81, 20, 84, 69, 37,123,123,123,212, 85,133,171,
- 42, 52, 70, 82, 74, 88,107, 53,134, 16, 93, 81, 98, 12,164,148,109,113, 64,173, 21,233,199, 49, 37, 31, 53,229,246, 25, 72,196,
- 56,205,131,165,211, 24, 83,210, 20,113,198,226,202,146,113, 28, 40,139, 34, 27, 34, 70, 36,166, 68,240, 65,247,246,246,212, 90,
-199,114,185, 16,107,140, 12,163,151,162, 40,196, 90,179,223, 71,233,251, 65, 55,155,141,170,170,150,117,137,136, 17,174,172, 0,
- 0, 32, 0, 73, 68, 65, 84, 17,203,208,245, 74,202, 13, 2, 37,198,124,173, 26,131, 24, 83,224, 74, 35,206, 24,170,166, 33,197,
-196,102,179, 49, 34, 98,170,178, 18,121,217, 63,254,199,169,176, 22, 87, 85, 34, 36,134,209,171, 40, 98,156,209,110, 51,224, 42,
-167,126, 12, 84,101, 73,239,189, 20,214,230, 11,237,200, 17,196, 24,133,108, 6, 72, 81,208,182, 11,182, 46,222,146,187, 63,115,
- 15, 33, 69,210, 56,130, 40, 34, 14,209, 68, 82, 69, 69,213,136, 85,227, 28,146, 80, 33,129,177,164, 20,105,154, 10,107, 45,222,
-123,234,186, 38, 37,208,164,146, 52,177, 94,173, 49,214, 96,140, 85, 99, 12,214, 57,140,113, 82,183, 13,253,102,163,227,232, 17,
-201, 86,139, 8,236,236, 92, 36, 70,140,116,131, 7,141, 56,107, 69,213,168,146,152,188,117, 69, 32, 38, 48, 86,176, 34,186, 90,
-173,168,219,154,194, 58, 17, 17,250,193, 83, 58, 7, 70,213, 76,226, 84, 20,133,134, 16,179,140, 25, 80, 4,107, 77,150, 54, 81,
- 52,102,119,107,239,232, 81,234,166,226,232,238, 10,153, 44, 23, 99, 64, 85, 40,235,154,210, 58,250,177, 7, 17,173,202, 82,156,
-113, 32,138, 38,149,117,183,198, 40,168, 8,117,219, 98, 64,119, 87, 43,173,155,134,182,105, 49,198, 72,140, 30, 5, 45,140, 35,
-197, 40,187,123,123, 44,150, 75, 17, 35, 72, 2,149,148,246,246,246, 72, 49,169,170,138, 88, 55, 9,104,137,113, 86, 52, 69,138,
-170,148,190,239, 69, 35, 24,131,148,101,133,181,162,187, 71,247,112,133,211,177,235,243,136,154, 80, 17,154,197, 2, 35, 34, 67,
-215, 35, 70,164, 93,180, 58,140, 30, 85, 21,141, 65, 84,149,173,173,133,110, 54, 61, 59,219, 59, 32, 50,121, 31,254,192,114,238,
-134, 65,156, 49, 56,231,212,136,128, 49, 12, 93, 39, 82, 20, 26, 99,164, 42, 10,198, 16, 40,178, 97, 35,155,205, 70,139,178, 20,
-128,194, 57,196, 90,140, 8,154, 18,137, 36, 34,194, 56,120, 29,135, 1, 1,156,115, 84, 85, 37,154,192, 24, 8, 41,177, 89,175,
-105,219, 22, 85,212, 90, 97,179,233,181,169, 74, 66,138,146,141,108,161, 40, 44,206, 58,214,221, 26, 99, 44, 70, 84,196, 90, 74,
- 87, 18, 99, 36,133, 64, 72,138,115, 86, 99,140, 18, 85, 41,157,197,217, 82, 49, 16, 83, 82,141,145,190,239,217, 90, 44,216,116,
-157, 44, 22, 45, 49, 6, 48, 78, 37, 65,212,160,198, 89,192,144, 98, 22, 59, 35, 14,107, 21, 99, 10, 82, 8, 58,248, 0, 32, 49,
- 6, 93, 44, 22,144,146, 36,178, 71,102,173,232,224,189, 24,177,140,227,136,181, 5,206, 57, 25,135, 78,155, 69, 67,142,168, 41,
- 26, 19,117,211,208,111, 54, 84, 85, 35, 98, 64, 99,162, 31,123, 10, 91, 80, 55,181,238,238,238, 97,157,101,217, 46, 4, 3,187,
-171, 21, 86,132,197,162, 21,128,148,162, 12,195, 0, 8,206, 57, 84, 85,187,110, 96,107,185, 64,172, 37,248,128,177, 22,163,199,
-188,171,148, 2,128,218,201,203,240, 62,104, 24, 71, 73,192, 56, 14, 7,145, 44,107, 13,203,108,112,169,247, 35,195, 16,144,210,
-192,152,112,149,195, 90, 39, 67,215, 81, 20,165,122,239,137, 41, 49, 41, 56,144,175, 39,231,140, 84,101, 61,141,133,200, 56,122,
- 77,162, 16,243,100, 40, 34,186, 88, 44,241,126, 16, 68, 16, 21, 48, 16, 98, 16, 13,145,162, 40, 40,202,146, 77,215, 83, 90, 71,
-210, 4, 36,172, 41,116,211,109,168,170, 74, 68, 4, 3,132,148,164,180,150,110, 24, 36,105,142, 60, 44,182, 22, 18, 98,196, 88,
- 97,179,187, 66, 21, 92, 81,176, 88, 44, 64, 19,155,205,154,170,170, 25,134, 17, 65, 16, 35, 90, 56, 71,136, 1, 17,209, 16, 3,
-133, 41,168,154,138,164,137,148, 18,130, 48,142,163, 24, 43,106, 77, 9,154,136, 36, 73, 49, 97,109,193,166, 91, 97,129,160, 42,
-154,178,149, 97,173,209,182,173,136, 94,212, 71,143,100, 71, 75,125, 8, 32,164,182,173,113,174, 84,213, 68, 74, 0,137,148,208,
-113, 28,178,240, 85, 21, 49, 70,134,161, 71, 68,196, 90,145,188,157, 76, 17, 58,161,105, 26, 0, 25,199, 81,124,244, 82,216, 98,
- 26,163, 81,178, 1,218, 2,176, 90,173,180,109, 91,140, 49, 12,195, 32,206, 57, 68,132,190,239, 85, 85, 85,140, 96,197,128, 8,
- 34, 66, 81, 56,196, 58,242,133, 37,144,144,170,168,136,154,164, 31,123,141,222, 75, 85, 53,196, 24,113,206,202, 56,246,120, 31,
- 1,149,186,170, 53,169, 82, 20,133, 24,107,114,196, 67,149, 20, 35,131, 15, 44, 23, 45,125,215, 49, 70,207,178, 89,178, 90,175,
- 40,203, 18, 99, 12,155,174, 87, 52, 81, 85, 21, 85, 85,146,146,234, 56,142, 58, 12, 3,198, 24,150,203,101,158,159,140, 21, 77,
-138, 78,194,218,117, 29,198,136,198,144, 72,154, 16,201, 81,140,170, 46,137, 97,196, 90,155,181, 99,211, 51,122, 79, 8, 65,197,
- 90,170,170,148,182,174,177,206, 73,214,184, 32,125,223,211,182, 53, 32, 28, 61,122, 84,151,203, 37, 41, 68, 70, 63,238,183, 83,
-167, 40, 10, 93,215,163, 49, 18, 82,226,162,139, 46,202,199, 85, 19,138, 64, 10, 36, 17, 9, 49,137,181, 22,121,201,203, 94,166,
-154, 18, 26, 2,106,114, 40, 72, 21, 22,203, 45,156,115, 32,249, 98,213, 28,162, 96,140, 30, 63,122,194, 48, 16, 83,162,110, 27,
- 70, 31, 89,182,205, 36,202,142,123,143, 28, 33,198,136,166,124,208,178,244, 9,193,143,132,152, 88,110,109,145, 82,160, 31, 3,
-190,239, 73,170, 88, 17,140,179,108,111,111, 79, 94,238,100,163,168, 34, 42,136,217, 23,148, 60, 57, 85, 77,133,152, 28,126,242,
-227,128,181,142, 20, 19, 42,121,123,235,242, 69,108,139,130,189,221, 85, 54, 50, 80, 82, 84, 72, 9,146,130, 81,150, 91, 75, 4,
-131,170,178,183,183, 55, 89,113, 6,149,156, 99, 72, 41, 79, 66, 34,134,162,172,104,155, 6, 65, 80, 32,169, 50,133,222, 81,160,
-219, 91,145, 82, 68,156,163, 42, 10, 98,140,172, 54, 27,218,186,158,250, 18, 89,119, 3, 26, 35, 34,194, 98,185,196,218, 28,161,
- 0,195,106,111,143, 16, 98, 54,128,242,164, 4, 34,185,207, 34, 56, 91,176,189,179, 4, 4,146,210, 13, 3,214, 8,133, 43, 88,
-173, 86,104, 74,168, 1,107, 44,203,229, 18,200,231,211,199, 8, 9,202,210, 98,140, 67,140,224,135,145,132, 82, 85, 21,193,135,
-233,194, 27,104,218, 26, 77,202,222,122,143,182,110, 89,111,214,180,117,155,207, 39, 74,140,158,177, 31, 40,155,150,166,174,177,
-214,230,118, 2, 73, 19,123,123, 43, 68,148,237,157,139,176, 2,171,213, 6, 69,169,202, 44,140, 34,146,197,218, 24,214,235, 53,
- 0, 91, 91, 91,232,116, 44, 55,235, 53,198,185, 28, 62, 3, 48,134,173,169, 47,171,205,134,229,162, 1, 21, 54, 93, 71,221,180,
- 4, 63, 48,142, 30, 16, 22,109, 3,228,243,168,170,217, 28,145, 44,214,227,152,207,211, 56, 14,136, 24,118,118,182, 9, 33, 32,
-214, 50,246, 61, 34,194, 16, 6, 22,245,130, 76, 2, 76,158,140, 37,143,191,253,126,122,239, 17, 85,162, 42, 67,223,231,107,196,
- 0, 10,139,186,101,211,119, 52,109, 75, 97, 76, 30,115, 33,226,156,101,244,129,178,112,132,152, 24, 71, 79, 89,150,244,125,143,
-155, 38,250,220,190,145,186,174, 8, 49,224,140, 35, 1,195,102,195, 98,177, 64,140,193,251, 0, 10,198, 57, 52,142, 24, 87,162,
- 40,171,189, 61,170,210, 81,149, 21, 73,132, 20, 2, 34, 57,245,162,154, 64,133,193, 15, 56,235, 40,171,138, 16, 19, 6,176, 86,
- 16, 99,217,172, 54,212, 77,193,166, 31, 40, 93,193, 48, 14,184,178,162,176,197,254, 4,157,195,230, 97,196, 7, 79,158,156, 45,
-206, 88,198, 56,210, 84, 53,198, 22,120, 63, 96,172, 99, 28,122, 82, 74,108, 45,183,240,126,160, 31, 70,202,162,156,246, 17, 32,
-101, 3,192,185, 50,143,137,186, 96,181,183,162, 46, 74,108, 89,128, 66,240, 99,182,202, 84, 48,206,128, 24,178, 5, 33, 24, 53,
-172,214, 43, 76, 30, 36,121,110,136, 74,210, 72,223, 15, 32, 89, 96,147, 38,172, 8, 93, 63, 80, 55, 21,214, 88,114,148, 47,208,
-173,215,212, 85,147, 39,228, 20,243, 28,152, 4,159, 60,209, 71,218, 69,203, 24, 3,206, 90, 98, 8,248, 16,105,234,138, 20, 82,
-158,219,138,130,126, 24,105,202, 10, 77,145,189,161,195, 21, 21,133,115, 12,126,192, 96, 72, 49,178,181,179,133, 32,244, 99,143,
-115,150, 20, 66,190, 14,167,241,100,140, 33,140, 35,221, 48, 96, 68,136,192,114,177, 32,134, 44, 34, 2, 96, 13, 77,189,152, 28,
-131, 60, 23,199,148,144, 4,166, 48,168, 26,186,245, 30,139,197,130,245,122, 77,219, 44, 48,162,140, 33, 18, 99,160, 40, 74,186,
-174,163, 40,242,245, 90,215, 53,195, 56, 98, 39, 67,123, 24, 6,140, 43,113, 70, 41,138, 44,242,217, 0, 99,186,198,243, 85,161,
- 73, 73,170, 32, 16, 98,160,116, 37, 10,244,253,128,160, 52, 77,195,238,238, 46,144,175,235,174,235, 24,135,129,168,202, 98,185,
-192, 24, 11, 41, 29, 24,119, 41, 37,140, 49, 24, 35,140, 33,226, 68, 8, 33,224,202,146,178, 40, 88,175, 87,148, 69,137,154, 44,
-148,170,138,117,118,138,218, 66,223,247, 68,141, 44,218, 5,155,110,147, 67,236, 70,216,217,218, 38,248,128,143,121,172,146,229,
-100,210, 55, 5, 99, 80,141,132, 49,167,135,114,152, 32,191, 87,215, 37, 77,211, 98, 93,113,112,142, 66, 8, 56,235, 8,193,179,
-187,187, 59, 69, 60, 18, 85, 85, 83, 20, 5,198, 76,115,196,100,112,174, 86,107,186,126,147,175, 11, 99, 8, 49, 80,149, 21, 85,
- 91, 49,116, 3, 49, 70,234,186,193, 90,195,232, 61,227,224,177,162,212, 77,205,106,181,199, 98,177,133, 78,115, 89, 78, 37, 88,
-172, 43,232, 55, 61, 85, 85,226, 10,135, 43, 75,156,115,196,232,113, 69, 73,191,238, 49,214, 32,215,191,236,101,186,108, 91, 84,
-149,163, 71,119, 73,201,147, 18,136,152,236, 25, 35,216,170, 98,236, 58, 82, 82,138,170,162, 46,179,152, 2,108,134, 1, 73, 32,
- 54,231,139,219,182,101,181,187, 71,179,104, 64,132,213,209,163,217, 75, 61, 16, 49,155,243,135, 8,155, 77,143,117,134,110,211,
- 35, 2,219,219, 57, 84,186,187,187,155, 69,180, 42, 24, 54, 29, 34, 66,211, 54, 24,201,185, 42, 49, 66, 74,145, 97,240,164,148,
-104,219,150,245,122, 67,221, 84,236,173, 86, 8,138, 17,199,246,246, 18,145,156,143,136, 42, 12,227, 64,223, 13,104, 58, 54, 96,
- 39,163,150,148,148,170,106, 24,199, 30, 91, 56,196, 42,149,171, 88,173,178,167,221, 46, 23,140, 62,146,124,200,131, 2,193, 56,
-135, 53, 6, 5,234,170,194, 26, 65,147,178,233,123,252, 36,184, 49,129, 49,154,237,136,105,208, 44, 22, 45, 34,134, 77,183, 97,
-223, 96,104,154,134, 77,191, 65, 35,136, 36,150,203,109, 54, 67, 79,242,129,182,169,179,200, 91,131,193, 50,244,221,193,133,109,
- 69, 88,108,109,227,253, 72, 63,116,100,139,222,210,182, 45, 81, 21,166,215, 56,142, 96,132,182,110, 17,107, 73, 49, 18,162,167,
-153, 66,107, 49,122, 6,239, 49,154, 13,156, 36,233, 96, 66, 95,175,215, 40,134, 20,198, 60, 33,107,246, 26,202,186,194,199,200,
-246,214, 50, 79, 24,206,229,208,115, 89,160, 40, 14, 67, 72, 9, 87, 20,100, 47, 53,178, 94,175,113, 83,251,166,252, 33, 0,195,
- 48, 16, 66, 96,177, 92,102,203,116,179, 97,103,103,103,154, 48,122,170,166, 65,116,186,240,114,188, 12, 0,107, 13, 81, 65,131,
-167,170,235, 28,226, 15,129, 77,215, 81,149, 37,195, 48,208, 52, 45,155,205, 6,128,162,176, 52,205, 18, 68,241,227,136, 24,195,
-208,247,217, 19,159,206,143, 49,230,192,168, 20, 17,114,106, 60,143,189,125,175,102,242, 62,216,218,218,202, 23,190,230,218, 1,
-231,236,193,100, 53,142, 99,206,245,166, 52,237, 59,123, 98, 89,137,148,186,168,242,196,108, 12,206, 89,134,161, 39,132,200,114,
-185,196, 15, 3,163,247, 40,224, 76,246,108,242,177, 50,212, 85,133,177, 22,159,211, 77,236,123, 67, 6,101, 24, 6,234,166,193,
-143, 35,198,218, 28,134, 23,203,246, 78,190,182,214,123, 57,226,229,247,141, 38, 17,138,162, 2, 35, 20, 83,253,133, 53,194, 56,
-142,244,163,103,123,123,155,113, 28, 25,134,145,182,109, 25,252, 72, 97,237,116,140, 20,231, 12,123,123,123, 24,107, 65, 21, 87,
- 58,250,126,164,173,107, 68, 44,125,223,209, 46, 23,144, 18,162,249, 60,143, 49,224,196,144,163, 32,142,162, 40,240, 62, 34,146,
- 13, 85, 1, 98, 84,170,202, 82, 21, 13,253, 56, 28, 8,116,140, 57,116, 91,149, 53,101, 89, 50, 78,226,217,117, 3,165,179, 89,
- 36,156, 35,166, 72,233, 28,171,189, 53,152, 68,200,249, 84,218,182,197,123, 79,246,244, 29, 67, 78, 21, 81, 55, 13, 5, 38,123,
- 95, 70, 80,133,205,122, 53,153,118, 80, 47, 22,132,113,196,138,165,112,246,216,184,172, 10,138,162, 66,163, 50,106, 34,248, 30,
-212, 80, 53, 21,123,187,123, 44,218,134,126,244,108, 45,151,164, 20, 73, 33, 27,199, 34,185,182, 32,165, 68,223,247, 88,103, 25,
-135,145,229,114,201,122,157,211, 82, 33, 37, 22, 77,147,231, 60,107,243,117,168,121, 30,176, 2,195,224, 17,129,166,169, 9, 33,
-209, 84, 37, 62, 37,250,205,134,162, 40,179,113,152, 2,221,186, 35,215,131, 56,138,194, 82,215, 53, 93,215, 29, 68, 68, 21,197,
-136,153, 28,154, 60,150,186,205, 58,207, 57, 76, 78, 5,224,156, 37,132, 72, 30,194,134,170,110, 24,186, 14,177, 22, 63,250, 41,
-181,147,201, 66, 36,248, 16,113,206,229, 57,157,252,185,194, 57,234,166,193, 90,203, 56, 12,217, 72,152,198,162,160,148, 69,201,
-106,179,202,122, 83,148,121,110,236, 58,234,186, 70, 20, 98,136,140,113,196,143, 30, 52, 27, 29,139,118,193, 24, 70, 64, 80, 77,
-148, 69,129,115, 14,239, 61, 97,186,182,171,162, 0,201, 17, 62,227,236,164,115, 16, 99, 2,141,164,164, 24,129,126, 24, 17, 17,
- 84, 20, 39,249, 28,185,162, 96,209,182,248,232, 73, 49,167, 57, 99,204,243, 89, 74,154, 69,118,114,112,202,201,129, 25,199, 62,
-143, 63,192, 88, 67, 81, 22, 44,150, 11,234, 50,207, 83,189, 31,177,198, 82,150, 37,235,205, 10,171,134, 16,115,196,122,111,119,
-151,166, 89,144, 72,116,125,199,176,233, 41,234,154, 24, 34, 91, 91, 91, 57,162, 29,114,100,169,170, 42,202,178, 68,140, 16,198,
-128,188,252,149,175, 84,103, 45,168,144, 82, 0,129,123,239, 57, 66,213,180,148, 69,129,143,158,245,222, 10,131, 1, 13, 40,194,
-214,246, 54,235,205, 6, 99, 12, 91, 23, 93,132,179,134, 97,240,244,125, 71,138, 17, 68, 49,106, 64,178,183,228,189, 39,161,148,
-101,182,212,203,194,145,139, 0,210,129, 64,138,236, 91,107, 33,123, 15, 42, 7,194, 53,140, 61, 67, 63, 96, 38, 15,185, 40,221,
-129, 72, 66,206, 51,117, 99,135,134, 4,154, 80, 49, 44, 22,249,226,117,206, 97,172,101,107,107,155, 20, 19,105,178,164,208,108,
-213, 19, 19,123,235, 61, 66, 72, 24,145,201,195, 85, 54,221,154,186,110, 8,193, 83,215, 13, 34,134,164, 74,138,137,126, 28,241,
- 93, 71,187,181,141, 17, 97,181, 94,103,171, 78, 3,162,121, 98,136,162, 56, 21, 22,211,164, 88, 21, 57, 28,185,218, 91,129,129,
-162,172,166,226,135, 44,194, 49, 70, 54,221,134,173,229, 2,107,139, 41,213,144, 39, 89,239, 61, 93, 55, 9,185, 8, 91,109,131,
-170, 64, 74,108,250,158,237,157,157,108, 92,104, 34,133,192,238,106,149,175, 17,147, 5,160,170, 42,134, 97,160,168, 42,124,159,
-133,185, 40, 28, 99, 8,128,144, 98, 96,107,177, 96,240,158,190,239,167,235, 43,123,166, 91,203, 37,163,247, 7,109, 29,199, 17,
-177,194,122,221,101,227,105,154,224,173, 49, 52,203, 37, 26, 35,155,205, 38,123,193, 34,236,236,236, 48,244, 61, 85, 89,211,245,
- 27, 84,149,229,246, 54, 86,228, 32, 50, 34,198,224,138,130,205,106, 69, 85, 85,244,227,136, 19,153,194,179, 66,136, 89,248,199,
-113,164,109, 26, 54,195, 64,105, 45,136,230,156, 82,210,156, 47, 93,175,242,121, 77,217,232, 40,172, 48,166, 68, 91,183, 88,129,
-168,121, 50, 29,134, 1, 17, 8, 49,178, 92,108,161, 26, 25,134, 17,107,132,163,123,123,232,116, 78,116,154,108, 68, 36,135, 84,
- 1, 72, 24,147,235, 55, 74, 99,217,244, 29,198,101,163,108,236, 71, 32,123, 82,109,219,230,232,137, 42, 91,219, 91,121,146, 19,
-139,181,121, 98,205, 97, 62,203,126,177,211, 48,140,244,211,241,169,138, 2, 91, 20, 20,214,162, 38,215,153, 88,147, 11, 10,243,
-152, 46, 16, 81,202,170,102,232, 6,124, 24, 89, 44,183, 49, 70,217,221, 59,154, 61, 73, 85,172,115, 40,176,108, 91, 54, 93,182,
-240,141,113,144, 2, 42,150, 20, 60,229, 52, 81,196, 24,176,214, 82, 20,142, 77,215,225,140,193,231,116, 83, 30, 35, 41, 81, 85,
- 37,222, 7, 54,155, 60, 81, 45,219, 5, 98, 5, 63,142, 88,231, 72, 36,172,177,236,173,214, 89,196, 69,178, 39, 56, 29,203,253,
-185,187,110,107,156,228,126,199,148, 38,195,113, 69, 97, 45, 85,211,128, 66,223,117, 64, 54,182,203,178,152,206, 29,184,105,146,
- 23,201,222,227,189,247, 30, 37,132, 17, 77, 9, 20,182,151, 75, 86,155,142,166, 46,241, 62, 17,213, 83,148,229,148,186,176,185,
-175, 41, 34,170,136,179,121, 82,117, 37,136, 48,108,214, 84,109, 11, 49,145,200,227, 18,157, 34, 29, 34, 20,206,225,253, 72,225,
-202,105, 60,122,198,113, 96,209, 52,116, 93, 71, 72, 9, 99, 45, 77,219,176, 89,111,168,235, 26,208, 41,245, 84, 48,250, 30, 39,
-217,128,216, 31, 39,206, 25, 66, 72, 83,120,217,225, 99, 36, 69, 79,174,163, 2,159,252,148,254, 81,162,122, 36, 10, 98, 45,214,
-154,131,194, 98, 49, 6, 63,142, 56,103, 65, 97, 28,122,124,200, 17,199,229,114, 73,156,196,202,251, 17, 37,139,154, 74, 30,227,
- 67, 55, 28,204,179,170, 89,228,172, 53,148,101,133, 43,243,185, 23,178,168, 15,155, 13,101,211,224,108,142, 54,228, 34, 49, 65,
-236,100,196, 14, 30, 51, 25, 68,139, 69, 75, 63,246,212, 69, 54,252,115, 90,195, 33,214,144, 66, 22, 68,227, 28, 41,122, 98, 72,
- 8, 80, 55, 13,170, 58,253, 61, 50, 12, 67, 14,141, 43,164, 24, 41,139,146,113,244,196,148,189,102, 55,141, 57,141,199,188,126,
-177,211,245,173, 57, 13,231,172,101,140,158,194, 85, 57, 66,233, 61, 49,122,172,113,144, 20,177,217, 96, 6, 67,105, 12,222, 15,
- 20,101,142, 62,132,232, 25,123, 63, 25,121, 57, 10,161,192,208, 13, 44,150,217, 17, 14, 33,114,239,189,247,162,147, 49,104, 38,
-179, 38,169, 30, 68,171, 69, 12,174,112,148,101,193,246,246, 54, 67,223,211, 15, 35,237,162,197, 88,155,143,111, 2,145, 8,170,
-120,239, 89,175,187, 28, 61, 82,133, 4, 81, 19,206,149,217,144, 29, 7,156,205,209, 78,113,150, 69, 89,129, 49, 88, 59,213, 97,
-189,228,229, 47,215, 20, 35,105, 26,232,201, 26,210, 24, 88,108,109, 17,124,100,236, 54,196,148,208, 20, 73,211,164,152,171, 59,
- 45, 59, 59,219,216,162, 64, 0, 31, 19, 70, 96,111,119,151,229,178, 37,231, 51,133, 24, 35, 49, 68,246,118,143, 98, 11,139,181,
-101,254, 46,201, 66,190,239,245, 24,103,176, 38, 15,202, 41,255,196, 48,140, 56,103,216,247,160, 68, 4,239, 35,198,192,114,185,
- 68, 85,217,108, 54,180,109,195,106,179, 57,104,227, 86,219,178,233,123, 22,237, 18,231, 44, 85, 83,211,245, 35,154,242,168,117,
-214,229,252,154, 21,162,247,136, 53,196,224,217,172,214, 44, 22, 11,186,110,141,143, 1, 77, 9,231,242,137, 88,109,214,104,130,
- 16,179,112,138, 42,251, 49, 87, 3, 68, 17, 22,139, 22,200,147,173, 1, 54, 93,199,114,185,133, 49,134,189,213, 10, 82,162,105,
- 26, 66,204, 97, 53,231, 28,126, 28, 97,138, 64,196,105,240, 79,249, 58, 52,105,182,164, 53,135, 42,115,104, 94,217,235, 59, 76,
- 4, 4,218,186, 5, 3,101, 89, 97, 12, 7,158,175,247, 57,188, 43,146,189,174,178,174, 15, 68,211, 90, 71, 63,142,244,125,143,
-166,152,173,231, 50,183,217,251,145,229, 98,129, 72,238, 89,183, 89, 35,198, 2,202, 48,244, 7,147, 17, 24,140, 81,218,229, 22,
-154,242,228,191, 94,173,136,154,115, 90, 42, 66,152,242, 83, 91, 91, 91, 83, 26,230,248, 74,248,186,170,216,247,214, 83, 8,248,
-233, 66, 22, 17,118,182,183, 17,231, 24,135, 14, 85,193, 24,176, 69, 69, 8, 89, 56,141, 24,156,181, 24, 99,217,108, 58,144,196,
-178,109,201, 41, 64, 61, 8,237, 91,201,169,136,168, 17,145, 28,117,104,151, 11,186,245,138,166,105,113,101, 65,232, 71, 66, 82,
-138,194,114,239,238, 46, 85, 85, 80,186, 50,123, 47,154,232,134,142,166, 89, 96,152, 66,165, 33,176,183,183, 71,142,224,180,196,
- 41, 63, 27,198, 64, 89,151, 7, 23,118, 55,246,140,253,136, 88, 67, 91, 85, 20,117,133,149,108,205,171,228,136, 84, 97, 11, 66,
-240,180,117,139, 18, 65, 12,171,213,138,170, 42,209,168, 84, 77,133, 21, 67, 18, 33,140,158,224,199,124, 45, 56, 7, 81, 73, 6,
-156,100,207,177,168, 12,162,202,209,163, 43,234,166, 4,133,174,239,168,171,156,183,171,235, 38,143,243,201, 64,180, 98,112,101,
-137,181, 66,240,121,146,173,203,146,148,148, 49,120,188, 31, 16,177, 7, 70,142, 17, 75,210,132,106, 64,213, 64, 10,249,122,219,
-218, 98,111,119, 23, 83,150,120,239,169, 38, 47,105,244, 3,109,187,204,226,200,190, 56,230,112,239,222,222, 30, 0,238, 88, 21,
- 52, 41,198, 44,214, 40,229,148,190, 26,199,113, 10,131,130, 43, 29,101, 81,146, 18,180,109, 22, 0,239, 3,187,187,187,212, 85,
-133, 31, 7, 66,240,108, 45,150,120,205,158,217, 48, 14,160, 57,205, 36,211,164,151, 98, 96, 24, 60,117, 83, 35,147,103,183, 90,
-175, 25, 39, 49,176,198,162,162, 52, 77,142, 48,168,128, 43, 28,253, 48, 18, 71, 79,146,148,211, 89, 69, 65, 85,215, 36, 18, 41,
-228,116,198, 24, 19, 85, 89,100,193,244, 3, 49, 38,234,162,156, 10, 23,133,162, 42,216, 76, 5,162,144, 29,146,162, 44, 8, 33,
- 80,150,101,142, 30, 89,203, 48,120, 96,154, 47, 82,204,243,149,234, 65,148, 51,198, 28, 81,245,222,163, 83,168,124,202,161, 83,
-216,130, 36,202,178, 89, 76,121,228, 92, 85,223,212, 53,198, 90, 20, 1,205,213,224,170, 10, 2,163, 31, 24, 70, 79,105, 75,196,
-230,240, 60,154,166,235,104,154,159,109, 65,225, 28, 26, 35,113, 50, 4,242,108,173,248, 24, 16, 5, 76, 54, 1,194, 24,168,234,
- 58, 71,203,250, 30,166,235,166,174, 42,246, 29, 6,231, 28,227, 48,224, 83, 22,245, 16, 3,214, 58,226, 56, 82,148, 69, 22, 53,
-114, 29, 16, 41,229,107,219,144, 35, 14, 46,215, 56,105,202,133,113, 85,149, 13,144, 97,232, 41,171, 26, 63,230, 90, 16, 31, 35,
-165,181,152,162,192, 40,248,224, 49, 98, 80,129,113,236, 9, 83, 42,229, 56, 36,247,202,218, 92,220,156,103,121, 88,175,215, 24,
- 17, 18,217,105, 21,103,166, 40,209, 26, 77, 74, 85,101,163,163,105, 90, 54,221, 58,167,104,234,138,113, 28,216,222,222, 57,136,
-168,117, 93,159, 35,163, 67,142, 20, 86,117,149,195,248, 34,108,250, 1, 3, 36, 81,246,246,118, 17,178, 67, 49,248,145,232, 3,
- 41,229, 57,232,162,139, 46, 98, 63, 45, 54, 12, 3, 68, 5,155,219,108,191,248,153,207,248,193,178, 44,114, 94,192, 90,156, 49,
-132,148, 77,234,164,145,229,162,165,170, 27,202,170, 38, 73,206,245,212,117, 77, 85, 87,172, 87, 43,252,100, 1,111, 54,107,138,
-162,152, 66, 59, 61, 69, 81,209,119, 29,214, 88, 86,171, 85, 54, 8, 12, 88,235, 48,206,178, 88, 44,240, 62, 11, 39, 34,108, 45,
-182, 40,138,146, 68, 22,178,205,254,129,106,107,218,182,205,197,101, 83,238, 34,132, 64, 72,249,100,212, 85,133, 43, 10, 72,208,
-180, 13, 49,140, 7,214, 79, 85,229,226,189,228,115, 33,131,117,142, 20,115, 40,122,240, 35,255, 63, 93,111, 26, 43,251,125,222,
-247,125,126,219,127,159, 57,151, 87,151,164, 68,147, 18, 73,201, 18, 41,107,161,182, 74, 94, 98,215,118,109,216,174, 91, 47,117,
-155,165,118,106,160, 75,146,182, 8,146,182, 9,210, 87, 5,242,166,245,139,162, 47,138,164, 91, 12,216, 48,220, 6,129, 99, 55,
- 94,226,196,139, 44,201,150,228, 69,139, 45, 74,162,184,138, 34, 41,138, 20, 47,239, 61,231,204,252,183,223,218, 23,207,127,142,
- 36, 59, 29,240,130, 4, 57,103,120,102,230,183, 60,207,119,123,194, 42,149,166,179,114,112,173,222, 19,125,160,233, 54,104,200,
- 11, 87,225,140,161,170,106,140,181, 27,156,228,168,235,134, 88, 18,228, 76,183, 27, 72, 74, 17,189,103,183, 59,147, 3, 62,231,
-173,179, 13,212,117, 69, 93, 85,212,117,205, 52,207, 2,133,131,116, 98, 70,179, 27,122,234, 90,170,176,162, 4,202,159,167, 25,
-148,102, 13, 2,249,121, 31, 8, 33, 50, 47, 11, 80,208,198,210,245,242,123, 46,203, 66, 8,158,213,123, 66,140,248, 16, 72,165,
-144, 98,164, 40,129,137,151,101,161,221, 46, 81,128,117, 93,208, 74, 81, 89, 71,221,116,180,149,197, 85,142,140,252,255, 87,239,
-137, 41,208,245, 61,203, 50, 83,114,194, 85, 21,125,223,211,117, 29,109,219, 8, 39,100,205, 86, 24, 57,170,198, 81,217,211,129,
- 30, 32, 70,176,162, 47,160, 20,225,240,140, 65,105,125,181,145,214,117,101,154, 38,124,140,104,107,133,166,233, 58,230,117, 33,
-134, 72,211,200,225,189,174, 34, 30, 33, 23,172,117, 24,173, 9, 91,135, 83,187,138,170,170,183, 42,122,194,213, 21,109,211,210,
- 54, 45, 77,211, 48,174,211,214,201, 72, 65,169, 97,251,103,233, 2,141,117, 2,127, 7,177, 82, 46,203, 2, 69,214,143, 81,210,
- 17,140,199, 35,155,189,110,235,168,101,255,199,152,169,106,185,152, 86,191,226,189, 39,196, 76,211, 52,164,156,232,186, 14,191,
-174, 56, 91,145, 75,102,156, 70, 17, 74,101,133, 50,210,133,151, 12,107, 10,196, 28, 81, 40,154, 90,184,178,101, 93,200, 49, 19,
-114, 66,151,140, 82, 69,186, 46,173,229, 80,216, 58,228,101,158,184, 99,223,210, 91,199,154, 18,103,103,123,166,113, 20,173, 65,
-129,166,105, 57,191,125,155,167,159,124,138, 84, 50, 41, 71,250,182,163,233, 90,172, 86, 84,117, 77,229, 42,214,101, 38,197, 68,
- 8, 43, 57, 70,170,186,165,108, 10,121, 99, 44, 57, 71,186,174,195,185, 10, 31, 22, 20,154,190,239,153,166,137,170,105, 88,151,
-133,190,239,136, 57,162,145,142,212,199, 40,157,188, 49,140,211, 68,136, 27, 55,221, 55,130, 28,165, 76,215,203,107,202,161,239,
- 4,245,240, 1, 99,140,104, 19,156,136,185,156,115, 91, 71, 22,183,226, 49,110,232, 77,133,181,102,187, 36,188,112,242, 57, 11,
-188,220, 10,231, 89, 74, 97, 26, 71,234,166,217,208, 18, 71, 8,129,176,174, 87, 52, 69, 78,137, 97, 16,237,130, 54, 26, 99, 53,
-203, 52, 19,203,215,184,237,166,235, 54,138,203,162,172, 97,245,158,121, 94,182,117, 36,226, 37, 31,163, 32, 99,218, 74,113,182,
-117, 91, 49,122,138, 82, 87, 69,143,181,150,148,243, 85, 87, 26,115, 70, 43, 13,165, 8, 5,172, 12, 42,151,109,127, 71, 66,242,
-248,224,241, 33,146,163,208, 21,165,100,185,196,146,160,146, 57,101,118,187,157,172,191,146, 8, 62, 80,138, 20,251,107, 8, 2,
-117, 23,129,131,231,117,146,134, 73, 41,234,170,166,169, 43,208, 10,141,102,156, 70,180, 50, 27, 26,208,162,209,172,243,130,117,
- 66,201,101, 32,174,171,188,103,173,113, 70,144, 23,171,205,149, 32, 49,231, 44, 77, 11, 82,180,185,173,201, 56, 53, 30, 74, 73,
- 1,160,213, 38,124, 86,242,121, 15,187, 29, 49,202,190,214,198,146, 98,194,154,138, 92,146,136, 34, 41,164, 24, 54, 52, 83, 73,
-225,189, 44, 2,205,103,161,232,154,166,102,154, 70,114, 41,248,213, 19, 99,192, 26,195,188,174,204,243,132, 95, 61,228, 66,219,
-247, 84, 86,138, 69, 16,132, 87,171,173,228, 42, 91, 83,149, 69, 96, 90, 91, 57,195,149,182,212, 77,133,213,150, 68,162,239, 90,
-105, 16,156,163,107, 91,208,208,247,253,134, 40, 1, 40,114, 6,231, 44,203, 34, 20,155, 80,114,210,153, 89, 45, 34,205, 19, 50,
- 91,148,160,198,149,147, 59,161,170,228,254,168,170, 26,231,234, 13,113, 19,132,193, 25,131,171, 29,202,130, 95,101, 13,168, 31,
-253,143,126,162,164,148, 68,244,226,228, 48, 46,185, 96,157,147, 75, 38, 11,148,120, 24, 15, 34,138,137,158,190,237, 56, 28, 70,
-186,166,102, 10, 1,210,201, 38,224,216,239, 7, 57,116,114,226,120, 56,144, 67,162, 20,169,118,207,206,164,186, 72, 72,151,160,
-129, 80, 50, 37,201,197,174,148, 98, 94, 22,134,190, 39,120,207, 60,207,116, 93,139, 40,124, 53, 33,120,198,113,166,173,107,170,
-166,230, 4,185, 92, 94, 94,110,157,123,102, 28,143,180,117,205,188, 44, 92,187,118, 13,103, 29, 37, 67,161,112,156,150,141,131,
-116, 87,240,141,143, 65, 56, 40,227,240,201, 19, 67,132,156,104,134,158,121, 26,165,211,220,239, 24, 15,163,116, 8,125, 71,140,
- 9,231,172, 64,208,170,208,183, 29,211, 52, 82,148,226,218,246, 30, 79,165,120, 78,137,105,146,206,232,236,236, 12,144, 13,118,
-130,167,151,101,161,169, 27,242,198,223, 28,142, 71, 74,201, 12,251, 1, 85,164,203,206, 37,209,183, 3, 49, 39,166,121,166,107,
-107, 64, 58, 85,239, 23, 42, 39, 23, 72, 86, 5, 99,180, 8, 11,149,252,172,113,142, 18, 35,227,198, 49, 67,193, 85, 53,214,124,
- 35,188, 60, 45, 19,221,137, 95,207,249,234, 98,182, 90,104, 7,187,117, 57, 49,138, 15,244, 4, 47,101, 41, 16,229, 57,206, 93,
- 9, 99,208,138, 92, 32,173, 43, 69,137, 24, 80,107, 65,103,148,218, 32,189, 34,162,155, 82, 10,149,181,116,195, 64,204,155,248,
-166,128,214,133,140,102,220,132,111,125, 63,112, 82, 80,199,184,105, 27,148,166,105, 27, 66, 88,233,187,158,241,112, 64, 27, 75,
-109, 45,202, 90,170,211,129, 62,141, 64, 33,103, 69, 74, 30,109, 29,181,171, 72, 41,144, 82, 97,232,123, 46,143,151, 87, 98,203,
-161, 27,182,110, 72,214,117,206, 82, 64,196, 40, 40,150,108, 63, 64, 21,233,102, 55, 8,223, 90, 3, 89,248,184,166,170, 89,252,
- 74, 74,145,122,235,150, 15, 71,177, 50, 82,164, 2, 87, 95,119,128,160, 96, 30, 71,156,214,124,224,157,223,194, 29,119,220, 65,
-202,153, 47, 61,255, 2, 95,124,225, 43,220,124,245, 22,221,110,207,237, 91,183,120,225,249,231,185,249,202, 43,140,227,200, 60,
- 77,252,159, 63,243, 15,249,225, 31,250, 62,158,125,250,139, 96, 12, 95,120,250,139,252,194, 47,255, 42,143,126,225, 73,206,111,
-223,150,117,189, 61,180, 17, 94,245,250,245,107, 60,248,224,253,188,254,190,215, 83,245, 3,135,139, 3,218,110,112,191, 50, 12,
-187, 29,126,245, 84, 77,133, 95, 60, 25,209,175, 0, 28,143, 66,157,184,170,186,234,132, 15,199, 35, 42, 67,191,235, 55,158,216,
- 18,162, 40,244,221, 38,200, 44, 36,208, 22, 99, 53, 37, 41, 10,121, 59,240, 29,197,203,231,164,148,116, 69,174,170,153, 39, 41,
-160,172,179,116,109,195,229,229, 1,241,148,219,173, 19,116,144, 18,243,178,202, 97, 8, 24,229, 88,227, 34, 23,111, 81, 20, 35,
-221,248, 9,198,236,186, 14,163, 53,151, 23, 23,128,194, 86,150, 82,138, 8,237, 40,104,182,207,160,114,212,206, 80,148,226,120,
- 24,113, 78,138,238,186,170,177, 86,248,207,227,197,133,208,126,206,208,119, 29, 39,235, 92,202, 16,214, 25, 99, 43,129,139,173,
- 69, 23,136, 57, 17,147, 52, 3,214, 90,180,214,132, 16,208,198, 98,156, 65, 21, 54,100, 77, 62,243,174,235,248,122, 42, 40,230,
-132,198,162,181, 32, 31,130,156, 20,194, 28,228,103,252, 74, 41, 34, 82,155,230,153,202, 58, 10, 73,206,205,166,165,168,130, 95,
- 22,170,166,197, 88,141, 46,200,247, 20, 2,235, 26,228,226, 89, 23,172, 54,196,156, 4,189, 80,130,184, 74, 35,190, 33,157, 90,
- 81, 80,116,109,195,234, 3, 93, 87, 19,124,162,170, 5,165, 32, 23, 66,206, 24,173, 33, 75,161,179,217,239,208,200, 69,156, 82,
-218, 32,124,182, 66, 85, 40,155,190,239,132,174,181,110, 67, 52, 29, 90, 65, 34,163,209,132,148,182, 34, 93,163, 55,177,180, 86,
-154, 66,129, 92, 0,161,158, 64,206,182,147,134, 98,245, 43,226, 43,205, 20, 4,158,223,239,118,200,205, 43,136, 67, 74,130, 92,
-158, 62,239,147, 11,231, 68, 95,230,156,165, 16,212, 90,190, 11,165,105,170,150, 24, 4, 93, 88,214,133,190,239,165,217,137, 82,
-172, 53, 77,115,117, 87, 77,211,184,161,211,224, 92, 77,138,129,197,123,156,181,120,239,113,166,194,199,133, 97,183, 19,129,102,
- 18,219, 92, 42,101,163,236, 20, 41, 9,236,223,245, 13, 78,111, 72,215, 86,224,173,107,192, 58,235, 72, 41, 74,135,216,182, 52,
-109,203,197,197,133,192, 70,117, 77, 41,114,248, 42,132,171, 0, 69, 42, 25,165, 96, 13,145,126,227, 64,227,234, 73,235,194,249,
-133,112,120,121,227,151,135,125,203,186,202,130, 67, 41, 66,244,196, 44,226,134,182,174, 49,177,112,251, 56, 81, 74,162,106,154,
-171, 78, 82, 25, 67, 85, 75,119,188,174, 11,104,177,134, 12, 93, 75, 81,106, 59, 4, 79, 28, 73, 33,164,132,184, 66,243,118, 80,
- 42,188, 95, 9, 33, 82, 85, 53,171, 95,153,103,185,152,189,242,136,119,112, 79, 99, 43, 60, 19,177,200, 66, 17,254, 57, 19,214,
-192,217,217, 25, 33, 6,214,113,165, 31,122, 14,151, 71,142,135, 3,104, 69, 81, 45,195,208,109, 23,148, 98,216,159, 1, 69, 4,
- 40, 49,161, 52,236,250, 30,248, 90,101,234,189,167,170,165,163, 52, 90,170,252,170, 18,229,237,178,122,250,173,178, 51,174, 18,
- 40, 47, 6,140, 21, 20, 34,108,174,131,202,136, 2, 90,161,136, 65, 32,186,121, 89,232,186, 22,165,229,130, 16,181,169,108,128,
-105,154, 68,152,178,125,150,243,178, 96, 82, 34, 43, 37,162, 53,103, 81, 40, 82, 72, 76, 89,196,110, 49, 70,188, 22, 14, 87,183,
-114,209,151, 34, 21,240, 52,142, 84, 77,195, 50,139,248, 70, 84,163,178, 41, 5, 41, 9,216, 74,170,201,101,158, 73, 86, 83,219,
-138, 16, 3,125, 63, 16, 82,192,137, 13,139,188,253,174,198,106, 42, 43, 66,143, 18, 10,186, 82,140,243, 76,137, 34,156,219,237,
-118,164, 20, 89,215, 25,103, 69, 9, 91, 87, 98, 3, 10, 49, 96,141,130,226,200, 41, 81, 87, 21, 62, 68,138, 42, 44,211, 4,125,
- 71, 73,145, 82, 4,242, 22,170,160, 38,103,161, 80,188,151,245, 81,148, 28, 0,253,208, 67,129, 24, 34,174,170, 88,252,130,159,
-103,118,187,221,149, 40,205,123, 79, 91, 59,198,121,166,107,123,230,113,150,181,152, 60, 37, 59,218,166,101,245, 43,107, 16,129,
- 89,201,137,146,217, 96,122, 67, 85, 9,167,122, 60, 92,162,183, 42, 61,198,200,225,252,130,231,158,121,138,191,243,211,255, 49,
- 63,249,227, 63,140,174, 43,198,151, 94,225,239,254,198,111,242,219, 31,249, 40,135,227,184, 81, 52,127,241,241,217,199,159,224,
-251,255,210,183, 49, 47, 43, 95,120,234, 25,126,245,183, 62,196,239,125,228, 99, 87,255, 93,171,237,188, 67, 10,205,121,156,249,
-111,255,222,223,230,181, 55,110,112,223, 61,119,243,186,187,238,228, 95,126,228,163,252,222, 31,127,138,155,231, 7,214,101,229,
-242,112, 73,101, 52,111,125,232, 45,236,239,184,193, 97, 62,114,184, 60, 80,213,142,182,235, 80, 64, 74, 73, 14,164,224, 49,104,
-186,125, 39, 93,101,136, 40,109,241, 62, 82,215,134,117,158,161, 20,138, 49,180,149,149, 67,215, 66,166, 64,209, 88,163,209,174,
-134,156,153,231,229,234,146,161,100,218,190,195, 26,197,113, 20, 37,176,181,178,191,215,121,166,132, 72, 46,114, 57,180, 77, 75,
- 46, 9,159, 61,186, 24, 86, 31,168,107, 71, 14,178, 31,173,182, 36, 31,241,203, 76,206,178, 63, 92,237, 24,199,137,161,239, 65,
- 43,150,101,164,177, 13, 85,229, 40,104,252, 26,105, 59, 81, 41, 91,171,113, 27,180,123, 56,172,212,109, 75,191,219,145, 40,148,
-148, 57, 94, 28,176,149, 99,183,223, 1,137,178,105,146,156,177,148,156,200,198,162,177,244,181, 35,248, 72,202,249,138, 11, 45,
-136,112,179,174, 26,186,174, 39, 70, 17,200, 78,147,104, 11,156,181,248, 20,113,198, 81, 85, 48,142,139,192,211, 89, 58,111,165,
- 20, 54,107,148,210,180,125,203,120, 28,229,108, 41,129,186,106, 56, 59,171, 8, 41,112, 56,151, 2,217,185, 74, 56, 89,109,152,
-166, 69, 16, 44,173, 49, 70,116, 56, 49,103,252, 50, 83, 53, 53, 86, 25,230, 85,138, 43,165,183,206, 16, 67,222,246, 67,206, 82,
-164,134,232, 73, 49, 80,183, 29,138, 66, 41,137,227, 40,194,199, 97,183,163,212, 53, 57, 70,124,140,228,109, 79, 86,174,194,108,
- 2, 71,107,161,174,107, 74, 41, 36,239,153, 66,220, 46,241, 64, 73, 80, 57, 67,214, 25,107, 12, 85,223, 95, 21,247, 57, 23,208,
- 66, 91,106, 43, 78, 7,183, 53, 34,202,218,171,162,209, 90,185, 28, 53,138,148, 34, 62,120,150,121, 38,171, 66,227, 26,230, 69,
- 80,130,105, 28,161,108,154,148,146, 56, 76, 34,104,182,198,200, 30, 82, 26, 52,212, 70,186,232,227,241, 72,211,136,179, 66,190,
- 75,152,231, 25,144,123, 46, 4, 65,204,114,201, 91, 99, 34,212,231,186, 9,155, 41,162, 35, 72,243, 76, 8,210,124, 28, 15,151,
- 12,187, 61,227, 38,212,222,123,144, 35,198, 0, 0, 32, 0, 73, 68, 65, 84,237,246, 72,126,203, 74,206,133,156, 35,199,203, 35,
-202,168,147,116, 13,107, 5,129,178, 49, 38,154,170, 67,212,138,210, 69, 25,103,174, 22,138, 49,134,113,158,196,202,213,201, 5,
- 45,149,168, 8,226,160, 34,204, 51, 42, 70,112, 21, 57,122, 80, 45, 41,102,134,253, 78,186,185,180, 48, 79,203,149,186,157, 18,
- 37, 4,160, 20,230,213,147,179, 40, 66,189,247, 92,191,118,109,131,155, 2,109, 91, 51, 78,242,198, 67, 20,177,222,229,113, 83,
- 19, 90,205,174, 23,203, 68,201,133,203,219,231,226, 55, 55, 18,120,226,156,219,120,169, 64,140, 2, 91,231, 36,139,178,107,234,
- 77, 36, 22, 81,166,102,119,182,231,246,237,219,156,148,153, 18,162,176,193,126, 85,141,183, 30,173, 20,103,103,123,110, 95, 8,
-127, 87, 50,140,243, 44,159,211,246,229, 85,206,225,125, 32, 6, 81,116,198,197,179, 59,219,209,117,162, 78, 93,102,233, 94, 98,
- 8, 4,239, 55,120,210,227,215, 0,170,160,181, 98,127,182, 39, 69,209, 56, 24, 45, 29,183,171,132,143,118,157,221,212,150, 82,
- 84,105,109,183,110, 82,248,200,166,107, 4,238, 92, 87,121,126, 93, 99,141,162,218,236, 84,185, 20,170,173, 43, 57, 63, 63,151,
-207, 81, 67, 70,211,117, 29, 74,107,252, 6, 71, 42, 32,105,129,197, 82, 74, 28, 14, 35, 57, 71,114,206,196, 81,180, 7, 49,110,
-137, 74,102, 91, 43,214,208,245, 61,104, 17,195, 40, 99,216,247,131, 28, 92,193,162,180,161,175, 42,230, 73, 14,213,170,170,112,
-174, 34,172, 11, 1,131,209,144, 82,220,208,139,154, 67, 8,204,235,140, 42,154,202, 89,114, 73,204,203,132,171, 29,185, 24, 66,
-244,128, 22,234,167,106,136, 33, 80,200,162, 68,117, 21, 41, 22,150,237,243, 50,214, 10,236,218, 9, 10, 80,112,228, 28,233,251,
- 86, 14,168,156,233,218, 78,120, 44, 37, 93, 67, 46,153, 24, 34, 67,223,179,174,158, 84, 34,108, 69,193,186, 8,148,121, 56, 92,
- 96,173,165,118, 53, 49, 42, 80,194, 13,250, 16,216,109,112,163,113,150,186,110,184,214,206,188,233, 45,111,231,158, 27,119, 49,
-126,245, 38,191,245,251, 31,227,227,159,248, 83,150,101,225,120, 56,240,189,223,254,126,254,187,255,225,191,231, 91,191,237,253,
- 60,247,212, 51,252,163,159,255,167, 76, 97,225, 43, 95,121,121, 43, 94,191,241, 66,191,247,181,119,241,222,183,191,141,247, 62,
-242, 54,238,190,243, 78,198,121,230,142,221,142, 23, 95,254, 42, 79,191,240,252, 55, 60, 55, 23,184,235,250,117,222,243,206,111,
-225,238, 27, 55,184,251,206,235,220,177,219,241,192,235,191,137,107,251, 61,255,242,131, 31,225, 31,255,194, 63,229,177, 39,159,
-150,181,227, 28, 15,222,123, 15, 63,242,239,255, 16,111,126,224,126,218,182,225,197,155,183,120,246,229,155,124,233,149,155, 84,
- 8,119, 43,176, 37, 84,174,150, 78, 56, 5,114,202,212,174, 34,230, 64,229,132, 55,237,134, 30,133, 69, 91,132, 66, 74,133,170,
-169,101, 79, 56, 73, 24,107,106,131, 95, 86,150,101,101, 24,134,141, 34,130,236, 35,115, 78,164, 34,154, 19,231,196,214,232,140,
-163,144, 9,171,167, 31,122, 98,220, 68, 73, 74, 17, 83,102,215,182,196, 12,169,136,141,113, 89, 61, 80, 68, 27,144, 10,117, 87,
-145, 66, 68,169,205, 53,208, 84,148,152, 81, 22,178,214,148,148,112, 85, 77, 42,137,221,176,219,186,180,133,156,139, 32,128, 37,
-177,172, 43, 10, 67,211, 84,104,165,232,122, 41,244, 99,150,195, 90, 21,217,135, 20,133, 49, 10,165, 32,199, 8, 20,140, 22,180,
-210,214, 13,168, 76,240, 65,144,185,188,113,233, 37,137,118,128,204, 52,175, 88,109,161, 20,209, 63, 24, 77,201,133,170,169,200,
- 57,110, 72,107,133,247, 19,226,228,169,209, 78,179,142, 43, 90, 37,140,209,228,141,174, 50,206,113, 56, 30,229, 18,168,229, 61,
- 23, 45,252,124, 42,137,156, 34, 57,102,250, 65,212,236, 49,166,237, 44, 45, 56, 99,113, 27,165, 20, 83,162, 40,185, 88, 93, 85,
- 81,185,106,163, 53, 60, 93,215,227,253,202, 73,252,231,215,149, 16, 3,117,211,210,183, 45, 41,103, 78,154, 41,103, 29, 41, 70,
- 82, 46, 28,143, 7,156,171, 48,206,144, 67, 36,230, 40,159,181, 21, 97,171,213, 22, 40,178,215,139, 52,128, 26,185,138,148, 41,
-228,162,176,219, 61,134,102,235,110, 69,116,152,179, 52, 32,166,214, 88,219,136,102, 6, 69,242, 11, 99, 24, 81, 90,145, 83, 38,
-149,130, 51,210, 48, 58,231, 4,253, 84, 26, 87, 85,232, 82,112,217, 92, 61,183, 20,209,122, 89,235, 56, 30, 46, 5, 45, 89, 87,
-234, 70,206,236,178, 85,210, 39, 7,143, 15, 18,170,182,223,239,200, 57, 17,183, 80, 86, 31,253,230,226, 26,113, 78, 46,239,121,
- 89, 54, 88,222,112, 18, 9, 59,231,136, 41,114,184,136,155,182, 77, 10,180,184,113,244, 41, 70,172, 82, 90,196, 30,243,132,223,
- 58,213,161, 25, 88, 67, 96,156,103,154,106,235, 26,189,112, 43,117,227, 8,171,168,161,217, 42,255,237,111,144, 34,251, 59,174,
- 19,130, 88,119, 82,138,164, 20,169, 54,193, 68,136,113,131,211, 10,109,215, 49, 47, 11,165,136, 69,162,107, 58,129,210,128,166,
- 17,111,159,247, 2, 81, 55,141, 84, 68, 0,151, 23,151,156,188,232,194, 75, 20,178, 42,232,156,160,106, 40, 73, 32,221,170,174,
- 57, 65,188,227, 40, 85, 83,191, 19,159,164, 53,154, 90,181, 18,196,225, 68,164,178,219,137,253,109, 28,183, 10, 55,101,234, 90,
- 44, 57, 77, 83,115,234,184, 21,229,202, 30, 37, 98,193, 29, 41, 21,172, 53,114,152,213,242,122, 58,138, 55,243,226,226,124,243,
- 20,139,170, 52,198, 32, 62,229, 16,200, 10, 98, 72,236,247, 3,243, 44,190,255,117, 14,194, 31,110,188, 49,112,101, 23, 42, 69,
-248,100,191,172, 20, 37,133, 68,206,153,232, 3,227, 60,225, 47, 61,117, 35,220,152, 49, 78, 4, 62,182, 38,248, 64,219, 52,172,
- 33,160, 16,213,108, 93, 57,214,120, 90,180,142,113, 28,233,187,238, 10, 78,157,167,137,162, 68,217,236,172, 40, 55, 23,159, 24,
-186, 65, 10,139, 36,137, 95,245,246,189, 40,173, 69,181,110, 12,203, 60,211,181, 29,228,132,217, 32,125,187,121, 62, 67,140,104,
- 43,188,186, 40,102, 87,108,181, 89,178, 4,104,184,226,215, 85, 41, 44,179,192,127, 49,105,154, 90, 60,176,165, 40,250,206, 98,
- 92,131,202,138,162,107,194,234, 17, 15,186,226,236,172, 37,229, 36,220,181,209, 84, 78,224,210,156,133,158,145, 77, 18,113,206,
-224,140, 99, 94, 15,178,225, 22, 73, 97,139, 41,162, 16,244,161,174,164,163,169,107, 71,206,134, 20,133,238, 41, 72, 33, 83,183,
- 53, 77, 35, 7,121,183,107,209, 24, 4, 30,214, 44, 94, 14,194, 93,147,249,137,239,232,121,223,119,252,101,108,117, 31,235,205,
- 87,249,141, 23, 95,230,217, 47, 62,207, 23,159,126,154,211,227,227,127,242, 41,238, 24,118,188,241, 13,247,241,242,205, 87, 65,
-193,111,254,238, 71,184,125,126,193,191,233,241,194, 75, 95, 69,155, 47,240,190,119,189,147,239,249,192,191, 69,161,240,251,127,
-252, 73,190,244,229,175,112,243,230,173, 63,247,108,205,229, 52,241,103,159,127,156,127,251,219,246,124,243,253, 15,240,238,183,
-191, 21,103, 29,159,122,244,243,252,242,191,250,157,171, 11, 29,228,128,127,225,171, 55,121,244,177,199,185,235, 53,215,121,229,
-214,171,204,243,202, 29,149, 70,237,123, 94,186,188,228,230, 97, 97, 56,219, 75,145,169, 53, 86, 43, 44, 2,237,231,156,201,235,
-140,117, 13, 49,140, 88, 37, 97, 53, 49, 66, 92, 3,195, 78,232, 50,201, 25, 88,113,251, 61,243,188,114, 74,119, 43, 37, 83, 87,
- 53,235,234, 49, 6,148,113,212, 27,106,229, 67,194, 58, 69, 44, 25, 85,138, 80, 27, 73,177, 46, 11, 77, 93,225,215, 72, 85, 27,
- 98, 10,162,129, 49,114,168, 91,163, 55,136, 91, 99, 43,185,180,165, 0,105,129,204, 52,173,104,171, 89,131,164,131, 85,181, 32,
- 58, 57, 25, 98, 90,105,235, 6,172,124,239,185, 72, 65,108,141, 37,172, 43,133,194,238,250,117,166,241, 32,103,143, 82, 40,231,
-168,141, 35, 7,161,113,150, 44,250, 11,201,209,144,215, 95,231,137, 92, 34, 86, 87, 88, 91,112, 78, 50, 24, 10,153, 18, 11, 99,
-156,164,123,111, 58, 65,226,178,208, 67,182, 56,178, 74, 40, 3,165,104,116,165,201, 25,154,182,193, 47, 51,125, 47,226, 80,138,
- 36, 41, 42,173, 88,214, 5,173, 68, 41,175,181,166,105,154,173,235,222,196,200, 41,129, 86, 36,109, 24,215, 9,230, 21,173,217,
-212,235, 82,196,201,247, 38,250,152,253,126, 79, 10,153,170,170,161, 8,172, 45, 23,161,232, 35, 50, 18, 90, 99, 67, 32,101,209,
-131,132, 16, 36,109, 81, 41,154,166, 38, 68,233, 90,141,214, 34,200, 70, 80, 50,180,194,104, 75,223,186,205,205,145,136, 89, 92,
- 81,139,151,247, 1,128, 82,184,202, 2,122, 91, 55, 9,178,132, 83,165, 44,157,255,186,172,204, 97,227,176,115,166,168, 26,173,
-244,149,139,170,174,165, 96, 43, 89,212,231, 70, 21,234,182,195,101, 68,132,152, 11,182,182, 27,157,105, 64,139, 96,122,153, 39,
- 40,108,162,194, 66, 81,133,121,211, 29,196, 49, 82, 82, 33,102,105, 10,218,166, 33,166, 64, 10, 17,219, 52,132, 40,122, 50,165,
-228,142, 50,218,162,173, 34,103,161, 0,154,174, 38,250, 0, 25,172, 51,148, 34,148, 84, 93, 55, 24,107,174,180, 0, 33,120, 32,
- 83,153,154, 24,196, 65, 97,235,186,134,172,104,235,158, 53,142, 44,139, 92,209,214,234,171,139, 83, 46,185,200, 56,143,196, 24,
-105, 27,169, 24, 74,146, 11,185, 31, 6,166,101,145,168, 83, 54,129,209,102,117,241, 62,176,219,237,229,208,206,226,109,237,186,
- 30,165, 33,167, 2,218,108,138,243, 25, 87, 89,150,113,196,110,220, 68, 91,213, 87, 10,237,166,110, 88,252,194,217,217,153,124,
- 1,165, 72,229, 86, 85, 52, 40, 14,171,135,101, 69, 85, 21,227, 56,161,149,116,185,194,145, 40,134,190,195,214, 13, 49, 68,236,
-182,232, 84, 22,158,101, 94,132,123,170,235,250,138,231, 60,241, 42, 33,136,141,175,170, 28,203, 60, 83, 87,245,149, 7, 56, 43,
-133,214, 22, 99, 20,151, 23, 23, 34, 76,139,145, 76,166,222,237, 41, 49,145,146, 71, 35,190,213, 16, 3,231,183,207,105,187, 86,
- 20,251,227,132,181,142,146, 36, 70,117,222, 68,116,226,111,118,116,109, 45, 65, 33, 49,138,168, 79, 73,151,104,156,120, 90,141,
- 49, 76,203, 68,142, 98,167,232,135,129,113, 58,146,181, 37,174, 11, 70, 75,149,105,172,149,170,186,136, 55,119,183,219,113,251,
-252, 54, 57,109, 28,140, 21,187,198,188, 44,196, 32, 2,165, 24, 35,198, 57,209, 88, 40,141,173,106,134,202,162, 50,236,247,123,
-166,233, 72,152,226,182,153, 65,105,197,176,235,185,188, 60,208,183, 45,151,151, 7,249,253, 54,175, 47,232,171,239,164,174,107,
- 82,204, 2, 97, 53, 13,201,123, 34,158, 72,222, 10,181,140, 95, 22,140, 50,116,195, 64, 33, 19, 67, 96,154,228,128, 11,155, 95,
-126, 89,165, 51,175, 43,183,193,152, 14,103, 52,209,199,171, 12,129, 83, 49, 49, 77, 35,243,188, 0, 95, 91, 19, 49,106, 86, 45,
-133,192, 50, 77,236,247,178, 78, 65, 32,234, 20, 35,174,174, 25, 47, 47,197,186, 21,163,172, 89, 36,217, 46,229, 76, 91, 55, 76,
- 91, 40,134,213, 2, 39,151, 82, 72,169,208,182,150,183,222,173,249, 27,223,254, 26,250, 55,255, 36, 31,254,232,163,188,122,235,
- 83,124,242,209,207,243,171,191,245,187, 60,251,194,139, 92, 59,219,243,218, 27, 55,176,214,242,239,124,199,251,249,129,239,254,
- 46, 14,199,145, 71, 31,127,146,103, 95,248, 50,181, 19,241,161,143, 97, 59,195,132, 10,121,239, 59,223,198,178,122,190,233,181,
-119,243,222,119,190,149,126,104,249,212,163,159,231,209, 47, 60,201,111,127,248,163,156,111, 1, 32, 95,123,136, 31,250,197,101,
-225, 95,127,248, 99,188,255,145, 71,184,235,238,187,121,252,241, 39,248,208, 31,254, 49,159,250,204,103,249,243, 15, 13, 60,254,
-244, 23,121,251,195,111,225, 29, 15, 63,196,239,252,254, 31,240,167,159,127,130,182,169,121,234,139,207,242,210,171,183, 49, 90,
-243,250,251,223,192,155, 30,188,159,123,239,189,151,132,116,226,126,245, 20, 10,117,213, 96,172, 68,131,174,113,165, 36,241, 33,
-175,243, 44, 33, 86, 33,202,133,115,156,112,157, 35,134, 32,231,192, 52, 35, 28,105,166,108,240,190, 13, 14,200,196, 28, 73, 65,
-227, 42,131, 53, 14,133,194,135, 9,133, 98,157, 87,170,166, 38, 3, 37,101,180, 18,248,243,132, 66,234,162, 73, 57, 94, 33, 31,
- 18, 28, 34, 58,147,170,134,101, 93, 40,185,108,130, 52, 79,140,114,161,245, 93,199, 26,196, 17, 16,130, 52, 27,178,103,165,192,
-175,149, 37,153, 72,215,182,172, 49, 80,226,182, 14,138,192,218, 39,238, 56,248, 40,133, 96, 85,161, 96,227,185,229, 34,111,183,
- 98,104,232,132,166,138, 49,108,133,179,132,176,212,117,205,120,220,242, 22,106,135,213,150,202, 73, 65,156, 98, 66,233, 36, 22,
- 83,107, 8, 41, 50, 30, 36, 65, 77,208, 16, 67, 83, 55,232, 86, 75, 71,151, 18,182,178,104,196,109, 1, 66,241,105,160,170, 68,
-215, 80, 85, 82,236,215,109, 67,244,158, 83, 0,211,186,174,228,156,153,231,153,147, 79,223, 7,121,205,211,159, 82, 68,208, 89,
-140, 33,147,113,174,194, 57, 75,201,153,227,241,184,169,210, 45,182,174,168,234,138,146, 50,235,188,210,117, 45,203,186,146,130,
-167,216, 10, 66, 36,110,205,135, 20,233,106,211,167,112,117,158,248, 24, 73, 65,190,183,144, 68,159,224,172, 67,233,194,225,114,
- 2, 37,226,191,166,149,144,176,101,154,229,130, 7,177,236, 38,225,205, 83, 46,184, 90,211,208,177, 76,203,182, 9,180,104,125,
-162, 8, 76,115,216, 82,249,146,228,120,212,141, 52, 53,243,178,108,239, 81, 26,211,227,225, 64,218,186,244,227,113, 60, 37,242,
- 93,105,145,230,121, 33,103, 9,136,178,149, 35,120, 79,229,106,148, 65, 28, 22, 33,147,114,226,218,217, 25, 34, 12, 54, 66,233,
-173, 30,181, 74, 22, 67,240, 43,117,215, 97,182,239, 63,213,219,165, 14,133, 37,136,197,162,105,164, 19,170,235, 26,140, 97, 89,
- 87,186,166,225,242,226, 66,224,204, 32,144,163,209,134, 57, 78,144, 11,203,188,136,128, 32, 74, 74,210, 18, 34,121, 94,216,237,
- 6, 82, 78,212,109,139, 4,139,120,154,166,193, 86,150,121,150, 15,117,191, 27,196,147,152, 51,243, 52,145,147, 36,111, 57, 99,
-240, 25,198,121, 68,109,149, 80,206, 17,103,132,127, 94,125, 32,172, 11, 41,101,250,190,231,120, 56,208,236,119,226,119,212, 16,
-214, 5,138, 66,169,194,181,107,215,160, 40,170,218,177, 70,177, 82,121,239,201, 64,213,117, 28,183,244,186,168, 51,235,197, 5,
-117,221,110, 92, 92,141,179,134, 83,238, 49, 40,241,180,182, 18, 3,153,203,169, 99,151,215, 43,202,144,194,132,206, 18,178,225,
- 20,168,166,226,120,140,228, 40, 11, 45,109,215,219, 50, 47,184,166,218,196, 63,114,153,246, 86,132, 50,189,235, 57, 78, 71, 66,
-240, 76, 37, 49, 79,139,132,240,172, 30, 5,132, 32,138,234, 16, 35,203, 6, 65,245,125,207, 73,128, 88, 59,217,100,139, 95, 41,
- 41, 95,121,106, 79, 62,216, 20, 35,182,174, 57,219,159,113,126,126,206,186,174,132, 16,232,186,238,170, 96, 9, 33,160,140, 8,
-127, 82, 76, 44,179, 92,120,165,104,178,150,203,171,237, 6, 98,136, 44,203,132,219, 14, 22,138, 28, 4,211,178,130, 42,244,125,
- 75,140, 34, 12,242,171,199,181,205,213, 97,218,180, 13,243, 52, 17, 66,144,195,201,106, 82, 73,180,173, 64,123,148,130,110, 29,
- 57,138, 32, 46,103, 9, 89,208,218, 82,181,181,160, 71, 81,214, 68,200,153,174,170,164,131,217,232,133,147,175,159, 40, 86,185,
-121, 94,200, 41, 35, 98, 61,182, 67,121,144,138,127, 19,187,205,243, 66,219, 54,242,115, 74,177,120,207,186, 65,112,165, 20,200,
- 17,231, 68,157,157,179,188,150, 95, 3, 93,219, 64, 73, 24, 85, 72, 40,238,218,195, 27,175, 37,222,250,154,149,183,222, 85,208,
-247,255, 24, 47, 95,140, 4, 63,243, 75,191,241, 91,124,240,163,127, 40,212, 13,112,253,142,107,124,251,251,222,205, 7,222,243,
- 78, 46, 46, 14,220,124,245, 38, 47,190,244, 18, 31,254,248,159,240,185, 39,158,228,165, 87,110,242,245,143,147,128,231,179,143,
- 63,197,127,245,215,255, 42, 63,253, 31,254, 40,119,156,237,121,254,197,151,249,212,103,191,192,199, 62,241, 41,137, 31,254,186,
-199, 93,175,185,206, 59, 30,126,136, 7,238,251, 38,222,253,246,183,242, 67,223,243,157,244, 55, 94,195,173, 23,191,194, 39, 63,
-247, 24,159,121,236, 9, 46, 54,244,233,244,120,228,173, 15,241, 29, 31,120, 47,181,117, 28,199, 35, 23,151, 7,126,234,199,127,
-132, 71,190,229, 73,126,230,127,251, 89, 94,120,233,171, 0, 68, 64, 5,207,119,189,243,109,220,119,239, 55, 17, 66,224,137,231,
-158,231,229,219, 7,142, 27,114, 98,177,172,126,165,113, 21,197, 66,206, 98,115, 21, 8, 90,144,190,182,173, 41, 90, 99, 81,132,
- 53,224,122, 75, 92, 19,174, 50, 40,165,233,235,134, 80, 18,100,232,107, 41,188, 79, 26, 15,173, 13,218, 74, 87, 40,235,201,112,
- 24, 71,134,161,199, 47, 43, 18, 93, 43,235, 66, 25, 89,167,214,218, 45, 91, 96, 97,153, 38, 52, 16,180,208,119, 73,101,162, 95,
- 41, 69,209,184,154,162, 11, 97, 21, 46, 19, 3, 70,105, 81,238,199, 68, 83, 73,180,181,214, 91,178,162,146, 36,187, 82,144,162,
-164,192,225, 40, 5,174, 86, 90,130,123,148,218,130,100, 10, 85, 45,121,251, 49, 4,188, 22,139,210, 48,116,184, 98,168,250,129,
-147, 71,186, 20,205, 73,196,149,115,166, 50,149, 56, 76,116,129, 34, 93,235, 60, 79, 87,235,195,106, 41,170,180,209,114,169, 42,
- 71, 8,145,182,237, 24, 6, 71, 73,210, 53,199,226,101,175, 89, 75,165,229, 44,179,206,210,234, 22,109, 12,117, 91,147, 82,160,
-239, 58,170,166,230,120, 56,114,210, 61,173,171, 52, 32,198,172,236,207,118, 88, 43,186,150,101,145,203, 57, 36, 9,145, 66, 27,
- 86, 37,188,114,101, 45,169, 8,124,158, 67, 4,191, 48,116, 3, 62, 74, 74,163,214,154,174,105, 5,161,161,108,251, 85, 52, 25,
- 33, 69, 86,191, 89, 58, 21, 40, 37, 14,139, 83,158,123,211,212,148, 85,222, 87,101, 12, 90, 59,234, 90,220, 18, 97,163, 44,226,
- 26,168, 43, 71,202,226,243, 62,191,184,144,215,210, 90, 10,178,117, 69,105, 57, 47,155,173,163,134, 66,142, 17, 91, 59,162,247,
-212,174, 66,213,138,117,241,172,203, 34,247, 10,153,182,174, 55,250,192,209, 14, 3,228, 76,218,180, 3,192, 85, 83,165,181,166,
-235, 90,252,102,183, 44, 89,156, 97, 74, 9,189, 97,186, 78,104,131, 8,199,227,145,161, 27, 48,141, 22, 29,145, 21,186,195,175,
- 30,227, 44,148,132,247, 25, 99,165, 17, 77, 49, 97,151,101, 36, 23,216, 13, 59,198,121, 65,107, 81,250, 53, 27, 55, 17, 82,160,
-168, 66,138,158,168, 10,214, 72, 7,187,219,237, 8,126, 37,132,204,116, 60,210, 54,155,117, 68, 27, 60,112,113,121, 73, 93, 85,
- 88,224,114,148, 92,228,148, 4, 14,169, 76,225, 56, 29, 57,142, 35,187,253,126, 91,136,133,227,241,136,209, 26,183,223,211, 15,
-114,112,202,144, 20,203,225,242,192, 41,121,104,232, 7,146,118,228,184,114, 56, 28, 17, 46,220,176, 46,146,240,213,109,139,207,
- 24, 81,151,239,247,123,150,117, 65, 41,205,178,200, 7,105,156, 65, 81, 49, 12, 29,160,185, 56, 63,167, 32,254, 92,101, 20,243,
- 60, 49, 23,225,189,208, 90,132, 16,206,137, 40, 65,201,162, 42, 10,216, 46,146, 94, 21,110, 77, 72,231,170, 53,199,113,164,105,
-123,246,103, 59,114,201, 76,199,153, 97,104, 89,180, 68,106,158, 16,144,144,146, 92, 18,100,200,136, 71,180,106, 41, 69, 44,123,
- 74, 43,129,138,171, 10,171,245,213,166,118,206, 17,151, 21,178,112,245, 85, 93, 1, 10,146, 34, 18, 33, 23,172,214,204,147,160,
- 22,218,138, 18, 60,169,173,227,204,146, 13,238,204,102,231, 41, 5, 69,145,207,106, 89,208,198, 16,214,128,178,162,188,245, 62,
-146,114, 34,248, 21,103, 45, 93,215,160,117,133,209, 5, 99, 78, 65, 34,114, 88,199,228, 25,186,225,106, 17, 27,109, 49,214, 64,
-209,212,181,102,245, 43,106, 85,116, 93,143, 28,233,210, 25,107, 99,152,143, 51,174, 22,231,133, 82,144,148,240,108, 98,109,203,
-204,179,104, 42, 42, 87, 49, 12, 61, 57, 23,252, 52,177,174, 51, 41, 21, 76, 18, 81,224,149,101, 40, 37,226, 34,223,189,182,154,
-182,170,169,183,164, 45,173,244,166, 60, 21, 78,116,153, 34,151, 23,151,160,196,110, 56, 12, 3, 62,136, 98,214,213,162,224, 62,
-217, 93,150,117, 37,248,192,251,223, 92,241,174,123, 39, 6,235,120,195,107,224,158, 42,160,183,247,116, 76, 29, 47,199,111,161,
- 43, 61, 23,183, 95, 32,248,192,127,253,211,127,141,187,239,188,193,207,253,210, 47, 19, 67,226,153,103,159,227,158, 59,111,160,
-141,230,190,215,221, 69,215,222, 75, 74, 35,111,126,240,126,110,222,186,197,229,225,200, 56, 73, 1,112,122,188,238,238, 59,249,
-193,239,254, 78,174, 95,187,198,151,191,242, 50, 74, 25,190,244,229,175, 48,205, 19,215,206,246, 92,108, 41, 86, 0, 15,190,254,
- 94,254,230, 79,253, 21,126,224,187,190,131, 59,206,206,168,234,138,232, 61,231, 47,190,204,227,207, 60,203, 52, 47, 18,136,180,
-117, 21, 39, 36,224,242,120,196, 42,205, 59, 30,126,179,116,248, 47,191,196,115, 47,190,200,229,241,200,245,179, 61, 47,190,100,
-241, 33,114,215,141,235,188,253,225,183,160,141,230,252,252,156, 47,191,244, 50,255,215,255,243,207,241,193,115,239,235, 94,199,
-189,111,124, 35,109,211,209,247, 98, 83, 36, 75,188,174, 40,151, 21, 85,211,225,140, 35,197, 68, 33,211,237,122,198, 75,113,218,
-152, 70,168, 28,173, 69, 8,151,183,245, 20,146, 68,208, 58,163,105,251,142,117, 94, 69,157,159,229,160, 95,203,138, 49, 48, 29,
-143, 82,156,246, 3, 20,133, 15,126, 19, 98, 10,191, 28, 99,100,241,226, 21, 94, 22, 73,236,130,130, 81,208, 52, 29,214,176,137,
- 78, 50,197, 73,116,109, 78, 17, 83, 11,199, 89, 82, 98,216, 13,162, 1,138, 34,122,211, 74, 38, 25, 30, 14, 7,177, 57, 89,205,
-208,247,200,209, 37, 22,215,156,210,134,134, 37, 74,129,121,157, 57, 69,101, 75, 1, 11,211, 58, 35,241,213, 95, 27, 36,210,117,
- 59,156,171,201, 37,161,209, 84,218, 32, 73,124, 2,129,119, 90,179,172, 66, 41, 42,101,104, 20, 20, 37, 9,103,126,163, 0, 82,
-240,196,128,172,249,237, 28, 90, 67, 32,197,136, 49,178,114,167,113,102,216,245,140,135, 17,179,209, 86,166,174,208,218,176, 59,
- 59,163, 36,113,129,172,155,118,167, 80, 56, 30, 39,172,150,192,168, 92,178,164,133, 26,153,144, 38,208,118, 38,229,140, 47, 9,
-208, 88,107,183, 98,165, 48,110,201,154,125,215,139,203,192, 90,214,184, 50, 47,194, 39,119, 77, 75, 85,215, 52,186,101, 89, 23,
-188,143,148,146, 68, 3,177, 93,232, 33, 4,170, 74,132, 98,243,188,112, 76, 19, 70, 11, 21,228,170,154,166,149, 4,185, 53,200,
-192, 37,165, 20,108,116,243, 52, 79,116,117,205,105,162,101, 41, 10,165,197,221, 16,163,248,237, 99,158, 73, 75,162,109,229,162,
-247,147, 80, 19, 41, 23,161, 16,141, 33, 26,153, 15,145,180,197, 21,161, 40, 36,132, 74, 40, 93, 65,117, 4,233, 40, 37,161,148,
- 37,132,133,152, 19,164,204, 98,228, 60,119,206,145, 82,166,219,236,162,107, 10, 16,212,134, 30,104,148,146,156,150, 83,242, 97,
- 81,133,152,164,128, 83, 70, 97, 99,146,240,151,140,168,199,109,109,161, 24, 78, 73, 82,165, 20, 84, 35,161, 22,248,149,166,170,
-176, 26,148, 49,216,174,167, 74, 18,193,184, 6,143,173, 42,129, 91,179, 64, 72,137,196,241, 82, 46,221, 92, 50, 40, 56, 30, 47,
-183,252,228, 68, 55,180, 92,156,159,211,239,118,160,164, 35, 79,171,164, 67,141,227,129,148,228,146, 17, 19,127,123,149,100,229,
- 83,162,105,106,242, 22, 80, 96,140, 40,136,141,145,110,107, 24, 58,206,174,157,161,209,104,163, 24,103,201, 47, 47, 5, 84, 43,
-138,240,152, 11,141, 18,223,187, 95, 60,251,221,142,113, 89,196,146,129, 38, 89, 71,206,133,241, 40,197,132,120,238, 53,174, 54,
-178,201,180,166, 31, 36, 30,181,239, 59,142,203,122, 69, 83,212,109, 79,227, 54,187,220,188,208,180, 13,218, 42, 80, 34,184, 56,
- 45, 74,109,173,216, 4, 55,174, 38,151, 76, 14,137, 84,196, 10,210,181,189,116,163,214, 50,110, 94,110,225,158,165,176,106,170,
- 10,101, 90,150,101,194, 88,115, 85, 69, 23, 47, 42, 75,163, 13, 77, 43,214, 11,163,148,116,238,219,193,161,141, 92,214, 90, 73,
- 66,224,186,174,226, 39, 71,209,118,221,149, 72, 36, 4, 79, 91,183,172,139,132,229,212, 77,195, 60,142, 34, 12,172, 68, 24,216,
-117,110,115, 76, 72, 90, 23, 32,225, 44, 90, 18,202, 78, 17,157,109,219,138, 88,198,214,212,109,131, 42, 98,103,140, 41,161, 80,
-148, 28,105, 59,129,215,115, 41,140,151,194,117, 15,125, 79, 33,179, 44,158,182,105,182, 78, 72, 68,115, 68, 41, 94,188,247,212,
-109, 71, 88, 87, 86,164, 42, 86,165, 80, 53, 27, 84,167,181,168,241, 83, 18,170,160,233,165,120,221,232, 13,165,196,110, 87, 57,
- 75,200,129,130, 34,120,177, 63,174, 97,145,144,163,166, 99, 92, 22,156,179, 92,239, 50, 63,245,157,150,247,220, 7, 77,202,160,
- 2, 40, 45, 69, 93, 41, 92,220,247, 8, 55, 95,221,241,210,205,154, 79,255,139, 95,227, 23,254,249,175,240,233,207, 62,198,159,
-127,252,139,159,253, 71,124,215, 15,127, 31,121,241, 44,175,220,162, 58, 27,152,111, 95,240,235, 31,252, 16,127,248,233,207,252,
-133,231,255, 79,255,224,191,225,111,252,237,255, 28,156,197,191,124,155,188,204, 44, 33,242,192,189,175,227,247, 62,246,199,252,
-201,159, 61,250, 13,207,175,235,154,199,158,122, 6,107, 44,239,123,231,219,185,251,198,117,230,101,225,169,103,159,227, 95,125,
-248,163,124,232, 99,127,196,147,207,126,233,234,249,167, 78,239,153,231, 94,224,119, 62,242, 49,180,214,124,224,145,119,160,181,
-229,241,103,158,230, 87,255,245, 7,121,230,249, 23, 0,168,108,197, 91,191,249, 77, 60,242,240,155,121,199,195, 15,241,213,155,
- 55,121,242,217, 47,241,202,171,175, 2,112,113,121,224,115,143, 63,193,245,215, 92,231,254, 7, 30,228, 45, 15, 61, 68,202, 5,
-163, 34, 68,209,189,100,165,152,143, 35, 69, 43,134, 90,210, 28,179,146,131,239,196,133,215,109, 45,103,136,146, 75, 96,157, 87,
- 10,144,163, 34, 5, 9, 92,177,141,132,245,180,109,195, 41,194,211, 86,162,248, 62,229,229, 27,107, 80,104, 82,136, 44,235,194,
- 48, 12, 12,131,168,168,167,163, 32, 59,185, 64, 93, 91, 80, 90,104,161, 40,185,220,109,215,160,149, 8,164,210,118,102, 26,183,
-165,157, 21,168,235, 10,107, 29,211, 60, 51, 29, 47, 55, 24, 58, 48, 29,103, 64, 75,145,106,149, 64,201,182,194, 25,137,234, 77,
-254,100, 53, 44, 44,222,111,123, 16, 20,154,170,174,183,110, 79,102, 65,156, 60,223,114, 41, 20,172,171,200, 69,120,215, 92, 4,
- 1,177,214, 33,142, 3,133, 50, 14,173, 20,181,171,176,182, 34,165,149,197,139,245, 83, 25,137,110,173,171, 26, 93, 36,166, 24,
- 35, 60,251,105,132,116, 81, 96,180,252,238,101,187,164, 74, 41, 52, 78,242, 72,190, 94, 12,118,106, 82,162, 79,180, 77,135, 97,
- 65, 91,135,164,215,157,210,213,228,115,146,119, 43, 40,134, 4,185, 40,148, 81,196,228,209,186,160,172,102,168, 7,142,151,151,
-164, 20, 25, 39,177,169, 74, 70, 74, 11, 44, 40,156,160,152,206, 18,163, 80,118,199,227, 72, 65, 52, 72,149, 17,222, 57,172, 66,
- 99, 76,211,204, 48,116,244,189, 76,139,204, 69,220, 60,235,178, 72,226,226, 50, 17, 99, 32, 37,241,139,183,181, 80,204, 77,213,
- 16,162, 76,159, 59, 30, 37, 59,197, 90, 67, 53,244,146,180, 89,100,184,215,180,161,171,198, 24, 74,144, 16, 36, 41,144,217,220,
- 59,105,251,221,217,154,164, 69, 40,110,213, 96,146,103,201, 30,149,165,208, 76, 41,115,118,182,219, 10,188,140, 83,154,227,225,
-200, 48,236,240,139,199, 53,142,101, 89,240, 94,246,129,115,142,166,109,177, 70, 80,111,123, 10,116,153,231,153,180, 38,220,208,
- 19, 74, 70,199,196,241, 40, 3, 19,140,171,168,107, 49,222, 31,142, 71,196,150,211,225,106, 43,126,214,174,225,242, 32, 89,210,
-195, 48,176, 4,207,197,225, 2,173, 20,251,253,158, 19,159,149, 74,193,251,149,105,154,209, 72, 37,221,239,119,196,205,251,174,
- 0,229, 28, 57, 38, 98, 76, 84,149,219,146,187, 96,216,237,217,239,247, 80, 10,227, 60, 19,214,149,132, 36,194,181, 91,108,170,
-177,142,182,169, 56, 28, 14, 24, 45,169, 59, 10, 72, 81, 58, 15, 5,148, 2, 93, 63, 48, 30, 71,214, 24,136,211, 66, 70, 81, 43,
- 9,241,143,193,163,173, 97, 77,146,203,219,118, 18,247, 41,156,106, 16,197,245,246,190, 84,217, 14,145,148, 25,250,254, 74, 13,
- 57,206, 35,107, 22, 63,108, 41,133,156, 68,205,106,140, 17, 59, 70, 37, 10, 73,177,214, 72, 98,146, 53, 22,101,149,192, 49,219,
-193,122,250, 66,115, 74, 88,165, 41, 78,186, 69,171,197,147,185, 46, 43, 74,201, 37,178,122,207,176,219,145, 98,228,120, 60, 50,
- 77,147,248,183,151, 64, 63,244, 76,199, 35, 41,137, 5, 45, 39,129,207,250, 97, 64, 89,123, 37,156, 57, 92, 94, 98, 93,133, 54,
-154,218, 57, 66,218,244, 20,165, 80,107, 17,131,164,152, 48,214, 48,141, 35,243,164,216,239,123, 14,135,145,182,105,152,253, 66,
- 94,229,179, 72,101,227,143, 74,161,111, 91, 98,206, 40,109,168, 42,131, 42,133,146,210, 54,192, 97, 19,179,172, 1,173, 45,243,
-188, 82,136,164, 8,206, 74,145, 72,217, 38,175, 53, 53, 10, 69, 78, 34,112, 90,198,133,174,145,148, 44,215,247, 72, 38,118, 35,
-214, 19, 85, 68,195,145,146, 36, 96,229, 44, 67, 63,180, 8,164, 82, 74, 87,175,183,174,158, 82, 64, 27,177,229,117,136, 23, 59,
-165,204,225,112, 65,213, 84,244, 85,135, 82,134,123,110,116,188,235,198,200,143,189,219,113, 86, 59,202,141,215,145,173, 70,191,
-242, 10,229, 43,183,136, 85,197, 87,234, 55,160,226,253,220,184,247, 77, 12,119, 44, 20,227,248,228,103, 30,228,137, 47, 62,199,
- 56,142,236,250,158, 55,220,251, 58,254,254,223,250,207,248, 75, 63,240, 61,164,203,145, 95,251,181,223,228,151,127,243,119,184,
-117,121,201,167, 31,253,220, 95,232,206, 1,222,247,206,183,243,189,223,241,173,228,217,147,110, 31, 24, 47, 46,121,229,230,171,
-188,122,251, 54,255,248, 23,254,111,126,253,119, 63,242, 13,207,191,118,182,231, 45, 15, 62,192,127,240,131,223,207,251,222,243,
- 8,166,174,200,139,231,153, 63,251, 12,191,253, 7, 31,231,131, 31,253, 56, 79,127,233, 27, 85,242, 32,159,245, 59, 30,122, 51,
-143,188,237, 97,154,186, 98, 94, 87,218,166,230,218,254, 26, 55, 94,115,253,234, 82,247,209,115,126,113,201,225, 48,114,113,121,
-193, 27,223,112, 31, 63,253, 19, 63,202, 60,175,252,214,239,127,140, 83,200,210,173, 87,111,113,235,213, 91, 60,249,248,227,188,
-235,189,239,230,190,215,191, 1,219,138,221,203,207, 43,186, 54,248, 53,112,121,184,148, 92,107, 32,248,128,235, 36, 43, 59,103,
-201,222, 78, 41,161,173, 65,226,162,101, 78,117,202,153,180, 6, 72, 5, 99, 28,211, 52, 94,193,166,218,152, 77,140, 36,133, 61,
- 8,197, 24,115, 32, 35, 49,175, 97,245, 84, 93, 77,221,202,224,169,121,158, 89, 23, 67,191,107, 65,107,210, 26,200, 69,214, 91,
- 54, 25,131, 66, 25,131,171,107,150,121,228,242,114,193, 25,139,173, 52, 97,131,144,215, 36, 46, 19,191, 44,104, 45,195, 99,178,
- 47,236,155, 65, 6,176, 88, 13,202,210,181,130,188, 9, 72, 39, 17,187, 74, 21,114, 18, 47, 56, 57,201,197, 92, 60, 37, 21,180,
-115,168,146, 4,149,147, 45,140, 49, 21,114,176, 1,218, 80,215,181,140, 43,206,133,148, 60,243,188, 82, 57,225,239,235,186,193,
- 26,225,106, 37,206, 85,177,174, 51,117,211,110, 40,161,160,115,198, 74, 8, 85,223,119, 68, 31,104,155, 78, 28, 59, 41, 98,148,
-104,116,198,227, 72, 86,153, 97,163, 8,114, 18,136, 91, 25,197, 60, 77, 52,109, 43,162, 49, 43,190,125, 31,182,215,217,146, 49,
- 75,206,168, 34, 73,117, 33,137,107,161,169, 29,110,168, 88,214, 25,165, 4,250,151, 56, 96, 45,168,113,204,120, 63, 97,141, 4,
-152,105, 45,244,104,140, 35,195,110,183,189, 39,177, 7,183,173, 20,107,218, 74, 3,116,210, 35, 20, 4,145,204, 89,220, 6,185,
- 20,240,160,245, 73,151,160,182,130, 77, 16, 6,109, 53,243, 60,211, 53, 13, 77,221,112,138,185,141, 36,142,227, 72, 12,129,166,
-174,232,251,129,197, 47,180, 77,123,229, 30, 82,104,188, 23,100,161,109, 79, 77,169, 98, 24, 58,172,171,176,198, 48,142, 23,212,
-117, 67,219, 89,214,117,198, 41, 71,219, 52, 28, 14, 7,156, 19,159,250,197,225, 64, 93,215, 88,107, 8, 90,232, 41,201,171,151,
-225, 54,235,186,138,107, 73, 11, 2, 98,181,146, 14,175, 20,233,138, 15,135, 3, 37,102,142, 57, 93,101,111, 27,173, 4,150, 36,
-147,139, 92,220, 18,114,162, 57, 28, 15, 88, 39,214, 29, 65,152, 4, 98,234,155,134,227, 56,146,147, 84, 50, 89, 41, 40,112,214,
-247,172, 41,225,140,116,166,151,231,231,128,150,191,148, 36,248, 44,139, 4,234, 55, 77,203,225, 32,208,253,120, 56,224,106, 71,
-219, 13,180,109, 75, 41, 48,175, 43, 49,200, 70, 52,214,178, 27,122,214, 32,202,240,182,107, 25,167, 3, 93,219,209,214,149,116,
-176, 74,145,114, 97, 90, 37,136, 97, 90, 38,170,218,161, 19,172,203,138,117, 1, 48, 44,209, 19, 55,155,135,181, 14,235, 12, 70,
- 89,234,206,201, 4,162, 34,188,134,228,223, 91,118,187, 65, 20,246, 90,102, 4, 59, 91,179, 6,137,239,115, 78, 52, 4, 93,215,
- 49,173, 19,118,131,230,171,170,162,178,150,146, 11,227, 52, 18,194, 74,215,247, 28,143,226, 83, 44,165, 64,150,157, 43, 83,197,
-206,208, 70, 66,125,252,186, 80,148,194,167,136,206, 98,123, 1,117,245,197, 86, 85, 69,211, 84,132,144,168, 54, 71,128,113, 18,
-164, 33,155, 42, 50, 77, 19, 23, 23, 23, 24, 99, 56,219,237, 36, 62,181,239,241,193, 67,130,160, 37,146,240,226, 98,196, 90,187,
-189,190,112,181,251,221,142, 49, 28,183,234,117,150, 3,204,123,186,182,231,152, 15, 24,107, 37,145,204, 89,148, 50,130, 94,184,
- 90,166,172,117, 29,199,233,136, 49,142, 97,232, 56, 30,142,212, 69, 16,131,156, 18,117,237,208,186,102,158, 71,180, 21, 65, 93,
-201, 17, 52, 76,231, 2,211,233,124,117,166, 49,109, 7,231,126,183, 99, 90, 60, 70, 41,169,160,173,165,169, 20, 57,109,246, 30,
-107, 33,103,166,101,197,110, 48,155, 82, 66,109,156, 82,169,156,117,164, 32,195, 34,172,214,226, 58,200, 82, 60, 93,235, 50, 63,
-246, 78,203,183,127,179,165,243, 53,186, 36, 74, 72,112,235,166,160, 12,222, 51,229,138,231,185,135,179,251,191,139,238,218, 3,
- 28, 94,126,137,227,120,228,231,127,233,255,229, 23,127,229, 55, 56, 61,238,184,118,198, 7,222,253, 46, 94,119,231,157, 92, 60,
-251, 2,227, 60,227,172,195,123,207, 31,252,209, 39,248, 55, 61,254,214, 95,255,171,252,195,191,255,119,192, 90,210, 52,179, 78,
- 51, 77, 83,241,224, 91,222,196,240,194,139, 60,245,236,115,127,225,103,206, 47, 46,121,219, 91,222,196,219, 31,250,102, 20,112,
-124,245, 22,175,222,186,205,135,254,232, 19,252,220, 63,251,229,205,226,245, 23, 31, 49, 70, 62,251,196, 83,116,109,195,107,206,
-206,184,227,218, 25,247,220, 37, 20,193, 61,119,221,160,239, 90,198,105,230,245,247,220,195,127,249,159,252, 53, 30,121,248, 33,
-142,211,196,241, 56,113,199,181, 59,248,193,239,254, 75, 60,253,165,231,121,236,169,175,169,233,187,182,225,117, 55,238,224, 53,
-117,197,251,222,120, 31,174,174,249,252,243, 95,225,118, 6,140,162,100,133,210,194, 47,158, 68, 64, 49, 36,214,197,147,138,240,
-155,107,240,148,176, 77,135,171,182, 97, 29, 81,132,187,203,178,160,149,116,255, 69, 65, 81,154,146, 37,180, 38,100, 25, 92, 18,
-130, 36, 73,106, 20, 93, 91, 51,142,210, 92, 40, 20,222, 47,168,109,152,145,213,138,184, 74,112, 83,211, 54,228,101, 19,188,101,
-205,154,162,136, 85,139,136,137, 83, 22,111,247, 26, 60, 33,129, 42,133,221,208, 75,103, 90,164, 91,107,173,219, 92, 37, 50,137,
- 44,173, 98,245, 50,219, 58,148, 64, 39, 69, 57, 45,106,228,142, 6,168,107,141,179, 53,206, 34,103,138, 95, 81, 40, 92,229,208,
- 74, 11,165, 16, 37, 42,213,108, 5,122, 12,129,170,174,153,166, 85,172,170, 74,248,246, 70, 55, 50, 43, 98, 24, 40,136,143,188,
-223,237,164, 65,202, 25, 74,194,105, 77,204, 17,163, 42,146, 42,164, 20,129,250,170,123, 79, 74, 97,180,228,150,199,224, 57, 63,
-191,184,210,234,244,189, 97, 60, 78,116,109,199, 60,207, 80, 50,211, 36, 65, 65,183, 76, 24, 0, 0, 32, 0, 73, 68, 65, 84, 58,
-125,215,225,189,199,185,138,186, 50, 27, 58,166,229,245, 5,196, 20,196,210, 90, 98, 72,164,184, 16, 98,194, 57, 72,113, 97,161,
- 48, 12,123,180, 22,228, 77,105,177,255,230, 34, 9,122, 57, 23, 74,129,101,145, 6,101, 26, 71, 41, 44,198,137,170,174,175,206,
-197, 83,192, 77, 78, 1,175, 4, 37, 57,219,237, 48, 70,163,181,196, 97, 43, 99, 40,169, 48, 45, 51,165, 72, 33, 56,206,147,232,
-162, 38,185,155,208, 66, 25,150,156, 69,183,177, 21, 10,199, 44,130,198, 28, 19,198, 9,122, 19,151,192, 33,172,236,207,174, 1,
-138,227,225,128,210, 26,219,183,116, 93,199,197,197, 5, 80,228, 94,181,154,241,242, 64, 74, 65, 40, 89,165,160,228,237,123,148,
- 28, 13,153,148,151,175, 80,193,170,138,204,179,136, 23, 55,159,122,198, 20, 69,200,146,105,222,212, 13,199,229, 2, 5,140, 23,
- 23, 20,165, 64, 11,116,234, 83,164,171, 43,206,207,207, 49,198,208, 13, 18,112, 95,138, 40,133, 47, 47, 46, 64, 41,138, 82, 28,
-130, 84,173,231,231,231,210,169,107, 33,242,135,253,158, 90, 59,198,105, 38, 38,169,152, 41, 25,163, 43,114,242, 28,143, 35,125,
- 63, 72,172,171, 54,236,119,123,230,101,198, 58,241, 84,250,101,193,184,138,195,197, 57, 17, 9,186, 57, 13, 21,161,192, 58, 47,
- 91,110,116, 32,167,194, 97,156,168, 93,197, 56, 45,148,146, 25,250, 29, 62, 6,146,201, 52,117,139, 42, 26, 83, 27,218, 78,108,
-123,218, 24,230,113,102,191,219, 70,156, 82, 80,106,207,186,206, 24,107,216,157,237, 9, 94,108, 24, 98,203, 74,172, 94,236, 84,
- 70, 27,166, 60,162,148, 98, 63, 12, 92, 28, 15,172,171, 92, 58, 90,159, 66, 38, 36,148,102, 28, 71,230,109, 51,149, 34, 67, 31,
- 98, 22,206,166,100,233,166, 87,191,110,126,223,196,178,206,210,101,132, 72, 76,137,170,170, 24,186,142,101,153, 89,102,225, 24,
- 21,138,170, 18,109,131,143, 18, 80, 83,185,147, 79, 52,178,230,149,156,133,131, 58,113,167, 41, 37, 22, 47, 30, 72, 31, 60, 86,
- 91,198,121,102,208,157, 76,145, 67, 44,133,107,248,218,137, 19,115, 20, 77, 69, 8,104, 91,208, 70, 98, 16, 11, 74, 6,164,228,
-196,180, 44,148,109, 3, 85,117, 13, 74, 83, 55,213, 85,238,248,233,247,168, 27,153,132,135, 2,137,151, 44,236,135, 29, 90, 73,
-108,235,126, 63,112,113,113,206, 50,206, 84, 85, 77, 34,145,148, 98,104, 58,148,145, 66, 64, 91,187,217,233, 44,206, 90, 80,176,
-204, 19, 71,239,233,123, 17, 99, 94, 33, 62, 91, 0,142, 76,174, 42, 84,181,132,140, 88, 93,161, 43,197, 60,206,180,189, 84,213,
-175,237, 51, 63,248, 80,197,183,222,185,114,255,189, 6,188,162,172, 9,102,225, 79, 49, 25, 85, 70, 80,154,155,241,140,151,219,
-215,115,215, 91,191,151,186,191,155,207,253,233,167,121,226,169,103,248,224,199,255,136, 95,252,149, 95, 7,132, 94,186,231,181,
-119,241,200,195,111,230,123,191,253, 3, 60,240,250,123,169,155,154,118, 24,120,239, 59,133, 82, 80, 74,241,187, 31,251, 56,126,
-131,101,251,182,229, 13,247,125, 19,199,105,228,201, 39,159,230,222,123, 94, 75,240,146,250, 88,183, 53, 47, 62,243, 69,254,231,
-255,253,103,249,194,211,207,202, 97,167, 20,168,194, 59, 31,122,136,191,247, 55,255, 83,126,224,135,191, 31, 20, 28,190,242, 10,
-143, 62,254, 36,143, 61,245, 52, 47,189,252, 50,103,195,142,101,125,149,255,191,199,208,201,232,201,182,149,241,186, 63,255, 75,
-191,202,239,253,225, 31, 51,207, 51, 85, 85, 49,110, 41,137, 31,251,196,167, 24,231,145, 7,238,189,143,167,158,125,142, 63,125,
-236, 49,158,122,230, 75,146,250, 88, 73, 22,124, 41, 82,172,223,123,207, 61, 60,252,166, 7,184,231,206, 59,121,235, 55, 63,200,
-143,252,224,247,243,248,151,159,231,247, 62,242,113,158,120,238,203,164,252,181,105,125,187, 97,199,225, 48, 98,173,162,111,123,
- 66,137, 80,100,112, 80, 41, 34,168, 90,147, 80,111, 90, 43, 92,213, 96,141,172,205, 18,229,162, 46, 90,206,196, 83, 34,160,173,
-106,161, 17,129,130,204, 36, 88,214,149,156, 18, 49, 23, 42, 85,216,237,122, 82,150,225, 35, 33,120,201, 37, 87,146,247,109,148,
-218,132, 78,176,172,146,141,208,110, 80,168, 49, 6,171,229,117,231,105,166,105, 27, 98,242, 40, 36,183, 62,205, 51, 40,144, 9,
-133, 3,243, 56, 51,251,121, 43,192,155,173, 33, 74,104,109, 41, 5,208,144, 98,100,245, 1,175, 61, 20,177,196,182,117, 75,161,
- 16,124,192,182,142,206, 52,228, 92,200,136, 7,221, 85, 98,255, 61, 28, 46,233,218,118, 27, 42, 36,151,194,229,241,128,210,138,
-121,153, 57, 13,204,210, 40,218,182,147, 16, 39,107, 57,140,163, 32,105, 38, 49, 30, 71, 26, 39,123,182, 27, 6, 98, 10,130,243,
-111,154,163, 16,100,141,166, 32,197,139, 95,101,110,252,241,120,196, 56, 75,215,180,104,157, 8, 49,112, 88, 38,249, 30, 74, 70,
- 33, 99,172,141,134,213,123,249,255,101,113, 34,185, 74,214,156,100,168, 11,157, 41, 42,242,194,120, 28,233,182, 65, 93,166, 8,
-154, 42,243, 57,182, 88,106,242,118, 46,173, 44,139, 68, 8, 91,231,152, 54,235, 25, 74,214,118, 41,210, 52,157,210,250,244,233,
-143,150, 39,200,153,109, 25,186, 14,144,252,248,190,237, 8, 57,162, 74,133, 82,194,201,155, 78, 6,192,204,235, 74,109, 12, 96,
-153, 87, 79, 73, 11,103,103,215, 40, 37, 9,215, 94, 27,234,186,103,154, 23,161,158, 11,146,244, 87, 78,235, 83, 4,146,211, 56,
- 74,128, 87,201,144, 53,198, 74, 70,137,247,158,224,165,152, 80, 74, 83,146,248,218, 83, 18, 61,214,178, 44,180,109,127,213, 64,
- 90,173, 21,205,208, 19, 47, 47, 56, 30, 70,218, 93, 79,177, 14,165, 21,172,146, 6, 84, 98,102, 58, 28, 80, 86, 51,229, 45,154,
- 48, 22,226,154,100,226, 80, 57,213,149, 50, 37, 41, 1,227, 81,248, 93,245,117,255, 77,163, 88,167,137,152,243,150, 92,150,113,
- 78, 14,225,202, 90,148,178, 76,243, 81,132, 39,201,179,219,239,177,149,101, 87,237,201,165,112,188,156,200, 42,163,214,109, 8,
- 76,145, 46, 93, 25,131, 81,134,148, 19,187,173,219,173, 93, 67,221, 9, 63,149,115,164,169,106,142,179, 92,164,218,106, 32, 83,
-148, 70, 41,225,117,151, 84,104,109, 35,155,201,157, 68, 32,133,184, 65,235, 85, 37,179,116,143,135, 3,148, 66, 55, 12,114,128,
-110,149, 23, 74,209, 15, 59,148, 18,126,106, 89, 23, 42,109,177, 77, 37, 29,174,146, 56,217,130, 92,164, 49,137, 88, 38, 43, 69,
-163, 53,167, 73, 86,203,188,160,138,217, 20,204, 18,138,209,245,131,164,137, 21,104,235, 26, 91, 85,144, 36, 16,198,106, 25, 7,
-154,115,161,174, 68,165,125,121, 57,110,138,109, 81,107, 79,199,163, 84,180,195, 32,144, 18,112,154, 88,230, 87,177,138, 5, 91,
-209,182,205,213,160,141,227,241,200,181,107,123, 74, 17, 4, 32,167,194,238, 76, 40,135, 16, 2,231, 23, 7,250,190, 69, 83, 67,
-214, 52,125, 43, 21,168,218, 56, 71, 10,130, 8,138,199,126,153,103,246,251, 61, 86,107, 50, 21, 41, 36,129,218, 75, 6, 52,117,
- 37,190,252,117, 93,185, 56,140,236,119, 61,181, 18, 75,165, 49,142,152, 10,139, 95, 57,141,223,205,186, 72,133, 92, 10,172, 43,
-195,126, 71,152, 87,252, 38,250,171,171, 10,215, 72, 90, 98, 12,146,220,103,140,227,242, 32,200, 67,219,116,132, 36,194,190, 98,
- 97, 58, 92,136,230,160,170,176, 42,242,147,239,179,252,123,239,210,148,100, 64,237,200,179, 71,251, 21, 85, 89,178,219,222,157,
- 85,228,221, 53, 94,189,254, 8,183, 94,120,149,179,235, 15,226,154,235, 60,246,153, 79,243, 39,127,246, 40,255,228, 23,255, 25,
-159,127,234, 25, 0,238,190,241, 26,254,199,127,240,119,249,206,247,191,143,235,247,223,135, 50,138,226, 3,235,171, 23,252,204,
-255,250,127,240,191,252,147,159,227,207, 63,238,184,118,198,127,241, 87,126,130, 31,255,161,239,231,129, 55, 62,128,170, 37,224,
-132,148, 73, 62, 16,231,137,103,191,244, 2,175,220,250,154,143,189, 20,161, 59,222,242,166, 7,105,155,154,231,159,248, 34,119,
-222,184, 3,231, 12, 15,189,241, 65, 66, 8,124,232, 15, 63,193,203, 27,239,125, 42,238,100, 45,203,207,131, 4,219,252,229,127,
-247,251,120,255,123,222,133,247,158,203,241,200,231,159,120,138,147,242, 25,224,181,119,221,224,189,239,120, 27,119,221,184,206,
-115, 47,188,200,111,126,240,195,124,242,115,143,113,126,241,231,237,116,112,235,246, 57,207,124,233, 57,222,254,240, 91,216, 15,
- 29, 77,211,146,166,137,215, 53, 45, 28, 39, 62,247, 39,159,228,114, 90,120,251,123,222, 69, 63, 12, 44,235, 74,219, 85,104, 52,
-227,186, 32, 88, 81,129, 36,130, 74, 63, 77,212, 70,198,207, 30,189,167,114,154, 16, 69, 89, 28,131,167,239,100,188,168, 82, 22,
-171, 11, 37, 73,103, 88, 85,142,195, 56,162,129, 98, 45, 37, 5,188, 47, 91, 98, 96, 34,248,136, 15, 17,163, 34,221,208, 98,115,
- 6,148, 12, 28,242,129,147, 21,202, 57,241, 79,135,224,145,184, 86, 77, 91,203, 44,108,109, 44,199,203, 75,208,154,174, 23, 91,
-174,213,150,197,139, 77, 83, 41,233,180,109,101, 24, 71,201, 33,151,238, 79, 67, 22,218,165,169, 27, 98,201,164,144,168,156, 5,
- 83, 40, 74,115,156, 70,132,111,151,125, 93,144,121, 28,186, 8,218,121,226,221,171, 74, 70, 4, 55,109, 69, 78,133,233, 56,109,
-105,137, 5, 31, 18,235, 58,137,103, 61, 4,228,195, 80, 28,143, 19,251,205,135,126,121,126, 1, 25,102,191, 10,221, 87,215,172,
-139, 80,146, 14,209,170, 24,187, 9,167,183, 46, 21, 64, 39, 69,107, 91,150,105, 98,154, 70, 20,226,115,215, 90, 34,172,115, 76,
-152, 74, 19,252,204,236, 35,117, 35, 3,166,198,241, 40, 78,148, 34, 35,185,115,201,244, 85,133, 53, 21,117,237,160, 40,198,105,
-186,202,239,119,206,145, 75, 98,158, 37, 68,172,170,220, 21, 31,174,181, 3, 78, 19,227, 36, 9,206, 56,135, 46,130, 2,105,180,
- 76,164, 92, 3, 57,205, 24, 35,137,109,199,105,197, 25,203,186,174,180,157,101, 9, 1,103, 29, 57,203, 57,102, 53,216, 10,185,
-116,183,142, 94, 27,131,179, 13,147, 95, 72, 65, 70, 21, 31,143, 71, 78, 97,110, 57,139,254,107, 89,102,138, 42,140, 99,160,170,
- 28,117,101, 57, 78, 71, 74,136, 40,197, 21, 29,224,106, 73,244, 52, 86,206, 62, 17,124,107,230,101, 22, 91,107, 86,164, 28,169,
-172, 97,241,137,176,174,236,207,206,174, 32,127,103, 45,118, 93, 36,253, 38, 3,205,208, 50, 29,133,195,204, 81, 20,128, 25, 73,
- 69,194, 85,212, 77,131,247, 11,109,221,110,202,248,196,225,112,201,110,216, 49,244,195,214, 81, 59, 42,163,169, 43,203, 41, 8,
- 38,229, 76, 74, 30, 91,213,164, 20,169,148,145, 3,180, 51,196,148,152,150, 9,191,172,104, 37,234, 73,165, 1, 52,227, 56,177,
-219,248,217,101,155,118, 37, 97, 56, 10,173,183,142, 86,101,153, 1,174, 50,203,180,178, 44, 1,165, 12, 40,152, 22, 17,246, 93,
- 94,142,164, 44, 67, 1,140,211, 50,194,111,241,100,157, 89, 54,107, 73, 51,244, 88,165,208, 89,212,162, 80,182, 74,106, 75,188,
- 75, 69,194, 91,140, 38,249, 32,213, 46, 26,114, 70, 89,135, 42,162,238, 76, 49,160,109,139, 53,110, 67, 2, 16,191,253, 58, 11,
- 47,142,228,123,167, 16,208,117, 77,152,103,162,214, 87,220, 31, 64,201, 34,242, 82, 74,161,149,120,172,141, 54,204,147, 4, 4,
- 41,165,112,206,110,127,182, 60,119, 43, 80,222,186,174,104, 35, 83,156, 98,220, 2, 86,106,153,114,116,242,235, 78, 33,208, 84,
- 50, 6,215,135, 81, 54, 83,222, 38,245,109,213,236,110, 55,136, 5,204, 90,170,170,190,250,247,171,151, 89,229, 10,152,166, 85,
-160,113,165,112,174,161,235, 6,142, 71,225, 69, 97,235, 26, 41,176, 9,251,230, 89,102, 34, 39, 47, 27, 74, 27,136, 62,138,101,
- 17,141, 41, 80, 87,194,225, 94, 92, 94,176,219,157,201, 28,246,173,227,111,154,134,174, 21, 24,106,252,255,216,122,243, 96,203,
-174,235,188,239,183,247, 62,251,140,247,190,215,243, 8, 52, 26,141,110,204, 64,131, 24, 72,144, 0,193, 81, 52, 69, 81,148,168,
-145,182,134, 40,113, 41, 42,185, 34,217, 41, 39,170,164, 28, 87, 69,142,147,114, 85, 98, 59,169, 68,174,114,201,209, 20,107,178,
- 53,144, 18, 41,113, 6, 8, 18, 0, 7, 8, 2, 65, 12,108,128, 64, 99,234, 6,208,221,232,215,239,222,123,230, 61,228,143,117,
-222, 3, 96,250, 84,113, 68,247,125,247,221,123,206, 94,107,125,235, 27, 26,209,126,202,251,104, 25,186,126,155,195,224,198,145,
-193, 57, 34, 50, 69, 68,132,240, 99,173,163, 40,242,237,201, 34,177, 26,180,162, 29, 6,178, 36,135, 12,246, 21, 43,254,235,119,
- 5,174,217, 99,137,151, 34,106,247, 28,130, 3,183, 32, 38, 26,148, 69, 49,194,224,248,198,131,103,217,247, 3, 63,140, 59,183,
-137,214, 5,243, 67,215,113,246,165,151,248,214,183,159,224, 11,247, 63,176, 77, 64, 59,176,119, 15, 63,247, 99, 63,204,137,163,
- 87, 80,150, 37,238,210, 2,101,196, 49,235,137,167,159, 97,209,172,216,191,123,247,118,161, 5,216,179,115, 7, 31,251,208, 7,
-248,145, 15,127,128, 99, 39,142,161,172,232,237,197,114, 86,164, 89, 58,205, 40,203,156, 52, 77,120,243, 85, 55, 45,127,254,217,
- 47,242, 43, 63,255,247, 56,124,244,114,158,120,236, 9,254,252,115, 95,224, 47,191,248, 21,102, 69,206,139,103, 95,221,254,126,
-182,138,120, 84, 64,136,236, 88, 91,227,189,119,189,131,219,110,188,158, 29,235, 59,216,220, 92,242,204,233,211,164,169,229,192,
-222, 61,156,125,237, 28,243, 89,197, 39,126,228,135,248,129,187,239,132, 8,143, 62,249, 52,247,127,253,155, 60,246,212,211, 44,
-235, 55,152,247, 91, 87,154,166,216,196, 80, 20, 5,235,179,138,168, 20,103,206,158,229,209, 39,159,230,171,223,122,152, 51,175,
-158,163,109, 59, 94,122,249,101, 94, 62,123,150,131, 7, 15,114,226,186,107, 56,124,249,229,140,131, 68,226,162, 21, 86,137, 95,
-118,156, 26, 98, 16, 20, 40, 70, 73, 16,140, 62,128, 17, 73,217,170,150,231, 77, 43, 4,102,215,145, 60, 21,185,106,145,229, 19,
-251, 58,144, 38, 25, 16, 88, 53, 43, 20,154, 68, 27,108, 42, 70, 55, 66,230,138, 40,132,100,103,115, 49,142,217, 34,132, 90,107,
- 72,173,248,148,135, 40,132, 97,155, 73, 18, 95, 63, 12, 84,185,236,113,179, 34, 67, 43, 72,130,197, 36,210,136,128,194, 57,105,
- 88,203, 82,200, 88, 38,136, 74,197,121,153,208,209, 18, 56,212, 59, 71, 28, 2, 40, 71, 54,153,215,228,105, 38,182,171,222,177,
- 88,136,173,247,214,119,186,117, 73, 91,189, 53,153, 74, 42, 96,158,151,104, 45, 67,148, 73, 69,117,128,146,231, 46,157,149,248,
- 81,156,251,202,170,218, 62, 95,165, 1,111,145,224, 21, 61,169,131, 90,114,155,139,161, 13,122, 34, 90, 27,162, 66, 26,136,121,
-133,243, 35, 90, 27,178, 16,145,212, 77,177, 78, 70,139,220, 56, 4,249, 89, 49,200, 89, 55,155,205, 38, 63,141, 64, 58,161, 6,
- 32, 8,215,208,119,204,170,146, 40,197,129,197,114, 65, 8,242,251,229,105, 37,107,182, 52,161, 27,122, 50,147,178,182, 38,131,
-160,235,123, 76, 46,225, 54,222,129, 81,242, 93,101, 89, 34, 42,166,152,208,182, 13, 27, 27, 27, 50, 88, 86, 98, 97,189, 92, 46,
-201,210, 68,108,130,179,140,229,106,177, 61,188,110,253,123,140, 32,201,160,130,182, 10, 34, 45,107,187, 85, 93,131,138,178,222,
- 81, 18,129,171,148,160,213, 74, 41,234,122, 37, 18, 58,221,179, 92, 44,169, 74,177,150,110, 27,217,223,183,157, 36,252,205,102,
- 57,227,232,153,175,173,177,149,121,191,121,233, 18,237, 36,209, 83,218,176, 88,174,208, 74, 56, 82, 49, 70,146, 16,133, 53,104,
-210,148,209, 59,230,235,235, 52,181,164, 46,229,169,196, 55,110,214, 53,120,135, 81,138,249,108, 78,223,247,219,153,221,214, 90,
-218,190,167,202, 10, 76, 34, 55,109,211,182,228,105,142, 74,164, 9,204, 18,133, 66, 14,220,205,197, 38, 99,240, 68, 38,242, 73,
- 8,168, 56,201, 91,178,148,174,237,229,129,201,115,252,232,169, 17,104, 43, 77, 38,121,210, 56, 78,187, 17, 79, 64, 88,140, 97,
-236,132, 48, 17, 29,243, 82,220,129,154,166, 65,163, 88, 76,208, 88, 89,148,212,109, 77,215,120, 98, 1,214, 26,182, 28,200,194,
- 48, 80,111, 46,104,181, 24,164, 24,173, 72,178,124,210, 72, 7,180, 30,100,226,115,146, 59,173, 67, 36,120, 97,201,118, 93,199,
-250,108,141,110, 16,246,123,235, 90, 49,218,232, 69,239,104,180, 33,207,196,148,224,210,230, 38, 97,130,219,203, 82,172,121,183,
- 46, 73,143, 50, 88,173,104,251, 17,241,117, 7,148,194, 40,205,250,218, 58, 74, 79,193, 18,185, 76, 36, 62, 4,180, 23, 75,210,
-224,197, 45,206, 90,195, 86,182,186,181,150,174,219, 10, 31, 8, 84,133, 48, 58,213, 52, 17, 43,165,100,218, 54,102,155, 81,239,
-156, 20, 89,173,196,234,114,121,233,210,212,220, 64,150, 21,244,189, 4,238, 40,196,155,158,152, 97,140, 28, 36,117,189, 98,190,
-182,198,170,174,201,178, 76,224,116,132,209,169, 38, 68, 97,181,170,113, 78, 10,109,153, 87,140, 40,108, 98, 89,174,150,116, 81,
- 14,209,188,200,233, 58,199,114,177,160,172, 42, 57,112, 50,113,233,138, 74,160,199, 52, 77,145, 88, 77,152,205,103,184, 65, 28,
-154, 86, 19,188,175,144, 3,206,102,217,118, 7, 27,167, 41,110, 24, 71,186, 81,116,255,193,123,114,171,216, 85,141,124,236,100,
-194,251,142, 21, 36,157, 34,246,129,179, 79,156, 33, 15,103,217,153,143,168, 99, 7,224,208, 62, 65, 32, 22, 11, 22,249,110,102,
-215, 92, 70, 95,119,172, 95,254, 54,230,251,175,225,225, 7, 30,228, 87,254,233,255,194,119,159,125,110,251,123,125,219, 13,215,
-241,203, 63,247,119,121,199, 45, 55,177,107,215, 14,204,196,163, 0,143,178, 9,187,119,237,228,226,197, 13,206, 95,124,163,160,
-231, 89,202,190, 61,187,184,235,246, 91, 57,126,236, 24,218, 36,196,137, 21, 91,111, 46,249,206,119, 79,241,189,231, 95,228,161,
- 71,190,205,103,190,116, 47, 77, 43, 92,135, 60,205,248,196,143,124,132, 95,251,229,191,207,190,195,135,136, 49, 18,250,129,203,
- 14,237,231,151,126,230,167,249,201, 31,250, 59,124,252, 23,255,225,182, 49,205, 86, 65, 7, 4, 86, 5,174,188,252, 48,215, 95,
-117, 37, 71, 47, 59,196,198,230, 38,159,255,234, 67,124,254,254,175,114,118,210,165, 3, 44, 87, 53, 95,250,234,131,236, 90, 91,
-231,248,209, 35, 20,121,198,162,110,196,175,127,122,205, 55, 55, 12,214, 24,110,190,246,106,174, 59,113,156,181,249,140,113, 24,
- 33, 77,217,191,119, 55,207,191,248, 18, 15,127,231,201,237,215,142, 33,112,246,204, 25,234, 75,151,216,124,253, 34, 87, 28,187,
- 18,180,164,193,245,221,128, 81,129,118,232,168,202, 10, 55, 72,200,140, 27, 70,146, 76,178, 3,210,196,226,124, 96, 94, 85,140,
- 78,154, 88,157,200, 52,185,197,184,142, 17,113, 32,116, 35, 33, 6,114,155,137, 9,201,224, 17, 77,187,192,179,110,240,216, 44,
- 17,123,213,224,161, 11,100, 89, 49,173, 30, 60, 67, 55,144,230,162, 83,223,220, 92, 18,163,167, 40, 43,154,118, 41,204,112, 37,
-169, 95, 49, 10, 59,186,170,230, 16, 3,193,139,185,141,209,134, 44, 19,205,184, 82, 26,147, 37, 44,150, 43, 82,107,201, 11,121,
-221,190,149,208,168,188,156,166,211, 0, 19,248, 69,219,182,211, 68,184, 37,143,139,178,115, 69,209,214, 53,179,249, 12,130,168,
- 9,162,243, 52, 93,139, 54, 17,162,146, 51,120, 84,219,106,149,209, 9,159,197,123,143, 86,147,139, 92, 84, 56,239, 41,179,156,
- 52, 17,195, 46,231, 35,122,154,204,157,147, 1, 67, 27,153,126, 19, 35,100, 47,173, 53,195,216, 97, 84, 66, 91, 55,228, 69,137,
-119,146, 99, 46,136,153, 38, 70, 69, 86,164, 2,145,235,200, 86, 12,243, 86, 28,112, 36, 78,228,176, 4, 63,142, 16,197, 8, 44,
-120,113,251,200, 38,137,221, 48,200,185,220, 14, 45,243,100,206,208, 59,188, 26,197, 37, 53, 72, 50,220, 27,247, 86,164, 31,251,
-169,168, 54,132, 0,202, 32, 83,250,106, 69, 63,142, 36,206, 17, 35,100,137, 37, 68,200,172, 33, 68,143, 73,100,125,154, 76,171,
- 28, 65, 1,228, 61, 37, 86,179,213, 74,133, 16, 89, 95, 91,103,244,227, 36,143, 85,132,232,184,116,105, 19,163, 64, 41,195,108,
-109,182,141,164,224,165,193,234, 7, 73,107, 76,179,148,101,211, 78,171, 30, 25,150,138, 92,118,253, 33,136, 17, 90, 98, 19,218,
-118, 96, 54,159, 73,115,138,120,166,172,150,203,137,111, 50, 25,221,163, 69,231, 45,123,141,140,170, 44,209, 74,227, 93, 96,199,
-124, 78,221,214, 20,149,192, 55,117,221,160,181, 20, 1,107, 45, 67,219, 81,229, 5,107,107,179,109, 88, 87, 41, 69, 63, 72,183,
-177,182, 86, 1,134,182, 93,177, 54, 95,131, 8, 18, 77,234,229, 33,155,122,159,182,235, 65, 13,104,109,240,195, 72, 81,202, 3,
-209,247, 98,144,176,213, 17,197, 32,118,172,209, 57,172, 77,137,169,102,115,115, 19,165, 12, 0,202, 24,102,179, 57,132, 40,164,
-153, 40, 55, 97,150,102,211,135,175,216, 92,174,112,125,135, 14, 66,160,211, 89,134, 26, 6, 34,194, 79,235, 59,137, 38,213,137,
- 48,162, 99, 16,147,253, 36,205, 73,109,202, 98,115, 65,235, 70,202,181,117, 48,122,123, 58, 13,132,237, 29, 77, 85,202, 36,233,
-189,103,177, 92, 18,188,167,170,100,103,183, 92, 46, 33,200, 20, 83,228, 18, 87,155,230, 37,109,219,145,151, 37,169, 78, 8,136,
-141,160,210, 66,112, 75, 72,152,205, 10,252, 4,167,165,105,138, 73, 51, 92,211, 96,140,194,251, 64,149,206, 80,106,171, 59,151,
-207,203,251,136,197, 79, 77,128,236,121,242, 9,110,212, 74, 77,138, 6, 43, 55, 96, 8,136, 1,198,140,118, 37,145,185,198,136,
- 20, 72, 60,157, 75,162, 18, 75, 78,165, 20,194, 12, 86,216, 60, 35,207, 83,218,166,193, 40, 89,141,244,110, 36, 75, 68, 59,218,
- 15,194,151, 40,203,140, 36,149,239, 46, 68,208, 90, 96,195,170,170, 88,173, 86,204,183,164, 34,137,232,205, 21,226,157,221,118,
- 29,105, 50, 77,164, 74,227,156, 16,243, 0,154,182, 38,120,249,121, 85,158, 19,213, 27,144,178, 24,131, 72, 56, 13, 94, 14,176,
- 60,149, 88,198,181,194,243,225,183,205,184,235,202,192, 94, 27, 72, 19, 13, 94, 11, 1, 46,135, 67, 55, 31, 36,158,222, 68,101,
- 21, 95,123,240, 5,222,125, 83, 2, 23, 94,230,124,109, 57,187,127, 23, 59,111, 60,201,142, 35, 55,163,109,201,165,151, 94,230,
-244,139, 47,209, 13,111,144,207,126,246,227, 31,227, 31,253,226,207,115,228,138, 35,130,148,116, 61,193, 75,144,199,165, 75,155,
-252,245,125, 95,229,223,254,251, 63,222, 38,185, 89,147,112,229, 21,151,177,123,199, 58,239,185,243, 29,220,118,211,117,160, 32,
- 70, 15, 83,135,159,165,150,203, 14,236,227,197, 51,103,153, 87, 5,235,107,243,237,162,222, 13, 61,159,250,252, 23,249, 7, 63,
-255,119,217,171, 21,190,233, 25,250,142,182,237,216, 92, 46,177,198,242,107,191,252, 95,241, 47,255,237,111,111,155,218,108,195,
-239, 26,110,189,225, 6, 78, 28, 59,202, 16,132,159,177, 99,190,198,109, 55, 94,203,114,185,224,161, 71,190,205,217,215,206,113,
-232,192, 62, 62,252,222,119,243,174,219,222, 70,145,137, 11,227,107, 23,206,139,138, 33,181, 52,173,124,198, 49, 70,210, 36,229,
-138,203, 15,114,248,208, 65,174, 58,114, 25, 63,251,241, 31,230,186,171,174,132,196, 50,180, 45, 46, 4, 46, 59,120,128,103, 95,
- 60,195,198,230, 91,173,112,143, 29, 61,194,251,111, 59,201, 45, 55, 95, 79, 79,194,189,143,124,155,162,200,104, 91,145,186,185,
-209,145,164, 34,165, 20,253,122, 74,219,119, 12, 67, 71,158, 21,212,171, 70, 26, 40,163, 8,193, 35,185,245, 66,202, 26,220, 0,
- 33, 76,254,228, 35, 67,240,104,159,160, 19, 77, 66,138, 66,109,239,113,253, 40,147, 88, 98, 83,198,174,149, 9, 90, 5,210, 52,
- 71, 43, 65, 33,181, 78, 16,154,176,194,106,131,202,115,154, 70,140, 96,180, 22,105,170, 49,226,207, 16,162,167,176,217, 54,209,
-205, 7,113,218, 51,218,208,185,142, 84, 27,250,126,216,222,143,162, 53, 85, 90,160,140,184, 30,162,181, 12, 27,211,119, 87,150,
-229,116, 30, 74,158,197, 48, 14,216, 68,190,151,174,149, 28,243,224, 61,196, 73,149, 18, 34, 90, 5,242, 44,199, 38, 22, 20, 66,
- 32, 28, 28,206, 69,188,135,188,200,208, 65,188,234, 53, 18, 41,236,251, 32,137,135,193,211, 7,143,209,150,182,239,164,121, 87,
-138, 97, 24,233,186,129,196,104,242, 66, 86, 14,218, 6,242,178, 68,169,200,216, 59, 36, 93, 46,161,237, 36,146, 59, 75, 51,172,
-149,116,208, 45,167,188,212, 90, 6, 47,146, 52, 98, 68,169, 72,146,166,178, 82,203, 36, 12,171,105, 26, 33,196, 41,240, 33, 48,
- 34,103,236,170,150, 12,243, 65,137, 58, 34,198, 72,187,229, 8, 56,171, 24, 6, 81, 54, 41,165,152, 77,231, 88,244, 17, 31, 71,
-170,170,164,111, 27,154,213,146,170,170,176,121, 74, 63, 61, 59, 33, 56,202, 98,134,209, 26,163, 39, 4,123,106,162,244, 52,141,
- 15,131,156, 89,222, 75,102, 7, 65, 77,103,106,100,158,207, 89, 46, 87,162, 71,103,100, 99, 99,131, 45, 68, 69, 39,134,194,102,
-244,174, 33,248, 72,219,245,104,101,196,182,220, 40,186,182, 7, 13,209, 69, 33, 39,134,145,182,149,179,119,213,172,152,205, 42,
-178, 52,103,109,109,141,161, 23, 79,141,100, 24, 6,250, 17,108, 98, 89, 95, 95, 67, 96,161,137,100,144, 36,140, 78,232,248,235,
-102, 7, 30, 9, 11, 89, 95, 95, 39, 6, 79,215,119, 56, 39,187,133,205,197,130, 93,187,118,226, 70,113, 39,115,163, 35, 47,114,
-154,186,161,105, 58,242,178,160, 44, 36, 96, 97, 12, 35, 70,137,141,108, 80,138, 44, 75, 73,167,172,218,224, 5,238, 81, 26,122,
- 39,208,204,218,218, 26,193,121, 66,116,116,189,163,109,219,109,201, 86,221, 92,194, 90, 97,146, 26, 99,233,134,201, 17, 77,105,
-209, 31, 54, 13,202, 24,154,229,114,122, 16, 4,154,143, 76, 80,243, 84,128,231, 89,142, 46, 75, 84,140,120, 21,113,131, 19,216,
- 48, 19,239,251,166,105,152,173,173,193,116, 3, 25,155, 18,131,103,232, 58, 98, 8, 56, 37,161, 40, 32,211,134,164,239,200, 3,
- 49,145, 23, 72,171,138,229,164,231,222,154, 98,242,162,192,152, 4,109, 70,140, 77, 88,179,115, 49,231,176, 9,253, 40,196,148,
- 97, 24,177,137, 97,177, 92,178,149, 67,158,101, 25, 90,137,228, 97,203,225,142, 32,140,214,182, 27, 9, 94,180,215,206,137,209,
-140, 82, 82, 64,131, 21, 71, 60,148, 72, 12,149, 49,100,105, 74, 4,129,218,179,108,155,184, 83,148, 37, 93,215, 9, 50,226, 36,
-188, 34,159, 10,127,150, 89,180, 17, 39,185,232, 3,198, 90,136, 22,107,253, 4,251, 91,140,181, 83,252,163,100, 46,231,105, 2,
- 81,200,109,226, 58,101,232,134, 30,227, 29,121,146, 83,149,249,100, 76,146, 96,144, 85,130, 66,246, 89,105, 42, 93,125,240,162,
- 63, 78,141,184, 59,117,125, 15, 90, 51,159,205, 0,217, 77, 45,222, 52,137,206,231,115,182, 60,244, 67,240,212,117,205,254,117,
-197, 63,252, 88,193,237,135, 18,104, 29,216,132, 48, 19,211, 12,125,246,117, 84, 20,127,232, 8,168, 3,107,176,183,226,238, 50,
- 97,252,155,111, 50,220,124,130,229, 45, 31,229,200,145, 59, 72,178, 53, 66,219,176,113,230, 5,238,255,198,195,252,171,127,247,
- 59, 60,255,210,203,172,207,215,248,165,159,249, 9, 62,241,177,143,112,248,208, 65, 8,178, 3,247, 33, 96, 18, 67,154,102, 18,
- 15,220,182, 92,216,144, 96, 29,128,183,157,188,158,187,111,187,149,219,110,186,129,219, 79,222,196,142, 29,235,232, 36, 33, 70,
-197,235,103, 95,229,187,207, 61,207,223,126,231, 9,190,254,183,143,241,218,133,243,188,118,254,117, 94, 57,119,158, 34,207,184,
-236,192, 1,170,178,224,134,171,143,243,194,217, 87, 56,180,127, 31,137,209, 44,151, 43,190,243,221,103,248,203, 47,223,203, 31,
-190,137,129,191,117,109,195,239, 65, 12, 73,246,236, 88,103,215,100,151,123,126, 99,131,115, 23, 46,114,252,216, 81,158,123,241,
-101,206,190,118, 78,138,248,185,115,124,251,137,167,184,231,206,219, 41,210,140,126, 24,217,179,107, 23,246,197,183,202,227, 6,
- 55,240,250,165, 77,110,188,230, 4,239,184,229,102,170,162,224,213,243, 23,240,222,243,220, 11, 47,179,177, 88,114,225,210,165,
-239, 43,232, 0,171,186,161,238, 90,210, 36,229,142,235,175,225,134, 43, 14,243, 71, 95,184,151, 23,235, 26,155,164,248, 24, 8,
- 83,243,135,247, 66, 98, 82,144,102,130, 60,249, 24, 41, 50,209, 81,143,163, 35, 42, 69, 55,118,164, 54,157,224, 92,183, 45,113,
- 42,242,201, 53,210,135,233, 60,144, 9, 54,177, 18,252, 66, 20,196, 49, 73, 82,130,130,121, 53,163,109, 7,208, 26,107, 20, 68,
- 33,142,246,125, 75,132, 73, 45,130, 40, 94,154, 6,143, 39,179, 25,131,243, 16,166, 68, 73,109, 88,181, 53,209,139,212,210, 57,
- 97,229, 71,197,182,193,151,115,114, 38,140,110,100,108, 29, 38,153, 52,227,105, 74, 28, 29,131, 31,105,155, 22,177, 60, 22,148,
- 97, 62, 23, 9, 49, 74,220,225,250, 78,116,233,109,219, 49,140, 30, 8,152, 52,193,187, 72, 61,212,162, 4, 81,154, 60,159,154,
- 25, 55, 50,118, 61,195, 20, 52,130,224, 89, 19, 65, 48, 33, 40, 77, 8,142, 52, 77,208, 58, 39, 4,201,137, 15, 65,220,234,154,
-174, 97,172, 71,148,150, 68, 51, 53, 58,186, 65,158,227, 16, 34, 69,106,197, 94, 53,203, 4,146,111,122,204,116,118, 58, 39,150,
-176, 70, 41,186, 32,171,204,182,235, 81, 8, 71, 70, 98, 88,197, 84, 42, 49,134,196, 36, 68, 21,112, 78, 44,144,157,247,148,147,
- 23, 70,223,117,148,101, 73, 48, 98, 29,188, 88, 44,100, 64,234, 33, 68,133,177, 26, 55,122, 82,107,105,154, 6, 99, 51, 49,110,
-193, 48,246, 98, 72,164,209, 24, 19, 72,116, 66, 63,180, 48,245,235, 70, 41,116, 34, 89, 31,169,149,184, 91,113, 34, 21,245, 77,
- 83, 55, 36,214,110,115,152,148,145, 0, 23, 31, 2,209,123,150, 43,225, 30, 25, 43,121, 8,171,113,196,106,131, 75,196,187,222,
-106,141, 66,203,231, 82,149, 4,231,105, 66,207,198,198, 6, 33,108,217,182,123,113,244,108,196,108, 72, 35,126, 36,193,121, 18,
-148, 38, 53, 9,179, 89,133,214, 9,206, 73, 81, 20, 15,116,137,196, 92,172, 86, 36, 90, 97,243, 84, 82,184,128, 16, 13,106, 24,
-201, 75,203,114,115, 65, 98,180,252,146, 83,183,178,170, 87, 84, 51, 49,178,175,155,134,113, 33,102, 38, 90, 43, 50, 43, 6, 35,
-105, 38,178,183, 50, 43, 9, 62,144, 88,153,180, 87,141, 68, 33,150, 86,180,163, 33, 4, 86, 77, 67,240, 66,172,200,243,156,186,
-110,168,107,145, 56, 5, 28,169,177, 12, 67, 71, 89, 86,210,237,141, 34,221,234,199, 17,191, 92,160, 66, 68,229,185,164,205,197,
- 40, 58,102,164,163, 51, 90, 19,181,162,109,123,102,243, 10, 21, 35,217, 76, 32,104, 31, 61,221,224,133, 79, 48, 58,218,102, 74,
-253, 50,154,217,218, 28,173, 13,232,169, 96,186, 0, 81,254,142,124, 70, 65, 86, 17, 69,129,157,224,242, 44, 77,113, 94,116,210,
-179,217,108,114,213, 91,159,116,238, 30,167, 20,105, 42,144, 31, 46,208,123, 97,148,118,221, 72, 12,162, 51,175,202, 25, 73, 98,
-196,240,192, 9,116,175,149,228, 31, 55, 11, 49,134,233,199, 97,251,230, 43,242, 2,148,236,115,180,214,108,153,173, 36, 73,130,
- 31, 6, 97,199,143, 35,101,158, 79,252,133, 14,101, 52,120,137, 76, 28,221, 72,106, 18, 92,244, 82, 48,149,194, 26, 67, 84,130,
-102,164,105,142,242,129,186, 93,161, 80,184,209, 83,205,228, 96, 41,179,140,196, 90,178, 24, 37, 8, 6, 9,162,137, 49,208, 14,
- 3, 97,116,248,209, 99,202, 4, 9, 93,137,184, 97, 32,207,165,217,201,172,196,159,106, 38,159,236,224,105,251,158, 56, 29, 92,
-214,138,251, 92, 12,145,102, 34, 84,245, 93, 7,209, 19, 39,116, 65,107,141,154, 48,154,163,251,115,254,249, 71, 83,118,184,145,
-225, 43,167,176, 39,142,240,213,251,191, 71,182, 54,231,237,215,238,128, 36, 16,247, 29,128, 42,131,213, 10, 74, 80,175,109,192,
-197,139,240,161,119, 81, 31,254, 41,246,237, 60,129,239, 91,198,229, 38,103,206,156,225,222, 7,191,193,255,246, 27,255,142,215,
- 55, 54, 0,248,169,143,126,152, 95,248,233, 31,103,239,222, 61,160, 52, 97, 24,104,155,150, 52, 75, 49,121,198,169,167, 78,241,
-171,255,211, 63,231,145, 39,191,203,214,149,103, 41,123,118,238,162, 42, 11,230,179, 74, 96, 53, 55,138, 20, 84,107, 46,108, 92,
-228,233,103,159,227,243, 95,253, 26, 79,156,122,118,123,253,181, 99,109,198, 71, 63,248, 1, 62,244,238,119,114,251,205, 55, 98,
- 19, 33, 5,141,206, 97,211,130,205,197,146,197,106,193,193, 61,123,185,231, 29,183,115,234,217,211, 18, 22,195, 27, 83,250,193,
-253,123,185,242,242,203, 57,124, 96, 47, 27,155, 98, 14,117,211, 53, 39,120,219,141,215,113,223,215,191,201, 63,251, 63,255, 13,
-175,158,187, 64,158,165,220,116,245,113,174, 59,113,156,235,174,186,146, 27,175,189,134, 97, 24,121,238, 47, 62,205,215, 30,126,
-100, 27, 49,120,243,107,111, 46,150,188,244,202,171, 60,250,228,119,201,172,165, 42, 11,190,251,236,243,124,243,209,199,120,245,
-220, 5, 30,125,234,141,207,224,205,215, 51,207,191,192,170,107,120,237,194,235, 60,248,173, 71,184,253,150, 27,249, 7, 63,249,
-163,188,240,202,107,252,222, 95,125,137,186,239, 72,211, 28, 99, 4, 9, 66,139, 3,166, 86, 2, 69,230,185,216,253,250, 32,112,
-183,143, 50, 1,141, 46,146, 89,200,114,139, 79,204, 4, 79, 75, 81, 80, 10,148, 55, 66,232,154, 56, 56, 10, 25, 48, 98, 8,116,
-163, 72, 29,163,206,100,143,238, 29,152, 84,156, 23, 85,196, 7,133, 10, 3, 99,239,152,205,102, 8,113, 75, 34, 95, 93,240,216,
- 84, 66,129, 52, 48,120, 81,227,160,129, 16, 36,107, 61, 70, 12, 34,175,236,134, 97, 59,135, 34, 34,110,141, 93,223,209,117, 29,
-229,196, 86, 7,145,170,118,117, 67,146, 89, 18,109,233, 71,177, 72, 53,198, 98,173,164,223,197, 24, 41, 42,105,100,140, 50,212,
-171, 26,148,112, 84,146, 9, 73, 35, 10, 60,173,115, 67, 63,200,254, 90,105,113, 47,211,104,162,138, 12,253, 64,223, 75, 50,229,
- 22,129,108, 24,132, 4, 56,122,143, 49, 18,149,154,100, 9, 34,181, 18,115,158,202, 38,219,159, 5, 81,154,245,113, 20,143,255,
-196,166,146,116,167, 12, 89, 97,201,210,148, 85, 35,231,122, 89,148,180,125,139,209, 50, 92,249, 32, 65, 88,206, 13, 36, 70,200,
-220,226,186, 23,133, 59,164, 51, 98,148,117,101, 90, 20, 36,198, 16, 49,232, 98, 75,174,246, 6,239, 96,181, 18,185,245,168,132,
- 72, 55, 12,194, 19,178,214,226, 9,130, 16,143, 61, 90,137, 37,182, 82,146,218,214,245, 45, 46, 70, 66, 31,136, 33,226,243,145,
-113,244, 36, 73,138, 77, 18, 86, 77,141, 77, 51,116, 98, 88,174, 86, 20,121,134,138, 34, 41, 12, 65, 84, 8,179,201,180,172,204,
- 75, 76,165, 88, 46,107, 82,155,225,250,142,136,228,208,175, 26, 9,111, 25, 71,153,212, 37,157, 78,248, 34,253, 56, 50,159,205,
- 24,135,129,190,239,137,139, 72, 85, 84, 24,147,160, 34, 36, 70,107, 66,148, 67,190,109, 87,100, 89, 78,140, 94, 66, 49,140, 88,
-138,150,165,144,210,162,139,180,174,151, 3, 29, 41, 38,206,187,237,169,111,244, 30, 55,202, 20, 58,142,142,197, 98,193,172, 90,
-155, 22,248, 98, 10,128,182,178, 11, 5,250, 81,194, 67,154,190, 69, 41, 69,234,228,230, 9, 62,176, 88,173,200,115,153,224, 23,
-139, 37, 33, 6,102,107,107,172,150, 75,180,145,136, 79,249, 96, 10,108,158, 10, 33,166,105,197, 2,213,123,202,162,100,243,210,
- 37,188,119, 16, 5,134,103, 28,241,105, 74, 63, 12, 16,195,246, 65,175, 0,180, 34, 47, 10,250,113,156, 80, 10, 77,102,101,207,
-131,150, 46,211, 59, 97, 50, 42, 37,144,110,223, 15,216, 68,114,119,219,174, 33, 79, 11,217, 71, 27,217,237,133, 32, 58,198,182,
-174,233,181,104,205, 37,167, 89, 65,140,172,154,134, 36, 73,168, 87, 43,137, 97,237,196,188, 96,185, 88, 82, 21, 51,250, 73,187,
- 94, 55, 53, 69,150, 11,100, 55, 53, 7, 74,222,186,232,119,251,145,204,202,107,218, 84,110,246, 52,166,216, 68,139,142, 91,201,
- 62,136, 24, 33, 10,225, 47,203, 50,186,213,106, 90,131, 4, 80,138,160, 20,227,216, 49, 70,152, 85,115,156,146,192, 13,239,166,
- 48, 14,196,249, 41,203, 50, 50,155,209,141, 35,120,129,245,227,232,100, 55, 52, 10,239, 96,116,163,144,215,102, 51, 33, 54,105,
- 33,121, 56, 23, 24,227, 0, 74, 51,203,242,237,220,246, 24, 2,163,139, 88,173,233,188,120, 27, 36, 86, 76, 38,202,164,146,195,
- 69,105, 66, 52,172,231, 66,118,243, 65, 38,136,174,149, 7,173,107,155, 9,153,240,200, 42, 38,160,141, 38, 53, 41,253,216,162,
-244, 79,176, 0, 0, 32, 0, 73, 68, 65, 84,179,179,208,252,211, 15, 38,236, 76, 1, 23,177, 55,158, 32,102, 22, 23,224,100,222,
-243,216,159,222,199, 77,191,242,147,168,139, 11,248,222, 69,180, 2,174, 57, 66, 84, 35,241,192, 58,175,141,183, 51,159, 95,137,
-235, 91,198,213,138,167,159,125,142,231, 94,124,153,167,158, 59,205,155,175,255,239,207, 62, 73, 81,164,252,212, 15,125,152,195,
- 7,247, 75, 71, 61,140,164,121,202,231,191,112, 31, 63,255,223,254, 15,178, 79,123,211,181,103,231, 14, 50, 43, 81,191,135,246,
-239, 37,184,145,186,241,104,211,243,244,115,207,243,169, 47,220,199,103,191,252,149,109,227,151,173,235,210, 98,197,191,255,179,
- 79,241, 87,247,126,133,143,188,239,221,124,228,125,239,225,228,245,215,178,115,125,141,113,148, 24,212,245,249, 58,215, 29,191,
-138,215, 47, 93,250,207,186,199, 53, 77,199,157,183,220,200,177, 43,142,112,213, 21,151,179, 54,155,113,230,213,215,248,204,151,
-238,229,185,231, 95,150,201, 15, 56,180,127, 31,107,243, 25,243, 89, 69,154,166,220,255,208, 55,248,230, 99, 79,112,254,194,134,
-220,211,111,186,182, 94,123, 54, 73, 52,119,175,175,115,104,239, 30,158, 59,115,150, 71, 30,127,156,199,159,249, 30, 47,157,121,
-101, 66,213,164, 1,184,236,192, 62, 76, 98,121,225,229, 51, 92,125,236, 40,183,222,116, 3, 69,150,179,111,239, 30,186,126,224,
-255,250,127,127,151, 87,206,157,167,174, 91, 94,222,184,196,209,227, 39,216,177,107, 39, 67, 55, 76,142,143, 74, 86, 81,202,224,
-180,164,173, 25, 18, 92, 20,217,110, 0,136,129,186,109, 73, 19,141,182, 25, 74, 69,186,110, 68, 27, 61, 25,216, 68,148, 73, 48,
-198,224, 6,225,247,152, 68,144, 44,107, 36,225,205,121, 71,153,231, 52,117, 75, 83,215,164,137, 36, 80,134, 24,240, 65, 17,157,
- 99,185,116,160, 35, 70,153, 73,114,148, 19, 70,177,220, 54,105, 78, 18, 3,105, 37,154,107,231,228, 62, 78, 20, 4, 34,153,169,
- 68, 38,235, 70, 50,107,233,219, 1,155, 89, 41,238, 78,164,170, 54,181, 12, 77, 79, 84, 65,254,251, 32,110,111, 73, 16, 56, 90,
-107,129, 98,149, 86,128,144,186,130,143, 96,141, 20,244, 44, 39,207,115,156, 27,233, 59, 41,178, 91, 83, 96,112, 1,114,209,223,
- 11, 47, 6,241,244,176,194,177, 18,205,189, 16, 3,141, 17,228, 83, 5, 69,146, 8, 55,199, 77,168,201,170,150, 66,233,189,200,
-205, 98, 4,162, 52, 19,131, 19,105,110,153,230,164,211,148, 30, 3,232,212,136,231, 68,179,162,107, 91,148,214, 16, 60,125,223,
-225, 71, 71,154,102, 36,153,248,148,136, 97,149, 68,195, 42, 5,222, 13,104,173, 48, 70,194,150,154,182, 21, 53,139,209,244, 83,
-141, 81, 74,214, 88, 91, 86,215,160,240, 62,146,199, 72,239, 58,202,188,148, 1, 45, 70,218, 38,160,173,101,181,146,152,218,162,
- 40,240, 94,210, 41,189, 15, 92,186,180,193,106, 53,162, 20,108,110, 58,242,178, 34,250,200, 24, 70,148,147,208,160,113, 24,201,
-243,148,178, 20,237,126,223,245, 20,179, 2,113, 28,148,245,245,174, 93,187, 8, 33, 98,179,124, 90,177,136,140, 56, 70,136, 72,
- 77, 13,193, 79, 77,150,218, 62,199,211, 52,165, 31,187,109,155,228,173,117, 99, 2,160, 17, 54,122,154,164,116,221, 64,215,246,
-180, 77, 15, 40,178,162,192,185, 64,221, 53, 98,192, 15,219,127, 57,196, 72, 85, 86,146,112,148,166, 92,218,220,132,248, 6, 9,
- 44, 51,194,154, 14, 33,208,246, 29, 99, 55,160,205,136, 77, 83,130,151, 55,185,117, 0, 68,239, 73,114,209, 93, 91,171,183,187,
-142,197,226, 18,198, 36, 66, 50, 65, 44,247, 70, 63,162, 72, 38,114,135, 16, 38,234,149, 4, 56,212, 43, 17,255, 51, 29, 51,121,
- 94,160,180,132,177, 68, 20, 90, 43, 70,165, 41, 43,137, 97, 29,189, 19, 50,138, 22,162, 94,223,117, 24,165,112,131, 35, 75,115,
-196,109, 44, 76,132, 11,217, 79,135,233,166,141,222,163, 39,136, 47, 70,133,143, 65,200, 99,125,196, 7, 33, 2,150,179, 25, 93,
-211, 80,205,231,242,218, 86,162, 14, 77,162,153, 21, 21, 1,113,200, 11,193,139, 97, 78, 93, 83,148, 37, 62, 78,182,139,125, 79,
- 81,228,242, 29,133, 73, 73, 48, 12,140, 81, 30, 84,177,133, 28,241,209, 97,180,198,121,133, 27,131,176,163,109, 66,101,170,109,
-153,154, 49,102,123,130,209, 90,163,146, 4, 59, 21,198, 16,133,179, 80,149, 18,137,185,170,151,211, 78, 72, 11,194,162,196,199,
-217,121,135, 54,154, 48,120,130, 31,209, 36,216, 52,161,235, 6,138, 52,195, 55, 11,148, 18,159, 98,165,100,197, 50, 14, 3, 69,
- 81, 96,179, 12,155, 9, 19,221, 59,135,177, 9, 6,129,219,125, 16,184, 49,155, 86, 24,203,122,197,218,108,141,213,106, 1, 74,
- 34,102,109,162,169, 42, 97,120,138,239,177,162,235,123, 92,140,216,196, 48, 40, 67,154, 74,104, 70,211,118,114, 24,135, 64,208,
-158, 61,187,119,240,171,239,142, 28,216, 99,137, 78,193, 60,131,186, 7, 63,242,190,227, 59, 97,111,202,201, 67,119, 19,154, 37,
-177, 94,161, 14,237, 34,204, 43, 84, 61, 64, 2,231,195,173,148,215,220, 67, 24, 58, 46,189,126,129,199, 79,125,143,135, 31,123,
-156,207,222,247, 53, 78,191,116,134,139, 83, 62,253, 63,251,199,191,202,223,255,196,143,147, 22, 57,205,106,197, 98, 85,211,118,
- 61,198,104,158, 56,245, 12,255,243,191,254,127,222, 82,208,147, 36,225,238, 59,110,229,163, 31,124, 47,215, 28,187,146,253,123,
-119,115,217,129,253, 92, 90,174,240, 78,188,164,191,252,213, 7,249,211,207,124,118,123,194,126,243,165,181,230,182,155,111,224,
-253,119,190,157,107, 78, 92,197,190,221, 59, 40,115,241, 7,223,184,180,160,233, 59,246,238,222,201,163, 79, 62,201,127,248,244,
-231,100, 79,251,166,203, 24,195, 21,135, 15,114,242,250,235,184,241,218,171, 81, 90,108,147, 47,110, 46,248,220,125, 15,240,224,
- 35,143,110, 79,224,207,189,248, 50, 59,230, 51,142, 94,118,152,126, 16,167,178, 79,126,246, 75,219, 8,197,155,175,143,188,255,
- 30, 70, 55,242,195,239,127, 31, 31,122,239,221,196, 24,121,237,194,235, 12,206,209,118, 61,171,229,138,173,228,178,173, 6, 96,
- 99, 89,243, 95,252,196,143,114,252,200, 97,126,246,167,126, 12,187,107,157,208, 15, 60,244,213,135,248, 55,191,251, 71,124,249,
-193,175,211,117,111,160, 1,207,159,126,129,119,220,245, 46,246,236,221, 11, 42, 18, 3, 84,213,140,182,111,133,199, 81, 15, 34,
-107, 29, 53, 32,147, 98,102, 37, 35, 65, 56, 39,146,139,158,199,184, 13,133,250,137,188,107,109,194,232, 2,209,131, 87, 35,125,
-235,100, 90, 74, 60,190,135, 96, 61, 81, 33,231, 8, 96,177, 12,163,124, 38,253,208, 67, 80, 68, 21, 40,243,146,113, 24,104, 90,
-177,153, 70, 1,221, 64, 84,145,182,111,240, 78,214,148, 33,232,137,112, 53,173,167,250,142,170,154, 77,242, 40, 79, 55,229,164,
-131, 60, 83, 89, 38,220,145, 16,196,243, 59, 85, 57, 74, 73, 12,173, 86,138, 64,144, 51,177,154, 49, 12,195,246, 10,205,141,146,
-105,158, 36,102,250,223, 34,175, 77,172,193, 15,158, 36,213, 56, 39, 60, 21, 61, 53, 91,121,145,147,165, 18, 97, 42,133, 80, 19,
-131, 39, 75, 18,146, 52,165,174, 87,108,217,203,110, 5, 32,101,169, 37, 24, 79,145,229,140,163,162, 31, 28,102,154,126,155, 70,
-234,136,181,150,213,230,146, 36, 23, 35,174,186, 94, 97,204, 58, 74, 41, 18, 99, 73,178, 4, 23, 2,222, 13, 4, 47,220,167,118,
-232,241, 78, 24,233,214, 90,172, 49,140,170,167,235,122, 76,154, 51, 14, 29, 42, 66,150,102, 68, 45,164,103,105, 26,145,213,106,
-144,239, 45, 4,143, 26, 38,149, 80, 12,104,165, 73,140,197,199, 64,116,146,185,145,166,150, 16, 53,222, 15,219,247,169,214,134,
-168,212,118,131,128,146,194,236,198,145,174,233,201,203, 2,173, 97,181, 88,145,165, 34,101, 27,134,145, 44,203,183, 13,100, 36,
-239,190, 64,195,212,100,104, 98, 20, 95,151,217,218, 28, 34,130, 92,167,194, 59,136,200,189,234,189, 52, 55,195,116, 63, 69, 31,
- 40, 11,241,138, 17,181, 19, 68,162, 16,229,178,105,135,186,185,185,137,243, 30,155, 36, 40, 20,163,159,210,211, 66, 0, 47, 25,
-211, 94, 9, 81, 96,139, 16, 87,183, 13,213,108,134,142, 2,231,142,195,192,106,181,162,168, 10,188, 19,152,121,185, 88,226,189,
- 71, 91, 75, 61,237, 59,181, 54,228, 69, 9, 42,138,206, 82,107,186,174,197, 7, 49,104, 88, 46,151,164,105,138, 82,226, 67,223,
-247, 45, 46, 76,133, 52, 73,200,172, 98,109, 62, 19,131,148,168, 73,243, 66,118, 46, 86,164, 63,221, 48, 96,179,148,224, 38,131,
- 3,197,196, 60,118, 68,101,100, 71,100, 36, 49, 41, 91,179,210,169,163,222, 8,109,137,226,114,102,109,130, 53, 6,212,214, 94,
- 54, 48,184, 65,200, 56,117, 45, 55, 11,128, 6,231, 70, 84,148,189,105,102, 50,234,149,252,222, 73,146,160, 99,100, 84,138,177,
-235, 48,137,193,119, 14,147,164, 40, 36, 89, 45, 42, 97,102, 2, 24,157,208,117,141, 72,182,180, 97,236,123,186,224, 81, 17, 97,
-154, 42,145,135,204,230, 51, 80,144,100, 9, 6,133,115, 72, 3, 19,132, 93,155, 37, 41,206,191,225, 23,159,167, 98, 76, 49, 14,
- 34,119, 75,140, 17,153, 30, 16,149,184, 93,245, 65, 2, 91,178,162,192, 40,205, 48,140, 4, 13, 70,137, 3,160,154,110, 46, 9,
-192, 16,203,218,102,213,144,164, 66, 68,202,242, 92, 8, 53, 74,161, 16, 25, 91,136,242,159,235,235, 59,216,146,182,152, 68, 2,
- 29,136, 34,123,220, 50,116,216,250,151,181,118,138,115, 12,211, 1, 52, 18,131, 6,213,138, 70, 59,136,159,119,145, 23, 20,121,
- 78,215,117,147, 60, 70,214, 30, 54, 53,148,213,156, 68, 5,110, 63, 98,248,161,107,225,234,157,138,231,238, 59,205,133,198,113,
-199,221, 7,192,164, 40,147,162,110, 61, 10, 27, 43,168, 2,100, 22,110, 58, 1, 39,110, 65,189,254, 42, 60,250,183,108,164,135,
- 73,174,253, 16, 42,140,156, 57,251, 10, 15,124,235,111,248,204,151,191,194, 35,143, 63,201,185, 11, 23,121,179,118,123,112,142,
- 87,207, 95,192,104,197, 56,122, 49,208,153,205,209, 74,137, 91, 92,220,254,163, 40,165,184,242,178,195,252,189,143,125,132, 15,
-189,247,110,170,157, 59,229, 31, 56,199, 14,173, 57,115,246, 21,126,255,147,159,225, 15, 62,249,233,255,108, 65,223,146,202,221,
-118,242, 38,174, 62,118,148,121, 89,110,147,142,234, 11,173,168, 82,138,130, 11, 27,151,248,230,223, 62,254,125, 5, 29,224, 93,
-183,221,194,207,125,252, 71, 72,146,132,141,205, 77,246,237,222,197,108,231, 26,135,246,239, 99, 54,155,209,180, 29, 59,214,214,
-248,192,187,223,201, 45,215, 95,203,129,221,187, 56,126,236, 40, 90,105,254,230,241, 39,120,247, 29,111,227,179,247, 63,248,150,
- 98, 11,224,125,228,151,127,238,103,120,251,201, 27,233,251,158, 87,206,159,103, 85, 55,236,223,189,147, 99, 71,142,112,239,131,
-223,248,190,247, 82,215, 53, 15, 63,246, 29,110,186,230, 56,167,190,251, 12,139,122,197,151, 31,250, 38,143, 62,254, 36, 95,127,
-228,177,239,251, 25, 77, 93,243,149, 47,126,137,189,251,247,115,237, 13, 55, 50,159,149, 2,243, 34,207,111,106, 45,222,129,199,
- 83,229, 21, 17, 80, 42, 16, 81, 12,189, 35,248, 17,231,229, 48, 29, 27,207,232,166, 4,176, 65, 97, 74, 35, 8, 88,150,145,101,
- 25,163, 26,166, 1,201,147,217,132, 49, 8,251,123,235, 11, 29,250,158, 34,151, 51,207,106, 75, 51, 54,219,164, 96,147, 36,204,
- 83, 57, 15, 70,239, 33, 5,239, 37,105,171,168, 74, 57,107,199,129,174,119,108, 53, 28, 10, 88, 45, 22, 24,107,176,105, 70,136,
- 14, 29,228,108,176,169,144,147,211, 60, 99,232,122, 72, 13, 89,150,203,185,215, 53, 24,157,144,166,169,232,210, 3,216,212,226,
-156, 36,134,201, 74, 85, 10,210, 48,202,158, 94, 41,133,138,138, 34, 45, 8, 65,152,229, 62, 72,180,170, 49, 18,191, 90,228, 5,
- 38, 49, 24, 99,104,187,158,162,216,146,238,137, 91,159,210,138,166,235, 36, 42,122,112,144, 42,116, 20,200,218, 38, 41, 70, 79,
-170, 15, 45, 97, 76, 74, 49, 77,210,150,190,235, 24, 0,173, 96,115,113, 9, 21,167, 1, 98, 66,114,181, 78, 49,211,249,208, 13,
-157,152, 77,141, 35, 73,244, 24, 85,160, 77, 66, 89,106,130, 86,100,217, 12, 63, 6,154,174, 17, 40, 61, 70,148,244, 66,162, 0,
-170,132, 48,231,229,163,166, 31, 68,137,179,182, 86, 76, 67, 66,135,119, 17,166,115, 60,170, 64, 53,159,211,214, 53,109,223, 18,
-163, 98,108, 71, 84, 64,172,191,173, 97,232, 59,156, 19, 89,117,162, 36, 91,164,154, 87,168, 40,245, 99,185, 92,138, 26, 75,107,
-188,143,148,101, 62, 33,172, 61, 67,215, 76,205,132, 71,147,224, 38,178, 91, 8, 14,227, 83,138, 44,165, 29, 58,202,172, 4,131,
-160, 40, 72, 51, 30,180, 18,162,102,162, 41,179,153, 52,121,222,147, 40,173, 39, 89, 64,191,125,222,184, 32, 29, 28, 65,200, 94,
- 40,136, 90,228, 94,179,249,124,178, 33,180,104, 12,171,122, 69,219, 52,168, 24, 37,224, 36, 70,172, 77, 89,213, 43,148, 82,172,
- 88, 77,176,133,103,115, 99, 3, 61,117, 92, 1,241, 29, 54,214,178, 88,173,196,186,208,131, 82,145,166,110,136, 17,186, 78,228,
- 7,195, 56, 82, 86, 21,102,112, 56, 37,236,207,214, 59,108,154,145,104, 67, 98,133,193,159,103,115,113, 92, 11,210,128, 12,163,
-184, 89, 85, 85, 33, 15,121, 42,238,101,198, 36,226,184, 54,142, 19, 1, 68,211,212, 13, 89,153, 75,231,132,144,108,130,115, 36,
- 70,211,141, 35,125,219,137, 46, 48,202, 68, 63, 14,131, 40, 4,140,248, 53, 27, 91,138, 27, 89, 89, 10, 83,219, 40,108,102, 33,
- 10, 51,213,135, 64,162, 53, 73, 38,157, 23, 65, 65, 12,194,164, 12, 1,180,102, 28,182,172, 85,133,113,110,140, 65, 25,141, 78,
- 13,201, 56, 98, 18,189,125,227,225, 61,117, 83,139,199,128,147,164, 37,141, 33,205, 45, 94, 43,178,172, 64, 37,154, 36, 38,172,
-205,214,100, 55,101,237, 54,241,109,181, 20, 67,154,170,146, 36, 32,173, 20,213,124, 13,239,133, 89,155, 24, 67,211, 54, 68, 47,
- 12,250, 44,203,104, 86,205, 54,212,166,244, 68,144,137,114, 40,104, 20, 38, 81,248, 65,208,132,126,232,100,103,103, 19, 76,146,
-160,163,154,246, 99,178, 83, 28,251, 17,155, 6, 64,216,201, 73,146, 80,216,148,190, 19, 34,102, 8,129,232, 35,104,141, 27, 58,
-178, 44,103,203, 86, 51,106,228,128,136,224,252, 64, 28,226,246,247, 60,142,129,162,200,216, 89,194,173, 87, 40,222,123, 69,228,
-248,186,134, 23, 47, 18, 67,197, 23,159,187,192, 7,143,238,128,193, 67, 15, 28, 72,136,205,130,184,163,130,197,128,182, 21,241,
-216, 49,168,222, 5,195,125,212,175,143, 52,215,191, 19, 58, 49,170, 88,213, 43, 78,191,248, 18,175,188,118,254,251, 10, 58,192,
-233,151, 94,228,197, 51,146,147,158, 24, 61, 5,134, 4, 30,252,219,111,243,232, 83, 79,179,177, 88,110,255,217, 24, 35,207, 60,
-255, 2,191,250,235,255,130, 95, 60,245,227,252,194, 79,254, 24, 87, 92,115, 21, 42, 79,161, 27,248,189, 63,251, 11,254,239,223,
-254,253,239,251, 25, 59,215,215,185,230,170, 43,120,219,245,215,241, 3,247,220,197, 85, 87, 92,206,170,105, 56,127,241, 34, 49,
-110, 53, 82,176, 62,171,120,245,252, 5, 62,249,249,123,121,226,233,103,248, 79,175,131,251,247,114,248,192, 62,180,209, 92,117,
-228, 48,218, 36,244,195,200,171,231, 47,240, 23,159,255, 50,247, 61,244, 77, 0, 46, 45, 22,188,126,113,131,187,111,191,149, 35,
-135, 15,209,212, 43,206, 93,188, 68, 98,196,201,239,205,197,118,255,238,221,220,126,242, 70,238,186,227, 54,134,190,227,213, 11,
- 23,208, 74,241,232, 83, 79,243,215, 95,250,138, 56,208, 53, 29, 91,249,240, 32,106,132,196, 26, 82,155,210, 52, 13,175,158,191,
-192, 45, 55, 92, 79, 17, 10,174,186,252, 48, 23, 46,110,176,243,217,211,219,113,181,111,190, 98, 0,156,227,244, 83, 79,176,239,
-208, 65, 14, 94,118, 57, 1, 73,124,180,214, 18,141,196,167, 14,163, 68,138, 46, 23, 98, 59,189,190,190,134,214,211,122, 13,205,
- 48,244,148,182, 96, 12,178,119, 30,199, 97, 66,231,132,107, 83, 20, 25, 34, 69,147,198,205, 59, 71, 36, 50, 12, 3, 76, 16,117,
- 55, 14, 20, 69, 38,228, 92, 45,141,116,219,181, 24, 35,132, 86,107, 51, 72, 4,169,116,181, 76,171, 18, 29,171,153, 85, 51,201,
-122,119,142,170, 90, 19, 88, 63,207,241,147,174,187, 48, 21,221,196,218,239, 58, 73,251,114,206,225, 99,192,119,158,177, 31,201,
-139, 2, 63, 6, 70,213,177,149,106,167,128,196, 36,210,240,198, 64,158, 23,116, 77, 79, 32, 80, 86,179,137, 73, 47,207,161, 15,
-142, 68, 25,218,126,196, 88,131, 49, 9, 38, 81, 36, 38,135, 32, 81,216,137,150,136,104,215, 59,154,161,198,102, 41,206, 9, 20,
-156,217,140, 97,232,133,228,219,119, 88, 35,106,152, 22, 40,242,124, 82, 4, 85,248,232,105, 86, 13,121,150,203,121, 96, 18,220,
- 48,144,164, 26,157, 72,118,188, 15, 30,157, 88, 6, 55,162,241,144, 24,186,166, 17, 94, 77,140,232, 40,113,206,110,112,160,149,
-112,146, 92,196, 88,197,216,203,112, 52, 12,210,176, 9,111, 64, 56, 65, 91, 4,232,104,163, 12, 38,105, 70,106, 53,117, 45,156,
- 23,162,162, 42,178,237,251,107,244, 30,163, 4,142,239,218, 94,248, 5, 58, 82,229, 5, 62, 10,210, 19,198,128, 41, 68,206,189,
- 21,248, 51,116, 18, 53,190, 92,173,240,222, 79, 69, 93, 6,212,128, 20,103, 63,250,109,142,147, 36, 86, 66,221,172, 40,210,156,
-110,136,140,227, 64, 32, 98,141,165,157,226,148,163, 17, 31,149,209, 9,236, 47, 4,101, 57,255,250,161,195, 38, 41, 73,146, 24,
- 97,117, 6, 75,129, 72,165,108,150,210, 13, 3,110, 24, 9, 17,102, 85,201, 24, 61, 54, 17,184, 35,100,153, 24,153, 36, 2,231,
-202, 15,241,140,125, 43,161, 34, 49,160, 91,209,134,230,121, 46,230, 50,109, 15,104,162, 6,157,166,204,103,179,237, 29,129, 82,
-106,218,155, 71,105, 14, 42, 49,227,151,206,110,130, 60,162, 68,156,166, 19,100,239,198,145, 56, 73,226,134,161,163, 89, 57,214,
-119,238, 32, 73, 19, 76,148,157,247, 56, 74, 14,176,247, 65,218, 64,196,183,190,233, 58,234,229, 82, 30,166,181,117,204,212, 29,
-175,222,116,224,202, 7, 5, 76,208, 7, 40,209, 62,122,207,232, 5,122, 26,198,145,161, 22, 66,195,150, 79,239, 56,136,177, 75,
-240, 94,246,234,206,177,113,233, 18,120,209, 87, 42, 37, 41,104,202, 88,134,190, 23, 13, 38,138,170,170,152,205, 36,131, 87, 27,
- 9,146, 33, 70,130,243,180,109,131,205, 44,122, 84, 4, 29,167, 61,141,236,227,194,116, 99,216,212, 18, 92, 68,161, 73, 83, 97,
-204,214, 77, 13,136, 1, 71,158,101,116,131,248, 55, 39,209, 10,240,224,133, 51,145,164, 57,214, 40, 6, 55, 82,149, 5, 91,154,
-245,181,217,124,106,140,192, 79, 63, 51,248, 72,106, 69, 27, 9, 2, 31,105,173,137, 1,198,177,199,104, 33, 30,106,157, 64,212,
- 36,211, 42, 95, 52,168, 2,163, 71,165, 72,115, 97,179,107, 45, 44, 79, 99, 4, 74,207,210, 20,239, 2,193,123, 76,106, 48,163,
- 66,231,162, 57,141, 65, 62,191, 36, 73, 73, 38, 18,165, 76,251,136,189, 46, 0, 35,239, 57,238,248,196, 73,205,218,116,176, 2,
-196, 35,187,137, 23, 58,238,140, 43,234,111,159,129, 91,126,136,254,213, 87,201, 30,123, 5,245,129, 91,224,229,134,223,250,244,
-223,240, 95,126,248, 70,212,237,239,131,252,106,130,254, 26,143,247, 7,201,252, 58,230,226, 69,124,244,156, 59,127,145,190, 31,
-233,122, 49, 69,217,170,183,239,186,237, 86,254,201,175,254, 18,135, 15,236, 37,203, 50,114,155,146, 36, 9,139, 85,205, 31,124,
-242, 47,249,141,223,253,195,109,125,248,214,117,226,232, 21,252,250, 63,254, 21,222,127,207, 93, 40, 99, 72,119,205,113,155, 43,
-254,236, 79,255,130,223,252,131,255,248,125,137,107, 32,133,250,199,126,240,131,188,231,206, 59,184,225,196, 85, 84,179, 10,107,
- 83, 50,235,137,197,164,225,159,207,217,189,115,167,196,170,182, 47,179,107,199, 58, 87, 29,185,156,197,178,166,155,248, 44,239,
-191,235, 78,126,249,103,127,122,154, 30, 60, 23, 54, 22,236,219,179,139, 60,207, 56,255,220, 6,191,255,169,191,164,109,197,227,
-224,150,107,175,230,232,229,151,243,236,139, 47,177, 54, 43,121,253,210, 38,191,247,167,127,193,106,181,226,133,151, 95,217,126,
-111,105, 98,185,252,208, 65,174,184,236, 16,251,247,238,102,231,142,117, 54, 55,151,104,163,185,241,234,227, 60,240,173, 71, 68,
-118,245,166,130, 14,144,231, 25,183,220,112, 45,119,156,188,137, 35,135, 14,112,253,213,199,217,179,115, 7, 79,158, 58,199,203,
-175, 93, 96,185,170,217,179,103, 23,175,111, 44,104,251,110, 27,201,113,227, 64,136,129,245,121,197,149,151, 29, 6, 96, 22, 61,
-235,251,247,177,177,108, 24,130,195, 24, 69,136,226,138, 40,112,181,124, 97,117,221,146, 36,154,162, 40, 88, 53, 91, 41,142,129,
-126,209, 80,205, 74, 18, 45, 43, 39,101,132, 44,230,156,132,153, 36,137, 24, 95,137, 62, 28, 8,162,131, 31,251, 17,180,228, 7,
- 12,106,160, 44,132,111,148, 36, 6,107, 83,154,186,193,121,199,108, 62,163,105,228,121, 54, 86,172,129,199, 97, 20, 85,132, 73,
-137,104,180,134,249, 20, 94, 53, 4, 24,134,158,152, 40,172,209, 83, 60,172,192,199, 98, 41, 43,252, 37, 55, 74,162,156, 72,148,
- 45,131, 23,184, 59,203,172, 76,208,137, 36,173,141,195, 40,150,176, 54,161,107, 86,160,228,231,105,165,136, 74, 38,228,153,181,
-210,204,219, 12,173, 5, 85,112,110, 36,198, 64, 84, 17, 20,162,179,159, 8,170,195, 40,129, 51, 73,146,226,147,137,185,173, 21,
- 24,200, 10,217,219, 15,206,145, 40,133, 10,158,190, 21, 15, 15, 89,115, 88, 50, 35,236,251,186, 89,225,218,158,170, 20, 37,139,
- 82, 16,130, 33, 0,125, 87,147,104, 9,248,146,149, 64, 65, 89, 8, 4, 63,142, 35,125,219, 18, 77,130,107,197,187, 32,205,100,
-253, 85,150, 5,105,154, 78,188, 6,177, 84,109, 86, 29,214, 24,124,124, 35, 53, 14,134,109,149, 86, 80,138,182,107, 80, 74, 6,
- 43,180, 18, 57,119,144, 70,220, 5,199, 56, 33,176, 46, 68,148,213,228, 86,228,183, 91, 19,185, 40,142, 20,137, 78,136, 90, 56,
- 93, 38,138,116, 55, 75, 37, 43,197,227, 25,187,145, 52,155, 82,240,122,201, 59,136,217, 27,181, 10,165, 38,207, 18, 77,116, 3,
-214, 36,104, 27,165,153, 26, 6, 86,171,102, 26, 2, 91,192,224,180, 39, 25,134,145, 68, 75, 54,178, 78,160,156, 85,244,227, 72,
- 85, 84,196, 66,118,175, 81, 69,114, 37, 38,252, 81, 41,186,213, 74,216,144,195, 64, 98,132,177, 62,244, 3, 90, 69, 10, 5, 99,
- 55,178,182,190, 70, 12, 81,172, 23,251,145,180,200,176,147, 89, 64, 86,136,236,164,235, 26, 36,141, 45,199,251, 48,237, 15, 64,
-107,197,232,160,237, 26,138,162,148,215, 24,199, 73, 19,170,201, 50, 75,223,137,197,104, 68, 62,104,165,212,182,137,127, 83, 75,
- 96,202,250,218, 26, 33,200,123,214, 74, 60,153,197,221,206, 51,175,102, 44,235, 37, 93, 87,163,179, 82,244,232, 89, 1, 81, 94,
- 47,132,128, 10, 16, 8, 4,132,237,173,147, 4,173, 13,193,137,148,102, 43,203, 23, 60, 38,106,180, 14, 16, 2,117,221,189, 17,
- 95, 56,189,214,150, 20, 13,245,134,161,255,108, 54, 35, 26,205,170,110,104,218, 22,154,192,250,250,218,180,122,200,112,110, 16,
-173, 41, 80,162,192, 42, 54, 47, 45,137, 94,164, 49, 93, 63,125, 6,178, 50, 68, 43, 77,215,104,146, 92,140,131,130, 19,233, 25,
- 90, 86, 38,242,251, 69,162, 86,148,229,140,209,121, 18, 3,109, 63,210,249, 64, 57, 19,249, 68, 64, 80,154, 24, 65, 35,240,248,
-150, 50, 65, 39,106,187,243,116,110,164, 44, 42, 65, 4, 18,129,186,220,232,136,109, 71,154,231,184, 97,160,237,167,184,211,169,
-121,211,128, 54, 66,180, 52,198,192,116,243, 55,173, 39, 34, 48,230,214,159,205, 40, 72,147,132,166, 21, 51, 36,109,160,173, 91,
-124, 28,137,104,138, 76, 12, 58,234,186,102, 28, 13,101,105,249,111,222, 11,239,185, 42, 39,246, 14, 60, 68, 20,113,213,203, 72,
-103, 29, 55,189,239, 38, 56,176,142,202, 50,242, 99, 59,225,224, 58,241,146,226,119, 62,255, 24,165, 11,180,203, 72,153, 95,139,
- 82,138,151, 31, 56,199,249,236,114, 14,244, 13,139,102,197,170,110, 56,117,250, 52, 15, 63,241,228, 91,194, 74,230, 85,197, 59,
-111, 59, 41, 12,246, 93,187,200,103,226,198,215,213, 43,158,250,222,115, 60,253,220,243,223, 87,208, 65, 24,222,191,249,135,255,
-145,235,142, 95,201,225,163, 71,120,236,129,135,249,194,215, 30,226,143, 63,245,153,183, 16,218,182,174, 93, 59,118,112,211,213,
- 87,241, 11, 63,241,163, 92,125,226, 56,186,204,209, 74, 80,139,114,199, 58, 97, 24,136,163,103,244,142, 52, 23,167,181,203,246,
-237,227, 59,246, 25, 94,187,248,250,118, 65, 7, 56,251,234, 57,190,251,189,239,241,238,119,188, 3,165, 20, 85, 89,144,165,150,
-199, 79, 61,195,111,253,241,159,176,229, 61,127,237, 85,199,184,231,157,111,231,238,119,220,206, 21,135, 14,146,103, 57,235,179,
-192,129, 61,187,248,253,175, 61,196, 43,231,206,111,191,230,201, 27,174,229,231, 62,254,195,124,224,238,119, 50,155,149, 60,115,
-250, 5, 94,223,216,224,175,190,252, 85,254,224, 83,127, 73,136,188,133, 79,176,253,123,237, 92,227, 29,183,156,228,206, 91,111,
-230,232,101,135,240, 49,242,192,195,127,195,103,191,242, 32,247, 61,248,245,109, 77, 61,136,236,110,247,174,157,220,126,211,141,
- 28, 59,114, 25,218,104, 94,125,237, 60, 69,145, 51,122,199, 15,190,231, 30,110,189,254, 90,254,248,203,247,243,212,139,103, 16,
- 75,207, 32,235,161, 65,200, 68,243,249,156,182,239, 81, 74,211, 15, 3,206,137,212,209, 88,105, 0,183, 52,211,128, 84,150, 56,
-153,186, 40,241,132,119,193, 77,168, 70, 75, 85,206, 8, 49, 50, 70, 79,105, 51,186,190,163,168, 10,182,178,223,131, 19, 79,138,
-178, 44, 73,149, 20,193,196, 38,184,193,209,245, 61,105,106, 49, 70,144,129,206,105,170, 60,103,203, 62, 57, 77,197,132,197,230,
-201,180, 51, 13,132,216,163,117,130,209,162, 13,215,200, 68, 87,149,213,148,247, 16, 25,189, 20,249, 44,149,130,149, 24, 77,144,
-195,140,174,235,152,205,103,104,165, 24,220,192,216, 13,168, 52,193,227,209, 81, 79,201,156,154, 16, 16, 53, 65, 34, 70, 85, 32,
-207,184, 40,101, 6,210, 68,246,224,195, 32,153,228,214, 90, 86,203, 26,157, 40, 34, 17,147,165,212,203, 5, 85, 85,226,163, 52,
-250,126, 28,233,155,150,114, 94, 98,180,236,158,251, 94,114, 12,138, 60, 3,244,228, 96, 55,202,180,235, 28, 49, 74,250, 94, 81,
- 86, 56, 31, 80,131,200,190,250, 86,194,120,146, 36,153, 8,127,134,166,110,241, 17, 98,244,168, 32,105,146,202, 24,156,119,114,
-142, 59,145,218,106,157,208,181, 43, 36, 6, 88,152,252,101, 85,177,106,154,109,235,221, 60,203,200,211, 12, 31, 37,158,117, 28,
- 71, 89, 59, 79,239, 9, 0,173, 33,200, 0, 18,163,129, 32,209,208, 89,150,109, 75,194,109,158,145, 69, 75,154,101,212,245,138,
-174,235,241,163,163,156,149,194,191,232,196, 64,171,239, 26,252,212, 52, 72, 10,155,103, 43,175,126,152, 56, 20, 77,223, 79, 63,
- 75,144, 21, 77, 16, 83, 28,173,177,137, 65, 41, 67,221,180, 36, 74, 43,150,109,139, 36,164, 73,238,107,130,172,144,167, 89, 12,
-162,162,235,133, 17,174,148,176, 31,189,247,114,211,132,176, 77, 82, 11, 83,118,177,143,158,208,138,211,143, 11,146, 34, 22, 66,
-164,235,167,157, 21,145,126,148, 96, 22,107,217,214,156,103,214,226, 93,164,239,197,245, 43,203,114,124,152,124,216,227,228, 48,
-100, 45, 90, 69,202, 60, 39,232,137,191, 30,193,187,145,193,141, 52, 27, 13,243,106, 46,187,254,178, 98, 28,196,212,223, 90,131,
-158, 9,196,225,125, 96,177,216,100, 86,205, 88,213, 2,143, 84, 69,129, 27,188,228,193,107, 3, 72,104,138, 49, 86,246, 28,198,
- 16,186,158, 44,149,196,165,229, 98, 33,240,139, 77,168,235,233, 16,136,145, 48, 21,250, 24, 69,110, 82,166, 34,217, 48,102,202,
-168, 15,194,190,213, 74, 49, 58,201,176,215, 90, 51, 14, 3, 54,145,230, 42,132,192,114, 41,153,204, 76, 13, 75, 93, 75,108,223,
-244, 99,196,168,135, 72,136,128, 23, 36, 33,196, 72, 85,229,172,154,134,110,146,133,140,163, 76,216,205, 88, 79,127, 27,138,162,
-196, 90, 67, 98, 52, 42, 70, 10, 43,114,137, 56,122, 94,175, 23,176,125,240,198, 55, 33, 22, 66,202, 10,104,136, 97,130, 31, 97,
- 25, 86,172,175,173, 17,157, 19,126,130,181,180,222,211, 44,151,248, 24,129,201, 4, 70,169, 41,213,109,133, 15,129,245,117, 33,
-196,132, 24, 9,110,196,133, 78,110, 78, 43,238,123,163, 27,232,154,134, 48, 77,244,227, 56,146, 36, 22,107, 53,248, 20, 73,181,
- 10,180, 99, 79, 53, 19,227,154,247, 94, 25,120,207,225,138,184, 81,163,162,197,189,124, 17,125,211,126,153,166,178,130, 56,122,
- 98, 49, 53, 87,125,143, 74,114, 56,156,242,185, 63,126,148,116, 89,115,112,119,197,197,102, 36,253,171, 63,160,190,229, 25, 22,
- 99,197,201,219,111, 97,181, 92, 48, 43,118, 81,230, 57,143, 63, 13, 79,158,250, 30,111,190,118,174,175,115,197,101,135, 57,114,
-232, 0,197,142,157,248,190,231,222,251, 31,224,183,254,232, 79,248,220,253, 15, 1,111,133,207,111,190,246,106,126,224,158,187,
-184,227,228, 77,140,110,100, 62, 19,135,190,157,235,115,214,231, 34,103,123,243,117,253,241, 99,220,245,246,219,184,249,186,107,
- 57,118,249, 33,142, 95,121, 37, 74, 41,158,126,252, 73, 30,249,206,147, 44,234,134, 3,123,247,112,215,173, 39,217,181,111, 31,
-105, 52, 4,231,120,233,149,215,248,242, 67,223,224,211, 95,188,143,231, 94,120,131, 53,159,103, 41, 39,111,184,150, 44, 47, 56,
-127,241,117, 14,238,221, 75, 63, 8,203,254, 95,253,230,239,240,240, 99,143, 3,112,244,242, 67,220,113,242, 70,110,188,246,106,
-118,204,103,188,114,238, 60,127,254,215, 95,224,187,167,159,167,174,107, 54,235,213,246,107,106,173,121,125, 99, 3,165,133,185,
- 91,215, 53,253, 48,242,169, 47,124,153, 39,190,251, 52,195,248,134,123,226,127,122,165, 38,225,250,171,143,113,229,145,195,244,
-253,200, 51,167, 95,224,169,103, 78,243,192, 55,191,197,185,215, 47,190,229,207,206,103,115,174,188,252,114, 14,236,219,203,254,
- 61,187,185,238,196, 85,236,217,189, 11, 34,220,251,192, 67, 92,118,240, 0, 15, 63,241, 36, 15, 63,244, 16,155,131,103,255,209,
- 43,137, 65, 44, 53,173,181, 40,132,237, 92, 21, 37, 62, 72, 10, 92,240, 30,109, 21, 97,244,148,147,223, 1,136, 9, 83,140, 66,
- 76, 91, 44, 86, 64, 64, 35,168,152, 82, 61,105, 42,105, 92,221,208, 19, 67, 96,177, 88, 10, 99, 60, 85, 19,225,181, 66,121, 73,
-142,235,219,233,128,246, 3, 49, 68,180, 49,172,173,137,164,149, 40,204,250,113,236,104,125,192,133, 72,158,167, 82, 8, 17, 2,
- 86, 12, 18,231,218, 53,194,145,153, 85, 51,178,204,210, 13,157,112, 2,220, 72,154, 72,120,137, 27, 29, 62,136, 95,132, 49,146,
- 34,185,197,224, 70, 9,119,193, 24, 69, 81, 84,164,115,113,138,235,251,158,188, 40,169,166, 41, 82, 24,236,162,117,207,203, 28,
- 21,164, 9,136,163, 39, 70,200, 74, 41, 82,104,141,142,154,174,235,152,207, 38, 3,174, 16, 68,238, 71, 16,146, 95, 39,210, 87,
-148, 66, 43,168,151, 18,122, 85,205,102,194,155, 66,158,144,178,152,242,198, 9,244,157, 35, 79, 82,154,102,133, 82, 18, 75,155,
-152,132,116,242, 14, 88, 46, 22,226, 91, 17, 2,107,235,235, 36,137,101, 54, 55, 52,157, 68,157,142, 33,224,131,163,174,151, 36,
- 90, 86,172, 27,155,155,219,187,236, 52,207, 73,181,104,187,251, 90,172,124,243, 52,133, 84,162,187,251, 94,200,173, 68,240, 65,
-114, 51, 98, 8, 96, 12,174, 31, 4,173,152,106, 75, 4,226,216,147,101, 25, 33, 74, 74,105, 81,136,247,193,188,122,131, 28, 55,
- 91, 91, 67, 51,217, 12,123, 63,133,237, 8,233, 55,177, 41,190,239,153,207,164, 38, 37,105, 38, 28,165, 44, 67, 27, 35, 40,140,
-181, 36, 69, 65,219, 54,136, 58,195, 17,189, 40, 35,198,161,199,249, 14,162, 38, 73,140,165,200,229,141, 45,151, 75,148,150, 12,
-226, 56, 72,230,110, 0, 50,107,223,114,147, 27,155, 76,176,169,194, 71, 97,148,183, 77,199,250,250, 28, 20, 36,105, 74,179, 90,
-145,102, 41, 41, 34, 53,211, 9,219,254,183, 91,108,108,165,222,136, 88, 85, 49,210, 52,211, 13,110, 51, 98, 12,116,189, 20, 75,
-141,134,137, 96,181,181,191,219,154,230,148,146,194,238,131, 88, 57,134, 16,216,184,180,129,181, 98,173,151,166, 25, 33,120,154,
-174, 39, 75, 18,152,160,145, 24, 68, 15,111,109, 70,154, 24, 86,117,183,205,156, 84, 49,160,181,193,143,226, 68,133, 82,100,211,
- 46, 39, 73,140, 72,184,166,247,144,217, 20,157, 36,162, 67,119,142,110,236,137,131,200,220, 18,173, 49,214, 50, 79, 83,188,115,
- 44,155,134, 68, 41,214,119,236, 96, 75, 38,180,185, 88,160,148,102,190, 54,155,186, 59,241, 30,222,220, 92,160, 80,219, 19,253,
- 86,227,147, 24, 67, 8,178,166,240, 49,162, 39,178, 68,130, 16, 69,134,126,148,233, 2,129,122,188,247, 72,228,161,133,105, 23,
- 45,176,188, 48, 68, 5,150,140, 19, 57, 67,138, 79,140, 17, 73, 59, 19,178,100,112,227,212,224,129, 66,201,110,108, 54,163, 94,
- 46,137,206,177,121,113, 58,120,181, 65,155, 9,129, 72, 83,150, 75,113, 60, 74,173,133,233,126,217, 90,215,128, 60,252, 91,176,
-104, 85, 20, 12, 62, 96,146,105,191,102, 19,236, 44,165,173,107,242,188,100, 28, 59,186,174,161, 9, 65,166,211, 40,186,123,105,
- 48, 35,135,119, 23,124,226,102, 69,236, 29,177, 30,249,250,223,190,196,110, 19, 57,113,104, 29,117,177, 38, 94,166,225,165,215,
-208, 59,215,136,235, 5,172, 2,177, 74,137, 47,213, 92,188,184,100,223,158,117, 94, 95,180, 60,251,157,231, 81,207, 93,228,248,
-197,138, 19,119,124, 16,163, 53,217,174,157,156,122,238, 52,191,246,191,254, 31,219, 5,239,205,215,145,195, 7,216,183,123,151,
-144,123,154,134,113,144,104, 77,153, 48,223, 90,208, 1,222,117,219,219,248,240,123,239,230,150,147, 55,131,134, 83, 79,157,226,
- 55,126,251,247,249,163, 79,127,246, 45,147,239,214,117,113,177,224,237, 39,111,228, 99, 31,254, 16,218, 38,248,174,229,161,111,
-124,139,223,252, 15,127,198,231,238,251, 26,169, 77,248,192, 93,239,228,150, 27,174,101,143,209, 52,139, 21,103, 95, 59,199,131,
- 15, 63,194, 23,238,127,128, 83,167,159,219,126,173, 89, 89,242,225,247,191,155,123,222,126, 27, 87, 31, 59,202,174,157, 59, 40,
-179,156,197,106,197,169,231, 78, 19,252, 27,239,247,213,115, 23,168,202,156, 3,123,247,112,197,161,131,124,235,177, 39, 88, 95,
-155,147, 89,203,211,175,158,167,169,101,199,189, 62,171,248, 71,191,248, 11,188,239,157,239,224,200,161, 3,108,214, 43, 94,120,
-249, 44,247,127,253, 97,158,127,233, 12, 47,189,246,253,191,147,214,154,203, 14, 30,224,158, 59,110,229,186,107, 78,112,221,137,
-171,152, 87, 51, 78, 61,251, 4,207,191,252, 50,167,158,127,158,151, 94,121,237, 45,127,231,234, 99, 71,185,235,142, 91,185,237,
-198,235,217,189,107, 39, 49, 68,150,171,154, 44,205,216,185, 99,206, 53, 39,174, 98,213, 52,156,126,241, 12,175,190,126,137,135,
- 31,123,156,221,167,158,225,142,119,221, 73,145, 21, 52,190, 65, 69, 69, 85, 74, 2, 97,140,145,116,106, 34, 35, 1, 49,107,233,
- 80, 8,169,170,200, 44, 67, 63,110, 39, 18,174, 86, 75,178, 84,154, 76,231, 28,237,114, 69,185, 99, 7,121,154,178, 90,213,204,
-231,178,174, 90, 45, 86, 50,225,118, 45,222, 5,230,243, 18,109, 45, 65, 7, 50,151,163, 20, 19,156,141,196,137, 2, 62, 56, 24,
- 71,130, 86,204, 10,113,144, 11, 46,200,253,151,230,104, 45, 5,118,203,208,102, 24, 7,108,180,196, 49,130, 17,247, 57, 51, 19,
-133, 76, 81, 22, 12,195,128, 50, 70, 16,187, 32, 8,103,223,247,204,231,115, 98,148,116,187,190,151,245,215,114,185,154, 6,128,
- 5,105,146, 50, 91, 43,113,157, 35, 42,145,228, 41, 20, 93,215, 97,172, 33, 75, 50,210, 60, 69, 43, 67, 81,149, 98, 0, 19, 35,
- 77,215, 73,140,114,145,209,181, 61,198, 8,113,186,105,228, 12,175,230,146,119,174, 96, 42,106,129,229, 98, 33,220, 33, 45, 41,
-161, 86,105, 76,106, 73, 76, 66,146, 8, 49, 55,205, 75,130, 27, 25, 70,135,138,162, 66,114, 97,164,156,205, 48, 17, 76,106, 38,
- 39, 53,112,126, 82, 83,248, 72,231,100,112,138, 33,210,199, 94, 80, 71, 45, 9,117,193, 7, 98,221, 80, 7,225, 52, 17,101,133,
-144, 76, 67, 69,150,201,202,192, 36,118,226,235, 48,166,135, 0, 0, 32, 0, 73, 68, 65, 84, 56, 73,236,116,150, 21, 34,225, 54,
- 98,255, 93,217, 10,148, 24,129,185, 81,140,176, 82,155,226, 71,199,210, 47,196,181,207,138,132, 59,122, 97,222, 43, 35,136, 71,
-223,117,219,136,101,215,118, 12,253, 32, 38,107, 65,100,191,198,202,106, 34, 68,225,119, 41, 45, 43,209,174, 19,178, 94,215,117,
-120, 39,141, 83, 93,175,136, 1,178,114,198,208,181, 36, 74, 65,136,113,130,136,102,180, 77, 45,206,104,106,162,236, 35,153,213,
-110, 20, 56, 33,203, 45,102,218,163,130,200,147, 18, 91,161,188, 76,192, 81,129, 31, 6,233,108, 16,207, 99, 99, 20, 68,129,126,
-202,170,154, 38, 96, 49,121, 72, 18, 49,164, 65, 73, 18, 18,192,232, 29,149,205, 81,106, 10,155,215, 6,152,246,222,203, 37,222,
- 11,225,195, 24,131, 82, 18, 48, 32,157,100, 75,179,106, 8, 49, 16,130,102,177, 92, 98,141,161,156,205, 72,162,208, 65,150,151,
- 46,225,220,136,143,138, 44, 77, 25,199,158, 97, 0,101, 52, 49,130,205, 44, 85, 81, 73, 17,210, 90,160,152, 60,103,236, 59,250,
-209, 19,130,216, 59,206,222,100, 11,155,171,148, 64, 32, 75,196, 57,205,148, 98, 69, 8,114,120,173, 86, 43, 73, 79,138,145,104,
-196,193,174,109, 58,178, 60,101,199,250, 14, 86,203, 37,117, 45,233, 67,221, 20,152,147,101, 25,169, 77,209, 74,163,180, 98,199,
- 78,201, 22,183, 54, 33, 4, 65, 58,172,145,125,146,178,137,104, 80,149,120,190,239,220,185,147,113, 16,194,160, 77, 82,210, 60,
-221, 54, 47, 24,189, 23,232,176,109,233,251,142, 36,181,164, 90,200, 49, 58,129,177, 21,107, 74, 71, 36, 12,158,204, 90, 76,153,
- 49, 78, 1, 49, 85, 85,209,181, 98, 39, 60, 91, 91, 35,120, 71,211,141, 68, 55, 16,135,158, 98,125,141,174,147,188,247,188, 72,
- 81, 81, 86, 18, 91,247,139,247, 18,203, 26,130,252,255,179,249, 28,231, 28,171, 9,237, 8,193,225, 70,135, 30, 12,101, 53,201,
-118,162,228,105,167, 89,198, 98,115, 83,160,193, 84,252,252,181, 86,172,234, 21,255,221,157, 41,179, 60, 39, 46, 59,212,108, 7,
-215,237, 95,240,210,183,159,134,236,106,186, 87,158, 39, 61,188,134,186,242, 32, 97,109, 7, 28, 57,194,183,254,229,159,240,246,
-183, 31,227, 59,223,121,129, 89,128,139, 33,112,206, 5, 92,215,115,224,196, 13, 92,123,231, 15,162,181,200, 2,149, 82, 92,220,
- 92,176,111,239,110,118,172,175,109,167,144, 93,125,236, 40,255,251, 63,249,239,121,223,199,127, 16, 87,119,184, 85,203,230,249,
-243,220,247,245,111,241,249,175,124,141,243,255, 25,169,215, 79,124,244,239,240,243, 63,241, 35, 28,216,183,151,224, 29,202, 43,
-158,127,233, 44,167, 78,191,176,221, 84, 1,220,120,226, 56,255,250,215,255, 71,241, 56, 15,142,125,187,118,161, 98, 20,164,167,
-233, 56,119,241, 18,222, 57,246,238,218, 73, 63,140, 28,189,252,144,236,228,154, 6,163, 13,123,119,238,228,158,183,223, 78,211,
- 52,188,112,230, 21,206,190,118, 14,165, 20,239,191,235, 78,238, 60,121, 19, 71, 15, 31,226,192,190,125, 20, 89,198, 83,223,123,
-150,123, 31,252, 6,143, 60,241, 36,167, 78,159, 6,100,165,112,249,161,131,148, 69,201,238,245, 57,206, 7,142, 94,118,136, 60,
- 75,249,255, 9,123,239, 96,205,206,251,190,239,243, 60,207,233,231,125,239,189,219, 11,118, 23,139,197, 98,177,232, 29, 32, 0,
- 54,176, 23,145,162, 73, 21,147,150,163, 98,209, 99, 69, 78,226,140,173,113,146,153,196, 78, 50,214,140,149,201, 56,114, 34,219,
-177, 20,135,137,122,177, 26, 41,138, 18, 73,176, 8,133, 32, 81, 22,192, 46,234, 46,118,177,189,223,123,223,114,234, 83,242,199,
-239,220, 11, 80,148, 39,231, 63, 14, 23,119,239,190,239, 57,231,249,149,239,247,243,181,222,115,117,121, 69, 94,220, 38,226,192,
-245,123, 9, 33,176,103,215, 78,146, 56,230,241,111,124,155, 35,175, 29,229,240,171,175,243,248,211,207,173,255,155,148,146,103,
- 24,164,160,139,180,102, 60, 42,249,196, 35,239, 98,188,176,200, 87,190,249,109, 30,123,250, 57,210, 56,226,249,195,111,241,224,
-181, 22,146,218,198,197, 5, 22,202,146, 81, 81,176,115,203,102,146, 52,225,236,185,139, 52,109, 67, 28,109,100,235,198,141,252,
-250, 31,126,145,229,201, 42,179, 1,206,115,229,242,101,254,226,139,127,198,157,247,222,205,181,215,238,197, 5, 16,180,177, 88,
- 78,187,129,139,161, 1, 61,140,148,171,166, 18,171,144, 10, 20, 35, 9, 99,106,154, 26, 80, 8,103, 93, 44, 98, 93,215,209,183,
- 66,139, 44,138,148,174,147,105,147,142, 53, 67,101, 64,146, 68, 76,167, 51, 76,108,208, 65,118,179,245,124,142, 25, 94,246,222,
-122,138, 92, 68,100,163,145, 20,246,237, 32, 54, 51, 72, 97,109, 93, 79, 28,100,212,171,145,145, 56, 32, 7,148,119, 20, 69, 65,
-172, 83,234,170,161, 31, 4,124,214, 58, 98,160,239, 37,133, 81, 41, 53, 8,239, 28,125,232,137, 61,120,103, 9, 65,222, 85,189,
-235, 89, 28, 47,202,129,107,131,192,167, 2, 36, 89, 68,215, 73,215,238,123, 7, 70,154,162,182,233, 72,211, 4,101,148,160,115,
-131,151,177,187, 50,196,113, 68,223,183,228,229,136,160,132, 6, 89,213,115,162, 40, 94, 39, 41,122, 47,218,169,166,109,152,215,
- 18,173, 93,119, 45,161,105, 88,155, 72, 18, 2,113,154, 18, 13,157,170,179,150,206,185, 1,170, 21, 49,175, 42, 10, 85, 96,140,
- 16,226,162,100, 16, 38, 39, 41,189, 21,229, 60, 64,211, 74, 58, 94,211, 55,140,242, 17,243,249, 28,107,165,105, 69, 67, 8, 34,
-104, 93, 99,211,107,173,241, 46, 33, 56, 79,231, 91,156,115, 36,169, 96,119,173, 19,174, 66,235,218,161,241,179, 20,163, 17,218,
- 24,178,108,208,126, 69, 34, 76,244, 94,166,216, 81,146,200, 89, 19, 68,114,223,183, 13,206, 9,253,110,141, 76, 87, 55,205,224,
-203,151,119,224,124, 42,161, 63, 74,137,125,124, 97, 97,140, 30,214, 4, 89,150,225,156,101, 54,157,210,117, 50,242,103, 80,221,
- 71, 81, 68,212,116, 29,182, 23, 53,165, 88,166,244,144, 61, 45, 29, 89,154, 21,120, 43,216,188,190,107,177, 93,187,254,153,143,
- 70, 35,234, 74, 66, 5,188, 15,228,121,182,142,245, 83, 90,198, 93,121, 94,210,116, 29, 42, 8,167, 88, 8,100,201,208, 65, 74,
-176,123, 20, 9,142,118, 92,136,133, 43, 9, 17,214,201,248,168, 30,170, 73,161, 40, 5, 70,227, 49, 62, 64, 91,119,235,187, 36,
-215, 7,162, 88,147,164, 57, 81,148,208, 52,210,129,119,173,216,169,130,247, 76,166,115,122,219,147,103,114, 83, 41,165, 69,157,
-109,228,224,158, 76,196, 66,183, 22, 20, 17,148,194,161, 8, 90,225,172,144,146, 36,127, 87,118,106, 33, 4, 68,124,167,168,234,
-154, 60,139,113, 62,172,139,191, 80, 74, 94, 12, 65,246,234, 89,154, 74,193,227, 3,125,239, 40, 71,133, 60, 28,182,167, 28,151,
-204,102, 21,222,137,144,164,242, 45, 89, 94,226,173,165,181, 61, 90, 73, 55,158,167,162,222, 79,146,132, 60,203,233,173, 37, 47,
- 10,108,223,163, 19,217,241,103, 75,139, 88,107,201,139, 12, 2, 66,158,242, 94, 30,152,224, 48, 70,139,224,113,200,139,215,136,
-154,119, 52, 42,113,222,146, 69, 17,171,211, 41,227,164,164, 10, 21, 73, 18, 19,167, 41, 25,217,240,160, 73, 39, 79, 16,241, 80,
-211,117,132,166, 70,165, 41, 74,105,230,203,203,120, 99, 80, 90,138,151, 86, 75, 71,173,148,146,226, 42, 17,236,238, 26,244,166,
-174, 4,227,155,231, 25, 65,105,156,237,165,155, 26, 23, 40, 45,150, 16,153, 10, 25,230,243,137,228,181, 35,118,165,160, 21,213,
-108,206,251,111,137,185,231,218,152,224,122, 72, 12, 42,238, 88,116, 29,139,183,238,133,171,115,210,119,236, 7,235, 81, 23, 91,
-184,231, 78, 40,238,102,199, 53,223,230, 63,252,201, 51,164, 46,176,109,156, 48,171, 44, 57, 1,118, 29,228,225,143,254, 56,113,
-154, 16,130, 48,179,189, 11,220,180,239, 58, 54, 44,140, 89,157,190,181, 27,127,237,141, 19,252,147,255,249,151,248,175,207, 95,
-224,195,239,121, 23, 73, 18,241,226, 43,175,241, 27,127,248,167,124,251,187,223, 19,101,246,112,197,145, 96, 51, 47, 95, 89,102,
-117, 58,231,134, 27,111,192,213, 53, 47, 29, 61,198, 83,135,158,231,123, 47, 28,225,210,149, 43,236,220,182,149,143,189,255, 61,
-236,221,185,131,139,151,175,114,231,205, 91,217,178,117, 11, 74, 43,136, 34, 48,134, 75, 87,175,242,212,161, 23, 56,244,210, 43,
- 92,188,124,149, 79,125,232,125,252,196,167, 63,201,182,205,155, 65, 25, 86,103, 43, 60,247,226, 75,124,249,209,111,241,220, 75,
-175,112,121,121,133, 77, 27, 55,112, 96,239, 30,238,190,245,102,222,243,224, 3,108,217,188, 17,165, 52,231,207,159,231,202,242,
- 50,211,106,206, 11, 47,191, 38, 83, 53,173,185,243,150,131,124,224,225,119,112,235,141, 7, 56,121,254, 34, 95,248,143,127,194,
-161, 35,175, 74,156,235,217,115, 28,123,243, 20,187,119,108,227,231,126,242,239,240,177, 71,222,205,150, 13,139,244,189,227, 55,
-254,227,159,240,212,243,207,243,242,171,199,184,180,178, 74, 89,228,212, 85,131,103, 77,112, 10,155, 55,110,100,239,174,157,236,
-216,186,133,107,118,108,227,220,229, 43,124,229,175,158,224,185,195,175,240,229, 71,191,193,172,106,214,119,239,198, 24,110,220,
-119, 29,119,221,122,144, 44,205, 80,198,112,121,121,133,181, 0, 18, 33,155,121,158, 59,242, 50, 42, 4, 62,242,222,135,248,133,
-127,241,191,114,242,204,217,245,207, 62,132,192,161,167,159,229,220,153,115, 60,244,206,135,134, 21,143,116,176,211,201,148,209,
-104,132, 39, 48,159,213,244,131,248,151, 0,125,231,240, 70,242,191,211, 52, 39, 73, 28, 93, 43,207, 43,168,161,171, 18,148,245,
-172,174, 41,242,156, 40,138,241, 40, 89, 85,122,193,221,142,199, 66,151,179,222,211,212, 53, 73,158,210,181,146, 22,231,147,192,
-172,146,164, 68,239, 3,104, 41,126,108, 47,239, 84, 20, 34,216,139, 12, 69, 42,156,245, 81, 52, 26,172,189,146, 42, 87,183, 45,
-182,235, 48, 81,196,104, 84,208, 91, 79,145, 23, 88,111,169,230,149, 76, 58,141,166,111, 91,210, 98, 36,106,234,186, 25, 86, 34,
- 2, 73, 65, 67, 93,201,187,219,246,118,125, 44,236,131,224,155,181,137,135, 61,189, 88,134,227, 36, 89, 39,154,185,190, 71, 27,
- 69,154,102, 76,171, 41,227,209, 88,118,216,125, 79,158,101,244,173,160,162,227, 56, 6,194,144,233, 33,153,224,109,215, 17,105,
- 3, 14,188, 26,154, 68, 51,116,183, 8,125,174, 85,106,253,123, 12,109,131, 66,118,244,107, 89, 19, 1,153,160, 90,231,136,211,
-132, 34,205,208, 90,175,167,134,102,105, 38, 77, 83,154, 67, 80,140, 23, 68,239,229,135,119,179, 27,138,233,186,106,232, 6, 26,
- 96, 28, 71, 16, 68,120,236,162,158,222, 89, 66, 24,148,243,193, 75,232, 76, 8,244, 33, 48, 89, 89, 38, 40,153,130,198, 70, 34,
- 97,181,142, 40,178, 88, 68,212, 62, 48,175,231,235,133, 85, 8,176,176, 48, 70,105,209, 3,229,185,172,167,227,200,176, 58, 89,
-101,109, 2, 45,143,139,252,142,243,185,176, 78,170, 90,172,206, 90, 71, 34,184, 86, 34, 48,214,218,176,176,184,128,214,134, 40,
-138, 98,146, 36,165,235,100,220, 2,122,189, 90, 81, 42,208,204, 86,200, 75,249, 33,144, 98,187, 6,116, 76,215,213,172, 44,175,
-224,189, 88,182,188,151, 3, 40, 73, 34,170,121,197,100, 50, 97,195,134, 13,160, 20,227,114,188,158, 80, 6, 34,134,202,242,156,
- 56,138, 68,204, 0,195,193, 21, 80, 3, 98,181,109, 44,194,132, 87,146, 59, 60,155,161,163,136,174,237, 73,178,156, 44,151,195,
-121, 50, 19, 81, 89,107, 1,122,146, 52, 37,138,100,188,219, 52,162,126,117,214, 17, 39, 41,117, 83,211, 54,154, 40, 74,165, 80,
- 1,180,145, 14,118, 97,105, 9,188,120,176,187, 94, 14, 57, 21, 69,120, 43,244, 40, 80, 67, 49, 19, 48, 65, 70,213,125, 45, 94,
-215,222, 57,250,166, 34,207, 83, 8,142, 56, 74,100, 15,210,119, 40, 29,147,143, 71, 40,175,177,161, 39, 53, 2,250,233,157, 16,
-216, 82, 21, 81, 85,115,137, 58, 13, 30,205,224, 73, 69, 0, 50,113,156, 34, 21, 27, 82, 57,231, 25, 93,219,209, 59, 81,227, 42,
- 21,112,214,210,211, 99,180,166,154, 86, 36, 89, 74, 95,205,135,213,131,199, 6, 33,225, 5, 36,234,116,253,133,225, 61, 73, 38,
-130, 58,135,197,107,104,154,154,216, 24, 90,103, 89, 24, 9, 71, 90,107,205,124,136,127, 37, 72,170,154,210, 18,189,235, 7,189,
- 3, 1,232, 4,115,136,247,148,139,139,120, 5,137,214, 84, 77, 71, 26, 75,198,180, 54, 70, 88,245,214,202,164, 37,138, 96, 24,
-125,102,185, 80,234,146,212, 72, 23,227, 29, 73, 34,251,117,235,197,182, 18,128,186,146,238,200, 91,207,103,223, 81,240,185,155,
- 60, 97, 6,152, 22,180, 33,168, 12,117,223,126,152, 55, 4,101, 64, 71, 60,250,103,207, 51, 70,115,223,167,255, 41,164, 7,216,
-100, 34,222,181,111, 51,207,157,158,112,117,181, 98,172, 13,151,242,205, 60,240,254, 79, 50,218,188, 69, 14,116,163, 81,113,204,
-236,226, 37,254,187, 95,250, 87,252,201, 95, 62,202,219,175,125,123,247,240, 79,127,254,243,124,226,163, 31, 34, 56,199,213, 43,
- 87,216,176,180,200, 59,238,190,147,170,110,120,254,229, 87,233, 58, 1, 87,220,122,227, 1, 30,188,251, 14, 62,245,145, 15,176,
-121,227, 6,158,122,234, 25,126,241, 87,254, 29, 79, 60,125,104,253,231, 41, 13,215, 94,179,131,207,124,248, 3,220,114,240, 0,
- 26,197,180,174,104,135, 78,230,226,233,179,252,235, 47,252, 6,191,243,167, 95,102, 94, 9, 33,235,218,221,215, 48, 42, 75, 86,
- 86, 38,108,223,180, 17,133,231,220,133,139, 28, 63,125,134, 51, 23, 46,242,242,107,111, 16,240,108, 88,220,206, 7,222,249, 16,
-159,252,240,251,216,180,184, 72, 20, 69,156, 61,119,158,167,158,123,145,175, 62,254, 20, 79,191,240, 2, 87, 7, 14,125,153,231,
-108,223,186,153,119,220,115, 39, 91, 55,109,228,226,149,171,220,180,127, 63,143, 62,246,212,247, 9,248,198,163, 49,151,175, 92,
-229,226,229,203, 84,117,197,100, 58,227,220,165, 43, 36,113, 74,239, 28,203, 43,111, 61,243,111,191,218,182,229,154,237, 91,249,
-220, 15,127,156, 71,222,245, 48,213,108,198,153,243, 23,120,229,232, 49, 86,167,223, 31,221,234,156,227,149,163, 71,217,182,101,
- 19,159,248,192, 35,108,219,186, 73,114, 34,146,152,121, 85, 83, 22, 57,155, 54, 44,242,213,111, 63,201, 63,255, 87,255, 7,187,
-182,111,101, 84,142,248,235, 87, 8,129,243,103,207,242,141,175, 61,202, 59, 30,126,136, 44, 47,132,140, 25,164,171,237, 58, 73,
-152, 43, 50,225, 79,104, 35,105,135,109, 35,246,216, 36,203,176,189, 23,207,184,117, 68,113, 76, 81, 22, 4,192, 7, 79,154,165,
-244, 93, 79,215,118, 3,137, 50,160,188,184, 60, 60, 34,123,137, 99, 97,174,107,101, 72, 83, 77, 91,183,244,222, 18, 33, 62,115,
-135, 19,252,169, 82, 16,222,138, 42, 94, 3,201, 40,163, 72,162,132, 44,203, 65,131,111, 28,147,174,162,200, 50,146,162,196, 91,
- 79, 83,117,160, 2,109,144, 61,244,120, 36, 69,176,239,237,208,221,206,208,198, 16,167, 49,113, 58, 16,208,122,177,254,230, 69,
- 42,135,186,149,160, 44,165,100,247, 31,188, 5,219,139,194,190,111, 0, 45,239,109,165,135,149,172, 56,106, 26, 43,153,237,147,
-233,148,133,241,152,182,237,169, 86, 87, 25,151, 99, 90,219,209, 55,173, 52, 66, 54, 16,180, 28,224, 89, 62, 66,105,121,255,107,
-164,160, 81, 40,178, 66, 26, 34,231, 28,222, 75, 22,123, 8, 65, 48,213, 70, 73, 83,164, 12, 69, 34,254,120,148, 65,136,114, 61,
- 53,129, 56, 78, 73,179,156,186,158,211,249,150, 56, 21, 81,169, 15, 30,223,123,122,239, 80, 74, 99,219,142,128,168,201,189,247,
-120,223, 50,153, 88, 70,101, 73,154,166,204, 43, 17,206, 57, 39,164,212,182,149, 78, 93, 25,141, 27,244, 79,242,231,100,117,108,
-129,188, 28,147, 36,226, 16,170,155,138, 40,146, 98,198, 57, 79, 51,168,227,131, 18,215, 73, 50,156, 49,222, 59,102,243,154,241,
-194, 34, 42,200, 58,180,183, 61, 70, 27,209,124, 68, 6, 29,100,106,108,157,163,175,107,105,168,156,103, 97, 65, 50, 34,244,240,
-179,162,190,239,215,191,100,239,132,164,163,148, 26,118,172, 98,181,176,157, 69, 41, 81, 28, 43,165, 72, 98,131, 49, 37, 93,183,
-138, 49,154,174,237, 64,131,109, 26, 90, 47,149,133,209,138,174,239, 80, 90, 70,205, 74, 43,150,151, 87, 80, 90,179, 48, 42, 89,
- 89, 94, 37,201, 34,242,116, 88,252, 43,129,159,128,120,255, 34, 35,248, 84, 19, 27,186,218, 98,226, 12, 77, 32, 73, 12,125, 93,
-211,107, 5,104,185, 57,147, 8,229, 61, 62,196,132, 94, 58,219,233,108,134,247, 22,133,166,239,221, 0, 47, 9, 52,173,236,204,
-148,214,162, 30, 7, 17, 63,244, 29, 26,137, 14,148, 63,160,134,174, 27,172,115, 52,245, 90, 88,195,154,159, 60,102,222,204, 81,
- 74, 51, 46, 75, 66,112,172,174, 78, 8, 4,154,186,193,152,136,197,165, 37,250,174, 35,232, 53, 46,181,162,174,106,202,162, 96,
- 58,157, 82, 19,200,243,156,178, 28,201,207, 15,129, 16, 60,193, 43,172,175,209,136, 82, 61, 77,115,156, 19,198,112,153,231,232,
-225,231,181,182,167,175,123,162, 56,198,104,131,237, 58,138, 66,152, 0,113,154,202,136, 49, 4, 18, 19,227,172,140,208,230,243,
-233,250,139, 54,142, 99,234,229,154, 48,236,125,141, 82,140, 22, 23, 8, 33, 80, 85, 51,102, 51, 75, 86, 20, 88, 43, 47, 42, 16,
-125, 67,231,172,164,175, 1,198,104,172, 86,208, 84, 4,101, 6, 37,124, 68,215, 74, 44,165, 50, 49,139, 11,169,168,251,135,151,
-107,108, 12,217, 48,134, 19,133,167, 80,153,140,137, 6,171,158,124, 14,107,124, 3,141,166,111, 59,218,208,226, 3,148,121, 70,
-108, 2,159,189, 71,243,209,173,142,223,250,237, 67,252,208, 93,219, 25,239,221, 72, 72, 19,148,235,240, 33, 66, 41,131, 42, 83,
-158,249,139,151, 57,250,198,101, 62,118,199, 30,148,142,241,179,239, 80,152,150, 27, 62,117, 11,251, 95,153,240, 91, 95, 58,196,
-233, 80,114,247,199, 62,199, 77,247, 62,140,109,135,251,245,226,101,254,245, 23,126,147, 95,249,194,111,242,246,107,231,214,173,
- 60,112,247, 29,188,239,161,251,121,228,129,251,192, 57, 94, 56,114,132, 95,252,223,255,253,186,183,251,237,215,210,194, 2, 7,
-174,223,199,181,187,174, 33, 75, 51, 46, 93,190,202,147,207, 62,199,145,215, 68, 65, 31, 71,134, 91, 14,220,192, 67,247,222,201,
-150,141,155, 56,114,244, 24, 85,211,176, 99,155,136,193,108, 8, 24, 39, 7,201,223,251,241,207,176,115,219, 86,126,245,183,127,
-159,186,150,169,208,202,116,194,155,103,207,177,123,231, 14, 58,107, 57,126,242, 12, 71,143,191,201,137, 83,167,215,191,219,187,
-110,190,153, 59,111,189,153, 36, 26,236,136, 65,186,224,213,249,156, 67,135, 95,226,234, 16,170, 82,230, 41, 63,242,177, 15,241,
-158, 7,239,227,250, 61,187, 57,113,230, 44,199,222, 60, 69,153,231,252,194,207,253, 61,126,255,139,127,206,119, 95, 56,204,134,
-165, 69,254,246, 39, 63,194,199, 30,121, 55,179,170,225,255,252,141,223,227,143,255,226,171,120, 47,241,145,227,178,100,227,210,
- 18,151,175,126,191,208,109,113, 97,204, 15,189,239, 61,252,216, 15,125,148,251,238,184,133, 67, 47, 30,230,213, 55,142,115,238,
-226, 21,110,190,225,122, 78, 95,184,200,165,183,129,118,118,239,220,193,135,223,251, 78,118,108,217,204,201, 51,103, 57,176,111,
- 47, 91, 54,110,160,204, 5,233,156,165, 41,231, 46, 92,164,110,107, 22, 71, 37,167,207, 95, 4,222,138,137,125,251,200, 31, 96,
-249,234, 85, 30,253,234,215,216,127, 96, 63,215,236,222, 45,248, 86,239, 73,179,156, 92, 27,102,179, 57,121,153, 75,247,136,164,
-134,205,166, 83,108,223,163,180,194,245, 22,219, 9, 33, 83,121,225,180, 11,177, 82,179, 80, 44,200, 52, 46, 56,234,105, 69, 94,
-136,248,182,109, 91,180,210,116,117, 96, 45, 23, 98, 84,140,200,178,140, 76,133, 33,188,166, 34, 82,134,150,150, 44,206, 4,188,
- 20,132, 69,225,253, 16,226, 97, 69,164, 54,155, 77,101,212,172,164,216,239,157,151,102,194,196,100,113,138, 30, 84,206, 77,215,
-200,223,173, 53,160,176,237, 92,222,109, 90,131,151,176, 41, 19, 69, 44, 45, 45, 17,188,103, 58,172, 44, 68,196,235,177, 67, 76,
-105, 94,148,100,113, 2,116,120, 31, 88, 88, 28,161,214, 15,165,132,201,108, 74,156, 38,100, 69,206,108, 58,101, 84, 20,204,107,
-105, 14,188,135,102,112,175,160,193,246, 29, 24, 45, 2, 51, 5,206,202, 26,206,134, 32, 26, 2,163, 16, 12,183, 20, 54, 62, 8,
-118, 58, 16,211,181,245,250,222,185,109,123, 92,232,112, 70, 13,129, 60,144, 36, 17,147,201, 42, 93,219, 81,142, 13,109, 83,129,
-135,188, 44, 69,180, 27, 32,168, 32, 76,120, 27,100,210, 17,229,116,109, 75,215, 52, 24, 45, 4,213,174,105,152,205,230, 84, 77,
-205,226, 88, 34,175,219,182, 3, 31,136, 19,131,214, 17, 62,120,108,100,215,109,146, 90, 27,242, 44, 37,142, 83, 76,100,104,219,
- 86, 2,203,188, 71,101,172,107,165,180,150,201,112, 53,157,138,141, 53, 73,232,123,105,200, 84,146, 98,180,166,169,101,114,158,
-101, 25, 77,215,201,231, 58,159,209,181, 45, 38,142,197,197, 53, 40,250, 21,226, 60, 75, 52,196,200,193, 30,173,177,112,109,103,
- 49, 26,210, 88, 4, 20, 65,121, 17, 65,104,185, 7, 20,224, 92, 64,107,152, 76,167,148, 69,193,120, 60, 94, 63, 32,154,174, 37,
- 75, 51,154,166,165,173, 27,218,206,210, 91,185, 73, 66, 16,212, 32, 40,186,166, 97,101, 50, 97,148,166,204,103, 21,205,188,198,
- 68,134, 40,203,232,187, 10,147,104, 60, 6,140, 34, 77, 36,147,216, 89,143, 81, 96,162,132,126, 86, 13,113,126,226,109,246,222,
- 13,227,171, 32, 34, 49, 64,105, 67,176,142, 81, 49,194, 6,199,116,229, 42, 58,205,200,139, 76,132, 31,195, 77, 62,171,103,114,
-208,182, 45, 73,150,146,103, 41,101, 50,166,107, 5,206, 16, 25, 1, 3,212, 93, 75,240,110, 80,211,183,244, 86,108, 29, 33,168,
-161, 34,131,201,116, 38,181,128, 76,204,240, 67, 85,153,229, 57, 62,120,162, 36, 99, 58,157, 0,226, 71, 20,148,173, 40, 81, 71,
- 99,121, 72, 34,163,153,205,103, 20, 69, 65, 20,100,247,146,197,137,220,212,206, 19,105,197,149,203,151, 81, 64, 57, 26, 97,131,
- 31,246, 43,178,170,112,125, 79,150,229,116, 93, 77, 97, 12,211,249, 28,231, 61, 74, 27,138, 44,147, 49,155,148, 49,228,121, 14,
-120,226, 88, 10, 12, 66, 96,180,184, 40, 99,170, 34, 7, 45, 24,219,186,109,197,230, 22,201, 97,220, 52, 13,125,111,209, 65,212,
-253, 89,146, 49,183, 22,188, 64, 26, 70,163,177,120,123,181,160, 30,189,237,169,170,134, 34, 47,153,246, 29,105,158,227, 85, 64,
- 49,196, 63,166, 49, 42, 4,214,244, 27,109,219, 12,156,228, 14, 59,140, 96,187,182, 27,170,232,193,194,104, 28,255,213, 71, 70,
-220,191,195, 16,174, 58,110, 40, 97,246,216, 97, 70, 55,125, 4,117,105, 25, 54, 47,162,189, 1,229, 9,111, 92,226,208, 75,103,
-216,150, 24,250, 0,225,228,215,153,252,249, 55, 88, 60,184, 8,203, 29,143, 61,245, 26,214,195, 13,143,124,138,219, 30,126, 63,
-245,116,130, 49, 26,223,121,222, 56,117,134,173, 27,151,120,215,253,247,240, 87,223,125, 6,185, 52, 91, 55,111,228,230, 3,251,
-185,243,230,131,152, 36,166,107, 27,118,110,221,202,167, 62,252, 1,206, 95,188,200, 43,199, 78,176,118,109, 92, 90,226,179,159,
-252, 40,183, 28,188,129, 3,123,247, 48, 42, 11,142,159, 60,197,249,139,151,217,177,117, 11,211,201,140,222, 58, 46, 92,185,194,
-195,247,222,195,131,119,223, 65, 64, 49,157,137,123,192, 58, 79, 20,122, 90,167,249,227,191,252, 58,255,207,239,253, 17,199, 79,
-157,226,225,251,238,225,129,187,110,227,214, 27, 15,112,221, 53,215,112,205, 53,219,137, 35, 9, 83,138, 99,195,217,243, 23,214,
-173, 96, 81, 20,173,119, 14,189,115,204,171,154,139, 87,206,240,212, 51,207,243,204,139, 71, 56,127,233, 34,189,117,236,219,179,
-139, 27,175,191,142,237, 91, 55,115,215,173, 55,139, 21, 84,107,206,156,191,192,175,255,225, 23, 57,121,230,172,116,198, 75, 27,
-216,181,125, 43, 23, 46, 47,243,210,209, 55,216,179,115, 39, 31,121,228, 93, 40,165, 56,119,225, 34,175,190,113,156, 19,167,190,
-159, 81,191,118, 93,123,205, 14,110, 58,176,159,237, 91, 55,243,198,169,211,188,246,198, 9,158,127,233, 53,158,126,254, 69, 94,
-124,245,117, 25,187,107,136,148,102,247,206, 29,220,184,239, 58, 20,242, 46,184,253,190, 3,236,219,189,139,205, 59,182,161,147,
-152, 55, 94,121,141, 95,255,195, 63,229,204,249, 11, 76,231, 21,215, 95,187,155,151,142,157,248, 62, 24,206,219, 15,244,181,171,
-109, 26,142,188,112,152,190,235,185,238,250,125,104, 45,239,132,209,168, 32,207, 51,186,186,193,197,177, 88, 86,131, 31, 14, 85,
- 41, 18, 37, 25, 12,108,215, 11,171, 35, 72,254,119,153,139, 56,205, 24,195,234,242, 50,121, 81, 16, 25, 67, 19, 36, 37,109,237,
-119,105,154,134,174,233,152,205,103,140,199, 11,244, 93, 71, 98, 12, 33,138,112,214,145,103, 57, 93, 39,221,224,184, 24,211,246,
-114, 56,196, 73, 76, 52,172,180,178, 60,193,187, 64,213,206,136,180,104,147,102,243, 25, 13, 13,107, 44,246, 81, 57, 2,173,209,
- 33,144, 36,130,146,206,178, 12, 27, 60, 42, 8, 31,221, 68, 67, 74,217,124, 70, 64,156, 60,121, 94,224,173,101,117, 50, 33,207,
- 50,170,186,102, 62,157,162, 70, 37,105,158, 19,105, 77,211,118,196, 90,252,219,214,246,100,121, 38,207, 48, 98,139,109,154,142,
- 16, 28,211,169, 28, 78,179,190, 37,234, 59,178, 60,163,109, 90, 60, 16, 71, 29, 94, 33,162, 46, 13, 93,107,209, 40,130,209,232,
- 24,250, 94, 34,162,219,174, 23,183, 65,144, 41,114,111, 59,186,182,151,119,106, 20,209,180, 1,107,197, 25, 52, 42, 50,242, 97,
-210, 34,209,183, 50,249,152,207,231,168,225,125,101,226,152,206, 58,146, 88,156, 70, 89,146,224,227,152, 52, 75, 81,206,209,118,
-157,172, 62, 67,160,171,107,166,211, 41,229, 72,186,246,190,111,229,231, 85, 21,214, 57,212,160,199,176, 94,108,185, 77, 43, 56,
- 91, 19,197,100,185, 8,130,155,186,102, 54, 19, 33,162, 49,134,165,165, 37, 20, 2,141, 81, 90, 34,172,189,247,196,105, 74,176,
- 86, 16,192, 89,190,222,112,122, 47, 36,192,209,128,199,110,106,217,155, 23, 69,142, 68,244,138,198, 97, 58,153,210, 37,189, 20,
-164, 98,125,112,152, 40,194, 53, 13,210, 55, 57, 20,138,214, 90,156,245,132, 32, 62, 99,217, 21,107,180, 14,130, 46,237, 58,214,
-138, 2, 19,197, 24, 29,147, 38, 34,152, 43,179, 12,143,124, 57,198, 8,253,168,169,106,249,114,156,101,210, 15, 55,238,194, 2,
- 77, 91,179, 58, 91, 37, 75, 12,109,221,208,169,142, 90,203, 47, 95,150, 35, 92,111,137, 11,177, 20,244,222, 98, 27, 71,153, 9,
-147, 30, 60, 93, 35, 93,238,168, 40,145, 45, 8,212, 94, 64, 9,213,116, 38,224,151,249,140, 70, 41,188,137, 89, 88, 92,160,177,
- 22,148, 97, 50,157,145,102, 41,174,243,212,212,148, 89, 78,146,166, 56, 43,182,144,106, 62, 39, 4,207,120,188,192,108, 62,195,
- 59,207,104, 44, 31, 48, 33, 80,247, 29,186,235, 49,105, 6,182,167, 44, 71, 98, 49,241,226,187, 78,211,181, 46, 85,188,174,109,
-213, 14, 98,152, 14,141, 60,124, 93,211,209,247,173,220, 40, 33, 48,159,201,223,153,151, 37,171,147, 9, 33,200,184,223, 59,135,
-114, 2,220,153, 12, 94,249,190,109, 41,138,130,182,109, 89, 28, 47,224,220,144,224, 99,101, 47,150,164, 41,109,211, 80,117, 45,
-163, 44,147,113,182, 19,142,117, 83, 87, 36,169,208,248, 66,128,214, 10,133,170,169,106,150, 22,199, 4,165,137,108, 79,111,101,
- 50,208, 89, 75,111,197, 3,221,116, 45,190, 17, 16,200,134,197, 37,233,254,128,166,235,112,125, 71, 18,167, 4,196,134, 49, 30,
-212,238,227,197, 37,170,249, 20,215,117, 68, 73, 60, 40,137,251,225,198,245,160,133, 76,165,148,172, 98,178, 56,165,183,173,120,
- 93,123,139,117,129, 34, 11,252, 79, 31, 76, 56,176, 35, 34,156,156,194, 8,118, 84,203,236,252,220,131,132, 60, 66,221,188,143,
- 55,190,244, 60,215,109,203, 81,251,118,242,141, 67,167,217,181,161,192,250,192,201,139, 87, 89,249,149,223,229,238,155,183,195,
-155, 45, 95,124,246, 8,151, 79, 95, 96,247, 35,159,229,254, 79,254, 24,110, 58,149,202,183,183, 76,103, 51, 34,163,121,249,232,
-137,183, 29,232,112,231, 45, 7,248,233, 31,253, 12,239,124,224,110,150,198, 35, 8,129,171, 87, 87,121,250,240, 75,252,222,151,
-190,242,125, 7, 58, 8,134,245,192,190,125,236,218,190,157, 34, 47, 56,242,250,235,252,238, 23,255,156,111,126, 71, 58,250,235,
-174,221,197, 13,123,175,229,238,219,111, 69, 27,195,165,171,203,196,145,140,133,181,214,178, 42, 49,154,179, 23, 46,243,210,171,
-175,179,103,215, 78, 78,156, 57,139,181,150,213,213, 41,193, 7,182,108,222, 40,110,142,121,197,169,115, 23, 56,117,238, 2,157,
-149,188,122, 16, 65,223, 39, 62,240, 94,118,111,223, 70,172,141,124, 39, 69,206,225,215,143,114,232,165, 87,184,110,247,110, 46,
-175,172, 48,157,206, 73,227,152,253,215,237,101,251,150, 77,188,121,234, 28,191,252,107,255, 47,175, 30, 63,193,234, 68, 58,249,
-121, 85,179,125,203,102,110, 62,176,159,251,239,184,149,197,241,152,213,201, 42,175, 31,127,147, 71, 30,188,159,211, 23, 46,114,
-121,121,133, 19,167,223,218,105,103, 89,198,238, 29,219,104,154,134, 27,174,187,150,207,124,228,131,132, 16,248,211,191,124,148,
-223,253,210,159,243,220,145,151,215,139, 83,128,143,189,239, 17, 14,236,190,134, 11, 87, 87, 24,149, 18, 39,187,188,178, 74, 26,
-167,108,218,186,153, 67,207, 61, 47,140,113, 99, 88,157,206,248,205, 63,250,226,223, 56,230,127,251,245,215, 59,118,128,215, 94,
-121,149, 56, 78, 56,120,211, 77,136, 55, 59,176,178,186, 74,164, 53,101, 28,211,244, 66,105, 75,210,140,217,116, 6, 74, 44,155,
-107, 60, 6,105, 84, 68,135,180,182,131,158,207, 69, 1,238,188,136,162,146, 56, 30,132, 97, 18, 32,229,188, 99,180, 56,198, 40,
-152, 78, 87,201,211,140, 96,132,200,232,141,161,169, 59, 20,129, 52,137,105,218,142, 44,201,136,140, 28,202,222, 90,148, 54,168,
- 54, 16,197, 9,163,209,130, 36, 96,182,141,140,105,189,164,128,205,231,213,186, 93, 42,203, 50,166, 83,177,158, 69, 81, 68,223,
- 55,196, 81, 38,251,240,166,165,109,218,245,238, 87,210,233, 2,245, 80,156,120,239,133, 82,231,156,168,251, 21, 88, 12, 70,139,
- 38,166,111, 29,121, 94, 98,140, 98,117, 50,197,123, 75,154,138,101, 44, 79, 83,226,209,136,201,234, 4,225,170, 27,186,121,135,
-138, 20,169,142, 6,177,178,199, 27, 67, 22,165, 36,169, 96, 86, 77, 48,196, 81,132,213,160, 48, 36, 81, 24,116, 53,138, 56, 77,
- 81, 33,200, 36,195,245,180,109, 75, 57,146, 49,189, 10,162, 13, 82, 90,168,110,120, 47,211,102, 37, 7,238,168, 28, 49,171, 43,
-108, 93,163, 8,244,141, 38, 77,146,117,209,174, 10, 49,110,208, 74,245, 93, 67,111, 37,139, 35, 4, 17,145,155,200,176,184,176,
- 36,187,243, 32,218, 46,130,199, 7,217,201, 43,239,241, 10, 8,136, 22,193,121,218, 86, 86, 21, 89,146, 49,175,231,140,138, 17,
-206, 90,102,243, 57,222, 75,214,134, 66, 38,166,125,223, 19, 41, 69,239,100,178,163,140,224,103,189,247,216, 94, 86,194,202,123,
- 34,147, 96,244,192,109,113, 22, 16, 59,161, 15, 1,101, 59,116,163,136, 34,109, 6,223,101,160,199, 48,157,206,200,203, 12, 21,
- 52, 69, 30,179,186,186,138, 82, 98,204, 25,151, 37, 74, 43,154,166,101, 58,159, 15,135,242, 24, 99, 98,241, 94,106, 77,154,164,
-168,160,208,145,166,107, 26,100, 47,154, 13,222, 72, 81,152,155, 84,212,216,177, 49, 52,157,100, 6,163, 53, 77, 61, 39, 45, 50,
-218,186,149,100,175, 52, 69,107,141,195,176,178,114,149, 40, 74, 41,242,148,186,170, 89, 94,185, 74, 49,196, 9, 42,237, 81,136,
-141,108,173, 19, 1,240, 40,140,137,177,222,139,247, 58, 4, 8,142,214,245,244,173, 96, 94,103,214,210, 54, 50,162, 42,162, 92,
-136, 69,195, 75, 32, 54, 98,139, 35, 64,221,138,178, 53,205,115,170,121,141,210,178, 35,241,206, 97,135, 63, 95, 20,185,224, 81,
-243, 28,213,203,131,233,189, 39, 73, 19, 92, 47, 29,136,137, 36,105,173, 29, 20,226,218,104,122,103,137,147,140,216, 59,234,186,
- 38, 77, 99,170,217,156,233,234,148, 81, 57, 8,234,156, 3,231,112, 85, 3, 58,160,157,163, 88, 88, 24,118, 94,226, 11,117,222,
-226,156,195, 32,160,135, 50,207,233, 67, 24,252,227, 98, 55,155,205,103,196,145, 64, 45,162, 36, 33,142, 13,139,139,139, 16, 2,
-157,119,232, 68,124,163, 33, 40,214, 70,224,194,180,182,226,125, 55, 70,196,109,195,131, 98, 34,113, 38,204,231,115,130, 22,107,
- 90, 93,215, 56,215,211, 52, 61,105, 34,138, 98, 99,196, 35,155,101,226, 69, 85, 8, 41,171,170, 68,180,184,184,184,128, 82,154,
-190,147,135, 53,137, 35, 41, 6,189,193,186, 64,156, 37, 40,235,249,204,221, 17, 7,182, 42,130, 13,168,107,198, 4,163,216,249,
-249,143, 18,206,212, 92,120,234, 44,219, 62,255, 57,198,155,206,241,157,239, 60,203,131, 27, 22, 88, 93,153,147, 41, 69,156, 39,
- 84, 85,195,201, 51,151,152,102,129, 35,175, 93,166,168, 86,216,247,192,135,184,253, 83, 63,141,155,207, 69,141,174, 2,177, 86,
-108,222,176,129,199,191,251, 52,191,243,167,111,101,144, 39, 73,194,167, 63,242, 1, 30,190,239, 46, 54, 46, 46,225,189,197, 7,
- 89, 29,120,239,215,119,210,107,215,190, 61,187,120,240,158,187,216,177,109,211, 58,220,165,239,122, 38,179, 25, 77,221,226, 9,
-108,221,180,145,159,253,220,143,177,103,231,118, 76, 36,254,114, 1,163,168,117, 42, 89, 24, 38,100,247,221,113, 59, 95,249,214,
-183,217,182,105, 3,231, 46, 93, 65, 41,197,106, 93,177,105,227, 6,174,217,182,133,215,143,191,201,191,252,183,255,215, 15,216,
-238,110,191,229, 70,118,110,221,202,166,165, 69,146, 52, 33, 54,134, 67, 71, 94,229,194,197, 75,156, 56,121,154,119,220,125, 59,
-255,248,239,255, 36, 69, 57,162, 76, 83, 30,188,231, 14,144,229, 15, 31,127,255,187,121,225, 87, 94, 93,223,117,239,222,185,131,
- 31,250,192,251,248,232,123, 31,102,251,150,205, 88,107,249,189, 47,125,133, 95,250,119,255, 1,128,133,209,104, 61, 22,118,237,
- 90, 40, 11,254,246, 39, 63,198,207,126,246, 71, 24,109,223,140,111, 44,213,202, 10,251,174,219,195, 13,251,246,114,230,252,133,
-239,243,163,159, 61,123,142, 7,239,186,157, 3,251,247,113,121,121,133,178,200, 57,112,221, 30,174,217,177, 3,215,138, 31,250,
-151,127,249,223,240,151,223,122,156,187,111,187,133,205, 27,151,184,120,249,251,199,252,127,253,250,155, 58,118,128, 35, 47,190,
-200,117,187,118,146, 46, 46, 50,159,213,140,202, 98, 29,248,164,181,166,154,205, 24,141, 23, 16,182, 58, 16, 32, 75, 35, 92, 28,
-175, 31,156, 0,113,148, 80,142,243,117,203,102,223, 91,250,190,101, 45,176,131,224, 65,203,193,133,115,132, 40,146, 68,198,183,
-253,140, 44,207,233, 93, 71, 22, 37,184, 48,172,159,189, 16, 37,181, 18, 60,181,209, 34,196,234,154,134, 36, 30,145,231,185, 88,
-144,135,127, 79,219, 52,148,101,129, 82,129,121, 53, 76, 65, 99,121,134,186,174,195, 16,201,202,203, 75,192,205,104, 44,110,149,
- 44, 19, 16,138,245,158, 16,188, 88,211,134, 80,166, 53,144,214,242,138, 99,113,113,145,128,129, 32,214, 99, 99, 52,206,203,248,
-216,104, 33,183, 21,121, 73,223,182,116,182, 97,188, 48, 30,118,244, 49, 54,114,248,222,209,251,158, 40,137,200, 76, 12, 74, 88,
- 27, 10, 77,172, 68, 53,238,172, 27, 66,187,122, 20, 34,120, 35, 40, 76,164, 7,155,159, 33,205,101,189,216,214,173, 0,208,180,
- 6,223,145,166, 5, 11,227, 5,170,166,194,182,158, 50, 23,128,149,247, 94,162,165,157, 4,137, 25,173, 9, 62,144,105, 9,191,
- 65, 27,148,245,248, 72,192,103,101,158, 12,194,103,153,126,122,111,169, 7,145,154,164,142,122,154, 86,194,101,226, 52,149,200,
-219, 36, 89,119, 93, 64, 88,111,198,156,147,166,120,117, 54,161,204, 37,238, 54,138, 18,186,182,166,179,150,102,104,142,148, 82,
-160,196, 10,232,155, 6,171,148,112,231,171, 74,138,181,217, 12, 29,203, 55, 29,197, 17, 12, 65, 55,163,178,100,222,200,170,197,
-246, 61, 81,211,212, 68,133, 4,180,116, 93, 35,191,252,116, 70,156,230,216,222,177,176,176, 32, 98,180, 72, 60,117, 4,112,214,
-146,231, 57,189,179,212, 77, 7,116,140,203, 17,214, 10, 22,177,110,107, 10, 83,226,135, 27, 18, 10, 96, 77, 0, 0, 32, 0, 73,
- 68, 65, 84, 41, 73, 83, 22,135, 93, 45, 72,101, 51,157,174,210, 33, 7, 97,215,117,244,157,165, 40, 51,214,128,247, 77, 35, 99,
-167,144,231, 68,137, 98, 94,245, 88,219, 19, 39, 11, 40, 45,118,140,233, 68, 48,135,224, 81, 74,198, 16,145, 22, 68,108, 57, 46,
-209, 74,147,165, 9,109,223, 83, 13, 29,175,142, 99,130,151, 15,207, 24, 67,146,101,196, 38,162,105,106,218, 86,124,243,197,168,
- 20,113,131, 23, 95,100,221,136,194, 63, 29,246,217, 66, 94,179, 76,167, 83, 70,101,137,210,154, 40,210,128,198,186,185, 76, 20,
-250, 14, 99, 52,147,217,140, 16, 60, 73,156, 8,137, 41, 73, 49, 65,145,164, 41,233,144, 34, 22, 69, 17,107,190,215, 36,137,153,
- 15,190,209,114,128,146, 88,231,232,170, 10,163, 21,104, 81,243,163, 20,243,170,162, 44, 37,133, 77,107,177,190, 20, 89,129, 49,
- 6, 19,139,103,213, 4,249, 76,156,179, 50, 54,139,196, 3,218,117, 3,191, 95,107, 80,138,174,110,209,145, 36, 85,105, 60,211,
-249,156, 40,146,194, 75,136, 87, 50, 89,201,147, 4,149, 21, 72,204,100,192,117, 45,189,115, 36,113, 2, 26,230, 85,197,168, 20,
- 7, 65,219, 52,204,231,115,230, 72, 23, 99,144,157,187,118, 65,212,177, 65,192, 52, 75, 75, 99,169,136,103, 51,177,201, 40, 77,
-221,214,120, 39, 72,198, 60,203,104,155,142,155,118, 24,126,244, 46,131,175,122,168, 28, 36,146,203,174,174,118,252,230, 31, 60,
-203,193,205, 5,219,204, 18, 69, 20, 51,222,186,200,252,252, 85, 40, 71,212,203, 83,220,124, 74, 84,102,180, 73,194,209,211,171,
-108,238, 42, 22,182,239,225,174,159,248,199, 82,124,186, 30,163, 12,147, 89,197,185,243, 23,248,179, 71,191,197,151,191,249, 24,
- 55,221,112, 61, 15,220,121, 27,155, 55,110,196, 57,199,195,247,221, 67, 28, 27,170, 70, 84,197,211,249, 42,255,254,183,126,143,
- 95,251,237, 63, 96,237, 50,198,112,231, 45, 55,243,209,247, 62,204,189,183,221, 76,154,166,108, 88, 24,163,141,140, 46,191,251,
-252, 97, 60,129,189,187,119,113,221,238,107,104,154,138,224,229,123,109,134, 85, 67, 81, 20,196,145,144, 19,157,115, 60,243,226,
- 17,190,240,251,127,204,137, 83,167, 57,120,253, 62, 14, 94,191,151,251,239,188,157, 7,239,190,139, 56, 49,156, 62,123,145,215,
- 78,156,228,154,237, 91, 57,123,113, 43,103,207,203, 94, 89, 43,120,255, 3,247,179, 97,105, 17,109, 34,124,144,200,227,199,159,
-254, 30, 71,142, 30, 99,247,206, 29, 68, 38,226,200,235,199,249,216, 35,239,228,246,155, 14, 16, 21, 5,243,201, 42,199, 79,157,
-225,215,126,231, 15, 89,153,202,139, 42, 75, 19,118,109,223, 10,222,114,238,194, 37, 54,111, 88,162, 44, 74,254,214, 71, 63,200,
- 43,199, 78,240,165,175,127,243, 7, 14,116,128,139, 87,174,242,171,191,245,251,188,235,190,123, 56,136,226,216,201, 83,252,220,
-127,243,207,120,229,141, 19,104, 61, 32, 69,135, 43, 54, 17, 87, 87, 39, 60,243,226, 97,222,243,192,253,220,125,203,205,108,220,
-176,196,142, 45,155,176,206,114,238,226, 21, 46, 93,190,196, 35, 15, 63,192,155,167,207,240,212,161,231,127,224,239,251,155,186,
-242,255,212,245,192,157,119,240,207,127,238,167,121,252,197, 87,120,236,240, 75,212,141, 88, 53,113, 18,220, 84,230, 37,171,171,
- 43,148, 69,137, 71,172, 95,182,149, 66, 75, 16,212,142,105, 53, 35,116,158,180,143,229, 57, 64, 0, 35,210, 73,150,178,171, 29,
- 21, 56, 27,200,116, 74, 85,205,241, 85, 77, 54,184, 99,214,146,221,214,138,101,103, 28, 58, 72, 10,102, 91,139,136, 22, 52,117,
-211, 80,183, 83,198,101, 73, 49, 42, 89,157,172,138,208, 87, 5,108,103, 41,203, 17,214, 89, 50,147, 17,220, 80,152,251,128, 82,
- 17, 11,163,148,182,151,104, 82,101,213,240,185, 75,209, 82,142, 75,122,107, 73,179, 20, 91,213,140,199, 11,178, 47, 95,120, 11,
- 76,227,189, 39, 86,134,149,149, 21,178, 44, 19, 6,134,237,113, 90,203,180, 82,203, 59, 53, 38,166,174,231, 18,218, 18, 88, 31,
- 61,119,157, 80,232, 70, 99, 17, 49,218,174,195, 5, 9,119, 9, 72, 78,135, 54,178, 98,213, 90, 99,188, 33, 82, 17,104,112,222,
-137, 72, 23,134,128, 42,201,165,136,227,152, 36,214,160, 2, 26,141,243, 26, 59,216, 8,179, 52,167,239,166,204,167, 83,226,165,
-133,193,149, 32,141,196, 40, 23,231, 79,221,183,146,134, 87,148,210, 56,181, 82,212, 16,192, 42,249, 14,199,227, 18, 99, 98,250,
- 94,126,215,213,213, 41, 90, 54,133,104,173,153,215, 53,161,170, 88, 19,100, 75,152, 85,144,213,163,151,148, 69,140,166,154,205,
- 33, 4,170, 90,112,181, 90, 33,105,121,193, 51,159,205, 24,149, 37, 12,127,103,100, 34, 72,131, 36,177,121, 89,255,180, 93, 55,
- 96,133,193,123,135, 11,129,113,185,136,142,100, 42,224,131, 88,201, 81, 16, 65, 96,117,178, 76, 81,148, 34, 6, 32, 12,164, 55,
- 69,240,195,216,195, 24,172,245,204,230, 51,169,110,178, 28,163, 53,132,152,121, 45,106,190, 85, 47, 7, 75, 18,199,104, 99,152,
- 76, 39, 68, 38,102,109, 15, 32,166,254, 24,239, 25,188,203,200,151,161, 53, 10, 79, 81,230, 40,239,169,171, 57,101, 89,208,247,
-142, 36,150,151,118,215,182,200,193,173,152, 87, 83,140,146,236, 94, 19, 69, 72,124,167,161,235,123,234,186, 38,207, 10,178,188,
-192,104, 77,221,180,232, 40,146,110,113,243,102, 8,129, 16, 36,152, 64,194, 82, 36,187,215,187, 64,154, 37,224,197,159, 89,205,
- 43, 66, 44, 22,189,170,174,222, 98,209, 59, 71,219,118, 2,118, 80, 10,147, 36,204,235, 90,172, 36,201, 8,215,181,120,167,152,
- 85, 51,188, 21,197,164,237, 58, 64,211,216, 6,124, 96,214,206,208, 74, 68,105,241,216, 48,155, 13,160,254,225,128,107,187,150,
-114, 60, 38, 32,190,253,182,239,135, 36,181,128,183,129, 16, 39,196, 81, 74, 98, 96,222,212, 76, 39, 19,162, 52, 21, 36,235,124,
-142, 89, 75,160,211,154,213,201,132, 44,203, 48, 38, 70, 32, 8, 29, 38, 50, 84, 85, 45,133, 68,239,241,198,130,181, 67,112, 65,
- 16,172,107, 39,138,109,172, 69,101,153,208,145,180,150,157,109, 8,224,123, 8,144, 36, 25, 77, 99, 9, 62,224,140, 71,217,192,
-218,251,217,121, 47,130,192,217, 32,204,243, 16, 84, 64, 13, 83,210,117,118,189, 23,178,210,104, 52, 18,223,172,151, 10,118, 13,
- 80, 19,153,136,166,173,113, 46,240, 51,247,100,112,201, 66,223,162, 22,199, 80, 87,168, 45, 35,190,247,149,151, 81,147, 41,102,
-251, 34,225,165,151, 56,126,230, 18,243, 30, 46,204, 45,253,108,142,235,122, 62,253,200, 65, 46,119, 61, 95,122,225, 60,155,234,
- 57,182,159,112,243,143,253, 11,156, 87, 88,219,201,248,206,119, 28, 59,113,138,175, 63,254, 36,143, 62,241, 29,206,158,191, 72,
- 81,100, 28, 59,121,134,143,127,224, 17, 30,190,231, 78,236, 48, 86, 11, 65,246,221, 62,120,110, 61,176,159, 31,122,255,123,249,
-198,147, 79, 49,175,106,130,115, 28,220,127, 29,247,222,113, 43, 27,151, 22, 6, 27,214, 85,190,243,220, 97, 30,125,252, 9,250,
-193,231,252, 15,127,242,115,124,224,157,239,192, 90, 43, 63,183, 19, 43,229,120, 36,133,162, 82,138,162, 44, 56,117,246, 28, 23,
- 46, 94, 98,219,230, 77, 28, 63,121,138,163, 39, 78,146,196, 17,251,246,236, 97,117,186, 42,250, 8, 5, 59,183,109,230,214, 3,
- 55,240,250,137,147,235,135,250, 63,249, 7, 63,203,189,119,220,138, 82,138,201,116,202,177, 19, 39,249,250, 19, 79,242,149,111,
- 62, 70, 24,166, 12, 91,183,110,225,192,117,123, 16, 63,113, 67,179, 50,225,209,199,191,195,247, 94,120,145,203,203, 43, 44,175,
-200,232,189,105, 59,158, 59,252, 10,155, 55,110,228,193,123,239, 34, 73, 82,158,120,246, 16,255,242,223,252, 42,163, 60,227,129,
- 59,111,227,220,133, 75,156, 56,115,150,135,238,189,155,235,247,236,226,200,171, 71,121,224,174,219,216,191,111,175,168,212, 31,
-123,146,175, 63,246, 4,151,150, 87,135,239,223,227,135,123, 66,107, 77,239, 60,109,215, 82,100, 5, 87,150,151, 89, 90, 28,177,
-123,199, 54,202,133, 49,243,233,156,229,149,115,188,252,250, 49,190,254,196,119,177,214, 82, 22,249,250,100,110,237,250, 79, 29,
-232,111, 63,236, 55,110, 88,226,230,253,251,248,137, 79,127,146,206,123,238, 61,120, 3, 70,107,190,254,244, 33,156, 21,184, 76,
-112, 65,172,151,193, 51,157, 79,137,146, 4, 19, 12, 81,102, 8,138,117,118, 3, 30,130, 6,223,123,116, 42,227,208,186,126, 75,
-112,219,119, 82,204,171, 8,166,171,171,120,164, 49,154, 78, 39,148, 69, 41,160,170, 56,194, 3,137, 49,204,230,115,172,115,140,
-203, 49,126, 24,227, 3,184,190, 39, 56,129,147,180,109, 77,154,102,235,123,222,214, 53, 56,215,145,166,249,186,182, 8,130, 20,
-114,109,131,237, 69,156,170,148,194, 71, 67, 14, 3, 30, 23, 2,211,169, 20,240,193, 9,249, 50,120, 79,111,123,226, 40, 38, 73,
- 4,206,163,181, 6, 13,193,138, 46, 64, 27,153,212, 9, 68, 39,224,135,127,103, 26, 71,168,161,129, 81,200, 36,183,107,133, 36,
- 90,142, 74, 81,218, 43, 72,162, 8, 13, 66,169,243, 97,176,244, 65,146, 24, 2,178,171,238,144,247, 80, 63,172, 90, 76, 44,201,
-141,113, 44,194,223, 53,122, 39, 64,146,102,184,174, 35,205, 50,234,186,145, 41, 68, 57, 98, 62,159,177,186,186, 74, 89,142, 17,
- 87,151,161,174,107, 57,124,187,158,200, 68,116, 77, 67, 48,154, 98,180, 64,223,201,148, 44,138, 34, 20, 82, 80, 56,231, 80, 70,
- 0, 90, 16,134,221,185,136,144, 67, 16,241,180,115, 30,173,100, 84, 62, 26,151,196,177,156,125,109,219, 98,173, 4,146, 41,173,
-112,195, 26,101,218,203,191, 59,205, 50, 70,163,145,112, 68, 52,204,231, 21,138,150, 40, 18,213,187,216,197,197, 10, 41,187,116,
- 9, 17,107,234, 26, 31, 28,161,151,105,111, 28,199, 36, 89,138,235, 45, 81, 26, 71,116, 33, 48,155,174,162,148, 84, 5,113, 44,
-156,247, 56,202,240, 4,146, 40, 38, 30,231,216,222, 82, 85,213,186, 16,197,123, 57,136,198,227, 5, 25,153, 38,153, 84,107, 38,
-224,189,236,210,141, 5, 23, 60,202,117,168, 78,242,198, 35,173,135,253,141, 71,163, 80, 58, 2,239,152, 76, 69,208, 48,159,138,
-237, 66, 33,227,122, 81,228, 15,121,219, 38, 37, 4,225,191, 27, 35,217,228,104, 69,166, 99, 73, 52, 83,114,168, 66,178,126, 67,
-218, 97,252,225,157, 3,197,176,247, 22,107, 77,240, 34, 82,168,231,242,161,165,113,204,120, 60,150, 74,210, 89, 12, 26, 33, 72,
- 9,143, 55,248,128, 66,132,106,193, 11, 52,192,104,141, 14, 80,117, 29,189,117,248,222,226,131,135, 52, 69,161, 72,135,145,203,
-108, 50, 33,138, 34,178, 52,165,235,122, 86, 87, 86, 8, 58,162,200, 69,245, 8, 16,194,224,223,183,150,206, 5, 84,223,163, 85,
- 4, 38, 34, 68, 80, 14, 2,187,182,239, 81,189, 5,165,137, 34,131,237,160, 40, 74,230,115, 25,213,121,239,113,222,211,181, 29,
-218, 24, 70,227,177,176,148,157, 76, 50,214, 42,211,162, 44, 80,104,162, 88,172,133,137,137, 9,201,208,113, 47, 46,202,205,233,
- 61, 73, 20,225,140,193,120, 47,251,159, 88,172,104,214, 90,180, 81, 3,245, 72, 94,154, 90,173, 33, 57, 7,170, 93,112, 68,218,
- 12, 28, 4, 73,181,155, 78, 37, 45, 75, 41, 67,154, 27,122, 39,150, 17, 23, 68,113, 15,224, 66,192, 12, 93,207,166, 18,150, 18,
- 77,243,234,235,244,171, 51,202,219, 14, 16,142,158, 68,223,125, 19, 47,157, 92, 38, 75,140,132,209, 44, 25,174,223, 18,147,189,
-235, 38, 88,241,124,233, 91,199,120,223, 29,187, 72, 14,238,224,107,191,255, 12,215,218,138,105, 51,231,182, 31,249, 47, 88,188,
-241, 46,234,129,110,232,188,103,117, 58,101, 58,159,115,233,234, 50, 39, 78,159,101,101, 50, 97,101, 50,225,145, 7,238,103,177,
- 44, 57,119,233,178,140,242,156,216, 88,226, 72, 92, 7, 93,223,113,238,226,165,183, 14, 23,173,153,207,102, 28,123,243, 20,163,
-162, 32,207, 82,254,232,203, 95,229,119,254,236, 47,197, 33,225, 97,215,246,173,124,239,133, 23,201,210,132,219,111, 58, 72, 20,
- 9, 55, 65, 5, 89, 35,133,224,135,200, 95,184,188,188,194,229,229, 21, 94, 63,254, 38,189,117,236,220,186,149, 91,110,188,129,
- 59,111, 61,136,137, 98,102,179,138,243, 23, 47,243,216,119,159,225, 43,223,254,171,245, 81,244,131,247,222,197,223,253,244, 39,
- 72,226,132,203,203, 87, 57,122,226, 36,199, 79,157,225,165,215,223,160,233, 58,118,110,221,202,205, 55,236,227,134,235,174,101,
-199,150, 45,236,220,182,149, 36, 78,184,112,249, 10, 90,107,158,122,238, 69,222,120,243, 36,107,215,134,165, 69, 62,246,200,187,
-248,224, 59, 31, 98,255,222,189, 20, 89,138, 81,138,155, 14,236,231, 79,190,242, 53,222,126, 29, 58,242, 18, 31,121,207, 67,252,
-194, 63,248, 25,118,236,217,141,111, 59, 78,188,121,146, 50,207,185,102,251,118,118,110,223,250, 3, 57,236,187,118,108,231,254,
- 59,111, 99, 60,124,255, 90,107, 54, 45,109, 32,207,211,117,177,103,150, 38,156,187,178,204,249, 75,151,120,229,141, 19,252, 77,
-215, 95,239,212,215,254,119, 8,129,178,200,185,245,198, 3,252,252,127,246, 89, 30,188,231, 14, 46, 92,188,194, 43,175,191,193,
-149, 85,217,217,199, 93,203, 42,138, 60,205,105,130,248,191,149, 22,133,117,219,246,196,169,166,106, 26, 34, 12,202,200, 94, 50,
- 50,134, 36,205,196,190, 22, 68,177, 29, 8, 36, 81,130, 14,138,160,100,101,217,247,162, 37, 49,145,161,183, 29,190,147, 3, 73,
- 33,231, 69, 18, 39,216,222,146,151, 37, 10,177, 52,105,164, 8, 87, 64,150,202, 58,166,105, 42,188,245,116, 93, 75,100, 34,234,
-190, 70, 27,205,124, 94,145, 36, 9, 81,156,144,196,130,198,110, 42, 73,101,180,206,210, 87, 29, 62, 4,210, 36,167,163, 39, 86,
-242, 46, 82,200,142,220, 5, 25,109,163,196,182,170,181, 8, 94, 55,108,216,128,115, 50, 70,158, 78, 39, 88,235,168,235,150, 40,
- 74,200,210,140, 36, 12, 54,180, 68,240,192,105, 34,113,181,109, 83,163, 81,228, 69,142, 81, 6, 23, 36, 79, 66, 5,232,113,224,
- 60, 38,150, 29,120,219,214,235,211,209,182,107,233,123, 75,146,164, 4, 37,192, 29,171, 2,202, 57,210, 56,165, 30,132,198,107,
-233,119,104,141,237, 4, 45,190,174, 37, 74, 18,138, 60, 34, 54, 18,107, 90,215,115, 89, 13, 20, 5,158,192,188,105,196, 59,159,
-166,120, 39, 25,240, 74,105,108,175,134,230,241, 45,234,166,247,242,255,187,222, 81,148, 5,221,138,112,245,197,166, 40,255,157,
-199, 17, 17,209,118, 29,243,249,156,197, 13,130,174,149,247,167,236,190, 3,129,198,116, 40, 28,214,202,217,209, 54, 13,157,210,
- 20,163, 2, 29,132, 66,218, 91, 75,215,121,180,209, 36,105,138, 50,134,190,235,208, 74,166,203,109,219,160,148, 56,182,122,235,
- 16, 54, 75,141,124,117,138, 40, 4,135,115, 61,163,162, 68, 25,197,116, 54, 97, 62,173,197,179, 30, 26,202,188,144,155, 44,136,
-196, 30, 15, 81, 36, 57,220, 32, 48, 21,239, 61,121, 94, 80,181, 67,134,173,245,160, 64,107,225,251,182,109,143,237,107,154,186,
-146, 67, 60, 73,232,251, 78, 2, 92,130, 35,139, 19,150, 87, 86, 8, 33,144,143, 70, 24,163,105,171, 22, 31, 68, 20, 22,153, 24,
-231, 2, 1, 17,220, 41,229,152,207,122,138,241,152,249,108,130, 66,147,101, 37,105,106,168,157,151,155, 35, 8,113, 9,173, 9,
- 94,186,252,174,233,112, 72,184,138, 86, 66,102,114,206, 17, 90,161,229,245,109, 47, 55, 80,112,244,125, 75, 97, 70,180,189,144,
-147,210, 36,149, 74,180, 20, 5,125,221, 74, 17, 80,230,249, 32,166, 11,148,197, 8,219,203,206, 84,245,142, 60, 77, 48, 69, 73,
-219,182,196,145, 33, 74,228, 6, 16, 97,132, 96, 28,131,119, 52, 85, 53, 76, 17, 2,104, 69, 89,142,165,226, 94, 93,197,163,192,
- 8, 92, 33,142, 52,243, 86,226, 23, 67,240, 96, 12,113,146,208,214, 45,198, 68, 84, 85,195,226,120, 12, 74, 83,215, 53,182, 17,
-248, 14,222, 83,213, 53, 90, 65,235,100, 15,156,198,195,129, 84,183,194,211, 71,175,115, 7,202, 34, 99, 77, 32, 18, 37,242,130,
- 72,226, 20,143, 84,140,227,241, 24,165,164,123,200,210, 20,173,141,172, 34, 6, 12,112, 85, 87,152, 40,194, 59, 75,111,133,225,
- 63,157, 76, 41,114,217, 61,165, 89,202,210,210,162,144,164, 84, 36,255, 30,215, 19,167, 25,222, 90,156,146,110,199, 68,134,121,
- 39,157,192,123,111,207,217, 52,155, 49,155, 54, 44,220,127, 16, 70, 41,140,111,196, 95, 92, 70,173,206,177,101,193,177,139,171,
-220,240,212, 51,100,183,109, 34, 20, 9,106, 73,115,195,245, 91,184,229,142, 61, 92,124,237, 28,106,117,198,164,153, 19,111,221,
-199,142,123, 63,194,116,101, 21, 20,146, 80,215, 73,178,214,202,100,194, 87,191,253,248, 58, 53,238, 83, 31,124, 63, 63,243,217,
-207,176,125,243,102,122,219, 83,213, 13, 73, 28,145,165,201,240,178,116,108,220,176, 81,196, 57,195,117,195,117,215,242,137, 15,
-190,159,189,187,119,178,123,251, 54,162, 36,225,253,239,126, 24,167, 20, 95,255,171, 39,121,231,253,247,242,241,247,189,139, 93,
- 59,182,147,166, 49,206, 58,185, 23,128,222, 58, 66, 24, 58, 8,215, 19,105, 73, 70,172,219,142, 44, 73,136, 35,131,243,142,233,
-172, 98,121,117,202,166, 5,177,220, 52,109,195,172,109,176, 86, 10,115,173, 53,174,119,124,231,153, 67,236,191,110, 47,101,145,
-115,237,174,107, 88, 89,157,208,180, 13,183,236,191,158,219,111, 62,200,190,107,119,113, 96,239, 94,182,111,221, 76, 28, 25, 94,
- 61,118,156,167, 14,189,200,235,199,143,115,224,186,189, 28,123,243, 20,193,121, 60,129, 13, 75,139, 60,242,208, 59,248,216,135,
-222, 71, 91,213,124,243,201,239,242,235,127,244, 69, 94,124, 89,160, 52,117,211,178,113,105,129,235,247, 94,203,107,199, 78,240,
- 63,254,111,255,150,203,203, 43,252,244,143,254, 45,230,117,205,115, 47,190,204,215, 30,127,146, 67, 71, 94,229,220,165, 31, 68,
-199,158, 60,115,150,159,250,209, 79,241, 15, 63,255, 83, 40,165,184,120,246, 60, 85,219, 48, 30,149,116, 85,197, 55,158,124,138,
- 11,151,175,208,119, 61, 43,147, 31, 28,243,175, 93,107, 7,250,219, 15,243,181,235,174, 91,110,226,191,253,249,207,115,255,189,
-119,115,249,210,101, 46,173, 44,243, 7,127,254, 53,108,223,113,233,234, 50,101,145,115,105, 50,231,192,205, 55,201,238, 53, 54,
-168, 32,192,172, 36,149,162, 43, 78,132, 38, 23, 66, 88,159, 56, 85,179,138,153,235, 25, 47, 44, 34,146, 56, 37, 19, 20, 13,177,
-137,177,193, 14,211, 45,177, 48,181,117,135, 86, 26,163,145,213, 88,211,145, 4,185,135, 84, 16, 93, 80, 24, 58,193, 56,150,212,
-180,134, 6, 21, 25,178, 36,195,100, 74,146,225, 20, 68,196,232, 72, 80,221,113, 28, 81,215, 13,222,201,123,221, 57, 79,211,123,
-180,138, 25,141, 10, 97, 82, 56,121,247,116,182, 35,139,228,125,134,150,209, 54, 14,186, 97, 2, 17,167, 49,244, 50, 97,211,136,
- 24, 48, 31,160, 54, 93, 35,164, 58,111, 29, 81,100, 80, 38,162,105,154, 97,157,105,152, 15,144, 24, 60,180,182, 29,138,159,136,
- 40,141,132,238, 54,236,145,109, 43, 83, 63,107, 61, 4,153,172, 6, 60,121, 33, 92,141,122, 46, 54,174,208, 59, 90, 44, 38,150,
-134,206,182, 61,222, 8,143,222, 4, 1,165, 41,173, 80, 4, 64,161,149, 34, 32,140, 19,215, 6,178,108, 56, 67,130, 39,142, 34,
-188, 22,241, 30, 65, 2, 84, 58,107,137, 85, 60,248,192, 45,133, 41, 1, 79,215,201, 72,189,109,107, 60, 80,228, 5,163,209,120,
- 0,180, 5,172, 87,168, 16,208, 58,162, 11, 29, 90, 7,156, 11,116,157, 37,202,228,185,141,163, 8,239,101, 90,147,101, 49,214,
- 27, 76, 4, 73, 42, 81,181,206, 73, 12,107,221,213,164,121, 70,174, 11, 64, 92, 75,226,252, 72,134,247,236,224, 84,179,146,171,
-146,164, 25, 62, 52, 56,223, 19, 27,209,110, 36, 69, 74, 84, 85,115,146, 56,198, 12,232,193, 81, 57,166,106, 26,218, 90, 70,140,
-243,186,166,247,130, 30, 85, 40,132,229, 17,145, 71, 50, 94, 8,192,108, 58, 71,101, 26,239, 60,113, 30,145,198, 18,252,226,157,
-165,170,106, 97,186, 43,233,224,250,182,165,235, 91, 70,163,145,140,164,134, 78,204, 59,161, 32,137,224, 34, 34,142, 3,218,136,
-213, 46, 40,197,104, 52,166,179,178,151,169, 42,177, 96,116,109,141, 10, 10,235, 44, 93, 39,184,215,209,184, 92, 31,147,228, 38,
-149,108, 93,173,137,227,136, 52,203,176,182, 5,164, 10, 13,206,209,216,142,113,150, 49,155, 85,140,202, 66, 0, 11,157,149,112,
-132, 97, 31, 30, 16,172,109, 81, 20, 40,173, 9,222,161,134,151,134, 28,216,145,248,204,149,172, 42, 66, 47, 7, 17, 65,129,151,
- 7, 95, 1,227,241, 88, 14, 48,100, 52, 63, 26, 13,100, 40,109,152,204,103,132, 97,162, 16, 25, 37, 59,147,133, 5,172, 21, 5,
-254,218,232,105,113, 97, 68,215,217,225, 6,214, 36,145, 6, 35, 15,201,120, 32,246,205,103,115,242, 34,197,186,128,243, 61,163,
- 98,132, 87,129,166, 17,232, 79,211, 52,100,121,129, 82,226, 85, 77,146,100,253, 64,247,206,209,244, 30, 21,100,221, 96,187, 78,
-186,130,182, 93, 31,137, 47, 95,189,138,210, 18, 91,105,173, 37, 49, 49,137, 49, 92,189,114, 5,101,204, 80, 88, 40,148, 49,100,
-105, 70, 85,137,250,215, 5, 69,164, 21, 42,104,140,137,200,146,140, 36, 77, 80, 40,130,115, 84,109,143, 54,146, 93, 12,129, 60,
-203, 89,200, 21,127,255,221, 9,239,221,163, 8, 62,102,113,255,221,208,123,130, 13,144,192,147,135,207,112,215,109,187, 88,173,
- 58,142, 29,187,140,106, 91,194,178,230,235,127,124,132,233, 74, 75,227, 60,103,206, 92,226,185, 51, 19,182,245, 29,103,171,142,
-247,124,232,199,153, 13,163,243, 36, 73,137,146,132,145,137, 57,126,250, 52,255,232,159,255, 34, 77,219,113,231,205, 7,249,249,
-159,250, 59,188,235,254,123, 0,152,215, 53,117,211,144,165, 41, 27, 55, 44,145, 38, 25,117, 93,113,252,228, 73, 94,127,227, 56,
-111,156, 20, 11,215,199,223,247, 30,254,135,127,244,159, 83,230, 57, 81, 28,177, 50,157,241,226, 43,175,242,221,231, 15,243,133,
- 63,248, 35,218,166, 99,223,158, 93, 92,184,116,137,205, 27, 55, 18, 25,141, 11, 16, 58, 17, 58,122,239,209, 73, 10, 10,108,239,
-192, 40,102, 85,197,233,179,231, 56,117,238, 28, 73, 28,113,253,158,221, 60,120,247,237, 92,123,205, 14,118,108,219, 34,157,197,
-188,230,252,197, 75,172, 14,197,136,168,153, 21,104, 77,111,123, 94,120,245, 20, 95,126,244, 91,188,118,236, 56,187,119,236,160,
- 28, 21,108,223,178,153,253,123,246,172, 91, 55,143,158, 56,201, 95,124,235,113,190,246,216, 19,188,246,198, 9,154, 86,198,159,
- 27,151,150,184,245,192,126,122,219,243,196,211,207,242,224,221,119,112,117,121,133,201,108,198,226,120,196,229,171, 87,215,149,
-246,163, 98,196,103,127,248,227,252,221, 31,251, 12,222, 90,230,179, 57,229,168,228,228,169,211,152,200, 48,155,215,156,187,116,
-137, 53, 40,207,218, 85, 22, 57,123,174,217,201, 87,191,253, 56,251,175,221,195,135,223,243, 46, 54,111,219, 70, 95, 87, 40, 68,
- 47,146,196, 17,207, 29,126,137, 19,103,206,177, 48, 42,248,255,187,214, 14,115, 99, 12, 90, 73,193,116,248,181,163, 28, 63,117,
-134, 61,187,174,225,208,145,151, 57,126,234, 12, 79, 63,255,194, 15, 4,199, 76,102, 83,238,185,239, 62, 64,246,210, 4,232,218,
-134,222,246,195,222, 28, 76, 20,129, 19, 90,152, 15,158, 34, 45,232,187,142,200,104,122,165,176,222, 97,219, 97, 60,237,189,236,
-187,131, 20,204,114,255, 39,184,222,211, 90,121,223,168, 97,242, 23,197, 17,229,104,204,100,117,149,162,144, 72, 88,135,100,146,
-171, 16,176,120,250, 70, 14,236, 36, 73,240,222, 18,122, 77,150,165,180,189, 37,137, 19, 92,144,112,173, 44,203,228,240, 85, 29,
- 85, 5, 26, 77, 82,100, 96,229,247,153,205, 7, 43,238,112,128,180,157,136,134,141, 49,195, 59, 12, 20,210,185,134, 16, 24,141,
- 70,184,185, 35, 31,101,168, 0, 62,120, 76,156,201, 10, 75,169, 97,146,229,134, 68,206,142,214,119, 56,235,208,145, 98,222,182,
-168, 70,166, 30, 90,107,162, 97, 58,105,135,251,190,243,129,206,138,165,212, 57,185, 39,138,145,176,238,243, 36, 99, 54,159,139,
-136,109,148, 12,182,102, 8, 46,144,100, 9, 72, 31, 41,152,218, 52,198, 90,139,115,129, 44,205, 49,166, 71,196,105, 18, 15,221,
- 52,141, 20, 12, 67, 97, 81,140, 10,188,135,128,216,144,141, 54,226,165,215, 2, 98,179,214,210, 89,153, 28, 52,109, 67, 20, 37,
- 44,140,199,244,118, 13,159,107,193, 40, 84, 47, 19,104, 23,160, 30,144,173,137,145, 24, 92,219, 91,180,214,180,173, 21, 49,117,
-150, 65,144, 6, 52, 40, 43,154,181, 0,120,168,186,102,248,108,220,224,162, 16,145,122,221,182,100, 89,182, 30,203, 13, 3,146,
-214,202, 26,194, 90, 73,146,139, 8, 30, 81, 42,203, 23, 43,163, 95,200,146, 88,140,239,121, 74, 52,228,246,214,117, 75,215,119,
-120,175, 17,120,190, 84,194,113, 28, 49,175,103,168, 88,246,184, 11, 67,199,214,219, 30,239, 29,113, 34, 59,222,182,106, 64, 43,
- 70,165, 88,176,226, 88,212,130,174,183, 64,160,234, 26,140, 21, 14,175,137, 52,147,201, 42,193,137,200, 42, 77,115,138, 82,170,
-226, 52,149,131, 41,184, 32, 15,108, 44, 54,187,166,106, 89,190,218, 50, 94, 90,162,158,205,241, 64, 90,100,228, 67, 39,234,176,
-232, 72, 88,243,210,249,139,173, 33, 4,201,106,183,206, 82,183,205, 80, 9,105, 57, 96,188,167,173,107, 58,165, 6,165,115, 66,
-150, 8,131,215,123, 33,161, 69,145, 84,169, 12,251, 26, 20,224,197,107,108,140,236,136,148, 30,246,247,136, 88, 35,142, 98,170,
-106, 78, 28,167,164,177, 97,113, 97, 76, 83,183,210,241,105, 67, 51,116,255, 33, 64, 94, 20, 50,138,114, 30, 99, 98,138, 34,161,
-109,123,124,232, 8, 42, 37,137, 34,146,209,136,190,105, 72,178,148, 40,137,105,123,199,194,194, 8,130,200, 23, 12,138,116,156,
- 9,165,206, 24,218,174, 65,171, 72, 70,251, 48,164,228, 37,212,182,195,213, 45, 73, 89,144, 12,190, 88,173,165, 74, 23,207,172,
- 8,230, 8, 65, 16,141, 1, 26, 47,135,246,218, 67,127,117,101, 69, 4, 48,193,209, 54,130,252, 76,210,140,216,232, 65, 93,107,
-129, 88,138,138,182,149, 44,120, 39, 49,130,182,111,177,214, 15,104,205,192,231,223,153,243,222,221, 17,161,177,176,160, 9,111,
- 78,248,242,183, 94, 99, 92, 24,222,249,222,131,228,227,156,173, 75, 25,135,142,156,227,163, 15, 93,135,191,126, 3,255,247, 23,
-158, 34,153,205,217,150,167,108, 42, 82,158,120,234, 24,222, 65,134,229,134,251,222,205,232,224, 3, 76,134,169,209,108,190,204,
-115, 71, 94,166,237,122,254,251,255,229,151,215, 15,178,209, 72, 62,187, 51, 23, 46,136, 78,193, 72, 58,215,226,104, 68, 28,197,
-212, 77, 69,221,180, 76,230, 21, 95,253,246,147, 92, 93, 94, 33,137, 35, 30,186,239,110,209,114, 24, 67,104, 26, 14,191,126,148,
- 39,158, 57,196,147,207, 60,207,214,141,155,216,187,107, 23,159,253,225,143,179,115,219,102,124,240,111, 77,188,122, 17,191, 20,
-131,151,119, 84, 22,212,109,203,179,207,191,192, 99,223,123,150,139, 87,174, 98,123,241, 49, 23,163,146,165,197, 5,182,108,218,
- 72,221,180,124,235,187,207,240,236, 11,135,185,186,188, 66,239,228, 37,160, 81,220,184,255,122, 20,138, 55,207,156,227, 91, 79,
- 60,197,209, 55,222,100,203,166, 77, 60,124,223, 93, 60,112,207, 93,248,222, 98,157, 69, 27, 67,215,203,126,250,250, 61,187,249,
-166,137,214, 63, 7,128,213,233,148, 13, 27,150,248,137, 79,127,130,157,219,182, 50,171, 42,190,245,228, 83,188,252,198,155,156,
- 60,125, 78,188,193, 3, 92,200,123,203,179, 47, 30,102,219,230, 77,220,115,235, 45,140, 71, 37,175,188,118,148,191,250,222, 51,
- 92,190,116,153, 77, 27,151,216,176, 52,230,194,197,183, 0, 51,251,247,237,229,159,253,151, 63,199,117,187,174, 97, 97, 60, 98,
-243,166, 13,120, 60,161,169,112,206,113,236,205, 83,188,126,252, 77,156,235,217,127,237,181, 28,123,243, 52, 71,143,203, 90,224,
-111, 18,197, 41,165, 8, 10,242, 36, 97,105,113,129, 71, 30,124,128, 27,246, 94,203,197,203,151,217,181, 99, 59, 7,247,239,227,
-229,215,223,224,240, 43, 71,121,250,197,195,235,223,193,219,175, 43, 23, 47,242,220, 51,207,114,199,157,119,138,173, 43,136,103,
- 61, 77, 83,140,142,168,231, 21, 68,253, 48,109, 12,160,196,174,102,123, 75, 57, 42,101, 93, 53,140,130,181,150,124, 10,235, 61,
-179,217,156, 52, 78, 80, 70, 2,165,148,134, 34,149, 41,103,164,133, 37,144,231, 57,120,233,234,133,219, 14,105, 58,172,240,102,
-115,140, 82,152, 88, 44,103,214,247,195,244, 84, 44,107,214, 90,146, 52,162,107, 61,233, 56,197,245,110,125,154,224,122, 71,148,
- 69,248,193,186,106,204, 16,157,154,101,116, 77, 75,146, 68,164,105, 70,211,214,232, 72,210,215,100, 52,222,174,143,130,155,182,
-147, 67, 20, 17, 53, 10,200, 72,186, 83,109, 12,211,233, 42,163,209, 2,202,139,103, 61,120,135, 11,142,182,181,164, 89, 76,211,
-200, 42,179, 44, 75, 41, 2,140, 34, 14,134, 36,138, 9,193, 99,123, 75,156,102, 56,219,210,247, 45,125,239,240, 78,248, 10,113,
- 20,145,229,249,186,248,110, 97, 97,129,116, 88,113, 42,163, 40, 75,225, 1,244,189, 24,179,149,146,105,109, 8,130,230,214, 26,
- 66, 80, 68, 73,138, 82,129,122,152,134, 68, 90, 83,183, 13,113, 42, 78,159,186,171, 81,206, 97,189,193,117, 34, 84,141, 84,132,
-235,100,242,168,104,214,119,230,105, 33,252,118,141,194,133,126,104,202,132, 98, 89,215, 21, 11,163, 49,161,151, 68, 83,215, 75,
-243, 25,197, 17,109,211, 14,211, 78, 57,236,187,206, 66,240,244,189, 52,140,107,235,209, 16, 2,113, 18,139,104, 46, 8,131,190,
-175, 42,148,150,243,201,246,142,233,108, 10, 65,145,196, 17,202, 67,164,180,161,105, 90, 34, 19,200,199, 11,148,101,194,100, 54,
-163,243,129, 16, 20,177,137,137,226, 68,246,231, 26, 17, 69,133,181, 27, 69,160, 33,131, 91, 3, 23, 96,214, 77, 89,190,122, 21,
- 97,208,106, 52,138,182, 22,245,100, 18, 27,226, 56,163,235, 68,173,222,119,146,145,142, 82,148,229,136,214, 54,228,105,193,244,
-255, 99,236,205, 99, 44,187,238,251,206,207, 57,247,220,245,109, 85,213,221,213, 75,117,245,194,222,200,102,179,185,147, 34, 69,
- 81, 20, 45,201,148,100, 57,180,156, 56,182,227,216, 14,108,140,147, 9, 48,177, 17,100, 48,147, 1,102,226, 1,130, 56, 64,156,
- 89, 16, 15,236,137, 19,195,206,120,145,101, 43,150, 20, 91,178,100, 90,162,196, 22, 73, 81,220,155,189,144,189,239,107, 45,239,
-189,187,223,123,206,252,241,187, 85, 18,109, 79, 48, 23, 40,116,131,236,170,122,239,190,123,239, 57,191,223,239,251,253,124, 87,
- 37,180, 69,183, 93, 34, 87, 99,105, 84, 77, 27,138,231,115, 45, 71,189,181, 96,180,136, 19,162, 80,148,233,214,194,234,202, 18,
-253,100, 64,154, 79, 73,199, 53,165,201, 25, 13,135,164, 69,137,167,101,145,243,117, 0,218, 17,250,129,248,184, 59, 47,169,239,
- 25,194,192, 39, 47, 43, 92, 93, 49, 24, 12,240, 60, 1, 45,212,117, 69,145,103, 84,149,216,192,180, 18,190,187,181,150, 48,140,
-229,117,105, 97,171,143,199,171, 36, 65,132,214,134,178, 22,171, 65,158, 73, 32,192,112, 56,164,160, 32,233,201, 5,154,229,242,
-223,122, 70,163,149,161, 40, 37,130,111,146,166, 12,250,125,129,254, 55,142,184,215, 19,127,187, 18,170,159, 35,196, 57, 40,235,
- 18,173,252,110,148, 80, 96, 65,218,111, 86, 34, 74,179, 52, 67,121, 90,152,203, 77,131,241, 13,174,174,128, 22,231, 20,117, 45,
- 59,206,113, 42,169,107, 0,101,110,169, 16, 82,214, 96, 52,162,172, 42,218,186, 37,142, 67,162, 72,130, 86,148, 21,111,104, 94,
- 20,216,238, 2,156,142,199, 56, 45,243, 97,141, 38, 67,110,144, 42,207, 8,195, 0, 28, 56, 79, 83,215, 53,107, 10, 92,133,146,
- 27,184,117,244,250, 98, 41,178, 22,102,122, 13, 79,236, 14, 37, 27,221, 87,184,165,138,223,251,211, 55,217, 57,236,113,245,250,
-132,115,111, 94,224,240,222,121,188,186,229,169, 7, 23,217,244,224, 46,190,240,185,215, 9,178,130, 1,160, 90,168, 45,140,122,
- 49,211,172, 96, 82, 42,246, 62,254,105,150,167, 41, 56, 73,104,202, 75, 73, 86,250,234,243, 71, 88, 90, 17, 75,218,254, 59,118,
-241,233, 31,248, 48,187, 22,183,173, 51,171,163, 48, 34, 12, 3,140,231,117,110,136,150,227,167, 78,243, 43,255,215,111,242,198,
- 59, 18, 62,114,247,254,125,140,134, 3,153, 95,118, 66, 24,163, 52, 23,175, 92,103,121,188,202,190, 93, 59,121,228,254,123,152,
- 25, 13,241,131,144,182,109,201,242, 66, 2, 49,128,208,247,120,249,245,147,252,234,111,254, 54,207,126,244, 41, 6,131, 1, 51,
-163, 33,107,194,157,185,153, 17,187,119, 46,112,199,194, 86, 33,170,149, 21,111, 29,127,151,119, 78,188,203,185,203, 87,214, 95,
- 63,128,197,241,242,235,111,178,101,195, 28, 15,222,119, 15, 77,219,114,115,121,153,219,171,171,156, 58,123,142,231,142,188,204,
- 35,247, 30,226,222,131,119, 49,236, 43, 62,251,141,111,242,252,139,175,114,244,189,147,148,197,247, 22,244, 13,179,179,124,234,
-233, 39,121,236,193,251,216,187, 99, 59,113, 28,115,245,198, 77, 54,111,222,204,229,235, 55, 89,157, 76, 40,235,154,143, 63,249,
- 4, 7,247,238, 34, 73, 18, 30, 60,124, 55,187, 23,183, 19, 4, 1,203,171,171, 56, 39,226,162,207,127,237, 47,185,240,125,254,
-245,181,227, 84, 23,249,250,248,195, 15,240,143,126,234,239,226,249,129,136,194, 16, 17, 80, 89, 73, 49,113,246,194, 69,174,222,
-188, 69,104, 68,228, 10,223,171,198,191,255, 88,171, 48,181,242, 56,184,111, 47, 59, 22,182,177,119,247, 14,238,216,185, 29,223,
-248,156,191,114,149, 55,142,158,224,236,133,139,156,189,116, 89, 44, 94,223,119,104, 45,224,155,251,239,190, 11,207,192,114,154,
-118,139,185, 71,211,180, 84,174, 34,136, 3,153,103,231,185,136,151,180,100,179, 43,179,198,243, 78, 40,138,140,184,215,239, 0,
- 51, 33, 38, 14,104, 59, 59,173, 54,134,193, 80,236,104,117, 45,227, 22, 79, 75, 24, 74, 85,150, 88,235, 72,146,152,186,174,137,
-227,164, 19, 99,181,157, 67, 72,212,224,190,241,105,170,134,210,214, 20,101, 65, 93, 75,229, 91, 20,157,247,186,150,141,132,209,
- 30,120, 8,190, 22, 17,218,181,174,194,215, 1, 70, 25,209,186,104, 15,144,234, 60, 10, 3,154,202,145, 53, 25,195,225,144,164,
- 43,194,172,109,145, 43, 75,161,149, 38, 43,114,160,203,125,119,174, 19, 52, 43,242, 52,197,121,154, 54,207,240,141, 79, 85,150,
-130, 97,117,208,235, 39,180, 85, 75, 81, 21, 52, 85,131,214,178,160,175, 69,188,182, 14,217,224,251,225,186, 35, 39, 52,146, 14,
- 87,178,150, 76,166, 49,158, 17, 65, 97, 35, 66,194,193,160,143,198, 81,181, 22,172, 69,155,206,239,222, 54,212,213,247, 54,109,
-190,241,105, 90,113, 39,105, 45,137,146,214,130,167,228,252,183, 78,198, 53, 81, 16,211, 88, 75, 18,136,184,219, 41,193,233,122,
-190, 79, 81,164,180,142, 46, 64, 6,218,166,162,170, 37,255, 93,107, 1, 64, 57,219, 50, 28, 74,148,185, 31,202,102,198,215,158,
- 16, 63,157, 67,185, 78,247,228,132, 19, 95, 55, 21, 26,233,126, 78,210, 9, 65,224, 19,198, 49,117,183,118,216, 86, 84,241,233,
-100,130, 49, 30,198,121, 88, 28, 85, 81, 97, 43,105,199,151,121,151, 14, 10,210,219,111,235, 6,191,179, 37, 24,165,200,106,105,
-195, 52,173,165,172,197,159,151,101, 25,173,181,248, 54, 96, 50, 73,101, 30,100,197,203,172, 61,143,116, 50,166,169, 43,146, 56,
- 38, 12, 3,170,170, 64,105,189,110,253,144, 10,184,145, 5, 91,107, 26,101, 25,141,102,168, 91, 75,150,166, 40,237, 9,248, 32,
- 8,112,101,141,100,119, 43,208, 22,112, 18, 71,170, 96, 48, 26,137, 8,164, 44, 72,194,132,162, 44,153,102, 25,206, 66, 63,142,
-152,102,185,192, 81,172,195,248, 18, 95, 87,150,146, 59,172,149,143,209,144,166, 83, 6,131, 1,147,233, 68, 90,217,158, 38, 14,
- 67,178, 52, 35, 47,178,245,139, 96, 50,153, 72, 92, 97,211,226,172,144,173,242, 50,239, 82,206, 74,226, 36,161,110, 27,138, 76,
-110, 36,135,176,179,189,110,174, 45, 27,150,158,132, 57, 20, 89, 71,114,147,120, 68, 5, 12, 70, 3,166,147, 41, 69, 89,118,231,
- 73,110,114,237,105,146,222,154,138, 18, 76, 32,130, 61,207,151,202,122,146,166,235,149,128, 82, 16, 69, 9,113, 36,224, 22, 15,
- 8, 76, 64, 94,230,132,113,140,111, 4, 28,147, 78, 86, 5, 77,216,134,210,182,107, 91, 65, 12, 26,201,227,117,206,117,163,142,
-190,116, 27,111,214, 65, 69, 0, 0, 32, 0, 73, 68, 65, 84,144, 7,132,179,173, 8, 66,156,235, 30, 96,178, 17, 12,163, 16,207,
- 57,134,131, 1,109, 20,145,149, 37,101,150,209,139, 99,166, 43, 43, 36,131, 1,253, 32, 38, 43, 43,148,167,153, 78, 5,150,162,
-181, 70,107,213,253,169, 73,146, 30,158,239, 99, 34,169,186,218,166,165,214, 21, 15, 44,132,248, 19,135,211, 45,132, 9, 47,125,
-251, 45,252,186,230,145, 67,187, 56,242,250,123,188,121,230, 54,131, 64,177,113,247, 38, 22, 63,122,128,179,223, 60, 75,177,154,
- 50,208, 45,241,168, 71,177,154, 49,231,124,166,109,195, 96, 38,196,219,124, 23,105,188,129,114, 58, 69,119,182,185,211, 23, 46,
-241,165,175,125,157,207,127,249,107,221, 77,239,177,123,251, 2, 27,230,102, 25,246,250, 36, 73, 36,231, 84,201,152, 40,239,132,
-146,158, 17,113,223,187,167,207, 0, 48, 26, 12,120,246,227, 79,179,103,113, 1,173, 52,160,241, 13,156, 60,123,150,175,125,235,
- 8,195, 65,159,103,158,122,146,103,159,121, 26,133, 38, 75, 83, 86,166, 83,198,147,105, 39, 54,212, 20,165,199,175,255,238, 31,
-114,238,194, 37,254,248,203, 95,227,217,103, 62,202,161, 3,251,137, 59, 96,208,183,191,243, 58,202, 41,182,204,207, 51, 55, 59,
-131,115,142, 93,139,219, 24, 14,251, 52,109,203,137, 83,103,214,175, 91,173, 53, 7,247,239,161,215,239,113,254,210,101,250,253,
- 62,163,193,128,217,193,128,199, 31,126,128,126,146,160, 21,120,158, 98,219,252, 70,158,120,228, 33,246,239,220,193,139,175,191,
-197,103,191,248,103, 20, 85, 69, 28,199, 12,146,152,165,149, 85,105, 57,171, 78, 36,166,100,129,169, 91,203,206,237, 11, 44,173,
-142,121,249,181,215,121,232,240, 65,126,244,147, 31, 99,219,230,121,218,198,113,227,246, 45, 46, 92,189,198,119,222, 56,202,242,
-202, 42,121,241,254,197, 19, 96, 56,232,115,104,255, 94, 46, 93,187,193,103,191,248,101,138,162,224, 23,254,222,143,177,101,211,
- 38,150,199, 99, 46, 95,187,129,115,142,125,187,119, 82,148, 21, 87,111,222,226,237,247, 78,203,189,245, 95, 57, 6,189, 30, 7,
-247,237,101, 52,236, 51,153, 78,184,124,245, 58,123,118,239, 68, 3,111, 30, 63,201,241, 83,167,121,247,236, 57,110,221, 94,122,
- 95, 87, 98,237, 8,130,128, 61,187,119,242,212,163, 15,113,244,204,121, 94, 56,122, 2,165, 36, 74, 89, 68, 89, 21,174,149, 13,
-133,214, 29, 50, 53, 48,178, 96,226,208,128, 31, 68,180, 85,141,142, 34,146,141, 27,100, 1, 27, 14, 25,204,111, 66,153,144,182,
-133,241,245,203,228,215,174,145, 45,221,166, 46,107,146, 68,170,116,167,132,131, 17,134, 1, 96, 73, 83, 97,253, 39, 73, 76, 85,
-202,136,208,143, 68,136,149,248, 17, 56,141,117, 93, 59,216,218,238, 79,161, 11, 26,101,168,108, 69,139,116, 18,162, 40,162, 40,
- 36,254,212,248,157, 62, 72, 27,218, 86,236,107,114, 95,130,231, 27,166, 89, 70, 28,117, 97, 84,117,139, 49,166,203,138,144,191,
- 43, 37,197,149,164,110,122,221,198,163,135,179,174, 3,100,121,104,103,168,235, 70,196,198,141,193, 24,131, 70, 90,252,194,157,
-151,222,121, 94, 22,194,243,232,142,182,109,208,141, 71, 28,203,168, 37,138,164,112,106,149,195,213,242,220,107, 91, 11, 8,229,
-212, 55,154, 40,140,177, 88,170,162,193,154, 26, 91, 59,122,253, 62, 90, 41, 64, 49,153,140, 49,190, 17, 16,140,107,152,164, 41,
-129,246,100, 65, 54,194,251,143, 67,201, 66,175,242, 2,227, 39, 20,117, 73, 28, 69,210,197,232,216,237,242,120,116,164,233, 84,
-120,252, 73,140, 42, 42,177,218, 25, 31,171, 13,147, 46,235, 98, 48, 26, 96, 60, 13, 78,184, 3, 81, 24, 97,125,131,179,138,178,
-200, 59,219,183,193, 86,138,214,181,132, 38, 4,107, 5,179,141, 67, 7,170, 99,201, 40, 28,130,211,245, 67,233, 16, 5,161, 66,
-105, 41,138, 38,147, 20, 13,152,186,110,104, 93,139,175, 36, 83, 29,231,104,156,235, 68, 96, 61,180,111,136,140, 1,235,232,245,
- 18,178,162, 20,117,185,131,160,151,208,180, 22, 84, 23, 99, 88, 8, 52, 38,207, 50,172,107,137,195,136,213,213, 85,218,182, 93,
-191,248,181, 22, 84,158, 83,221,236, 84,105,140,167,232,117,116,174, 53, 1,150,139,161,170, 45,161,209, 56,165,104,157, 37, 95,
- 93,161,117,150,166, 41, 9,195, 62,195,193, 16, 80, 4, 56, 34, 43,148,187,188, 44, 48, 70,222,164,118, 64, 43, 94,251,233, 84,
-192,252,190,145,147,105,173,101,117, 85, 30, 86, 69, 89,224, 28, 52, 85, 73,107, 45, 97,146, 96,180, 94,247,135,175,174, 44,119,
- 39, 84, 54, 64, 97, 24, 83, 55, 53, 77,219,202, 69, 97, 12,126, 32,190,204, 52, 77,153,164, 41, 73,191,143,239,137,159,178, 42,
- 5,249, 23, 4, 1,218, 72,139, 42, 73,250,120, 90,126,102,210, 19, 59, 87, 83, 73,110,121, 24, 5,120,200,255,107,235,154,178,
- 17,123, 31,214, 49,201, 82,156,149,221,100, 28,134,164, 89,134, 83, 80, 22, 25,182, 21,209, 5, 74, 84,146,189, 94, 15,172, 8,
-123,156, 82, 34,126,180, 80, 55, 21,101,103,165,147,212, 60,217, 41,123,158, 71,216,239, 81, 87, 53, 14,139,107, 93, 23,111,234,
-161,149,194, 79, 34,234,218,162, 13,248,129,191,254,222,155,198,138, 26,190,123,159,233,100, 2, 74, 49, 29,143,229,243,244, 12,
-218, 51,168,214,174, 43,228,173, 69, 58, 27,206, 9,198, 81, 75, 75,209,120, 62,142, 22,231, 12, 73,149,194,133, 41, 28, 88,128,
- 91, 25,103,206,173, 48,235,105, 78, 94,184, 66,158,149,236,185,107, 27, 27, 99,160, 31,225,206, 77,249,230,137,235, 12,235,146,
-217,141, 51,232,208,176,178,154, 50,108, 45,169,245,208,227, 41, 91, 31,123,140,229, 84,184,201,190,231, 49,232, 39,108,152,153,
-225,198,210,247, 84,216, 79,126,224, 17,126,230,199,126,132,187,247,239, 35,142, 66,154,166,145,107,195,182,180,182, 83,232, 55,
-142, 75,215,175,241,127,252,135,223, 38,235, 64, 37,247, 31, 60,192,129,125,123, 72,122, 9,145, 9,112,202,113,229,230, 45,190,
-254,237, 87,112,206,241,139, 63,247,211,124,236, 67,143,145,103, 57, 90,105, 17, 60, 69,161,204,150, 93,200,112,216,103,118, 52,
- 34,244,125, 0,110,175,172,114,229,250, 13,222, 58,126,130,171, 55,110,241,202,235, 71,153, 25, 13,121,228,254,195,236,220,190,
-176, 46,212,210, 90,115,245,198, 77, 94,127,231,248, 58, 22, 22,164, 5,125,248,192, 62, 22,183,108,230, 43,207,191,192,210,202,
-106,247,158, 2,118,108,219,198, 71, 30,127, 24, 99, 12, 85, 93, 49, 77, 51,166,233,148,215,142,157,224,205, 99, 39, 40,186,121,
-247, 48, 73,248,212, 71, 63,194,211, 79,124,128,109,243, 27,177,109,195, 52,147,241,212,131,247,220,205,119, 95,127,139,133, 45,
-155, 24, 14, 19,142,189,123,134, 99,167,206,242,240,165,107,204,205,109, 32, 79, 51,206,158,191,200, 27, 39,222,229,196,233,211,
- 28,127,247,204,251,152,238,107,199,189,119,221,197, 15,127,236, 41,118, 47, 46,176,101,126, 35, 87,174,221, 96,121,117, 76, 24,
- 4,156,187,120,133,183, 78,156,224,157,119,207,112,238,210, 69,110, 47,173,190, 47, 80,230,191,118, 84,109,141, 83,142,141,179,
-179,236, 88,216,198,230, 13, 27,216,187,115, 7, 75,203, 43,188,119,246, 28,239,158, 57,199,149,235, 55,186, 74,239,253,135,181,
-150,217,225,128, 65,210,163, 31, 69,252,216, 83,143,114,199,134, 1,191,245, 23, 71,168,154, 86, 68,197,182,107,183,183, 13,174,
-116,221, 2,231, 17,198, 62,161,141,168,109,197,194,125,247,114,224,227,207, 16,205,111, 39, 10,103, 80, 68,120,202, 18, 41, 24,
-205, 41, 18, 50, 86,199, 49,151,190, 83,112,107,229, 38,103, 79,254, 71,110, 29, 63,137,115,142,186,250,158, 63, 60,138, 66,113,
-145,180,181,116, 10, 42, 97, 25,212,105,221, 45,244, 82, 52, 41,165,169,235,138,126,210, 71, 25, 15, 87, 57,140,103,168,171,154,
- 32, 10, 36,123,221,128,197,210,235,197, 88, 0, 7,161,239, 83,213, 45,214, 9,111,162,170, 75,226,112,128,197,145,229, 41,211,
-166, 38,137, 98, 28,154,182,118, 52,212,120,120,248,120,210, 14,110, 26,170,178,160,215, 27,224, 44,235,163, 56,177,105,105,104,
-101,129,114,185,216,195, 68,169,159,118, 5,137,108,150,215, 70, 24,158,242,136,147,132,178,204,136,162,132,166, 41, 41,170,156,
-186, 18, 49,223,154, 88,204,143,186,145, 93,207,167,237, 70, 78,117, 85, 49,169, 39, 12, 7, 67,156,107,214,171,127,133,108, 94,
- 21, 30,131,193, 64, 34, 75,235,239, 89,226,106, 39,122, 0,215,182,120,190, 79,221,182, 52, 85, 45, 35,147, 74,158,203,105,211,
-118, 58,162,136, 16, 1,104,181,206, 82,169, 10, 63, 52,242,204,143, 99,122,122, 64, 83, 87,148,101, 14, 14,137,154, 77,101, 3,
-218, 75, 98, 60, 29,144,167, 25,126, 20,227,154, 90, 10,224,110, 60, 82,235,150, 42, 47,240,140, 66, 41, 15, 79, 41,154,182, 37,
- 10, 4, 22,150, 78,133,221, 31,135,177,116,151, 20, 34, 98,117,150,186,113, 56, 45,128, 30,227,121, 6,207, 25,252,192,167, 40,
-114,137,198, 84,138,166,181, 76,166, 19,250,163, 1,117, 94,211, 90,135,178, 18,220, 78, 32, 21,225, 52,205,136,162,110, 62,160,
-141, 88,169,180, 33, 52,166, 3,171, 72,200,128,109,132,186, 19,199, 17,198,136,237,195, 51, 30,217,100,138,115,162, 30,108,109,
- 3, 86,250,248,253,193, 64, 60,160, 85, 69, 18, 14,105,108, 67,228, 27,204,204,136,213,213, 21,234,178, 34, 83, 41, 65, 16,147,
- 36, 49,190, 9,232,247,125, 92, 20,209,210,225, 24,107,129, 63, 4,161,192, 12, 70,163, 17,227,241,152, 60,149,214, 73,210, 79,
-104,173,149, 29,170, 18,176, 6,214, 50,238,136,114,211, 60,135, 86,102, 24, 22,215, 9,248, 58, 15,106,145, 97, 76, 64, 91,137,
-170,179, 68,129,214, 12,250, 67,194, 36,150, 0, 28, 64,105,205, 96, 48, 68, 41, 39, 29, 7, 37, 59,187,166,181, 29,169, 79, 17,
-246, 66,124,101, 72,171, 66,226, 65,157, 35, 78,122,172, 78,229,117, 0, 40, 79, 97,109,140,109,101, 81,142,146, 88, 20,166,147,
- 9, 97,224, 19, 39, 50,127,149, 24, 74,193, 32, 70,161,207,116, 50,198,243,215,210,135,228, 70, 91,251, 2, 73, 61,243,148,136,
- 10,135,131, 62, 85,221, 18, 4, 30, 42, 18, 49, 15, 86, 32, 52, 85, 89,160,117,151,162,167, 69,105,186,150,180,102, 34,169,100,
-167, 83,217,232,133,157,120,206,182, 82,221,251,218,195,243, 13, 90,201,239, 84, 74,173,111,144,180,115,242,121, 89,208,190,232,
- 18,138, 42,103,110,118,196,161, 45,138,103, 31,140,113,117, 12,190,225,202,217, 11,108, 26,134, 84,149,101,233,242, 42, 87,155,
-150, 79, 29,216, 14,167,223,133, 65,143,223,253,202,171,196,105,202,236,220, 16,211, 15,168, 38, 21,202, 4, 92, 45, 27,198,117,
-195,124, 60, 68,111,217, 79, 83,148,104, 44, 40,195,151,159, 63,194,191,249,141,255,184,238,195, 94,216,186,153,159,124,246,135,
- 56,184,247, 14,146, 56, 36,240,252,110,115,215, 80,212,150,170,106, 72,243,156, 52,203,121,233,213,183, 56,122,226, 20, 32,158,
-251, 15, 62,242, 32, 27, 6, 3, 70,189, 30,218,243,184,121,123,137,127,255,123,127,196,183,191,251, 26, 79, 62,242, 16,207, 60,
-245, 4, 97,224, 75,162, 20,173,140,157,154,150, 65,191, 71,224, 7, 24, 79,216,255,135, 14,236,227,181,163,199, 40,171,154,227,
-167,206, 18,135, 33,187,182,111, 99,126,211, 28, 55,110, 46,177, 99, 97, 27,247,220,185,143,165,213, 49,227,201,148,149,149, 49,
-151,174, 92, 35, 12,252,174, 2,147, 77,198,191,252,103,255,132,135,239,189,135, 47,253,197,215,241,141,199,120, 50, 97,227,220,
- 44, 15, 30, 62,196,234,100,149,147,167,206,178,111,239,110,234,166,165,174, 91, 38,211,148,119,222,125,143, 55,142,157, 96,237,
-152,157, 25,112,123,121,133,107,215,111, 48, 55,232,163,251,125,110, 46, 47,243,231,207,127,139, 35, 47,191,202,141,165, 21, 30,
-127,240, 62,126,233,231,127,134, 67,247, 30,194,230, 69, 87,109,213, 52,109,195,214,173, 91, 57,113,238, 2, 47,189,246,230,186,
-111,126,237,152, 25,246,217, 48, 59,203,194,214,205, 28,186,115, 63, 91,231, 55, 48,236, 15,217, 48, 59,199,120, 50, 97,156,102,
-204,206,142, 88,220,186,149, 56,138, 49,190,230,246,242, 91,252,255, 57, 14,221,185,159, 45,243, 27,153, 29,142,232, 69, 33, 73,
-156,176,127,207, 46,242, 34,231, 63,125,254, 11, 60,119,228, 37, 38,147,201,186,184,239,111, 58,180,214, 12, 98,159, 94,185,140,
- 93,170,248,228,254,237,220, 49,251,131,252,187, 23,223,230,250,181, 37, 73,206,243, 12, 10,209,218, 52,181,136,177,156,133, 61,
- 31,123,154,195,159,254,113,166,174, 71, 61,185,136,139,231,152, 84, 45,225, 57,203,198,131,138, 45,131, 10, 92,131,175, 20, 27,
-250, 25,246,137, 4,239,229,157,120,209, 47,163,230,254, 3, 55,143, 60,135,246,100,161,243, 58, 17, 99, 28,199,120, 94, 68,219,
- 52,244, 58,202,100,145,229, 93, 7, 80,238, 79,207, 19, 31,243, 36,157,208,235, 73,183, 45,203,196,145,148, 77, 37, 70,185,174,
- 27,140, 19, 91,166,114,138,186,174,233,245,123, 64,131, 31,248,184, 86, 98,172,149,130,178,148,209, 2, 56,234,218,210,184, 70,
-170,236, 70, 17,248, 1,181,171,169,211,148, 94,175, 71, 89,105,170, 74, 58,140,107,137,154,129, 39,233,154, 74, 43, 98, 99, 8,
-186,188,118,107, 91,140,242,208,190, 7,173,100,118, 24, 95, 97, 2,121,150, 52,173,108,164,181,214,152, 32,164,238, 52, 15,214,
-182, 84, 85,131,214,146,145,142, 21,103, 64, 89,213,160, 58, 0, 22,146,140,214,180,142, 65, 95, 34,111,171,166,192,152, 62,214,
- 74, 39, 50,233,119,127,119,162, 99,105,170,134,162,200,133,146,106,132,151,239,121,138,186,118,148,141,136,211,234,186,198,181,
- 45,147, 73, 74,224,107,180,231, 75, 23,179,155,131,135, 97, 72, 54, 77,169,173,197,247, 52, 73, 24,119,157,132,182, 75, 80,243,
-132, 30, 8,224, 32, 47, 75,122,131,190, 20, 90, 8,164,199,182, 45, 26, 3, 74,224,100,147,241, 88, 58, 55, 26, 65,253, 58,135,
-179,142, 73,190, 42, 69,154,147,248,216,181,103,123, 28,132, 34, 8,172,138, 82,218, 19,157,239,178,169, 26,242, 44, 23, 98, 92,
-211, 80,231, 53, 81, 63,198, 88,139, 49, 33, 85, 37, 31,180,179, 22,207,192,120,101,138,242,164, 29,217, 84, 37,218, 51, 20, 85,
-201,218,220, 27,101,241,124, 31,107, 29,121, 81, 97,188,150, 48,137, 73,167, 41, 73,210,163,104,106,130, 78, 32, 50, 94, 89, 1,
-219, 50, 29, 79, 48, 81, 23,107,168, 44, 65,224,131,147, 40, 66,173, 53, 73,191, 71,219, 86,136,119,221, 82, 20, 21,158,231, 83,
-213, 37,198,247, 40,203,134, 36,142,208, 90, 98,249,172,131, 94, 47, 98, 56, 28, 72,114, 78, 43,162, 63,173, 20, 85, 91,161,141,
- 2, 37,228,185,217,153, 25, 97,253, 42,133, 31,135,157,157,196,117,221, 9,169,106,173,211, 52,121,177,222, 85,176, 40,180,115,
-140,167, 83,225,153,215, 37, 78,201,142,186,215, 19, 54, 50, 74,168, 73,161, 31,128, 22,235, 92, 94, 20,100,227, 76, 22, 90, 28,
- 10,205,104, 56, 32,157,174,121,184,101,241,195,130,195,202, 44,197,243,169,203, 2, 63,233, 49, 24, 14, 0,249,112,163, 64,144,
-190,113, 23, 36, 80,181,226,119, 77,211,140, 40,137,240, 61,169, 0,203,170,146,121,163,231,161,148, 34, 43,114, 4, 26,100,168,
-235,154, 40, 10,200,178, 28,108, 75,152, 72,104, 79, 89,150, 20,157, 0,112,212, 31,173,143, 81,194, 32, 96, 60, 30,163,149,146,
-156,251, 70,102, 85, 46, 8, 80,221, 3, 37,238, 13,192, 58,198,147, 49, 78, 9, 70, 84, 28, 9, 6,101, 52,158,243,104,176,100,
-147,177, 60,184,124,195,223,127, 72,243,201,125, 6,221, 88,240, 13, 20,150,119,206, 47,209, 58, 71, 72, 75, 89, 53,124,230,131,
-187,177, 69, 9,126,194,234,155, 23,152, 92,184,205, 29,129,166,110, 90,218, 76, 54,161,211,178,198,122,154,186,204, 73, 30,253,
- 65,252, 36, 33,114, 98,231,211, 90, 90,180,251,118,237,228, 59,111, 28, 5, 44,123, 23,183,179,113,102,136,164, 4,202,124,173,
-181, 66,107,114,173,164,239,189,125,236, 36, 95,253,214,183,121,241,245, 55,153,164,226,101, 61,176,123, 39,158,241,169,172,220,
-224,198, 57,230,102, 70, 60,243,212,135, 88, 89, 93,229,177,135,238,197, 55, 62,211, 44, 19, 33,140, 82,221,168,198, 97,248,158,
- 77,229,252,149,171, 28,220,183,135, 39, 30,126,128, 23, 94,121,141, 43,215,110,112,247,129,125,100, 69,197,214,249,121, 94,123,
-251, 24,171,211, 9, 89,209, 97,116,149, 34, 45,114,198,147, 41, 89, 94, 80,149,178,160,239,223,189,139,167, 31,127,132,162,172,
-216, 56, 59,195,243, 47,189,194, 35,247, 30,226, 99, 79,126,144,187,246,237, 17,193,107, 83, 33,225, 60, 53,211, 44,227,250,141,
-219, 92,189,254, 87,108,102, 14,118, 45, 46,176,184,176, 21,173, 53, 89,150,145,103, 57, 15,220,125, 39,187,183, 47,242,221,163,
-239,112,236,196,123,252,238,159,124,137, 31,173, 43,246, 46,110, 39,203, 11,166,121,198,233,115, 23,121,254,165, 87,200,202,146,
-217,209,224,125,139,122, 20, 69,220,181,119, 15,143, 63,120, 31, 59, 22,182,163,112,235, 27, 27, 2,159,126,146,176, 58,157,112,
-233,202,117, 62,251,197, 47, 83,219,150, 45,155, 54, 48, 55,154, 1,254,191, 43,245, 93,219,183,113,239,161,131,244,227,136,126,
-146,176, 99,251, 2,119,236,216,206,230,141, 27, 8, 2,159,229,229, 49,223,124,249,187,172,142, 39,127,237,123, 85,247,144,212,
- 90, 51, 55, 35,163,141,133, 65,204,230, 94, 66, 18,133,188, 24,142,248,218,214,237, 44,254,248,189,220,145,102,172, 94, 56,207,
-205, 99,199,184,117,241, 60, 97, 16, 81,215, 13,113, 47, 97,243, 19,143,179,117,251, 63, 96,195, 92,197,102,215,112, 98,226,227,
-215,134,217, 89,195,197,183, 52,199, 95,248, 18, 15,126,226, 7,153,161, 33,176, 16,234, 16,194, 9,229,193, 33,171, 95,113,212,
- 75, 31, 97,238,193,138,165, 87,159,199, 15, 36,197,210,186,182,203, 13, 7, 79,203,216, 71, 57, 71,220,139,193, 42,164, 37, 41,
-193, 46, 18, 64, 35, 42,238,181,130, 71,107,181,206, 31, 87, 74,252,254,158, 18, 1, 92,235, 44,227,241,152, 56,144,249,125,145,
- 23,132, 97, 72,158,127, 79,121, 95,116,207, 58,191, 43,230,188, 78, 28,232,251,210, 85,171,235, 82,138, 1, 13,249, 84, 42,112,
-219, 54,120, 81, 68,223, 55,228, 69,142, 66,145,101, 89,231,251,118,132, 81, 72,213, 97,105,139,186, 36, 54, 49,170, 22,127,127,
-221, 72,248,140, 82, 10,237, 60,148, 60,186,208,104,130,192,224, 92, 67,211, 56,194,126,216,193,189, 44,195,193,112,189,184,112,
-173, 35,234,138,139,162, 40, 8, 67,159,149, 46,133,112,253,185,234, 28, 78, 57, 60,132,190, 25,132,221,230,193,105,140,111,104,
-218,150,209,112, 72,107,155,245,238, 67,227,156,108,190,125, 31,139,235,198, 2, 66, 98,173, 10,137,171, 53, 90,147, 78, 38,120,
- 61, 35, 27, 7, 45, 93,102, 31, 31,194, 0,227, 5,212,101, 73,235, 26,166,227, 9, 90,107,134,195, 1, 65, 24, 34, 84,188,150,
- 64, 7, 40, 43, 96,154, 52, 21, 48, 80, 63,233,173,191,238,170,170,186,110,128, 80, 65,197, 13,213, 41,245,109,131,113, 14,198,
-227,137,192, 79, 20, 96, 12,214, 57,241, 94, 43,141,103,124, 92, 99,169,241, 36,173, 11, 67, 94, 84,132,158,134, 70,201, 73,106,
- 60,234,172, 20, 63,163,175, 69,133,231, 28, 73,220, 67, 4, 24,208,182,142,198,214,248,129, 32, 12,135,253,152,213,201, 20,176,
-232, 36,160,182, 34,186, 67, 43, 73, 45, 67, 97, 77,194,120,117, 76, 16, 5,196, 97, 68,152, 68,184,212,226,180,135,175, 37,217,
-204, 54, 13, 70, 43,172,178,196, 81,130,117,142, 40, 14, 59,225, 91, 67,191,159,224,156,162,170,235,245, 7, 51, 74, 46,142, 34,
- 47, 73,122, 61,112, 96, 91, 24,141, 70,100,133,132,209,107,173,177,109,195,234,202,152,182,109, 69,200, 87,148, 84,181,131,166,
-197, 79,122, 4,190,208,219,112,144,165, 5, 86,131, 14, 13,129,167,168,178,148,202, 51,148, 77,131,175, 4, 91, 59,157, 8,231,
- 89,105, 81,110,250,129,207,120, 50, 33, 49, 1, 85,213, 80,219,134,178,172,187,234, 94,145, 21, 37, 97, 32, 42,203,201,116,138,
-250,190, 74,119, 58, 21, 52, 97,146, 36, 76,198, 99,218,182,233, 22, 82,153,245, 27, 95, 54, 66,206,201,142,222, 31, 6, 20, 69,
- 6, 78,118,183,105,154, 18,133, 33,113, 34, 97, 21, 34, 54, 12, 40,171,162, 19,154,104, 60, 4, 74, 17, 70, 34,176,105,171, 22,
-144,155,123,210, 97,119,149, 18, 22, 1, 78, 90,117,173,149, 25, 87,175, 23, 51, 26,141, 40,138,138, 56, 14,240,140, 79, 93,151,
-164,121, 70,228, 75,190,112,213, 84,100, 89,129,171,107, 44, 80,150, 53,207,220,219,231,211, 7,125,220,184,198, 29, 63,139, 58,
-188, 7,106,203, 3,123,231,249,214,155,103, 73,107,120,242,193,157,204,110,222,196,215,190,115,138,143,253,192,126,222,121,238,
- 36,195,126,136,171, 91,138,213,156, 97, 18,114, 43,171, 40, 90,135,106, 36,228, 97,211, 61, 31,134, 70, 58, 62, 73, 28, 51,205,
- 51,142,117,129, 38, 96,249,228, 15, 60,197, 47,255,226, 63, 98,118, 52,194, 57,217,244,173, 45,188, 0, 85, 35, 26,130,157, 59,
- 22,120,232,222, 67,156, 58,123,142,219, 75,203, 4, 65,192,220,236, 12,129, 49,212,141, 44,144, 0,215,110,221,226,189, 51,103,
-187,185,116, 79,236, 61, 85,141, 67, 82,179,180,238, 56,247,214,161, 74,137,148,245, 61,159, 61, 59, 22,249,196, 71, 62,204,252,
-166, 13,156, 57,119,145,162,168,216,181,125, 27, 81, 24,240,241, 39, 63, 72,150, 21,220,184,121,147,217, 14, 12,148, 68, 17, 51,
-195, 62, 73, 28, 73,118,182,115, 60,253,248, 35, 40, 99,152, 44,175,226, 80,220,119,247,157,220,123,247, 93,236, 90,220, 38,225,
- 34, 14,156,115,148,117,205,120, 60,229,173,227,239,242,173, 87, 94,101, 60,249,158,247,251,129, 67, 7,249,216,147, 31,100,126,
-110, 6,215,182,140, 83, 81,251, 31,121,229, 85, 38, 89, 78,154,101,172,140, 39,108,217, 52, 71, 89,213,120, 74, 81,213,162, 13,
- 88,187, 46, 38,211,148,231,190,253,242, 95,131,204, 20, 69,193,139,175,189, 73, 81, 86,252,131, 31, 95,100,207,142, 69,122,189,
- 4, 47, 12,137, 64, 22, 35,223,112,123,121, 21, 63,240,121,243,173,147,188,125,236, 36,215,111,255,245,246,253,247, 31,195,126,
-159,237,243,155,120,252,225, 7,216, 48, 51,226,226,149,235, 24, 79, 80,199,121, 86,112,246,194, 69, 86,198,227,191,241,123,165,
-123, 5,179,163, 17,127,247,147, 31,227,224,174,237,124,224,192, 46, 86, 55,108,228,249, 54,230,252,220, 54,102,171, 2, 87, 23,
-120,241, 28,219, 54,111, 97,225,161,135, 88,122,247, 61,206,124,227,235,108,223,179,155,197, 39, 30,231,149,151,222,160,125, 83,
-227,187,136,227, 71,175,178,113,199, 22,246,253,104,193,227,132,252,235,155,142,119,142, 30,103,119,244, 41,102, 62, 50,224,138,
-154,208,183,138,241,119,134, 84,183,161,169, 20, 99, 59, 7, 87,119, 51,179,255, 38,249,155,111, 98,173,160, 69, 69,128, 85, 83,
- 57,121,142,153,192,144,231,165, 44, 56,174, 69,107,221, 81,226,100,179,186, 58, 25, 75, 46,188,214,235,163,184, 36,233, 3,142,
- 44,205, 8, 34,131,242, 20, 81, 18,130, 21,167, 82,168, 67,114,151,119,138,123,181,206, 51,239, 15,250, 88,219, 82, 84, 13,117,
- 81,227,172, 40,182,227,158,184,144,252, 80, 18, 46,113,146,254,104,157,136,170, 39,227, 49,113, 44,128,162,186, 43,244,202,170,
-160,117, 14,219,180,248, 81, 72,209,217,246,178, 52,195,181, 45,241,104, 64, 93,213, 2,225, 25,196,208,202,184,208,243,124, 81,
-186, 43, 69,211, 56, 76, 96,161,155,197, 75,182,187,162,169,106,122,113, 66, 90,230, 20,101,177,222,214,247,125, 95, 92, 10,218,
- 9, 12, 8,213, 85,203, 57,248,172,143, 57,140,241, 72,211, 41,244, 18, 89, 19,180, 20, 63, 77, 83,137, 72,206, 51,132, 97,199,
- 26,241, 20, 85,209,144,150, 57,180, 50,227,174,242,156,214, 10, 3, 37,207, 36, 38, 86,105, 25, 51,103,121, 78, 24,134, 88,219,
- 74,231,210,105,172, 45,241,181, 34, 79, 51,217, 20, 33, 74,119,107, 45,211, 78,247,211, 79,250,228,101, 78,145,101,120,221,104,
-206, 57, 71,221, 93, 3,189, 94,143,126, 95,136,118,147,233, 4,173, 20,198,248, 1, 2,121,209,221,204,213,145,244, 7, 2, 68,
- 1,170, 74,252,144,158, 49,196,195, 17,121,158, 75,194, 79, 43, 57,183,182,181,208,214, 16,134, 4,190, 37,208, 62, 89, 81, 18,
- 5,129, 88,101,170,138, 40,138,165, 98,119, 9, 85,219,160,149,164,209, 12,122, 73,183,123, 84,180,117,221,137,234, 34, 57,161,
- 56,178, 92,170,216,170,168,104, 26,105,219, 40,235, 72,211, 28,175,219,181, 40,100, 99,129, 82,244,135,125, 17,227, 52, 13,253,
-129, 60,224,112,226,183, 86,158,248,254,162, 56, 98,154,102,212,121, 67, 20,137, 16, 77,121, 66, 83, 3, 69, 47,234,137,240,173,
-200,197, 62, 22,199, 76,179,156,172, 40,240,156, 8, 66,124, 95,230, 72,165,149,124,227, 56,138,209,166, 22,104, 75,235, 24,151,
-153,204,146, 0,215, 54, 84, 40, 84,145,227,180,194,214,150,209, 64,110,174, 60, 47,153, 25,205,118,113,167, 33,109,230,196,238,
-230, 27,130, 32, 32,137, 34, 89,176, 29,132,145, 88, 11, 1,180,145, 77, 19, 90, 9,118, 82,131, 23,196,180, 69, 70, 18,199, 24,
-207,195, 11,124,234,170, 97,208,139, 41,203,140, 50,203,197,223,216,141, 24,112, 98, 7,108,170,138, 40, 12,240,253,112,189,243,
-224,124, 17,233, 40, 79, 84,174,109,219,205,218, 92,189,206, 35, 22, 32,145,136,198,214,132, 57,189, 36, 1,165,164,253,213, 56,
-194, 88,145,244, 34,154,182, 37,233,199,164,147,150,166,106,152,148, 18, 1,107,173,240,223,215, 14,223, 40,126,226,240, 0, 74,
- 80,182, 70, 61,118, 16, 87,183, 80,107, 54,110,236, 81,213,240, 99, 79, 29,192,205, 12,249,253, 47,191,129,110, 45,202,143, 65,
- 41,246,223,177,145, 11, 39,174,226,183,142,242,230,152,155,211, 22, 19, 26, 92,149,177,233,254, 79,162,194, 30,174,173, 81,218,
-227,198,237, 37,190,242,252, 11,252,193, 23,255,140,170,170,152, 25, 13,249,192,125,135,168,154,134,105, 33,237, 99,180, 94,215,
- 46, 56,231,104,218,134,178,170,249,230, 75,223,229, 87,255,239,223, 90,127,205, 79, 62,250, 16,255,244,231,127,134,189,187,118,
-176, 50,153, 82,228, 5,121, 85,178,109,126,158, 31,254,216, 83,252,200,199,127,128,198, 89, 86,199, 19,222, 62,249, 30, 23, 46,
- 95,226,214,242,132,133,173,243,220,119,240, 78,102,134, 67,156, 21,245,176,117,112,238,202, 21,206, 95,190, 66,222, 85, 76, 70,
-195,201, 51,231,185,122,227, 6,151,175, 94, 99,255,238,157,242,112,112,150,172, 44, 56,122,226, 4, 95,248,218, 55, 56,115,254,
- 2,187,183, 47,112,255,225, 67,236,220,190,192,205,155,183,176,214,177, 99,219, 22, 22,183,109,198,120,134,183, 79,190,135,209,
-134,133,173,155, 9,252, 0,237,160,223, 75,216,179,115,145, 95,251,157,179,220, 90, 94, 33,142, 99,118, 46, 72, 46,251,133,203,
- 87,216,187,184,157, 52, 47, 49, 94,141,231,121, 76,242,130,203,215,174, 83, 86, 37,195, 94,159,127,253,207,255, 41, 73, 44,153,
- 13, 85, 83,177, 58,158, 48,158, 76,153,102, 25,253, 78, 87,242,253,199,134,217, 89, 6,253, 30,113, 28,115,234,220, 5,126,253,
-119,254,128,166,174,248,204, 39, 62, 78, 8, 50, 39,116,142,153,217, 89,134,189, 27, 28,220,191,151, 52,207, 57,121,234, 52,127,
-245, 88,171, 92, 0, 70, 67,225, 83, 92,190,113,139, 23, 95,125,157,237, 91,182, 48,191,105,142,247,206,158, 5,103, 89, 92,216,
- 70, 16, 4,108,217, 52,207,210,202,251, 23,246,109, 91,230, 25, 38, 9,147, 60,231,163, 31,120,132,159,253, 59,207,178,178, 97,
-196,231,147, 77, 76,129,102,105, 25,117,253,138, 36, 49,250, 50,174, 51,190,194,211, 62,219,239, 63,196,252,253,247,224,199, 9,
-239,189,124,132,247,222, 58,205,198,187,192, 87,150, 73,125,154,125, 15,111,229,122, 22,242,175,254, 80,241,157,175, 30, 97,235,
-190,207, 16, 71,154, 83,151, 83,110, 63, 95, 19, 14, 7,204, 60, 14, 55,223, 80, 84, 83,135,169, 27, 10,183,141,102,203, 65, 54,
-173,172,144,221,188,129, 87,251, 52,181,104, 94,148,210,212,186,146,182,174,214, 52,182, 33,233,197, 93,197,169, 1,233,250, 72,
- 90, 91, 74,191,223,199, 83,154, 52,203, 80,128,211, 10, 95, 25,154,170, 33, 10, 34,113,214,180, 13, 89, 38,214,220,126,191, 71,
-235,164,248, 87, 90,198,152,181,171, 41,139,138,178, 46,193, 57,134,195,161,156, 56,235, 8,131,128,186,109,168,114, 69, 81, 21,
-221,134, 14,140, 9,208, 74, 83, 20, 85,247,239, 29, 69, 85, 18,135,226, 81,119,214, 10,174, 58, 48,100, 89, 70,210,143,208,202,
-144, 78, 83,217,156, 42,203,120, 37,197, 41,203,176, 47, 17,223,227,137,164, 40,246,226, 24,180,162,169, 27,170, 90,244, 31,101,
-167, 16, 47,170, 90,248, 31, 78,212,234,211,233, 84, 52, 59, 74, 49,236, 64, 77,147, 84,208,213,206,202, 38, 36, 48, 62,173, 3,
-223, 91, 67,179,214, 50,190,173, 21,129,145, 52,201,254, 64,146, 47,167,211,148, 40, 73, 8,180, 36,171, 69,126, 0,130,251,199,
- 79,250, 52,174,193,211, 30,121, 41, 73,121, 10,136,251,125,250,253,190,116,135,181,237, 54, 5, 30,190,241, 0, 17, 12, 27, 63,
-164, 44,203,245, 78, 71,191,215,167,105, 43, 38,233,132, 48, 12,241,163, 8,103, 91,140, 31,208, 58, 65,181, 59, 16, 93, 86,167,
- 77, 26, 13, 7,212,117,131,119,207,125,247,253,139, 56,233, 17,197, 49,113, 28,147,196, 9,126, 16,224,135, 1, 73, 24,225,148,
- 39, 73, 55, 97,212,205, 7, 60, 66, 35,249,179,117,235,232, 69, 17, 69, 91, 11,211,187,133,170, 99, 6, 71,113,136, 67,230, 60,
-214, 89,166, 89, 23, 39, 26, 69, 40, 28, 85, 93, 17,134, 62,126, 16,128, 18,241,134,246, 52,101, 41,184, 63,249,176, 20,163,209,
-136,182,105,164, 29,106,165, 98,246, 59,113, 86, 47, 78,240,125,153, 65, 88, 43, 34, 44,173, 58, 6,113, 24,224,172,164,135, 85,
-181,100, 31,215, 77, 67, 93,203,207, 8,195,152,178,206,169,235, 6,156,163,169, 91, 1,207,216, 6,219,249,129, 21, 8,187,188,
-149, 92, 94, 63,240,233,245, 36, 91, 55,142, 67,162, 48,196, 58,105,145, 27, 35,243,246,182,150, 72,212,225,112, 64, 20,134,235,
-118, 10,227, 9, 73,201, 41,201, 32,110,172,235, 62,204,128, 40,142,100, 23,104,164,237, 35, 81,123, 98,249, 90, 67,178,134,129,
-112,232,109,107, 37,171, 89,203,236, 42,233,245, 48,218, 35, 79, 83,252,206,158, 87,183, 13, 14, 71, 47, 78,104,173, 84, 70,141,
- 21,129,138, 85,130,163, 12,252,128, 52,205,104,155,150,166,149, 81, 73, 85,118,177,176,165, 32, 45,157,131,214,181,196, 65,140,
- 67,117,154, 8,169, 72,139,172, 64,160, 63, 82,129,150, 85, 73,183,207, 88, 7, 54,104, 60, 17,116, 56,121,255,190,239, 19, 24,
-131,241,229,134,232, 37,201, 58,218,119, 52, 26,177,113,144,240,153,125, 62,241, 64,227,122, 17,147, 99, 87,249,214, 75, 23,216,
- 65,134,142,123, 28,220, 49,224, 70, 1,255,249,249, 99, 68,105, 73,108, 32, 93, 78,185,120, 99, 74,210, 11,153, 95,156, 37,207,
- 26, 86,202,138,113,217, 50, 51, 59, 96,121,218,114,248, 51,255, 77, 7,197,104,240, 60, 77, 18, 71,244,226,152,155,183,151, 56,
-127,229, 42,143, 62,120, 47, 31,249,192,163,236, 94,220,206,205,219, 75,244,146, 88,206, 99,211,118,239, 81, 54,182,189, 36,102,
-231,194, 54,180,242, 56,113,250, 52, 77,219,114,230,194, 69, 62,247,167, 95, 97,146,101,108,223,186,133,198, 89,112,142,170,150,
-196,188,188,172, 72,115,105,157,158,185,120,153,239,188,249, 54,175,188,121,148,227,167,206, 50,158, 78, 49,158, 88,213,218, 86,
- 16,157, 90, 41, 86,199,171,156, 62,127,145,235,183,151,200,243,130,172, 44, 56,112,199, 46, 14,223,181,159,209,160,207,252,198,
- 13,180,214,114,227,214,109, 78,158,185,192,123,167,207,146,230, 57,155, 55,110,228,209, 7,238,227,193,123,238,198, 83, 26,237,
-121,132, 97, 64, 89, 86,188,113,236, 4, 47,190,250, 6,199,222, 59,197,176,223, 99,227,134, 89,202,170,226,252,229,171, 92,185,
-118,157,149,241,132,155,183,151,176,206,113,239,193, 3, 60,251,177,167,121,248,222,123, 24,141, 6,132, 65, 64, 24,134,220, 94,
- 90,166,105, 45, 87,174,223, 96,231,194, 54,126,242,111,125,138,205,155, 55,145,103, 5,173,109,169, 91,177,221,220, 92, 90,226,
-203,223,120,129, 63,123,238,235,220,252,190, 42,221, 24,195,198,217, 89, 62,249,244,147,252,202,255,240, 75,252,247,255,237,207,
-243,232,125,135,153, 25, 14,232,247,122,114,109,213, 13,101, 89, 49, 77, 83,130,192,103, 97,203,102,222, 59,123,158, 75, 87,175,
-177,210,233, 54,254,166,227,174, 61,123, 56,116, 96, 31,143,221,127, 15, 31,126,236, 17,230,102,103,208,218, 99, 97,235,102,254,
-225,255,244,191,114,253,250, 77,122, 73,204,181,155,183, 56,119,233,242,251,190,247,127,249,165,127,204,194,150,121, 62,241,196,
-163, 60,243,204, 71,121,185,213, 44, 31,254, 52, 89, 53,224,250,233,247,152, 92,189, 64, 48, 59, 79,163, 60, 26,103,152, 89,216,
- 65,156, 68,180,117, 73,101,122,244,251,187, 9,195, 33,111,191,241, 29,178, 44,227,142,167,183, 16,239,158, 97,241,161,157,252,
-227,109,240,249, 63, 85,124,227, 79,126,135,141,243,119,242,211,191,178,147,207, 44, 42,150, 98,159,227, 47, 77,185, 92,252, 23,
-218,203,135,176, 62,168, 18, 84,110, 8,146,141, 48, 9,137,239,236,227,166,215,241, 42, 9, 91,241,187, 74,205, 40,143, 32, 12,
- 8, 67,161,183, 9,139,221, 91, 23,209,149,101, 69, 93,139,248, 75,107,233,172,105, 45,217, 13,190,239, 19,132,210,166,173,107,
-169,100,139,188, 68, 41, 17,231,213,141,197, 89,249, 57,173,149,118,184,115,224,144,197,122,109,131, 27,135, 50, 66,173,234,154,
-182,105, 9,163, 8,167, 4, 24,213,212,178,169, 8, 67, 73, 82, 51,129, 47,213,112, 43, 63,215,247,125, 38,211, 41,109,219,116,
- 54, 62,159, 56, 74,168,155, 22,165,133,108,231,105,143,178,200,177,173,216,190,202,188, 36, 73,228,217,155, 23, 37,206, 54, 56,
-229, 17, 69, 1, 56, 77, 83, 87, 24, 95, 52, 14, 97, 24,144,167, 41,182,109,137, 19,177,214, 74, 44,110, 42, 58, 31, 35, 54,109,
-223, 55,228, 89, 78, 85,213, 56,219,118,105,110,174,243,128,171, 14, 92,227, 81, 54,141, 36,178, 85,178,241, 41,171, 18,141,194,
-243, 3,242, 60,149,243, 93,214, 40, 45,150,234,186,110,136,195,136,181,140, 16,209, 24, 57,162,208, 16,134,129, 20,195, 78,126,
- 79, 85, 10,126,220, 24,175, 43,172,100, 60, 37,233,124,226,163, 15, 2,129,159, 53, 29, 7, 65,206,121, 67, 93,201,243, 90,107,
- 77, 24, 10,217, 83,123, 26,163, 61, 15,107,161,169,107,188,192, 16, 24,153,111, 7, 90,178,117, 93,219, 96,149,162, 72, 37, 17,
-109, 56,232,147,215, 37, 73, 24, 49, 28,244, 88, 89, 89, 37,240, 67,122,189,184,171,234, 26,166,211, 41,211,105,129,163, 5, 43,
-184,187, 32,148,139, 50,203, 51,172,131,126,175, 39,232, 82,207,208,212, 37,158, 31,162,252, 0,223, 15, 80,174, 37,203,133, 58,
-231, 25,205, 96,102, 22,156, 37,108, 91,198,227, 85,154,182,145,228, 49, 2, 52,154,162,170,112,109, 75,181, 42,150, 25,173,101,
-182,186, 70, 39, 11, 99, 1,159, 96, 1,173,105,173,224, 78,251,253, 33,158, 39, 86,177,170,174,232,247, 36, 65, 8, 31,166,153,
-204,102, 6,189, 1,211,116,140, 82, 66,134, 19,214,176,128, 31,164,253, 45,162,178,214,182, 12,131, 96,253, 65, 81, 87, 21, 77,
- 43, 21, 71,221,138, 71, 61,142, 35, 18, 99,176,136, 79,113, 45,179, 56, 43, 74,140, 39, 55,223,200,151,246, 11, 8, 37,108, 13,
-114, 99,155,174,229, 21, 11, 77,168,168, 42,226, 94, 15,219, 54, 76, 38,171,224, 20,198, 51,148,174, 20, 50,159,231, 97,181,134,
- 86,102, 61, 85, 93, 75,100,172, 82,221, 57,182,235,176,134,181,138,167,110,106,106,231, 72,162, 24,171, 44,211, 73, 42,226,187,
-200,209, 54, 53, 65, 32,249,237, 77,211, 16, 37, 33, 69, 86,146, 36, 66,172,234, 15,250,164,185, 92,100, 40,181, 62,139,175,170,
-138,208, 15, 73, 43, 73,175,147,202, 92, 51, 26,205,210,182, 45,177,103, 48, 61, 31,165, 53, 78,149,120, 90,227,148,199, 91, 95,
- 59,206,201,115,203, 80,183,152,133, 24,183,115, 6,117, 41,224,171, 47,188,193, 92, 90,208,219, 62,139,239, 20, 87,110,143, 41,
-166, 21,231,207,220,100,219,194, 28,243,187, 54, 81,221,154,224, 95, 89,166, 31,107, 54,237,187,143,193,112, 68, 93, 8,214,215,
- 2,199, 79,157,230,151,127,245,215,120,247,236, 57,230,102,236,159,167,254, 0, 0, 32, 0, 73, 68, 65, 84,102,152, 25, 14,169,
-218,134,255,253,183,126,135,127,255,187,159,227,115,191,254,191,177,123,251, 2,101,150, 97, 45,221, 56,195,112,225,226, 18,127,
-244,231, 95,229,237,119, 78,242,193,135,238,103,215,142,237, 60,114,248, 16,101, 89, 51,201,114,242, 60,199,212,102,125, 68,210,
-182,146,131,108,140, 97,154,103,124,251,187,175,241,226,171,111, 98, 60,205, 19, 15, 61,192,195,247,220,205,129, 59,118, 74, 55,
-170,174,200,203,146,107,183,110,145, 21, 21,227,201,148, 51,231, 46, 0,112,232,192, 94,154, 61,119, 48, 55, 59,195,166,141, 27,
-200,179,156,105, 94,240,238,217, 11, 92,188,116,133,214, 57,182,204,207,115,240,192, 62,118, 47, 46, 0,242, 96, 76,167, 37, 55,
-110,221, 34, 43, 10,182,204,111,228,228,153,115, 92,187,113,147,183, 78,190,203,236,112,196, 96,208,227,210,229, 43,252,171, 95,
-251, 77,138, 74,238, 29, 99, 12,199, 78,190,199,220,104,196,204,160,207,194,150,205,200,100, 78,174,145,115,151,175,176, 97,102,
-196,177,119, 79,179,121,227, 70,146, 56, 98, 56,232, 96, 83, 85,205,106,154,130,131,173,155,230,200,254,138, 85,204, 90,203,202,
-202, 10,223,120,241, 59,108,158,155,229, 39,158,253, 33,246,238,218, 9, 56, 17,236, 53, 66, 22, 67,193,242,202, 42,175,188,253,
- 14,151,175, 94,231,141,163,199,222,151,207,254,253, 71, 18, 69,108, 95,216,194,222, 59,118,178,109,243, 60, 27,231,230, 40,203,
-146,171,215,111, 96,140,225,224,222,195,236,219,185,200, 31,124,233,207,184,177,116,155,183, 79,188,135, 68, 72, 57,118,109,223,
-206,120, 58,229,103,254,254, 79,176,124,249, 50,102,227, 54,142,247, 54,177, 57, 28,226,143, 20,223,250,227, 85,174,167, 23,208,
-233, 53,198,231, 7,164,201,132, 59,102,158, 97,223,174, 13, 44, 87,151, 41, 90,131,119,122, 59, 7, 63,158,113,161,136,217,251,
-192, 67,220,245,224,189,204,108,184,139,129,239,216,184,105,194,117, 23, 17,132, 62,115, 27,246,177,255,208, 94, 94,187,169,248,
-232,188,227,242, 88,115,251,124,192,210,202,117,220,150, 35, 28,250,133, 39,112,165, 99,238,181,128,233, 45, 32,216,207, 52,221,
-198,230, 31,127, 24, 83, 92,226,250,171, 47, 49,185,113,153,233,141, 91,232, 90, 2,103,234,166,193,243,188,174,197,174,161, 91,
- 0, 36,134, 89, 84,209,161, 9,214,149,230, 65,232,227,106,104,202, 70,148,228, 93, 70, 71,210, 75,100,177,182,226,175, 22, 20,
-183, 66, 59,241,222,131, 0,171, 68, 52, 39, 72,215, 34, 47,136,147, 24, 17, 0,211,133,166,244,186, 34, 68,242, 34,138,170, 34,
- 78, 36,212, 9, 11, 65, 20, 98, 43,217, 76, 40,232,212,228, 9, 32,214,105, 95, 27,226, 80,248, 13,203,203,203,180,173, 93,255,
-157,101, 91, 49,205, 38,244,226, 68, 70,131, 93, 49,144, 77,179,245, 54,116, 91,213, 32, 13, 82,188, 48, 18, 23, 84, 89, 33,169,
-105,194, 20, 88, 94, 94,198,247,253,117,242,168, 0,114, 20, 89, 62, 37,203,243,174,123, 41,160,155,178, 24,227,105, 1,102, 5,
- 65,128, 69, 58,254,190,103, 72,211,148,192, 15,229,253,141, 39, 36, 73, 31,219, 52,132,129, 79,221, 10,190,183,223,239,119,227,
-103, 71,221,214,104,227, 81,150, 93, 58,157,246,112, 88,226, 94,132,173, 69, 24,232, 92,215,141,214, 62,174,182,223,123,134,150,
- 37, 74, 1, 86,224,103,198,217,110, 28, 35,208,182,198, 90,166,147, 49, 14,186,238,158, 86,242, 13,120,228,121, 65, 27, 56,156,
-109,215, 37,243, 73,210,195,120,134,202,175,177,109, 67,158, 23, 24,227,201, 92, 38, 14,153, 25,141, 40, 43, 1,158,120, 90, 99,
- 60,161,173, 85,101, 73,158,151, 40,164,151,227,105,205,196, 54,210,186,141,123,212,149,204, 90,171,202,162,181,194, 96,169, 17,
-207,157,103, 98,250, 38,194,104, 69,154, 23, 68, 81,136,167, 52,206, 73,154,149,107, 45, 14,249, 80,211,116, 74, 93, 87,244,227,
- 4,165, 61,166,211, 20, 63, 8,152, 78,166,244,146,164,147,248, 75, 53,159,213, 57, 81, 24, 81,148, 37,198,215, 96, 91,106, 43,
-202,197, 32, 8,152,172,174,226,140, 71,224, 73, 16, 64, 81, 23,216,182,161,151,244,209,158,204,166,180,167,164,115, 16, 24, 80,
-146,245,187,166,206, 76,162, 72, 20,228, 70,210,229,130, 80, 22,104, 95, 27,194,153, 25,154,166,162, 44, 11,218, 86,102,142,113,
-175, 3,203, 20, 5, 45, 1,182,206,240,180,166,110, 44, 73, 18, 49, 24,244,112, 64,211, 52,152,208,224, 35,104, 65,103,101,230,
-189,186,178,130,109,133, 41,221,105,241, 64,201,200,100, 52,136,200,211, 12,227,121, 4, 81, 76, 24, 39,212,117,141, 86, 96, 29,
- 2, 45,112,142, 36,142,201,242, 92, 84,254,173,195,118,200,198, 73, 58, 1, 52, 78, 43, 92, 55,111,178, 86,224, 58, 0,202, 58,
-250,125,217, 96,104, 45,193, 59,161,239,131, 47,246,184, 53, 11,161, 50, 34,192,140,130,132,186,173,208,158, 33,240, 58, 66, 97,
-145, 73,184, 67, 45, 16,138,251,246, 39, 36, 27,124,138, 83,215, 56,118,226, 58,123, 54,207, 49, 41,115,152,233,163, 90,205, 31,
- 30, 57,201, 48,203,137, 54,246,241, 35,159,219, 55, 38,172, 76, 27,102,251, 49, 54,212, 84, 78,115,250,204, 13,206, 46,165, 88,
-173, 88, 94, 77,217,241,204,135, 4,163,232,186, 86, 85,219,178,101,227, 70,254,217, 63,252, 57,137, 87,125,238,121, 62,241,225,
- 39,248,236, 23,191,194, 87,159,255, 22, 0,255,242,255,252, 13,126,238, 39,255, 14, 59,182,110,145,138,161, 42,153, 9,135,108,
-216, 48,203,249,139, 87, 57,115,233, 10,198, 24,246,239,222,197,198,217, 57,130,192,144,151,117,215,129, 18, 50,148, 69,146,168,
- 60,227, 49, 55, 26,242,221,183,143,242,230,177,147, 52, 77,195,142,133,237,108,223,182,133,214,201,188,116,109,142,230,172, 99,
-195,204, 44,158, 82,160, 44,253, 94,194,165,107, 55,120,230,169, 39,249,216, 19,143, 97,173,165,108,106,202,186, 33, 10, 2,230,
- 55,204, 81, 54, 53,179,195, 1, 15, 29, 62,196,129,189,187,217,181,125, 27, 85,213,144, 23, 34, 80,171,155,154, 99,175,156,230,
-245,163, 39,248,224,195,247,243,147,127,235, 83,220, 94, 94,166,177, 13,131,126,143, 93,139,219,185,239,208, 1, 94,122,237, 45,
- 54,111,216,192,189, 7, 15,240,161, 15, 60,204,227, 15,220, 71, 20, 6,152,142,192,232, 27,143, 13,115,179,108,153,223,196, 83,
-143, 61,194,155,199, 78,178, 58,158,176, 60,158,224,251, 62,198, 24,209, 10,164,240,159, 62,255, 37,158, 59,242,226,186, 18, 31,
-196, 93,114,255,221,119,115,232,206,189,236,219,181, 19, 20, 92,186,118,189,219, 52,200,136,199,120,154,178,110,184,126,243, 22,
- 75,203, 43, 44, 45,173,240,155,127,240, 71,127, 45,167,254,251,143,162,170,100,227,233, 16, 39, 72, 20,178, 58, 73, 73,243,146,
- 23, 94,125,137, 81,127,192,167, 63,250, 17, 94,120,229, 53,254,242,200,203,239,251,222,197,133,173, 44,110,157, 7,107,137, 3,
-143, 42,190,131,219,103, 87,152,185, 39,166, 88,133,235,231,222,230,102,117,137,213,201, 53,226,180,160, 63,220,195, 29, 63,181,
- 5, 46, 67,154, 40,170, 19,139,252,236,179, 13,155, 93,204, 11, 55, 45, 85, 54, 33,153,124, 16,127,139, 99,113, 62,229, 49, 55,
-224, 13, 82,236,109,159, 7, 62,112, 47,143, 60,171,248,141,255,241,109,254,249, 63,185,135, 75,159,203, 89,186,254, 50,151, 79,
-191,205,227, 31,254, 69, 6,198, 81, 84,142,229, 59,110, 49, 77, 94, 39,186,242, 36, 91, 54,247,112, 87, 6,108,123,100, 27,135,
- 30,126,132,218,203, 88,201, 13, 55,191, 62,230,242,197, 63,230,218, 11, 95,135, 78,159, 83, 85,149,136, 52,181,250,222, 88,194,
- 9, 5,210,247, 12, 74,105, 60,207,199,170, 6, 29,200,104,169,174, 91, 60, 79,244, 83, 40,141,179,205,186,199, 92, 41,105,203,
-107,221,141,228,112, 20,117, 5,173,165,181, 45,190,246,201,203, 18,221,117,165,124,223,103,220,233, 21,180,146,116,182,178, 20,
-176, 83,232, 7, 56, 7,190, 31,128,103,168,203,138, 97,127, 8, 90, 73,101,236, 68,103,132,150,215,107,180, 65,107, 1,225,136,
-194,188,179,190,213, 13,211,102,130,111, 2,130,126,178,238,194, 41,170, 66,232,112, 72,107,222,181, 45,216, 26, 77,208, 97, 99,
- 13,227,110,156,108,173,165,182,130,109,181,206, 82,149, 53,189,164, 71, 28,198,228,121,134,179,150, 48,138,164,155, 8, 88,219,
- 74, 87, 36, 8, 41,112,120, 90, 8,161, 94,173, 41,235, 18, 47,208,244,147, 30,121, 93,200,134,165, 75,176,212,161,150, 44, 17,
-211, 85,209,168,174,107,171,104,202,146,198, 85,132,113,136,175, 13,141,146, 49,182, 84,240,150,178, 40, 4, 50,230, 37, 34,160,
- 51, 94,247, 12,115,216,166, 6,231, 48,158,196, 87,123,218,116, 5,171,216,202, 81, 10,111,239,254,125,255, 34, 12,101,174, 46,
-105,101, 25,117, 35,190, 63,153, 55, 43, 64,110,106,173, 61, 2,223,199,243, 60,129,111, 84, 53,198,120,120,158,161,169,107,180,
- 82, 40,237,161, 65,102,175, 64,212, 19,196,105, 11, 52, 77,141,181, 22,227,251,164,185,168,250,228,203,147,106, 91,105, 76,224,
- 83, 21,165, 16,163, 20, 18,118,225, 32, 43,114,178, 52,147,202, 95, 41,134,163, 1, 56,228,131,104, 45,226,183,119, 29,225, 77,
- 22,184,166,181,210, 18,214, 2,238,215, 40,252, 48, 88,111,249, 55,141, 21, 63,162,146,174,158,181,150,108, 42,177,135,217,100,
- 66, 83,215,194,170, 47, 75,170,170, 38, 10, 67,176,194, 94,110,173, 69, 89, 81, 71,135, 97, 72, 16, 5,100,211,156,166,169,169,
-234, 26, 63, 8,145, 76,117,211,109,144, 20,158, 9, 48,198, 35, 8, 34,180, 22,218, 94, 58, 77, 49,126,136,117,173,160, 18,173,
-235,198, 17,136,176, 14,153,227, 87,101,133, 82,144,117, 96,156,182,109, 40,243, 2, 79, 9,220, 38, 10, 67,208, 2,245,175,171,
-138, 40,138, 8,194, 16,207, 8, 27,216,235, 58, 47,214, 58, 81, 78,123,158, 8,107,148, 19,226,149,239, 19, 4,226,183,151, 44,
-243,150, 56, 78,208, 74, 34, 65, 91,219,210, 54,210,110, 15,140, 33, 8, 66,202,166,150, 7,183, 82, 52, 77,139,223, 93,252, 97,
- 20, 18, 4, 17, 65, 20, 33, 54, 60, 89,192,227, 40,166, 42, 75,154, 86,124,238,198, 23,120,134,103,124,158,186, 51,228,191,251,
-144, 38,246, 13, 95,125,238, 56, 56,197,249,113,206, 93,243, 1,243,143, 30,224,246,235,231, 57,122,252, 10, 27, 3,104, 26, 15,
- 47, 50,220, 94,173, 89, 45,107,140,118,132, 90,145, 27,195, 40, 54, 56, 20, 65,219,176,229,192,125,108, 57,252,145,117,207,232,
-154, 45, 81,107,205,177,247, 78,241, 91,127,248,121,138,170, 98,227,204, 12,175,189,125,148,149, 78, 21, 61, 73, 83, 4,142, 35,
-115,175,192,247, 89,238, 44,100, 87,174, 95,167,181,150, 93,139,219, 57,124,240, 0,115,179, 35,105,205,181, 22,112,216, 86, 68,
- 49,107, 26,131, 45,155, 54,177,113,118,134,188, 40,185,116,245, 10, 23,174, 92, 99,105,101,149, 73,154,242, 19, 63,252, 73, 54,
-109,152, 19,177,101,215,246, 11, 3,195,120,154,113,233,202,117,222, 60,246, 46,215,110,221,224,205, 99, 39,185,120,245, 26,253,
- 36, 34, 12, 66,154,182, 97, 52, 26,114,245,198, 13,142,189,123,138,155,203, 43,204,205,140,184,231,192,126,182,109,222,132,214,
-154,149,241,132,223,254,220,127,230,247,254,228,207, 24, 79,166,132,161,207,173,219, 75,204,204,140,120,244,222,123,152, 25,142,
- 56,115,254, 2,127,242,213,231, 88,157,140,217, 56, 59, 75,191,151, 16, 70, 33,179,163, 33,155,231, 55,144,196, 17, 81,224, 19,
-199, 33,253, 68,240,184,158, 39,144,166, 29,219,183,177,115, 97, 43, 81, 24,178,180,188,194, 36,205, 88, 90, 94,101,101, 60,102,
-247,226,118, 94,125,235, 40,227,169,184, 3, 0,154,182,229,198,173, 91, 44,110,219,202,135, 30,125,152,125, 59, 23,217,180, 97,
-110,189, 3,176, 54,139,181,173, 48,201, 79,159,191,200,107,239, 28,103, 58, 77,185,245, 87,132,118,107,199,236,112,192,211, 31,
-124,156,195,119,238,229,142,197,237,204,140,134, 84,117,205,229,235, 55, 24,245,251, 92,186,122,149,255,249,223,254, 59,130, 64,
-236, 71,223,255,122, 0,158,126,236, 17, 62,252,129, 71,233, 5, 1,215,111,222,228,187,167,110,242,226,242,121, 14,126,224, 46,
-222,250, 2, 92, 56,119,132,213, 43,215,113,166,166, 88, 46,217,186,240, 9,126,234,231,103, 56,115,198,227,230,137,156, 45, 11,
- 35,146,197,130, 23,111, 5,124,249,207,255,128, 81,188,136,190, 60,207,230, 3,138,197,216,178, 9,195, 91, 85,192,241,175, 57,
-142,124,251,119, 72,212, 3,156, 63,113,139,252,202, 60, 55, 47,124,147,115,239,252, 62,129, 63,226,161, 39,127,144,251, 14, 59,
-254,246,156,230, 68,157,112,229,155, 83,198,225, 95,144,212, 15, 48, 24, 57,130,173,160, 43, 72, 92,192,246, 97,198,204,157, 3,
-194,244, 17,184,107, 51,171,167,143, 82,230,185,220,147, 81, 72, 91,181,235,207,229,178,170,104, 91, 75,156, 68, 20,181,224, 89,
- 3,223,144,165, 5,101, 33,207, 42, 17, 1,247, 48,158, 71, 89, 87, 4,126,176,142,237,182, 86, 42, 66,207, 51,107,109, 93,162,
- 36, 70,107, 79, 52, 80,202,129, 18, 93,142,131,174,147, 40,182,202,178, 20, 12,170, 31,248,228,185, 96, 85,141,231, 73,156,116,
- 43,246,191,178, 20, 14,123,107, 91,170,186,164, 42,228, 62, 82, 74,194,195,130,110,236, 19,134, 33,190,231, 17, 39,146,148,215,
- 90, 1,116, 89,219, 16,116,248, 92,227,203,189, 90,215, 13, 89,145,209,212,109, 55, 62,148, 48, 44, 79,203,151,241, 12, 85, 85,
- 83, 87,194,164,151,156,117, 89, 99,250,189,132,178, 18,239,127,211,141, 9,202,170, 20,183, 76,183,182, 85,107, 8,104, 68, 88,
- 46,209,208, 5,129, 31,210,116,186,176,186,110,169,203, 18, 99,124,240,196, 34,103, 29, 20,101, 78, 81,148, 98,217,179,150,186,
-145, 77,147,164,195,149, 56, 37, 93,128,186,145, 77, 82, 81,100,157,150, 76,200,170,107, 0, 29,112, 52,173,188,191,181,177,134,
-179,174,203, 91,119, 24,231,196,195,220, 84, 13, 24, 81,115,199, 81, 76, 99,107, 36,210,173,160,106, 82,226, 56,166,202,115, 82,
-235, 48,218, 35, 8,101, 7,159,165, 41, 81, 28,225,112,221,236, 81,230, 0, 81, 20, 19, 6, 62,147, 60, 23,171,153,167,112, 86,
-201,191, 43, 43,234,186, 97,101,105, 5, 63, 8, 58,206,118,139,194, 80,230, 5, 74,105,218,170,198,196, 17, 81, 28,227,154,150,
- 64,251,232, 72,209, 90, 65,247,161, 28,171,227, 85,226, 40, 34,207, 82,226, 40, 36, 8,101,198,174, 60, 77, 23, 20,135, 66, 84,
-213, 86, 1,198, 48, 77,167,248,158, 68,238,181,101,138,211,242, 48, 25,175, 44,211, 32, 11,106,155, 73, 4, 44, 97, 68, 28, 4,
- 98, 85, 42, 75,105,179,244, 19, 60, 45, 40, 71, 19, 26, 60, 79,194, 38, 66, 47, 18,234,143, 51,114, 62,235,154,186,177, 68,161,
-135,242, 36,101, 73,135,178,232,218,198,225,249, 6,219,200, 76, 43,240, 61,138,178, 34,203,228, 3,138, 66,241, 60,130,216, 78,
-202,178, 68,121, 74, 40, 90, 26, 92, 43, 80, 26,173,165,229, 38,155, 8,153, 99,151,157,237,111, 50,153, 48, 24,141, 40,202,130,
-178,168,240,194,128, 94, 24,172,183,252,203,178,196, 51, 62,190,245,240, 60,153,121, 37,113, 68,145, 78,137,194,176, 91,192, 11,
-146, 36,166, 41, 42, 90,235,136,251,162,173,200,178, 9, 69, 85,202, 92,188, 63,192, 83,128, 54,221, 69, 86,211,235,197,148, 77,
- 69,211, 74,199, 97, 50,153,162,208, 20,121, 65, 20,135,164,105, 78,165, 21,158, 39,237,189, 79, 31,242,249,133, 39,123,152,178,
-193, 93,158, 80,174,230,220,182,138,220, 58,252, 34, 7,101,120,238,173,203,236,223,187,153, 91,167,174,163, 76,133,201,125, 86,
-243,146, 32, 14,152,150, 53,123,119,207,179, 82,228, 52,105,203,230,166, 38, 83,150, 98,120, 7,101,211,174,223,160, 69, 5, 75,
- 43, 43,252,250,255,243, 89,190,246,194, 17,108,235,248,165,159,255, 25,110, 45, 45,173,243,191, 55,111,216,192,207,254,237, 31,
-230,201,199, 62,192, 90,216, 77,222,117,157, 78,158, 57,203,238,197, 5,158,249,200,147,108,155,223, 72, 89, 73,154,149, 66, 9,
-205, 79,119,194, 80, 34,226, 36,198, 57,199, 95, 30,121,137,223,252,253, 63,124, 95,251,184,159,244,248,244,211, 31,102,126,211,
- 70,138, 92,108,101,158,241,240,181,168,226,171,170,226,202,245, 27, 92,189,113,157,186,105,177,182, 32,240,125,241,110,231, 57,
-243, 27,230, 88, 94, 89,229,115,255,229,207, 5,122, 17, 4, 60,243,228, 7,185,123,255, 30, 86,198, 99,110,175,172,114,244,196,
- 41,254,222,179,159,102,199,194, 54,190,248, 23,223,224,174,189,187,121,246,227, 79,179,119,215, 46, 17,177,245,250,244,250, 61,
-250,253, 62,183,142,173,112,245,214, 45, 14,223,121,128,249, 13, 93,200, 76,215, 77,242,125,159,192,243,201,202, 92, 90,134,206,
-201,140,208,186,117, 84,105,175,215, 99,121,101,149,179, 23, 47,243,250, 59,199,249,194, 87,159,235, 70, 72,239, 63,170,186,225,
-181,119,142,243, 35, 63,248, 81,130,112, 35,170,187, 22,229,162,182,212,133,248,134,211, 44,103, 97,235, 86, 14,223,185,143,119,
- 78,190,139, 66,227,248,235, 63,111,121, 60,225, 47,143,124,155,199, 31,124,128,221,139,139, 68, 65,192,210,234,152,125,187,119,
-114,226,189, 83,156,191,116,133, 48, 12,249,211,231,158, 95,255,158,181, 42,246,142, 29,210, 45,153,223, 48,199,107, 71,143, 49,
- 23, 7,156,189,117,129,228,145,199,185, 49, 86, 92,184,240, 22,109, 53,166,113,224,150, 3,218,122,202,236,142, 59,113,206,242,
-234,183, 53,126,127,150,221,251,224,220,106,194,159,127,247,235,120,109,203,244,245, 1,225,162, 98, 9,199, 55, 47,135, 60,127,
- 74,145, 21, 16, 13, 28,161,222,195,135,127,162,230,199,126,124, 47,158, 43,249, 55,255,230, 7,176,211, 11, 60,242,212,207,242,
-157,111, 95,225,230,242, 2,230,167,115, 86,142, 68, 92,187,152, 51, 45, 94,163,127,215, 39, 57,244, 67,155, 9,135, 22,223,105,
-174, 76,225,141, 47, 14,216,242, 36, 18,254,114,226, 48,131,195, 31,225,198,145, 47, 48,205, 51,162, 32, 34,140,100, 46,235, 5,
- 30,137,150, 57,123, 81, 86,180, 77,131,135, 56, 18, 80,170,211, 31, 9,150,212, 57,233, 90,235,174,120,176, 8, 66,217, 40,113,
- 66, 57, 44,158,246,137, 34,137,105, 45,154,150, 56, 73,186,133,197, 82,215,210,114, 14,253,128, 52,157,210, 27, 12,200,166, 83,
-217,172,106,141,115, 74, 10,163,166,193,181,178, 72, 77,107,209, 3,137,200, 11,154,218, 18,132,210, 81,144,133,202, 18,245, 18,
-148,147, 8,219,194, 73, 18, 90,127, 40,177,216,158, 18,235, 89, 93,137, 53, 51, 8, 2, 4,185,161,232, 69, 9,121, 41,130,222,
-170,150, 14,179,115, 22,207, 51, 56,165, 8,219, 0,133,232,184,122,253, 24,109,181,184,123,154, 46,100,203, 90,214,232,120,190,
-239,147, 21, 21,198,200,184,181,177, 45,218,122,196,113, 8, 4,212,117, 43,254,126, 11,131,209,144,186,172,137, 34,161,157,102,
-133,184, 8, 42,223,163,159,244,165,170,142, 68, 39,165,148,140,186,148, 82, 20,133, 20, 74,117, 93, 19,154, 16,235, 42,104,165,
- 91, 34,175, 33,236,186,121,226, 26,104, 1,231,106,172,149, 77, 48, 40,122,113,140,246, 20, 85, 85, 99, 36,144, 68, 22, 73,223,
-211, 56, 35, 39,171, 45, 37,176, 35,232, 90, 90,121,158,203, 9,178, 22,167,228, 33,166, 61,141, 78, 34,166,147, 9,214, 58, 81,
- 45,218, 64, 36,251, 26,156,115, 36, 78,145,217,169,156, 44, 44,211, 52, 19,116, 96, 35, 59, 46,207,182,172,174, 78,240, 60,176,
- 90,211,214,130,167,212, 74, 54, 12,113, 24,177, 58, 94,149, 54,120, 47,193, 15, 60,156,114,184,214, 18,134,134, 52,157, 98, 60,
- 77, 20,199,224,105, 60,227,201,204,162, 19,116,161, 4,189,231, 33, 90, 1, 15,225,104,219,182, 38,238, 37, 84,117, 69,150,166,
-180,109, 67,191,215, 35,205,115, 90, 5, 58,140,113,109, 67, 86,228, 36, 97,136, 53,190, 88,150,166, 41,218,211, 12,251, 67, 26,
-107,177,182, 37,207, 11,172,149,132, 34,165, 52, 70,139, 95, 82, 18,209,114,241,141, 55, 13, 85,215,142,244, 60, 33, 6, 57,103,
- 73,162,144,166,173,113, 86,253,191,116,189,105,144,109,215,117,223,247,219,195, 25,239,208,195,235, 55,227,205,120,120,120, 32,
-230, 65, 36, 72,129,164, 72,112,176, 68,217,148,104,201,146,101,121, 72,108,203,178, 29,219,149,148,237,138,171, 18, 59,223,146,
-170, 72,174,138,203,169, 74,148,196,150, 83, 82, 85,108, 41, 17, 21, 90,164, 68, 74, 36, 1,129, 34, 1,130, 36, 72, 98,198,155,
-199,158,187,239,189,231,158,113,239,157, 15,235,116,147, 80,228,141,111, 0,222,235,211,247,238,179,247, 90,255,245, 31, 36,240,
- 68,201,152, 42,205,115,172,210, 72, 60,171,167,170,107, 26,223, 96,181, 37,138, 4,225, 80, 58, 48,155,206,122, 98,161, 48,202,
-149, 82, 2,139, 43, 35, 23,115, 89,225,188,199, 85, 30, 87,215,125,245, 45,222,236, 70, 43,130, 14,212, 77,133, 53,166,239,152,
- 64, 5, 48,198, 50,234,165,125,198, 72, 5,232,189,199,104, 9,212,145, 78, 95, 33, 57,190,154, 60, 19, 18,160,233,139, 15, 19,
- 69,208, 19,233,210, 52, 65, 41,129,232,157, 23, 3,163,186, 46, 49, 70,113,246,200,128,191,243, 76,130,221,109,241,219, 37,111,
- 93, 95, 99,176, 52,230,218,205,109,150,134, 9, 7, 22, 45, 91,175,222, 64,117,158,163, 71,199, 52, 77,203,238,237,109,166,119,
- 39,116, 88, 6, 70, 83, 18,136, 18,195,217,165, 21, 94,127,241, 18,102, 16,179,123,224, 20,199,143,158,101, 86,204,176, 10,162,
- 8,188,239,200,210,132, 79,127,252,163,172,111,110,113,251,238, 93,202,186,102,125,107, 91, 2, 89,108,196, 99, 15, 93, 36, 78,
- 83,102,243, 25,227,193, 16, 19, 25,210, 36,230,224,210, 18,247,159, 59,221,135,114,204,153,151,226,127,160, 16, 98, 96,154,136,
- 23,184,213, 26, 23,137,135,247,230,238,148,166,109,184,112,246, 12, 85,213,114,119, 99, 93, 46, 21, 60, 95,254,250, 75,220,115,
-236, 24,247,223,123, 86,186,213,190, 51,234,186,142,237,201,116,127, 94,218,118,142,189,100,182,227, 71, 14,179,184,180, 72, 62,
-200, 49, 81,196,211,143, 63,194, 91, 87,174,209,180, 45, 75,139, 11,136, 79,120,198,160,237, 40,171,146, 95,248, 71,255,152, 44,
-201,120,223, 99,143,226,188,231,185,111,188, 76,211,118, 92, 56,119,134,170,156,243,218,155,239,128,247,172, 28, 88,166,106, 26,
- 30,186,239, 60, 63,251,147,159,164, 40, 74,146, 68, 52,201,206,121,202,166, 17, 40, 87,201,243, 57, 31,164,203,170, 43,150, 22,
- 22, 24,143,134,228,105,202, 27,239, 92,102, 50,157,252,153, 23,250,242,210, 34, 63,253,201,103, 57,113,244, 48, 75, 11,226,175,
-176,103,232,177,191,180, 24,173, 88, 99,121,245,205, 87,249,234,159,188,200,198,246, 14, 74,201,193,255,195,235,200,193, 21,254,
-230,207,255, 69,206,156, 60,129,107, 91, 22,151, 22, 5, 33,172, 42,254,251,255,249,127,227,163,239,127, 47, 85,221,188,203, 78,
-246,145,139, 23, 56,123,250, 4, 95,127,249, 21, 62,242,163,239, 99,105, 97,129,170,169,184,117,231, 14,225,192, 50, 85,108, 57,
-249,192, 99,220,124,110, 27,127,240, 45,166,107,219,152,131, 16,214, 98,162, 67,129, 60, 74,248,226, 38, 76, 55,239,112,252,248,
- 81, 54, 94, 9,184, 54, 48,187,123,133,232,198, 33,218, 3,199,209, 63, 6,187,141,166,250, 58,204, 87, 97,180, 28, 56,254,144,
-230,131,139, 31, 38, 43, 20,135,114,199,151,148,231,196, 89,207,112,241,199,121,252, 49, 56,242,179, 71,249,236, 63,251, 42,223,
-127,105,136,171,238,112,245,157, 63,162,173,214,248,248, 95, 56,204,169, 3, 5, 47, 62,151,209,181,158,174, 82, 92,250,126,193,
-119, 95,105, 56,186,184,196,234,205,107, 76,231,150,209, 61,103,153, 95,121, 11,231, 90, 58,239, 72,140,197,117,242,158,169, 16,
-176,113, 34,104,146,247,168,214,245,193, 73, 14, 27, 89,130,243, 52,206,227, 58,137, 6,173,170, 82, 46,217,121,199,112, 48, 36,
-210,134,214, 59,130,243,189, 38, 92,147, 70,162,181, 54, 73,132, 82,150,209,200,176,187,187, 75,221, 54,104, 37, 81,181,251,228,
- 45,192,198, 34, 43, 12, 4,108, 44, 74, 15,173, 21,109,235,169,234,134,209,112, 72,100, 34, 26,215,208,214, 53,105, 38, 26,245,
-170, 44, 25, 12, 7, 4, 45,179,255,170,106,177, 90,216,242,132,192, 96, 56, 32,137, 98,196,182,186, 4,148,240, 6,130, 5, 20,
- 40, 77,146,166, 24,163,152, 79, 69, 54,102,148, 33, 30,198,125, 97, 35,200,157, 15, 14,109, 20,243, 89,205, 32,150, 78,190,115,
-146,235,110,140,140,236,116, 36,161,100,131,124, 64,213, 54, 20,197, 28,109, 52,105, 18,227, 90,133,141,117,223,177, 11,175,170,
-169, 91,242, 60,239, 11, 16,225, 61,236,201,140,181, 22, 31,126, 29, 25, 92, 39,129,106,173, 10,164, 89,202,188, 42, 48, 38,222,
- 63, 55,189,247,132,224,153,207, 11,130, 7, 27,217,253,145, 24, 40, 42, 47, 77, 65, 27,199,104,196,184,199,118, 93,199,116, 50,
-193,216, 8, 71,197, 48, 31, 72, 11,111, 20,181,119, 88, 45,115,220,186,174, 24,228, 25,222,119,148,101,141,107, 27,188, 55, 40,
-133,204,106,123,120, 35, 24, 69, 93, 75,229, 84,215, 21, 90,107, 70, 11,139, 66,244, 10, 18,183,105,227,152,166,243, 24,231,136,
-109, 66,211,181,100,217,144,166,109,232,130, 36, 25, 25,173, 73,210, 12, 31, 58,188,151,234,110, 58,157,146, 36,146,197,174, 67,
- 32, 74,196, 65, 40, 31, 12,105,187, 26, 67,134,235,101, 87,249, 96, 68, 83, 86,232, 40,238,245,129, 66,251, 87,253, 7,107,180,
- 92,122, 93,221, 80,206, 69,243,173,181,194, 40, 41, 46,242, 52, 70,233,148,198,181,148,101, 69, 8,134, 36, 77, 36,122,176,243,
- 76, 11,209,244, 70, 81, 76,232, 28,229,238, 46,117,156, 16, 69, 9,249, 64,170,223, 98, 62, 71, 43, 69,146,101,184,186, 6,239,
-105,157,167,235,154,253,131, 79,245, 7,142, 2,140,181, 12, 7, 3,102,197,156,224,107,177,127,236,132,104,101,172, 64,230, 33,
- 4, 90,215,225, 59,113,153,202,178, 62,198,208, 90,138, 98, 66,154,100, 88, 19, 51,111, 42,178, 56,198,121,177,132, 36, 72,124,
-104,240,161,127,110,241, 18, 46, 10, 33,176,165,195,124,191, 11,171,145,151, 82,245, 27, 95, 27, 67, 89,139, 5,112,232,159, 86,
- 43, 49,136,208,157,252, 62,243, 89, 65, 54, 28, 80,245, 30,251,198,187,222, 39, 95,162,105,235,222,149, 46,138, 98,148, 53, 68,
- 81, 78,219,212,188,255,180,194,214, 17,171, 47,190,194, 92,107,166, 62,162,242, 29, 7, 6, 9,247,173,164, 44, 61,124,154, 23,
-191,189, 74,186,144,113,227,218, 58,199, 79,172,176,180,178,200,183, 95,189,142, 41, 91,102, 69, 1,145,124, 6,151,175,175, 67,
-100,240,109,195,142, 30,113,122, 56,166, 42, 10,136, 45, 93, 39,133, 73, 49, 47,249,194, 87,158,163,152, 21,124,232,233,247, 18,
-188,227,238,218,198,190,255,247,238,100,202,194,104, 68,158,230, 68,113, 36, 99,135,190,187, 64, 65,211,116, 84, 77,131, 11, 30,
- 29, 2,202, 72,177, 24, 16,153,166,214,208, 57,113,100,244,174, 99,123,119,151, 87,222,124,155,187, 27,235,242, 46, 12, 7,156,
-185,231, 56,127,253,103, 62,205,125,231,206,202, 69,238, 58, 57,131,144, 68,181,213,245, 13,238,172,173,239, 63,211,120, 56,100,
-117,107,139, 71,147,251, 69, 42,170, 68,101, 48,153, 21, 92,186,122,157, 15,189,255, 41, 86,150,151,105, 93,199,214,246, 14,215,
-110,223,225,232,225,195,252,210, 47,252, 60,191,249, 59,159,227, 27,175,188,194, 63,253,229,191,197,251, 30,123, 88,100,162, 62,
- 48,153, 21,108,239,238,242,219, 95,248, 18, 90,193,131,247,221,199,104, 56,224,238,218, 70, 63, 18, 49, 61,209,175, 69,181, 10,
-109,251, 16, 30, 37, 6, 39, 87,111,222,230,243, 95,254, 42,111, 92,190,202, 48,207, 57,118,228, 16,127,244,194,215,185,187,246,
- 3,171,218, 31, 94, 91,219, 59,252,223,159,255, 18,191,252, 87,127,158, 44,205,136,163,104, 95, 25,178, 55, 51, 13,109,203,238,
-172,224,214,157, 85, 14, 44, 45, 48, 24, 14,216,216,252, 65,172, 43,252,160,211, 62,188,114,128, 51,247, 28,231,252,233,147,196,
-177,252, 93,151,174,221, 96,117,109,157, 44,142,248,149,255,245,223,160,181, 24,114, 52, 77, 47,123,234, 28,159,250,232,143,145,
-218,136, 43,215,110,240,208,125,231,185,126,251, 46,163, 60,195, 25,131,125,252,125,140, 22,199,108, 47,124,147,225,204, 51, 88,
-206,176, 85,142, 95,212,196,117,204,202,145,192, 3, 43,129, 75, 71, 69,110,151,168,148, 86, 37,148,211,134, 98,109, 11,123,208,
- 82,188,160,152, 60, 24,152,151,146, 47,145,220,147,243,246,119, 53,127,239,239,183,156, 9, 49, 96, 24,239, 26,142, 28,134,106,
-118,144,175,124,229, 58,199,142,159, 36,139, 22,184,250,202,127,224,212,217, 79,112,248,232, 7, 56,121,254, 40,249,251,145, 6,
-227, 81,184,252, 27,138,237,187,155,108,109,191, 67, 49,187, 74,115,224, 97,102, 59, 55,217,222, 89,165,155, 41,242, 40,161,152,
- 10,114,185, 83, 20, 36, 73,138, 71,200,111,145,138,133,192,213, 58, 76,146, 16,188,204,103,157,115, 52, 78, 50, 50, 0, 98, 19,
-211,181, 14,173,196,107, 96, 54,159, 51, 26, 13, 48, 40, 60,158,121, 37,112, 61, 74,161, 21,152, 90,140,110,178, 44,101, 60, 30,
-227,218,142,182,237, 64, 9,177,172,109, 91,140, 18,168, 94, 35, 46,112, 58,104,108, 34,146, 93,231, 68, 33, 82, 85, 53,113,212,
-107,201,157,216,203, 42, 45, 25,246,101, 49,151,177,130,115, 50,134,236, 57, 63, 33,136,231, 72, 89,213,146,214,150, 70,184,186,
-165,233, 60,211, 86,200,154, 89, 38,163, 3,231, 91,130,146, 8, 99,215,138,246, 62, 4,133,181,170, 31, 29, 59, 65, 55,172, 32,
- 21, 33, 40, 58, 87, 19, 27,139,182, 26,130, 40,136,228,153, 34, 49, 77,171, 74,218,186,161,246, 34,167,219,115,254,115,173, 60,
-167, 82,129,249,124, 78, 28,203,184,215,117,157,112,248,148,194, 88, 75,231, 3,166,149,115,101,143,147,210,212, 13,174,245, 36,
-137, 38,138,114,186,174, 69,130,124, 2,253,116,143, 64,160, 44,231, 61,105, 91, 28, 7, 65, 72,128,113,156, 0, 26,115,238,252,
-249,127,225,189, 35,142, 19,246,194, 70,166,211, 25,243,249, 12,239,101, 78, 90,245, 2,251,189, 57,136, 15, 98,202,161,145, 4,
- 37, 9, 74, 81, 36, 89,142,182, 10,223,207, 69,180, 53, 72,164,164, 16,135, 80, 26,155,196, 4, 7,177, 49,100,249, 0, 99, 99,
-146, 36, 23, 88, 58, 52,228,201,128,182,103,226,230,121, 74, 93, 86,228, 61,225, 77,146,108, 68,178,230,156, 35,120, 15, 94, 24,
-159,197, 76,242,107,203,178, 32,142, 82, 49,145, 25, 10, 11,124, 50,153,236,179, 8,219,166,145,153, 74, 87, 83,204, 10,186,126,
- 94, 28, 89,201, 91, 23,152,182,166,107, 29,113, 28, 99,180,161,237, 2,121,158,202,115,244,124, 2,173,197,199, 62,138, 44, 58,
-138,241, 94, 73, 21,213,111, 86, 99, 45,105, 42, 29,109,231,101,166,109,172, 84,123,174,109, 9, 62, 16,148, 39,178,166,151,249,
- 9,140,146, 36, 9,145,149,106,113, 15,138, 71, 9,186, 16,167,113,127, 32,138,228,208,185,222,181, 46,207, 65,203,207, 47,203,
-146,180,191,232,181, 17, 24,168,170,164, 74, 31, 14,115, 76, 95,189,134, 16,152, 21, 18, 10,163, 12,226, 56, 85,204,176,218,246,
- 80,180, 39,138, 4,161,217,147, 90, 25,173,137,162, 8,109,122, 95,252,166, 33, 4,217, 23,218, 72,209,177,247, 50, 39,113,130,
-115, 29, 10,153, 29,197,113,210,111,118, 97,233, 43, 43,233,108,143, 31,130, 7,109,205,224,240, 2, 75, 79,156,227,214,213, 77,
-124,235,176,177,225, 35, 63,251, 36,193,107, 94,126,233, 42,195,229, 1,219, 59, 53,219,211,134,165,161,165,243,138,166,131,179,
-247, 29, 39,143, 21,170, 21, 18,229,137,243,135,217,220, 42, 24, 63,244,113,146,225, 88, 20, 22, 90,163,251, 3,110,117,125,131,
-231, 95,124, 25,148,226,240,202, 50,187,179, 25,111, 93,190,178, 63,111,157,151, 53, 40,201, 57,200,211, 20, 37,152, 30, 62, 64,
-240, 94,102, 92, 65, 2, 59, 4,142,146,130, 44, 16,196, 52,195, 57,153, 27,182, 29,239, 92,190,202, 87,190,254, 77,222,236, 67,
- 95,246,144, 16, 9,191, 16,200,108, 60, 28,238, 67,248,214, 90,186,174,229,198,237,187,188,117,233,114,111,206, 36,252,131, 35,
- 43, 7, 56,114,240, 32, 11,227, 33, 90,107,190,240,149, 63,230, 11, 95,121,129,115,167, 79,240,227, 31,126,134,165,197, 5, 92,
-231,184,185,186,202,181, 27,183,249,147,151,191,205,151, 94,248, 58,193, 7,142, 31, 62,200,180,152,211, 52, 13,231, 78,157,100,
-121,113, 76,154,102,164, 73, 44, 16, 94, 8,220,127,238, 44,247,157, 59, 77, 26,199,236, 39,241, 5,241, 43,104,218,150,186, 17,
-175, 8,109,100,143,142, 7, 3,142, 31, 57,204,250,214, 54,159,255,242,243,188,242,218, 27,204,138, 31, 4, 33,129, 20, 30, 73,
- 28, 99,163,136, 56,178,124,228,153,167,121,244,226,125,140, 71, 3, 25,147,245,255, 72, 73, 36,246,195, 89,154,178, 51,157,242,
-239,126,251,179, 60,247,141,151,216, 75,176,251,211,107,117, 99,147,121, 89,179, 52, 30,179,188,184,200,221,245,117, 94,121,237,
- 13,126,245,215,254, 45, 69, 89, 83,246, 4,171,189,220,137, 7,238, 61,203,235,239, 92,226,196,177,163, 60,245,200, 67,220, 94,
-223,192,121, 73,105, 60,126,104,133,239,121,197,209, 15,127, 26, 53,111,153,110, 95,195,212, 21,147,170, 70, 71, 57,201,194,136,
-195, 43, 71, 56,118,232, 33,182,135,154,237,244,251, 84,217, 21,194,210,148, 3,247, 13, 57,218, 62,201,234,250, 2,183, 95,249,
- 34, 59, 55,214,216,126,187,100,123,190,203,234, 43, 95,224,205,151,159, 71,233,123,200,158, 89,226, 53, 91,242, 98, 97, 89,255,
- 19,232,102,138,174, 80,108,237,166, 92,255,226,103,185,255, 3, 63,198, 99,207,252, 24, 63,241, 15, 79,241,212, 95,184,159,123,
-158, 58,193,198,215, 58, 94, 91,187,195,237, 47, 78,184,117,233, 26, 59,235,111,176,179,253, 26,174,105,136,176,148,213, 38,205,
-124, 29,215,238, 48,202, 91,234,121, 41, 23, 83,211,160,181,162,169, 27, 34,107,232,188,220, 8,137,141,233,156, 67,121, 48, 86,
-179,119,238, 11, 47, 74,211,248,142, 44,149,177,145,177,154, 52,205,246,205,138,210, 36,161,174, 69,254,181,231,178, 41,217,235,
-194, 69,242, 94, 76, 98, 90,215, 82, 87,245, 62,116, 93, 54,117,127,158,201, 8, 44,244, 13,149, 40, 99, 4,102, 15, 62,136,211,
- 28, 30,163, 36, 24,166, 11, 29,157,247,180,174, 19,249, 86,219, 10,195,183,191,119,124,240,125,238, 68, 71,232,207,151,184, 39,
- 84, 71,145,161,235, 58,240, 16,144, 81, 99,154,200,204, 91, 44,104, 3, 11,163,113,143, 32, 68,184,224, 81,200, 25, 24,250,182,
- 69, 35, 81,203,214, 88,108,223,165, 27, 19, 17, 69,137, 52,128,168,158,195, 36,127, 34,178, 6, 99, 98,180,213, 68,218,138, 67,
- 98, 28,225,219,150,233,124, 38,198,101, 77,133,182, 6,133, 32, 11,222, 59,172, 49,216,190,193,234, 58,201, 79, 55, 61,177,209,
-123, 39, 92, 49, 39,191,107, 18, 75, 19,219, 58, 33,240, 53, 77, 37,223,107, 79,104, 77, 18, 65, 45,172, 49, 50,131,182, 54,194,
-117,142,178, 40,164,147,174,123, 13,227, 92,170,130,202,121,118, 38,219,226,211,173,140, 72,158,154, 25, 62, 4, 34, 99, 73,211,
- 24,141, 36,249,180,109,131,115, 66,128,115, 56, 18,147,136,243, 80, 38,151, 74,227, 68, 51,174,219, 78, 40,248,214, 80,148, 13,
-113,220,103,212, 38,253,161,226, 3,109,191, 41,172, 50,140, 7, 35,170, 90,100, 7,131, 60,167, 44, 11,124, 16,246,116, 8,142,
-201,238, 14, 40, 69,221,116,216, 40,194, 57,217, 20,170,239, 60,141, 81, 52,141,120, 28, 71, 70, 83,151, 21,174,107,201, 50, 49,
- 94, 17, 22,183, 20, 40,174, 19,178,156,210, 86,146,209,180,100,171, 55, 93,135, 1, 76, 20,225,186,128,119,158,200, 68,100, 75,
- 18,131, 42,243, 23,131,235, 36,125, 72,107, 97,154, 71, 81,111, 85,168, 32,177, 22,165, 60,185, 77, 41,203, 57,121,146, 18,229,
- 67,102,243,130,121, 93, 51, 72,179,126,134, 2,147,217, 76, 42, 48,181, 71, 38, 82,228,131,156,106, 38, 81,136, 2,231, 66,215,
- 57,138,233, 20,165,100, 90, 36,122, 72,233, 46,141,181,242,221,244,159, 71,219, 51,230, 65,145, 15,115,124,219,178,103,135,152,
-228, 41, 54, 78,240,190, 99,107,107,147,241,120,129,166,174,164,203, 15, 1,109,181,108, 88,109,164,187, 81,162,147,117, 33,160,
- 75, 24,141,196, 40,194, 24, 48,246, 7,206,115,243,182,149, 75, 13,136,146, 68, 96,193, 72, 99,108, 10, 11, 6, 14, 15,216,253,
-218,101, 84,231,121,246,175, 60,197, 91, 95,124,157, 59,127,114,153, 91, 91, 83,244,100,142, 25,165, 80,213,245,242, 75,139, 0,
- 0, 32, 0, 73, 68, 65, 84,148, 69,195,155,101,195,141,173,130,241, 32,102, 58, 45, 81,141, 99,117,123, 78,215, 54,108, 79,106,
- 14,157, 60, 65,117,228, 4,211,233, 84,186, 18,239, 81,202,224,125,203,213,155,183,121,243,202, 53, 78, 28, 57, 76, 93,183,188,
-113,233, 42, 55,123, 11, 83,173,224,158, 35,135, 56,123,226, 4, 89,146,160,180,204,124,149,150, 94,165,233, 28,157,151,217,155,
-116,140, 94, 62, 87, 15,190,145,238, 1,132,156,227, 58,199,230,238, 46, 27, 59, 63,204,220,214, 28, 59,124,136, 15,191,247, 73,
- 30,125,207,253,156, 59,125,138, 61,249,208, 94,199,190, 59,153,114,253,214, 45,174,223,190,187,255,167,182,119,118,185,179,182,
-206,218,198, 6,167,238, 57,142, 66,113,223,217,211,252,204,167, 62, 65, 28, 89, 78, 30, 63, 38,135, 91, 8,204,231, 21,175,190,
-115,153, 43, 55,110, 50,159,207, 57,116,112,133, 71, 31,184,159, 39, 30,126, 15, 23,238, 61,199,104, 48, 32,207,115,182,118,239,
-178, 61,153,114,254,228, 49,182,119,119,184,179,190,198, 3,245, 25, 14,174, 28, 16,194,156,141,152,247,223,187, 86, 66, 58, 53,
-218,112,119,125,131,141,205, 45,166,179,130,178,105, 57,123,242, 30, 62,244,244,147,188,240,141,111,239,203,226,246,150, 15,112,
-250,248, 49,126,225, 51, 63,201,123, 46, 92,224,248,145,131, 88,173,217,153,206,168,235, 22,109,157,164,223,117,142,221, 89, 65,
- 81,150, 52,181,232,110, 31,127,240, 1, 94,121,253,205,253,192, 28,144, 46,125,113, 60,230,254,243,103, 57,119,242, 4,159,252,
-208,143,114,240,192,146,112, 78, 80, 98, 42,163,244,187, 34,104,247,214,137, 99, 71,121,250,137,199,248,245,127,255, 59,252, 87,
-127,251,175,115,241,236, 25,222,184,124,153, 3,195, 1,119, 90,199,237, 99,167,120,122, 48,102,245,123, 1,223, 42,170,214, 83,
- 59, 67,182,184,140, 74, 3, 39, 14, 31, 66,157,222,228,202,181, 43, 44,173, 44,114,226,224,163, 44, 41, 25, 70, 31,248,144,226,
-220, 39, 14,242,235,255,244,125,188,253,181, 95, 37,160,112,170,165,154,172, 49, 90, 58,193,226,226, 50,235,191,171,104,167, 41,
-122, 25,202,137,198, 53, 1,101, 21, 22,184,115,231, 26,159, 57, 12, 59, 94,177, 24,207,120,144,140, 63, 74, 53,169,183,172,191,
-122,128,118,233, 43,116,203,183,217,185,226, 81, 6,242,197, 19,128,163,235,230,160,161,109, 45, 46,206,241,174,101, 54,107,123,
-123, 88,139,115,245,254, 5, 49,159,207, 33, 67,206,131,216,226,130, 39,141, 83,246, 36,166, 81,170,177,157, 7, 37,196,219,224,
- 3, 30, 71,158, 15, 80, 10,202,121,137,141, 34, 58, 23,168, 42, 33,130,198,113, 76,150,100,204,138, 2, 79, 13,206,147, 15,135,
-204,166, 83,162, 40, 17,136,217,118, 88,246, 92, 69, 69,102,220,118,173, 72, 93,211, 12,218, 6, 79, 64, 25, 69,104, 28,104,113,
-186, 83, 78, 97,209,160, 45, 77,215, 73,144, 86, 36,231,160, 79, 28,169,143,113, 46, 96, 85,160,237, 58,138,162, 96,113,113,113,
- 63, 15,125, 60, 26, 11,234,216,212,196, 54,162,238, 90,124,144, 89,185,209, 6,109,197,141,212, 5, 71,158, 38, 56,215,251,156,
-120, 5, 10, 58, 60,101, 85,202,229,173, 12,109,127, 79,248,174,197,155, 4,180, 66,123, 48,145, 36, 86,138, 72, 64,208,131, 16,
-132, 7,208,245,168, 66,219, 8, 99,125, 52, 26, 49,221,157,145,102, 9,217, 64, 44,120,187,198, 19,130,140,161,246,208, 8,231,
- 2,117, 51, 71, 43, 49,241,217, 11,147, 42,171, 90, 84, 78,218, 16, 60, 68,113,210,195,247, 1,165, 2,179,121, 65, 98, 99,172,
-119,142,186,113, 52,213,132, 40,138, 1,205,188, 44,233,186,110,223,104,197, 59, 47,198,252, 33, 96, 35, 75,211, 58,232, 96,144,
-229, 76,103, 19, 90, 31, 24, 12,134,116, 78,230,186,214, 10,171, 89, 25, 17,253,135, 0,131,193,136,178,174,152, 87, 21, 73, 20,
-139,183,111,223,109, 87, 77, 67, 26,107, 60,129, 16, 60, 89,150,138,102,181,117,116, 14,182, 55, 55,177,214, 48, 28, 14,137,163,
-120, 31, 10,205, 7, 35,234,170, 17, 87,186,166, 3,163,136,242, 49,177, 81,116, 94,168, 53,105,146,144,196, 49,117, 37,122,197,
- 60, 23, 34, 4, 4,134,131, 1,147,201, 46,117,221, 73, 81,162,132, 48, 17, 2,232,196,138, 47,183, 86, 24, 45,225, 41,149,209,
-168,126, 62, 50,212,154, 56, 49,212,117,139,141,250, 88, 84, 99, 72,172, 66, 25, 77,232,192,187,192,100,178, 3,222, 67,158,227,
-154, 10,124, 64,143,199, 88, 19,131, 15, 4, 31,152,119, 13,227, 68, 2, 68, 58,231, 80, 8, 40,111,173,193,185,142,182,107,200,
-178, 1, 85, 85, 49, 24,102,116,109, 75,146,196,244,101, 50,109,221, 48, 43,102, 8, 25, 68, 83, 85, 53,131, 97, 36,115, 31,173,
- 25, 14,134, 40, 45, 82,151, 36, 73,100,104,143,176,173,171,186, 36, 78, 82,180, 54,228,153, 64, 73,218, 42,230,115,201, 42,222,
-222,222,194,196, 17,126,111,195,181,142,100,144,236,147, 60,156,243,248, 42, 16, 27, 75,211,214,248, 78, 72, 41, 77,219,226,154,
-138,209,120, 44, 7,132,119, 20, 69,177, 79,230, 83, 74,241,227,239, 25,240,231, 31,137, 9, 74,179,245,199,151,249,245,255,248,
-125,254,225,207, 62, 1,111,110,241,149,111, 94,231,196,161, 5,230, 77,199,194,161, 17,219, 59, 5,233,242,152,196,119,108, 23,
-162,219,244,117,199, 91, 87,119, 56,117, 48, 97, 16,107,140, 77,136, 76,224,246, 52, 38, 45, 43,102,197,148, 3, 11, 75,228, 89,
- 42,213,118,208,156, 56,126,148,243,167, 79,113,252,240,129,253, 8,206,189,229, 3,220, 93,151,184,208,131, 43, 7,176,235,107,
-172, 44, 47, 67, 63,162,235,188,167,169, 27,233, 80,148,140, 39,172,181,104, 69, 15,189, 75,248, 11,192,250,214, 54,219, 59,187,
-162,216,248,193, 79, 96, 86,204,152, 20,115,218,206, 49, 47,231, 61,164, 38,164,193,166,233,184,187,190,193,247,223,124,135, 31,
- 94,198,136,172,174, 40,107,118,167, 83,198,195,156,243,167, 79,113,226,216, 81,170,178, 98,109,115,139, 63,248,234, 31,243,213,
-111,188,196,229,235, 55, 1, 72, 99, 25, 59, 45, 14,135, 52,206, 49,200, 51, 70, 3, 73,151,186,117,119,149,231, 95,124,153,231,
- 95,124,153,105, 81,240,216,131, 23, 57,115,207,113,150,198, 35,146, 40, 98,144, 74,130,151,105, 13,174,171,152, 85,229, 62, 4,
-254,234, 91,111,115,245,230, 45, 54,183,119,120,245,173, 75,204,171,138,200, 24,134,195, 1,237,110,183,223, 25,231, 89, 74,100,
- 35,222,184,114,149,255,230,127,252, 87,252,226,103,126,146, 79,127,242, 89,150, 71, 99,185,184, 21, 24, 31,129,149, 46, 37, 75,
- 19,110,220,190,195,239,254,193, 31,241,253,183,223, 65, 3,197,252,221,241,170, 82,240, 11,212,254,248,131, 15,240,224,133,123,
-241,222,243,220, 75,223,226,247,159,251, 26,177,209,220,115,244, 8,215,111,189, 91,211,174, 81,252,254,115, 47,240,143,127,233,
-111,240,215,254,226,159,231,155,223,123,141,159,253,137,143,179,177,189,197,225, 3, 75,188,176,189,203,248,108, 74,211,129, 57,
-163,240,175,105,154,118, 78,154, 45, 51,156, 28,193, 13,214,153,181,155, 84, 27,175,115,242,216,123, 56, 58, 88,102,108, 96, 52,
-128, 52,106,184,177,155,240,205,207, 46,112,244,200, 2, 27,247,188,151,237,237, 75,196, 78, 49, 58,121,129, 52,215, 76,118,222,
-226,238,205, 71, 41, 11, 69,121,123,151,134, 6, 91,119, 68,139, 71,217, 45,110, 51, 26, 61, 10,143,193,218, 31,194, 89, 60, 75,
-202, 18,135, 29,244, 99, 99,138, 87, 20,213,173, 3,196,227,171, 28, 61,123, 15, 90, 31,195,123, 79, 61,221,193, 59, 80, 68,120,
-149,161,143, 30,228,128,106,152,174,173,245, 77,149, 20,158, 69, 49,103, 56,148,145,106,215, 57, 90,215, 49,202, 13,202, 7,106,
-215,129, 19, 27,104,130,200,199,180, 6,155,138,211,103,219,118,130,188,117, 34,211,234,234, 78, 20, 49, 58, 67,107,100, 68,167,
- 53, 54, 54,184, 38,224,244, 15,102,199,214,106, 48,138,208, 34,145,175, 93, 71,154,230, 40, 37,126, 24, 0,117, 37,141,194,104,
- 52,162,235,186,158,116,166,152,236,150, 68,177,197, 90,185,143,178,222,193,179,235,246,220,227, 58, 92, 39,119, 13, 8,132,110,
-173,240,143,234,174, 37, 79, 50, 90, 47, 42,171,121, 81, 96,210,132, 65,146,163,242,189,112,154,110, 95,134,231,235,146,166, 21,
- 47,253,186, 81, 24, 29, 48,202,146, 36,154,186, 1,229, 21, 42, 50,196, 26,202,121, 77, 20,107,230,187,149,188,247, 86,202,149,
- 52,203,233,218,154, 56,142,112,206,209,118, 45, 81, 28,209,213, 29,193, 73, 33,225,187,142,170, 44,209, 86, 36,125,222, 67,146,
-137,135,126,211, 52,228, 89, 78,168, 75,249, 93,140,233,201,199, 74,154,136,182, 37, 74, 18,210, 52, 70, 41, 35,104, 72, 89, 49,
- 28, 14,240,120, 9,183, 65, 76,137,156,114,216,178,135, 74, 76,100, 73,141,100,128, 55, 77, 45, 21, 77, 36, 21,214,172,152, 10,
- 52, 18, 20, 85,211,176, 48, 90, 64,230,187, 82, 53,136,181, 94,199,116, 42, 25,229,101, 85, 73,194,218,112, 40,210,131,224, 73,
-148, 34,142, 45,222,201,172,174, 42,230,184,222,226,207,152,158, 16,134, 71, 43,209, 30,206,231, 21,205,188, 68,117, 45, 26,143,
-243, 29,211, 93,135,210, 10,155,103, 40,101, 8,200,156, 70, 57,133,138, 4,246,110,155,138,225,226, 18,105, 36, 6, 8,109,219,
- 10,113,195, 66, 8, 82, 45, 26, 45, 94,185,114,117, 42,162,200,146,101, 3, 80, 10,133, 48,212,187,214,209,118,123,157,135,200,
- 14,178,108,128,238, 73,112,109,219, 49, 30,143,177,145,161, 42, 11,180,181,212,101, 73,219,212, 12,243, 1,173,247,212,197,174,
- 64, 80,243, 57,179,237,109,148,150, 68,167,217,100,130,210, 16,124, 64, 25, 67, 26, 37, 0,228, 67,241,161,111,218,150, 56, 77,
-216, 35,155, 4,232, 53,159, 17,109,221,130, 81, 36,214, 80,213, 53,243,249, 28,173, 13,222, 59,198,121, 78, 67, 64, 43, 3,193,
-147, 36, 17,185,201,152, 21, 51,180,150, 11,189,105, 58,242, 52,197, 7, 77, 85,215, 36, 81,130,243, 29, 96, 40,230, 37,113, 28,
- 49,157,148,248,174, 19,253,104,108, 72,227, 20,149, 72,103, 90,206,231, 61,123, 83, 62,189,166,105, 48, 90,163,172,194, 96,132,
-140,131, 34,210, 22,147,199,116, 77, 67, 28,247, 47,103, 38,208, 94, 8,129, 11,135, 29,127,243,253, 67,226,162,198,167, 25, 95,
-121,233, 6, 79, 63,116, 28,245,196, 41,190,247, 59,223,230,137,135,142,211,121, 48,107, 51, 38,109,199,122, 19, 40,110,110,113,
-250,232, 50,171, 69, 1,218,208,248,192,241,149,140,115,199, 70, 52,211,134, 77, 31, 24,141, 44,117,126,132,233,172,160,107,196,
- 4,162,172,106, 22, 70, 35,230, 85,205, 86,159, 58,166, 20,220, 94,125,119,114, 24,200, 5,154,167, 9,193, 7,162, 56,233,199,
- 70,226, 21, 32, 48,116, 77,235, 28, 4,135,209, 18,191,169,181, 70, 43, 77,211, 31,166, 93,219,113,251,206, 93,238,174, 75, 71,
-187,183,146, 52,238,209,129,203, 60,253,196, 35, 16,232, 11, 84,205,100, 90,240,205,239,189,198,235,151, 46,113,240,192, 18,171,
-125, 76,233,194,120,196, 79,124,228, 25, 30,186,255, 34, 7,150, 22, 24, 13,228,128,246,206,247,251, 35, 34, 4,197, 7,222,251,
- 4,163,241,136, 47,127,237, 27,188,254,246, 37,170,166,161,233, 58, 86, 14, 44,243, 51, 63,241, 73, 86, 22,199, 82,144,119, 13,
- 89,154,112,225,236, 25,156,115,188,115,245, 6,211,217,156,197,241,152,199, 31,126,143, 32, 7, 90,161,124,223,185, 24,141, 15,
-114,193,238, 76, 39,188,117,233, 26,127,240,220,243,236,206,138,119,205,171,255,244,242, 1, 62,249,225,103,120,252,161,139, 36,
- 81,132,235,187,151, 56,137,233,156, 23,174, 5, 34, 89,173,218,134, 27,183,238,176, 51,157,145,231, 41,101, 89,255,153,221, 54,
-136, 55,251,251,159,120,148,199, 31,122,128,151,190,251, 42, 91, 59, 59,164, 73,202,231,255,240, 43, 0,226, 65,222,175, 56,178,
-164, 89, 74,158,138,132,244,179, 95,252, 50,255,242,159,255,215,124,237,155,223,226,249,151, 94,230,177,139, 23,136, 15, 29, 98,
- 54,171,184,248,240, 71,105, 47, 7, 70, 39, 3,206, 46, 98,140, 37,205, 22, 97,169,225,216,202, 34,231, 30,254, 49, 70,139,138,
-140,128, 86,158, 40, 40,230,117,160,241, 49, 81, 22,216,184,181,202,230,157, 27,124,236, 47,253, 21,120, 6,118, 60, 12, 45,124,
-251,191,253, 42,119,174,255, 49,170,147, 92,243,170,153,225, 19, 69,232, 60, 81,185,205,246,238,117,104, 75,190,243,219, 96, 51,
-248,238,239,143,105, 62, 26,200,173, 38,190,172, 8,157,163, 42, 60, 77,172,137, 87,214, 56,152, 61, 67, 62,238,112,237, 58,107,
-171,176,118, 51, 98,186,150,211,109,174,112,207, 51, 15, 16,191,252, 5,138,219,107, 24,107,240, 65, 96,218, 16, 20,113, 26,203,
- 60,217, 70, 84,117, 77,215,138, 73, 76,231,157, 4, 47,229, 25,131, 65, 38,176,122,219,244,242, 40, 79, 85,149,189, 14,190, 37,
-205, 82,145,224, 90,201, 81,207,178, 76, 70,180, 54, 34,178, 49,198,104,218,174, 35,201, 18,124, 23, 40,138, 41, 10, 77,158, 15,
-247,121, 77,117,211, 16,233, 8,155,199, 36,105, 74, 93,213, 20, 69,193,104, 52, 38, 31,230, 66,192,179,134,166,115,212,141,188,
- 59,123, 8, 88,167, 20, 74, 26,105,226, 52, 69, 35,209,208, 74,131,209,150,208, 9,156,237,130,100, 84,180,109,219,123, 65,148,
-228, 70, 28,245, 92,213,145, 13, 50,234,166, 6,223, 17, 69,105, 63,130,245, 16, 60,206,129, 87, 45,177,142,132, 15, 16, 28,174,
-107, 37, 86, 60, 4,108, 72,201,146,132,166,115,148,197,140,198,136,148, 78, 76,116, 20,121,154, 83,119,114,127, 38,113,194,238,
- 92, 92,241,226, 94,162, 23,250,226,201, 53, 53, 16,200,178, 12, 21,250,115, 51, 40,188,235, 40, 59, 9,204,146,207, 89, 3, 26,
-165, 13,229,188,192, 24, 75, 8,194, 1,240, 78,156, 64,173,177,253,168, 60,162,235, 28,214, 90, 75,154, 72,158,235,188,174,105,
- 93, 75,222, 75, 2,240, 66,144,136, 18,137, 75,245,222,163,186,208,235,235,122,195,145, 44,101, 54,153,177, 51,217,197,232,136,
-174, 19,237, 93,227, 28,126, 54, 97, 48, 24, 33,158,185, 83,160,103,249, 58, 79, 28, 69,212,149,116, 53,131,209, 2, 74,105,102,
-179, 25,113, 18,137,252, 66, 25,130, 53, 61, 60,163, 8, 74, 28,186,112, 10, 87, 8,211, 17, 31,192, 90, 92, 39,158,196,218, 70,
-100,195, 17,104,201, 16,222,151, 10, 89, 3, 88,172, 17, 24,170,174,155, 94,230, 0, 90, 11,241, 70, 98, 90,133, 37, 58, 30,141,
-169,219,150,162, 16, 89, 89,108, 45,202, 26,230,243, 89,255,103,164,131,159, 78, 39, 66, 96, 83,144,197, 17,243, 70, 10,164,157,
-221, 29,210, 92,248, 9,157,107, 5,177,104, 61, 62,202, 25,102, 17,173,243, 84,115, 49, 94, 9, 4,138,217, 28,198,138,196,136,
- 4, 48, 50,134,174,238, 80, 74,147,102, 57,214, 40,156,181,178,193,156, 35, 82, 17,157,247,148, 85, 69,146, 38,251,190,206,202,
- 90, 6,145,104,137,139,162, 20, 82,159,239, 24, 13, 71,204,139, 18,239,101, 3, 76,103,243, 30,186, 7,188,152,217,228,153, 88,
- 80, 22,197,156, 44, 77,133, 46,222, 87,226, 26, 25, 77, 84,181,188, 36,211,233, 20, 99, 52, 1, 8, 94, 65,240,168,166,247,148,
- 14,141, 36, 30, 53, 98,208, 35,254,255, 29,211, 66,140, 41, 70,195, 33, 30,205, 47,127, 48, 35,186,182,137, 63,113,128,233,155,
-119,153, 79,102, 60,240,190, 83,168,203, 59,220,222, 44, 57,115,239, 10, 77,237, 25,159, 61,200,107,175,175, 82,116,129, 56,143,
-185,116,117, 19, 29, 91, 14,140, 98,202,121,195,249,195, 35, 54,175,108,224,203,138,193,145,101, 54,215,107, 46,141, 91, 98,189,
- 77,158,198,124,254,203, 95,229,218,237,187,252,151,255,249, 95, 99,109,115,139,223,252,157,207, 9, 7,163,144,125,240,195,203,
- 24,195,163, 15,222,207,193, 3,203,125, 1,234,217, 35,102,185,190, 24, 33, 72, 49,230,156,195, 43,141,209,158,128, 72,132,124,
-127, 48,228,121,206,169,123,142,115,103,117,157, 51, 39, 78,240,253,183,222, 1, 60,105,148,240,192,249,123,185,120, 94, 96,112,
-173,197,249, 48,178, 2, 45,111,237,238,240,135,207,255,201,187,158,105, 58, 43,184,126,243, 46, 43,139,203,156, 63,115,138,241,
- 48, 71, 3, 38,142,136, 9, 52, 90, 34,144, 23, 71, 99,154,186, 98, 97, 56, 96, 60, 26,178,181,189,131,247,158,187,235, 27, 28,
- 60,176,132,209,138,233,180,144,121,101,219,137, 4,237,230, 45,110,221,189,203,169,227,199,184,189,182,198,195,205,125,104, 45,
-197, 9,125,103,142,146, 28,232,206,117,188,246,205,119,120,253,157,119, 88, 90, 90, 98, 58, 47,255,147, 23,186,214, 66,170,107,
-154,154, 99, 71,142,112,252,208, 65, 34, 43, 42, 2, 23,100,188,214,118,226,211,125,119,245, 46,223,121,237, 13, 54,119, 38,188,
-241,246, 37,238,108,108,254, 39, 67, 87, 70,163, 1,207,254,232,251,248,171,159,249,243, 84, 77,195,100, 58,225,183,255,227, 23,
- 57,184,178,204,185, 83, 39,184,116,237,134,100, 63,244,107, 60, 26,115,248,224, 1,154,166,225,252,217, 51,212,117,205,191,255,
-236,239,113,224,192, 18, 79,189,231, 34, 63,245,137,103,249, 7,255,239, 23, 56,254,193,191,204, 3,103, 83, 54,111, 42,150, 34,
- 69,122,247, 32, 62,205,208,157,102,253,246, 27,140, 55, 30,229,248,199,192,133, 18, 95,165, 60,148,117,148,193,113, 73,101,188,
-189, 14,155,207, 7, 86,239,220,192, 23, 59,252,244,167, 43, 30, 32,229, 75, 76,120,135,154,196, 30,102,107,243,115,196,217, 89,
- 22,150, 14, 81,149,235,132,185, 64,219,179,174,229,214,141,231, 24, 14, 79,241,122,254, 18, 39,252, 83,216,105,224,245,207,105,
-242,149, 49,235,183, 2,243,106, 66, 89,213,236,126,127,139,165,247,140,185,240,224, 65, 34, 29,216,216,136, 80,103,166, 28,247,
-154,235, 47, 20,204,215,143, 82,221,188,143,243, 31,252, 0, 59,197,231,185,241,197,207, 83,207, 10,156, 19,195,147,209, 96,128,
- 75, 45,213,124, 78, 85, 85,216, 56, 38,162, 15,132,154, 78, 69,174,155,102, 52,157, 36,155, 13,242, 12,231,122, 25, 88,240,196,
- 73, 76,112,162,105, 23,107,104,145,180, 10,113, 78, 46,120, 85, 43,162, 36,218,183, 55,149,184,237, 12,188, 71,107, 35,234,169,
-174,163, 33,128,213,120, 39,103,116,150,100,116,190,163,158,206, 73,243,140, 68, 69,164, 74, 84, 75,214, 68, 34,179, 11,158, 60,
-151,249,129, 22, 66, 11, 10,185,240,139,233, 76,254,155,214, 76,250, 52, 54,211,143,180, 6,131,129, 16,234,138, 57,181,150,172,
-246, 16, 28,145, 54,253, 22,247,152,216, 16,218,128,241,129,214,123,156,115, 56, 3, 90,199,232, 84,184, 31, 26, 69,221, 84,114,
-238,150, 37,226, 55, 98,101, 44,101, 44, 77, 83,209,116,130, 88, 42, 15,243,102,142,181, 98,201,251,195,163, 93,231, 68, 54, 7,
- 80,213, 45,101, 91,147, 69, 41,157,239, 36,131, 68, 43, 84, 0,213, 57, 92,219,146, 12, 50, 84, 80, 56,183, 23,185, 11,120,143,
- 49, 30,109, 13, 58, 8, 90,209,185, 86, 70, 36,214, 98, 59,231,169,230, 5,193,119, 40, 47,208,217,172,110,177,105,194,108, 62,
- 35, 79,210,126,200, 47, 76, 60, 27, 71,204,231,115,218,178,146, 88,185,206,163,140, 72,172,146, 40,234, 61,179,101, 78,168, 98,
-113,202,170, 42,209,158, 15,135, 98, 75,218,117, 29,243,121,181, 15, 9,215,109,139,239, 28,214,198, 56, 20,243,201, 4,215, 57,
-240, 14, 31,199,140,135,185, 64,189, 65, 81,215, 5, 93, 43,201, 99,195,225,152,200, 88,166,173, 99, 56, 90,192, 68, 6,163,181,
- 4,164, 36, 9, 81, 20, 19,199,182,255,176,123, 31,248,158,176, 81, 7,145,104,164,113, 44,241,168, 86, 92,123, 34, 35,250,241,
-121, 81, 64, 8, 12, 71, 35,185, 48, 21, 68, 90, 72,111, 58,136, 13,103,154,230,152,200,208,180, 13, 74,121, 22,134, 67,118,119,
-119, 9, 90, 83,205,230,160, 32,104, 45, 46, 64,214, 98,130,163,115, 49, 73,154,201, 92, 7,197,180,156,211,248,142, 65,128,121,
-211, 72,246,124,154,246,218,116, 33,180, 76,103, 51,226, 56, 22, 34, 71, 16, 86,101,211, 52,194,178,239, 28,121,150, 82, 78, 11,
-188,247,236,238, 76, 24, 45, 12, 73,147,140,233,108, 70,154,229, 24, 45, 93,178, 15, 50,247,181, 86,140,132,170,170, 21,201, 71,
- 80, 76,103, 19,242, 60,167,174, 43,138, 98,142,162,119,238, 83,138, 56,203, 16,167,165,140, 36,201, 8, 61,241,175,115,158,160,
- 28,113,154, 97,180, 6, 60,197,108,142, 42,171,253,141,108,180,192,212, 40,113, 13,115, 77,199,123, 78, 68,156, 95,206, 40, 47,
-223,198,174, 44,241,221, 27,219,156,124,224, 36, 87,215,167,168, 59, 19, 54,138,134,197,141, 57,163, 3, 67,170,206,115,244,158,
- 5, 54,222,174,120,224,190,227,220, 94,221,225,246,173, 93,226,160,200, 83,205,206,110,201,201,251,142,243,214, 91, 55, 89, 95,
-221,225,192,193,148, 60, 31,114,244,216, 81,118,119,119,121,237,237,203,124,230,199, 63,193, 32,207, 24, 55, 67,158,126,252, 17,
- 46, 95,191, 73,219,182, 44,140,134, 84,155, 63,184, 4,210, 36,102,117,117,147, 31,121,228, 97,150, 23, 37,121, 77,247,251,181,
-237, 53,233, 46, 4, 8,158, 56,138,133,163,209,118, 56,215, 9,212,166, 20,177,145,223,115,115,123,155,119,174,223,228,251,111,
-189,213,195,203, 41,195, 65, 46, 12, 96, 45, 63,171,233,100,230,182,189, 59,103,125,107,155,133,209,136,229,197,197,119,117,169,
- 7,151,151, 88, 88, 24,115,242,196, 49, 6, 89, 66, 98, 35,201,124, 86,138, 16, 20,155,187,235,124,246, 11,127,200,111,124,246,
-115,252, 89,235,220,233,147, 76,166,162, 25,222, 59, 84,138,170,230,230, 29, 49,193,121,229,181, 55,249,196, 51, 79,243,222, 39,
- 30, 3, 5,109, 39,103,192,222, 24, 97,212,171, 97, 86,150, 22,121,235,242, 85,190,250,141,151,184,121,231, 46,127, 90,182,182,
-188,184,200,201, 99, 71,246,223,231,197,241,152,199, 30,188, 72, 22, 75,228,172, 72, 48, 5, 45, 10,161,165, 40, 11,238,172,174,
-243,250,219,151,120,251,234,117,222,186,116,133,157,233,236,255, 71,182,139,109,132,178,138,163, 43, 43,124,224,169,199,249,248,
-135,126, 20,148,230,157, 43,215,249,222, 27,111,115,103,109,149, 23, 95,249, 46,214, 90,254,244,106, 91,201,194, 94, 24, 14,120,
-251,210, 21, 62,240,212, 99, 56,231,248,139, 31,255, 8,231,207, 30,227, 87, 94,122,133, 59,117,199,242,247, 18,252,227, 49,119,
- 86, 3, 7,159,129,163, 7,143,114,205,141,105,119,183,169,234, 93,174, 69,151, 56,233, 31,227,162,202, 80,153, 2, 98,190, 4,
- 76,118, 96,245,115,129,116, 5, 30,126,250, 71, 24,141, 3, 47,111, 40, 62,255, 50, 20,119,198,164,135,224,207,253,243, 67,204,
-255,201,199,184,118,233,139,236,108,172,160,149,162,243, 13,229,116,139,233,214, 53,234,114,131, 3,143, 63,205,206,231,190, 65,
-148, 85,116, 43, 79,113,244, 68, 70,219, 4,238, 94,131,178,155,178,179,125,135,217,214, 58, 7,238,190,143, 51, 15, 7,238,190,
- 10,107, 55, 51,170,119, 52,234, 88,199,161,139, 29,187,241, 6,198, 60, 77,242, 36,156,188,244,139,228, 31,251, 40,147,221,223,
-102,118,249,117,238, 92,186, 14, 90, 51,219,221,101,207,180, 69,119, 26,149,200,249, 27, 69, 17, 10, 69,221,118,212,117,133,247,
-129,214, 57,234,166, 33, 79, 50,170, 90, 82,202, 20, 26,107, 53, 65, 65,146,166,208,137,181, 47, 65,102,201, 11, 75, 75, 24, 5,
-131,108, 0, 10,145,225,150, 21, 89,150, 81, 22, 98,234,133, 66,220,220, 26, 79,156,198,196, 61,176,210,212, 53,174,115,180,147,
- 41, 1,137,130, 30,140, 70,180,174,221,151,184, 1,160,100, 76,235,234, 18,107, 4, 1,234,124,199,238,116,210,143,178,216,183,
-191,222, 51,237,114,222, 49, 24, 13, 80, 40,148,134,217,108, 78, 20, 25,108,148,224, 90, 7, 72,199, 75,255, 89, 72,177, 18, 32,
-244,169,138, 89, 74, 18, 37,236, 89,198,170, 56,238,239, 39,112,157,103,214, 21,253,243, 41, 28,130, 14,198,177, 37,138, 12,222,
- 91,105,218, 8, 36,105, 70,150, 37,116,206,211,212,210,252,234,160, 9, 74,145, 70, 41,174, 19, 75, 94, 19, 91, 66, 28, 83,183,
- 93, 47, 35, 20,141,126, 85,149, 24,101,176,177,152,225,148,253,187, 50, 24, 73,116, 43, 64,112, 14,171,148,198,196, 49,206, 25,
-116, 45, 14,102,131,124,132,177,150,178,169, 80,185, 34, 77,165,106,115,206, 67,112, 2, 9,244, 90,185, 36, 77, 40,166, 19, 90,
- 39,142, 99, 89,150, 17,105,141,235, 58,242, 60,163,106, 42,188,239, 24,228,189,253,160,150,174, 59,232, 61, 39,182,132,200,104,
-166, 69,137,115, 45, 81,148,145, 36, 57, 85, 40, 8, 90, 73,178,152,181, 52, 77, 13,104, 70,163, 69, 92, 39,196, 8, 23,196, 20,
- 38,138, 82,177, 40, 53,154,249,188,192,166, 49, 90,203,188,163,107, 29,243,217,140, 82, 11, 1, 68,107, 57,116,187,166, 69,119,
- 29,241, 96, 32,142, 60, 33, 80,183,142,102, 62,195, 36, 9,131,124, 15,142,151,229,157, 72,234,124, 16,120, 89, 91, 77,215, 57,
-210, 60,237,117,245,154,160, 3,227,133, 49,179, 89,193,104,152,227,130, 98, 58,157,146, 15, 6,253,220,186,215, 69,122, 40, 93,
-129,247, 48, 30, 12,169,186,134,157,157, 29, 70,131, 33, 89,158,211, 52,189, 86,223, 24,154, 90, 60,240,235,186,166,152, 77,241,
-206,147,228, 57,214, 90,218,182,233, 67, 10,132,213, 42,145,133, 13,187,219,187, 12,134,226, 0, 86, 85, 21,186,135,173,188,247,
- 68,113, 74,158, 89,156,239,104, 27,153,249, 4, 99,208, 70, 54,159,243,142,241,104,132,107, 59,118,167,187,224, 28,117,219, 18,
-250, 25,186, 54,134,114, 46,155,116, 52, 24,210, 4,169,136,231,165, 64,246,113, 36, 17,137, 0, 85,213,244, 82, 56,241, 11, 48,
- 90,179,219, 54,228,110, 9,174,207,208,193,193,172,226, 59,111,175,113,234,216, 2,195, 40,227,234,198, 28, 87,181,220, 94,159,
-177, 84, 5,150, 87,114, 86,215,119, 41,107,199,237, 27,171, 4,167, 88, 28,138,206,253,220,137,101,238,172, 79,185, 17, 2, 71,
-207, 30,101,251,237,187,188,121,117,139, 35,247,173,176,190,181,201,175,254, 47,255, 7,222,123,242, 84,124,155, 1,126,250,199,
- 63,206,107,239, 92,230,173, 75, 87,185,124,227, 38, 63,188,172,181, 28, 57,188, 66,154, 72,224, 75,100, 77,255, 57, 75, 71,210,
-116, 29,117, 93,203,190,141, 44, 73,146, 48, 24, 40,202,121,217,207,181, 52,145, 53, 12,135, 57, 71, 15, 31,102,121,113,204,202,
-242, 50,155,189,223,244,193,229, 37,238, 59,123,154,135,239,191,143,241,104,184,239, 94,101,173,228, 40,191,125,245,250,187, 46,
- 75, 99, 12, 7, 15, 44,113,242,216, 97,178, 60, 19, 22,179,145,125, 39, 14, 89,112,236,208, 10,191,240,211,159, 98, 60, 26,240,
-251,207,191,192,213, 27,183,247,255,142,197,133, 49,159,250,200,135,136,172,161,152, 75,226, 97, 20, 73,168,206, 35, 15, 94,100,
- 48,200,120,234,145,135,185,231,216,177,125,190,132, 15, 94, 72,143, 74,147,196, 34,181, 49,218,160,181,140, 49,110,221, 89, 21,
-102, 49, 26,221, 51,159, 1, 80,112,225,220,105,158,122,248, 65,182,118, 38, 40, 99, 56,114,112,133,160, 4, 6,221, 51,180,217,
-222,217,101,123,119,202,234,230, 38,111, 93,185,206,119, 94,123,131,219,171, 27,220, 94, 93,123,151,116, 13,164,227,127,230,125,
- 79,242,151, 62,245, 9,134,195, 33,227,209,144, 36, 18, 57,218,241,163, 71,217,157,205,216,218,149,174,126,143,112, 24,130,168,
- 97,130,243,236, 78, 11,234,121,201,225,147,199,201,243,156,149,229,101,126,242,189,143,240,224,209, 49,255,236,245,235,124,251,
-250, 29,178, 96, 89,187,241, 26,191,253, 47,199, 16,191, 70,252,123,207,240,232, 79,120,174,253,198,253, 68,250, 57,226,116, 72,
-215, 77,248,141,255,203,112,250,231, 58,234, 47, 68, 76, 31,243, 44,166,129, 59,191,103,184,187, 19,248,159,254,118,160, 34,240,
- 34, 5, 78, 65,254, 73,207,230,221, 69,174,255, 22, 92,123,253, 58,199,207,124,132,213, 91,223, 97,237,230,139,184,174, 37, 77,
- 79,240,193, 79,253, 12, 93,118,158,131,135,142,242,201,191, 81,241, 63,252,103,159,231,214,218,171,160, 98,234,246, 36,201,214,
- 97,102, 59, 87,153,172,191,206,206,234,247, 41,103,171, 28,125,248, 89,206, 28, 40,121,167,200, 72,125,198,164,201,113,151, 87,
-105,143,122,226,149,187,204,111,127,153,249, 55,127, 12, 19,131,106,142,210, 22, 31,225,222,207, 60,194,201,187,183,184,250,252,
- 11,116, 93, 39,103,136, 55,248,224,233,124,139,111, 37, 64,196,123,135,118,244, 16,122,239, 20,169,161,233, 58, 34,107,123, 53,
-132,194, 88, 5, 94, 36, 95, 38,137, 25,198,210,200, 41,173,229,146, 67, 16,196, 44, 77,201, 7, 25, 77, 85, 51,153,245, 23,174,
- 10,248, 86,148, 65, 38,200,104,119,239, 43, 79,147,148,206,138,100,178,170,106,154,182,197,214, 53, 81, 28, 51,153, 76,208, 90,
-147, 13, 6, 88,163,192,119, 36, 73,134,243,158,122, 54,195, 40,141,177, 26, 19, 71,116,181, 72,154,211, 36,161, 40, 10,242, 97,
- 78,172, 98,130, 11,104,163,153,236, 76,176, 86,200,189,138, 57,163,209, 8,107,141,232,245,219,142,216,198, 4,235,112, 78, 80,
-128,214,183,168, 82,225,124, 71,167, 20,169,181, 56,163,240,157, 71, 69, 9,177, 82, 61, 41,217,161,181,176,228, 85, 80, 4,229,
-246, 81, 79, 61, 50,236,236,236,244, 5,149, 39,142,123, 15, 16,163, 40,203,154,178,152,209, 69, 9, 73, 18, 81, 55, 45,150,128,
-107, 91,154,182, 99, 48,200,112, 72,162,103,100, 52, 65, 73,190, 74, 62, 24, 17, 37,177, 68,214,246,239,224,124, 94,136, 59, 96,
- 64,152,210,179,121, 67,208, 22,172,165,152,207, 80,198,178,184,184,136, 81, 17, 58, 10,140,135, 86,188,251,149, 71, 12,240, 75,
-242, 60, 23, 72,222, 8, 45,127,148, 11, 3, 51,202,135, 52,117,205,124, 86,146, 13,114,106,215, 50,153, 76, 5, 48,209, 74,244,
-213, 38,166, 85,142,196, 70,120,215,177, 48, 26,225, 28,204,139,153, 48,116,211, 24, 23, 60,117,213, 96, 81, 36, 61,193,205, 7,
-153, 25, 27, 99, 49, 90, 51, 88, 92,194, 7,143,199,227, 74,113,230, 49,218,226,219,150, 54,120,138, 98, 46, 50, 7,107,152, 77,
-133, 12, 88,215, 53,161, 39,107,204,166,146, 65,235, 67,192, 43, 5,173, 88, 8,214,198,146,143,229, 50,117,149,228, 22,171, 32,
- 26,205,225,226, 34,104, 77,219, 84,116,109,203,172,149, 57,164,233, 45, 22,135,163, 81, 15,163,120,201,107,103,175, 99, 13, 61,
-116, 99, 89, 24, 47, 50, 47, 75,154,182,193, 55,125,240, 65, 81, 96,202,154, 40,182,184,178,146,138, 47,138,228, 37,176,134,224,
- 19,156,106,105,170, 74,120, 11, 93,135,119, 14, 87, 9, 12, 58,155, 21, 12,134, 35,154,166, 98, 62,155,203, 51,217,136, 56,141,
-169,102, 5,195,241, 24, 77, 96, 62, 47,165,176, 82,138,182,235,104,157,200, 79,172,181,120, 15, 77,112,216,216,146, 14,135,212,
-187,187,236,205,193,147, 56, 38,120, 49, 67, 0,169,111,235,170,162, 10, 97,191, 51,247,222,227,141,161,154,205, 4,154,243,189,
-113, 72,240,228,217, 0,155, 88,142, 45,122, 88,182,196, 71,206, 81, 94,223,228, 64,100, 40,118, 43, 14,223,119,152,237,237,130,
-137,107,152, 77, 28,179,162,225,206,180, 96, 82,117,196,145,226,192,129, 69,108, 98,185,118,121, 29,140,165,213,138,225, 88,138,
-160,119,174,174, 83, 57,207,177,195,203,100, 11, 75,236,108,108,115,254,204, 25,218,174,225,236,169, 83,180,181,116,228, 85,221,
- 16, 27,241, 33, 88, 24,143,216, 91,214, 90,158,124,232, 65, 62,244,222,167,184,120,254,156,124,182,192,215,191,253, 93,102,197,
-140,251,239, 61, 75, 18, 11,207, 97, 15, 74, 22,185, 33, 24,212,254,124, 89,107,177,161,221,220,217,165,106, 91,134,121, 74, 81,
- 36,236, 78,166, 92,189,121,155, 39, 31,121,112,255, 66,239,218,134,155,183,215,120,225, 91,223,225,247,191,252, 60, 74,139,235,
-218,222,202,211,148,149,229,101,150, 22, 22, 56,188,180, 68, 22, 71, 84, 61, 27,188, 85, 98,181,185, 59,153,242,235,191,245, 59,
-124,233,143,255, 4,173, 68,151,189,231,185, 62, 30, 14,185,126,235, 54, 11,163, 1, 93,231,101,164,134,196, 62,162,224,208,129,
-101,242, 44,103,113, 60,164,105, 26, 26,165, 69, 45, 16,216,143, 76, 21,111,117, 67, 8, 74,194,152,246,139, 14,201,112,184,120,
-246, 20,131,108,192,116, 94,112,119, 99,139,219,107, 27, 60,254,224, 3,128, 92,180,117, 85,147,196, 81,207, 31,144,189,214,117,
- 29,175,189,245, 14, 95,121,225,235,188,113,249, 42,127,214,210, 90,243,119,255,234,207,225, 58, 97, 96,167,113, 76,240,210,177,
-188,252,234,235,188,242,198, 91, 36,214,188, 11,110,223,155,189,106, 5, 79, 60,246, 16,223,122,245, 13,110,220,190,195,249,123,
-207,240,228,253,231,249,224,189,199, 56,180,148,243, 15,175,108, 19, 31, 60,135,223,250, 58, 42, 93,224,238,237,215, 65, 93,225,
-228, 7,150,120,253, 91,151,248, 11,159, 58,193,123, 46,156, 96,251,234, 18,118, 62, 35,184, 17,223,187,253,107,152,223,252,187,
- 44, 28, 9,124,247, 87, 94,231,246,157,215,217,184,241, 26,143, 61,249,119,136, 89, 33, 9,138, 7, 85,198, 21, 26, 54,232,168,
- 6,160,199,129,118, 82,113,253,234,175,241,200, 19,255, 4,251, 12, 84,110,135, 39,223,191,200, 19, 31, 41,184,178, 61, 96,237,
- 69,120,243,102,206,127,241,191,127,140,111,252,198, 38,191,247,111,255, 29, 75,135, 78, 18,174, 4,234,122,135,205,181, 87,169,
-230,119, 24,143, 30,230,241,135, 21, 21,158,221, 78, 81,198,129, 16, 6, 84, 37,180, 87, 59,226,131, 45, 59,238,155,184,111, 93,
- 96,144, 46,208,185, 9,235,119, 54,185,252,198, 75, 60,251,247, 62,192,195, 23, 46,114,243,235, 95,231,237,223,255, 3,138, 98,
- 34,151,156,142, 8,157,167,168,103, 56, 39, 40, 94,146,196, 52,117,189,223,232,196,153,161,172, 43, 84, 35, 35, 38,107, 45,206,
- 73,122,155, 15, 98, 21, 27,199,113,223,181, 54,116, 33,144,198, 63, 32,128,197, 73, 66, 76,130,243,158,214,181,196,217,128,162,
- 40,240, 94, 10,200, 40, 18,213, 85, 93, 74,211, 6, 66,208, 46,138,130,114, 62, 23,117, 80,150, 98,163, 24, 90,209,131, 43, 27,
-211, 53, 29, 38, 50, 12, 70, 35,138,121, 73,221, 54, 36, 74,100,201,113, 8,146,229, 62, 24,210,204, 43,154,206, 17, 69,110,223,
-232,200, 40,141,138, 98,202,178,100,103,119,135,225,104,132,213,146,152,233, 67, 75,235, 2, 10,136,147, 24, 26,176,177, 65, 57,
-131,111, 42,140, 49,164, 90,138,144,182,146,164, 74,221,105,148,134,186,172, 72,211,140,162,156,147,245,176,121, 23,246, 66,172,
-212,254,216, 35, 77, 19,180, 6,173, 52,214, 40,186, 22,140, 22, 15,253,182,107,104, 59, 48,218,160,172,166,152,149, 36, 89,194,
-104, 48,160,109, 27,178, 36,195, 19, 48, 64,235, 68, 78, 92,150,165,164,131,246,103,144,185,231,212,233,127,209,118, 45,121,146,
-136,137,125,112, 68, 70,230,169, 33, 4,242,193,128,249,188,196,251, 32,240, 45, 34,141,138,250, 42,190, 40, 68, 86,102,209,164,
-153,248,141,139, 5,169, 24,166, 52,109, 77,150,101,180,173,104,219, 65, 32,184,170,107, 72,147,140,121, 81,160,181,161,235,106,
- 34, 43, 49,164,193,131,178,146,176, 22, 20,232, 32,217,185, 85, 45, 23, 89,231, 28,227,133,133,125,168,196, 90, 75, 85, 86, 68,
-145,101, 62, 47,145,168,209, 78,146,132, 50,113, 78,155, 20, 5,206,121, 49, 76,209,154,214, 59, 33,148,161, 36,164,164,169, 81,
-222,161,148, 65, 37, 9,202,106,218, 89, 65,112,253,191, 83, 98, 92, 19,156, 35,205, 68, 50, 50,200, 7, 12,134, 35,170,121, 73,
- 64,186, 88,165,228, 32,108, 59, 71,154,164, 82, 17,183,130,110,120, 15,222,139,252,192, 24, 45, 94,218, 74,245, 7,167,196, 78,
- 14, 70, 3,108, 36, 95,206, 96, 52, 18, 82, 75,127, 56, 42, 20,109,183,167,247, 84,224,122,212, 32,182,178, 65,250,138,115,188,
-176, 64, 28, 75, 42, 94, 93,149,196,145,165,170, 42,230,243, 57, 54, 18, 43, 82,133,204,157, 66, 8, 20, 69, 65, 85, 85,253,104,
- 66,226, 7,231,179, 57, 81, 44, 16,113, 80,138,241,194, 2, 33, 32,151,138, 86,196, 81, 66,108, 13, 45,142,224, 97, 60, 26, 73,
- 48,194, 64,224,254,182,235, 24, 13,135, 36,177,152, 47, 88,107,153, 87, 37,143, 28, 55,252,211,103, 15,160,171, 6,134, 9,147,
-181, 25,151, 39, 45,247, 28, 95, 36, 51,210, 73,230, 73,204,242,193, 5,186,174, 99,107, 86,179, 51,235,208, 26,246, 36,102, 55,
- 54,167,140, 53, 68,163,148, 91,243,138, 99, 71, 14,160,124,199,218,214,132,241,161,227,216, 19,143,176,188, 48,102,107,119,151,
-181,141, 77,140, 86, 44, 45, 46,162, 16, 43, 99, 31, 2,183,239,174,243,237,239,189,198,238, 76,180,224, 43, 75,139,220,123,230,
- 36, 71, 15, 29, 98,105, 60,139,139,172,119, 0, 0, 32, 0, 73, 68, 65, 84,162,115,158, 59,171,235,124,241,185, 23,120,253,237,
- 75, 92, 60,119,134, 56, 22,133, 68,158,103,162,123,245, 93,207,236,223,123, 47, 68,122, 98,181, 97,109, 99,131, 43,215,111,242,
-202, 27,111,208,118, 29, 39,143, 31, 67, 41,120,252, 61,247,115,248,208, 10, 74, 41,202,178, 1, 45,146,196,229,165, 69,222,190,
-114,109,255, 98, 2, 33, 76, 94,187,125,139, 83, 71,143,114,226,216, 81,146, 56,197, 7,135, 67,244,227, 1,120,251,202, 53,190,
-246,205,111,113,253,214, 42,117, 43,233, 93,135, 14, 44,243,240,197,251, 56,125,207,113,142, 28, 92,225,208,242, 50, 54, 50, 40,
- 52,179,162,160,236, 17, 20, 33,243,196,228,121,142,181,226,155, 93, 85,226, 58,232,189,200,247,234,170,162,115,129,171, 55,110,
-113,229,214,109,110,221, 89,101,214,135, 99,164,113,204,211, 79, 62,198, 79, 62,251, 33,126,228,177, 71, 56,117,252, 24, 7, 22,
- 23, 88, 88, 24, 51,239, 11, 79,239,101,134, 46,102, 35,226,190,168,128, 51, 39,142,243,206,245,155, 92,190,118,131, 31, 94,143,
- 62,112, 63, 15, 93, 56,207,229, 27, 55,248,169,143, 63,203,169,147,199,233,218,134, 36,142,241,206,243,230,229, 75, 20, 69,197,
-239,124,225, 75,124,247,181, 55,251, 3,243,221,171,115,142, 44, 77,121,255, 19,143,242,157,215,223,228, 99,239,123,140, 95,250,
-232,251, 24,159, 60,205,175,110,182,172,220,255, 44,199,142,222,199,139,191,251,235,184,162, 99,118,103,155,248,158,154, 52,177,
-236,110,214, 52, 15, 62,200, 79,221,223,241,226,151, 15,226,210,183,105, 26, 75, 83,236, 50, 81,175, 49,172, 31,227,254, 95, 60,
- 4,119, 78,243,137,159,249, 40, 79,189, 55,231,101,173,240,195,146, 57, 26,255,102,198,246,215, 82,118,239, 40,154, 29, 77, 93,
- 40, 86,239,190,200, 79,253,226,251,249,229,159,115,220,169,115, 46,126,180, 33,197,179,144, 26, 78,156,107, 73,189,230,187,159,
- 77,232,218, 5,182,107,197,157, 75, 47,225, 66,199,189,143,126,154,195,135, 31,229,224,209, 21, 46, 60,253, 75, 60,249,151, 74,
- 94,233,198,172,126, 45, 80,108,109, 51,153,222,164,174,118,232,234, 9, 21, 19,182, 54,111, 17, 85,135,169,154,154,217,228, 58,
-211,233, 13, 54,215,175,177,184,226, 57,120,241, 2,201,129, 3, 28,185,112, 63,211,155, 55,169,166, 19, 92,112, 12, 7, 66, 98,
-171,235, 70,152,237,168, 30,238,214,236, 69, 69, 91, 43,179,104, 99, 45,170, 47,220,173,149, 68,207, 40, 18, 47,143, 16,130, 92,
-140,113, 76, 8,162, 13,223,243,209,104,234, 22,148,199, 96, 33,136,239, 66,158,231,162, 74, 42,107, 80, 90,206,138,180, 87, 69,
- 41,241,126,183, 54, 2,223,187, 24,182, 29,193, 24,130,119, 56, 15,179, 98, 38, 90,123,231,208, 90, 17,153, 8,173,229, 29, 44,
-138, 2,165,165, 64,109,218, 22,107, 12,202,104,217, 67,190,143, 82, 86, 10, 3,248, 32,234,161,186,105,240,190,219, 15, 8,114,
-174, 5,175,168,219,154,186,110,241,248,158,103,208,107,199,219, 86,172,208,179,132,174,237,208, 70, 9,233,206,119,194,245,242,
-129,166,173,169,234, 26,143,100,146,212, 85,141,239,156,248, 7, 68,113, 79,178, 53,100, 89, 70,211,180,251,168, 5, 94, 46,117,
-239, 61,218,168,254, 61,172, 17,137,184, 34,141, 34, 65, 68,230, 37,174, 31, 3, 39,177, 52,171, 16, 48,103,238,189,247, 95, 4,
- 68,170,211, 57,135, 65,161,140, 84, 64,131,129,196,211,165,105, 74, 28, 9,115,213, 40, 67,156,198, 68, 61,227,218, 88, 75,221,
- 84,168, 32,155, 1, 37,158,194, 62,132,158, 36,213,146,101, 41,105,154,146, 38,146, 65, 94,204, 75,226, 36,162,174,106,134,163,
- 33, 74,107, 36, 8,165,235, 9,107, 2, 43,196,113, 34, 17,166, 94, 98, 97,211, 36, 37,142, 83,210, 36, 66,161, 41,155, 18,107,
-236, 62, 60, 35, 95,166,196,126,182,141,176,238,187, 78, 14,170, 16, 2,113, 26, 67,128,186,105, 48,214, 96, 35, 43,158,240,229,
- 28, 81, 28,123,241, 38,118,142,208,121,240, 14,237, 29,161, 19,153, 86,232,187,249,206,181,189, 60,164, 55,127, 25, 14,101, 19,
- 26, 35, 5,143,213, 68, 86,152,142, 77, 93, 19, 69, 49, 74,137, 29,224, 96,144, 17, 69, 9,157,151,248,215,170,239, 32,247,204,
-253,247, 42,225, 56, 21, 8, 81,136, 38, 34,111, 51, 70,147,196,169,144,141, 98,201,180, 79, 83,145,236,165, 73, 74,146, 36,189,
-247,179,140, 13,186, 32,210, 15,109, 35,154,170,162,115,142,186, 44,169,189,167,154,205,228,231,151,194,102,199, 43,218,182,166,
-169, 36, 26,208, 70, 18, 0,163, 8, 88,107,137,226,132, 56, 22,103,184,124, 56,144,240, 25,160,173, 91,140, 49, 12, 70, 67,234,
-174,193,117, 45, 73,146,226,188, 16,240, 58,215, 71,106, 58,199,133,227, 41,255,250, 23, 14, 99, 38,115, 56,182, 64,245,230, 29,
- 94,248,246, 77, 50,173,216, 94,157, 50,155, 87, 28, 61,177,204,247, 46,111,177,180, 52, 96,101,101,140,153,149,160, 3,211, 54,
- 80,151, 29,149, 3,213,182,140,148,112, 54, 34, 99, 88,157, 52, 52, 65,225,234,150, 93, 63, 38,189,231,126,234,170,226,157, 43,
-215,248,192,143, 60,206, 7,158,124,140, 98, 94,226, 93,160,238, 90,118,103, 83,222,186,114,141,111,188,242, 61,246, 36, 88,214,
- 90,238, 59,125,138, 7, 46,156, 35, 73, 18,118,119,119,249, 87,255,230,255,228,202,141,219,156, 63,125,146,251,207,223, 75,192,
- 99,148, 34,142, 4,177,168,155,150, 14,241, 82,104,157,239,173,122, 21,119, 55, 54,248,198,183,191,207,139,175,124,143,186,172,
- 9,192,210,226, 2,207, 60,245, 4,239,125,244, 81,178, 76,120, 42, 85, 83,115,227,246, 93, 46, 95,191,201, 75,175,124,247, 93,
- 76,121,173,224,211,159,248, 40,255,248,151,255, 22,239,185,112,158, 73, 49,163,110, 91,108, 47,169,116,125,199,123,103,109,131,
- 83, 39,238, 97,105,113,196,180, 40,122,111,111, 56,127,246, 20, 63,250,212,147, 92, 60,127,142, 3,203,139, 12,178, 92,242, 17,
-162, 72, 56, 22, 73, 66,150, 74,108,234,158,146,165,109, 91,202,170,198, 7,233, 26,246,238,203,189,121,252,193,165, 5,214,182,
-119,184,210,203,230, 66,240, 60,250,192, 69, 30,121,240, 1, 78, 29, 59,194,193,149,101,210, 52,161, 44, 43,138,249,156,121, 15,
-203, 14,178,108,191,224,126,227,210, 85,254,224,249, 23,248,245,255,240,255,112,249,218, 77,218, 31, 58,204,146, 52,230,239,255,
-226, 95,166,110, 26,214,183, 39, 60,253,196, 35, 44, 12,135,100,105,198,242,226, 2,198,104, 94,123,251, 10,191,245,249, 63, 96,
-123,103, 71, 84, 8, 63,180,100,188,165,176, 81,196,218,198, 38, 31,121,250, 71,120,232,220, 73, 62,118,246, 24,238,190,251,249,
-239, 46,223,226,208,217,247,242, 96,125, 31,201, 84,177,182,170,112,217, 14,167, 79,125,152,144,237, 98,188,103,102,103,220,252,
-146,225,131,127,238, 32,241,131, 67,110, 60, 55,161, 93,154, 83, 77,230, 56,213,144, 44,150,164,151,207,112,225, 17,195,135, 62,
-212,224,142,196, 68,163,130, 11,196,220,104, 18,166,135,119, 89, 63,152, 18, 94, 87, 84, 46, 80,236,108,179,122,231,219,188,241,
-234, 27, 92,237, 46,112,241,169,132,197, 92,116,205,101,168,153,105,199, 36, 41,113,183, 50,254,248,181,127,205,179,255,232,103,
-249,204, 63,120,130, 79,254,149, 31,225,195,207, 46,112,236,147,247,112,248,201, 71, 97,235, 46, 69, 50, 38, 73, 34, 54,190,163,
-216, 90,187, 75, 61,223,160,169,119, 41,231, 59,120, 61, 97,178,118,139, 60, 62,135,243, 80,206,215,152, 78,110, 81, 79,111,147,
-100, 53,199, 31,188, 72, 51, 47,209,113,202,241,135, 31,129,106, 78,181,185, 73, 20,217,126,174, 30, 75, 33,215, 27,103, 69,145,
-216,128,167,169,152, 7, 89,109, 8,136,219, 28,200,236,121,255,115, 55,154,160,250, 4, 51, 39,100, 94,101,164,136, 52, 86, 20,
- 20,109,235,228,255,137, 13, 6, 69,219, 73,167,158,246, 42, 31,231,189, 52,110,173,116,247,243, 66, 92, 69,155,174, 33, 77, 82,
- 68,242, 41,217,237, 98,101, 43, 92,173,178,148,200,227,170,174,136,172,149,182, 81, 9,135,165,235, 58,178, 60,199, 70,194,214,
- 55, 61,226, 36,169,107,209,126,179, 97, 35,131,247, 10,163, 85,175, 58, 82, 52,181,152,236, 24, 43,114, 57,171, 34, 90,223,137,
- 52,218,121, 76, 18, 99, 35,205,222,172,187,109,228, 50,175,234,154, 36, 75, 9, 65, 92,245,140,214, 40,132, 7, 16,199, 17, 1,
- 25, 71,181,173, 52,181,194,115,242,196,169,248,181, 40,163,247, 97,255, 44, 77, 81,202, 96,180,218,127,223,172, 86,116, 72,234,
-169, 60,127,140,115,162,100,144,239,197, 98,147, 36, 37,215, 18, 0,162, 80, 44, 46,141, 49, 38, 66, 43,153,243,213,243, 10,175,
- 68, 42,224,189,124, 96,174,233,112,157,216, 96, 58,231, 48, 74, 30,102, 54,155, 74,133, 20,196, 57, 43,201, 36,242,179,170, 29,
-145,145,206, 34,138, 98, 70,227,177,200, 8,140,103, 94, 86,242,133,181,142, 44,143,161,131,166,110,100,134,216,182, 68, 73,132,
-213, 25, 93,215,201, 37,210,212,251, 29, 82,150,231, 76,167,194, 72,175,235, 90, 36, 56, 74,114,202,199,227, 49,206, 57,118,118,
-118, 72,123,187, 85,215, 58,130,250,255,168,122,211, 88,203,178,243, 60,239, 89,107,237,241,204,247,222,170, 91,195,173,169,107,
-232,170,174,234,169,186,155,205,166,154, 51, 41,153,163, 72, 73,212, 96,203,176, 4, 7,177, 29, 72, 78,144,252, 9, 18,248, 7,
-129,196, 72,144,193, 1,108, 35, 65, 16, 40, 48, 98, 8,134,172,216,146, 40,137,164, 68,138,115,179,155, 61, 86, 15,213,213,213,
- 93,243,116,231,225,140,123, 90,123,173,252,248,246,189, 98, 14, 80,232, 31, 85,125,207, 61,231,236,179,215, 90,239,247,190,207,
-235, 64, 41,108, 89,225,195,128,186, 42, 9, 7, 61, 92, 86,224, 74, 7, 65, 64,171,215,199, 40, 24, 77,167,248,218,162,146, 0,
-109, 66, 18, 99,168,112,152, 70,194,156,102, 2,194,137,162,184,201,125,202,236, 85, 16,185, 51, 64, 19, 54, 52, 34,235, 28, 74,
- 5,140,199, 51,210, 52, 33, 48, 10, 23,199,146, 55, 71,129,119,114,234,243,224,113,148,121, 37,198,140,170,196, 4, 34,137,197,
- 73, 66, 85,228,228,121, 73, 18, 71, 68,145,180, 8, 69, 97,140,199,145,101, 57, 38, 12,168,242,146,218,215,205, 13, 53,145, 11,
- 93,107, 58,105,202,120, 58, 69,141, 70,224, 61,114,165, 75, 75, 26, 85,137, 52,255, 90,146, 48,197, 4,187,108,255,148, 34,207,
- 69, 66, 85, 96, 66, 41,127,241,181, 72,242, 50, 27, 50,148, 85,221,176,255, 97, 60, 25,209,105,119,154, 83,167,195, 53,114,214,
-239,127, 34, 37, 24,213,248, 78,194,242,207,110,242,131,159, 92,167,221,107, 99,125,205, 96,177, 67,105, 45, 87,223, 91,163,104,
-165,220, 29, 23, 20,171, 83, 86, 55, 11, 58,113,128,179,142, 35, 7, 98,110,109,207,232,104,197,194,254, 30, 53, 10,159, 89, 22,
- 18,184, 55,181,168, 72, 49,216,183,159, 52,137,121,225,229,183,248,214, 15,126, 76, 81, 85, 92, 56,115, 70, 12,109,174,198, 57,
-145,165, 23, 6, 18, 15,219,108, 28,220, 71, 15, 31,226,196,177, 35,180,211,148,178, 42, 57,184,127, 31, 23, 31,189,192, 31,253,
-249,183, 64, 41,110,221,189,195,225, 3, 7,161,149, 48,153, 73,254, 31, 64, 21, 18,107,195,139,185, 76, 43,205,202,218, 6, 63,
-125,245,181,255, 95,101,168, 54,154,135, 79,158,216,203, 89, 59, 47,204,248,126,167, 77, 20, 73, 86,251,231, 31,231,206,156,166,
-211,110,113,127,121,149,125,131, 30,175, 93,126,151,141,205, 33,167,142, 31,225, 19,207,125, 72,190, 99, 78, 72,135, 63,124,241,
-103,188,252,246,187,236, 52, 6, 59,231,225,221,171,215, 56,125,228, 8, 79, 94, 56, 71, 18,202, 6, 51,138,130, 61, 37, 64,164,
- 86,185,161,238,150,108, 84,181,100,155,173,149,215, 81,217, 10,101, 26,185,213,123, 94,121,251, 50,183,126,238,100,125,246,212,
- 67,156, 58,113,140,162, 40,216,254,185,134,187,105,150, 81,215, 53, 73, 20, 17,104, 77, 85, 21,108,108,101,220, 91, 89,227,218,
-205, 91, 76,178,156,162,170, 25,142,199,164,105,202, 63,249,237,223,224,238,131,101,126,242,202,235,196,105,204,210,225, 67,252,
-250, 23,127,145,118, 75,188, 42,157,118,139,241,120,202,226,226, 2,199,143, 28, 2,239,246, 16,186, 63,255, 8,130, 64, 22, 27,
-239,152,235, 47, 48,151,134,252,183,191,243,219,252,171, 91,247,248,118,112,138,207,252,234,111,208,115,112,184, 5,151,223,208,
- 60,244,249, 37, 6,219, 31,229,208,103, 15,243,157,127,209,197,219,159,225, 70,235, 12, 55,127,196,255,240,191,124,136, 47,253,
-151,158,135, 31,254, 36, 55,236, 79,169,247, 77,201,242, 49,107,179,235,164, 75,251,137,151, 31,231,210, 56,161,211,181,188,243,
- 39,109,190,240, 21,207, 91,225, 20,187,222, 39,177,158,173, 20,220, 20, 50, 63, 69,123,205, 35,207,126,137,131,189, 46,243,139,
- 21,181,106,209,242, 51, 22,116, 76,225,193,228, 49,171, 78, 17,110,244, 41, 94,200,104,253,122,139,162,140,217,140, 50, 92,165,
-176,151, 60,213,214, 1,174,127,235, 18,118, 27, 86,183, 53,206,230,148,217,144,186,154, 82,102, 19,170,157, 21, 58,189,148, 90,
-205,176,211,154,188, 24, 83,229, 59, 84, 46,103,231,218, 10,161, 43, 8, 90,210,152,166, 12, 28,255,212,167,241, 42, 96,227,221,
-119,176,174,162, 46,228, 32,161,140, 34,159,230,120, 60,113,146,160,117, 64,150, 77,240,181, 44,122,104,129, 70,201, 88, 77,174,
-165,186,150,150, 48,165, 20, 69, 89, 99, 66, 69,164, 3,156,134,160, 33, 71,186,154,166,161,173,148,195, 71, 16, 82,185,154,172,
-200, 8,117, 68, 24, 5, 88,229, 8,131,128,241,112, 72,156, 36, 40, 20,237,118, 87, 24,236, 74,137,209, 52, 47,136,162, 4,144,
-231, 47,138, 98,207,109, 63, 28,142,196,165,239,133,103, 16,132,162,176,230,121, 69, 24,106,134,195, 17, 73,146, 48,155,137,170,
- 27,198,205, 56,203,104, 90,105,194,116, 60, 38, 43, 10,226, 36, 38,140, 35, 57,189,123,161,235, 69,122,215,104,106,137,211, 72,
-154,219,208,120, 95,211,110,181, 41,109, 9, 78, 99,156, 69, 41, 41,220,154, 85, 5,210,178,230, 1,143,247, 10,188, 71, 7,162,
- 16, 79,167, 83, 60,158, 52, 73,246, 20, 68,175, 60,206,122,218,237, 20, 91, 8,152,199,123,143, 64,104, 68, 97, 11,189,167,174,
-196, 67,146,166, 41, 65,144, 80, 22, 2, 61, 83, 90, 17,136,105,172,102,126,110,110,239,201,140, 17,204,158, 54,134, 36,149,156,
-180, 2, 20, 34, 21,214, 86,161,226, 64,226, 9,214, 33,155, 54, 37,174, 7, 45,192,211,201,120, 76,145,231,180,187, 29, 66, 19,
- 48,203,102, 40, 20,181,243,141, 99, 82, 62,112,173,161,180,130, 67, 45,242,130, 86,218, 34,203,103,212,153, 84,139,182,187,109,
-177,235,231, 57,161,145,211,105, 68,136,245,142,233,108, 74,156,164, 68, 70,227,148,107,230,214, 70, 22,237, 74, 98,119,237,118,
-155,162,144, 17,128, 49,130, 59,245, 74, 73,169,188,243, 12,230,230, 41,203,130,202,123, 76,171, 77,191,211,145,211,184,149, 66,
- 13, 19,134, 13,152,223, 54, 51, 73, 8,146,132, 26,168, 93, 77,167,221, 2,106, 84, 24,144,132, 9, 14,135,171, 4,177,106, 66,
- 67, 62,203, 81, 72, 37, 95,171,213, 34, 43,144,153, 75, 32,241,191,178,170, 4, 14,225, 20,179,166,155, 61,138, 18,234,186,162,
-214,154, 94,175, 39,239,151, 82,120,231, 24,141, 70,236,214, 83,182,124, 10, 94,177,189,189,141,115,130,156,149,249,167, 35,136,
- 34,140, 87, 84,149, 37,136, 34,162,184,201, 92, 55, 55,110,226, 24,202, 18,156, 5,235,113,117, 13, 90,163,125,205,116, 60, 69,
-199, 82,172,209,233,180,136, 91, 45,138, 60,167,246, 66,140,195,203,162, 48, 30,143,201,139,130, 36, 77,165,205,205, 86,152, 32,
-160,219,238, 50, 28, 15,137,130, 0,175, 21,173, 40, 37, 12, 20,199,146, 16, 52,168,194,241,198,219, 43,244, 15,116, 49, 24,230,
- 83,195,212, 91,236,250,136,238, 92,151,253, 70,177, 98,165,134,176,172, 42,124,172,137, 59,154,237,202,177,216,142,104,121,199,
-129,195, 3,148,175, 25,205, 42,214, 39, 5, 40, 71,156, 24, 14, 28, 62,202, 95,189,248, 50,127,252,231,127,201,234,198, 38,115,
-189,110, 35,185,149,148,149,197,213,150,173,225,136,247,110,220,100,123,231,111, 43, 61, 15,236,155,163,215,105,145,103, 37, 30,
- 89,164, 55,119,134, 56,231, 24, 78, 38, 28, 90, 60, 64, 96,116, 67,135,146,215,175,180,240, 0,234, 90,230,208, 89, 94, 16, 69,
- 1,251,231,230,248,248,115,207,240,234, 91,239, 74,129,145, 82,204,117,187, 28, 95, 58, 4,138, 70,222,182, 24, 19,178, 49, 28,
-241,202, 27,111,178,186,182,206,207, 63,214, 54,183, 88, 93,223,228,232,210, 18, 89, 89, 17,152,128,183,223,123,143, 31,191,252,
- 50, 65, 16,240,216,185, 51, 84,182,230,237,119,175, 10,229, 80,137,167, 65, 43,120,236,225, 51,124,229,115,159,225,216,225,195,
- 24,165,152, 21, 57,117, 19,195, 83,205,185, 88, 41,201,196, 58, 39,114,170,173, 69,213,170,172,148, 89,224,100,196,166,148, 66,
-149, 21, 31,220,184,201,194,160,223,196, 67,229,241,236,147,143,243,200,169,135, 72,226,132,218,213,123,244,183,221,140,127,191,
-219, 38,137, 19,194, 64,138,105,130,181, 13,174, 92,187,201,207, 46,189,185,247, 51,178, 44,227,245,203,239,242,143,254,238,111,
-208,237,116, 41,202,138,115,167, 78, 48,156, 76,169,109, 77,146, 36,236,159,159,227, 39,175,190,206,127,247, 47,255, 15, 62,250,
-236, 51, 66, 96, 12, 4, 39, 90, 86,146, 32,208, 90,203, 38, 34, 8, 56,123,242, 56, 39,143, 28,230,183,158,125,148, 63, 88,219,
-230,221,197,231,249,252, 83, 79,241,181, 1,252,137, 85, 96, 70, 92,157,188, 69,111,249, 34,203,179, 0, 51,132, 36,254, 8,203,
- 27,223,165,123,120,145,104,238, 41, 30,188,251, 45,254,244,159,127,140,143,255,126,155,163, 47, 61, 79,112, 36, 96,109,120,131,
-233,120,147,187, 15,126,138, 58, 81, 48,254,246,121, 78,253, 90, 27,245, 17,120,153, 9,199, 49,220,222, 55, 68,189, 50,192,110,
-123,214, 86, 87,184,121,245,155,116,187,199,120,254,107,135,184,252,141, 26,151,133,180, 91, 50,103,173,128,241, 78,200,164,242,
-204,214, 21,249, 84,115, 96, 95,202,198, 79, 61,135,159,243, 82,217, 25,230,232, 15, 39,184, 91, 26, 55,105,161, 30,186, 77,118,
-231, 3,182, 87,161,182, 83,202, 98, 19,197, 22,170,220,102,233,244,211,180,188, 98, 56, 27, 82,230,219,104, 95,163,169,153,236,
- 76, 48, 58, 32,216,127, 1, 51,155, 50,219,186,134, 41,106, 78,127,230,211,100, 91, 27,108,221,190,133,197, 66, 73, 99,242, 18,
- 80, 77,228, 61, 89,150, 19,234, 16,111,100,228,163,188,172, 3, 90, 43,130, 72,218,206,112, 30, 33, 94, 66,171, 45, 17,174,170,
-217,244, 87, 85, 73,237, 61, 97, 24, 0, 6,231, 5,111,154, 91, 75, 16, 70, 40,165, 41,203,156, 98, 55, 69,233, 37, 30, 7,226,
-135,210, 70,209,233,244,152,101, 51,180, 21, 21,160, 40,132, 88,167, 3,213,156,180, 67,146, 56, 98, 50,153, 82,149, 21,131, 65,
- 95,212,138,188,108, 64, 93, 33, 98, 51,145,180,142,110,174,187,162,144,126, 13, 81,121, 51,226, 84,224, 76,211,233, 12,188, 36,
-120,146, 52, 37, 14,165,232,198, 24, 67, 18, 39,104,165,153, 76,166,120,239,136,195,144, 56, 77, 8,116, 32, 41, 40, 15, 85, 81,
-162,180,168, 2, 74, 25,140,169, 9,180,192,194,148, 18,192,151,242,158,184,149,160,240,100,179, 76,156,241,113, 72, 89, 57,116,
- 68,163,214,166,204,242,137, 28, 24,172, 0,107, 64, 73,143, 74, 16,160,117,192,184,241, 71,116,187,109, 64, 24, 48,230,161, 51,
-103,190,222, 74, 99,116, 20, 80,219,166, 61,167, 16, 70,174, 45, 45,227,241,136, 60,207, 49, 90,203, 34, 26,135,104, 35, 11, 71,
- 86, 22,164,137,104,249, 85, 85, 82,213, 22,235,100,151, 47,243, 22, 1, 14,104, 52, 73, 26, 19,199, 9, 26,141,214, 30,163,164,
-118, 51,142,147,189, 57, 77, 24,134,248,210, 50,157, 77, 37, 75,238, 29, 69,150,147,101,210, 68, 83, 86, 37,202,104,180, 50,104,
- 45, 50,168, 81, 26,175,197,136,230,125, 3, 9,177, 53, 56,203,116, 58,145,216, 89, 96,240, 90, 34,105,114,129,133, 36,105, 74,
-218,106,161,209,130, 3, 12, 3,186, 29,169,199,139, 34,233,140,175, 75,185,240,226, 56, 34, 8,197,172, 22,197, 82, 95, 42, 25,
-118, 40,138,146,170, 20, 28,161,245, 78,162, 25,174,166,211,105, 19, 24,105, 84,139, 99,145, 97,156, 23,127, 64, 24, 4, 12, 71,
- 35,138, 82,164,156,178,148,190,245, 60,147, 29,114, 59, 77,165,117, 14, 57,205,149,133,244,203,187, 38,215,168, 43,137, 0,162,
- 20,210,107,111,169,189,163,174, 45, 81, 20, 82, 90,233, 10, 54,129,220,194,203,170, 32, 52, 1,217,108,134, 43, 75,112, 78,200,
-111,200,226,132,131,164, 97,144,123,231,240, 10,218, 29, 49, 79, 41,173,165,231,216, 9,121,202, 89,105,233,114,222,211,106,181,
-196,163,160, 20,217,108,134,215,178,153, 42, 43,193, 83, 86,101,133,242, 96, 93,141,114,150, 95, 28,204,232,183, 67, 70, 43, 27,
-172,110,103, 92,190, 61,100, 33, 9,248,204, 87, 47,114,237,210, 29, 90,161, 66,185, 26,141,167,152, 9,111,252, 55, 63,247, 4,
- 79, 62,114,152,160, 42,184,180, 81, 48,208, 80,100,150,253,139, 29,214,134, 25, 87,223, 93, 33, 9, 20,251,186, 9,105, 89,177,
-239,153,207,147,121,153, 29,223,190,191, 76,150,229, 92,124,244,188,220,104, 42,139,117, 53, 97, 24, 96,109,205,234,250, 22,195,
-241,152, 36, 73,120,244,220,195,180,211,132, 52,137,153,229, 5, 87,174, 93,231,238,253,101,134,147, 9,157, 52,101, 99,123,167,
-185, 38,197, 23, 33,134, 54,217,160,218,170, 34, 47, 42,102,179, 25, 97, 16, 96,157,227,237,171, 31,176,186,182, 78, 43,141,233,
-245,186, 92,188,112,142,135,142, 29,193, 24,131,171, 93,227,124, 23,185,238,206,253,101,150,215,183,104,110,107,128,196,129,246,
- 45, 12, 88, 58,120,128, 99, 71, 14,242,228,249, 71, 88,152, 27,176, 51,154,176,188,182,206,160,221,161,149,198,164,105,139,155,
-247,238,115,227,246,109,106,231,152, 27, 12,216, 55, 47,115,237,253,243,115,196, 81, 36,167,128,102, 3, 89,213,174, 25,171, 64,
- 16, 72,148,169,174,101,246,184,203,249, 14, 67,169, 84,149, 58,224, 12,175, 60, 63,126,245,117,254,227, 55,191,203,221,101,193,
-215, 62,117,225, 28, 79, 63,254, 40,131,110, 71, 70, 1,205,168, 75, 33,210,103,175,211,226,228,209, 37,230,251, 61,217,144, 7,
-134,215,223,124,135,245,237,109,225, 86, 52,180,195,135,142, 31, 37,208,134,253,115, 3,158,188,112,142,178, 44,200,203, 10,156,
- 35, 77, 98,226, 40, 38, 12, 3,150, 14, 30,224,219, 63,124,129,191,248,238,247,153,204,102, 20,101, 69,191,223, 99,105,113,145,
-173, 29, 49,115, 42, 5,157, 78,139,165, 3,251,248,239,255,254, 47,243, 29, 23,242,103,171, 37, 15,151,191,198,129, 68, 49, 60,
- 0,104,184,185, 12,107, 63,140, 56, 50,183,143,216, 5,220,248,171, 7,172,221,124, 13,142,239,112,240,228,195,156, 59,244, 5,
-206,124,248, 12,151, 95,251, 17,119,223,128,197,191, 51, 71,111,115,137, 96,120,136,120, 62,199, 71,154,113,182, 69,181, 48, 98,
-188, 81,114,124,255, 2, 73,187,224, 21, 66,222,186,222,230,254,223,192, 91,175,254,136,123,215,126,138,241,134,231,191,242,187,
- 12,239,193,213, 55, 94,228,200,147, 71, 8, 59, 83, 20,158,150,138, 25,221, 11,248,224,167,240,226, 75, 63,196, 5,251,249,248,
-239,205, 83,119, 35, 76, 58,166,174,218,228,111, 5,108, 41,207,240,186,165,202, 55,176,227,140, 96,223, 42, 97,125, 0, 19, 44,
- 16, 39,154, 32,210,116,250, 7,233,117, 79, 17, 31,177,148,163, 25,217,108,140,181, 5,206, 91, 66, 3,243,135,218,116,118,158,
-160, 51,137,184,249,102,201, 68,223,199, 79,199, 12, 78,156, 32,223,222,193, 78, 38,236, 22,249, 24, 19,162, 60,104,163,168,189,
-148, 13,129,108,214, 0,188,149,186,103, 87, 75,226,105,214, 44,144,202,123, 60, 66, 80, 11, 76,128, 86, 30,191, 27,142, 80,186,
-249, 33, 30, 95,203, 38, 76, 27,133,243, 18,219,149,222,247,148,162,144,197,180, 44, 69,165, 85, 14,208,134, 36,137,241,202,131,
-115,114, 64,177, 53, 56, 47, 5, 69,222, 55, 99, 89,241, 17,121,239, 69,149,171, 42,156, 83,196,113, 66, 24, 6, 77, 68,204,130,
-210,178,126, 68, 50,142,202,139,138,218, 85,212,181,124,143, 59,173,142,156,182, 93, 77,171,149, 96,109,133,148,188, 72,229,112,
- 16,232,189,145,148, 54,138,241,100, 2, 90,206, 71, 26, 5, 10,194, 88,126,159, 56, 22,178,163, 54,186,153,127, 75,115,157, 9,
- 4,218, 86,149,149,252, 61, 74, 76,126, 97, 40,108, 19, 68,110, 79, 98,241, 22, 24, 99,192, 75,218, 76,107, 69, 89, 74,115, 98,
-104,196,171, 85,150,229, 30, 9,214,156, 57,247,200,215, 77, 24,201, 41,220, 57, 38,179, 9,206, 59,202,178, 36, 47,114,234,186,
-217, 85, 86,226, 22, 47, 75,105,185,153, 76, 38,242,161, 54, 50,155, 68,186, 12,187,185,228,162, 44,247,130,249,129, 49,212,206,
- 99,140, 97,150,101,224,100,190, 93, 85, 21, 97, 28,224,107,133, 87, 14, 85,215,140,198, 35,148,247,180, 58, 29,130, 64, 78,106,
- 74,203,233,219,215,150,162, 40,201,203, 2,213, 48,199, 37, 78,209,100, 34,203,146,217,108, 74, 62,203, 40, 10,121,209,165,173,
-132, 58,132,194, 4,242,187, 77,167, 83,164,194, 46, 0,133, 20,164,152, 6,220,111, 52,101, 85,237, 93,152,187,109, 82,182,150,
-147,127, 24, 72, 78,191,215,235, 34, 99,134,230,228,163, 27,102,178,247,205,191,147,114, 14,107,197, 36,231, 61, 76,178,169,176,
-174,157,144,149,148,214, 34,189, 34,181,125,222,123,210, 36,197,132,134,217,108, 70,183,221,197, 3,133,173,152,141, 39,100,121,
-142, 49, 1,212, 22,175, 37, 74,166,144, 44,111, 89,138,145,194,218,122, 79,161,136,227,152,233,116, 38, 6,168, 66,124, 5, 38,
-208, 96, 12, 38,140, 9,210,148,164,211,161, 86,154, 42,203,209,157, 20,103, 29, 73,183, 39, 78,205, 64,162, 44, 73,154, 74,227,
- 90,158, 33,228, 35,143,173, 36,166, 86, 89,139,210, 82, 18, 83,217,154, 64, 75,157,163, 9, 52,214,137, 99, 94, 42, 32,107,190,
-252,108,143,254,129, 46,223,250,246, 59,204, 47,244,184,183, 57,230,203,207,157,128,201,140,247,111,109,227,203,138,153, 87,220,
-220,156,225,188, 32,130,215, 39, 5,104,205,141,229, 9, 3,155,115,122,169, 79, 61,155, 49, 28, 22,244,230, 90,140,119, 50, 86,
-103, 37, 65,229,136,181,162,117,225, 19,188,248,230,101,254,248,155,127,205,252,160,199,151, 62,243, 73, 14, 31, 88,100,151,230,
-167,144,108,249, 44,207,184,245,224, 62, 27,155,219, 88,107, 57,184,111,158,179,167, 30, 34, 8, 67,226, 32,164,219,233,240,199,
-223,252, 43,105,109,235,117, 57,118,228, 16,221,118,202,129,197,253, 50,122,153, 78, 24, 78,166,220,185,191, 66, 86,136, 95,193,
-121, 79,175,219, 97,115,123,139,239,253,228,103,172,111,111,147,198, 9,135, 15,238,231,212,241, 99, 28, 59,124, 24,239, 61, 69,
- 41,209, 22,219, 48, 6, 14, 44,238,103, 52,157,176,186, 46, 13,103,199,150, 14,243,249, 79,125,140,103, 30,127,148, 67, 7, 22,
- 89,152,235,147, 21, 5,255,219,255,245,111,200,242,156,163, 75, 75, 28, 91, 58,140,209,154,237,209,152,235,183,110,115,127,101,
- 21, 91,215,116,219, 45,206,157,122,136,163,135, 15, 50,215,239,129, 19,112, 78,101,107,234, 90,230,150,182, 81,126, 52,138,210,
-138,169,115,151,190, 21, 26,197,234,218, 22, 47,188,254, 6, 87,222,191,206,149,107,215,177,117,205,161,253,251, 57,251,208, 9,
-214, 54, 55,169,107,199,115, 79, 63,205, 99,231,206, 16, 24,217, 32,217, 74,148, 29,163,164,254,114,208,239, 73,140, 21,207,234,
-198, 54,255,246, 63,252, 41,255,230,255,253, 51,238,220, 95,102, 50,157, 17, 6,134,231,159,190,200,243,207, 92,228,217,139, 79,
- 64,179,153,181,206, 51,153, 76,232,180,219,244,186, 93, 60,158,209,120,194,189,213, 53,250,157, 54, 63,187,244, 22,213,110, 66,
-192,123,142, 46, 29, 34, 77, 83,182,119,134, 98,160,237,118,248,236,227,103,217,234,205,243,205, 97, 70, 84, 36, 76,111,107,182,
-239, 47,113,245,199,158,236,148,226, 59,255,254, 15, 9,182,247,211,155, 91,160,172, 60,183,238, 94, 98, 52,190, 67,188, 56, 97,
-188, 60,226,206,235, 43,100,197,113,242,241, 3, 30,188,255, 93,238,190,188, 65,101,143,209,159,235,227,215,207,208, 46, 33,218,
-111,176,120,108,107,192,202,104,139, 27,203, 14, 59, 12,233,245, 99,202, 53,203,233, 71, 78,208, 57, 56,199,133, 95,120,158,227,
- 71, 34,146, 8,198, 27, 41,163, 97,135,217,193,136, 95,107,197, 76,112,124,227, 79, 52,111, 92,186, 11, 65,206, 39,190,252, 97,
-186,251, 67,204,251,176,176,148,176,229, 32, 75, 97,250,130, 98, 56, 41,168,171, 29,242,108,139, 48, 29,113,242, 23,158,224,226,
-135, 63,199,209,207, 29,226,224, 19,251,104,157,156,199, 7, 53,238,190, 37, 78, 2,230,207,247,177,227,138,170,128,168,189,128,
- 26, 56, 54,163, 91, 20,203,143,177,121,191, 98,251,238,123, 84,106,136,159, 77, 89,122,246, 25,182,174, 94, 97, 50, 26,137, 41,
-205, 89,185, 15,150, 21, 6, 3, 22,172,171,168,170, 26,165,164, 27,195,163, 48,161,134, 26, 92, 45,157,226,182, 22,130,167,119,
-205,162,229, 64, 25,137,108, 90,219,116,154,135, 17, 74,215, 56, 47,240, 42, 87, 53,184, 86, 91, 19, 68, 33,117, 45,133, 38,218,
-232,189,131, 80, 28,133,228,147, 25,179,188, 32, 48, 1, 85, 85, 80, 53,255, 95, 20,202,166, 53,142, 34,198,227, 9,121,222,204,
-216, 51, 89, 3,234, 90, 82, 44, 97, 96, 8, 76, 36, 92,252, 40, 66,123,133, 50, 13, 22,188,150,181, 41, 10,197, 68,237,189,195,
-104, 57,196,149, 85, 51,106,118,194,166,168,172, 69, 35,233, 47,163,204,222,127,193,239,213,203,134, 97, 76,153,231,212, 78, 42,
-107,165,233,209,163,181, 33,203,164,193, 52,108,140,163, 82,234, 21,131, 17,229,204, 4, 70,242,247,181,197,122, 79, 85, 20,242,
-157,173,229,253, 83, 70,148, 18,165, 52,214, 89,108,237, 9, 66,131, 9, 3,148,147, 81,160, 89, 58,118,226,235, 69,145, 19,134,
- 49, 40, 71,158, 23,164, 13,183,217,123,121,177, 90,107, 90, 73, 66, 20, 5, 72, 78, 27,145,147,227,152, 64,129, 50, 1,149, 45,
- 68, 18, 78, 91,224,161,104,192, 15, 50, 91,118,196, 97,132, 87, 98, 22,168,172,184, 0,165, 5, 39,100, 50, 25,145,207,114,202,
-186,196,150, 21,157,118, 27, 19,134, 4,141, 81,193,107,232,164, 41, 69, 51,255, 52, 81, 64, 49,203, 68,218,177,210, 78,100,243,
-140,170,201, 74,107, 32, 76, 82,130, 56, 70,225,155,185,134,212,199, 22,101, 9, 74, 19, 39, 82, 50, 83, 85, 5,121, 33, 51,232,
-178, 42,197, 48,104,119,111,124, 80, 86, 2, 47, 8,162,160, 57,101,213,180,218,109,170,178, 38,142, 2,210, 86,139, 56,142,155,
- 2, 16,217,193, 69, 81,132,243,142,172, 1,236, 72,150,208, 51,157, 78, 4,195,155,151, 24,221,196,205,162,144, 36,149,156,125,
- 89, 21,104, 37, 13, 62,237,118, 7, 5,242,193,149, 2, 62, 1,192,137, 73, 35, 10, 67,186,221, 30,222,123, 81, 26,180,166,223,
-235, 18,133, 33,237,118,151, 48,138, 80, 10,170,178,196,123, 49, 17,117,250, 93, 58,237, 46,105,171, 37,207,153,196, 24,109,228,
- 2,196,131, 54, 40,165,105,183, 90,164, 73, 10, 26,170,186, 66,225, 65,137,179,223,215,210,195, 12, 50,234,240,174,150, 25,123,
-115,130, 53, 70,240,179, 66, 89, 42, 49, 74, 83, 21, 83,254,155, 47,245,121, 60,180,176,145,113,249,218, 42,195, 89,129,213,138,
-143, 94, 56,204,247,222,188,207,201,135, 15, 50,153,214,220, 94,159, 98, 13,180,250,109,250,174,198, 87,142,235,247,182,137, 93,
-133,113,138,220,107, 58,237, 20,172,229,193,118,198, 86,229,232,167, 33,157, 36, 96,234, 19,122,103,159,101,115, 52,229,131,155,
- 55, 89, 94,219,160,221,105,115,238,212, 67, 36, 81,140, 86,138, 86,154, 18,133,210, 68,183,182,190,197,253,149, 85,156,115,124,
-244, 67, 79,209,235,118,105,181, 82, 6,189, 46, 55,239,223,231,123, 47,188, 4,192,230,246, 14, 59,195, 49,199,151, 14,146, 38,
- 9,105,154,176,185,181,205,139,175,191,197, 7, 55,110,177,185, 61,100,126,208,103,190,223, 39,137, 99,198,147, 25,235, 91, 91,
- 18, 25,107, 37,100,121,206,161,253,251, 56,182,116,152,202, 86,148, 85,197,100, 58,227,214,253,251,124,255,167,175,240,237, 31,
-252,152, 59,247,238,237,157,211,135,227, 49,235,155,162, 34,180,211,148, 51, 15,157,192,104,205,100, 42,144,154, 50,207, 56,121,
-252, 40, 97, 16,242,239,254,236, 47,121,235,189,247, 81, 90,211,235,180,120,236,252, 57, 62,247,137,231,233,117, 58,123,167,150,
-170,170,196,212,231,164, 49,177,118, 14,165,228,244,228,156, 39, 47, 75,156,173,137,162,144,219,247, 30,112,245,198, 77,174, 92,
-189,198,245, 59,119,217,218, 25, 82,219,154,247,111,222,226,187, 47,188,196,120, 50,229, 43,191,244, 41, 62,246,204, 69,106,100,
-134,110,173, 3,239,216,109,239,171, 42,139,209,138,105,150,115,231,254, 3,222,120,251, 50,223,251,233,207, 24,142, 39,123,155,
- 96,231, 60,107, 91, 59,252,198,151, 62,207,225, 3,251, 73,194,136, 89, 94,138,179, 94, 41,246,205, 15,152, 31, 12,208, 40,238,
-173,174,242,222,181, 27, 92,185,118,131,188, 44,246, 12,133,237,180, 5,206,211, 74, 98,246, 13, 6, 12,167, 99,118,134, 99,126,
-237, 87,190,192,247,231, 14, 17, 71,109,220, 77,195,198,198, 6,147,237, 53,142,156, 63,205,209, 71, 21, 87,254,232, 1,215, 62,
-248, 83, 86,215,114,238,220,188,196,237,171,127,141,117, 99,194,246, 8,123, 55, 99,107,227, 62,235,183, 95, 97,123,245, 61,166,
-163, 21,242,157,107,108,174,188,205,218,157, 91, 20,101,135,246,226, 57,226,201, 49, 58, 69, 74,208, 45, 40,235, 33,149, 46,153,
-149, 59, 12,215,110, 51, 77,175,177, 89,189, 65,209,190,195,182,191,202,131,234, 38,147,185,156,254, 35, 41,135,125,135,185, 25,
-156, 91,242,220,160,102,243,128,225,112,175,207,252, 47, 30,196, 15, 10,226, 27, 33,251,206,194, 98,154, 51, 29, 5,172,191,227,
-153,228,154, 98,178, 67, 86,172, 51,155,172, 98,163,154,227,131, 95,100,127, 39, 98,120,219, 96, 55, 61,113,207, 97,217,102,156,
-111,179,208,190,200,210, 51, 39, 57,122,190,197,172,158,192,116,137,110,114,136,118,127,202,237,217,139, 12,175,175,115,239,131,
- 43,236,140,110, 17,100, 83, 6, 39,143, 51,127,228, 40, 59,119,239,160,106, 81, 76,113,130,217,245, 90, 78,236, 74,107, 2, 45,
- 10,142, 49,210, 78, 25, 6, 98, 52,222,245,103,132,161,222,187,222,202,170, 0, 36,223,237, 61,132,161,180, 54,106, 37, 38,207,
-208,200, 1,208, 90, 75,146, 36,152, 32, 96,154, 77,169,107, 49,230,250,218, 35,109,152,138,233,108, 42,235,142,242, 84,174, 38,
-208, 66,106,147,145,146, 16, 59, 5,155, 44, 10,130,120,154,170, 6,240, 84,227,156,197,218, 26,105,148,212,148, 69,142, 14, 69,
- 74, 47,102, 25, 81, 28,225, 60, 20,121, 78, 24, 72,148, 90, 43, 67, 28, 70,123, 30, 39,109, 52, 85, 93,161,181,166,170, 44,157,
-110,143,162,204,155, 53, 82,227,189, 66,233, 64, 98,123,145,172,117, 90,131, 14, 12,121,150, 97,148,198,121, 65,191,234,192, 8,
- 39, 5,168,189,149,104,108,221,176, 62,106,143,117, 78, 14,148,209,110,135,138,252, 28,143, 28, 24,109, 41,117,228, 74, 41, 52,
-136, 74, 92, 74,172, 26, 20,230,196,169,211, 95,223,149,174,202,210, 2,142,162,168,216,133,248, 7,129, 38, 12, 35,180,150, 38,
-183,162, 40, 8,141, 65,105, 45,178,123, 93,179, 91, 18, 82,215,150, 56,140,200,138,140, 36, 73,169,202, 18,103,155,142,238,102,
-113, 41,139,130, 40,140,176,181, 21, 98,151, 22,110,182,181, 21, 85,150,131,115, 88,239,241, 90, 19, 52, 51,240, 36, 78,208,198,
-160,181,156,172, 91,105,139,178, 40, 32, 16, 89, 28, 35,115, 63,165,128,218, 17,244,251,164,177, 84,152, 6, 65, 72, 93,203,102,
- 34, 8, 66, 57,145, 27, 89,140,228,185,155, 11, 52, 12, 9, 77,196,174,227, 81, 36,160, 18,165, 84, 51,139, 7,231,189,204,170,
-149, 64, 73,140, 22, 99,194,174,137,111, 58,155, 80,100, 37, 69, 85,144,198, 41, 97, 28, 82, 22, 57,101, 41,210,166,119, 14,101,
- 45, 97, 43, 37, 73, 98,162, 64,158, 75, 43,249,210,212,117, 77, 20, 75,239,113, 85, 85, 84, 78,228, 34,109, 52,157, 86,155, 36,
-142,101,102,221,233,210,106,181,155, 15, 92,228, 83,163, 21,105,187,221, 92,160,142,188, 20,174,187, 9, 2,208,194, 16, 15, 3,
-153, 97,161, 96,150,231,242,190,106,137,159, 41,165,232,117,187, 98,126, 68, 49, 12,164, 36, 0, 0, 32, 0, 73, 68, 65, 84,178,
-167,121,158,147,196,194, 34,136,226, 8,188,200,205,202, 4,196, 97, 68, 89,149,132, 81,204, 46,139, 88,174, 25,223, 92, 47, 6,
-165,100, 86,251, 15, 62,217,229, 87, 6,154,157, 15,110,145, 7,134,183,215, 39, 4, 97,200, 66, 39,226,204,193, 14, 47,189,187,
-206,161,253, 93,226,185, 54,171,155, 99, 98,160, 76, 18, 76,150, 67,105,137,210,144,188, 2,141, 35,238, 68, 92,203, 43,206, 29,
- 26,224,125,197,104, 92, 17,246, 98,234,210, 98,211, 24, 14, 60,202, 59,239, 95,227,205,119,223,227,204,137,227,252,103,127,255,
-183, 24,244,186,160,188, 92, 15,198,208, 74, 83, 70,147, 9,111, 92,126,151,123,141,156,124,225,225, 51, 92,188,112,158, 52, 78,
-120,255,218,117,126,252,202, 27,140,199, 99,138,178, 66,163,120,232,216, 17, 60,138,249,193,128, 94,183,195,100,154, 49, 26,141,
-217, 30,143,104,167, 45,206,156, 56,202,161,197,253, 56,239,249,209, 75,175,242,193,141, 91, 56,231, 56,249,208, 9, 62,245,220,
-135, 56,117,226, 24,129, 49,123,137, 9,165,164, 91,189,213, 74, 88,223,220,100, 52,153,226,189,176,203,101,193,133,253, 11, 11,
- 92, 56,115, 90,102,121, 73, 66, 93, 91,182, 70, 99,138,188, 36, 47, 75,230,123, 93,202,170,228,214,189,251, 20, 69,201,233, 19,
-199,120,250,177, 11,156, 58,118,148,178,172, 24, 77, 39, 56,231, 40,173,124,159,109,105,201,139, 18, 87,215, 2,236,104,188, 51,
-114,131, 48,188,119,253, 38,175,190,115,133,247,111,220,228,189,155,183, 73,162,144,185, 94,151, 94,175, 75,183,211,102, 56,153,
-208,138, 83,254,171,127,244,187,236,159,159,167,157,166, 50, 54, 42, 11,196, 56, 40,247, 0,208, 40,163, 41,203,130,245,173, 29,
- 94,126,243, 29,174,221,186, 43, 53,184, 40, 6,253, 62, 15,159, 60,206, 51,143, 63, 70,158,205, 56,121,236, 24,147,217,140,229,
-245, 13,174, 94,191,197,229,247, 63, 96, 56, 26,115,230,196,113, 22,247,205,115,251,222, 3, 94,122,227, 77,222,187,126,131,173,
-237, 29,108, 45,174,247,162, 44,105,181, 82, 22,247,239,227, 99, 31,186,200,103, 30, 59, 71,111, 97,158,203, 71, 79,208, 61,124,
-138, 11,253, 47, 99,162, 71,216,183,255, 89,158,124,226, 97,158,122, 90,211,159,243, 60,254,213,135,153,172, 28,228, 39,127,241,
-175,169,170, 33,167,206,127,153, 83,143,125,158,213,245,191, 65,141, 10,198, 59,235, 76,134, 15, 24,174, 94,193,217, 29, 76,160,
-201, 38, 27,148,197,140,139,207,125,133,127,249,251, 1,243, 79,149, 44, 95, 29,192, 74,159,135, 23,142,112,246,241, 3, 80,134,
-212, 97, 27,148, 38,175,114,170,220, 82,151, 21,113,127,142, 98,184,198, 56, 31,179, 28,220, 99, 43, 41,249,201,118,193,149,181,
-138,141,173, 91,220,203, 94,103,243,206,207,152,218, 29,166, 7,107,150,103,134, 89,216, 33,233,103,228, 43, 33,107,119, 61,247,
-151,175,145,109,223,102,103,243, 6, 45,125,145, 15,255,206, 25,138, 7,158, 7, 55,183,152, 78,182, 40,214, 70,196, 29,208,245,
- 54,177,254, 8,113,117,154,157,252, 3,218,225,152,201,118, 7, 85, 47,209,162,135, 74,215,241,253, 33,122,167, 96,186,178, 76,
-127, 62,161,125,240, 48, 97,183, 71,239,240, 1,214,175, 94,149,241, 80, 94,176, 91,151,108,203, 26,173, 69,209, 44, 43, 41, 43,
-113, 30,112,144,205,102,194,246,119, 2, 39,139,195, 4,148, 36,137, 90,173, 54,187,213,161,104,233, 36, 79, 82,145,194,203,170,
- 36,140, 35,140, 14,228,254, 18, 69, 68,161,244,142,163, 20, 69,217,112, 37,242,146, 52, 77,136, 99, 73, 13,133, 65, 83, 26, 19,
- 4, 88, 87, 11, 70, 91,139,170, 96,173,147,238,145, 44,103,143,133, 94, 91,140,214,244, 7, 3,146, 36, 1,212,158,177,217,249,
-221, 84, 81,216,248, 62, 42,146, 36,198,104, 37, 81, 78,103, 17,176,140, 84,210,106, 37,163,211, 56, 18,186, 92,188,187,166, 4,
-145, 28, 10,139, 2,239,154,124,126, 40, 45,153, 89,150,163,141, 20,143, 56, 28,120,223,172,149, 21,214,123, 66, 19, 53,170,120,
-137, 49, 80, 59, 43,107, 97,131, 28,151,100, 1,194,203, 15, 35, 52, 30,165,100,109, 52,205,159, 32,136,208, 40,210,150,164, 76,
-204,249,199,159,248,122,154,166,123,179, 80,231,100, 78,208, 78,219,132,241,238, 2, 39, 11, 14,190,233,223, 53, 33,206, 59,146,
- 88,110, 64,121, 94, 73,148, 36,145, 15,168,174,107,226, 80,102,237,173,118, 11, 64,100,137,192, 80,228, 57, 69, 81,160,149, 68,
- 79, 4,100, 34,187,154,162,144,121,175,119, 82, 39,231,106, 75, 94,136,204, 27,132,205,124, 58,138, 81, 72, 44,161,246, 22, 59,
-157, 65, 19, 11,219, 45, 54, 81, 73, 76,128,100,176,203, 90,106,254,170,170, 89,120,179, 41,229,116, 74, 49,205,152,101, 51, 10,
- 91,202, 9,190,176, 34,225, 76,198,141,163, 60, 32, 14, 99, 60,178,104,214, 94,176,178, 50,139,150,162,250,162,148,126,246,218,
-213, 82,214,145,237,214,161,234,189, 15,214, 24, 3, 90,161,181, 17,195,155,147,214,157,202,150,120, 20, 85,158,203, 28,190,174,
-105,119,186, 40,165,169,234,154, 78, 35,159,199, 81, 76, 24, 69,160, 60,142, 6,189,106,100, 83,161,148,106, 34,134, 49, 73,171,
- 69,158, 77,169,202,146,176, 89,252, 29, 30,229, 61, 73,146, 10,125,207,138, 47,161, 42,133,220, 84, 53,187, 90,173, 27, 3,136,
- 86,152, 48, 36, 10, 67,166,211, 9,198, 72, 38,187, 40, 10,249, 92,160, 81, 34,228,154,240, 32, 20,185, 40, 68, 41,233,111,183,
-141, 52, 90, 85, 22,165, 37,111,249,159,159,130, 63,251,203,159,241,220, 67,115,176,208,231, 7,183, 70,140,157,226,233, 19, 11,
-184,178,230,221,235,107,164, 73, 64,183,155, 16,226,121,176, 57, 67,215,138,118, 36, 70, 69,103, 45,101,104,232, 56, 72,128,145,
-209,108,207, 60,222,107, 70,227,140, 44,171, 88,236,196,164,221, 30, 89,255, 36,111,188,123,133, 87, 47,189,195,242,250, 58, 74,
- 41,142, 28, 62, 68, 28,197, 56,239,161, 81,159,182,134, 67,126,250,234, 27,108,110,239, 48, 63, 24,112,252,232, 33,122,221, 46,
-131,110,135,118,187,205,205,187,247,184,117,255, 1, 85,101, 57,120, 96, 63,251,247,237,163,221, 74, 57,121,252, 24,139, 11,243,
- 12,122, 93, 54,119,134,172,111,108, 50,153,205, 56,124, 64, 36,246, 94,183,195,173,123,210, 18, 22, 69,194,173,158,239,247, 56,
-180,127, 31,104, 77, 86, 72,153,134, 84, 95,138,195,246,234,141,219,141, 99,220,162, 3,195,133,135,207,242,133, 79,127,130, 79,
-124,228, 89, 14,237,223, 71, 28, 69, 88,107,217, 25,238,112,111,121,141,233,116,194,163,103, 79,113,108,105, 73, 20, 18, 15, 91,
- 59, 59,220, 95, 89,227,202, 7,215, 57,119,250, 36, 94, 41,242, 89,198,116,150, 51, 26, 79,168,108, 37, 35,170, 70,241, 73, 99,
- 1,231, 84,182,198,123, 8,140, 38, 47, 5,222,116,127,121,153,187, 15, 86,168,157,227,233,199, 30,229,196,209, 35,204,102, 51,
-134,227, 9, 43,235,235,220,188,115,143,163,135, 15,209,237,182, 37,202,217,156,226,118,199,108, 0, 85,105,121,229,210,219,252,
-193,191,255, 15,188,253,222,251, 76, 26, 15, 74,148, 68, 60,249,232,121,190,240,137,143,242, 11, 79, 95,228,248,209, 37,182,135,
- 67,174, 92,187,201,123, 31, 92,103,117,125,157,157,225,136,201,108, 70,183,219, 97,105,113, 63,221, 78,135, 63,250,243,111,114,
-111,121,149,110,167, 69, 20, 4, 20,101,197,209, 67, 7, 48, 38, 96, 97,208,231, 83, 23, 78,242,143,191,250, 75, 92,222,183, 72,
-118,224, 12, 31,251,228,111,112,234, 57, 69,148,247,112,197, 4,223, 85,204, 93, 8,120,122,193,242,164,209, 92,124,126,142, 99,
- 95,253, 45, 62,252,212,231,248,229,223, 59,197,199, 63, 17,242,210, 95,140, 24,173,188,129,183, 57,249,246, 93, 54, 30,188,139,
-171, 75, 76, 16, 98,171,140,185,131, 15, 81,215, 29,126,248,114,159,183, 94, 16,131,213,205,187, 87, 9,203, 69,126,239,195,112,
-118, 33,228,244, 98,139,179, 7, 14,113,246,192, 73,142,158,127,148, 67,103, 30,103,174,125,130,164,125,144,193,252, 17,186,105,
- 11,103, 34, 66,227,200,166, 83,134,155,107,228,121,133, 69,211,154, 59, 76, 57,217,102,150,109,114,239,238, 85,174,221,184,205,
- 78,172,112,155, 57,229,112,131, 34,219,194, 24,199,169,179,191,206, 51,207,143,217, 62, 24,115,247,229, 33,121,182, 77, 85,101,
-228,122, 76, 64,193,214,237,187,140, 55, 59, 44,191,255, 6,149, 93,103,226,215, 72,220, 35, 84,182, 67,234, 99, 14, 30,156,177,
-244,248, 81, 6, 39, 14,209, 61,184,136, 78, 90,216,218, 19,247,186,204, 29, 94, 98,235,198, 7,114,159,174, 10,202,210,226,169,
- 1,105,116,116,181,107,146, 80,226, 92,215, 70, 35,136,109, 89,144,146, 36, 33,140, 66,162, 40,110, 36,119,225,114, 76,167,179,
-230,148, 94,225,154,181, 13,104,238,245,242,239, 60, 10, 26,121, 57, 12, 67,217, 4, 42, 64,121,217,212, 90,203,180, 65,100, 91,
- 91, 18, 71, 49, 69, 46,153,111,239,220, 30, 30,182,174, 43, 4,131,157,211,237,116,137, 34, 77,146,180,208, 90,224, 83,187, 28,
-141,178,202,101,132, 88, 20, 8, 4,199, 17, 68, 33,149,173,104, 39,109, 92,237,192, 11, 10,214,121,249, 93,243,188,160,174,133,
- 60,231, 28,242,158,184,102,246,109, 2, 81,159,181,116,175,231,121,142, 87,178,158,105,154,220, 63, 77,145,152, 7,221,216, 12,
-148,106,202,163,156, 5,148,248, 14,208,120,106,108,227,215,170,170, 26,105,169, 51,212, 30,170, 34,151, 38,186, 32,192,121, 73,
- 1, 8,130, 25,204,217, 71,206,127,221,121, 49, 22,180,219, 45,132,207,156,144,103,153,204,219,242,130, 60,151,197,171, 44, 5,
-192,239,113,104, 29,136,219, 58, 12, 41,138,188,201,110, 87,120,118, 35, 12,178,184, 43, 60, 65, 20,162,106, 57,165,183, 91, 29,
-130, 40, 36,155, 9,240,164, 40, 10,202, 92,100,113,175, 5, 73, 27, 37, 9,101, 37, 51,249, 52,138, 41, 43,201, 42,102, 83,233,
-204, 46, 43,113, 89,227, 60,213,116,130, 50,205,204,221,203,204,212,101, 57,121, 89,137,193,174,200,168,203, 18, 91, 20,148,121,
-134,111,164,198,218, 53,185,243,102,177,218, 53,255, 5, 97, 32, 27,156,178,196, 58, 75, 43, 77,137, 99,153,255, 27, 45,181,130,
- 85,115,130, 79,219, 41,206, 90, 58,157, 54, 90,105,112,194, 68, 54,129, 72, 83, 74, 41,166,179, 25, 81,163, 56, 40, 47,117,167,
- 26,246, 54, 11,206, 11,146, 39,106,181, 8,140,204,210,165, 14, 87,160, 12, 38, 16,108,226, 44, 23, 51,138,181, 86,226, 31, 86,
-220,198,182,182,127, 43, 87, 69, 6,148,166, 44, 74,170,102,134,238,188,156, 80, 65,226,104,187,104,222, 40,144, 93,119,237,100,
-134,102,157,199, 27,185,192,229,245,218,198,133,170, 9, 35, 67,104,100,110,111, 2, 3, 30,156,173,247,164, 54,239,164,206, 48,
-140, 69,238, 21,128,132,199, 86, 53,157,118,202,163,102,147,147,139, 45, 22, 63,118,129, 75, 47,221,192,100, 21,243, 73,200, 82,
- 39, 32,212,138,155,247,118, 40, 43, 71,237, 21,183, 87,199,204,106,135,245,142,131,139,125,138,233,140,254,252,128,178,170,233,
-196, 1,173,110, 72, 47,141,217,206, 28, 90, 57,102,133,163,182,158, 68, 43,186,237, 22,249,129, 71,137, 3,195,131,245, 45, 54,
-182,182,248,167,191,251,247,216,183,111,129, 60,203,101,134,229,193,104, 77,183,221, 97,121,101,141,219, 15, 86,152,206,102,156,
- 62,126,140, 35,135, 14, 81, 84, 37,127,245,195, 23,120,249,210,219, 76,166, 98,194,153, 76,103,108,110,239, 48, 26,141, 89, 58,
-176,143, 67, 7, 23,137, 35,241, 86,220,121,176,194,160,215,197,161, 56,184,111, 30,148,226,133, 87, 94, 99,121,109,163,153, 43,
- 10,207, 96,113,255, 62,210, 40,164,174, 4, 55, 59,158, 76,249,222, 75,175,240,141,191,254, 62,183,239,203, 73,219,123, 71,183,
-211,101,174,215,101,255,160,207,190,185, 1, 38, 8,168,157,160, 55,175,220,184,137,115,142,202, 58,106,239, 88, 92, 88,224, 7,
- 47,190,204, 11,175,190,190, 55, 99,124,254,153, 39,233,181, 59,180, 91, 45, 58, 45,169, 80,181,214,146,101, 57,181,131,208,104,
-218,173, 54, 73,218,200,151,141,186, 82,213,162, 14, 77,154,156,251,202,250, 38,221,118,155,185,185,190,108,236,170,138,185,254,
-128,127,246, 79,255, 49, 23, 31, 61,207,160,219, 37, 8, 2,234,198, 83,225,172,163, 40,197, 80, 89, 59, 33,142, 45,175,174,177,
-188,177,193,250,198, 22,187,178,123,109,107,178,162,224, 31,124,237,171,104,173,153,140, 39,108,236, 12,121,255,230, 77, 86,214,
- 55,185,187,188,194,246,112,204,163,103,207,240, 11, 79, 95,100,208,239,147,231, 5,163,201,148,183,174, 92,197, 90,203,135,158,
-124,156,118,171, 69, 59, 77,121,228,204, 73,170,233,136,223,249,244,115,252,136,136,159,153, 62, 31,255,213,191,203,151,247, 89,
- 62, 66,204,107, 55, 20,215, 70,223, 35,216,126,132, 40, 80,108,244, 53,111,188, 9,179,165, 0,151,195,234,107,158,182,130,122,
-209,177,118,251,105, 94,254,206,191, 96,107,245, 22,198,196,156,122,250,119,249,231,255,247,159,178,185,115,142,245,187,175, 17,
- 37, 57,179,233, 42,247,238,189,202,214,214, 53,214,214,150,153,110, 46,115,253,246,144,173,228, 8,203, 61, 77,149,104,156,246,
- 36, 6, 14, 39, 25,131,176,100, 95, 63,228,200,190,132,163,173,136,179,211, 46,231,143,247, 56,187,216,227,240, 82,155,199,207,
-156,224,196,217,147, 16,157, 67, 37, 29,170,209, 14,101, 53,163,178, 37,182, 86,100, 91, 31, 48,141,110, 19, 45,205, 56,246,228,
- 18,135,206, 46, 80,143, 98, 22,159, 26, 48, 84,138,123, 47, 84, 20,249, 29,202,124,194,184, 88,161,206, 51,102,227, 27, 60,184,
-181, 67, 54,126, 64,181,185,194,206,246, 61,186,157, 71,208, 54, 33, 43, 52,180,199,204,205,197, 28,125,228, 36, 81, 26, 48,153,
-100,212, 86, 81, 89,136,251, 61,226,118,139,241,157,219, 98, 14, 54, 90, 34,184,141,170, 26, 4,114, 16,171, 43,161, 80,198,177,
-160, 96,147, 52,101, 23, 4, 54,205,102,212, 86,242,215,181,151,232,101,109,107, 57,136,213, 98,168, 76, 83,169,123,142, 66,161,
-145,102,217,148, 26, 79,108, 2,178, 60,111, 22, 60, 77,183,219, 65,107, 67,214,120,124,118,199,144, 73, 44,192, 28, 99,100,190,
-108,140,252,153,140,199,152,192,200,193, 81,107,156,171,105,183,123, 4,129, 36,187,148, 23,201, 59, 10, 5, 48,163,148, 22, 21,
- 33,203,208, 70, 42,128,163, 32,162, 40, 11, 57,204, 40, 72,147,148, 40,150,241,107, 85, 85,162, 56, 55,135,193,218, 86,148,165,
-224,158,165, 57, 78,161, 67,233,108, 15,147, 72, 40,148, 38,192,214,226, 93,177, 86,164,124,173, 53, 13, 58, 76,214, 45,215,204,
-198,141, 24,209,141,105, 10,162,148,172,165,222, 59,180, 10,104, 76, 12, 4, 81, 68, 96, 12,161,146,238,145,186,150,251,140,173,
- 44,230,212,217,115, 95,247, 94,218,168,148, 82, 40,163, 80, 94, 17, 37, 33,113, 36,249, 57,101, 20, 50,156, 23,176,140,214,134,
- 32, 48, 84,165,116,108,135,198,160, 77,132, 14,154, 30,229, 48,220,155,197, 79,167, 83,153,207,164, 9,113, 20, 33,237,105,229,
-158,132,162,149,100,203,227, 52,161,200,114,156,146, 88,142,171,107,201,112, 59,135,210, 6,163,101,143, 19, 54, 82, 79, 94,228,
- 20,147, 25,106,111,203,231,101,147, 3,160, 21, 40, 80, 94,161,144,252,164, 66, 94, 23,129,228, 88,149,214,244, 6,131,102,166,
-211,162,221,110,137,129, 33,144, 5,172,170,107, 92, 45,145,140, 36, 73, 72, 19, 1,232, 4, 97,136,242,194, 61, 23, 7,164,219,
- 51, 26,133, 65, 64, 81,150, 2,204,177, 22,129,206,252,109,126, 54,138, 99,249, 89,173,150, 80,129,148,162,221, 74,136,162, 88,
-220,227,206,209,238,116, 80, 74,156,150,117,109,229,189,139, 35,108, 41,181,179,222,121,226, 40,166, 44,115, 76, 40,227, 4,107,
- 75,194, 40, 36,155,102,216, 74,242,216, 40, 77, 28, 39, 84, 85,137, 71,230, 66,187,191,163,209, 1, 85, 85,211,106,181,136, 34,
-217,221,181,210,148,221,222,115,165, 36, 42, 98, 76,136,115, 21,182,170,229, 39, 52,139,184,181, 22,154,217,172, 0,111, 82,194,
- 56,198, 86, 21,190,246,224,193, 43, 79,160, 52,157, 20,254,225, 99, 41, 39,246,183, 40, 55, 70,220,222,204, 89, 28,180,201,203,
-146,150, 82,164,177,193,107,205,120,156, 49, 44, 28, 59,179,146,110,108,192,123,142, 29,223, 71, 49, 46,137, 66,133, 9, 13,207,
- 62,118,132,241,182,208,204, 2,229,209, 97,196,190, 78, 76, 55,128,135,142,117,153, 78, 28,247,147, 37,126,244,242, 43,188,121,
-249, 93,180, 54,252,189,175,126, 25,229, 60,121, 89, 72, 84,203, 75, 52,199, 89,203,191,253,147,111,176,181, 51, 36, 12, 13,115,
-253, 62, 73, 20,112, 96,223, 2, 7,247,239, 39, 10, 12,203,107, 27,123,112,160, 52,142,249,149,207,127,150,103, 30,123, 12,231,
- 28, 15,214,214,249,222,139, 47,115,247,193, 50,113, 51,170, 56,123,250, 36,113, 24,176,188,190,133,194, 51,223,239,113,238,244,
-105, 62,242,244, 19,204,247,250, 98,166,115, 14, 91,123, 70,147, 17,163,225, 8,143,103,117, 93,106, 86, 61,144,101, 57, 91, 59,
- 59,188,249,254,251, 20,165,144, 30, 59,237, 22,215,110,222,226,189,107, 55, 89, 94, 91, 39, 12, 12,219,195, 49,167, 79, 28,165,
-172, 44, 87,174,221,216, 91, 52,127,253,139,159,231,244,201, 99,196, 97, 72,218,248, 7,218,109,233, 49,136,227,136,185,193,128,
- 94, 75,212,179,170, 42, 41,170,170,153,177, 11,155,127,113,223, 28, 55,239, 61,224,205, 43, 87,249,208, 19, 23, 56,176,176, 64,
-167,211,102,184, 51,228,216,225, 67,156, 61,115, 82,110,132,120,217,252,214, 22,229, 60,165,171,200,102,197, 94, 17,200,165,203,
- 87,120,241,181, 75,188,247,193,117,156,247,156,126,232, 4, 31,127,238,105, 78,157, 56,193,206,206,136,163,135, 23,217,183, 48,
-143,173, 29,227,225,152, 44,203,233,117, 59,140, 39, 19,110,223,123,192, 19,231,207,241,228,249,179, 56, 87,179,186,181,197,230,
-230, 22,179,188, 96,117, 99,147,243,103, 31,230,209,179,167, 24, 79,166,156, 90, 28,240,181,143,126,136,213,197, 37,254,240,214,
- 10, 71,220,231,105,221,158,227,181,171,134,239, 47,194,149, 23, 96,229,103,223,101, 56,214,220,157, 44,242,224,182,230,253, 23,
-182, 89,126, 45,229,210,143, 54, 25,109,121,110,191, 27,115,245,101, 67,145,149,212,132,184, 32,231,185,223,255, 79,248,135,255,
-243,239,241,155, 75, 80,238, 59,194,189,229, 1,195,173,119,240,197, 14,181, 15,105,247, 15,113,226,201,175,146,232, 83, 60,253,
-229,135,248,157, 47, 90, 46, 95,210, 20,115,158, 60, 80,236,204, 20,155,195,128,113, 22, 81,135, 10, 87, 66, 85,107,102, 45, 15,
-181,167,111, 20,167, 3,197,163,222,112, 65, 27, 62,177,160,249,236, 66,204,226,241, 1,227,155, 15, 67,176,201,172,156, 80,148,
-178, 16,140, 71, 25,107,171, 43, 24, 85,211,238,222,231,193, 75, 23,232, 31, 87,220,252,217,148, 98,114,141,162, 24,146,175,108,
-225,163,156,217,250, 26,171,247,150, 41,134,247, 24, 77,110,227,198,138,238,226,163, 4, 81, 27,107, 53,195,229, 9,173,185, 9,
-173, 99, 23, 9, 91, 3, 84,189, 3,101, 65,153,123,170,170,166,125,248, 32, 81, 96, 40,214,215,208,186,105,103,108, 12,150,182,
-174, 36,213, 98, 20,173,180,133,214, 10,231,157, 40,175, 65,128,195, 81,151, 37, 40,208,104,108, 41, 41,143, 36,105,201, 61, 48,
-138,136, 26, 83, 91, 89, 22,104,211, 68,163, 75, 75,160, 53,179,162, 32, 14, 2,202,202,162,180,223,131,200,196, 81, 4, 64,171,
-149, 18, 55, 74,100, 24,134, 4, 38,160,200,115, 49, 84,163,136, 35,137,159,105,173,232,247,187, 68, 81, 66, 85, 20,148, 85, 51,
-207, 54,178,238, 20,121,142,115, 16, 54,235, 65,154,182,196,112, 23,199, 84,149,165,176, 82, 48,211,234,180,169,107,129,162,133,
-145, 28,138,210, 68,106, 84,195, 48, 36,107,104,171,181,171, 73,155,113,166,119,158, 89,158, 97,144, 57,154,140,112, 3,130, 64,
-114,243,117,237, 80, 70,212, 45,213, 40, 20, 42,208,212, 85, 19, 93,198,161,145,251,116, 16, 5, 68, 97, 68,218,110,201,162,175,
- 53, 74, 27,226, 40,100,183,120,167,182, 50, 2,175,107,217, 76, 7, 69,145,163, 3,137, 45, 89,231, 26, 62,174, 44,158,189, 78,
-135,193, 96,192,222,195,203,172, 15, 20, 74,121,188, 0,218, 80, 58, 34,112,226,238,243,181,107,224, 28, 1,101,145,227,189,116,
-158,163, 60,113,148,146,229, 25,206,187,189, 69,216, 40, 41,109,209, 74,211,106,119,152,236,236, 96,189,162,221,109, 49,203, 10,
-122,189, 14, 74, 25,108, 93,147, 68, 49, 40, 69,162, 20,129,214,140,178, 2,133,131,184,141, 55, 26,234, 90,200,103, 70,145,215,
-142, 52, 12, 1,207,100,214, 56, 14,181, 68,188, 38,147, 25,221, 94,135, 48,140,152,159, 75,152,204,166,100, 89, 70, 20, 9,187,
-189,213,105,145,186,152, 32, 12,152,140,199,140,134, 67,230,230,230,100, 81,140, 34,226, 36,194, 33,146, 74,154,164, 76, 38, 19,
-146, 56, 69, 41,136,188, 71, 69, 49, 40, 47, 85,173,120, 32,197,218, 28,101, 52, 74,137,233, 80,135, 33,161,247, 50,243,247,146,
-251,176,181, 44,168,113, 28, 19, 70,226,186, 47,202,130,114, 34, 94,135, 86,218,110,204,125, 21,105,218,198,123,113,165,122,100,
- 87,215,106,220,247, 74, 41,166,147,169, 40, 40,182, 38,140, 26, 44,172, 81, 84,165,101,102, 11,188,151, 84, 67, 18, 71, 50,102,
- 49,134, 52, 16,127, 65, 81,148, 4,129,128, 21,156,147,124,179,173, 43,140,146,174,123, 95,215, 12, 71, 99,162,230,139, 86,150,
- 5,161, 17, 90,146,173, 43,130, 56,164,204, 4,183,248,185, 51,134,133, 99, 3,124,160,120,243,123, 87,136,147,128,119, 94,190,
- 65,255,244, 33,214,198, 57,105, 88,179,110, 21,167, 31, 89,226,221,247,151,169,172,135, 16,130,208, 48,220, 30, 51,119,120,192,
-202,157, 77, 14, 44,245,217, 28,142, 89,191,189,206, 54,134,202, 24,250,115, 41,137,118,116,250, 9, 11, 11, 61,244,160,195, 45,
-109, 56,176, 48, 79,175,221,161,170,107,238,173,172,112,234,216, 81, 30,220,218, 96,233,208,126, 49,117,137,159,132,221,226,153,
-208,132,184, 90, 32, 18,171,155,219,252,197,223,252,128,183,222,125,143,159,127,140,167, 83,242,162,164,172,100,254, 53, 30,143,
-233,119, 59, 40, 20, 15, 86,214,152,155,235,115,235,206, 61, 14, 29,216,207,246,206, 14,107,155, 91,244,187, 93,206, 63, 44, 0,
-149,162, 44,112, 94, 10, 50,108,109,233,117,122,124,236,217,167,121, 42, 59, 47, 11,243, 7,215,247,158,107,126,110,192, 23, 62,
-253,113,142, 47, 45, 17,133, 2,127,185,117,127,153,247,174,223,228,193,234, 26, 81, 24,179, 48,223,227,193,218,134, 84,106,214,
- 53,105, 18, 51, 63, 24,112,233,242, 21, 78, 30, 59, 76,191,223,103,115,103,200, 27,239, 92,230,196,177, 35, 44,244,251, 0, 68,
- 70,204,174,142, 93,233, 93, 97,109,197,172,200,217,220,220,230,141, 43,239,179,177,177,201,145,131, 7, 49, 97, 68,154,166, 28,
- 88,152,163, 21, 71,220,121,176,204,205, 91,119,153, 27,244,247, 54,237,181,173,169,156, 19, 7,176,134,149,149, 13,110,220,190,
-203, 7, 55,111, 53,149,179,242,184,118,243, 22,211,217,148, 63,250,215,255, 43, 43, 27, 27,132,129,224,138,119, 70, 19,170,186,
-102,103, 52,226,165,215,223, 98,125,123,155,207,124,244, 35,156, 61,121, 66,110,208,101,197,157,187, 15, 88,223, 25,146, 23,194,
-222,190,244,206,101,206,158,248, 60, 95,120,238, 41,142,118, 98, 62,250,252,135,248,175,223,188, 73,100,186,108,222,218, 97,118,
-235, 30,251,146, 99,164,203, 83, 76,153,178,189,177, 70, 52,122, 25,181,114,153,181,118,139,201,218, 45,170,108,147,238,220, 2,
- 58, 60, 8,222,162,107,143, 83, 37,227,157,251,156,251,205,175,193,253, 22,223,250, 63,215,249,230,208,178,117,237, 30,227,225,
-117,156,237,161,205, 26,115, 11, 75, 28,152,127,156, 11,143, 7,252,234,103, 61, 27,204,248,211,187,109, 12, 30,103, 21,147, 33,
-216,106, 67,186, 34,104,145, 14,187,196,129,166, 46, 60,250,186, 98,114, 74,177, 21, 41,110, 82,210,198,114,208,135, 12, 48, 28,
- 38,100, 65,135, 60,252,153,138,197,252, 57,182, 94,240,108,181,127,202,221,219,239,146, 91, 69, 60,232,177,158,215,108,143,135,
- 36,250, 15, 89,249,131, 47,178,189,118,159,108,178, 67, 93,173,195, 32, 67, 45, 23,140,239,111,113,244,233,199, 88,189, 84, 80,
-172, 79,232,157, 56, 71,109, 11,202,106,130,210, 33,217,208,114,237,242, 45, 90, 71, 54,201,175, 45,226,247, 87,164,117, 5,117,
-129,215, 29,166,219, 5,253,115,231,217,186,113,131,108,189, 41,240, 81, 74, 76,186, 97, 72, 43, 78,112,206, 49,155,102,162,236,
- 70, 17, 30,100, 83,239, 60,113,154,162,181,102, 52, 26, 17, 4, 1, 85,109,169,236,140,176,185,246,180,210,180,219, 45,166,211,
- 41,211,201,223,154, 39, 99,147, 16,107,141,115, 86, 70,134,182,220, 83,254, 64, 10, 75,118,179,229,227,241, 24, 19,132, 36, 81,
- 76, 24,132, 36,129, 33, 47, 74,162, 72,211,237,119, 49,218,200,166,181,200,177,214,161,148,102,107,107, 11,173, 20,221, 78,151,
- 48, 8,137, 99, 33,221,137, 67, 62, 20, 85,173,250,185, 90,241, 40,100, 54,149, 90,215, 32, 72,240,206,227, 93, 13, 65,208,128,
-204,124,115,112,178,152, 64, 75,114, 75, 22, 72,188, 23,154,168,172,144, 90,230,229,181,224,151,131, 32,146, 84, 10, 21, 74, 5,
-152, 38,250, 23, 52,135, 64,231,128,230, 96,171, 42,221,108, 20,196,188,231,149,162,174, 74, 74,239,169,107, 79,220,160,217, 37,
- 34, 24,200,162, 30, 4,130,111, 12,195,144,178,156,238,189,193,214, 66, 86, 20,180,195, 93,254,110, 13, 26,112, 50,228, 23,100,
-157,204,109, 3, 45, 89,185,218, 72,187,147,115,158, 36,141,228,244, 56,155, 81, 85,117, 99,190, 19,195, 85,208, 60, 57, 72,220,
-193, 59,201, 54,218,177,196,208,188,243, 34,143, 55,187,248,110, 83,131, 89, 89, 75,158,201,239,154, 77,166, 64, 77,216,235,147,
- 79, 38,180,187,125, 92, 16, 72, 25,129,214,152, 40,198,107, 40,178,138,118, 18, 51,203, 51,156, 50, 96,118, 37,109,169, 4,212,
- 90,211,238,118,153,140, 70,104, 99,136, 66,233, 3, 86, 90,204, 8,187, 25,122, 87,215, 40, 15,101,158,163, 20, 24, 99,152,140,
-199, 40, 37,156,226,188,200,232,116,100, 39,156,101, 50,103, 81, 74,209, 78, 4, 5,152, 68, 97,147,145, 23, 82, 27, 64,187,213,
-218,171,131,213, 90, 55,124,117,207, 44,207, 9, 3,189,231, 80,223,149,233,241, 52, 23,156,151,145, 72, 37,167,200, 94,183,143,
- 54,138,162, 40, 41,138,130,110,183, 67,167,219, 17, 67, 81,131,130,141,211, 24,144, 2, 1,173,193,218,154, 60,159, 81, 85,133,
-124,241, 84,133, 14, 2,104,230, 52, 32, 39,132, 60,111,220,161, 86,124, 13,222,123,100, 11,226,155, 89,143,152,190,116,187, 41,
- 1,137, 18,138,198, 20,216,141, 74,190,246,228, 0,188,195, 15,107, 86,135, 83,206,158, 56,192, 40, 12,137,202, 18, 95,215,204,
- 61, 52,207,131,247,239,241,248,201,125,156, 58,177,159,245,183,215, 24,151, 53,214, 24,210, 73,205,226,129,132,120,190,205,108,
-103, 70,149, 6,244, 78, 44,178,122,123,131, 56, 82, 76,103, 37,190,174, 8,102, 53, 7,231, 66,212,254, 83, 28,159, 63,200,112,
-123, 11,235, 28,103, 79, 30,103,190,223,227,245,203,239,241,250,219,151,185,120,254, 28, 7, 23,165,133,237, 39,175,188,202,218,
-198, 22, 0, 14,215,200,139, 16, 7,134, 95,254,236, 39,249,200, 83, 79,240,157,159,188,200,173,219,119, 64,105,122,157, 14,171,
-155, 27,204,242, 28,239, 60,139,251,247,113,116, 50, 33,137, 98,134,147, 9,121,158,115,127,101,149,118, 43,101,223,220,128, 32,
- 8,200,139, 2,231, 16, 42,160, 73,169,108,213, 72,145, 21, 56,216, 26, 21,140, 39, 99,249, 92, 81,226,129, 80,138,131, 11,243,
-116, 91,109,105, 57,107, 28, 73, 95,252,212,199,137,227,152,191,248,206,247,153,102, 25, 39,150, 14,115,254,204,105, 94,124,245,
- 53, 64,170, 92,159,126,236, 2, 31,251,240,211,152, 48,228,219, 63,252, 9,227,233,148, 65,167, 37,133, 51, 97, 32,114,187,171,
-193,202,171,246,222, 83, 89,201,176,175,172,111,242,210,165,183,120,235,221,247,240,222,243,165,207,126,138, 71, 78,157,164,215,
-235, 72,217,146,173, 88, 58,116,168, 65, 65,211,156,218,132,210,104, 2, 67, 20,138,250, 83,150, 37,203,107,107, 92,187,115,135,
-159,127,244, 59,109,186,237, 54, 87,174, 93,231,212,137,227, 20, 69,193,253,213,117,174,221,188,197,181,155,183,184,251, 96,153,
-205,161,192,126,162, 32,224,220,169,147,164,105,204,160,215, 98,154,101, 92,190,250, 1, 81, 24,113,241,145,179, 76,139,130,215,
- 46,189,201,255,244,143,126,139, 99,199,143,242,191,223,223,102,187,170,208, 85,135,251,247,222,100,238,208,179, 60,255, 79, 60,
-191,125, 36,165,240,142,127,198,127,202,223,252,217,255,136,198, 98,162, 46,101,166, 57,112,168, 96,117,237, 38, 38,120, 0, 53,
-248, 58,167,152,109,176,179,126, 29,245,210,109, 22,162,231,240, 15, 70,212, 85,142,155,148,148,211, 7, 44,157,251, 34, 91,227,
-255,136,137, 42,206, 62,125,145, 39, 63,229,169,189,226,167,223,111, 17, 5,158,185,199, 21,211,202,179,189,115,157, 67,131, 83,
- 80,121,184, 13,219,235,138,110,223,115,228,163, 25,213,161, 8,191,110,152,100,158,205,205,132,181, 15, 52,247,207, 67,145,122,
-102,175,192,193,167, 35, 92,191,198,215,138,246, 51, 10,126,242, 60, 65,112,156,205,222,139,172, 77, 50, 20, 1,133, 53, 76,179,
- 85,116,252,255, 80,229, 61,150,111,190, 79, 16, 76,104, 13, 45,179, 98,139, 78, 43,226, 23,190,242, 41,202, 95,250, 24,111,191,
-248, 3,138,145,162, 88, 93,195,122,145,159,203,122, 68,118,117,204,141,185,111, 19,149,159, 35,187, 54, 99,225,161, 49,117, 57,
-165,115,176, 77, 94, 65,225, 21,199,158,255, 24,215,190,245,231,104, 20, 94, 11, 43,189,118, 18,239,242,222, 19, 38,130,159, 46,
-114, 71,110,171,102,175,172, 8,162,144,241,120, 76,187,221,197,171,154,196, 39, 56,229,176,165, 37,214,193,158,250,213,110,183,
-209, 8,185, 52,203, 50,124,237,176,206, 54,247, 72, 79, 81, 90, 33, 96, 42, 69, 20, 54,166,180, 48, 68, 16,198, 94,144,215, 89,
- 70,210, 74,113,181,163,213, 18,240, 77,145,149, 4, 73,176,103,240, 86,104, 70,195, 17, 56, 71,229, 28, 91,219, 91,104,163, 25,
-244, 7,226,121, 34,196,150,242, 51, 39,147, 9,105,154, 64, 93, 83, 3,189, 94, 15,165, 20,147,201, 4,137, 12, 59,252,238,104,
-179,150,247, 33, 77, 99, 2, 99,176,222,131,247,205,104, 88, 70,102,214,213, 68,129,148,150, 5, 58,160, 82,224,156, 28,156,189,
-243,232, 80,188, 94,248, 26,239, 37,125,228,108,141, 14, 26, 35,159,246, 40, 35,222,169,170,174, 48, 40,180, 9, 80,129, 33,140,
- 26, 92,175,242,212,214,145,166,137,200,239, 71,142,159,248,122,171, 37,174, 64, 99, 4,200, 31, 71, 17, 97, 16, 18, 24,141,114,
-210,138, 22,132, 1,129, 9, 81, 90,184,224,129, 9,197, 9,237, 85,179, 3, 17,253,223,123, 71, 89, 86,132, 65, 36,208,137, 40,
- 33,142,163,189,153,117, 20, 68,120, 37, 51,140,202, 74, 94, 55,140,195, 61, 21, 32,155,137,164,174,194,136,186, 18,147, 28,222,
- 83, 22,150, 44,207,246, 28,241,149, 19, 10, 93, 86, 90,116,104,246,102, 45,253,193, 64, 40, 65,129, 66, 57,145,139, 77, 32, 82,
-116, 16,135,180, 82,145,217,119,231, 63, 74, 41,156, 21,105,219, 32,198,174, 93,124, 38, 90,102,232, 81,104,216,217, 25, 50,203,
-164, 53, 40,159, 78,201,242,156,118,167,211,128, 5,132,228, 19, 69, 49,224,177,182,162,211,145,120,217,120, 50,161,172, 4,252,
- 33,196, 46, 33,188,205, 50, 41,158, 49, 74, 28,244, 73,154,138,156, 95, 11, 84, 33,106,226, 20,147,201, 20,163, 21, 74, 25,130,
-208,176, 7,136, 8, 12, 70, 9, 80, 69, 25,132, 73,236, 37,242, 80, 86, 82,122, 99,173, 69, 43, 67,167,221, 98, 54,157, 81, 86,
-210, 64,151,164, 9,198, 52,152,217,162, 32, 12, 99,140,209,141, 97,207, 82,238,114, 0,202,140, 36,138, 80, 78, 92,159,104,193,
- 9, 23,141,177,164,211,106, 17, 70,194,121, 87, 78, 90,188,140,209, 36, 73, 74,171,149,240,241,211, 49,159,122, 40,193,123,141,
-178,112,251,238, 58,216,138,229,141, 25, 61, 20, 39, 78, 47,146,151,142,153,134, 72,107, 34,231, 25,142,102,228, 30,148, 49,204,
-138,146,201,176,100, 56,202, 88,236,132,220,191,189, 69, 21, 71,140,198, 37, 71,143, 45,128,245,156, 90,232, 80,216,154, 91,247,
- 55, 48, 7,207, 97,227, 62,239, 92,189,198,143, 94,126,149, 89, 86, 48,215,239, 18, 4, 98, 62,252,238, 79, 94,228,253, 27, 55,
-121,232,248, 17,118,139,114, 54,182,135,128, 34,137, 99,186,173, 22,199,142, 44,241,250, 91,151,249,119,223,248, 38, 91,219, 59,
-120,164,194,244,194,153, 83, 28, 61,120,136,249,193,128,162,204,113, 30,214,214, 55,216,216,218,226,222,242, 42,120,207, 52,203,
- 89, 93,223,100, 50,157, 49,158, 78, 73,211,132,126,183, 45,227,151, 64,210, 18,117, 93, 51,158,101, 24,173, 40,173,229,165, 55,
-222,228,202, 7,215,126,142, 99,174, 57,123,250, 20,173, 84,192, 77,253, 78, 27,101, 12,117,109,185,122,227, 22, 55,110,223,165,
-170, 74, 54,135, 99,174,223,190,195,115, 79, 61,193, 11,175,188, 70, 93, 59,142, 29, 57,204, 71, 46, 62, 65, 18,199,124,235,123,
- 63,196, 1,157,118,135,249, 65,143, 78,167, 3, 52, 72, 79, 95, 75,205,176, 21,150,182,173,189,204,231, 2, 67,158, 21,108,236,
- 12,169,202,146,202, 90, 6,189, 30, 73, 34,228, 48,241,104, 56,170,178,164,176, 21,117,237, 8,194,144,126, 87,106, 81,147, 52,
-161,221, 74,233,180,219,184,218,114,127,121, 21,231,197,152,248,233,231,159,227,239,124,236,163,124,252,185, 15, 17, 6, 1,181,
-151,114,160,229,181,117,102, 69,193,237,123,203,108,236,236,112,250,196, 49, 62,249,145, 15,115,234,216, 18,247, 87,214,153,101,
- 5, 73, 20,113,233,242, 21,148,130,249,249,121, 62,249,228, 35,152,170,224, 19, 31,122,156,111,168,136,119, 86,135, 28,159,251,
- 47,168,214,142,179,122,255, 5, 6, 11,154,125,238, 17, 54,142, 42,246, 71,246,255,227,234, 61,131, 44, 77,207,243,188,235,125,
-191,124, 98,135,233,233,158,156,118,119,102,243, 34, 46, 0, 9, 0, 1, 38, 65,164,105, 72, 36, 69,145, 46,154, 18,109, 75,116,
- 82, 73, 42,149,202,101,151,203, 42,201,233,143,237,146, 93, 22, 21, 44,202,180, 89, 50, 77,145,146, 72, 89,162, 37,146, 16, 40,
- 36, 18, 88, 44, 54,239,204,236,228,208,185,251,244, 9, 95,126,131,127, 60, 95, 15, 72,119,213,254, 65,245, 98,187, 79,159,243,
-189,239,115, 63,247,125,221,124,176, 53,230,189,111,254, 54,101,113,139, 43,159,252,243,252,232,159,251, 51,252,237,191,250, 3,
-240,125, 63,196,239,252, 47,127,141,182,158, 50, 94,123,137,149, 19, 31,102,245,196,171,216,197,130,252,240, 6,197,116, 6, 38,
- 32, 78,135, 24,103,248,158,191,241, 51,216, 7,125,204,169, 61,194, 75,142,205,215, 51, 14, 79, 12,249,222,151, 42,138, 73,192,
-205,175,192,189,249,155,100,219,207, 50,216,240, 92, 58,157,243,242, 89,205, 87,126, 79,179,252, 9,248, 76, 95,241,193, 65, 72,
-126, 15,234,109, 69,179, 5,109, 11,197, 67, 79,176,167, 24,127, 68,209,198,158,188,210,152, 80, 81,191, 14,222,130,178, 35,138,
- 7,235, 44,159,153, 50,159,202,107,226,145,225, 97,237, 66,132,155, 52,236, 61,254,128,249,254, 93,230,123, 59,156,254,158,239,
- 99,116,238, 26,145,214,172,156, 90,101,146, 79,168,119, 43,108,163,113,205,156,122,113, 64,185,216, 69,219, 29,194,179,240,248,
- 59, 15, 89, 52,219, 52, 7,123,140, 79,157,196, 56,193,126,135,253, 30, 89, 28,145,239,239,162,129,166,170, 17, 47,144,161,109,
- 91, 49,139,121,143, 69,154,217,162, 40, 34,238,252, 52,199, 19,176,114, 80, 86,165, 28,246, 97,136,181,178,226, 51, 70,136,157,
-117, 91,203, 90, 20, 5,218, 83, 22, 21, 77, 85, 17,119,113,223, 56,142, 9,181,228,193,157,247,180,221, 48,150,196, 82, 28,230,
-189, 23, 54,134,147, 33,195, 24, 67,218,147, 42,217,170,227, 71, 40,232,124, 1, 93,244, 76, 9, 86,252,216,176,157, 36, 49, 65,
- 16, 9,168,169,147,250,189,131,193, 80, 62, 51,249, 98,193,160, 63, 4,165, 59, 35, 96, 76, 18,201,239, 11, 16,133, 49,210, 57,
- 47,107,215, 0, 13, 90,158,153,206,122,210, 84, 62,203,241,147,245, 67,210, 69, 0,229,249,107,141, 35, 8,100,255,175,117, 32,
- 42,176,146,146, 28, 81, 74, 29,173,147, 52,154, 14, 35,241, 58,104,228,119,174, 91, 81, 72,240, 40,223,213, 28, 91,107, 40,196,
-192, 81,114, 0, 0, 32, 0, 73, 68, 65, 84, 10,217,221, 58, 20,189,238, 5,153,207,102,221, 35, 70, 19, 68,225,147, 27,139,245,
- 30,103, 4,143, 39,117,160,190,107, 41, 3, 90,249,224,203, 63, 93, 67, 79, 99,208,202, 51, 24, 14,209, 97,132,214, 30,111,193,
-121, 79,150,100, 36,169, 68,165,140, 49,204,102, 83, 28,144,244, 6, 34,227,134, 49,253,161, 56, 26,171,170, 64, 41,141,210,154,
-249,124, 38,251, 4,213, 16,103,210,152,165, 2, 41,169, 8,131,206,160, 54, 47,159,160, 51,179, 84, 26,134, 64, 16,125,129, 22,
- 7,121,209,181, 77, 89, 43, 37, 46, 32,251,239,229,229, 37, 2, 45,142,255,197,108,134,181,150, 52, 75, 40,230,185, 76, 78,202,
-129,129,201,228,136,241,120,136,214, 33,113, 20, 98,172,196,207,134,131, 1, 14,197,124, 62, 35,140, 98,162, 64, 98,100, 32,209,
-181,166, 44,177, 70,154,164,142,205, 24, 97,168,165,244, 94,107,148,119,204, 22, 11, 20,142, 56, 73,101,111,105, 12,190,161,219,
-103,131, 10, 20, 89,156, 33, 62, 73, 77,152,132,120,207,119, 87, 36,222,163, 98,217, 57, 89, 47, 81,143,217,108, 14,120, 1, 25,
- 0,105, 36,254,135,170,146,215, 65, 33, 18,144,119,134,166,169,100,149, 82,138,113, 74, 41, 69,152,200,107, 27,199,113,247, 1,
- 21,120,194,177,180,239,189,167,174, 43,201,135, 86, 53, 63,253,209,101, 48,160, 98, 13,135, 11,134,163,140,163,173, 9,132, 16,
-123,195,244,209, 1, 91, 22, 22, 73,192,162,109, 25,182,208,139, 35,182,242,146, 75,202,163, 71, 61, 10,227, 72,181,230, 48, 9,
- 57,127,121,149,235, 15,167,180, 94,146, 20,206,123,222,107, 91,158, 59,127,130,222, 78,203,108, 94,241,216,236,241,104,123, 23,
- 16, 53, 37, 12, 67, 86,151,150,249,173,127,243, 13,140, 49, 60,255,204,211,164, 81,204,165,243,231,120,248,120,139,165,225, 0,
-231, 28,103, 54, 54, 72,210,132,182,105,121,255,206, 93,142,163,140,222, 58,202,178,228,238,163,199, 92, 58,127,134,178, 42,187,
- 91,120,205,218,234, 42, 74, 41,202,186,101,115,123, 23, 99, 26,174, 94,185, 66,221, 54,148,149, 40, 32,222,251, 39,239, 73,231,
-165,235,160, 42, 43,182,103, 51,222,122,239, 58,111,223,248,128,214, 28, 31,232, 16,133,138,201,116, 66, 18, 93, 96,117,121,153,
- 40,142, 8,116,192,214,209, 17, 55,238,222, 99,158,231,164,105,202,167, 62,242, 33, 54, 78, 44,179,123,120,136,243, 96,172,128,
-101,234, 86, 64, 73,147,249,156, 55,175,223,224,228,234, 9,202,186, 18,136, 80, 28, 19,132, 1,166, 59,208, 77, 43,221, 13, 42,
- 8,152,204,231,220,121,244,152,219, 15, 31,162,149,124,142,171,186,101, 58,159, 75,222,126,216,103,177, 88, 80,148, 21,162, 14,
- 10,209,113,121, 41,147, 14,231, 48, 36,237, 76, 80, 85, 93,145,196, 82, 46,212,230, 5, 75,227, 17, 89,191,199,247,124,234,163,
- 24,107,112,214,161,240,108,237,238,177,185,179,203,119,222,121,143, 71, 59,187,224, 60, 27, 39, 78,112,254,244, 6,253,126,159,
-217,162,224,239,253, 95,255,136,229,209,144,213,213,101,222,187,113,139, 19,171,203, 36, 88,126,238, 79,254, 49,254,201,172,225,
-157,195, 93, 62,241,197,191,204, 95, 60, 11,255,240,181, 51,212,237,103,136,227,125, 30, 84, 48, 81,138,175,252, 66,194,221,215,
-190,193, 51,175,252, 4,113,111, 70,112,226, 89,222,120, 29,126,244, 55, 38,244,122, 67, 86,206,127,142, 72, 31,112,246,226,103,
-249,220,231,255, 8, 31,255,177,154, 95,248,235, 63,197,175,253,157,115,156,189,242,253, 28,213, 71,236, 62, 56,100,116,242, 5,
-212, 27,138,213,143,101,172,142, 63, 65,230,150,185, 60, 88,227,227,167, 11, 22,192,191,250,181, 3, 94,127,237,111,162,215,246,
-137,139,139,240,247, 71, 56,179, 68,255,212, 89,118,238,254, 54,246,239, 39,252,227,151,190,143,245,107, 79,243,217,255, 72,241,
- 34, 49, 87, 84,202,175,207, 53,155,255, 66,113,184, 11, 47,172,120, 22,143, 20, 46,131,217,212,163,198,138,182,240,184, 72, 17,
-170, 19, 44,110,188,194,169,243,138, 76, 61, 96,127,186,160,154, 23,248,126,159, 79,124,241, 57,198,111, 69, 60,186,254, 46,204,
- 83,214,178, 63, 78,245,158, 99,118, 98,159,216,230, 92,220,216,224,205, 71,111,209, 62,246,180,182,166,204, 15,176,139, 93,170,
-188,199,209,254, 93,122, 67,197,244,214, 54,113,223,227, 77,141,138, 82, 76,227, 48, 13,244, 47, 61, 77,250,240, 30,211,205, 71,
- 88,239, 8,148, 38,141, 19, 22,121, 78, 94, 44, 68, 97, 53, 78, 96, 84, 64, 24,198,164,105,140,247, 50,252, 89, 47,242,121, 89,
-148,212,212,244,210, 76,250, 34,196,150, 33,103,132,175, 37, 3,175, 35, 25,142,162,136,131,201,132, 44, 73,232,245,251, 98, 28,
-211, 90,192, 93, 64, 93,151, 68, 81,194,120, 60, 22,208, 76, 85,162,148,102, 56, 26,146,231, 11,234, 74, 26, 63, 7, 61, 57,148,
-143, 41,117,121, 94,210, 52, 21,109,183, 95,183,221,123, 85, 20,227,128, 40,150, 9, 91,146, 72, 61, 22,249, 66,146, 77, 81,194,
-162, 88,144, 36, 41,206, 90,233,107,143, 35,130, 40, 38,246,177,236,228,123, 41,199, 42,119,190,200,113,181, 35,203, 18,210, 84,
-146, 43,109,219, 32, 29,238,138,180,159, 18,162, 9,162,136,241,104, 76,219, 53,193, 1,210, 73,162,192,187, 6,144,134, 54,229,
- 21,202,120, 90, 20,117, 93,163,148,156, 35, 79,124,112, 90,163, 91, 69,163, 27,210, 56, 33,140, 66,113,115,167,189, 30,222,123,
-102, 71, 83, 80, 1,206,137, 64,238,148,195, 27,195,228,232, 72, 14, 11, 96,212, 31, 96, 90, 49,181, 5, 74,209,235,103, 40, 37,
- 77, 79, 74,129,115,142,249, 98, 78,191,223,167, 44, 75,122,189, 62, 69, 89,200, 30, 65, 9,211, 59, 8,100,242,180, 86,120,220,
-211,201, 20, 99, 29, 42,138,100,202,246, 17, 73,183, 67, 55,182,165,105,228,102,167,212,177,203, 29,134,163, 17, 77, 91,211, 52,
- 21,163,209,152, 50,207,233,117,208,141, 65,218, 99,190,152, 51, 24, 12,240, 74,120,213,101,158,163,130, 0, 29,199, 12,135, 99,
-240, 86,204, 75,198,112, 52,157,202, 67, 53, 73,152,205,166, 40,165,209,161,192, 15, 52, 33, 85, 81, 10, 88, 39, 0,237,161,168,
- 90,192, 51,159,231, 34,241,116, 47,112, 47, 77, 9, 34, 65,129,102,105, 79, 34, 15, 58,192,180, 34,111,155,166, 65, 43,245,196,
- 33, 28,198,178,159,153,205,230, 4, 81, 72, 47, 73, 41, 22,115,210, 94,134,242, 80,148, 21,222, 91,210, 52, 3, 37,100,176,168,
-187,193,210, 29,240,242,119, 59,194, 58, 79,160, 66,156,239,148,135, 64,138,109,194, 32,192,105,197,112, 56,144, 75,137,150,189,
- 77, 81, 20,146,129, 31, 8, 22,209, 59, 80,120, 92, 83, 17,165, 25,182,181,204,155, 25, 89,154, 17,106, 77, 89,213, 88,196, 32,
-167, 91, 97,212,199,161,152, 71,156,179,244,178, 30, 69, 89,210, 26,195,247, 94, 77, 89,239,201,161,230, 19,184,115,111, 7,237,
- 13, 85,209,240,252,198, 8,151, 23,168, 72, 49,176,158,126, 24, 82, 28,213,188,190, 61,165, 1, 74, 15,211, 56, 64,233,152,139,
-103,123,236, 62,156, 48,143, 34, 30,151,150, 44,137,152,148, 13, 55,238, 79,192,193,106,148,114,247,168,100,148,141, 48, 10,218,
- 34, 39,236,214, 27,222,123,214, 86,150,105, 90,195,203,207, 93,229,189, 15,238,112,235,222,125, 62,242,210,243,196, 58, 36, 73,
- 18,154,166,225,112, 58,227, 43,223,124,141,239,121,245,163, 60,251,212, 21,190,231,147, 31,231,234,229,139, 92,191,117,151,157,
-131, 3, 38, 71,115, 54,183,119,153,206,133,253,239,148, 22,197, 74,105,182,118,101, 90, 71, 57, 86,150,151,184,122,249, 2,107,
-107,171, 76,166,115,230,243,156,209,112, 64,146, 74,191,116,160,197,213,154,166, 41,167,179,148,245, 19,171,172,157, 56,193,191,
-252,221,175,114,252, 37,117,189,136, 1,198,125,247,162,121,225,204, 25,174,156, 63,203, 7,119,238, 83, 85, 21,191,255,250, 27,
-124,248,197,231,104,157,227,233,139, 23,184,116,241, 60,159,254,216,135, 49,198, 48,201,115,250, 89,198,217, 83, 27, 60,117,225,
- 2, 47, 62,253, 20,101, 46,128,162,192,218,238,242, 37, 88, 76,165, 20,182,182, 76,142, 38, 28, 28, 28,145, 87, 21, 87,206,157,
-101, 99,125,157,143,191,242, 2, 87,206,159, 35,203, 50,132,200, 21,146,166, 13, 71,179, 25,120, 71,218,173,210,172,181, 84, 85,
-197,111,125,245, 27,252,155,111,124,147,155,119,239,241, 7,123,225,211, 36,230,165,103,174, 96,172, 35, 63,146, 97, 97,182, 88,
- 48, 91, 44, 24, 13, 7,140,250, 18, 83, 43,129, 69, 94, 48, 57,154,226,172,227,204,198, 58,151,207,159,101,123,255,144,197,162,
-224,212,201, 53, 62,116,245, 41,214,134, 49,118,253, 20,215, 31,237,113,138, 31, 97, 41,131, 95,226,144, 7, 55, 87,136,117,200,
-222,214, 61,118, 31,255, 75,212,239, 90, 92,208, 50,219,186, 69,128, 35, 27, 39,132, 91, 83,226,100, 76,211,204, 56,216,220,231,
-218,103,255, 83, 70, 97, 69,126, 84,242,198,155,135, 60,188,183,138, 14, 60,233,240,101,182,239,126,139,229,245,167, 56,127,237,
-223,225,234,243, 63,192,230,157,111,178,163,191,193,112,112,138,253, 15, 12,215,171,130,191,255, 63, 94,231,222,219,191,200,226,
-240, 13,134,163, 85,242, 34,167,215, 75,137, 82, 33, 78,154,119, 10, 92,171,177,190,101,247,225, 47,114,233,254, 15,176,245,206,
-207,240,194,231, 62,194,103, 62,167,208,206,179, 61, 83,220,121,243,109, 78,252,153, 23,184,252, 74,129,219,239,177,255, 14,236,
- 28, 42,172,170,200,231, 33, 83,167,152,108, 77,152, 95,159,177,124,165,230,218,185, 13,174,215,134,235,239,222,192,183,150,171,
-207, 93,226,212,249, 85,246,110, 42, 86,214, 95, 34,159,222,166,186, 53, 99,177, 92,113,114, 20,178,177, 58,230,254,189, 67,188,
- 5,111,114,240, 53,110,150, 50,221, 59,224,227,159,252, 16,247,110,123, 50, 45,141,106, 1,150,214, 11,187,188,105, 67,206,124,
-242,211, 52,255,252, 55,240,177,193, 89, 79, 89, 55,244,135, 3,176,130, 82, 77, 51,153, 88,189,181,228, 69, 65,110,100,141, 26,
-234, 4,111,133,216,214,207,122,128,163,172, 27,172, 51,114, 88,107, 24,244,135,120, 44,197,162,194,169,174,151,163, 42,241, 70,
- 12, 96,101, 85, 19, 71, 17,227,229, 37,156,113, 68,105, 44, 64, 46, 35, 16,172,214, 26,250,131, 1,206,203, 97, 28,133, 17,117,
-221, 60, 49,189,133, 97, 36,131, 84, 83,147, 38, 9, 85, 93,226,189,248,105,218,186, 34, 73, 99,226, 48, 4, 39, 62,161, 40,137,
-136, 98,241, 57,101, 89,198,108, 54,199,133, 82, 30, 54, 91, 44,192, 41, 84,160,169, 90,131, 54,158, 56, 14,176, 22, 22,243, 41,
-222,122, 70,195, 33, 89, 42,151, 30,239, 5,164, 19, 4,242, 25, 46, 59,117, 54,159,119, 43,133, 52,165,151,166, 68, 81,210,249,
-147, 68,233,118, 14,188,119,204,243,156,225, 96, 0, 14, 60,150, 64, 71,228,197,156, 48,136,200,122, 25, 10,133,243,134,162,168,
- 72,123, 25,120,121,166,135,199, 59,225,249,124, 46, 15, 96, 0,103, 24,142, 70,180,198, 62,121, 64,226,193,122,217,125, 28,118,
-109, 80,120,209,251,199,163, 49, 90, 59,145, 14, 60,210,145, 30, 72,215,122, 16, 72,188,224,152, 54, 22,105,113,203,135, 90, 99,
-218,150,217,108,134,119, 86,246,205,189, 30,161, 82,148, 85,137, 71,118,235,222, 11,126, 47, 77, 82,140,151,168,153, 87,138,193,
- 80,138, 87,240,114, 67, 51,173, 72,249, 90, 11,213, 74,105,217, 79,162,160, 40,115,180,134, 48, 8,113, 14,185, 40, 24, 41, 89,
-209,161,102, 62, 47,186, 67, 48, 36,138, 2, 2, 21,203,234, 65,105,136, 19,188,119,164, 62,197,180,146, 23, 28, 12,134,196,169,
-116,235,226, 60,160, 37,255,235, 45,101,221,160, 91,141,177, 45, 40,232,247,134,180, 70, 74, 13,218,170, 34,212, 33,105, 63,195,
- 35, 4, 35,103, 92, 23, 29, 9,133, 99,239, 60, 89,175,143, 49,194, 84,206,250, 61,154,178, 38,140, 2, 22, 51, 49,149,180,199,
- 30,132,182,101, 48, 26, 49,159, 77,241, 58,192, 52, 21,173, 23,196,237,210, 96,137,162, 42,152,119, 77, 88,129, 10,104, 76,131,
-228, 55,229, 1,239,241, 40,171, 58, 23,123, 12,117, 77,109, 12,253,126,159,249, 98, 33,232,198, 80, 46, 94,105, 58,160, 23, 4,
-242,254, 80,199,121,121,161, 43,181, 13, 29,229,200,200, 84,143,227, 39, 94, 22,118, 61, 9,168,237,130,111,189,185,201,234, 40,
- 33, 11, 20, 58,207, 57,172, 28,117,181,224,228,234, 0,156,165,202, 91, 84,168,176, 30, 86,179,128,184,159,145, 6,176,121,119,
-159,178,110,185,104, 71,108, 79, 11,114,235,201,116, 40,156,120, 5, 77,107, 73,138,134,239, 20, 5, 39,226, 28,178, 17,227,209,
- 80, 14,142,249,140,157,253, 3, 86,150,150,216, 61,152,112,112, 56, 33, 77, 99, 54,183,119,121,230,242, 69,178, 36,161,106, 26,
-130, 32,224,147, 31,126,133, 23,159,189, 74, 28,132,108,156, 88,225,206,253,135,220,121,248, 0,231, 96,117,121,204,211, 87, 46,
-178,126, 98,153, 32, 8,196,157,219, 52,236,237, 31,176,127,112, 32, 31,164, 48,228,233, 75, 23, 56,117,114,141,209,112, 64, 47,
- 73, 49, 39, 86,209, 8,194,248,189, 7, 15, 57,177,180, 36,151, 62,173,104,218,230,137, 73,108,105, 52,146,131, 18,193,107,174,
- 46,141, 89, 93, 94,102, 52, 24,136,185,174,105,152,206,231, 60,122,188, 37,254, 11, 5,103, 54,214,137,163,136,229, 94, 74, 47,
-142,185,121,235, 46, 79, 93, 56,135, 86,154,239,188,251, 30,101, 37,205,105, 55,238,221,163,223, 79,185,116,238, 28, 58, 16,146,
-162,168, 57,138, 48,140,137, 34,185,240,158, 92, 61, 65,150,222,163,159,166,220,121,240,136,121,158,115,233,236,105, 94,188,118,
-149, 94, 26, 83, 53, 70, 38,125,173,208, 90,250,210,195, 78,157, 42,107,136,195,144, 87, 95,126,145, 94, 18,115,230,244, 41,190,
-250,205,215,200, 11,185, 4,129,230,197,107, 87, 41,202, 10,173, 52,243, 60,231,183,191,250,117,254,245, 55,190,197,246,238, 46,
-117, 35, 83, 74, 28,135,244,122, 61,150,150, 70, 24, 43,151,248, 31,252,236, 31,225, 95,124,233,171, 60,115,241, 60,243, 60, 39,
-193,243,226,149, 11,252,230,214, 4,107, 35,124,180,206,209,183,225,245, 47, 39, 28, 29,126,131,186,125,192,116,243, 93,140,158,
- 96, 26,131,109,107,202,249,125,118,239,126,141,103, 95,253, 17, 84, 82, 66, 24, 97,138, 57, 77,181,160,250,214,255, 46,156,133,
-112, 76,191,191,142,179,215,112, 65,204,231,127,248, 23,217,222,254, 21, 6, 39, 71, 92, 58,255, 83,124,250,167, 21,223,254,245,
- 19,188,246,155,127, 19, 14,193,228, 37,179,195, 59,228,139, 41,144, 18, 70, 61,230,179, 41, 56,195,220,182, 4, 69,133, 55,226,
-252,118, 78, 50,201,197,180,229,253,163,127,202,248,196, 55,184,254,149, 51,252,234,127, 55, 32, 12,199, 56,159, 83,230,143, 56,
-250,169,159,225, 83, 95,252,105,254,236, 79, 84,152,143,102,212, 95,131,195,226,144, 96,227, 17, 90, 29, 49,123,111,143,157,251,
-223,225,193, 59,219, 28,124,228, 2, 87, 63,245, 18,170, 45,185,243,232, 17,173,247,156, 91, 26, 50, 62,223, 48, 59,124,132,105,
- 61,249, 60,167, 50, 7, 52, 71,142,229,193,128,251,227,199, 48,201,208,170,123,222,198, 17, 71,243, 28,180,230,249, 15, 61,143,
-137,196,148,101, 10,131,200,126, 1,101, 9,193,104,200,234,181,231,216,123,247, 45, 22,139, 5, 0,149,119, 12, 6, 3,154,170,
- 33,246, 33, 58, 12,105,172, 20,240, 4, 65, 32,133, 41,109,131,246, 10,148, 72,227, 97, 16,147,101, 82, 13, 93, 85, 18, 49, 5,
-240, 94,145,100, 49,206, 41,192,131, 19, 92,118,221, 72,243,166, 67,204,186, 97, 20, 82, 85,149,172, 21, 3, 77,104,132,158,217,
- 84, 21, 85, 93, 99,189,101,121,184, 68,214,235, 9,147,161,145,172,189, 53, 93,219, 40,142,193, 96,196, 98, 54,235, 84, 81,197,
- 98,158, 19, 45, 69,194,149,215, 10,219, 90,106, 85, 96, 29, 79, 82, 33, 81, 20, 81,149, 37, 88,143,199,161,172,167,110,229,103,
-175, 42, 25, 30,156,147, 60,250, 60,159,147, 37,242,236, 11,117,216, 41,174,186,139,171,137,209,216,122, 71, 91,212, 18, 27,111,
- 42,194, 32,166,151,117,175, 91,253,221, 6, 76,173, 84,183,214,141, 81,200,128,148, 36, 25, 85, 83, 19, 84, 21,113,154,209, 52,
-150, 40, 12,187,182, 82,233, 53, 9,171, 90,178,165, 32,149,148, 14, 40, 43,105, 91,210, 74,178,229, 58,234,152,232,165, 33, 74,
- 98,188, 5,237, 29,121, 81,128,129,253,253,125,113,223,105,205,104, 52, 38,234,178,140, 97,231, 46, 86,240,221,203, 1,194, 13,
-159, 77,167, 79,178,226, 65, 28,145,232,128, 16,168, 90, 35,160, 16, 28, 30,223, 25,223, 2,134,195, 33,166,144,238,101,217, 5,
-183,232,208, 49, 26, 15, 17, 44, 97,139,246,158,233,116,202,120, 52,194, 41, 1,228, 47,138,156, 48, 12, 73, 2,153,150,140,107,
-200, 23,237, 19,167,121, 47,203, 24, 15,229,161,170,117, 32, 19,141,130, 56,203, 8,117, 32, 96,130, 88, 99,172,144,130,134,195,
-126, 39,165,122,138,162,236,118, 53, 1,195, 76, 76, 26,248,174, 76,192, 6,228,101,133,214,190,139,114, 36, 93,238,191,161,236,
-100,127, 99,165,174, 20,160,232, 58,130, 23,139, 57,253,254,128,178, 44, 1, 41,216,145,166, 58, 1, 59,104,173, 65,137,206, 30,
- 5, 17, 10, 24, 12, 71,184,182,193,212,210,164, 54, 24,246, 65,195, 96, 48,192, 26,219,177,137, 29, 65, 24,176,152, 47, 80, 74,
- 49,236, 15, 64, 75,132, 81,163,168,170, 26,165,165,133,109, 62,159,161,149, 98, 48, 30,227,172, 65,218,128, 22, 56, 47, 52, 35,
-165, 20,129, 14, 48,129,236,250, 21,158, 48, 12, 8, 58,249,236,169,147, 9,103,199, 1, 62,246,224, 52,191,245,187,215,137,181,
-163,215, 24, 84,172,201, 91, 79,164, 21,203, 43,125,194, 44, 97,247, 32,103,175,168,137,179,140,181,165, 30,179,105, 73, 98, 65,
- 7, 80, 98,169,112,132,182,165,137, 99, 78, 37,154,133,245, 28,196, 1,163,220, 80, 97,169,172,231,103, 63,119,133,215,231,240,
-126,173,121,234,226, 69, 0,154,214,112,239,225, 38,167,214,215, 57,127,106,157,247, 63,184,213,145,158,132, 38,184,178,188,196,
-112, 48,196, 76,167,114,160,100, 41,189, 94,143, 69, 89,113,229,194, 89, 14, 38,215,184,191,185, 37,232,224,166,237,128, 68, 17,
-195,129, 80,195,210, 36,101,107,111, 31,231, 97, 94,148, 76,102, 11, 30,108,109, 51,156,246, 57,189,113,146, 32, 12, 40,171,154,
- 71,155,219,178,166,170,196,189,189,185,187,203,214,222, 62, 71,147, 41,187,135,135, 79, 14,116,224, 9,120,165,105, 26, 22,121,
-193,160,151,226, 3, 49,185,205,115,105,138,178,214,242, 96,115,147,211,167,214, 73,162,132,253,122, 74, 94,150, 12,251,125,234,
-166,230,252,233, 83,188,246,230,187, 84,101,197,242,112,200,222,193,132,241,112, 72,154,196, 36,174, 3,105, 32,107,129,163,233,
-140,173,157, 61,126,231,235,191,207,131,199, 2,205,121,249,185,171, 92, 58,123,134,115,167, 79, 49,207,115,142,233,146,130,234,
-148, 88,107, 28, 73,197,101,219,200, 94,126, 82, 76,248,123,255,247,175,113,243,131, 59, 44,254,192, 3, 27,164, 17, 43, 47, 74,
-130, 64, 61,161, 73, 14,135, 67,174, 94,185, 72, 85, 87, 28, 28, 78,104, 90,195,234,242, 42,175,190,252, 34,103,214,215, 9,130,
-128,170,109,232,101, 61, 62,246,202,243,188,254,246,123, 44,143,199,156,233, 71,236, 39, 3,222, 62,170,176, 83, 56,124,244, 53,
-222,254, 90, 69, 81,236, 48, 61, 56, 96,253,202,171, 20, 71, 71,180,213, 29, 26,151,210,148, 51,166, 91,239, 48, 88,251, 36,229,
- 98, 78, 61,249, 54, 74,245,112,222, 83,206,118,217,158,220,224,204, 51, 31, 38, 28, 94,162,170,142, 48,174,162,154,239,177,178,
-250, 2,103,127,232, 69,130,173, 17,135,179,155,188,249,255, 60,195,187,111,191,207,193, 27,183, 56,154, 30, 18, 41, 47,197, 73,
-182, 37, 8,196,192, 20,132, 1,253,225, 18, 58, 8, 37, 70,213, 4,114, 88, 24, 35,223,151, 68, 88, 83,179,255,232, 30, 97,186,
-139,210,138, 40,238,211, 54, 57,206, 25,222,255,234,127,195,163, 27,255,136,199,247,255, 22, 63,247,159,173,208,255, 99,142,131,
- 95, 57, 67,249,193, 22,225,232,144, 96,240, 30,213,236, 38,139,195,125, 30,189, 22, 16,182,151,184,242, 61, 47,224,238, 95,103,
-111,145, 99,173,229,226,210,136,157,237,119, 48,238,105,138,197, 2,171, 74,108, 81,147,249,132,208,213,132,233, 16,223, 38,224,
- 79, 48, 58,191,198,209,116,202,157,251,143,120,233,165,107,156, 56,127, 30, 76,203,246,163, 45,116,101,169,156,130,221,144, 66,
- 55,244, 47, 94, 99,243,157, 55, 8,130,142,242,217,235, 81, 20,133, 12, 34,222, 83, 55,210,136,230, 90,139,193, 49,234,247,137,
-146,132,182,109,177,206, 18, 41,241,230,180,166,197, 89,241, 81, 69, 90, 19,119,103, 68, 89,150, 79,158,101, 85, 94, 80, 85, 98,
- 54,110, 26, 71, 24, 58,230, 93,241,146,242,138, 52, 77, 80, 74, 19, 5, 49,121, 81, 98,109, 75,191,215,199, 42, 11,129,116,161,
-135,177,144, 52,171, 69,217, 93, 52, 34,242,197,156,162, 40, 25, 47, 45,211,180, 13,101,158, 3, 98, 72,139,162,152, 65, 24, 51,
- 95, 44,104,141,235,218,219, 20,222, 43,105, 85,211, 33, 89, 38,208,181, 99,179, 50,208, 77,209,162, 70,180,206,208, 84, 21,139,
-118,193,112, 56,196, 33, 19,119, 26, 39,148, 85,142,115,162, 82,235, 48, 32,201, 50, 84, 43,137, 24, 99, 12,243,197, 66,124,232,
-222, 19,167, 41,222, 88,210, 36,198, 58,199, 98,190, 64,114,235,224,157, 37,141, 69, 13, 46, 75,249,249,179,180, 7,222, 83, 27,
-169,125, 13,206, 95,186,252,215,226, 56,166,151,246, 58,103,120,136,119, 14, 21, 4,164, 73, 66,156, 36, 79,246,184,182,187,137,
-213,117, 77,107, 26,232, 94, 96,227, 61,174,105,176,120,170,178,162,234,130,251,199,255, 84, 85, 69, 83,149, 84,117, 67, 85,150,
-148, 69,142,113, 86,226, 17, 89,138, 83, 96,234, 70,222, 0,198,118,136, 87,129,223,247,211, 12,227,189,180,170,101, 25, 73, 42,
-109,111,105, 42, 8, 67,229,229, 98,144,116, 38,132,186,203,136, 59,227,192, 11, 20, 37, 77, 82,234,166,150,233,223,203, 4,111,
-141,161,159,245, 57, 46, 46,232,245,123, 36, 81, 68,191,215,163,200, 75,154, 70,246, 60, 65, 20, 48, 91,228,224, 28,105,150,113,
-220, 62, 86, 84,242,130, 26, 35, 88,191,227,120,148,105,164, 8, 39, 10, 35,156, 23, 71,122, 20,134, 52, 77, 11, 74, 46, 62, 73,
-146, 62,121,184, 89, 35, 93,196,214, 26,146, 68,184, 0,199,208,155, 48,148,120,153,105,101, 15, 25, 4,226, 41,136,162, 24,103,
- 28,141,109,112, 86,144,176, 81, 20, 17,197, 49,166,105,196,245,174,180, 48,135,195, 64,232,119, 85, 69, 93,137, 49, 36,203, 50,
-156,151,181, 7, 94,227, 76, 67,191,151, 17,199, 9, 69,158,139, 18,210, 31,208, 90, 49, 67, 69, 81,132,214, 98, 38, 83, 90,246,
-195,105, 42, 4, 37,227, 44,117, 89, 98,173,236,214,173,181,252,204, 39,251, 60,119, 34,128, 89,203,111,255,179, 55, 65,105, 70,
-253, 8, 95, 52,180, 58,160,172, 44, 89, 34,145,168,123, 7, 5,139,142,242, 4,138,222, 60,199, 56, 69, 54, 72, 88, 26, 68,236,
-238, 45,136,181, 96, 22, 7,120,242,188,161,104, 28,213,162, 98,222, 90, 62,113,225, 4,203,235, 3, 62,216,202,153,215, 21, 19,
-191,198,227,189, 93,222,189,121, 11, 99, 44,195, 65,159,103,159,186, 66,211,212, 76, 23, 5,171,203, 99, 94,126,254, 89,214,215,
- 86,121,253,237,119,249,218,107,175, 99,173,101,109,121,137, 44, 77,233,101,146, 78,216,220,217,103,247,224,160,251,176,180,108,
-156, 60,193,250,202, 10,151,207,157, 37,138, 99,250,221,101,174,168,106,102,243, 5,211,249,172,163,102, 41,206,156,218,144,215,
- 51,148,201, 98,255,112,194,141,219,146, 51,111,141,225,236,169,117,206,159, 57,205,139,207, 60,197,195,205,109,246, 14, 39, 79,
- 30, 18, 90,193,120, 56,224,249,171, 79, 49, 30, 14,112,116, 83,128,119,220,121,240,152,189,195, 3,180, 86,156,219, 56,197,249,
-179,167, 89, 95, 89,226,236,233, 13, 78, 44, 47, 83,148, 57,189,180,199,228,104,202,245, 59,119, 56,152, 28, 17, 70, 17,175,190,
-242,162,228,240, 19, 97, 37,104, 64, 12, 75,142, 32, 80, 4, 97,200,202,120,200,206,238, 1,121, 89, 98,172, 99,208, 19,131, 93,
-214, 77, 94,199,158,147,214, 88, 90, 99,208,154,238,179, 38, 32,167,214, 24,246, 15, 14,185,253,232, 17, 85, 85, 63, 57,208, 47,
-159, 63,203,149, 11, 23,232,247, 82,178, 44, 67,233,128, 91,119,239,243,230,123,215,121,239,230,109,142,230,139, 39,223,223, 90,
-195,234,242, 50, 87,206,159, 99,216, 23,196,168, 49,162, 16, 28, 59,141,215, 51,197,107,109, 76,142, 99,190,151,179,115,251, 3,
-170, 98,143, 83,159,252, 83,252,202, 47,124,129,191,240,197,103,248, 78,240,227, 92,255,250,175, 48,219,121,141,124, 54,225,197,
-239,255,207,249, 31,190,241, 63,241,133,159,253, 49,190,242,203, 31,240,248,230,175,227,155, 35, 22, 7, 55,184,244,252, 79,211,
- 31,159,160,156, 61,162,174,102, 76,247,110,179,125,247,107, 16,151,164, 43,154,163, 15,230,108,222,125,135,111,254,206,223,229,
-230,107, 63, 79, 93, 76,136,211, 62, 62,177, 68, 58, 36, 77, 50, 2, 52, 86,137,177, 86,171, 8,239, 28,182,117, 56, 44,222, 88,
-180,130, 48,136, 9,131, 8, 84, 32, 64, 33, 99,240,182,193,212, 5,214, 74, 18,164, 46,115,142,246,111, 81,205,238,146, 46,125,
-145, 23,158,211,220,120, 39,226,206,187,239,114, 52,187,193,254,141,119, 41, 15,197,119, 20,244,207,112,238,252,159, 38,227, 10,
- 27, 87,114, 14, 15,143, 88,148, 37,147,124, 78,225,182,201, 31, 55, 84,249, 17, 20, 57, 62,170,228, 0, 41, 74,194, 19,125,124,
-153, 16,143,214, 24,246,215,136,198,150,189,189,125,206,173,175, 97,146, 51,120,165,104,138, 67,249,155,168, 8,223,243, 88, 52,
- 58,138,232,101, 33,205,254, 62,141, 49,221,228, 28,208, 58,241,156,212,149, 68,109,109, 55,193,151, 85, 37, 44,145,178, 38, 47,
-114, 76,107,200,250, 25, 81, 20,139, 98, 24,106,194, 56,162, 40,229,162,123,124, 89,213, 65, 64,210,121,118,162, 72,232,110, 89,
-146, 49, 28,138, 41,217,122,143, 53, 50,224,228,121, 73,214, 75,137,162, 24, 21,120, 76,219, 61,219,189,195, 91, 8,148,252,127,
- 25,231,105,219,154,193, 64, 98,204, 32, 14,245, 36,145,178, 42, 73,128,120, 60, 82, 52,118,108,148,174, 75,137, 20,155, 86, 80,
-202,101, 93, 61, 97,144, 56,231,232,150,124,120,173,137,147,176,147,218, 21,198, 88, 90,219,146,166,178, 66, 69, 9,251,222, 57,
-136, 98, 57, 11, 90,107,136,194,152, 36,142, 72,211, 46,153, 20,137,153, 22, 39, 20, 62,235, 28,182, 51,164,166,169,156, 7, 97,
- 20,225,177, 84, 69,133,239,148, 93,239, 5,235,173,148,196,230,194, 40,142, 49,173, 37,111, 10,194, 84, 38, 63,165,101,103, 88,
-148, 37, 73, 42,192, 20,239, 61,198,202, 47, 57,232, 15,240, 56,230,243, 5,198,123,108,219, 18,120,158,228,168,181, 10, 8, 66,
-193,136,250,182,197, 1,214,131,115,134,227, 56, 68,154,101, 68,129,152,213,198,163, 17, 42, 73,112, 70, 12, 98,121, 81, 48, 28,
- 12, 8,117,136, 10, 35, 84, 43,113, 9,211, 29, 50, 56,240, 74,236, 58,198,123,185, 13, 43, 5, 78,110, 88,182,109, 73,226,132,
-188, 46,232,101, 61,170,186, 66,163, 81,129, 2, 39, 57,112,165, 21, 69, 83,208, 11,123,132,113,204,124, 62, 35,205, 18,180,142,
- 73,251, 61,138,197,140, 69,190, 0, 47, 84, 36,215, 73,206,109, 83,209, 58, 24, 15,135, 79,110,108,109,107,152, 78,167,178, 87,
-215, 1, 65, 16, 82, 52, 45,105,154, 18, 7, 65, 87,122, 33,196,175, 40,146,219,151, 67, 12, 36, 98,174, 11,233,197, 33,200,221,
-142, 56, 12, 5, 77,136, 35,205, 82,180,215, 82,100,208,189,174,214,202, 94, 93,133, 10,229, 53, 54, 55, 20, 69, 33, 21,167, 65,
-192,160, 63,192,121, 79,211,136, 2,163,181,166,110, 91, 6,131, 1, 65, 16, 16,199, 93,146, 65, 41, 26,211,130, 23, 89,125,177,
-200,233,101, 25, 85,231,164, 87, 94,209, 26,139, 14,196, 15, 80, 20, 5, 65, 32,222,137,227, 62,225, 40,138, 72,123, 61,180,146,
-255, 78, 63, 40,249,225,231,123,120, 3,223,121,253, 54, 77,217,240,176,180, 92, 25,103, 12,174,108, 16,134, 33, 43,242,190,101,
-239,241, 1,211,188,165, 55, 16, 94,244,160,174,152, 70, 1, 35,103,184,243, 96,143, 75,231,215, 24,102, 9,173,243, 60,119,225,
- 4, 62, 14,121,231,198, 22,222, 59, 98, 15,103,135, 41,147,163, 25,245,102, 77,218, 79,208,253,152,179,235, 3,146, 81,159, 43,
-151, 46,240,206,251, 55,165, 76,199, 91,158,185,114,153, 47,125,253,155,124,253,181,215,153,205, 23,252,187,127,242, 71, 8,163,
-144, 40, 8,121,254,234, 83,124,248,133,231, 56,179,177,142,210, 34, 71,159, 63,179,193, 59, 55,111,162,129,231,174, 92, 38, 8,
- 66, 6, 93,218,193, 58,207,225,116,198,187, 55, 63,224,219,111,190,205,253,173, 29, 34, 29,112,233,218,121,206,109,156, 34,212,
- 26, 97,172, 59,170,186, 17,195, 79, 79,226,147,117,211,202,100, 83,215,124,233, 43, 95,231,205,247,111,240, 7,191, 70,195, 17,
- 27,235,107, 20,121, 69, 81, 86,242,158, 9, 2,238,111,110,113,127,243, 49,101, 85,163, 81,204,230, 11,172, 49, 98,164,113,150,
-225,176, 71,154,164,180,166,229,214,195,135, 28,167, 65,118,246, 14, 56,156,206, 57,127,250,180,224,134,129,214,121,140,145, 24,
-101, 85, 55,108,239,238,114,239,209, 38,187,135,178, 86, 91, 26, 14,168,154,234, 73,113, 74,221,212, 40, 20,129, 86, 79, 46,197,
-117, 45, 60,172,178,146,203,242,193,225,132,111,190,249, 14,243,121,254,135,126,159,135,155, 91, 60,125,241, 2,147,217,156,193,
-193,132,105,103,224,219,221, 63,192, 56,129, 24, 73, 14, 23,174, 94,188,200,171,175,188, 72, 20, 71, 24,231,112, 94,128, 73, 85,
-221, 8,221,176,169,168, 8,184, 91, 22,244,207, 62, 15,239, 30, 80,230,111,176,122,250, 42, 31,190,118,145, 67, 74, 26,239, 89,
- 89,137,248,216,247,253,247,220,124,243, 31,178,182,190,202,247,254,216, 95,100,217, 27, 28, 57, 31,255,194,127,193,100,239,117,
-166, 59,239,242,244, 71,255, 28, 63,250, 23,254,107, 30,221,134,111,253,203,191,206,246,187,191, 74, 91,239,177,116,242,147,164,
-189,148,205,119,190, 77,253,208, 50,221,185, 65,147,111,129, 85, 88, 60, 26, 75,224, 18,226, 0, 90, 39, 6, 72,144,135,188,107,
- 42,194, 44,237, 84, 59, 13,218, 99,116,141,175, 74, 76, 37,132, 66,165, 21, 97,220,195, 19,162,148, 69,249, 0, 29,136,177, 83,
- 27,184,251,198,191,226, 23,255,171,159,228,159,255,157,207,162, 19, 77, 53,187, 9,213, 22, 59,251, 59,164,107, 49,131,254, 69,
- 54, 46,124, 47, 31,249,208, 85,158,126,206,241,157,247,254, 40,107,203, 59,220,189, 87, 96, 49, 4,190,196,154,247,153, 77, 10,
-210,108, 70,207,196,212,170,102,243,246, 99,174,126,254, 44,126,170, 80,234, 4, 97,118,142,231, 94, 57,199,239,127,229,203,188,
-123,231, 62,103,244, 10,108,173, 48,186,168,209,174,193,171,132,214, 6,168,125, 77,179,225,232,159,127,138,228,246, 45,138,188,
-192, 58, 3, 42,198,183, 18,117,246, 86,234,154,171,170, 34, 95, 44,232, 15,135, 4, 40,156,183,184,133, 60,135,102,211, 25,105,
-218, 99,208, 23, 3,155,105, 91,180, 82,148,121,142,245,158, 56,136,176,174, 37, 64,114,226,109,219,118,145,173,238, 25, 86, 74,
-231,185, 34,166,200, 11,130, 72,100,231,227,181,107, 18,119,157, 34, 81,132,239,100,127, 21, 4, 4,206, 63,129,179,212,141,184,
-212,157,115,164,113,138,183,142, 72, 7, 44, 10, 89, 43, 40,173, 89, 90, 26, 97,173, 18, 64, 86, 18, 83,218, 86,134,220, 40,196,
- 57,143,178, 14,143,144, 29,189,242, 68, 90, 99,180,198,181, 45,113, 44, 42, 66,211, 52, 20, 85, 73,150,196,228,185,172,161,134,
-131, 97,247,187, 68, 24, 83,163,131,174,229,210, 41,188,179,232, 32,194,105, 97,228, 43, 45, 36,185,172,215, 39,176,210,134, 42,
-248, 91,105,255, 20, 16, 78,138,105, 26,202,186,198,121,137,201,133, 97, 72,216,182, 45,113, 20,209, 42,217,101,232, 72, 36,232,
-208,134,180,173,236,176, 37,183, 12, 81, 16,211, 26,153, 36,181,214,244, 6,125, 2, 96,230, 61,166,110, 4, 22,211, 97,253,196,
- 60, 38, 31,108,239,229, 54, 97,173,197, 57, 75,221, 24,194, 0, 22,139, 5,201, 49,221,202, 88, 4,144,223, 33, 77,131, 0, 21,
- 6,224, 44, 82, 74,191, 16,211,155,214, 68, 73,136,181, 78, 28,242,129,194, 26, 65, 22, 22,121,142, 53,226,108, 68, 67,160, 66,
-145,194,157,163, 49, 13,253,176, 71, 24, 10,173, 77, 76,109,210,167,222,154, 22,107, 13,206, 68, 88, 45, 57, 89, 61, 28,117,210,
-145,195, 55, 21, 73,156, 1,142,162,168, 16, 44,166,133, 80,128, 59, 58, 14,160,213, 66, 88, 10, 53,104, 69,128, 24,231,208, 1,
-253,190, 60, 36,243,121,142,210,242,191,151, 69, 69, 20, 5, 56,235, 33, 22,230,186, 14, 98, 66, 93,209, 90, 81, 70, 92, 39,249,
- 43,173, 72,162,132, 54,240,228,139, 90,246,162, 14, 66, 29,136, 92,223,235, 51, 91,204, 24, 13,134,228,197, 2, 29, 74, 5,166,
-199,177,200, 23,164, 73,202, 96,208,167,169, 91,156,175, 8,227, 37, 60,226, 10, 13,181, 38,136, 18,140,105, 72,211,238, 38,172,
- 60, 71,221, 37,101,212, 33, 80,149,151,254,244,227,135,186, 49, 98,244,171,155, 26,221, 72,206,187,110,106,126,228,165, 24,173,
- 20, 71,215, 55,121,240,232,136, 74, 69, 88, 99,169,210,148,226,241,148,197,162,126, 34,205,158,185,176,194,198,138,195,134, 1,
-243,194,226, 12, 36,145,146,181,143, 15,176, 90,177,118,122,196, 8,197,242, 90,159,111,188,189,201,236, 96, 70,144, 36, 68,253,
-144,105,217, 48,142, 99, 8, 35,206,156, 25, 51,181, 61,220,112,196,226,254, 67,166, 71, 98,124, 68, 11, 22,245,240,104,198,149,
-139,231,120,235,230, 7,180,198,176,181,119,192,168, 63,224,233,203, 23,201,139,146,126, 47,163,105, 13,101,119,145,125,231,198,
- 45,110,223,127,200,228,104,202,189,205,109,126,242, 71,190,192,229,179,167, 41,170,130,166,117, 76,142,166,172,175,173,113,237,
-233,203, 56, 15, 59,251, 7,108,110,109, 49, 26, 12, 88, 93, 93,166,172,106,106, 85,115,112, 56, 17, 20,237,162, 96,101,121,204,
-211,231,207, 10,248, 34, 78,248,240, 75, 47, 80, 84, 21,215,111,223,227,248,235,104, 54, 99,119,239, 0,123,229, 41, 28, 80, 55,
- 45, 42, 81,100,105,198,137,165, 37,118,246, 14,228,130,237, 60,143,183,182,233,247,123, 12,189,168, 2, 89,146,112,239,209, 38,
-183,238,222,103,239, 96,130,214,154,147,171, 43, 12,178,132,126, 63, 67, 35,165, 77, 30, 89, 77, 88,107,201,203,146,182,181,236,
- 28, 28, 0, 14,165, 69,154, 63,125,242, 36,227, 97,159,178,170, 57,154, 30,241,173,183,222, 99,231,224, 16,111, 90, 94,121,254,
- 57, 94,188,246, 52,163,209,136,198, 88,166, 71, 71,188,117,253,102,119,184,253,225,175,126,191, 47,204, 4, 99,120,239,214, 45,
- 46,156, 57,195,209,116,198,163,205,109,118, 15, 15,255,208,247, 38, 89, 66,127,208, 39, 10,165,112,201, 59, 97, 34, 52, 70, 90,
-223,134, 81, 64,144,245,105,107,232, 77, 95,224,143,254,145, 87, 24, 13,223,194,198,223, 98,251, 46,252,173,255, 54,195, 70,138,
-131,217, 67,246, 55, 95,103,253,153, 79,209, 31,213,188,243,205,155, 76,182,175,113,176, 91,178,247,232,203,156,189,250,125,188,
-240,249,191,130,246, 71,188,113,127,193,137, 31,238,243,131,127,252,191,100,235,239,252,199,220,190,255,207,168,201,169,166,183,
-217,125,251,125,146, 72, 97, 77, 69,237, 51,140,149,110, 10, 87, 22, 88, 21,144, 12,135, 68,222, 99, 12, 40, 23,160,124, 75,235,
- 28,218, 24,180, 86,184,214,128,149,106,205,188,220,231,252,199, 62,195,199, 62,243,151,248,173, 95,254, 75,204, 30,223,251,255,
-189, 82, 50,247, 41, 29,161, 3,216,187,251, 53,242,163,219,164,113,143,214,228, 84,101, 37,188,136,201, 50,189,203,151,185,246,
-145, 31,103,240,167,225,124, 90,114,242,217, 83,252,234, 63,120,129,122,245,235,220,127, 60, 37,212, 10,189, 54, 33,155,123,118,
- 30,220,161,151,105,116,147,179,124,118, 29, 53,140, 9,131,150, 32, 94, 70,133,167, 40, 31,133,188,250,105,205, 55,127,239, 75,
-132,247,222, 33,152,158,103,115,246,152, 19, 61, 69,239, 84,132,117, 41,225,201, 0,183, 19, 98,206, 68,156,124,241, 37,138,217,
- 20,186,131, 84,197, 18, 93, 30, 44, 13,169,234,154,193,160,131, 98,181, 13, 97,156, 18, 6, 17,253,225, 16,229, 69, 25,170,235,
- 18,239,165,162, 57,237,165,100,129,116, 80, 76,167, 83,233, 79,239, 84, 84, 83,181, 36,169,196,161, 21, 18,213,114,192,116, 54,
-165,151,244,136,194,144,178, 22,183,119, 89, 60, 3,234,183, 0, 0, 32, 0, 73, 68, 65, 84,139,153,216,122,135, 51, 30,219,138,
-138,224,148,135, 22,226, 48, 70, 7, 9,198, 8,184,166,169,181, 24,250,202,188,123,223,101,164,189,140,186,148,125,253, 98, 33,
-195, 75,160, 21,243, 60, 39,136, 2,188, 23,128,151, 6, 44, 50, 28, 6, 1,130, 40,199,227,218,110,170,239,212,108,107,196,167,
-228,156,127,194, 67,113,222, 33,133, 47, 18, 29,142,124,130,238,212, 91,139,102, 58,159,227,157,160,162, 37, 82, 45, 94, 37,143,
-100,216, 65, 24, 48, 94, 73, 41, 77, 93,139, 71, 37, 75, 68,141, 16,227,171, 35,184,244,244, 51,127, 45, 8, 67,130, 48,164,109,
- 91,180, 87, 36, 89,130,107,133,253, 93,213, 34, 67, 31,227,245,140, 49,180,214, 16, 6, 65,151, 87,142,137,147,152, 32, 8,177,
-166,197,180, 13,113, 28, 99,240,104, 47,198, 59,175,228,128,119,222,147, 47, 22, 40, 37, 57,117, 80,120, 99, 58, 57, 79,131, 18,
-218,143,115, 16, 37,177, 24,153,170,138,254,160,223,237,176, 11,234,186, 22,153, 34,148,139,195,124, 54, 23, 57, 74, 75,135,121,
- 81,150,221, 1, 41, 69, 3, 77,221,208,239,245, 59,150,239,119,249,245, 34,103, 7,228, 69, 33,176, 20,223, 85, 84,118, 30, 3,
-141, 98, 62, 19, 66, 80,146,100,160,132, 32, 23, 70,130,130,109,234,250, 73,254, 60, 10, 68, 54,201,203,130, 64,135,104, 68, 2,
- 42, 91,217,113,224,160,174,106,142,107, 55,219, 70, 46, 21,131,129, 56,100,211, 36, 33,236,164,218, 36, 22,249, 71,242,140, 50,
-177,164,169,220, 40,219, 86,100,254,170,170, 48,157,122,225,156,197, 56,203,104, 56,164,234,110,190,198, 88, 52,160, 3,185,212,
-180,149,228, 57, 61, 30, 99, 45, 26, 49,201,181,206,210,212,173, 56, 76,147, 4,239,160, 53, 13,117,247,253,113,154,210,148, 53,
- 90, 43,185,241, 42,213,193, 39, 60,222,119,147, 69, 16,224,157,195, 24, 97,234,255,236,167, 70,156,221, 24,242,123,223,190,207,
-163,220, 50,157, 22,168, 80,211,150, 45, 89,162, 56,117,110,204, 83,207,158, 97,152, 70, 84,101,195,172,182, 92, 60,127,146, 83,
-231,151,105,227,152,182,178, 84,104,150,178,136,179,103,199,212,139,150,253, 73, 78, 47,209,244,134, 9, 59,123, 11,206,157, 95,
-225,226,165, 85,118,247, 23, 92,187,176,194,227,205, 35,130, 40,160,137, 87, 48,195,179, 92,191,123,143,111,190,245, 62,117,211,
-224,156,103,216,239, 19,133,154, 48, 12,184,251,224, 49, 59,123, 7,108,172,173, 82,213, 53, 7, 71, 83,230,121,193,112, 48,100,
-216,239,227,149, 40, 57, 39, 87,151,104, 90,195,238,193,132,170,170,184,118,229, 50,195,225,144,162, 16,121, 58,138, 34,154,186,
-102,123,255,176,171, 40,157, 97,157,103,216,235, 19,104,152, 47, 22, 60,216,220,225,246,253,251,220,121,248,152, 32, 80, 34,181,
-101, 61,162, 56, 98,145,231,188,246,230, 59,127,136,186, 6,176,178, 52,226,244,250, 73,150,199, 35,210, 36, 70, 41, 79, 99, 12,
- 71,147, 41,179,188, 32, 47,114, 22,121, 65,191,151,241,252,213,167, 57,119,106,131,193, 96,192,184,223,151, 62,114,219, 50,157,
-206,216,218,219,103, 60, 28,114,245,169, 75,196, 81,200,104, 48,120,162,184, 53, 77, 87,236, 99, 44,222, 89, 86,150,198, 20, 85,
-205,195,173,237, 78,230, 6,188,103,101,121,137, 36, 73, 56, 60,154, 49, 91, 44, 56, 56, 60, 96,239,240,136,211, 27, 39,249,240,
- 11,207, 19,197, 33, 97, 32, 38,209,217, 34, 71, 1, 15, 54,183,158,252, 46,113, 20,114,225,236, 25,146, 56,102,101, 60,148, 85,
- 69,158,179, 40,114, 26, 99,186,159,163,125,242,253,105,154,242,220,149, 75,172, 46, 45, 17,133, 33, 90, 7, 40,132, 72,217,182,
-134, 75,195,136,155,189, 1,237,137,117,190,240, 83,255, 22, 63,247,105, 79,190,186,206,155, 95,255, 54, 59,143,110, 48, 43, 31,
-113,176,243, 22,211,253,247,216,125,240, 53,138,253, 15,240,107, 53,197,214,148,173,135,215, 57,154,126,192,225,222,251, 28,110,
-127, 7,165,160,169, 14,169,118, 15, 41, 95,159,178,251,157, 93,138,249, 67,142,230, 15, 88,204,238,145, 79, 30,227,155, 9, 77,
-155, 83, 85, 37,214,214, 40,111,209, 42,124,162, 48, 88,227, 59,226,166,165,174, 74,242,163,125,130,104,133,124,114, 15,175, 2,
-194,113,204,120,184, 65,111,121,141,143,253, 7, 63,199,191,253, 39,254, 46, 31,253,196,211, 92,188,246, 23, 80,241, 42, 31,251,
-244, 95,161, 63, 78, 48,214,112,234,169,143, 49,126,250, 18,229,108,143, 54, 95, 96,109, 77, 93, 44, 40,102, 7,148,109,142,106,
- 44,104, 77,148,244, 89,191,240,121,206, 61,253, 33,146,171,240,250,227,152,133,131,173,111,157,100,245,220, 54,147,131, 61,242,
-133,172, 59,207, 93,221, 32,212,142,195,123,178, 18,121,245,167,255, 61,206, 63,119,137, 69,115, 68, 59,141, 72,211, 83,152,166,
- 7,213,136,245,243,142,189, 71,247, 89, 63, 59, 96,251,173, 71,184, 98,159,165,181, 37,194,222, 24,116,132, 42, 52,110, 24,146,
-173,244,153, 61,184,195,252,112, 34,235, 57, 99, 73,226, 84,124, 53, 74,211, 88, 43, 52,201, 72,156,230, 65, 20, 96,107,131,241,
- 98,190, 59,110,105, 43,202, 18,173,229,185,237,156,149, 75,166, 51, 84,101, 37, 76, 12,117, 12,245,146, 41,180,174,164,118, 91,
-107, 69, 81, 20, 18, 25,141, 98,121, 15,234,128, 40,145,166,208,198,180, 56,107, 72,178, 4, 77,167,140, 57, 81, 82,148, 14,240,
- 14,130, 64, 19, 69, 98,128,110, 91,233, 71,119, 94, 98,218,116, 42, 90,211,182,180,214,146,165, 25, 81, 87,206,130,147,231,167,
-242, 78, 38,105,143, 60,111, 91,193,150,103, 89, 70, 85, 85, 68,145,196,216,154,182,145, 53,139, 7,211, 26,138,170,100, 49,159,
- 35,224, 48,131, 87, 30,239, 44,202, 43,188,183, 28,195,169,234,166, 6,239,228,119,139, 34,156,241,232, 72,192,106, 90,123, 76,
-219,173,156,147,132,168, 51,171,134, 58, 68,216, 36, 45, 97,221, 52,228,121,222, 25, 95, 28,173, 7,231, 45, 30, 37,157,232,153,
-128,250,123,113,130,242,224,156,195, 26, 35,181,167, 93,254, 54,208, 1, 97, 42, 96,148, 98, 62,103,122, 52,195,187,227,134,158,
-128,164,223, 39, 8, 52, 69,177, 64,121,240,157,148, 29, 39, 50,197,233,160,203,193,123,143, 14, 66,194, 72,110,107, 86,203, 77,
-191,233, 28,202,199,149,139,179,217, 76,164,237, 56,198, 57,135,107, 26,230,109,203,160,215, 35, 12, 3,202, 60,167,169,235, 39,
-114,179,210,154,241,120, 36, 63,151,119, 36,113,194,113,211, 24, 64,150, 37, 84, 85, 75,150,165, 40, 36,110,179,168, 42, 20, 94,
-118, 69, 70,170,247,202, 70, 72,115, 90,107,188, 18,179,156,183,246,137, 35, 20, 20,179,197, 92,110,176,221, 68, 94,151, 34,189,
- 28,199,241,162, 40, 22,195, 80, 44, 15,216, 36,142,197, 25, 95, 11,153, 77,224, 32, 78, 38, 2, 5,189, 56,165,245,142, 40, 77,
-233, 5, 1,206,137,236,217, 84, 21,222, 59, 70,227, 49, 82, 62, 35,255, 78, 20, 74, 28, 49, 47,142,113,188,146, 61,183,222,129,
-210, 16, 40,138,170, 68, 55,181, 68,166,186,201,187,153, 52, 12,250,125,116, 24,146,245, 66,142,171,105,155, 64, 16,145, 77, 45,
-206,127,231, 28, 97, 40,135,188,169, 5, 51,234,189, 56,124, 7,189, 30,207, 93, 24,114,235, 75,239,114,251, 96,206, 78,233, 57,
- 57,238,115, 38,241, 28, 46, 44,135,185,163,124, 56,195,212,150,135,247, 15, 57,127,113, 21, 85,182,236,207, 23,164,101,196,169,
- 83, 35,252,198,128,189,195, 18,141,167,245, 33,227, 97,196,193, 86,201,195,123,135, 28, 89, 69,233, 60, 39,151,251,212,149, 34,
- 12, 2,230, 85,203,211, 87, 55,120,240,240, 8,103, 43, 6, 23, 52,151, 79,159,230,163, 47,191,216, 21,157,180,172,173, 46, 75,
- 26,163, 44, 73,146,136,195,163, 35,126,243,203, 95,227, 99, 47,191, 40,187,193, 64, 58,150,131, 80,110,231, 90,105, 6,163, 49,
- 97, 24, 16,135, 17,167, 46,158,103,109,117,149,253,201, 33,248,239,254, 45,111,220,190,203, 27,239,190,199,214,222, 1,253, 36,
- 97,125,117, 25,148,103,111,114, 36,173,101,145,240,215,195, 72,160, 27,171, 43,203,224, 29,147,195, 9,147,121,193,172, 51, 76,
- 30,127, 13,251,125, 94,188,250, 12,207, 63,243, 20,235,107,171,100,105, 66,211, 58,170,170,226,214,195, 71,188,254,246,187, 18,
-171, 65,166,233, 52,137,233,247,196,107,162,149,230,193,230, 38,239,223,188,205,206,193,132, 40,138,184,112,230, 20,163,209,136,
-181,213, 85, 33,190,213, 45,173,109, 59,165, 42,160, 44, 23, 76,142,166,220,184,119,159,199, 91, 59, 79, 36,251,186,109, 25,244,
-123,114, 9, 73, 98,198,195, 62,167, 78,158,192, 26,139,115,176,123, 56, 97, 58,155,178,186,178, 74, 28,198,172,173, 46,243,161,
- 23,158,125, 34,215, 31,127,153,214,178,179,127,192,181, 43, 23,185,116,238, 28, 59,251, 7,188,246,214,187,124,227,245, 55,158,
-252,183,142,191,210, 56, 33, 77, 98, 38,211, 57, 85,221,176,186,178, 76,150, 36,228,101, 73, 81, 86, 96, 12,237,160,199,219,147,
- 57,195,242, 85,202,187,158,223, 60,225,216,158,104, 76,120,145,249,163,127,141,217, 15,193, 55, 52,213, 17,135, 15,127,159,229,
-141,151,152, 92,255, 22,145,154, 99,170, 22,111, 29, 85,181,199,108,247,125, 76, 61,227,228,249, 43,148, 85,197,124,118, 23, 91,
- 22,236, 63,250,125,172,105, 73,135, 39,169,138, 61,218,162,196,217, 2,173, 83, 8, 98,154,182,192,216,130,147,167, 94, 97,122,
-120,155,166,154, 49, 57,242, 12,135, 99,146,112,206,171,127,230,151,249,165,191,247,131,252,141,223,189,205,254,157,175,208, 95,
-122,145,179,245,135,152,159,126,204,225,246, 27,108,237,125,192,242, 31,125,134,240,129,231,135,126,252, 63, 33, 94,129,179,155,
-207,240,103,191,255, 20,139,111,195,183,126,239, 43, 44,158,127,192,143,255,137,159,226, 47,253,233, 23,168,235, 61,188,145, 90,
- 92,167, 29,117, 57, 39,233,173, 82,149, 59, 60,122,235,155,236,223, 62, 77,101,167,220, 48, 2,115,225,145,227,165,151,159,226,
-189, 91,183,120,240,224, 8, 29,104, 62,249,253,159,227,250,250, 42,211,135, 45,197,189,139,236, 31,236,115,102,109,192,187,183,
-230,212,205,156, 40,136, 56,218,119,172, 6, 79,177,118,106,194,218,114,198,228,169, 37,234,173, 57,202, 7, 40,111,208, 65,140,
- 33, 68,135, 10,107, 50,206,124,236, 83,216, 47,255, 14, 69, 94,116,206,108, 71,158,151,196,177, 36,120, 84,172, 48,166, 22, 53,
-211,121, 26, 35,221,230,117, 85,138, 36, 30,197, 4,129, 39,207,231, 24, 35, 29, 31,113, 24, 82,149,149, 12, 80, 26,180,146,148,
-142, 53,142,168,215, 35,246,157, 34, 27,199,148,101, 13, 30,170,178,192,117,205,112,116,251,248, 97,156, 97,141,163,156,139,164,
-239,189,135, 56,166,170, 74, 66, 45, 42,112,156,166,120,223, 16,198, 49,145,145,214,205,166,149, 94, 12,165, 53, 2,163, 9, 40,
-138,138,197, 98, 65,220,193,185,140,247,104,237,209, 8, 19,196, 99,177,173,239, 12,143, 41, 77, 93, 17,199, 41, 85, 85, 80, 85,
- 53,199,101, 97,129, 82, 4, 97, 36, 67,134,149,203,131,177,194,147, 15,181, 70, 37,154, 56,141, 25, 69, 17,166, 53, 44, 22,115,
-202, 90,134,192,193,120,140, 82,138,182,169, 73,179,148,170,172,233,245, 82,132,210, 90, 17, 69, 9, 77,107,233,101,201, 19, 95,
- 66, 88, 87, 21, 89,214,147,219,139,238,170, 86,181, 28,118,214, 57,234,170, 32, 80,138,186,236,218,187,186, 73,182,210, 98,140,
-104,202,146, 44,235, 17, 69, 1,218, 75, 20,193, 6, 45,243,163, 2,133, 76,116,165,105, 33, 12,232, 15,135,180, 85,133,105, 26,
-150,150,150,145, 72, 84,141,212,226,137,147,218, 91,177,237,231,121, 78, 20, 69, 76,243,239, 58,131,195, 32, 32,140, 99,156, 49,
-212,149, 68, 2,122, 89,134, 87,138, 0,205,108,190, 0, 60,195,225, 72,214, 4, 70, 92,238,129,181, 68, 58, 96, 60, 30,227,172,
- 24,204,154,198,144,102, 17,105, 44, 5, 3, 42,168, 9, 9, 48,182,193, 52, 13,202,139,204, 49, 28, 14, 64,105,234,170,194, 90,
- 71, 22, 71,168, 56,166,223, 23, 23,252,241,126, 52, 12, 3, 60,154,162,168,136,226, 8,129,247, 75,195, 90,191,215,147,216, 88,
-231, 24, 22,140,172,184,223, 77,211, 60,145,102,122,189,222, 31, 98, 33, 75, 61,109,204,104, 52, 0,107,176,208, 41, 7, 9,113,
- 20,117,127, 35, 33,235,229,101, 41, 78,238,166,197, 5, 0,130,194,237, 15,229, 98,227,156,148,152, 56, 52, 97,160,197, 47,160,
- 20,105, 47,163,236,224, 65,166,109,137,136,200, 59,170,159,113,142, 36, 77,169,138, 2,194, 16,175, 28, 97, 24, 16,198, 17,174,
-181,232, 40,233, 18, 18, 13,105,150,241,151,255, 88,159,225,221,109,190,190, 95,112, 54,142, 89, 90, 15, 89,203, 18, 22,211, 5,
-207, 60,189, 66, 59,205,105, 45, 84,165,225,220,133, 21, 70,253,140,249,131, 9,249,162,165,143,103,235,193, 33, 39, 78,173,208,
- 31,103,180,222,162, 35,205,162,128,229,141, 85,150,178,144,253,123,251,132, 97,200,221,157, 25, 23, 55, 86, 8, 35,205, 86,168,
- 25, 57, 69,210,131,133,145, 38,178, 36, 10, 88, 25, 15, 5,212,128,231,193,230, 54, 47, 93,123,138,181,149, 85,158,189,124,137,
-217,162, 64, 43,136, 66,205,231, 63,249, 42,131, 65,143,165,177, 92, 42,107, 99, 9,148, 98, 81, 20,236,237, 31,242,220, 51,151,
- 88, 91, 89,161, 40, 43,226, 72, 51,157,231, 4, 74,225,112, 44,202,146, 36, 73, 88, 93, 26,163,181,102,208,239,145,165, 49,189,
- 36,193, 3, 73, 36,200,225,178, 44,105,181, 72,241,209,250, 58,161,214,180, 77, 77, 91,127,215, 80, 6, 48, 28,246,185,118,229,
- 18,131,110,170, 14,195,136, 32,244,212,117, 73, 81,150, 12,250, 61,230,197, 2,239,228, 53,215, 74, 99,172, 35,212, 18, 85, 91,
- 30, 13,229,111, 22, 71,172,173, 44,211, 58,139,183,146, 75, 63,206,141,183, 70,218,253, 60,158, 48, 10, 57,119,230, 20,253, 97,
-159,167,206,157,229,119,190,241, 45, 14,143,142, 88, 91, 30,179,178,180,196,169,147,235, 44,143,135, 44,141, 70,204,230, 51,140,
- 53,244,123, 25, 39, 87,150,153, 45, 10,250,253, 62, 89,146,224, 85,194,124,186,201,160,223,227,213, 15,189,204, 59, 55,110,138,
- 99, 30, 77, 22, 11,214,115,216, 73,249,207, 92,186,128,177, 45,239,223,186,203,209,244,187,159,237, 36, 14, 57,185,178,242, 36,
-218, 51, 28, 12,168,203,138, 69, 33, 77,132,167,151, 6,188, 30, 47,195,180, 98,126, 24,240,229,127,210, 48,251,165,123, 52,237,
- 33,119, 95,251,121, 2, 59,193, 71, 3,218,178,101,190,127, 11,143,226,252,211,127,138,251, 55,255, 54,181,254, 61,124, 53, 16,
-100,117,181, 67,113,240,144,241,250,139,228,147, 55,177,237, 18, 77,171,169,230, 91,228,147, 45,194,116,137, 40,138,241,117,131,
-199, 99,141, 71,135, 13, 78,105,162, 36, 97,125,227,227, 12, 86,206, 99,124, 75,253,248, 77, 22,243, 25, 77,101,200,143,118,152,
-108,190,205,255,252,139, 63,196,237,189, 95, 39, 68,147, 13, 91,202,122,206,157,239,124,153, 15, 93,252,179,124,228, 63,172, 25,
- 48,231,249, 31, 83,252, 31,255,107,194,198, 52,228,217,203, 27,252,196, 73,203,207,199, 1, 85, 1,109, 83, 83, 54,154,241,201,
- 23,120,116,253,159,162,195,140, 80, 5,104, 29,163, 84, 75, 62,223,227,224,241,107, 52, 85,205,104,249, 44, 56, 69, 67,133, 89,
- 76, 40,203, 57,139, 67,197,203,159,127,154,233,228,136,155,183,110,179,178,180,196,181, 87, 94, 96,231,236,148,233, 3,152, 76,
-114,198,237, 17, 54, 57,164, 89,156, 35, 28,203,126,123,127, 59, 36, 57,127,146,166, 88,112,249,242,105,194, 15, 63, 67,156,166,
-236,237,206,113,100, 40,229,240,155,154,102, 3,178,165,117,178,149,101, 60, 14,215, 58, 26,228, 64, 53,181, 37, 78, 53,206, 66,
-146, 68,180,109,195,108, 62,103, 52, 24, 48,159,119,224,171,194,208, 42, 89, 97,202,100, 57,199,219,148, 48, 78,232,247,250, 56,
-103,177, 45,160, 32,142, 82,210, 76, 99,141, 28,184, 2,113, 17, 35,158,117, 22,229, 53,198,181,204,231,115, 52, 10,180, 98, 60,
- 30, 17, 4,154,180,223, 19, 58,167, 87,162, 18, 68, 17, 1, 93,187, 90,105,187,131, 82,166,127,156,197, 25,203,172,157, 17,133,
- 1,189, 94,159,186,110,201,250,125,172, 49, 36,105,130,214,194,253,168,235, 6,231,187,210, 43, 2,188,210,232,192,163,188, 70,
- 69, 41,214,250, 39,102,100,169, 94,253, 3,148, 82, 21,208,216, 6,172, 64,122,188,150,103,174, 45, 11, 89,219, 58,135,142, 98,
-122, 89,159,198, 72,154, 96, 62,157, 50, 26,141,101,117,218, 90,194, 64,225, 0,229, 29,206,107,188, 55,196, 81,208,241, 96,178,
-238,231,162,203,149,107, 69, 18,133,196, 73,138,179,158, 40, 14,186,135,135,200, 99, 74, 43,226, 80,126,184,197, 98, 65, 8, 68,
-189, 30,139,197,130,192,180, 20,139, 5, 94, 1,214,201, 36,128,220, 82, 20,128, 14,233, 15, 50, 98,237,112,202,176,178,212,231,
-196, 74,196,201,113, 64,217, 68,224, 45, 1, 45,251, 51,135,210,150,195,185, 33,192, 81, 21, 2,106, 81, 65,200, 96, 56, 64,119,
-211,177,242, 30,107, 44,211,249,148,162, 44, 25,142, 71,178,145, 82,224,189,224, 55,143,163, 98, 97,228, 64, 65, 89, 22,120, 13,
-190,149,108,189, 82,158,106,177, 32,233,247, 65, 73,134,221,180,134,217, 76,162, 5,233,113,181,164,179,228,115, 41,102, 73,211,
-148, 52,235, 63,113, 71, 58,103,104,140,200,209,141, 49,164,137,236, 54,143, 93,236,105, 26, 51, 30,167, 88,235,104,203,138, 94,
-175,135,193, 19, 68,177, 40, 10,133, 24, 78,148,213, 68,105,194,124, 49, 71, 58,124,187,140,189,214, 88,107,186,216,134, 76,206,
-253, 94,175, 51,178, 89,240,116, 17, 67, 71, 28,197,178, 99, 9, 2,146, 40,238,220,228,178, 50,105,218, 22,175, 5,160,208, 58,
-139, 66,145, 13, 50, 2, 29,161, 84,183,131, 74, 51,218,186,164,152,207,229,117,139, 83,104, 26, 76,219, 96,140, 71, 91,233, 99,
- 87, 74,145, 26, 97, 57,211, 8,196, 33,203, 50,134, 89,203,103, 47,167,188,253,149,135,156, 62,119,130, 50,175, 57,186,181,203,
-150, 61,226,212,153, 37,170,195, 57,213, 81,142,215,176,124,114,196,222,206,156,250,112,142, 53,150, 52,211, 12,251, 25,113,168,
-217,189,191,205,126, 20, 80,151,134,126, 47, 98,176, 58,226,104, 90, 16,102,203,212, 86,112,218,139,189, 5,239, 46, 44, 69,109,
- 96, 39,103,199, 42, 78,174,140,216,217, 47,137,203,130, 52, 14, 57,185,118,130, 94,154,137,225,179, 18,201,124, 60, 28, 50, 30,
- 13,233,167, 9,251,147, 35, 38,211, 25, 31,127,101,149,181,213,101, 81, 63,218,134,200, 88,170,182,193, 53,134,107, 87, 46,162,
-208, 44, 47,141,104,236, 49,252,200, 51,153,207,169,234,150,201,228,136,121, 94, 50,157,207,137,194,136,217,162,224,226,217,179,
- 92, 56,125, 74,228,229,214,160, 2,197, 44, 47, 24,100, 61,130, 48,122, 34,157, 71, 81,216, 93, 66,191,251, 53,159,231, 28, 78,
-231, 92,186,112,142, 36,146,130,156, 44, 73, 80, 75,203, 60,247,212, 37,246,247, 14,216,222,219, 39,138, 67,126,232,243,159,229,
- 51,159,248,104,215,195,110,201,139,146,233,108,202,222,225,132,131,201,148, 69, 81, 48,157,207,159, 80,227,188,247,156, 60,113,
- 66, 46,218,136, 76,217,139,101,210,223,222, 59,228,230,189, 7, 66,203, 67,246,248, 97, 24,144,101, 9,222,121,166,243, 5,183,
- 31,110,114,251,193, 35, 86,151,199,172, 46,143,233,247, 50,234,186,229,253, 15,238,242,123,223,126,157, 47,255,254,107,128,184,
-247,151,151,151, 25, 69, 3,226, 48,166,215, 75,165,116,198, 88,250,253,140,162,148, 7,250,229,179,167,121, 20,133,236,239, 79,
-112,120,166,139,156,247,111,222,166,174,107, 78,174,172,112,254,236, 41,118, 15, 15, 57,156,205, 48,101,133, 27,158,228,250,108,
-198,209,246, 20,115,248, 14, 59,230, 13,202,249, 30,197, 98,139,166,156, 96,234, 9,145,123,196,188,156, 51,222,120,149,159,248,
-185, 95,231,244, 58,124,245,171,207,243,111,126,237,139, 56,119, 72, 91,151, 56,107,248,194,159,255,199,124,232, 83, 63,200,255,
-251,127,254, 60, 55,222,249, 5,108,155, 51, 8,157,152,130, 71, 27, 24,103, 72,199,167,217, 88,123, 22, 79,200,131,247,254, 49,
- 39,206, 62, 67,156,157,197,148, 11, 38, 59,239,226,125, 35, 32, 43, 99,113,192, 71,127,246, 39,121,254, 7, 94,224,222,252, 87,
-248,204,143,253, 85,122, 61,184,254, 15,174, 83,244,102,108,126,233, 13,182,244, 63,101,240, 67, 95,228,185,160,226, 11,122,137,
-248,207,121,254,245,111, 20,252,251,159,235,161, 84, 72,190, 7, 63,249, 55, 62,205, 82,246, 50,255,219, 95,125,157, 87, 62,247,
- 19, 36, 39,167, 60,124,237,117,154,178, 34,202, 50,156, 15, 80,109,193,225,209,251, 56,103,168,203,109,130,176,135,215,158, 38,
- 63,164,156,239, 81, 78, 34, 2,237,249,216,103, 62,204,141,123, 15,121,231,225, 99,174,157, 58, 69, 22, 26,110, 29,252, 22,139,
-253,134,217,214, 54, 57, 19,122,107,207,178, 40, 14,233, 71, 25,206, 57,242, 59,171,140,175,213, 36,222, 17, 45,159, 99,184, 54,
- 34,111,175, 83, 30,148, 52,141,146,181, 93, 99,169,138,150,165,103, 94, 96,250,213, 47,201,224,129,134, 72,163, 99,255,196,235,
-164,154,238, 25,214, 25,188,100,215,238, 1,135,181, 82, 7,253,255,113,245,230, 65,182, 37,245,157,223, 39, 51,207,126,151,186,
-181,191,170,122,251,210,111,105,186,105,232,102, 17, 13, 26, 64, 44, 2, 9, 4,218, 16,114, 88, 88, 97,141, 53,227,112,140,229,
-109, 38, 36,123, 52, 76,196, 88, 19, 35,107, 20, 35, 91, 19, 26, 75,193, 16, 10,225, 9,203,163,205, 26, 9,129, 9, 22, 1, 3,
-116,211, 52, 13,189,190,125,169,122,181,215,221,207,150,231,156, 76,255,145,247, 61,201,190,127,117, 71,116,215,173, 91,247,156,
-147,153,191,239,247,251,249, 6,179,103,202,120,154, 18, 71, 53,117,237,198,202,237, 86,135,218,186,251, 45,155,102, 52,182,161,
-177, 13,129, 23, 58,227, 97,237,228,203, 82, 23,180,146, 22,181,116, 90,125,232, 7,140, 39, 35,176,204,222, 75,208,237,118,161,
-246,144,210, 80, 27, 67,107, 70,153, 43,180, 70,121,138, 80,249,152, 6,188,218,149, 53, 53,198, 48, 30, 79,240, 60,143,128,192,
- 73, 86,198, 98,165,165,200,107,130,208,199, 24,133,174, 43,138, 50,199, 15, 66, 20,130,166, 41,241, 9, 49,198, 82,150, 53,190,
-239, 12,211, 77, 83,209,212, 21, 38,112,136,245,216, 11,201, 11,151,161,143,163,104,118, 31,105,138,162,196, 26, 67, 96, 12,202,
- 11, 8,149, 37,240,125,234,186, 38, 77, 51,130,192,163,106, 92, 79,188,206,115,148,231, 58,228,211,212, 17,230,146,196,145, 87,
-171,170,198,107, 37, 9,121,158,187,246, 45, 99,220, 34,173, 20, 69,233,190, 20, 33,132, 59,225, 2,117, 89,146,101,206,193,169,
-173,197,111,156,153,133,198,184, 72,135,169,193, 83, 46, 42, 21,119, 16,233,152,227,203, 33, 79, 62, 58,207,211,231,218, 60,178,
- 17, 19,213, 13,221, 86,128,138, 37,120,146,208, 19,212,198, 98, 60, 15,207, 88,178,198,237,254, 74,109,232,143,107, 14, 70, 21,
-187, 35,184,126,216,240,226,118,195, 94, 95, 83, 84,165,163, 92,249,206, 48,167, 75,141,239,251,180, 91, 29,138, 34,127, 56,166,
- 87, 74, 81, 78, 75,194,216,197,238,164,149, 8,207, 49,121, 39, 89, 70, 18, 4,216,166,162,110, 4,147,201,196,141,101,102,187,
- 44, 37, 93,109,108,146,180, 93, 26, 0, 75, 24, 6,179,108,184,235,104,211,165, 67,250,161,132, 59,133, 11,129,244,228, 67,232,
- 78,145,167,132, 73,130,105, 44,202,247,201,138, 2, 36, 68, 15, 8, 99,158,135, 48, 10,207,115, 76,225,180,110,168,109, 77,171,
-221,114, 70, 59, 43,176, 74, 0,110,138, 97, 76, 77,221, 88,252,208, 3,227,200,113, 77, 89, 50,219,118,161,132, 36, 8, 36,121,
-229,186,129, 45, 78,171,210,165,227,223,215,210, 73, 39, 65, 16, 16,250,177,211, 42,173,165,221,237, 82, 27, 67, 83, 88, 60, 47,
-192, 83, 2, 63, 12,104, 2,133, 39,189, 89,199,123,141,144, 2, 55, 79,146, 72, 11, 86, 24,202,178,160,170, 52, 79, 63, 50, 71,
-250,226, 54,223,191, 49,224,210, 69,159,185,192,103,126,177,197,141,187,135,116,139, 26,198, 83,146, 56,162, 20,130, 75,167, 22,
- 24, 30,101,132,115, 17,235, 38,101,100, 61, 58, 73,200, 92,228,145,103, 21,163, 52,167, 29, 75, 84, 83,147,239, 13,168,144,220,
-217,236, 83, 90,129, 39, 36, 94, 47, 34,108, 44,101, 97, 8, 60,197,135,223,184,193,171,247, 14, 96,222, 99,231,112,192,180,204,
-184,113,231, 30,217,108,145,122,238,133, 23, 57,182,180,200,155, 94,255, 24,111,127,203, 83,220,223, 63,152,221, 0, 21,105,158,
- 35,143, 32, 74,102,101, 8,158, 2,227, 18, 15, 39,214,215,152,230, 14,108, 33,132, 32, 76, 66, 78,110, 28,103, 50,158,112,237,
-222, 38,186,114, 6, 46,207,243,156, 27,213,247, 57,177,182, 74,167,221, 98,107,119,151,175,127,251,121, 14,142, 6, 51,109, 46,
-228, 98,199, 85,179, 74, 92,212,209,138,153,147, 20,152,239,205,113,241,204,169,153,131,215, 80, 53,142,142,101,140, 97,103,255,
-128,207,127,245,155,140,198, 19,140, 49,212,186, 98, 48, 26,241,202,141, 91,204,119, 59, 40, 41,168, 27,195,104,234,202,129, 48,
-246,225, 66,222,235,118, 57,117,124,157,197,158, 27,227,233,178,196, 54, 21,237, 56, 33, 9, 3,170,166,161, 63, 30,225,251,254,
- 67, 8,204, 52,203,216, 59, 56,228,240,176,207,198,218, 42,171, 43,139,188,229,245,143,179,208,237,240,217, 47,127,149,115,167,
- 78,160,164, 64, 72, 65,171, 21,179,182,186,202,219,158,124,130,225,100, 74,191, 63,164,219,117,113,184, 75,103, 79,115,108,245,
- 24,173,216,113,174,163, 40,226,248,218, 10, 95,254,214, 51,236,238, 31,242,183, 95, 81, 24,112,246,204, 73,222,254,228, 19,180,
-219, 9,147,137,243, 14,164, 89, 78,172, 20,207,103,154,254,225, 17,227,221, 29,116,191, 33, 47,107,154,108,200,116,120,143,166,
-158,114,252,242, 79,226, 9,143,181,243,239,102,237,141,111, 34,175, 13,223,125,246, 14,190, 45,185,252,142, 95, 97,235,230,231,
- 88, 59,249, 54,222,244,206, 95,228,252,207, 90, 90,115,130,247,101,127,159, 32,110,115,235,234,159, 81, 55, 25,173,200,201, 35,
-203,199,222,192,149,215,255, 60,143,189,107,133,246,155, 45,223,248, 55,255, 13,223,249,236, 63,100,122,248, 26, 85,145, 81, 85,
- 19,108, 51, 75,253, 8,197, 19,255,201, 7, 56,247,150, 55, 19, 46,173,178,125,245, 11,252,213, 63,254, 12, 79,189,229,227,248,
-106,153,115, 63,185,200,137,143,253, 43,134, 95, 29, 34, 63, 11, 63,252,225, 57,254,205,102,134, 88,138,233, 15, 70,252, 65,217,
- 98, 65, 66, 16,194,151,126, 29,114,153,211, 52,199, 41,215,158,231, 71, 30,255, 12,205, 79,167, 60,247,189,223,230,197, 63,254,
- 83,234, 98,138, 53,146,192, 38, 72, 26,154,124, 72, 45, 39, 32, 61,116, 62,196,212,110, 18,182,117,119, 15,239,249, 21,206, 63,
-177,202,183, 95,186,205,203,183,238,112,238,244,113, 78, 61, 22,242,202, 23,110,177,191,125,141,170, 37, 88, 89, 56,162, 41, 2,
- 10,127, 17, 63, 10, 41, 11,197,214,107,146,211,103,199, 12, 95, 48, 20,221,101,188,213, 45, 66,255,144,163,164, 68, 29,134,152,
-151, 53, 53,154,213, 75, 61,218,203,203,244,183,238, 33,133,163, 51,214, 90, 83, 25,141, 39, 60,226, 40, 36, 47, 12,173, 86,139,
-233,216,153,224,242,188, 36,138, 34,140,169,103, 58,117, 62,243, 23, 65, 85,106, 12,238,144, 98,112, 60,247,124, 90,208, 88,215,
-121,238, 43,127,166, 31, 59,200, 25,194, 80, 53,142, 7, 15,118,150,152, 40,232,180,187,142,208,153, 78,157, 54, 15,228, 69, 70,
- 89,104,215,174,169, 20,186,114, 62,161, 40,114,114,171, 8, 4,214, 6,120,165,131,164, 85,117, 77, 83,215,100,121,138,176,110,
- 13,108,183, 90,212,166,161, 74, 93,140,211,152,154,170,170, 41, 10,199,142,240,253,128,178,156,186,197, 92, 72, 55,117,182, 51,
-105, 64,184, 54, 67,165,156, 15, 44, 8, 44,166,113,252,252,102,118,136,243, 2,133,239,197,232,178, 32, 78, 60,242, 76,187,120,
-185,174, 80,129, 55, 75, 78, 57, 35,185,174, 53,158, 23, 64,211, 56,217,185,221,198, 90, 39,103, 8,161, 80,167,207,157,255,100,
- 24,134,164,147, 9, 82, 41,176,174,146,179,211,234,208,152,134,222,156,171, 89, 20, 56,178, 85, 57, 27, 25, 10, 99, 64, 74, 76,
-227,112,150,115,237, 54,113, 43, 33, 12, 2,142,205,123,188,231,177, 22,255,245, 7,143,241,143,126,108,157, 31,122, 93,143,243,
-107, 49,115,158,160,211, 14, 8, 18, 15,111,170,201,191,191,197,193,205, 35, 70,183,250, 12,174,239,211,108,143,153, 31,229,216,
- 65,206,124,161, 88, 78,124, 78,109, 68, 60,122, 49,225, 7, 47, 38,124,248, 77, 17, 63,112, 94,240,232, 9,143, 56,240,144,210,
-145,216,172,116, 81,157,172, 40, 72, 98, 87, 48,210, 84, 46,134,240, 0,178,225, 78,191,160,132,196,212, 46, 2,166,164,107,239,
-201,242, 12,207, 11, 80, 56, 64, 75, 81, 56, 23,163,231,121,132,129,203,157, 6,177,195,166,250,129, 79, 90,148, 60, 40,166, 23,
-194,129, 56,176,204,140,110, 17,126,228,227,121,206,240, 86,230, 26,161,112,200, 91, 41,145, 74,184,113,126, 94,224,121, 30, 73,
-226,232, 67,190,239, 60, 10, 46,194,228,145,149, 26, 47,116, 90,120,145, 23, 52,198, 1, 59,164,112,155, 21,165,156,222,171,188,
-217, 63, 7, 62,158, 31,240,160, 40, 64, 42,167, 81, 25, 99, 8, 98,183, 25,241,124,135,116,213,181,166, 54,142,177, 44,172,161,
- 49, 32,149,132, 74,227,199,142,111,172, 43,167,117, 85, 85,245,208,220, 18,120, 33,126, 16, 98,172,115,231, 35, 5,166,113,201,
-131, 15, 92, 10, 9, 14,118, 24, 79, 52,105, 85, 17,183,157, 54,246, 19,239, 56,207,233,165,152,111,220, 29,224,231,174,219, 61,
- 8, 3,134,211, 28,173, 27, 22,218, 45,188, 94,143,181,197, 14,181,145, 76,170, 6,225,251,168,118, 66, 21, 68, 84, 64,104, 5,
-194, 87, 52, 85,205,177,185,144, 91,141,229, 68, 39,162,156, 20, 12,166, 37,139,115, 45,222,249,246,199, 56, 53, 31,240,249,155,
-130,229, 78, 68,212,233,113,247,254, 54,147, 52,101,121,113,158,183,191,249, 73, 90, 73,204,203,215,110,112,253,246, 93,172,133,
-110,183,195,169,141,117,167,169, 87, 26, 93,106,116,173, 41, 74,103, 0, 42,202,130,105,150, 81,215,206, 52,218,142, 99, 90,113,
- 64,187,211, 97,174,149, 32,128,251, 59,251, 12,199, 19,122,221, 14, 79, 62,254, 24,139,243,115, 8, 41,153,159,235,113, 48, 24,
-178,127,112, 68,187,221,226,220,169,147,172, 47, 47, 98,112,139, 65, 94,213,236, 31,246, 31,130,158,138,162,100,154,229,188,233,
-141,143,177,212,235, 81, 20,153,139,172, 52, 13,158,242,232,117,218,220,221,218, 98, 60, 77,177,184, 49,122,224,251,184, 61,159,
-139,132, 93,191,179,201,112,226, 34,161, 82, 41,148,146, 8,229,162,165,243,115, 29,124, 79,185,113,189, 82,196, 81, 68, 28, 71,
-116, 58,109,186,173, 22,135,131,145,171,194,204,156,164,229, 16,182, 11, 88, 99,248,230,243, 47,240,245,103,191,195,238,254,161,
-227, 74, 88,216, 56,182,134,177,134,151, 94,189,202,112,154,178,189,183, 79, 83, 55,120,161,143, 68,112, 98, 99, 29, 41, 20,171,
-203,139,108, 28, 59,230, 30,124, 74, 81,148, 37,123,251, 71, 28, 28, 13,120, 0,189, 2, 39, 69, 29, 30,245, 73,226,248, 97,237,
-234,209,112,200,104, 60, 38, 80,138,111,214, 10,225,183,208,119, 43, 70,155,207, 51,233, 95,101,188,251, 10,211,225, 77,146,222,
-121,218,203,167, 88, 60,118,142, 34,157,112,180,119,135,131,173,219,244,143,174, 50, 62,186,142, 9, 21,167,159,254, 25,122,193,
- 2,163,189,109,110, 62, 95,114,245, 25,197,209,157,187,100,197,208, 77,238, 84,128,176,150,160,189,204,242,201,215,227,203,144,
-173,219, 99,110,126,105, 76, 83, 12,217,191,243, 13, 70,123,223,195,179, 37,117, 99, 40,139, 17,173,222, 34, 39,223,253,102,214,
-159,120, 3, 42, 92, 98,126,116,153, 78,122,154,142,191, 74, 97,246,145, 23,119, 56, 57, 60,206,209,203,130, 19,139, 49, 95,249,
-236,203,180,127,120,153, 79,255,242,151,185,249,185,109,190,250,103,191, 73,127,251,205,244,174,180,185,242, 70,193,240, 96, 11,
- 61,233,243,209,143,156,230,231,126,250, 10,205,233, 46,119,190, 92, 83, 23,123,212,173,130,116,231, 0,161, 36,107,231,222, 77,
- 81, 14,232, 46, 93,161,214, 83, 23, 43,179,198,105,209,126,139, 78,247, 28,189,197,183,178,114, 33,166,174, 6, 28,238, 28, 49,
-158,164,156, 60,177,206,234,169,101,210,233, 24,175,215, 34, 94,235, 96, 71, 33,200, 4,132, 65,219,154,114, 60,161, 14,250, 28,
-170, 62, 76, 78,113,112,245, 21,226,100,204,104, 48,166, 28,184,166, 53, 83, 25,170,184,161,219, 14,233,223,185,237,184,236,158,
-114,227,102,203, 44, 26,172,102,220,139,140, 56,137,153, 78, 83, 30,196,153,141,177,248,129,135,242,124, 26, 99,105,181, 90, 68,
- 97, 76, 20,199, 20,121,225,238,197, 74, 19,197, 33,158,231,170, 85, 75,237, 76,206,186, 44, 41,203,226,161,113, 13,235, 72,167,
- 66, 40, 39,141, 10,137,240, 28,109, 51, 12,253,153,175, 72,162, 60, 65, 93,215,184,102,201,138,178,200, 31,122,181, 28, 96,204,
-201,176,190,239, 32, 98, 97,228, 33,172,156, 25,208,156,254, 93, 85,122, 6, 28,114,159,195,121,164, 20, 8,183, 73, 7,119, 82,
- 70, 64, 85,149, 72,165,200,139,194, 73, 20,141,118,105,142,218, 32, 4,248, 65,136,175,148,203,212, 91,156,139, 61,137,103,134,
- 63, 59,123,191,154, 48,244, 29,223, 0,135,118, 86,190, 66, 34,176,198,144, 23,249, 76, 58, 23, 8, 36,190, 63,235,154,168,170,
- 10,173, 43,172,112,176,120, 41, 93, 78, 79, 8,232, 4, 29, 80,238,151,158, 76, 38, 84, 85,133, 23,132,132, 51,247,185,139, 54,
-213,180,147, 4,169, 28, 34,246,131, 79,248,252,231, 79, 47,177,232, 73, 68, 35,192,247,224,168, 96,235,218, 14,223,217, 26, 82,
- 53,176,177, 16,115,127, 84, 57,253, 68, 74,247,221, 52,208, 13, 53,234,222,144,188,182,160,107, 38,158, 79, 71, 9,214,150, 90,
- 92, 92,239,145,235,134, 43, 43,243, 92,121,164,195,143,190,217,167,202, 53, 71,253,156,235,123, 37,127,244,237, 49,207,221,178,
- 40,229,211,105, 57, 20,161, 21, 80,149, 53, 74,250, 84, 85,195,131,206,219,170,118,153,241,209,100,132,163, 3, 42,202, 50,163,
- 48, 32,132,195,180, 6, 94, 64,148, 68,110,151, 56,219,209,101,233,148,105,150,209,138, 18, 68,224, 48,178,121,150,225, 41, 69,
-145,231,180,219, 29,178, 60,163, 46,106,164,112, 39,178,164,157,208,212,238,228, 69,227,226,121,121,153, 17,122, 1,181,109, 40,
-203, 18,165,102,250, 56,206, 93,169,124,223,237, 42, 77,131, 47, 37, 37,150, 36, 78,168,171,154,170,169,168, 10,253,112,247, 24,
- 70, 33, 82,184,113,170, 47, 61,198,147, 49,173, 86,130,214, 21, 65, 20,224, 9, 15,233,187,135,169,213, 13,194,119,210,129,122,
-240,125, 35, 64,184,139, 13,229, 65, 99,220, 5, 42, 96, 50,113, 27, 35,132,107, 53,122, 16, 77,244,124,215, 62,132, 49,180,103,
-154,253,106,199, 99,186,111, 88, 57,189,204,222,221, 3,242, 82,179,212,137,176,199, 23,241,179,146, 88,221, 99,126, 41,100,154,
-230,220,190,123,136, 39, 4,253,162,161, 95,230, 44,207, 9,164,145, 12, 74,203, 74, 28,224,117, 18,154,184, 77,166,107,210,124,
-194,178,103, 24,164,154,131, 72,114,117, 63, 37, 86,138, 61, 93, 51, 85,150,188,180,124,229,185, 59, 12,210,146,247,191,229, 56,
- 23,218, 37, 85,216,229,242,242, 58, 11,189, 46,219,123,251, 20, 90, 59, 98,149, 16, 44,204,245, 56,185,118,140,175, 62,243, 29,
-130,192,155,109,232, 60,140,113,236,104,172,113, 27, 87,225,160, 68, 15,226,119,161,239, 58,231,117,109,176, 51, 35,105,221, 88,
-218,237,132,105,158, 81,213, 13,183,238,109, 82,148, 5, 39,214, 86, 25, 79,166,120, 74,210,234,180,216,219, 63,112,104,229,215,
- 93, 33,137, 34, 86, 22,122, 44, 47, 45,178,187,187, 71,127, 56, 68, 74,201, 83,175,127,140,183, 63,245, 6,132, 16,220,190,183,
-201,119, 95,126,149, 19,235,235, 60,249,248,235,184,179,181,197,215,159,123,126, 22, 59,115,175,251,187,123,232, 74,227,201,199,
- 92,180,172,210, 24,227,122, 12,164,112, 27,240, 90, 74,142,250, 3,178, 44, 99,117,105,137, 36,118,230, 76,233, 41, 60,229, 92,
-229, 66,184, 60,172,105,204,195,147,250,100,154,114,239,254, 54,143, 95,122,132, 99, 43, 43,140,211,140,123,219,187, 52, 85,195,
-205, 27,155,124,232, 61,239, 98,174,219,193, 83,174, 24,169, 63, 24, 16, 5, 1,167,143,175,115,230,228, 9,158,184,114, 9, 63,
-112,249,250,122,246, 0,172,107, 23,165, 91,152,239,113,246,204, 9,158,127,245, 21,254,255, 74, 4, 5, 63, 0, 0, 32, 0, 73,
- 68, 65, 84, 47, 63,240,105,181, 90, 28, 13, 71,120,126,192,112, 50,101, 48, 24, 97,165,224, 96, 84,208,238,172,209, 4,231, 17,
-241, 54,173,100,149,211, 23,223,196,252,229,119,115,242,209, 55,240,210, 23, 63,205,225,253,111,129,237,185, 83,146,177, 88,209,
- 64, 93, 50,190,191, 3,229, 33,166, 2, 41,219, 4,135, 45, 26, 37,104,242, 1,147,225, 22, 86, 84, 72, 41,193,139,136,194, 4,
-157,239,178, 53, 60, 64, 24,139,193, 80,228, 83,140,244, 48, 34, 32,207, 7,164,147, 17,237,222,105, 46,126,244, 3,100,163,125,
-178,225,152,110,239, 60,171,193, 6, 39,222,181,206,229,167, 50,254,248,247, 19,126,240,131,150,239,255,165,224,254,237,251,252,
-225,111,254, 34,195,253,219,148,213,167,105,183,142,113,227,153,223,161, 51,191,200,165,139,199,120,237,223, 27,190,112,245, 63,
- 16,200,136,197,229, 53,126,252,141,130, 63,216,143,249, 15,191, 87,113,231,217, 79,147,247,191, 73,255,104,199,129, 73,144,180,
-123,231, 57,218,126,158, 17, 47, 17,180,143, 65, 61,193, 15, 59, 68,254, 18,173,197,243,172,108,188,141,167,223,247, 52, 52,150,
-122,237,144,157, 59, 59, 20,195, 1, 47,223,184,199,217,181, 69,222,252,193,247, 51,127,233, 28,123,155,215,121,205,110, 83,237,
-182,168,181,165,172,166,232,180,143,188, 49,166,222, 24, 83,236,127,129, 60,219, 97, 58, 25, 18,205,181, 1,183,161, 19,194,167,
-220, 18,180, 47,175,210, 91, 61, 70, 61, 29, 99,172, 75,241,168, 32,192, 26, 87, 97,218,106,181, 8,227, 8,176, 68,137, 91,176,
-235, 89,252,120, 60,113,164,207,164,213, 34,207, 93,250,164,105,106,119,210,182, 13, 90, 87, 76, 39, 83,172,117,102,233, 40,114,
-217,255, 44, 77,241,130,128,170, 44,156, 84,169, 32, 14, 99, 60, 79,145,101, 19,172,173, 72, 90, 45,186,221, 46,142, 72, 87,147,
- 36, 17,214, 70, 84, 85,133, 51,108,103,164, 19,141,105, 26, 38, 19,119,130,174,102,135,147, 7,239,101,172, 37,240, 13,186,170,
-241,195,144, 52,157,226, 7, 17, 69, 49,157, 45,232,206,247,164,117, 13,216,153,220,105,102,239, 9, 96,208,149,187,174,180,113,
-254, 12, 35, 93, 12,176, 21,116,144,202,153,157, 49,206,184,109, 49, 88, 83,227,249, 1,233, 52,199,247,221,232,223,213,114, 67,
- 16, 68, 40, 85, 51, 29,187,146, 25, 1,179,245,215,113,228,149, 18,152, 6,148, 39,241,148, 82,120,126,131,135, 71, 16,197, 40,
-207,141,154,211,105, 14, 2,148,239, 19,133,174, 94,180, 19,199, 14,241, 58,117,174,201,168, 21,211,157,235,145,166, 83,222,118,
- 62,225,191,127, 95,139,147,243, 1, 40,119,114, 70, 72,236, 75,123,252, 31,207,222,162,180,150,185,216,167,241, 36,183,183, 38,
- 44,100, 25,158,173,169, 43,136, 60,193, 80, 41,242, 56,230, 88,173,241,148, 71, 7,203, 94,224,187, 60,251,209,148, 23, 38, 21,
-152,134, 47,190,118, 72,215,247, 88, 89,108,113,110, 41,102,237,220, 42,107,111, 93,224, 7, 47,204,209,207, 75,174,109, 23,124,
-235, 86,201, 55,110,228,108, 13, 92, 97, 74,165,181,211,155, 43,137, 17, 16, 71, 17,211, 52,197, 83,110,108,164,148, 3,142, 96,
- 27,178,204, 97, 5,195,208, 65, 4,176, 60, 52,154,197,113,139,172,200,105,108,141, 41, 5,166,169, 8,163,152, 34,207,104,199,
- 45,202,178,116,209,136, 32,164,105,106,140, 53,140, 70, 99,252, 48, 0, 51,139, 45,104,237, 70, 52,190, 71,163, 13, 22,225, 98,
-100,101,129,181, 14, 41, 91,164, 41,214,130, 21,130,106, 54, 38,242, 60, 15,211, 52, 40, 3,249, 76, 83,210,165, 6,172,203,165,
- 43,137,177, 14, 71, 57, 28,141, 80,210,229,230,181,209,152, 28, 34,223, 71,155,134,116, 58,165,193,162,156,131, 3,225, 43,170,
- 60,119, 16, 19,137,219, 53, 42, 69,171,149,204, 22, 52, 55,254,111,181,156, 38,230, 60, 13, 96, 60,139,180,179,147,150,181, 44,
- 31, 30,178,190,182,200,159,191,120,192,201,149, 57, 14,182,251,116,143,247,192,151, 92,255,206, 45,162,105, 70, 21, 10, 40, 12,
- 39,174, 28,231,214,141, 29,142,180,166,103,160, 21, 88, 70,131, 41,219,135, 57,231, 67,203,168, 61,135,173,156, 75,251,120, 59,
-162,210, 37,157, 80, 65, 3,102, 62,162,204, 52,211,170,193, 7,226,110, 72, 58,173,121,246,197, 93,110,222, 63, 32, 89,191,136,
-174,151,137, 48,124,248,189,239,225,165,171, 55,144, 66,114,208, 31,208,237,118, 25,140, 71, 92,191,125,151,124, 70,253,155, 78,
-178,217,196, 69,208, 24,139,178,150,210, 52,120,194,225,112, 31,236,200, 29,184,194,245, 11,184,133,176,102,190,215,230,244,241,
-227, 8, 33,184,191,119,192,221,123, 91, 4,190,199,202,226, 2, 82, 74,124,229,145, 68, 17,231, 78,158, 96,174,219, 65, 90,102,
-167, 83, 73,146, 36, 20, 51,163,206,194,124,143,179,199, 55,152,155,233,142, 47, 95,187,193,112, 60, 37,140,250,236, 31,236,187,
- 13,102,224,234,144,245, 44, 14,249,224,247,185,179,181, 77,161, 43, 78,110,172,113,114,125, 29,140,225,149, 27,154, 73,150, 19,
-122,142, 35,255,216,197, 11, 44,205,119,145,210,163,212, 5,166,169,105,172, 64, 97, 41,117,197,238,225, 33, 82,226, 22, 54,192,
- 24,216,220,217,227, 47,191,252, 53,218,173,132,165,197, 5,214, 86,150,217, 63, 56,228,117, 23, 31, 97,247,176,207,210,194, 2,
-171, 75,139, 44,244,122,156, 59,121,156, 94,175,199, 35,103, 78,115,225,204, 41, 36,206,192,105,102,159,183,169, 52,129,239,234,
- 49,139, 50, 39, 14, 67,226, 32, 98, 82,185, 50,164,211,199,215, 57,125, 98,131,147,107,171,188,237,169, 55,146,151, 21,247,119,
-247, 28, 94, 54,207,105, 38, 33,198, 79, 48,219, 78,225,187,244,206,255,138,149,165,183,177, 56, 39,137, 98,193,214, 22,244, 58,
-103,233,111,125,155, 70,223,198, 88, 15, 83, 21, 24, 1, 70,151, 12, 14,175,211, 10, 26,188,104,129,202,198, 96,112, 70,173, 42,
-103,210,191,142, 71, 76,216, 57,129, 12, 18,234, 98, 72,218, 79,177,102, 14,107, 4,117, 61,165,212, 19,170,108,128,197, 98,131,
- 13, 54, 30,253, 33,158,122,239, 47,112,191,248, 35,178,221, 33,113,251,144, 50, 77,185,190, 58,161,122,111,139,253, 97,194, 23,
-254,242,147,252,197,239, 23,140, 7, 87, 17,254, 60,119, 94,248, 60, 0,127,245,169,167,241,165,160, 50, 22,171,230,185,243,234,
-151,185,252,230, 31,103,239,230,151,152, 12,143,120,236, 3,191,206,223,251, 93,184,253,173,207,113,255,198,103,201,135, 47,145,
-246, 55,201, 68, 77, 28,198, 92,121,235, 79, 81,148,219,120, 65,143,163,251,223,103,110,113, 68, 16,175,130, 39,233,116, 79,176,
-178,246, 20,151, 95,247, 52,137,103, 57,251,145, 49, 7,191,247, 97, 46, 92, 60,228,149,151,174, 99,116,206,245,187,219, 92, 82,
- 62,226,123,107, 44, 62,186,192,241,243,127,205,205,187,247,169,171, 0, 93, 15,169,203, 49, 77,190,207,218,198, 26,250,216, 46,
-131,231,238, 50,189,119,159, 83,111,121,156, 96,165, 70,111, 43, 80, 1, 81, 20, 83, 35, 88,185,116,133,251,207, 62, 75,211,104,
-146,150,211,117,117,149, 97,172,117,240,178, 48,196, 90, 48, 85, 61, 43,111, 49,232,162, 66, 5,138, 40, 72,192, 74, 90, 73,155,
- 52,117, 73, 16,167, 29, 55,120,158, 68, 41,215, 12, 56,157, 78,145, 66,208,238,116,240, 3,119,136, 9,219, 29,106, 93,206,198,
-206, 25,224, 10, 88,154,202, 33, 87,149,116,198, 85, 41, 21,142,210,233,162,188,174, 95, 32,198, 90, 87,126, 34,132,160,221,110,
- 35,165,164,105, 12,217, 12, 59,107,140, 51, 73, 59,100, 57,204,121, 29, 26,107, 72,162,158,123, 14, 54, 46, 18,140,181,110, 51,
-109, 26,140,177, 68,145, 27,249,131,235, 54,145,190,116, 61,242,161,143,148,222,204,145,223, 96,141,139,137,251, 42,192,151, 30,
-133, 46, 41, 10, 77,219,115,206,250, 32,112,135,102, 55,133,112,211,131,105,154,186,117,197, 56,179,160,242,124,234,217,228,220,
- 15, 67, 64, 96, 76,141,167,148,196, 15, 28,132,197,137,250,110,164, 94, 27,135,245, 75,162, 4, 33,220,142, 60, 47,115,166,153,
-235,204,150,158,164,156, 57,187,223,113,165,199, 63,251,209, 57, 18, 37,104,114,139,188,185,197,159,124,227, 6,231, 87,186, 28,
-166, 37,117, 63, 99,101, 46,100, 89,122,108, 30,140,104,101,154,181,197,132,186,145, 88,109, 72, 22,219,200,221, 17,129,209,100,
- 86, 48, 45,157,209,110,189, 46,201,240, 40,133,135, 15,120,141,230,148,240,144, 77, 77,146,121, 92,191,175,249,214,213, 3, 30,
- 89,159,231,226,201,121,230,219, 93,222,250,232, 60,111,189, 84,240,247,139,156,151,239,105,254,236,123, 41,127,241,157,193,236,
-116,238,198,208,141,169,105,183,219, 84,181, 35,114,213, 77,131, 53, 53,198, 88,192, 53,168, 85, 85,237,200,118,157, 14,147,201,
- 4, 97,157,193, 46,138, 18,210, 52,115, 84, 36, 47, 64, 72, 65,146,180, 41, 75,151,135,140,163,132,188, 44,144, 40,164,112, 48,
- 31, 83,107,130, 32,166,154,209,196,124, 47, 38, 47, 11, 60, 36, 97, 24,206,220,132, 46,211,175,243,210,149, 45,132, 62,113,232,
-220,140, 0,147,201,196, 45, 8,198,184,139,122, 86,120,160,107,119,106, 15,148,194, 0,173, 36,161, 44, 75,202,170,118,241, 58,
-229, 8,112, 58,207, 29, 99, 63, 12, 81,141,101,154, 78,105, 69, 45,116,154,211,208,208,105,119,221, 40, 11, 7, 72,104,170, 26,
-161, 60, 55,190, 50,134,188,174, 41,243,156, 78,171,195,120, 58, 70, 2, 70, 56, 40, 77,224,123,180,187, 93,142,138,156,139, 43,
- 9, 87, 15,167, 20,135, 41, 63,250,150,115, 48, 42,216, 31, 23,172,157, 91,230,254,181, 29,240, 20,131,189, 17, 89,238,138, 99,
-234,113,202,246,168,166, 76,115,138,170,226,106,161,144,197,136, 78,171,228,228, 98,155, 32, 48, 12, 83, 75,173, 60,148, 87, 49,
- 61, 40, 24, 27,103,192, 89, 92,138, 89,153, 75,184,101, 83,146, 0, 84,101, 17,249,152,204,171, 25,239,236,242,189, 87,174, 1,
- 78,150,185,179,181, 53,227, 57, 75, 78,159,216,224,160, 63,160,105, 26,178,178,192, 11,188, 25, 9,205,101, 89, 67,223, 39,106,
- 39,179, 83,137,243, 17,148,186, 36, 43, 11,164,117, 27, 93,173, 53, 81,224, 8,110,197, 12,113, 44,146,152,166, 49,244, 71, 35,
-108, 99,200,138,130,205,205,251,156, 58,181,193,226,252, 60,157, 86,204,104,146, 82,104,205,205,123,247,156,254, 13, 28, 30,245,
-121,237,230, 45,252, 64,113,225,204, 25,148,148,228, 69, 78,175,221,162, 44, 74,142,134, 99, 23,223,116,135, 3, 30,164, 35, 66,
-223,167,221,110,209,110,185, 22,189, 19, 39, 87, 49,166,230,214,230, 22,198, 24,210,162,100, 52, 77,153,230, 57,194, 10, 55,102,
-244, 21,101, 81,146,149, 26,223,115,145,181,197,249,121,170,198, 50,158,166, 12,199, 99,226, 40,228, 29,111,126,146,199, 46, 94,
-160,219,233, 82, 87,154,254, 96, 72,154,229, 28, 91, 93,229,233,167,222,192,165,115,103,168,106,215, 93,173, 16,156, 63,115, 10,
-107, 45,121,233,224, 66, 74, 74,116,229,226,153,117, 29, 97,140,161, 40, 75, 22,231, 23,121,228,244,105, 78,157,216,224,165,215,
-174, 97,140,225,206,214, 54,163, 73,202, 56,205,169,154,134,139,103,206,112,119,107, 7,161, 4,163,209,132,197,192,199,106, 67,
-149, 27, 4, 25,117,177,197,245, 23,255,156,215,244,132,198,100,232,186,162, 41,115,178,209, 17,202,236,209,212, 10, 93, 67, 85,
-229,164,131,187, 52,248,228,149,198,230,215, 16,178,227,252, 6,141,165, 44, 83,178,209, 38,143,191,255, 87,121,223,175,253, 12,
-213, 51,130,111,255,197, 95,113,227,213, 63,192, 19, 35,106, 13,186,152,210,216,146,108,184, 73, 54,218,230,252,219,127,129,127,
-249, 23,255,140, 13, 52, 63,247,223,254, 57,241, 74,194,193,214, 22,157,203,119, 73, 95,251, 34,195,255,249, 2,202,196,216, 44,
-228,254,171,255, 59,253,163, 67, 46,158, 63,195,239,253,206,191,230, 39, 62,246,113, 58, 29,103,224, 5,120,238,185,103,249,204,
-167,255, 45,255,250,119,127,149,160,123,146,203,111,250, 4, 82,231, 60,247,231,255,140,241,193, 77,138,209, 93,138,209, 53,214,
- 31,121, 31,225,169, 8, 63, 61,197,135,254,139,127,200,215,191,251, 41,182, 95,253, 22,158, 23,224,183, 22, 89,191,248, 62,178,
-209, 22,141, 18,248,137, 79, 58,172, 24, 16, 48,248, 70,143,115,239, 55,232,175, 93, 97,229,112,204, 84,231, 72,223,227,246,222,
- 54,103,162, 67,166, 95, 93, 68,116,125,218,199, 39,244,175,121, 52,197,128, 70,231,164,211, 62,111, 95,127,138,104,161,199, 11,
-165, 70,150, 79,113,230, 7, 86,217,187,191, 67, 1,180, 90,109,188,160,131,221,211,176,186, 78,123,190,203,184,127,136,174, 42,
-242,194, 65,181,162, 40,198,224, 76,154,101, 89,162, 60,159,172,116, 60,144,192,139,144,184,182, 55, 99,205,172, 32,169,193,243,
- 44,121, 94,211,212, 6,102,135,153, 36,105,205, 70,236,134,225,112, 68,183,219, 37,207, 50,164, 20,248,126, 8, 52,104,157, 19,
-120,142,253,224,251, 30,158,240, 64, 72, 38,211,130, 48,116, 90, 52,141,196, 52, 53,214, 24,172,117,154,252,252,252,252,195,251,
-201, 90,151,236, 49,141, 68, 8,139, 64, 48, 24,244,137,227,136, 40, 74,168,109, 77,160, 34, 30, 52, 27, 6,145,143,111, 93,206,
- 93, 73, 71, 40,181, 66, 56,195,246,236,103, 26,155,160,117,142, 47,221,239, 96,177,120,128, 49,238,164,239,169,128,198,212, 24,
- 41,136, 91,174,117,205, 90, 65, 43,113,207,149,241,120, 76,156, 56,148, 57, 56,223, 73,173, 28,173, 46,207, 75,230, 58, 1, 94,
- 28, 83, 27,167,243, 59,105,163, 70,173,159, 60,249, 73,173,181, 43,102,152,157,196, 30,116,227, 58, 3,128,155,231, 27,107, 25,
- 79, 38,128,164,221,105, 59, 16,191,181,124,228, 41,143,127,250,193, 69, 2,169,192, 90,190,251,249, 87,185,182, 61, 98, 46, 14,
-208,194,178,180, 58,207, 98, 39, 96,161,215,166,221, 13,157, 1,109,156, 49,210,134,126,209,144,132, 30,221, 78,204,222, 56,163,
-237, 43,108,203, 39,110,183,136,103, 78, 68, 19, 39,172, 31, 95, 66, 87,154,157,189, 49,141, 53, 40,169,136, 3,143, 58,205, 8,
-179, 28, 93,148,140, 74,193,100,100,216,188,121,192,170, 10, 81,237,132,245, 51, 93,222,117, 33,228, 35,143,133, 92, 92,139, 25,
-228, 53,131,204,115,139,103,233, 58,205,235,202,237,226,124, 47, 32, 73, 90, 14, 58,144, 23,232,217,184, 48, 75, 83,226, 40, 66,
-215, 53,158,144,100, 51, 80,141,174, 28, 99,221, 21, 55,148, 72,207,181,153,105, 93, 98, 27, 67, 51,187,128,132,242,240,125,143,
- 34,203,104,106, 75,171,149, 32,165,165,200,115,234,198, 17,251,106,237, 96, 22, 90, 59, 7,125, 20, 69, 40,161,176, 2,210,233,
- 20,215, 95,238,163,164,116,122,104, 18, 57,247,104,228,152,216, 81, 24, 62, 4,207,120, 74,128, 82, 46, 99, 29,132,179, 5,168,
-228, 1, 5,175,210,154,186,177, 96, 13,117, 93, 97,113,133, 0, 66, 56,164,163,139, 96,101, 84, 85,133,107, 96,115,252,126, 61,
- 27,191, 11, 4,141, 0, 93, 85,142, 37, 96, 12,190, 39,248,224,220,148, 91,123, 35, 74,171,248, 59,143,172,240,214, 75,199, 80,
-143,174, 83,222,216, 98,123, 90,209,155,159,163,117,108,142,110, 39,230,240,238, 46, 7,218, 32,124, 69,207, 26,130,166,161, 70,
- 80,251,174, 2, 81, 98,232,133,138,133, 72,210,207, 74,142,198, 5,185,177,244, 90, 1,227, 97,201,227,151, 87,169,149, 65,215,
-130,188,180,132,145,194,150, 53,231,186, 33,113, 28,161,231, 78, 51,201, 51, 90,115, 61,110,223,217,164,174, 43, 46,157,191, 64,
-232,251,164, 89,202,120,154,114, 56, 24, 18,248, 51, 79, 6,130,110, 59,113, 30, 13, 41,136,194,128, 56,114, 83,169,198,184, 17,
- 92, 81,104,210, 60,163,210, 46,235, 93,213,110,170, 83, 53, 46, 71,158,101, 57,165,214,132, 97, 64, 24, 4,100, 69,193,120, 50,
-101, 48,158,112,119,107, 27, 33, 5, 82, 42,210,194, 65,151, 90, 81,140, 17,130,105,154,225,123, 30,103, 78, 28,103,227,216, 10,
- 66, 72,174,221,190,203,171, 55, 28,187, 61, 74, 98,164,132, 27,119, 55, 57, 60,250,255, 18,216,166, 89, 70, 28,134,180, 91, 9,
-243,115, 61, 54, 86, 87, 88, 92,152, 71,107, 61,187, 78, 65, 74,151, 1, 95,232,205,145,180, 18,170,170,162,208,174, 44, 38, 47,
- 10,124,169,104, 76,197, 65,127,200, 81,127,192,238,193, 33, 85, 85,115,227,206, 61,250,163, 49, 79, 63,245, 70, 30,125,228, 2,
- 69,145,243,226,245,155, 92,189,113,139,159,252,224,251,185,116,238, 12,157,118,155,147,235,235,172, 46, 45,144,132, 46,143, 31,
-135,225,195,222,130, 40,244,241, 61,223, 37, 88,164,160,170,106, 14,250,135,124,249, 27,207,146,102, 25,187,135, 7, 96, 93,145,
-212, 66,175, 75, 18,199,172,173, 44, 51,223,235,209, 31, 12,185,119,127,155,241,100, 76, 99, 45,245,226, 26,117,218, 65,103, 71,
-232, 98,192,100, 56, 64, 23,125,242,244,136,124,188, 77, 58,184, 77, 58,222, 68, 8,159,108,114,139,209,209,125, 72, 30,225,117,
-111,254, 53,126,246,231,254, 37,143,190,245,105,158,253,226,215,232,239,190, 64,105,142,168, 38, 71, 20,147,219,116,122, 23,248,
- 59, 63,242, 47, 88,121, 51, 36,151, 33,220, 57,199,238,221, 87, 25,142,191,141, 40, 50, 42, 61,160, 24,109, 50, 58,186, 70,119,
-254, 28,237,249, 85, 94,249,122,202, 55, 95,129,229, 39, 78,241,249, 95,254, 37, 94,184,179,200,246,189,231,232,223,221, 97, 50,
-218, 97,119,251,203,188,240,229,223, 38,242,106,254,207, 63,252,191,248, 87,191,245,191,241,134, 39,159,194,213,107,242,112,250,
-179,190,190,193, 15,255,200,143,242,171,191,250,171, 36,170,224, 51,191,247, 73,198,227, 93,226,120,145,127,240,107,191,205,139,
- 47,254, 25,163,221, 17, 31,252,196, 23,176,186, 97,255,254,243, 12, 54, 23,185,241,245, 63, 70, 40, 69,111,229, 81,100,224,113,
-226,202, 7, 88, 56,247, 78,198,247, 95, 38,111, 38,228,118,204,225,240,128,155,215, 53,197,221,121, 14,174,237,177,176, 62, 97,
-175, 63, 34, 8, 19,140, 41,200,237, 17,163, 91, 57,253,173,107, 72,125,136,206, 20,117, 93, 96,171,140,170, 28,177,188,177, 66,
-220,105,211,154,107,147,116,222, 65,216, 36, 68,221, 49, 83, 81,225,235, 5,148, 23,162,100, 64,211, 46,176,147, 67,244,100, 76,
- 89, 57,239,137,167, 60,138,135,178,162, 37,136, 66,148,242,241, 61, 55,109, 50,184, 82, 33, 7, 1,107,208, 85,133, 49,110, 65,
- 18, 74, 18,248, 46, 86, 93,104, 77, 85,215, 15, 97, 95,238,239, 38, 65, 88, 23,231,172,221,228,204, 77, 17, 5, 40, 65, 16, 4,
- 84,181, 70, 74, 39, 13, 51,219, 32, 87, 51, 41,205, 0, 77,163,193,184,205,186, 16,130,178, 40, 40,138,156,178, 44,103,204,122,
-215,223, 17, 4, 1,217,204, 8, 39,173,164, 49,134,188, 44,104,234, 26,129, 3,214,212, 51, 26,105,109, 28,156,172,110, 26,170,
-170,114, 50,158, 46, 49,198,121,136,210, 44,197,204,100,133,186,118,224,165,198, 54, 14,236, 38, 37, 74, 42,231,227, 41, 10, 44,
- 14, 47,237, 5, 1,101, 81, 56,160,140,242, 30, 78,108,165,231, 17, 4, 1,211,204,149,115, 9, 92, 18, 43,207, 11,148,146,168,
- 51,231, 47,124, 50, 10,102, 4, 51, 63, 32,240, 61,130, 48, 68, 40,133,169, 12, 89,158,131, 16,100,121, 78, 93, 53,184, 72,130,
- 43, 31,185,178, 30,240, 43,239,157,199, 7, 68, 13,175,124,241, 85,166,101,197,217,227, 11,104,211, 80, 87,208,142, 2, 84,168,
-152,159,107, 33,164, 64, 37, 62, 50,118,208, 24, 41, 37,105, 81, 51,152, 22, 12, 52,180, 60, 40,203, 6,101,106,124, 44,198, 66,
-103,213,229,145,139, 66, 67,101,232,246, 34,150,122, 45, 84, 43,100, 58,156, 80, 26, 67, 55, 78,232,133,138,166, 72, 73, 15, 70,
-188,118,175, 15,133,207, 66,114, 26,218,115,180,230, 66, 46,157, 12,249,200, 19, 45,126,248, 74,200,164,180,228, 38,196, 8,159,
-166,254, 91, 61,237, 72, 7,212, 81,146,164,213,194, 15, 2, 84, 16, 32,149,239, 0, 4,190,143,110, 92,181,105, 24,134,206, 37,
-238,133,248, 82, 96, 77,253, 48,222,229,121, 46, 26, 24,249, 62, 65,232,187, 47, 36, 8,144, 56,246,176,174,181,235,201,149,130,
- 48, 8,168,234, 26, 99, 27, 90,113,139,170,118,117,131,197,172, 60, 0,152,213, 7, 86,238, 2,240,156,249, 73, 74,233,114,152,
-128,193,186,239, 46, 8, 0, 9, 86, 34,133,114, 38, 42, 3,190,231,185,180,128,148, 68, 97, 12,166, 38,142,163,135,191,171,239,
-249, 76,211, 9,101, 89,226, 8, 72,150, 40,113,165, 57, 97, 16, 98,140,153,141,157,157,238,223, 78, 92,255,181,174, 42,194, 56,
- 98,125, 33,225,157,157, 41,198, 15, 25,213, 6, 83, 22,156,152, 15, 17, 43,115,232,173, 1,247,119, 39,108, 95,221,165,219, 75,
- 88, 93,239,177,127,152, 49,108, 44, 82, 55,116,165,219,188,236,234,134,229,249, 22, 13,208, 86, 1,147,180,196,247, 37,105, 37,
-120,121,119,140,174, 44, 43,221,128,233, 40,163,189,208, 97, 58,173, 40, 39, 14,136,227, 18,216,146, 56,145, 20,133,193,172, 93,
-194, 26, 75, 24, 39, 76,210, 41,187,135,125, 46,157, 59,131,174, 42, 6,163, 49,183,238,109,178,189,183,207, 96, 52,166,106, 12,
-167, 54, 86, 89, 91, 94, 98,121, 97,129,249,158, 51,186,213,117,253,112, 98, 83, 53,174, 88, 36, 47, 53,133, 46,209,186, 38, 43,
- 28,155,253,104, 56, 96, 50,157,162,171,154, 48,240, 73,162,144,166,113,177,152, 7,139,103, 81, 58,154, 97, 89, 85, 44,244,122,
- 52,198,176,179,183,143, 43, 59, 42, 25, 78, 38,204,117,219,180,227, 24,207,247,153, 76,167, 20,133, 3, 29,157, 59,121,156,139,
-103,207, 97,113,180,182,191, 13,109, 89,232,245, 56,177,190,202,165,115,103, 56,115,242, 56,101, 85, 83, 87, 21,253,209,152,237,
-189,125,210,204,105,230, 94,224,160, 22, 82,130, 16,142, 38,168,117,197, 36, 77, 41, 43, 77, 85, 59, 73, 65, 87,154,173,221, 61,
-172,117,253,215,151, 47,158, 99, 52, 28,241,181,111,127,135, 47,124,237,155,108,172, 46,243,223,253,226,207,115,233,236, 25,150,
-150, 22, 28,193, 49,203,153, 95, 88, 64, 8,215, 40, 24, 5,142,161, 16,135,161,227, 74,204, 28,200,214, 56,130, 99,224, 7, 40,
- 79,241, 71,159,253,127,104,106,119,253,174, 44, 46,114,225,204, 41, 30, 57,119,138,249,185, 57,142, 45, 46, 98,172,161,168,106,
- 68, 93,179,216,109,179, 31,118,208,227,152,186,200, 49,233, 93,178,105, 78, 54,217, 38, 27,109, 81,230,125,242,225, 22,217,116,
-159,139,111,253, 37, 94,247,131,255,156, 15,125,226,147,252,194,167, 62,206, 79,125,124,157,159,253,129,152,119,188,177,203,251,
-254,193, 7, 57,108, 62,193,222,173,255, 72,214,191, 79,144,172,113,229,233,159, 99,176,125,135,215,254,239, 87,185,251,215, 7,
- 12, 38, 7,212, 89,202,238,245,111, 81,142,110,146,167, 7,120,254, 60, 27,103,223,205,177,115,239,163,206,166,188,248,215,191,
-133,156,187, 71,254,138,207,179, 55, 54, 24,164, 5,254,218,132,159,253,216,255,196,119,191,250, 5,190,255,165, 95,231,237,111,
-122, 61,175, 94,187,193,133, 11, 23, 30,202, 56,238, 36,101, 24, 14,135,206, 21, 13, 15, 39,113, 63,240,182,183,243,159,125,226,
-231,248,204,167,255, 87,188,222, 57,206, 60,246,195,220,187,250, 61,146,206, 25,182,238,124,139,239,126,225,159, 19,172, 70, 40,
-219,240,202, 51,159, 98,229,216, 99, 60,246,142, 95, 97,235,198, 95, 49, 57,186, 71,149, 78, 40, 38,123,164,251, 55,153, 28,222,
- 99,116,120,157, 81,255, 42, 7,247, 95, 38,175, 4,213,120,196,220,162, 98, 56,153,208, 76, 13,117,121, 68,222,223, 99,176,125,
-147,226,112,135,246,194, 2,166, 81,152,170, 66,120,146,238,114,155,249,165,121,180, 46,185,191,121,196,209,102, 73,195, 22,197,
-116, 76,160, 54,240, 68,132, 20, 30,229,164,192,139,166,140,183,183, 48,141,165,174, 43,116,161, 1,225, 38,186,194, 67,224,122,
-218,165,116, 13,106,113,156,184,231,142,239,185,131,199,236, 26, 53,198,101,220,125, 63,194, 24,231, 35, 10, 66, 87, 94, 21,120,
- 10,148,162,210,185, 51,174, 38,177, 75,241,132,161, 51, 8,206, 34, 96, 98,118, 16,245, 61, 31, 36, 4,126,128,175,220, 51, 38,
-137, 92,203,101, 81,204,154, 73,197,108,193,175,107,154,198, 34,165, 35,184, 9,233,166,213, 90, 59,115, 91, 81,148, 46, 61,229,
- 73, 2, 47, 64, 72, 71, 21, 13,194,144,162,112,212,202,110,187,131,107,227, 12,102,165, 45,181,115,173,123,238, 20,175,117, 69,
- 24, 37, 36,113, 76, 24,134,142, 33, 97, 28, 29,206, 15,125,210, 52,117,174,127,229, 3,130, 86, 28,163,164, 71, 93,107, 66,223,
- 71, 72, 15, 83, 59,248, 87, 28, 70,228, 89,129, 49,205, 76, 90, 46,209,186,162,213, 78, 64, 8,188,186,170,200, 11, 87,161, 23,
-135, 49,133,118, 38,174, 32,142,105,164,128, 74,144,166, 41, 86, 48,211,214, 37,141,177,232, 98,202, 63,126,207, 26,173,110, 4,
-219, 99,254,250, 43, 47, 50, 40, 60, 90, 17,188,120, 99,151, 36,142, 24, 22, 53,141, 74,217, 88,237, 50, 28,166,108,238, 15, 89,
- 91,234,241,200,202, 60,233,210, 28,195,113,137, 23, 74, 48,150,147, 82,178,119,251, 0, 61,204,144, 8,246,171,134, 14,144,231,
- 5, 65,187, 77,216,138,144,190, 91,120, 43, 41, 81,186,161,179,212,165,109, 93,233, 73, 97,225,232,104,200,112,154,113,114,101,
-153, 94, 16,208, 76,143, 40,142, 52,247,246,142,104,135,150, 19, 79,172,177,177,152,241, 79,222, 15,163,188,225,217, 77,203,167,
-158, 81,236, 13, 37,105,158,209,235, 58,208, 12,194, 57,217,149,231, 35,234, 26, 7,222,175,176,181, 97,174, 51,231,178,128,158,
-156, 97, 83, 93, 68,205, 25,243, 4,204, 38, 29, 18, 80,129, 67,239, 54,117, 69, 24, 70, 40, 47, 36,150, 53,198, 90, 26,173,103,
- 6, 55,103, 52, 52,184,197, 27,220,132, 36,140,194, 89, 36, 67, 80, 87,213,172,159,184, 68,212, 46, 98, 17, 4, 17,249, 44,191,
- 14, 22, 41, 93, 38,221, 26, 11,194, 61, 44,218,157, 54,166,169, 31, 70,163,156,166,211,224,205, 50,142, 86, 56, 39,180,177, 13,
-129, 23,184,253, 0, 46, 37,160,117, 77,173, 53, 74, 57,243, 72, 43,142,176, 64,109, 12,121,238,112,133, 46,183, 31,240,143,222,
-217, 97,126,144,243,213,205,148,227, 85, 69,154,213,216,121,103, 36,252,238,189, 1,147,195, 49,210,212,212,186,192,214, 93,182,
- 51, 77,183, 19, 49,191,216,101,112,107, 23,213, 88,188, 36,100, 50, 74, 17,129, 27,109,175, 44,182, 56, 48, 32, 61,231,131, 24,
-231,154, 73,217,208,238, 68,140,139, 26, 43, 4, 19,221,176,177,212,102,146,107,166, 90,240,253, 65,131, 45, 70, 44,157, 74,169,
-181,230,235, 47,126,159,171,183,238,242,232, 35, 23, 16, 51, 95, 64,183,211, 70, 72, 65, 94,150,236,236, 29,224, 43,193,194, 92,
-151, 32,116, 61,231, 78, 30,153,193,122,180,251, 78,132,177,132,145,107, 43,204,180, 70,219, 26, 33,228,195,141,105,183,219,117,
- 36, 68, 37, 57,121,252, 56,113,224, 51, 45, 74, 6,253,225, 67, 87,236,124,111,142, 99, 43,139, 4,158, 34, 47, 53,171, 75,139,
- 92,191,123,151,189,163, 35,130,192,115, 52, 54, 33, 73,162,128,227,107,107,100,121,206,193, 96,192,171, 55,110, 50, 63, 55,199,
-193,225,145,115,252,254,173, 87,127, 56,228, 59, 47, 78,217, 59, 56,226, 93, 79,191,133, 94,183, 11, 64,183,211,134,198, 56,108,
-177, 82,108,168, 85,206,158, 58, 9,128,239, 41, 64, 17, 45, 44,144, 68, 17,211,212,213,188, 86,149, 75,132, 60,120,165,121,198,
-173,219,119,121,236,145,243, 20,117,205,137,181, 53,238,110,237,240,233,127,255,103,188,229,245,143,147,102, 57, 95,125,230, 89,
- 46,157, 59,205,111,125,242,127, 36,105, 37,120,202,115,254, 20,235,146, 49,158,146,100,133,195,126, 14,116,197,222,209, 33,215,
-174,223, 98,115,119,143, 83,235,107, 92,191,115, 23,112,242, 72,167,221,113,233, 18,223, 33,158, 59,173, 22,199,150, 22,168, 3,
-143,238,234, 18,155,194,167,208, 41, 89,166, 73, 39,215, 8,154, 22, 70, 27,170,202, 81,197,210,116,151,197,181,183,113,252,220,
- 91,233,118, 83, 38,229, 22, 95,251,178,166,185, 46,248,221, 73,131,103,231,136, 60,159, 51,107, 11,188,254,159,254, 41,193,155,
-224,185,223,217, 99,243,234, 31, 83,234,109, 36, 30,122,111,159,154,154, 60,221,227,196,227, 63,206,220,234,101, 78,158,122, 23,
-107,231,231, 17,218,178,125,191, 79,127,235, 5,218, 87, 42,122, 39, 79,114,237,243,127,202,222,245,207,243,248,199,127,140,133,
- 83,143,115,227,142,229,214,139,127,200, 92,183,197, 87,254,227, 55, 30,202, 36, 0,167, 78,157, 98,123,123,155,191,253,250,204,
-103, 62,195,199, 62,246, 49,192,221,175, 39, 79,157,230,143,255,240, 15,248,249,191,247, 95,242,111,255,201,123, 72, 39, 55,121,
-221,219,127,149,165,229,199,208,147, 91,108, 60,249, 58,218,199,143,243,182, 75,191, 66, 93,140, 25, 14, 95, 64, 26,201,225,230,
- 51,140,247, 95,197,216,134, 48, 89,198, 51, 83,140, 86,148,153,135, 14,143,136, 77, 70, 58, 44, 56,222,173, 89,233, 36,220, 25,
-110,163, 76,133,191, 80, 97,238, 29, 82, 11, 11, 75, 53,137, 76, 48, 44,226,139, 57,114,235,106,148, 35, 21,224,117,183,217,190,
-145, 50, 26,222,199,107, 37, 44, 28, 55, 32, 61,132, 8,240,109,136,109,205,225,121, 30,158,231, 72,161, 66, 8, 38,211, 9,117,
- 13,117, 85,184, 9, 78, 20, 51,153, 78, 9,227,208, 77, 67,181,198, 11, 60,148,112, 39, 79, 41,220,129,106,182,214,162,140,155,
-238, 40, 92, 83, 38,128, 15,216,166,194, 90,152, 76,199,200,217, 61,141, 48, 51,249,211,130,112, 26,121, 81,234,217,223,191, 38,
- 75, 83, 66,223,167,156, 25,206,226, 56, 70, 40,137, 48, 2, 33,113, 19,234,202, 32,148, 37, 12, 66, 4, 80,134, 30,158,144,140,
- 70, 35,192,153,218,154,170, 34, 10, 34,194, 56,164,221,118,125, 6,126,232, 14, 62,211,105, 70,156, 56, 24, 87, 94,150, 4, 65,
- 72,158, 23, 36,201,172,100, 38, 12, 41,139, 2,227,187,104,103,187,213,166, 44, 92,117,111,154,166,180, 59, 29,166,105, 74, 20,
-184, 52, 83, 86,148, 4,190, 34, 73, 58,248,190,164, 44, 43,130,208,163,169, 26,132,114, 45,150, 97,227, 83, 85, 53, 77, 93,145,
-151, 37, 89,150,187, 83,255,201, 51,103, 62,233,249,158,227, 64, 55, 53,117, 99, 48,128,242, 60,242, 44,119, 99,118, 33,136,195,
- 24,229, 75,148,116,172,221,143,189,169,205,187, 95, 55,135,189, 61,228,247,255,244, 57, 50, 45, 8, 16, 72, 33,104,117, 19,202,
-198, 50, 62,202,169,117,195,116, 90, 80, 26, 75, 90, 84,228, 89,197, 96,156, 35,164,194,111,121,132,202,167,237, 41,132, 18,120,
- 73, 64,214, 52,120, 65,196,177, 51, 75,140,199, 5,249, 36, 67,167, 57,121, 63,133,170, 66, 73, 65, 24,170,135,227,102,155, 23,
- 72,233, 17,122, 30,158, 39,137,227, 0,131,160, 29,135,232,105,206,225,206, 62,227,131, 67,134, 89, 77,207,244, 8,223,255, 97,
-196,198, 49, 34, 15,206, 45, 90,126,234,209,136, 51, 43, 30,149,240,153,148,146, 82, 59, 44,170,239,251, 40, 57,171, 73,108, 28,
-176,165,105, 92, 43,143, 3,226, 72,164, 16,179, 18,129,153, 81,162,174,145, 74, 17,248, 78,183, 23, 66, 58,215,145,157, 85,210,
- 22, 25,122, 70, 18,171,202,210,185, 56,181,126,232,202,215,165, 99, 5, 71, 97, 8,214,197, 28,202, 82,227,121,138, 86,210,154,
-141, 52,163, 25,157, 72,160,164,164,177,142,128, 22,197,173,135,145,140, 7,153,198, 70,215,232, 82, 99,173, 33, 77, 83,167,193,
- 87,142,251, 93,106, 77, 81,150, 84,117,237,234,252,154, 6,207,243,221,130, 94,187,207, 11,238,239, 80,215, 53, 40,233,162,125,
-126,128, 84,174,150, 87, 41,143, 39, 55, 44, 63,255,120,136, 74, 53,223, 59, 72, 49,185,230,202, 74,204,226, 19,103, 16, 71, 53,
-183,238, 31, 81,140,115,172, 82,120, 94, 64, 38,224,222,189, 33,139, 11, 9,107,107, 61,142,198, 37,163, 32, 64,230, 37,158, 20,
-212,153,102,190, 21,226,181, 66, 94,220, 25,211,154,139,233,250,146, 90, 55, 44,118, 35, 68, 28, 16, 36, 1, 7, 35, 77, 88, 87,
-156, 94,235, 32,246,118,233,166, 35, 98, 93, 17, 78,135,164, 11,167, 48, 42, 96,253,248, 6,251,253, 62,251, 7,135, 12, 38, 19,
- 78, 30, 91,193, 26,183,136,244, 7, 99, 44,150,203, 23,206,179,190,188,140,174, 53,105,150,147, 87, 21,198, 58,250,222,131, 90,
-200,131,254,128,157,253, 35,238,110,109,187,186,224,217, 38,238,129,166,221, 73, 18,172, 49, 12,199, 19,146, 56,100,117,101,153,
- 78,156, 48, 78,167,236, 31, 29, 81, 85, 53,113, 28, 18,135,238, 4, 18,133, 62,221, 78,155, 55,189,254, 49, 94,189,126,139,162,
-212, 28, 91, 90,100,117,101,137, 48,240,216,220,217,101,255,112,128,146, 46,182,232, 12, 58, 33,119,182,182, 49,230,111, 98, 96,
- 0, 22, 8, 66,159,193,104, 68, 20,132, 84,117,197,247, 95,189,198,230,238, 30,186,114,250, 95, 81,150,140, 70, 35,170,166,161,
-174,106,218,173, 4, 99, 26,124, 63, 96, 97,126,142,165,133, 5,186,157, 22, 22,193,214,206, 46,186,170, 88, 90, 88, 96,101,121,
- 9,223,115, 93,238, 55,238,221,227,194,153, 83, 92, 58,123,134,205,157, 29,158,127,233,101, 78,108,172,243,163, 63,244, 46, 22,
-230,231, 8, 3,151,224, 16, 82,160,148, 55, 27, 79,186, 78,179, 74, 87,232, 90, 51, 28, 78,216, 62, 56,228,251,175, 92,229,133,
- 87, 94,193,226,204,121,111,121,226, 49, 46,159, 63, 75,175, 55, 71, 59,142, 88,152,159, 99,174,211, 65, 41,197, 66, 40,152, 42,
-143,215, 38, 21,137, 58,206,217,115, 31,231,228, 35, 31,226,214,107, 95, 64,235,109,162, 25,158, 83,218,136, 43,239,248,187,132,
-143, 15, 96,109, 27, 86, 39,216,102, 64,176, 18,208,170, 66,146, 78,200, 96,120,139,123, 55,158,225,206, 43,175,226,237,159,231,
-242,229, 57,174,189,252, 42,186,158,162,203, 49,186,158, 80,102, 3,138,241, 22, 74, 37,172,156,120, 61,197,120,135,251, 87, 95,
-225,240,168,192,122, 22, 33,134,196,151, 2,164,170, 89,125,252, 73,206, 62,253, 30,198, 7,125,110,253,233,231,249,246, 95,252,
- 38, 7, 91, 47,240, 7,191,255, 25, 46, 95,185,252,240, 20,238,251,254,140,168, 6,103,207,158,101, 48, 24, 0,240, 39,127,242,
- 39,108,108,108,240,228,147, 79,226, 12, 95, 41,173, 78,151,149,197, 69,254,240,223,253, 59, 26,109,184,242,150, 95, 34, 12, 23,
- 89, 57,241, 4,126,147, 32, 7, 57, 38,214, 28,110, 94,101,247,214, 95, 51,218,188, 77, 62, 57, 32,180, 57,181, 30,225, 5,115,
- 51,169,173, 4, 83, 83,235,156, 50, 27,144, 79,247,232,223,219,226,204,185, 99,140,210,140,201, 81,159,164,211,230,252,133,211,
- 28,187,240, 62, 54,222,176, 70, 94, 12, 49, 83, 15, 25,204,163,154, 30,115,167, 90, 4,212,204,181, 91, 76,205,144,189,239,189,
-202,194,153, 99,132,209,113,132,104, 17, 68, 49,141, 17,132,139, 21,163, 59,215,152,142, 70,212,117, 77, 16,248, 4, 65,136,231,
-185,123, 62,207, 51,180, 46,220,148, 70,186,174, 8,135,187,150, 78, 26,132,217, 84,172, 65,121, 64,211, 56,222,137, 46, 65, 8,
- 55,209,244, 3, 60,165,102, 19,101, 55, 97,117, 44,134,134, 48,138, 9,194,144,166,110, 48,141, 33, 8,157, 59,222, 17,232, 52,
- 88,251,208, 71, 33,132,171,248,149,184,195,155,167, 60, 48, 22, 83, 59,140,157,167, 36, 85, 89, 18, 5,179,123, 60,116,189, 28,
-101, 89, 18, 5, 17, 81,236,106,188,235, 74,227,251,129, 35,125, 54, 13, 81, 20, 0,179,145, 63,194,149,110,205,254,189,170, 43,
-119, 0,172, 93,207,137,123,246,251,120,106,150, 91,247, 67, 87,146, 38, 28,154, 93,107,141, 20,224, 40,171,194,173, 45, 22, 60,
- 33, 9,194,128,186,118,241, 62,107,133, 59,124, 96,104,181,218, 15,159,213,106,113,117,245,147,181,174,103,186,151,187,201,226,
- 56,162,169,140, 3, 97, 88,215,198, 85,228, 25, 90, 87,104,173, 73,252,154, 79,126,104,137,164, 49,124,238,243,223,199,214, 22,
- 26, 69,170,107,138,188, 38,157,230, 52,121, 3,166,193,247,220,207,205, 38, 5,117,250, 32, 39,104, 56, 60, 28,179,127,127,204,
-225,112,194,110, 63, 99,107,103, 76,109,225,216, 82,151,165, 99,115,116,123, 9,199,214,230,153, 20, 13,253,221, 9,190,117, 37,
- 43, 85, 94,208, 4, 62,158,196,157,164,125, 15,233, 73, 26,128,198,128, 16, 8, 79, 17, 40,197,116, 58,101, 92,164,212, 69, 73,
- 39, 12,216, 56,117, 28,206,111,192,214, 24, 54, 39,208,138, 97,169,205,169, 57,120,207, 41,120,207, 5,137, 22,138,155, 71, 56,
-109,185,200,221,164,192, 15, 72,243,212,197,246,106,227, 10, 92,148,219,145,250, 15, 71,140, 46, 39, 88,228,153, 51,118,212, 13,
-250, 1, 34,116,182, 80, 40, 41,103,141, 61, 30, 81, 20,131, 0,173, 43,167,163, 24,103,148, 19, 66, 58, 92,169,214, 8,233, 76,
- 17,113, 24, 26,152,209,168, 0, 0, 32, 0, 73, 68, 65, 84,130,112, 58,121,213,184,178,150, 44, 77, 41,170,191,233,218,205,138,
-212,189,175,105,144, 82,184,159, 41, 5, 65, 24,144,231, 5,141, 49, 36,173,152,192, 15,241, 60, 31,107,113,211, 7,225,168,112,
-121, 85, 57,150,114,237,118,194, 81, 24,242, 55,197, 50, 46, 67,239,254,191,134,166,114,163,105, 79,214,252, 47, 31, 89, 97,110,
-111, 72,169, 53,189, 32,224,252,217, 85,206,182, 20,226,220, 26,183,190,119, 3,161, 66,166,135, 83, 50, 97,105,202,138,171,219,
- 19, 2, 12, 77, 18,178,119, 52,193,148, 37, 98, 54,242, 58,125,106, 1,209,248, 40,101,105,164, 36,144,146,133, 86, 68, 92, 55,
-172, 45,196,196,129,207,104,162, 25,104,203,120,144,242, 99,235,134,227,113,205,169,121,143,245,121,197,106, 34, 80,101,202,174,
-154,231,176,246, 41,102,139,211,214,206, 62,203,139,139, 78,239,246,157,174,121,111,103,135,253,131, 35, 6,253, 33,253,241, 8,
-139,123, 0, 87, 51,175, 68,109, 12,149,174,216,239, 15,216,220,221, 35,203,115,198,147, 41,133,214, 88, 99, 88, 94, 92, 96,101,
-105,129, 40,112, 55, 82, 57,251, 46,178,220,229,103,227, 40,160,219,110, 83,228, 5,135,131, 33,190,239, 19, 6, 1, 2, 92, 5,
-170,144,204,119, 90, 28,246, 7,140,211, 12,132,228,220,201, 13, 14,251, 67,110,111,110, 57,167, 43,150, 56, 8, 88, 63,182,194,
-252, 92,111,246,223, 78,220, 74, 14, 32, 36,199,143, 45,115, 98,125,141,185, 78,151,225,120, 76, 81,186,216,142, 67,215, 42,134,
-227, 49,165,214,140,211, 12, 33, 44,237, 56,166,172,106,138,178, 36, 8,125,162, 32,164,215,237, 18, 5, 62, 89,145,115,127,127,
-159,201, 52,229,216,242, 34,127,247,103,126,130, 44,203,249,246,247, 94,228,214,221, 77,150,151, 22, 88, 94,152,103,190, 55, 71,
- 83, 27,122,237, 22,203,139,243, 68, 65,136,177,198, 29, 12,140,157,193, 55, 64, 74,197, 52, 77, 41, 42,253,176, 70,182, 59,215,
-225, 91,207,191,192,214,238,254,195,145,244,218,202, 18,221, 86,155, 36,137, 57,117, 98,131,181,149, 21,186,157, 22,129, 31,176,
-224,215,236, 54,146,155,163, 9,231, 46,125,136, 55,190,225, 73, 46,253,244, 42, 27,139,159,224,234,119,191,194,225,214,203, 52,
- 70,112,233, 7,254, 83, 22,158,110, 97,170, 93,199,167,176,146, 32,233,210,233,157, 35,219, 46,105, 50,197,120,180, 75, 89, 14,
- 41,235, 9,251,219, 47,144,143, 79,145,151,135,140, 14,110,160,203, 41,117,153,146,141,119,152, 12,238, 32,253,136,166, 25, 59,
- 83, 97,182, 67,149, 31,178,123,243,107,164,237,155, 72, 99,136,230,219,172,174, 62,129,127,111, 25,244, 35,220,125,233, 47,217,
-188,246, 69,124, 41,249,221, 79,125,138, 32,112, 72,232,143,126,244,163, 92,187,230, 12,155,151, 46, 93,226, 59,223,249, 14,191,
-241, 27,191,241,112,115,246,165, 47,125,137, 95,254,229, 95,166,170, 42, 6,131, 1,195,225,144,133,222, 28,183,183,251,232,238,
- 59,105,183, 59, 76, 71,219,140,167, 91, 28,110,223,100,220,191, 79,177,189, 71,127,239, 38,147,187,219,148,147,125,140,206,201,
-116, 78,123,254, 36, 65,178,140,109, 74,144,110,194, 39,132,166,204, 71,232,108,143,114, 58,164, 46,125,174,188,241, 18,163,241,
-132, 74, 9,142,175,175,224, 7, 27,136, 78,139,160, 25,146,251,160,138, 46, 97,251, 56,202, 44,209, 57, 86, 99,167, 41,115,199,
-150, 57,246,200, 89,162, 56, 32, 27, 41,194,112, 17, 37, 99,132, 31,224,117, 83,188, 42,165,232, 31, 56,142,199, 36,163,172, 10,
-172, 49, 52,214,245, 81,232,178, 34, 12, 92, 81,139,167, 92,101,117, 16,184, 73,100,211, 52,148, 69, 49,243, 21, 57,205, 89, 8,
- 1, 98,182,104, 25, 75,165, 93,118, 29, 28, 64,203, 69,168,221, 40, 90, 41,229,186, 27,148, 43, 64, 18, 72, 60,207,245,148,171,
- 25,216,203,152,154, 86,146, 96,165,116,148, 59,227, 12,124,229,172, 49, 13,107,103, 30, 39,167,211,107,173, 49,214,149,124, 53,
- 77,253,240,125,155,166,161,221,233,224,121,138, 52,205,168, 26, 59,251, 59, 75,130, 96,102,136, 51,194,249, 7, 66,133, 47, 3,
-231,124, 15, 92, 29,172, 51,235, 57,204,243,131,207,212, 84,110,212,175,148, 66, 73,133,176, 22,221, 84, 32,133,243, 26, 52,134,
-166,214, 46, 81, 98,220, 36,215,117,167, 4,248,190,235, 95,209, 90,211,212, 13,141, 49,168,229,181,181, 79, 38,237,132, 56,138,
- 9,130,144, 32,112, 59,140,188, 44,200,139, 2, 97,221,197,161,188,192,145,208, 4,124,232,177,132,247, 62,182,192,214, 51,183,
-248,246,205, 67,176, 2, 33, 26, 86,219, 1,237, 0, 90,157,152, 36, 14, 89, 90,155,163,159, 87, 12,227,128, 56, 14, 64, 41,194,
- 78, 66,220,107,161,133,135,242, 61,218,129, 7,181, 69,232,138, 42, 45,217, 57, 76,177, 52, 96,156,206,215,154,143,233, 45,119,
-152, 86, 13,165,113, 95, 88,209,207,169, 50, 77,218,159, 16,134,146,202, 10, 44, 2, 99,107, 60, 95, 97, 43,208,121, 77, 81,214,
-248,161,196, 75,124,228,204,233, 43,111,110,178,255,210,107,236,108,237,176, 32,187,200,141,211, 16,118, 97,109,133,246,124,155,
-183, 46,107, 62,112, 9,146, 8,142,198,154,146,104, 86,120,227,216,193, 2, 40,234,146, 90, 87, 76,167,153,107, 21,242, 61, 44,
-174,126,207, 97, 2,243, 89,155,151, 51, 84,180,219, 9, 73,156, 60,108, 99, 11,195, 0, 41, 45, 8, 23,107, 8,130, 0, 79, 66,
- 16, 38,132,161, 51,147, 56,199,163,161,174, 27,164, 16,228,101,230,204, 37,101, 73, 93, 59, 19,155,239,187, 98, 0,165, 20,129,
- 10,208,181,235, 10,126,208, 67, 28,206,140, 57,117, 83,131,176, 4, 65,132, 99,126, 59,232, 65, 99,102,220,240, 48,164,152, 25,
- 0, 91, 73, 7,169,228,195, 81,175,239, 59,189, 71, 8, 75,158,185, 90, 88, 33,221, 73,236,127,120,111,155, 39, 79,182,176, 35,
- 77,221, 24, 34, 95,177, 74,133,152,139, 17, 97,139, 63,255,220, 43, 44, 31,235,146,143, 50,198,133,139,199,141,116, 67, 35, 64,
- 52, 13,210,192, 36,117,117,129,166,106, 24, 14, 50,170,172, 36,144,130,178, 21, 82,215, 13,177, 7,158, 4,211,212,108,143, 10,
-142, 38, 5,218, 90,230, 22,187,156,142, 27,246,239, 29, 96, 60,129,175, 75,238,223,159,114,103,164, 57, 50, 1,155, 38,230,254,
-222, 1, 47, 94,189, 69,150,103,196, 81, 64, 20, 6, 88, 1,195,209,152,219,155,247,201,139,130,178,114,189,247,106,102,228,210,
-117, 77, 81,148,164,105,202, 36,205, 41,180,235, 54, 62, 56, 26,176,179,127, 64, 20, 4, 60,126,249, 17, 46,158, 59,141,239,249,
-228, 69,193,238,225,209, 67,237,221, 90,139, 84,146,105,150,177,181,179,203,253,221, 61, 74, 93, 57, 12,164, 5,207, 83,248,158,
- 98,190,211,225,216,202, 50, 22,203,189,251, 59,172, 44, 46,176,186,188,132,177, 6, 79, 42,186,157, 14, 73, 28, 82, 55,134,254,
-104,236,244, 66, 97, 57, 60, 26, 80, 91,227, 38, 57, 64,174, 53,163,201,132,178, 44,104,197, 17,147,233,212,193, 81,202,146,122,
-246,112,170, 42,231,217,232,117,186, 46, 98,132, 59, 81, 11, 4,237, 56,162,212, 46, 79, 91,215, 53, 95,249,198, 51, 88,224,204,
-137,227,124,226,167, 62,202,227, 87, 46,145, 36, 9,237, 36, 97,123,119,143,235,183,238,144,229,110,212,215, 31,142, 8, 3,231,
-143,217,239, 15,220,103, 20,150, 6,135, 11,101,182,208,143, 70, 99,238,222,223,230,115, 95,254, 26, 95,250,250, 55,185,183,179,
-203, 96, 86,141,219,155,235,242,248,229, 71, 88, 91, 93,225,196,250, 26, 77, 93,179,189,191,207,214,206, 62, 66,192,122, 18,240,
-141,163,140, 65,158, 35,170,101,238,220, 30,241,242,215, 94, 99,243,218,183,240,147,121, 44,138,249,213, 11, 44,189,227, 28,197,
-100, 11, 35, 20,214, 86,156,184,252, 14,206, 55, 79,145, 28, 38,236,220, 25, 48, 28, 28,146,231, 57,217,180,143, 78,143,200,179,
-125, 70,253,187,255, 47, 89,111, 26, 44,233,117,159,247,253,206, 57,239,222,219,221,215,217,103, 48,152,193, 50, 0, 1, 8, 32,
- 8,130, 27, 36, 74, 20, 37, 81,164, 41,198,138,100, 41,145, 25,149, 75, 86, 89,118,236,170, 40,169, 44, 76,170, 98, 85,202,249,
- 16,167, 82,254,160, 36, 21,187, 98,149,101, 71,148,236, 72,148,184,239, 43, 8,144, 0,102, 0, 12,102,189,115,239,157,219,119,
-235,190,189,188,111,191,251, 57,249,112,250,142,168, 74, 87, 77, 77, 1, 31,230,206,116,247,123,206,127,121,158,223, 67,153,231,
- 28,110,127,159,241,225,219, 12,246,222, 32, 75, 14,169, 69,135,206,252,121,242,120,135, 60,222, 37, 79,122,140,135,155, 76,250,
- 93,130, 69,159,248,240, 46,157,249,147, 84,215, 67, 70, 73,137,164, 65,154, 76,216,185,249,101, 46, 93,126,148, 79,127,250, 63,
-165,174,109, 28,241,167, 63,253,105,142, 89, 7,135,135,135,252,193, 31,252, 1,199,182, 72,176, 98,177, 95,252,197, 95,196,247,
-125,142,142,142, 24,143,199, 12,142, 6,180, 35,197, 55,127,112, 19, 93, 13, 72, 70,219, 36,195, 45, 38,195, 91,140, 14,110, 18,
- 31,110,144,246, 70,104, 45,113,253, 22,203, 23,222,207,226,169,167, 88,123,248,227,204, 45, 63, 78,150,236, 81, 22, 99,164,212,
-152, 90,163,235, 10, 97,106, 28, 63, 66,139, 54,142,154, 99,233,116,147,126,156, 48, 42, 75,134,147, 46,253,171, 99,202,244, 62,
-237,217, 22,249,168, 65,216, 56,129,169,231, 41,107,143,176, 53, 64, 73,193,242,147,239, 34,171, 18, 38,101, 2,233, 44, 66,182,
-173,187,102, 92,224,207,230, 12, 54,238, 76, 97, 74,102,218,133, 42,124,207, 67, 74,137, 13, 32,177,130,183,188,176,106,120, 41,
-132,229, 71, 96,208, 70, 16, 69,225, 3,225,152,235, 90,168, 87,165, 43, 91, 4, 8, 11, 92,145,202,102,173, 43,199, 42,236, 29,
- 71,145,231, 25, 74, 89,162,163,114, 28,210,212,198,187, 42, 37,241, 93,123,233, 35, 4,198, 64, 94,100, 96,236,185, 22, 6,193,
-116, 90, 36, 16, 66,210, 8, 35, 92,207,179,123,245,233, 89, 31,248, 1,142,107, 19,208,180,182,150, 99, 41, 1, 20,158,239,226,
-187, 14,181,169, 40,138,154,188,200,237,228, 44,152,138, 67,133,180,231,184, 84, 8, 45,112, 61, 7,215,119,241,124, 43, 24,151,
-142,178,247, 21, 53, 97, 20, 61, 40,102,140,182,172, 16, 41,166,225, 50,142, 5, 73, 25, 99, 59,121,140, 5,209, 32,133,213, 2,
- 96,211, 50,165,227,160,117,109,125,234,147, 73,138,106, 57, 8, 35, 72,198, 9, 94,224, 81,215, 53, 81, 35, 34,205, 82, 28, 41,
-113, 93, 59, 74,105, 70, 1, 31,125,178, 9,187, 19,190,244,242,109, 60,227, 50, 19,194,185, 51, 11, 76,106,197,221, 44, 39,147,
-146, 70,109, 24, 29, 76, 88,154,235,112,121,173,141, 41, 13,165, 20,180, 3, 75,189,217, 27,229,228,147, 2,215,145, 36,163,132,
- 58,242,105, 74,104, 73, 24,244, 38, 28,237, 38, 40, 71,209,158,241, 17,174,207,233,115, 43, 40, 95, 81,150, 5, 55,175,117,169,
-227, 28,199, 19,244,118,198,132, 11, 21, 66,121, 52, 34, 73, 81,129,227, 59, 84, 85,141, 18, 22, 70, 83, 85, 22,149,138,209,108,
-221,186, 67, 54,153,208,153,155, 67, 46,204,160,203, 26,243,246, 30,234,204, 41,204,229,199,160,125,157,133,123,183,249,173,103,
-125,126,227,169, 6,223,189, 91,242,135,223, 19,220,239,107,134,113, 76, 85,150, 15,170,108,129, 29,143,244,122,125,148,227,160,
-171, 18, 91, 94, 88, 92,108, 24,248, 72,229, 32,177, 94, 73, 36,160,141, 29, 79, 42,152, 76, 18, 28,215,238,174, 28,215,163, 44,
- 52,210, 83,140,147, 4,215, 81,132, 65,136, 86,160, 1, 33,108, 5,215,104,216,208, 3, 59,213, 55, 68, 81,131, 58, 47,153,148,
-233, 84, 53, 47,112, 2, 31,169, 13,195, 41, 20,196, 81, 10,103, 10,111,200,178,148, 44,213, 4, 65,132,223,182,249,233, 2,104,
- 54,155, 36,113,140,214,182, 16, 1, 91, 17,142,226,120, 42, 46, 41, 9, 67, 31,109, 32,153, 76,248,224,165, 6, 31,190,210,196,
-140,107,136, 34, 66, 81,240,217, 63,252, 34,191,252,137,103,105,173,173,115,237, 91,215, 9, 77, 69, 60, 74,233,116, 66,122,117,
- 73, 93, 27, 78, 46,132,120, 74,112, 56, 42,153, 20, 37,190,107, 88,241, 20,194, 11,233, 13, 6,180, 67, 23,213,112,208, 70, 18,
-180,219,148,227, 24,215, 21, 28, 72,143,104,109,134,211,115, 29,112, 36, 66, 42, 94,126,103,147, 79, 61,229,243,206,189, 30, 63,
-216,179,227,169,219, 67,195,155, 91,119, 25,156,239, 48, 19,218, 4, 49, 37, 32,158,100, 28, 13,198,140,198, 19,146, 52,101,182,
-211, 33,207,114,146, 52, 37, 10, 2,178,188, 64,136,132,108,250, 96, 10, 64,107, 77,171,213,100,103,247,128,120, 50,225,242, 67,
-231,121,226,242,195,156, 62,177, 78,146,166, 96,236,148,227,244,234, 42,183, 54, 55, 57,236, 13,240, 93, 69, 20, 88,166,115, 85,
- 91,139,156,205, 9,208,244,142,142, 24, 39, 9,163,113,140, 82, 14,231, 79,159,100,109,121,133,102, 35, 98,117,121,145, 44,203,
-185,191,187,203, 96, 28,219, 93,119,105, 5,122,235,171,203, 20, 69,193,193,209,144,108,186,163, 7, 43,144, 44,138,130,162,176,
- 2,190,192, 15, 8,131,192,118, 0, 85,133, 18,130,249,217, 89, 38, 89,138,209,246, 2, 57, 62,228,243, 12,148, 16, 76,210,140,
-165,197, 5, 6,195, 17, 95,249,206, 15,208, 6, 92,101,159,209,175,127,247,251,116, 58, 29,222,188,254, 14,155, 59, 93,250,131,
- 17,131,209,136,254,112,100,137,132,202,101, 56, 78,184,250,206, 77, 58,237, 38,171,243, 11, 60,114,249, 34,151,207,157,102,105,
-126, 1,223,119, 41,117,205, 40,153,144,231, 37,151,206,159,227, 43,223,249, 30, 27,219,127,189, 91,246,125,159,229,197, 69,102,
-103, 58, 52, 66,159,163,209,152,237,157, 93, 54,119,118, 9, 60,143,250,210,105,186,121,141,200, 43,134,249, 22,121,113, 72, 89,
-164,100,131,251, 84,197, 24, 45, 10,102,214,223, 77, 62, 57,192, 15, 34,208,134,165,213,199,120,247,217,139, 92, 89, 78,249, 15,
-255, 38,100,220,235,146,140, 15, 64,121, 20,147, 9,121, 62, 33, 27, 15,209,161,193,115, 86,104,206, 93, 32,155, 12, 8,231, 47,
-242,208, 35,191,193,175,255,246,167,168,133,230,223,253,203, 63,227,181,175,125,134,178, 58,226,210, 51,255,132,143,252,254,239,
-113,115,252, 13,174,253,217,255,201,225,246, 30,209, 80,162,117,132,215,200, 57,218,123, 21,128,139, 23,207, 51, 28,142, 57, 78,
-144, 60, 38,112, 2, 28, 11,230,128,191,177,111,247, 60,143,110,183, 75,146, 36,244,122, 61,235,203,174, 43,100,177, 69, 50,208,
-212,249, 17,249,164,135,231, 84,120,158,195, 68, 91, 30, 70, 81, 38, 44,159,124,146,149,179, 47,177,119,255,107, 12,118, 94,198,
-107,172,161,194, 89, 84, 58,192, 80,130,168, 16,142,135,227, 70,184,209, 42, 11, 39,159,193,241,206,176,122,186,203,189,173,109,
-242,209,132, 18,141, 95,230,108,124,239, 13,214, 95,124, 28, 47,104, 81,212, 49, 66, 53, 72, 14,125, 68,190,132, 59,123, 31,243,
-218, 18,171, 79,190, 7,101,190,199,225,155,150, 3,224,169, 22,121,218,199, 91,154,165,209,106, 19, 86, 86,184,165,148, 75,158,
-167, 20, 21,228,105, 58,189, 68, 35,234,170, 98,156,196,248, 78, 77,166, 43, 75,171,116,220,169,103, 28, 52, 26,148, 21, 73,151,
-149,141,242,118,188, 0, 87, 8,194, 70, 99,138, 41,175,241,253, 6, 18,195,104, 52, 38, 8, 3,164,176,186,168, 48, 12,241,253,
- 0, 41, 5, 70, 67, 60, 25, 91, 47,184,231,146,231, 25,186,210,104,169,113,180, 3, 24,219, 16, 57, 86, 96,156, 36, 99,219,176,
- 8, 65, 48, 77,236,172,116,141,146, 14,129,231, 99,124, 97, 19,215,164, 67,145,167, 40,207, 7,108,163,233,251, 10,107, 53, 75,
- 45, 66,184, 46, 65, 58,120,222, 52, 66, 88, 8,242,220,134,167,213,166, 68, 27,235,155,215,181, 1, 36, 69,154, 35, 92, 73, 81,
- 90,136,152, 31, 6,164,137,141, 26,111,132, 17,134, 26,207, 11,240, 93, 43,188, 46,138, 12, 5,100, 85, 65,153, 91,171,180, 5,
-194, 41,156, 48,138, 80,142, 34, 73, 82, 76,101,149,181,158, 12,104,181, 90, 54,192, 3, 65,109, 64, 84,246, 80,158,137, 60,214,
-231, 35,126,244,213,215, 89,137,124, 86,215,231, 8, 91, 17, 27,123, 9,119,146, 9,107,115, 45,222,119,105, 5,215, 81,140,227,
- 4,223,115, 73, 38, 41,133,208, 28,198,134,253,113,201, 76, 0, 70, 72,102,218, 30, 46,146, 19, 75, 13, 92, 37, 41,107, 67,158,
- 27, 14,218, 99,210, 52,229,104,152, 65, 92, 80, 22, 49,221,110,159, 51,171, 45,188,118,192,227,239, 58,193,238,246, 17,135,119,
-251,184, 66,147, 29,165, 52, 23, 93,142,186, 49, 50,148,104,161,136, 2,159, 70, 43, 64, 83, 67,101, 31,166,225,225, 17,131, 73,
- 78, 93,212,152,120,194,194,246, 14,254, 36, 39,205, 19,228,173, 27,228,175,188,198,222,254, 1,103, 79,205,226, 62,255, 16,206,
- 36,225,125,245, 38,207,157,158,225,218, 78,206, 95, 92, 83,252,229,235,125, 10,227, 82, 78,223,108,233, 42,226,241,152, 34,207,
-192, 24,148, 84,180, 90,129, 21, 94, 57, 10, 41, 20, 6,240,141, 99, 87, 15,213, 49, 56,166,196,113, 92,180,182, 68, 35,131,198,
- 11,124,202,170,176,227,170,210,218, 10,125,223,231,216,114,232, 52, 35,178, 44,179,149,165, 18,152, 90,163, 12, 24, 71,226,212,
-210,106, 33, 92, 23, 83, 27, 38,211,125,249,113, 86,189,204, 50,194, 70, 68,165, 53,237,102,147, 52,203, 8,188, 8, 95,218,174,
-210,243, 60, 90,205, 38, 89,158,227,251, 33, 45,215, 35,205, 83,204,212,114, 34,165, 36,141,107,106, 12, 15, 45, 9,126,255,165,
- 22, 78, 38,192,119,160, 72, 24,119,123,152, 12,154,202, 65,100,134,187, 91, 7,180, 27, 62,227,222,152,229,149, 54,243, 99, 69,
-222, 9, 9,128, 44, 45,249,196,207, 61,199,253,123,123,188,246,214, 13,158,121,248, 20,107,255,248,191,132,254, 14, 27,255,250,
-143,217,216,216,224,222, 36,101,238,116,139,100, 28, 83,104,197,176, 86,228,247, 14, 89, 59,216, 98,206, 41, 25,142, 75,214,141,
- 64,159, 92,225,143,126, 28, 51,123,110,157,192,149, 60, 27,236,115,226,254, 30,127,154,167, 4, 51, 77, 26,129,181, 8, 14,134,
- 67, 70, 73, 66,173, 53,158,239,210, 12,237,212, 2, 96,115,103,135,181,229, 37, 43,104,113,109,103, 33,149,196,117, 61,154, 81,
-104, 47,167,178,228,157,219,119, 25,140, 70, 60,218, 63, 98,105,113, 30, 41,108,225,118,204, 10,152,237,180, 56,232, 29, 17,165,
- 19,194,208, 39,242, 3,124,223, 69,199,246,231, 72, 1,117, 93,147,229, 5,187,251, 7,220,190,183, 5, 2,171,212, 21,130,178,
-170,152,237,116, 8,195,144,173,157, 46, 70, 8, 27, 78, 51, 63,103,197, 99, 97, 72,224,123,127,227, 98, 7, 91,124,173, 47, 45,
-177,190,186,194,226,194, 12, 85, 81, 49, 24,199, 12, 71, 99,146, 73,202,252,204, 28,135,253, 62,221,253, 3,188, 32,160,153, 5,
-132, 81,132,231,251, 76, 50,139,194, 29, 39,127, 29,155, 90,214,182, 91,190,183,179, 71,216,235, 51, 78, 38, 96,108,102,244, 49,
-244,198, 81,146,113,146, 48, 78, 18, 14,143,250,156, 92, 93,102, 48,138,217,222, 63, 96,107,167,203, 99, 15, 93,160,211,105, 49,
-142, 19,118,186,187,220,220,184,199,237,173,251, 28,244,143, 30,252,156, 48, 12, 57,127,114,157,147,171,171, 4,129,199,237,123,
- 91,124,225,155,223,101,247,224,128,186,212,156, 61,181,198,130,171, 89,121,254,253, 76,202, 13,146,123, 91, 20,185, 75, 58, 25,
-144,167, 67, 76, 21,115,180,127,151,249,149,135,208,131,132, 76,184, 52,102, 91,228,111,214,124,245, 14,124,219, 13,248,241,203,
-159,165,223,253, 38,179, 11, 15, 51,183,116, 25,137,194, 17, 30,114, 73,144, 31,140,240, 26, 29,162,112,141,143,255,206,151,120,
-232, 83,146, 70,195,240,119, 91,134,215, 72,217,221,255, 56,173,198, 42,243,115, 39,121,247, 7, 79,176,115, 4,147, 87, 44,104,
-166,186,254, 38, 78, 59, 37,175,109, 26, 96, 26,219, 28,249, 26,232,118,187,180, 90, 45, 90,173, 22, 65, 16, 60,152,122,253,228,
- 69,126,252, 18, 66, 48, 24, 12,200,178,140,193, 96,192,112, 56,164,223,239,115,184,219,101,113, 49,226,242, 47,252, 43,238,188,
-242,191,176,241,189,127, 65,166, 13,105,230, 83,202, 18,225, 43,170,193,128, 81,255, 30,242,246,215,200,235, 62, 90, 37,140,251,
- 93,180,153,224, 6,179, 72,225, 82,155, 28, 71, 66, 56,115,154,149,211, 31,228,131, 31,252, 40,237, 14,220,188,215,231,225, 71,
-182,121,229, 91, 47, 19,132, 17, 23,158, 56, 75,107,254,113,134,174, 3,193, 1,122,191,133,241, 20,210,117, 24, 15,106, 58,110,
- 66, 60,217,163,247,149, 69, 68,148, 80,215, 7,160,207,129, 22, 40,111,158,164,216,161,125,242, 4,189,155, 55,240,131,128,241,
-120, 8, 72,178, 73, 6, 72,234,218,160,117, 49, 61,239, 4,195,241, 16,199,113,153,153,181,151,103, 51,138, 0,155,173, 94,151,
- 53, 90, 10, 28, 71,226, 7, 1, 2, 43, 40,174,178,154, 48,244,173, 93,179, 54,104, 41,192,128,169, 13,113, 26,219, 80,171,169,
- 0,185,170,172,224,213,104,131, 81, 80,215, 21, 94, 16,112,108,209,174,107,195,120, 26,168,164,149, 75,216, 8,167,232, 86, 75,
-229,204, 50,141,156,238,220,181,227,216,179, 85, 8,132, 84,140, 70, 35,187, 62,168,107,170, 90,211,104, 54,241, 60, 7,155,163,
- 94,146,166, 25,190,231, 32, 28,166, 83,138, 10,203,107,208, 54, 29,211, 88,189, 84, 81, 79,139, 0,173,113, 92, 23, 42,208, 85,
- 69, 73, 14,194,134,222, 84,117,197,100, 42,120, 21, 34,199,117, 61,180, 99, 35,186, 71,163, 49, 74,185, 68,141, 6, 85,109,115,
- 8,202,162,192, 81,210,114,221, 35,223,167,114, 28, 91, 93,229, 57,198,181, 88,204, 40,138,108,231, 38,236, 23,112,174,225,208,
-172, 75,174,223,216,231,244,202, 12,131, 74,243,246,246,152, 76, 73, 94,120,242, 36, 11,179,109, 94,191,118,135, 72, 27, 22,151,
-102, 25, 85,138, 63,191, 89,243,173,237,146,193,196,144,103, 54, 28, 67, 42, 75, 60,171,116, 65,168, 71,184, 10,222,123, 97,150,
-185,150,207,211,115,109,150, 59,109,206,158, 50,108,238, 15,209,121,193,248, 40,101,171,159,160,246, 71,236,251, 62,139, 39,103,
- 89,185,124,130,254,253, 67,234,172, 96,178, 59, 68,181, 2,116,156,163, 35,123, 17, 86,177,134, 10,162,134, 71, 89,212,108,238,
-107, 92,105, 71,143, 71,113,202,214,157,123,204,246,250,148, 74, 18,133, 33,189,195, 67,146,225,128,131, 97,147,181,249,139,232,
-115,143,195, 67,119,241,186, 47,243,244,236, 1, 79,159,153,240,119, 95,104,243,185,171, 19,254,236,181, 17, 7,163, 12,167,246,
-137,154, 77,164,214, 36, 83, 48, 79,224,135, 72,199, 33,203, 50,130, 32, 96, 52,178, 17,147,158,231,208,104, 54,145, 66, 33, 28,
-107,133,144, 50,160,172, 10, 27,217,170, 44,157, 72, 34,113, 29,119, 42,184,171, 31,236,220,227,113,108, 43,222, 40,178,233, 80,
-202, 70, 15, 42,161,240,219,109, 52,134, 60,205, 30,132,238, 72,101, 63, 91,235,179,183,163, 56, 83,215,212,181,161, 17, 69,118,
- 20, 86,215, 4, 97,104,255,238,128,231, 56, 36,241,152, 32, 12, 81, 82, 17, 68, 1,121,105,113,178, 89, 89,178, 58,227,242,207,
- 62,185,200,140,239, 98, 74, 3,162,134,102, 72,228,123,168, 0, 68,171,137,206, 75,134, 53, 52,165, 34, 75,115,220, 65, 74,212,
-105,176, 30,185, 92,249,240, 35,208, 8, 48, 23,207,211,222,137,217,248,131, 13, 2, 71, 65,235, 3,208,130,179,255,249,195,132,
-255,219, 63,229,230,171,239,208,221, 62, 98,198, 8,140, 35, 89, 31,236,241,124, 43,231,214, 94,202,155,147,146,131,113, 69, 86,
-105,158, 56,217,228, 35,171, 6,143, 93, 68,173, 40,218, 30, 31,123,238,113,146, 31,192,203,230,175,167, 39, 8,137,169, 43,124,
-207,103,174,211, 97,128, 77, 86,131,140,170,180,254, 85,207,181,123, 80, 12, 96,236,126,125,107,167,203,126,175, 79, 24,132,180,
-154, 13, 86,167, 28,243,225, 48,166, 44, 75,198, 19, 27, 17, 92, 27, 8, 92, 91,153, 15,227, 4,144, 52, 91, 13, 22,231,231,201,
-178,140,225, 56, 65, 42,135,197,217, 89,252,169,127,123, 48, 26,115,106,125,157,115,167, 79, 16,120, 46, 69, 89, 82,105, 77, 94,
- 20, 52,163,136, 97,124, 64, 93,213,108,238,236,242,240,185,211,156, 59,115,138,185,185, 89,126,124,245, 45,142,134,195, 7, 23,
- 67, 93,215,100, 69,129, 16, 32,106,235, 74, 88,244, 92, 90,141,144,157,189, 67, 64, 35, 37, 28, 28, 14,184,191,211,101,105, 97,
-129, 90, 27, 92,101, 39,112,244, 7,244,142, 6,108,108,109, 63,248, 51,171, 90,243,253, 31,189,134,227, 72,180,182, 72,217, 70,
- 16, 34,165,156, 94,234, 14,141,200,230, 55, 39,147,148,219,155,247,121,228,194, 57,146, 36,230,251,175,190,198,238,222, 62,103,
- 78,158, 96, 20, 79,184,122,227, 6,215,174,223, 36, 77, 83,126,242,229, 57, 14, 43,203, 75,196,147, 9,174,163,120,248,220, 89,
- 22,230,231,120,231,214,109, 94,121,227, 45, 26,158,199,209,234, 9,212,233,247, 35,126,108,152,228, 95,165, 30, 71, 76,226, 62,
-186,202, 41,178, 1, 82,130,227,185,228,241,136,186,168,201, 15,119,169,117,194,254,193,159,147,141,187,148,233,158,237,154,132,
- 34,203,198,100,217, 30,130, 18,109, 98,116, 5, 71,197, 61,206,158,253, 4,239,251,117,232,191,110,216,236,194, 63,124,201,224,
-153,136,157, 31,221,226,228,197,231,217,186,243, 53,238,236,172, 35,223, 43,208,223,138,104, 59,151,184,123,237,243,248,167, 5,
-158, 55,195,184,158,112,172, 95,220,222,220,162,219,237,210,239,247, 57,127,254, 60, 47,189,244, 18,159,251,220,231, 30,252,155,
-143,187,245,227,223, 47, 95,190, 76, 81, 20,116,187, 93, 70,163, 17,123,123,123, 36, 73, 66,119,167,203,120,184, 67,118,255,109,
- 6, 59,175,147,166, 41,235,103,126,137,199,222,255, 15,248,230,255,251,155,100,131, 17, 31,253,173,127,203,107,111,252, 79, 28,
-190,245,125,106,157, 18, 52,230,112, 76, 70,133,100,102,249, 9,162,206, 9,202,100, 64, 26,111,161,132,131, 31,118,168, 26,112,
-233,103,161,249,131, 57,190,255,253, 39, 88, 88,190,197, 81, 47,230,246,253, 29,158,121,246, 25, 90,171,235,220,126,235, 42,123,
- 59, 7, 20, 90, 33,235,144,186, 44, 56,186,237, 19, 46,127,135,253,171, 10, 25,190,133,107, 22,104,206, 62, 67, 93, 84,104, 35,
-168,119, 26, 4,157, 69,202,234, 45,164, 35,240, 28, 43,254, 82, 66,226, 56,182,240,205,210, 12,141,166, 42,109,243,104,140, 61,
-143, 70, 73,130, 80,130,118,179, 77, 24,134, 16, 50,157,114,164, 40, 57, 21,234,106,112,124, 11,152, 65, 67, 18,143,113, 92, 69,
- 16, 88,252,171,214, 26,229, 42,202, 50,199, 15, 45, 38,187,172,172,211,167,170,114,180, 86,152,194, 22,223,150, 75,239, 32,165,
- 93, 53, 23,133,181,225,153, 41,250,213,117,173, 5, 20, 33,168,140,198,100, 57, 96,208, 74,225, 56,246,162, 55,166,182,211, 48,
-169,166,130, 61, 31,223, 23,148,121, 65, 16,184,148,133, 61,183,209, 9,157, 78,203,238,188,107,131, 23,184, 20, 89,137,148, 22,
-237,141, 54, 8,229, 82,215, 86, 88, 29, 52, 27, 80, 85,212, 83, 65,173,214,214,137,213,104, 52,112, 28,133, 64,144,167, 41, 81,
- 20, 0,150, 61, 82,151, 37,186, 54, 76,138, 17, 74, 56,168,229,245,245,207, 76,210,220, 10,125,170,138,186,214, 86, 29,157, 91,
-232, 72, 93,215, 8, 37,201,211,148, 36,142,121,239, 5,143, 43, 58,102,123,107,128,240, 29,110,198, 53,107,235, 51,124,236,189,
-151,216,220,233,243,197, 47,253,144, 23,159, 58,199,153,135,207,112,123,172,249,253, 47, 29,241,214,161,166,212,118,119,235, 5,
- 1, 72, 65, 35,136,192, 24,198,163, 49,227,172,100, 82,193, 94, 21,242,246,126,197,183,118, 21,223,222,133,151,247, 12,165,112,
- 88, 91,106,113,229,124, 27,207,143, 72,180, 64, 43,193,209,222,144,170,174, 9, 26, 33, 11,167,230,145,129, 75,220, 29, 32,181,
-134, 92, 35, 93,137,227, 9,138,162,166,174, 52, 2,141, 31, 74,130,192,167,170, 12,210,245,169,138,156, 50, 25, 51, 25,197, 68,
-157, 54,107, 63,245, 36, 71,247,182, 48,101,197,236, 35,231, 16,141, 14,212, 9, 98, 80, 96, 80,136,245, 25,218,202,240,204,170,
-228,111, 61,217,224,201,211, 13,210, 82,178, 63,177, 59,143, 90,107,102,102,218, 72,199,153,238, 50,203,169, 72,206, 10,130,220,
- 32,180,149,162,132,162, 44, 48,102,186,239,102,250,223,218,216,157,142,167,108,133,104, 52,198, 8, 92,199,238,206,131, 32,152,
-250,218,107, 42, 93, 19,248, 1, 2,133,242, 20,142,242, 16,104,226,113, 12,198, 16, 53,155,132, 65,136,227,185,182, 40, 51, 86,
-252,102,187,254, 2,215,115,145,210,194,108,170,233, 14,222, 17, 54, 3,190, 40,173,104, 3, 3,101,109,253,241,202,117,185,184,
- 18,240, 63,127,114,150,245,200, 69,151, 6,124, 15,145, 85, 24, 35,168,239,222,229,222,230, 33,103, 78,206,227, 62,116,154,123,
-111,222,103,101,185,137,114, 61,118,122, 9, 79, 62,180,200,197,159,189, 4,169,230,230,183,110, 51,247,240, 9,196,242, 44, 23,
-159,127,142,236,198, 38,193,179,239, 67,168, 54,140,191, 74,203,196, 52,235,146,197, 78,139,106, 52,166, 87, 73, 30, 46, 15,121,
-171,155,112,237,238,136,205,163,138,111,236, 86,188,222,211, 52, 71, 35, 92,161,249,214,198,132,222, 56, 39,170, 83,178,209, 8,
-199,241,120,181,106, 35,180, 65, 72, 5, 24,170, 90,227,121, 46,142,227,178,123,112,192, 36,181, 35,110,131,181,156,181,155, 13,
- 90,141,198,116, 95,231, 19,249, 62,101, 93,211,157, 38,138,133,129,181, 2,214,181,125,255,247, 15,251,108,222,239,146, 21, 57,
-117, 81,216, 52,195,170, 70, 57, 46,142,231, 66,109,201,106, 6,193,112,108, 19,214, 38, 89,198,202,226, 34, 39, 87,151,167,144,
- 22, 69,187,217, 36, 8,124, 28, 37, 17, 8, 22,167,152,217,133,185, 14,219,187,251,132,158, 75, 24,250,244, 7, 35, 70,163, 49,
-221,253,125,126, 50, 12, 69, 74, 73,167,217, 64, 41,135, 81, 28,147,230, 22, 57, 57, 28,143, 73,211,140,163,225,144,195,190, 13,
- 80,209,198, 16, 5, 1,237,118,147,197,185, 57, 90,205, 6,158,227, 48,219,110,113,239,126,151,100,146,162, 92,135,208,183,147,
-140,170,170,136,179, 9, 69, 81,219,241,168, 49,212, 90,115,172,204, 85, 82, 17,133, 62,174,231,178,188,176,192,139,207, 61,131,
- 49,154,123,247,187, 12,198, 49,105,154, 50,223,110, 51,140, 99,134, 83, 5,248,241, 43,240,125, 30, 62,119,134,179, 39,215,121,
-227,250,117,254,215,255,235,143,248,250,183,127,192,245, 59, 22,227,235, 40, 7,177,188,134,147, 60,143,170,230,217,185,249, 13,
-124,221, 67,214, 9,165, 72, 72,199,251,180,102, 47,178,124,238, 2,105,190,199,220,169,117,102,231, 79,112,255,213,239,208,112,
-211,233,216, 58, 97,166, 25,146,143,182, 24, 30,188, 69,158, 13, 49,117,193, 68, 13, 81,185,173,223,214, 46,254, 50,167, 95,156,
-229,157,191,128,123, 55, 55, 25,126,233, 22,131,107, 19,210,113,159,209,112,131,254,193,171, 76, 98,151,131,239,237,112,112,239,
-101, 82,255, 46, 94, 75,145,244, 51,162, 21,151,191,243,233,127,193, 56,206,184,251,246,231,201,211,156,199, 31,127,156,170,170,
- 72,211,148, 43, 87,174,240,229, 47,127,249,255, 87,208, 28,191,126,247,119,127, 23, 99, 12,221,110,151,131,131, 3, 14, 15, 15,
-233,118,187,236,237,238,176,189,185, 77,119,243,171, 12,122,111, 50,179,244, 8,238,236,105,238,190,249,111, 24, 14,110, 16, 69,
-107, 4,209, 25,246,239,252,128,246,204, 89,150, 78, 62, 99,173,150, 90, 18,205,158, 98,118,253, 9,148,113,113, 2, 31,191,177,
- 72, 89, 12,201,226, 46,189,110, 73,127,120,150,232,195,208,251,209, 58,237,185, 29, 6,195, 3,106, 36,101, 94,227, 12,214, 9,
- 58,154,209,248, 62,121,236, 97,170,138, 42,207, 40,243,140,168,147, 49,220,124,147,131,187,215,201,147, 17, 11, 39,159, 65, 98,
- 3,160, 74,157, 33,163, 33,249,254,125,178,180,192,143, 92, 16, 18,199,179,169,107,186,156,198,167,186, 14,158,103, 87,142,237,
-118, 11, 41,108,182, 68, 93,213, 54, 44,165,212, 32, 13, 74, 58,100, 89,142, 82, 18,199, 83,214,233, 52,125,246, 66, 63, 36,108,
-132,212, 83, 95,188,214, 26,131, 61, 99,149, 82, 84, 83, 93,140,227,216, 59,231,248, 30,211, 90, 79, 5,140,154, 98,250,255,234,
-218, 70, 90,107,163, 31, 20,199,141, 40,194,241, 93, 2,207,181,103,121, 94, 16, 70,161,237,250,141, 45,154, 29,207,138, 76,125,
- 63,196,115, 29,187,235, 23, 80,107,195,113, 84,108,158,102, 24, 93, 83,149, 53, 65, 24,224,121,238,116, 79,238,131,182,118, 98,
-223,183,235,209,102,179,137,235, 42, 2, 47,192,117, 45, 58, 86, 40,129,148, 54,202,219,145,146, 73, 50, 33,207, 83, 52,150, 14,
- 41,165,162,214,154,108, 42, 66,148, 8,219,228,173,157, 58,253, 25,165, 36, 66,218, 8, 73, 63,240,144,210,181, 42,111,215, 65,
- 41, 97,199,203, 69,129,214,154, 23, 47, 53,105,141,199,236,238, 13, 49,173, 38,137,208,252,202,251, 31,227,219, 63,190,203, 43,
- 95,121,133, 95,249,213,151,136,230,102,216, 60,136,249,204, 87, 6,148,194, 67,184,118,244, 44,133,196,117, 28,202,210, 94, 42,
-186,214,100,105,250,224,128,242, 3, 31,229,168,105,133,100, 24, 23,112,243,200,240,185, 55,251,124,109, 91,226, 69, 62,167,151,
-219,156, 91,109, 18,206, 68, 76, 10,193,224,104,200,209,254,152,249,249, 54,173,213, 14,198,177,209,116,249, 48, 67, 23, 26,215,
-147, 56,129, 67,158,215, 40, 5, 80,147,230, 5, 69, 86, 18, 69, 14,218, 21,212, 21, 68,126, 72,235,201,135,144,189, 33,155,183,
- 55, 57,137, 11,151,206, 35,110,189,205,155,255,207, 23,184,253,230, 38, 75,227, 10,231,217, 71, 49,126, 3,199,119, 56,213,145,
-124,248,178,226,133,115,138,208, 87,196, 25, 76,106,151,170,178,187,206,168, 17,225,185, 14,142,103, 41, 99,121,105,221, 3,181,
- 49,152,202,138,157,140,177, 93,144, 31,134,184,238,148, 2, 39, 36,149, 54, 24, 97, 80,182,207,196,115, 45,104,161,168,107, 28,
- 37,166,150, 17, 27,249,233, 40,187, 31,154,196, 49, 66, 74,148,148,248,129,135,169, 44,193, 40, 12, 67, 60,165, 44,198, 80, 57,
-120,174, 75, 94,228,196,113,108,247, 95,142,135,157, 12,106, 28,215,153, 86,149, 26, 33, 37,158,114,144, 2,158, 62, 45,249,175,
-126,174,205,137,200,179,153,244,128,184,181,129,233,116, 16,105, 65,117,253,109,134,185,102,253,242,105,148,113,185,119,255,144,
-221,253, 49,207, 61,185,198, 66,211,227,252, 7, 30, 6, 41,248,241, 55,111,241,234,205, 67,158,252,208,187,160,209, 65,168,130,
-224,145,117,132, 76, 48,233, 91,136,239,255, 37,188,122,141, 57, 39,103,101,109,134, 11,231, 78,114,237,246, 30,106,120,200,247,
-238,166,108,151,146, 63,221,129, 31,165,146, 65,173, 56,219, 16,220,136, 53,135,165,224,135, 91, 21,215,246,107,222,238, 21,236,
-143,114,246,130,101, 43, 28,212,150,128,151,101, 25,203, 11,139,248,174,226,238,116, 20,124,172,192, 46,202,138, 48,240,241,124,
- 31,207, 85, 56,202,157,162, 26,199, 28, 30, 29, 61, 80,151,102, 69,137,231, 90, 59, 74, 20,248,108,237,238, 97,180, 21, 6, 61,
-241,200, 69, 78,174,173,226,123, 54,204, 36,244, 3,214, 87,150, 80,174,203,214,125,187, 71,182, 22, 21,203,197,182,149,183,100,
-146,165, 86, 72, 84,228,100, 69,201, 78,183,203,237,205,109,210, 52,195,230,154,219,117,142,116, 20,121, 94, 76,247,237,150, 79,
- 0, 32,140,101, 37, 52,166, 69,130, 49,134,188,178,157, 74, 57,237,254,141,177,168, 91,163, 13, 73,154,226,187, 14, 94,232,211,
- 10, 34,148, 35,233, 15,135,220,221,218, 33,205,172,106,217,192,212,142, 99, 5, 66, 18,112,166,251,193,192,117, 81,202,225,212,
-250, 42,141, 40,100,105,126,158,153, 86,139, 11,103, 79,241,212, 99,143,240,252, 51, 79, 50,219,238, 48, 30,143, 57, 24, 14,185,
-113,103,131, 94,223,162,154,143, 95,107, 43, 75,188,239,185,167,121,238,201, 39,152,105,218,120,227,113, 50,225,240,168,207,112,
- 58, 22, 93,152,153,193, 52, 58,100,229, 12,158,187, 72, 69, 72, 58, 57,162,146,109, 12,109,150,214,158,229,244, 99,127,139,170,
-177,133,246, 21, 65, 24,176, 30,253, 42, 59,119,239,113,255,222,143,136,227,156, 44,143, 73, 38,214, 22,218,108,122,144,167,228,
-105,138,142, 83,252,246, 10, 74, 5,204, 45, 60, 66,221, 93, 99,123,231, 6,177, 28, 51, 78,118,137,247,222,162, 50, 19, 14,239,
-189, 66,146,220, 99, 60,186, 71, 26,103,140, 6, 67,210,250,109, 46,127,248,151,241,102,218,196,241,144,149,149, 79,240,230, 15,
-254,152,146,251, 12,143, 70, 44,116, 58,120,190, 79,154, 90,246,249,249,243,231,185,118,237, 26, 54,156,195, 10, 99, 23, 22, 22,
-120,233,165,151,184,116,233, 18,219,219,219,236,237,237,217, 72, 39, 39, 14, 0, 0, 32, 0, 73, 68, 65, 84,203,124,111,143,221,
-189, 61,226,241, 0,209, 60, 73, 69,135,248,224, 30,179,203, 87, 80,202,112,180,245, 93,202, 92,211, 94, 58,193,230, 91,255,158,
- 52,219,231,169, 15,253,183, 60,247,177,127,200,187,126,250,215,120,234,103,127,139, 70,251,121,186, 55,191, 76,154,246, 40,210,
- 17,249,100, 76, 93, 38,148,233, 62,147,120,147,131,157,187,228,187,143, 19,133, 1,227,238,125, 26,115, 25,131,120, 66,158,142,
-200,250,134,180, 59,162,214, 93, 76, 17, 81,150, 96, 68, 77, 89,166,212,147,152,229, 11, 45,142,186,125,162,213, 14,173,246, 57,
-140,158, 65, 48, 13,131, 81,135, 4, 58, 33, 31,143,201,139,124,202, 68, 0, 37,173, 51,200, 11, 67, 28,215, 3,105,139,215, 52,
-203, 30, 8,133,143, 47, 58, 41, 36, 2,141,209,118,130,152,101, 5,174,227,160,148,107, 69,166,190,101,110, 88,245,188,143,235,
- 58,248,174, 21,159, 85,245, 79,160,190,107, 11,148, 9, 2, 31,223,183,169,153, 54,170,219, 94,238, 66, 90,244,185,125, 25,116,
- 85,227,184, 14, 82, 10,164,235, 80,164, 25,126, 24, 32,140, 70, 41,135,188, 40,241, 61,143, 44,203,168,117, 77, 81,228,232, 90,
-227,251, 30,249, 20,119, 43,132, 5,238,164, 19,155,232,102,243,208, 53,181,174,169,234,210,162,183,141, 13,238, 54, 24, 43,194,
-115,108, 50,167, 49, 6, 41, 45, 31,163,170,107,138, 42,167, 46, 45,131,165, 44, 44, 33, 47,205, 50,108,194, 92,102,207,179, 41,
-249,179, 42, 11,148,144,212,194,170,245,213,137,211,103, 62, 83, 86, 21,209,148, 18,102,229, 95, 80,148, 21,121,110,227, 65,109,
- 22,172, 85,109,255,204,163, 13,210,157,125,164, 17,140,189,128, 43,103, 23, 89, 94,155,231,135,127,249,109,158,127,241, 10,141,
-229,121,100, 85,242,207,190,222,227,198, 65,134,114, 29, 92,199,193, 81,118,188,232, 56,142, 37,229,160, 25,143, 99,180,182,163,
- 96,109, 4,233,100,130,146,194, 10, 69,166,135,157,158, 90,140,178,170,228,106, 55,227,175,222, 25,241,213,205,146,133,197, 57,
- 46,173,183, 89,157,111, 18, 11,201,173,205, 62,121,146, 50, 55, 19,178,118,126,133, 82, 11,242,163, 24,145,151,148,181,193,109,
- 89,246,122, 85,104,130,208, 65,152, 26, 35, 13, 2,195, 36, 47,233,143, 38,164,119,182, 73,142,198,212,198,218,194,154, 23,151,
- 17,111,110,177,121,243, 6,157,192, 99,233,204, 69,120,244, 69,152,123, 2,221,242, 64, 57,136,149, 69,230,101,205, 79,173, 42,
- 62,250, 68,200,229,101, 65, 63,158,112,175, 87, 32,165,131, 54,118,164, 62, 78, 18, 26, 81,132,114, 60,234,218,142, 47, 93,207,
-102,172,123, 65,128,231,122,160, 13,121, 89,146,231,185, 29, 39, 41, 57,253, 28,114,140, 0, 79, 57, 24,163,209, 70, 83,149, 53,
-121,150,114, 44,106, 43, 43, 27, 23,234,121,222, 95,119,231, 88,222, 64, 85, 90, 52, 40,218,170,161,179,212, 10, 48,140,177,162,
- 62,199,115, 65,104,235,159,116, 28,124,215, 67, 27,131,146,130,134,111,248,221, 15, 52,249,157, 15, 45, 50, 35, 37, 70,215, 32,
- 92, 76,111,196,238,119, 95,165,121,122, 13,177,176,192,228,218,155,220,232,165, 92,122,223,243,152, 86,196,133, 11, 43,220,185,
-181,199,214,222,144,199,206,207, 17, 45,205,195, 70,143, 47,126,239, 54,225,164,224,209, 83,103, 49, 15, 61, 7, 91,111,192,205,
-219,240,217,127, 7, 95,252, 19, 68, 54, 64,188,117,147, 31,255,224, 46,222,221, 91, 12,119, 54,169,189,136,253,218,225,213,187,
- 71,124, 97, 23,246,181, 36, 80, 48, 35, 12, 7, 19,205, 59, 49, 28,149,112, 61, 21,220, 45, 5, 55,198,130, 55,134, 53,205, 78,
-219,106, 1,138,130,193,104,204, 40, 78,216,239, 29, 48, 74, 98,146, 36,181,246,180,233,158,179,174,107,194,169,208, 48, 47,202,
-105,232, 9, 28,244,250, 12, 71, 35,170,170, 66, 79,223, 85,207,179,204,127,163, 13,157,118,203,218, 84,140,161,211,234,208, 8,
- 3, 90,205, 6,237,102,139,153, 78, 19,199,117,233,238,238,211,157,102,184,219, 2,162, 36,240,125,230,230,102,153,237, 52,201,
-178,140,254, 96, 72,154,229, 76,178,156,221,195, 67, 6,195, 49, 69, 93,210,106, 68,172, 44, 46,218, 66,175,172,112, 28,133,148,
-214, 26,115,156,170,102,128,100,146,210, 31,142,136, 39, 41,121, 89, 18,199, 49, 90, 91, 81,156,231,121, 72, 36, 89,110, 35,133,
-141,177,156,119, 97,140,117, 72, 72,195, 65,239,136,173,157,238,131,139,183,170, 42,180,174,113,164, 68, 77, 45,156,142,148,140,
-226,152, 56, 73,104,132, 33, 47, 62,251, 20,247,119,118,137,194,136, 23,159,123,154, 95,122,233, 67,204,206,118, 40,203,146, 71,
- 46, 94, 96,125,121, 25, 37, 4, 71,131, 17,247,182,187, 28, 23, 33, 96,199,251,141, 32,176,223,127,207, 35, 77, 83,246, 14, 14,
-153,164,211,104,103, 33,152,109, 55,144,142,195, 56,174, 25, 15, 15, 9,103, 86, 57,243,200, 39, 56,241,196,111,178,254,216, 71,
-185,120,229,227, 92,254, 7,239, 98,239,155,239, 80, 57, 67,200, 50, 14,239,222, 32,203, 74,178,225,109,160,164, 78, 19,234, 50,
- 38, 30,247, 56, 26,196, 52,154, 77,178,108,192,204,234,211, 52,230,207,128,169, 49,210,229,104,247, 46, 71,251,111,147,197, 93,
- 38,241, 14,105,218, 39,143,123,244,246, 55, 88, 90,126,142,209,225, 45, 78,159, 61,197,103, 63,251,247,249,198,215, 79,226, 76,
- 36,163,219,123, 76,244, 30,111,125,233, 15,185,247,214, 23,104,159, 61,135,223,118, 57,218,217,199,157,174,223,198,227, 49,190,
-239,211,106,181,104,183,219,156, 58,117,138, 19, 39, 78, 48, 55, 55,199,201,147, 39,233,245,122,236,236,236,176,191,191, 79,175,
-215, 99, 56, 28, 98,180,134, 50,167, 8,207, 16,181,207, 18,180, 22, 8, 58,107, 40,229,210,158, 61,193,242,217, 39,105, 62,182,
- 70,160, 22,136,247, 14,233,204, 61, 68,247,214, 53,238,254,248, 91,108, 93,127,139,108,180,199,168,191, 65, 85,140, 41,171,152,
- 44,217, 37, 75, 14, 81,194, 96,170, 9, 89,178, 67,127,227,117,200,124, 70, 19,232,204, 15, 56, 58,236, 89,168, 84, 16,147,108,
-239, 50,216,221, 32, 58,189,128,142,167, 35,222, 42,167,152, 12, 88, 60, 51,195, 83,191,248, 18, 69, 59,196, 12, 13, 66,181, 16,
-178,129, 46, 51,210,193, 1,158, 59,162, 26, 15, 80, 82, 81,212, 21,197, 20,222,148,150, 5, 66, 27, 92,215, 78, 3,117,109,236,
-153, 85,150,228, 85, 73,173,177,147, 43, 37, 30,224, 97, 29,199,238,163,193,144, 36,241,116, 53, 38,145, 18,132,148,118,116, 45,
-132,253, 78,215,102,106,179,117,108,244,181, 82,211, 70, 69, 78,199,243,214,174,118, 12,199,177,123,117, 61, 29,199, 75,140,209,
-148,165,166,170, 43,234,170,158, 62,103,142,213,175,104,131,198,254, 12,215,179,170,126, 33, 28, 43, 84,205, 10,176,125, 40,121,
- 86,144,229,133,109, 14, 92, 15, 41,148,237,160, 29, 9,218, 38, 93, 86,117,101,207,126,165,152,228, 41, 69, 89,216,230, 54,203,
-236,202,184,178,169,114,190,103,227,107,109,130, 98,129, 96, 58,101, 46,203,159,152,210,253,181,240,178,172, 44,208, 71, 8,129,
- 90, 92, 91,251,140, 16, 2,229, 40,202,170, 32,142, 19,178,204, 34,232,142,109, 23,157, 78,199, 94, 22,142,195,139,151,155,184,
-195,152,251, 8, 38,253,152,119, 63,113,150,254, 65, 31, 38, 9,231,158,123,130, 50, 43,217, 30,228,252,223,215,106,140,182, 33,
- 14, 82,185,212,117, 73, 85,218,234,201, 15,124,140, 54,228,121, 65, 20, 69, 0,100,217, 4, 4, 20,213, 49, 7,189,192,104, 91,
- 85, 53, 27, 13,171,220, 53,150,156,230, 53, 59,188,221, 51,124,125, 91,115,107,172, 57,191,214,225,225,181, 6, 6,101,253,239,
- 59, 67,230,230, 27,204,172,204, 98,132, 67, 54,152,224, 74,129, 19,249,168,200, 71, 27, 9,194, 80,230, 21,195,113,134, 86,176,
- 59,202, 56,138, 99,124, 89, 89,240,129, 22, 44,185, 62,119, 95,191, 74, 58,153, 16,250, 46,243,203, 75,112,110, 1,234, 49,226,
-139,175,112,120,117,131, 70, 30, 66,238, 98,124, 23,183,233,113,114,193,225,231, 30, 10,248,200,101,159,213, 25, 67,127, 52, 97,
- 99,223,138, 35,180, 49,120,158,107, 43,120,207,163,214, 54, 71, 93, 9, 69, 94, 22,100,211, 93,184,231,218,236,115, 33,196,180,
-170, 5,129, 77,188,178, 57,217, 14, 70,107,148,176, 62,206,193, 96, 64,150,102,148, 85, 69,145,219,188,224,172,176, 95,146, 34,
-183,107,128,122, 42,120,171,167,157,155, 16,208,104, 88, 33,143,169,236, 88, 44, 47,172,253,201,243, 61, 58,161,225, 87,158,109,
-241,251, 63, 63,203, 51,203, 33,178,182, 29, 45,194, 10,244,118,190,241, 50, 85,154,210,153,159, 69, 12,135,148,183, 55,240,219,
- 77,246,181,131,172,114, 34,233,112,238, 68,155,175,127,127,131,231, 46, 46,225,244,142,216, 62,156, 48,236, 14,152,155,111,226,
- 86, 53,114,243,109,188,163, 13,234,207,127,155,205,215, 55,152,241, 21, 98,101, 22,230,103, 89, 91,159, 39,233, 79,216,221, 41,
-184,181,209,101, 48,169,200,218, 51,236,141, 10,138,178, 38,215,130, 74, 10,134, 53, 28,105,112,149, 32,182,119, 28, 61, 45, 8,
-132,161,116,125, 90, 81, 72,156, 21,118, 44, 61, 73,153,164, 41,253,193,200,226, 94,203,242,193,119,220,242,164, 21,198,216, 46,
- 53,207,203, 7,227,191, 48, 8,145, 74, 81,213, 54,195,124, 97,110,150, 19, 43, 75, 68, 65,240,160,171, 12,166,138, 91,215,117,
- 30,128,145,242,162, 98, 48, 24,146,166, 25,147,116,242,224, 18,158,237,180, 88, 93, 90,100,117,113,158,245,229,101,102, 58, 45,
-139,126, 44,115, 66,215,163, 63, 28, 83, 87,211,135,215, 96, 11, 50, 99, 71,225,118, 98,102,200,138,146,252, 39,138, 18, 41,152,
-142,240, 29, 92,101,187,144,178, 44, 41,170,233,231,141, 33,201,114,142, 49,179,205,102,132,171, 92,178,178,192,119,220, 41,139,
-189,207,177,253, 74, 10, 59,214, 87,202,153,118,151,118,165, 80, 85,118,135,254,241,143,252, 12, 63,117,229, 49,110,222,219,164,
-211,106,113,246,228, 58,147, 44,227,222,214, 54, 85, 85,243,220,187,174,176,180, 56,143, 82,138,157,189, 61,226,100,242, 55,198,
-239, 74, 24, 30, 62,127,158,243,167, 78,178,177,117,159,111,255,240,199,220,220,216,228,176,215,167, 40,115, 60,207,163,168,106,
- 38,131, 17,181,144, 80,197, 24,160,152,196,164,135,183, 72,147, 30,253,237,171,136,225,195, 36,227, 46,147,244, 58,117,146,162,
- 83,135,222,246, 53,116,157, 48, 25, 29, 97,234,156,178,180, 32, 22, 83,167, 40,191,205,115, 31,255,223,121,244,167,254, 62,189,
-221, 87,169,138,120,154,246,165, 25, 13,238, 48, 60,186, 67,157, 14,105, 54, 87, 89, 57,243, 33,158,121,207,111,242, 63,252,243,
-231,184,181,119,138,195,240, 38,250,252,187,121,249, 79, 62,199,214,230, 31, 83,246,239,211, 62,119, 18,103, 52, 68,122,139,156,
-185,244, 27,104,185,193,160,223,163, 28,196, 36,249,132,209,112,196, 96, 48,160,217,108,218,231,177,180, 7,183, 82,118,162,114,
-124,153,143,199, 86, 28,108,187, 61,197,222,206, 14,222,194, 83,148,197, 24, 71,122, 20,121,143, 50, 27, 34,164,139,244,230, 40,
-247,246,153,176,207,112,227, 22,105,218, 69,134, 1,121, 49, 36,141,247,217,185,253, 53, 6,187, 63,194, 11,218,100,147, 30,101,
-188,143,114,124, 92, 63,176, 36, 53, 41,169,234,148, 73,122,136,174, 52,147,131, 35, 22, 86, 93,246,118,118,168,171,154, 78, 39,
- 96,120,112, 64,120,102, 9, 49,176, 13,158,214, 57,166, 28, 33, 85,202,252,185,135,104, 71, 62, 59, 71, 27,168,116, 30, 33, 29,
-202, 34,163,202,143,112,194,152,222,246,134,213, 6, 9,129,239,248,212, 66, 79,191, 83,138,100, 50, 65, 10, 51,189, 76,193,113,
- 61,234,178, 38, 12,124,210, 73, 74, 81,150, 68, 65, 52, 93, 63,154, 7, 29,113,173,107,170,170,162,170,108, 84,248,241,217, 38,
-164, 64, 98, 39,205,121, 94,160,177,190,118,229, 88, 68,183,209,122,250,126, 91,186,167,235, 40,164,156, 54, 61, 2,234,218,174,
-146,106,109,172,157, 88, 41,219,245, 87,182, 1, 45,203,130, 32, 10, 48,218, 34,163, 29,101, 99,172, 61,199,193,245, 44, 1, 79,
- 9,200,179,156,172, 44,208, 85, 73, 81, 91,186,157,214, 21, 70, 74,202,188, 66,136, 41, 67, 68, 72, 60,223,183, 19,113,163,166,
-205, 68,136,114, 29, 42, 93, 17, 5, 33,101, 89,161,148,197, 57,143,199, 35,203, 54, 81, 18,132,164,168, 74,154, 97,131,192, 15,
-112, 61, 23,229, 90, 0,150,174, 42,252, 32, 66, 74,129, 58,117,238,252,103,142,247,191, 18,135,178,182, 7, 79, 24,134, 68,141,
-136, 96,202,203, 61, 78,235, 58,217, 17,204,232,152,109, 45,121,100,182,193, 35, 79,156,225,141,191,250, 22,167,158,126,204,250,
-133, 29,193, 55,111,103,188,188, 17,227, 70,190,125,227,141,198,243,108,224, 67, 93, 89,161,150, 51,221,125, 24,160, 42, 44, 43,
- 88, 8,203,188,213, 90, 19, 70, 33,161,231,163,141,161,209,140,136, 34, 43,210,105, 54,155,182, 90, 41,107,210,162,224, 32,145,
-124,229,102,204,181, 36,224,236,122,135,115,171, 77, 28,223, 97,239, 96, 76, 18, 79,240, 26, 30,179, 39,231,153,236, 15,201,247,
- 7, 80, 85,224, 59, 24, 71, 64,165,193,104, 60,229, 16,249, 46,157,192,161,192,142, 74,246, 6, 25,241,126,223,238, 66, 85,197,
-120,156, 35,141,166,189,181,203,240, 59,223,231,206,157, 59,120,145, 79,243,241,243,232,237, 3,110, 93,221,162,232, 87, 52, 79,
-158,131,135,214,233,132,146, 71, 87, 28, 62,246, 88,155, 79, 62,221, 33, 3, 38,153, 33, 46,106, 92,215,183, 16, 17, 37, 16,194,
-238,211,243, 44, 67, 58,214,131, 89, 85, 54, 32,192, 86,200,199,118, 5, 7,199,115, 16, 6,226,100, 66, 28,143,153, 36,201,212,
-147,105, 47,219, 40, 10,112, 93,135,162,172,108,162,207,116, 10,162, 28, 27, 49,235,123, 30,174,231, 81, 85,213, 52,125, 40,152,
- 62, 40,149,221, 3, 59,146,118, 0,191,240, 84,139,255,250,151,231,249,192,133, 38, 13, 97, 64,131,177,124, 29,132,227, 32,222,
-190, 77,247,218, 59,156,255, 59, 31, 71,108,109,145,188,241, 6,106,146,208,137,154,188,225,118,112,140,226,250,159,127,145,185,
-249, 89, 94,190, 63,228,249,139,139,188,252,239,191, 66,186,184, 70, 20,184, 84,104,110,222,219,229,202, 67, 11,176,210, 66, 62,
-255, 36, 51,207, 95, 65, 92,190, 0,221, 49,148,138, 27,111,109, 99, 92,135, 51, 75, 1,171,235, 29,188, 42,227,153,142,230,253,
- 43,138,243,126,137,172, 53, 18,216, 45, 20,169,134, 75,179,112, 54, 82,252,244,186,226,209,182,226,133, 37,184, 87,181, 8,124,
-143,188,182, 4,171,124,170, 37,208,198, 96, 16,148,101,249, 19,151,140,173,216,237,175,105, 12,171,146,228,121,206, 56,153,144,
-229, 25,142,107,185,210,129,239, 49, 63, 51, 67, 24,250,214,118, 86, 91,120,196, 36,203,144, 66, 97,209,187,214,175, 94, 22, 37,
-163, 56,102,191, 63,120,112,161,218, 85,138, 71,173, 53,237,102,131, 32,240, 9, 60, 15, 37, 37,121, 89, 50, 24, 14, 56, 26,142,
-168,181,205,107,111, 70,214, 10, 84,107, 75, 51, 28, 78, 38,196,201,228,111,252,253, 13,118, 71,237,185, 14, 70, 64, 89, 84,244,
-134, 3,122,253, 33,166,174,105, 68, 17,235, 43, 75,150,186, 5,116,154, 77,102, 58,109,206,158, 88, 71, 74,201,225,112, 72, 89,
-216,132,172, 90,215, 24, 64,107, 67, 85, 91,186, 96, 16,134,132,190,205,134, 56,123,242, 4,255,205,239,253, 61,140, 49,188,252,
-198, 53,102,154, 13,180, 49,220,188,179,193, 27,239,220,224,189,207, 62,205,195, 15, 93, 32,116, 93,150, 22, 22,112,149,226,141,
-183,223, 97,239,208,230,193, 47,205,207,241, 43, 31,253, 8, 63,245,196, 99,246, 59, 37,108,254,251, 48,142, 25,197, 9, 6,136,
- 66,159, 86,163,193,218,210, 60,197,100, 72,145,141, 9,162, 16,227, 68,148, 89, 13,198,118, 95,241,222, 38,229,184, 75,233,239,
-147, 29, 30, 17,202, 54, 73,233, 98,242, 1,121, 62, 1,108, 82,156,208, 96,168, 89,189,242, 40, 39, 46,255, 58,105,220,103,176,
-123, 21, 93, 39,104,157, 34, 85, 72,145, 12,200,227, 46,141,246,105, 86,207,188,192, 83, 31,122,158, 23,255,179,132,247, 24,143,
-252,197, 22, 95,248,204,159,242,249,127,254,223,145,140,182,105,157, 94,100,255,198, 29,188,118,131,230, 76,136, 50, 77,154,179,
- 79, 19, 52,215, 49,209, 54, 91,175,189,197,218,218, 10,227, 81,194, 96, 56,160,215,235, 97,140,193, 42,161, 45, 3,126, 28,199,
- 76, 38, 9, 15, 44,178,211, 11,125, 52,236,179,181,123,196,204,218,211, 12,246,126, 68,157,143, 40,211, 3,234,124, 76,145,142,
- 40,179, 33,233,232, 62,227,189, 30,101, 58, 32,141,123, 40,147,160,243, 49,233,248, 62,233,224, 30,167, 30,249, 20, 11, 39,159,
- 39,136, 22,145, 82,129, 99,161, 83, 82, 64, 93,229, 40,169, 44,109, 46, 27,147, 12, 15,233,204, 10, 28, 71, 49, 30, 39,120,205,
- 6, 47,124,248,131,204,157, 62,193, 32,238, 82, 29,217, 72, 79, 93, 21,184,205,146, 76, 43, 58,174, 79, 50,216,167,136, 93,164,
-156, 5,157, 83, 20, 67,130, 70, 74,213, 63,176,148, 63,233, 34, 29,235,244, 9,124, 11, 40,146,211, 75, 78,107,109,173, 97,101,
- 65,224,219,125,179,239, 7,212,117,133,227, 57,214, 29,228, 74, 42,109, 35, 85, 65,211,136, 26,184,174,157,248, 54,162, 6,194,
- 17,164, 73,106, 57, 34,158,135,231, 7,248,254,116, 7,238,219, 72,109, 49,125, 54,108,222,123, 72,141, 13,225, 66, 9,164,144,
- 15,198,244,174,163, 48, 66,145,166, 25, 69,110,133,105,218,212, 96, 20,121,145, 17, 4,161,237,208,165,196,113, 29,108,210, 26,
- 40, 37, 40,170,250,193,217, 97,159, 27,137, 84,118, 45, 86,148, 53,122,122,167, 58,174,131,239,249, 52,162, 8, 33, 21, 85, 89,
- 81,105, 59, 25,240, 3,159, 50, 47, 41,139, 10,132,197,163,199, 73, 74,173,107,210, 44,197,102,114, 64,179, 17, 77,125,243, 57,
-190, 63,213, 88,213, 37,173, 86,123,186, 46, 87,168,197,213,181,207, 4,129,229,225, 42, 71,218,253,196,116,188,152,231, 25,117,
-101, 43, 36, 43,134,168,185,188,234,115, 38, 44,217,233, 38, 60,115, 97,137,118,203,231,230,183,127,136, 60,119,129,165,118, 72,
- 89,212,124,107,171,100, 51, 22,228,233, 4, 33, 21,181,193, 34,104,171, 26,229, 56, 8, 97,168,203,154, 70,212, 32, 12,124, 2,
-223, 39, 8,124,106,109,115, 98, 45, 12, 68,130,208,184,142, 69,163, 42,105,223,220,178,182,185,188,206,180,179,172,235, 26, 47,
- 8,232, 15, 38,124,103, 35,231,229,125,129,244,124,222,253,240, 44, 8, 56,232,165, 36,195,152,217,181,121,162,197, 25,146,163,
- 9,229,225, 24,165, 53,210,247, 16, 82, 35,164, 75, 16, 58, 40, 45,241, 67, 23, 79,186, 24, 33,240,252,128, 58,175,113,165,164,
-150, 46,217, 36, 97,103,239,144,195, 3, 59,202, 58,117,234, 4,206,179,151, 16, 72,178,173, 46,162,174, 81,147, 10,247, 0,246,
-222,233,210,116, 60,104,186, 68,190,224,197,211, 30,191,248, 68,155, 15, 95, 10, 89,138,172,232,232,246,126,134,192,166, 13,217,
-149,182,121, 80, 41, 30, 35, 4,149,178,196, 58, 57,237,144,171,178, 32, 30,141,169,211, 20,234, 10, 45, 29, 26, 81, 68,163,101,
- 69,105,210,113,113, 92, 7,129, 68, 9, 75,110,114, 92,151,162,200, 16, 8,132, 4, 47, 8,240, 29,143, 99, 98,221,201,121,151,
- 15, 61,236,241,247, 62, 48,195,239,188,111,158, 15, 94,233, 80, 92,221,102,231,206, 1,115,235,179,152, 90, 35, 92,151,228,234,
- 54,119,111,236,177,176,218,102,113,126, 14,115,233, 12, 59, 91, 99,226,112,134,238,107,219, 52, 28,205,235,222, 44, 59,163,148,
-245,165, 38,114,216,231,167,127,225,221, 36,219, 93,100, 24, 17,206,117,216, 62,140,145, 24,150, 58, 1,235, 63,115,145,250,250,
- 33,223,254,234,117,242,123, 99,230,255,246, 39,224,153,247,194,140, 96,238,233, 11,136, 59, 7, 28,108,110,209,206, 51, 46,158,
-157,103,213,131,179, 47,158,225, 61,191,250, 36,191, 26,214, 60,213,200,249,196, 42, 60, 61, 3, 71,147,154,162,208,196,149,228,
-122,162,249,226,150, 33,156,237,160, 28, 43,202, 17,210, 90, 11,179,172,152,138, 18,173,104,174,124,160,196,197, 30,254,128, 16,
-199, 89,234, 54,132,196, 96,199,213, 54,168,194, 48,211,110,227,249,118,114, 37,165,181,151, 84,117, 77, 89,215,164,153, 77,248,
-147,194, 80, 21,182, 56, 11,131,112,186,230,201,167,123,234,138,100, 58, 89,113,167, 19, 25, 99, 12,117, 85,113,115, 99,147,123,
-219,247,113, 93, 91,124, 28,239,242, 60,127, 10, 23,170, 43, 92,101, 19, 17, 93,199,195, 96, 30,116,215, 74, 89,146,150, 82,210,
- 34,111, 51,187, 98, 49, 88,165,109,154,102,150,250,102, 52,253,193,144,131,126,159,205,157, 93, 14,143, 6, 28,244,122,104,109,
-117, 52,229,180,147,180, 43, 32, 69, 24,248,132,190, 11, 82,210,110, 52,248,131,255,226, 31,177,180, 48,207, 96,156,240,185, 47,
-127,131,192,247,120,229,234, 91,244,142, 6,252,143,255,228,247,248,192,135,222,103, 39, 12,105, 10, 24,132,148,116,247,247,185,
-119,191, 75,150, 91, 54, 64,150, 23, 8,105,112, 29,151,219,247,238,115,239,254, 54, 66, 8,138,210,130,149,178,188,160, 50,154,
-213,249,121, 58,243, 29,222,185,177, 73,216,138,144, 74,145, 87, 22, 15, 42, 5,140,134, 27,148,197, 0,252, 49,189,157,125,154,
-186, 34, 25, 31,144, 79,250,212,181,193, 24,139,112, 54,216,236,107,116,141, 43, 5,113,191, 75, 85,141,168,210, 33,101,157,227,
- 5,115, 68,205, 21, 46,188,251,215, 88,191,244, 1, 86, 79, 60,194,228, 8,118,110, 6,108,174, 11,238,126,222,163,183,159,177,
-253,246, 31,209,104,159,162,213, 92,102,116,176, 69,218, 27, 34, 42,159,249, 25,159,189,189,107, 44, 44,190, 64,235,209, 21,110,
-255,224, 11, 28,237, 28,176,114, 98, 13, 49,221,149,218,233,163, 29,249,234,233,103,118, 44,212, 58,158, 66,230,105,198,205,119,
-222,225,111,255,253, 55,249,189,255,227,215,248,210,191,252, 87,136,218,218, 13,165, 52,232,124, 66, 93,199, 24, 93,160,133, 67,
-153, 13,152, 91,121,156,165,133,167,217,191,247, 77, 38,147, 93,102,215,223,197,185,199, 62,133,239,180,104,116,214, 9, 90, 43,
-212,186, 34,203,134, 96,114,180, 41,169,203,132, 42, 29,147,197,187,148,217,128, 81,127,196,217,135, 79,147, 26, 77,146,165, 24,
- 20,237,206, 9, 28, 89,112,116,127,128, 18, 17, 72, 77,168, 34,154,243,138,221,221, 30, 42,139, 41, 50,133,235,206, 2,130,162,
- 24,227,182, 38,148,131, 61,106,109, 41,104,121, 54,221, 7, 79,108, 42,102,232, 91, 31,185,235,218,103,231, 56, 47,192, 66,187,
-114,187, 14, 18,224, 78, 59, 85,223,117,145, 74,224, 56,158,189, 37,165, 64, 9, 7, 93,107, 92,199,234,137,170,186, 36, 29, 79,
-208,210,224,123, 54,225, 82, 40,187,198,173,167,171,174, 73,154, 34,164, 64, 24, 16,106, 26,200,229, 56, 15,244, 72, 90,215, 72,
-233, 32,208, 8, 37, 73,211, 20, 93,219, 54,220,115, 92,164,178,107,100,137,109,170,116, 85,225,122, 62,142,114,237,101,111, 12,
- 85,109, 11,121,163, 45,133,213,178, 82,192,247, 61, 26,141, 6,199,132,206,186,182,184,230, 99,150,137,239,123, 84,186,166,174,
-236,247, 53,159,142,225,143, 1, 53,182,240,176, 56,112,235, 69, 23, 56,158,135,227, 40,138,172,192,243,236, 51, 95,215,246, 59,
-166, 78,156, 62,243, 25,233, 88,195,125,154,218,241,199,177,128,192,247, 3, 92,101,209,117,158,111,153,187, 51, 77,143,119,207,
-195,155,221, 17,221, 94,194,220, 76, 68,182,213,229,107, 91, 9,207, 61,118, 18,148,225,115,111,142, 57, 44, 4,158,251, 19,152,
- 81,215, 69,185, 10, 11, 98,201,173,181, 75, 42,202,178, 66,160,144,158, 67, 24, 6, 88, 38,181, 21, 69, 56,142,139,235, 56, 8,
-105, 16,210,114,120,229, 52,146,212, 26,252,205,212,251,107, 85,189,160,153,228, 53,175,117, 51,254,114,163,166, 51,219,226,226,
-137, 54, 81,160,216,223, 61, 98, 56,204, 89, 61,191, 68,208,242,137,123, 49,229, 32,193, 76, 42,100, 39,160,172, 53,165, 46, 41,
-178, 18,133,161,174,160,166, 34, 10,172,248,225,242,165,243,156,121,252, 10,189,237,251,168, 72,145,100, 5, 45, 63, 36,212, 14,
-201, 59,183, 57, 58, 56,196, 13, 45,255,247,254,221,187, 92,191,179,197,155,183, 14,232,152, 22,205, 15,191, 15,102, 58, 56,105,
-202,236,172,199,149,211, 33, 63,255, 68,147,255,228, 61, 77, 78,204, 24,102, 90,129,165,223,185, 62, 26, 27,199,153, 38, 9, 89,
-158,145,231,185,165,189, 1,147,241,152,100, 52,166, 46, 50,132,177,226, 37, 33, 37,141,102, 19,141, 29,209,103,105,138,231,218,
- 11,219, 8,144,142,162, 42,173, 56,175,210,154,192,115,152,137, 60,206,174,120, 60,119,193,231,151,158, 10,249,237, 15,204,241,
-145, 71,155,156,104,123,248,161,203,228,245, 46,255,250, 75,215,153,157,107,176,118,118, 9,169,128, 84,243,165,239, 92,103,166,
-213, 96,233,172,101,168, 51,204,249,147,111,222, 64,248, 30,167,147,125,148,239,179, 57,179,200,222, 48,227,133, 39,207,160,251,
-125, 90, 39,215,216,248,234,203, 60,244,158, 43,204,173,205,243,141,239,220,228,220,185,101, 46,172,205, 16, 22,130,127,251,217,
- 87,112,141, 33, 29,166,156,249,216,199,236, 63,226,181, 31, 34,239,222,199,247, 92,102,126,254, 5,252,197, 5, 88, 95,131,247,
- 61,203,240, 27, 55,217,251,230, 53,226,220,176,219, 79, 25,151,134,197,134,199,187,102, 21, 79,204, 10, 90,142,225,122, 95,115,
-191,148,180, 58, 29,180,177, 83, 38,109, 4,102,250,221,138, 2, 27, 76,164,181,161,172,108,231,100, 87, 80, 14,158,107, 5, 53,
- 24,166,130, 49,193,120, 60,126, 48, 85,114, 93,135,102, 20,225, 58, 46,249, 84,129,122,216,235, 91,126,192,180,211,146, 64,109,
- 32, 47,237,184,220, 96,147,158,142, 70, 67,234,170, 70, 96,136,130,144,229,185, 57,187,238,240,172,191, 53,158,138,231,138,178,
- 66, 74, 69,146,196, 8,160,211,178,163,219,238,126,143,131, 94, 31, 93,105,171,208, 15,125,164,176,251, 64, 93,107, 43,136, 19,
- 6, 71, 72,187, 46,168, 74,148,227, 16,250, 46,205,168,129,114, 92, 26,145, 21,211, 37,137, 37,127, 25, 99, 21,196,121, 94, 79,
-187, 38, 27, 95,219,105, 54, 49, 88,132,103, 58,117,199,232, 90,115,233,194, 57, 62,249,209, 15,179,180,178,194,221,141, 13,238,
-108,110,179,179,183,199,214, 78,151, 79,254,252,135,249,232,135,222,143, 41, 43,146,120, 76, 94,149, 12,134, 67,242,178,228, 71,
- 87,223,228,229,215,175, 2,176, 48, 55,199,211,143, 95,102,125,105, 9,165, 28,198,241,152, 52, 45,216, 59,236, 19, 79, 87, 80,
-190,239,115,114,121,137,185,153, 25, 90,179,179,140, 26, 17,107,231, 94,164, 28,119,169,178,132,178, 44, 25, 39, 59,140,246,222,
-102, 97,245, 52, 70,246,169,165, 96,184,185, 67, 49,238,177,122,225,231,113,130,101,134,135, 87, 17,198, 22,116,152,154, 44,142,
-241,194, 0, 93, 23,228,105, 76, 85,142, 80,202,163, 53,119,142, 86,235, 44,239,255,239, 95, 64,111, 55,105,127, 24,146, 93,184,
-243,131, 87,121,253, 63, 92,101,111, 99,131,154,140,147,231,126,129,229, 83, 47, 80,228, 7,196,253,187, 8,165,200,253,146,114,
-152, 16,205, 43,230, 87,222,207, 83,143,254, 71,184, 51, 43, 92,251,238,103, 57,218,223, 99,126,105, 9,223,179,118, 73, 99,254,
-186, 8,179, 19, 80,171,216, 22, 82,146, 78, 18,238,110,108,144, 59, 46,179,139,167,248,206,159,221, 98,255,222,151,112, 3,159,
-108,146,160, 92,159,118,187, 65,145,151, 40,229,145,229, 57,181, 78,248,208, 39,255,156,143,252,246,175,242,222,127,250,143,120,
-254,249,127, 76,150,173,113,176,247, 67, 38,227, 61,134,195, 77,178,172,199,252,194, 35,204,173, 94,161, 54, 80, 23, 99,138, 73,
-140,209, 25,117,149,162,107,144, 34,162, 25,206,178,126,110,129,131,225,128, 50,207, 72, 55, 5,142,159, 50,201,143, 16,186,131,
-112, 2,140,136, 88,190,184, 68, 62, 58,100,184,183,131,191, 60,139,206, 59, 72, 21, 80,155, 20,194, 4,167, 72,112,204,212, 58,
-219,136, 40,203, 10,105, 12,158, 31, 32,132, 65, 27, 77, 58, 73,201, 51, 27, 87, 92,228,133,221, 33, 43, 73,224, 7,160,107,140,
-180,138,247,170,172,201,171,146, 73,146,216,241,186,174,241,125, 31, 37, 21,101,157,131, 84, 86,133, 30,133,120,158, 75,146,166,
- 84,149,229,178,107,172,112,172, 40, 75,132, 17, 56,174, 68, 57, 62,101,153,147,167,185, 45,200,141, 65, 9,123,215, 84,149,181,
-154,161, 13,199,248, 85, 12,148,101, 69, 85, 90,200,147, 54,160,181,253,252, 48,218,170,236,167,133,185,227, 89, 27, 50, 26,252,
- 32, 36, 12,236,136,188,170,172, 55,255, 39, 35,172,237,159,107,247,233,101, 81,226, 57, 14, 6,137, 55, 5,218, 56,174,157,170,
- 4,190, 77,125, 19, 66,146,229, 25, 69,145,147,166,233,116,234, 34,112, 61, 23,195, 52, 77, 85,131,144,194,178,223,139,178,102,
-146,196,120,126, 0,194,146,105,138,178,162,204,173, 72, 13, 12, 89, 94, 80,148, 57,163,180,224, 63, 62, 31,112,245,118, 15,141,
-228,198, 70,143, 48,233, 51,191,188,192,217,243,107,148, 69,197, 95,188, 61,162, 59,200, 41,139,130, 90,192,146, 42,121,118, 85,
-240,246,174, 85, 5, 98, 12,198, 88,108,158, 20, 18, 67,141,174,107, 43,194,194, 86,175, 22,244, 47, 24,197, 35,242,188,160, 42,
- 74, 27, 46, 99,106, 70,195,216,230,218,154,122,218,221,218, 15, 64, 27, 99, 35, 78, 93, 23,140,224,157, 35,195,215,239,215,140,
- 76,192,251, 30,157,195,115, 96,227, 94,143,200,243, 56,253,232, 26,153, 86,164,117, 77,213,155, 16, 52, 67,220,192, 71, 74, 40,
-128,163, 44,199,199,224,250,118,212,114,120, 24,179,218,182,161, 1, 7,189, 62,153,174,216,223, 29, 49,222,221, 97,111,123,135,
- 60,206,152, 89, 90, 96,233,133,167,200, 54,238, 51,216,223,103, 33,242, 89, 95, 95,197,189,112, 22,241,118,143,111,126,225, 21,
-182,239,246, 89,214, 33,234,196, 58, 78, 51,224,210,170,207,139,143,183,248,248, 51,109,126,233,177, 38, 31,186,164, 56, 59,171,
-152,107, 8, 90, 13,215,190, 39,166,102,112, 52,198,213,133,253,226, 97,199,246,198, 88,143,163,231,123, 56,174,131,235, 88, 97,
- 93, 93, 85,204,132, 6, 95, 25, 92,165,121,250,116,192, 79, 63,222,224, 83,207,118,248,165,103, 58,252,214,139, 29,126,249,241,
- 6, 47,158,246,121,116,201,167,237, 74,132,152,254,172, 65,193, 95,125,254, 42, 51,142,224,131, 63,115, 5,227, 9,168, 5,223,
-254,194, 85,214, 22,103, 56,181,220,192, 19,192,214, 54,183, 7, 37,219,219, 3,154,157, 16, 39,157, 32, 71, 41,147, 83, 39, 25,
-100, 5,126,173, 89,116, 11,190,250, 39,223,225,197,167, 79, 32, 79,173,115,115,163,199,253,110,159,164, 18,204, 55, 61,178,241,
-255, 71,212,155, 6, 89,118,222,231,125,191,247,236,231,238,247,246,222, 61,221,211,179, 1,179, 0, 24, 44, 36, 0, 2, 4, 64,
- 2, 36,196,181, 40,128, 20, 23,173,137,149, 40,114, 36,151, 45,149,163,184,236,114,204,146,147,216, 85,177,163,164, 42,169,138,
- 28,165, 34, 43,178,203, 46,209,162, 41, 81, 20, 37,113, 1, 1, 18, 43, 1,204, 96, 6,179, 47, 61,189, 47,119, 63,251,250,230,
-195,123, 7,234, 47, 51, 53, 53,213,213,125,187,239,249,111,207,243,123, 98,162, 56,199,172,152,244,163,140,131,215,222, 97,248,
-131, 31, 50,255,192, 60, 20, 46, 65, 38, 40,194, 12,227, 51, 79,163,205,207, 64,191,199,248,229,183, 89,122,242, 17, 26, 39, 86,
-105,203,152, 54, 41,125, 47, 38,200, 74, 26,150, 70,195,128,143, 46,219,172, 54,108, 86, 12, 37, 12, 27,101, 16, 22, 37, 69, 33,
- 16, 40,117,233, 96,228, 17, 76, 10,200,221,143,187,103,140, 90,165, 66, 81, 42,146, 84,150, 23, 20,185, 74,214,203, 38,171,104,
-215,113, 38, 90, 16, 73, 28,167,248, 97,192,200, 11,240,195,144, 78,163,165, 86,235,185, 90, 97, 75, 41,169, 85, 43,212,170, 21,
-246,246,123,164, 89, 54,249,247,146, 40, 77,213,116,173, 43,166,127, 16,132,164,105,142, 44, 37, 81,146, 16, 37, 9,154,174, 43,
-190,124, 89,126,128, 86, 77, 50,197, 82,207, 11,229,249, 21,154, 70, 54, 57,211, 84,109, 71,101, 59,107,234,119, 33,207,115, 74,
- 9, 18,137, 97,104,212, 43, 85,164, 80, 52,195,162, 44,169,184,206, 36,218, 81, 9,144, 28,199, 97,186,221,194, 11, 67,178,201,
- 89,172, 40,212,186,244,185, 39, 63,194,247,127,242, 42,207, 61,249, 24,171, 39,142, 17,123, 1, 27,219,219,220,222,220,230,225,
-251, 78,115,252,200, 97, 46, 95,191,201,203,111,188,133, 23, 70, 44,207,207,179,223,237,115,233,250, 13,222,191,126,139,107,183,
-214, 0,152,159,153,226,161,251,206, 48, 59, 51,141,231,251,236,238,119,209, 13,125, 82,236, 4,166,174, 49, 51,213,230,244, 61,
- 39,120,226,225, 7, 48,218, 83,164, 75,171, 24,241, 44,113,170,145,250,119,232,110,188, 73, 50, 62,224,190,199,127,155,106,107,
-137, 40,190,138,110, 66,237,232, 2,159,253,226, 31,242,167,255,231,139,188,122,243, 12,251,195, 31,145, 13, 6, 72, 81,128,212,
- 84, 97, 31, 15,104, 53, 92, 70,253,117,242, 44,166, 51,251, 24, 11,171, 31,227,240,234,147, 28, 57, 5, 23,191,189,193,248, 29,
-143,254,206, 38,126,184,134,231,223,102,212,187,138,223,187, 73,165,190,168,222, 39, 90,157,100,240, 62,101, 37, 39, 31,100, 72,
-189, 73,226, 27, 56, 86,194, 91, 47,125,131,197,149,103,121,228,217,191,199, 79, 95,250,191,217, 88, 95,195,247,198,212, 26, 13,
-116, 93,133, 33,221,157,204,165,148,132,126,192,141,219,215,216,220,216, 69,119,166,169, 84, 59,120,189,139,244,119, 95, 33,215,
- 82,242,196, 65, 3,210, 96,164,206, 66, 66, 80, 96,145, 39, 17,134,238,242,208,103,255, 49, 91,215,250,108,124,127,131,222,102,
-206,248,224, 22,221,157,243,132,254, 30, 69,212,195,169, 76,211,156, 62,142, 99, 58,104,214, 36, 37, 45, 30,145, 23, 17,166, 89,
-199,112,218, 84, 59, 71,145, 70,139,197,123,218,140,186, 93, 2,127, 68,181,101, 49,190,190, 67,152,246,169, 86,103, 41,114, 11,
-221,236, 64, 62,207,202,131,135,168,235, 57,194,178, 40,162, 42,142,213, 65, 20,146, 50, 75,176, 43, 49,222,158, 74,234, 76,226,
- 24,132,134,105,155, 84, 92,133, 34, 55,116,245,220,215,117, 67, 9,234, 38,231,223,138,237,144,166, 25,186,110, 42,216,150,169,
- 19, 78,178, 52,242, 66,241,222, 93,183,130, 31, 40,125,140,105,154,104,168, 97,180, 82,113,201,242, 18, 83,183, 17, 2,208, 52,
- 64,163, 90,113, 41, 10,149,189,161,178,216,149, 47, 93,109,186,116, 37, 76, 78, 99,138, 44,167, 90,169,161, 0, 50,170, 25, 55,
- 12, 75,225,211,109, 27, 83, 87, 2, 85,203,180,177, 93,133,179,181, 12,101,143,141, 35, 5,144, 49, 39,234,120, 41, 75, 12, 83,
- 39,138, 34, 92, 91,101,104,168, 97,117,146, 0,151,231, 19,221,148, 10,224,178, 44, 27,161,233, 8, 77, 97, 99,133, 6, 32, 16,
-134,218,164,154,166,141, 2,142, 25,196,147, 13, 66,154, 36,228,101,138,174, 25,248, 65,128,109,171,232,244,162, 44, 48,116, 77,
- 32,132, 82,201,122,163, 33,134,105,161,161,163, 21, 5, 73,166,214, 92,102,163,142,117,247,190, 24,229,116, 51,131,229, 41,135,
- 81, 44,176, 28,131, 97,210, 36,235, 71,196,121,138,105,152, 28,153,173,177,238,199, 68, 73,130, 76, 82,142,203, 61,254,199,191,
-255, 27, 28,254,195,239,242, 7,111, 7,232,186,129,105, 9,242, 36,158,100, 77,223, 85,188,170, 65,237, 46,233, 75,136, 16, 33,
- 4,150,101, 98, 57, 46, 89,158, 19,134, 42,156,196,180, 44, 84,238,110, 65, 74, 73, 89,128, 97,187,196,229, 36,247,187, 84, 89,
-181,105, 2,175,110, 11, 46, 14, 52,158, 95,157,226,177,227, 46,126,119,192,149,203,187,204,206, 55, 89, 60,212,198,239,122,108,
-223,220,165,171, 25,204,213,109,186,113, 74, 16,102,184, 75, 77,216,235, 67,163, 66,175, 59, 96,236,251,212, 42, 46, 2,131,186,
- 97, 18,105, 5, 73, 17,162, 87,116,200, 37,169, 31, 66,223,199,118, 92, 26,157, 38, 20, 26,254, 96, 76,229,175,223,160, 55, 28,
-226,140, 6,148,133,198,109,179, 74, 43,222,225,206,214, 14,109, 39,167,102, 10,132,233,178, 48, 63,199,212,252, 20,167,143,207,
-128,151,130,200,161,128,110,152,226,152,130,219,227, 8, 87, 10,124, 36,105, 92, 96, 9, 29,175, 40,113,132,192,177, 76, 34, 13,
-230,108, 65,197,214, 41,164, 70, 77,215,168, 25,128,105,128,169, 65,170, 62, 31, 89,129,148, 2,153, 65,105,168,105, 63,187,190,
-141,233, 86, 25, 30,244,105, 76,215,249,216, 71,239, 65, 28,170, 66, 63,225,218,107, 87, 25, 6, 9, 94, 16,211, 63, 24,242,212,
-177, 14,232, 26, 27,235, 1,199, 15, 53,217,234,250, 52,107,109,220,222, 16, 35,207,232,143, 60,180, 35, 29, 1, 41, 15,238, 0,
- 0, 32, 0, 73, 68, 65, 84,172,204,229,228,252, 4, 0, 83,232, 92,120,111,135, 67, 77, 7, 47, 8,185,182,109,112,223,145,105,
- 18, 36,166,144,172,141, 66,188,124,143, 47, 61,126,152,232,242, 14,127,242,131, 27, 80,192,124,167,201,243, 95,253, 34,242,205,
-215, 17, 69,143,217, 95,123, 1, 49, 40,144, 51,117, 26, 63,251, 44,173, 48,100,245,245, 55,184,242,199, 63,100,187, 31, 18, 20,
- 64,146,177, 98, 58,108, 9,147, 39,173, 49,103, 83,141, 11, 98,134,126, 82,210, 11, 51,188, 36, 71,215, 77,220,170, 70,150,164,
- 42,101, 15,117,231,204,211,148, 40, 78,176, 38,246,151,187,133, 78,211, 13, 36,130, 36, 78,217,218, 85,194,175, 70,189,134,101,
-170, 53,124,197,113, 8,227,144,173,253, 61,116, 33,104,183,154,212,170, 85,106,213, 10, 73,154,114,112,208, 37,203,255,246, 6,
-158,229, 5,113, 20,147,214,114,146, 84,101,173,151,121,193,208, 27, 51,242, 3,242, 60,167,234,186, 72,164,242,170,187, 46,207,
- 63,253, 36,255,213,215,190,200,234,161, 67,236,247,250,156,187,116,133,139, 87,174,177,182,185,201,103, 62,254, 52,166,105,242,
-215, 47,191,198,149,155, 55, 25,142, 21,168,200,182, 76,218,141, 58,243,179,115, 28,244,251,244,135, 67,188, 32, 32,157,156, 29,
- 12, 93,163, 86,107, 32,130,128,209, 56,197,106, 26,100, 69,129,109,153, 74,252,147, 43,127,245,145,195,203, 28,244,123,196, 73,
-170,236,117,166,193,237,245,117,222,186,240, 62, 69, 81,176,115,112,192,183,254,234,251,236,247,250, 60,254,200,131,188,248,153,
-231,177, 44,131,209,216,227,218,173, 53,222,124,247, 60, 0, 21,215, 33,140, 98,110,222,190,195,161,121,133,200,157,158,234,176,
-177,189, 67, 24,134,147,124,235, 2, 39, 78, 8,147,132,177,239,211,181, 59,120,221, 45, 26,250, 50,245,246, 67, 56,245,123,152,
- 90,241, 57,243,224, 47,241,224,195,117,194, 4,174,188,247, 56,175,191,243, 27, 96,103,188,127,238,123,252,203,255,247,151,233,
-238, 92,161,179,124,130, 96,111,143,178, 63,166, 16, 41, 66,211,137,163, 62,235,235, 87,153,157, 94,100, 56,220,225,129,207,252,
- 93,206,156,169, 50,220,146,184,142,192,182, 77,214,110,253, 64,173,112,131, 93,162,225, 46,195,131, 75, 68,195, 45, 76,167,133,
- 91,107, 3, 14,210, 90,161,220,123,153,212, 52,208,130,152, 36,149, 92,243,215, 49,200,185,244,210, 59, 44,157,120,129, 71, 62,
-249, 15,121,251,111,254, 21, 7,221, 17, 7,221, 55,209, 45, 27, 91, 23,152,142,163,156, 40, 97,130, 68,199,114, 27, 52,103, 14,
- 41,129,151, 5,186,110,171,100,196,177,199,153, 79,255, 46,221,141, 31,115,243,157,255,200,216, 15,113, 28, 3, 77,207, 40, 73,
- 41,211,156, 27, 87,191,141,165, 85, 41,199, 3,162,120,132,215,187,134, 33, 76,236, 70, 7,239,224, 22,195,189,247,149, 72, 76,
- 88, 36,217,136, 60, 13,209,245, 42,122,197, 4,205,192,112,167,105,116, 78,226,212,231,232,109,238,113,244,196, 49,222,252,201,
-235,196,121, 64,123,193,165,191,213, 67,180, 35,180,192, 0,105,144, 5,146,189,247,235, 44,220,255, 48,114,247, 50,113, 47, 70,
- 51, 4,213,122,155, 40, 29, 82,107, 79,211,151,146, 48, 12, 63, 56,225, 80, 40,199,142,102,169,233,247,238,246, 48,138, 99,202,
-201,217,181, 68, 1,100,164, 86,226,184, 54,190,239, 81,171,214, 40,165, 10, 96,177,109, 75,229, 80,160,108, 97,222,200, 71, 51,
-116, 26,141, 6, 73,156,128, 40, 64, 72,108,219, 33,207, 99, 44,221, 68, 72, 65,213,169, 34,133, 68, 22, 5, 66, 51, 16,174,141,
-144, 58, 69,174,192, 93, 37,146, 82,148,164, 69,174,162,102, 77, 19,169, 73, 10,153,171, 63,179, 76,217,242, 38,201,109,170, 56,
- 73,194, 52,194, 54, 93,156,170, 3, 18, 66, 63,160,222,168, 2,106,123, 86, 88, 6, 97,162, 96, 8,134,166,226,187,133, 16,106,
- 91,157, 21,200,172,160,200, 18, 12,211,198,173,184, 4,113, 66,173, 90,193, 52, 44,116,189, 68,150, 37,217, 36,158, 85,145, 68,
- 53,165,143,144, 18, 41, 33, 75, 74,252,194, 67, 8,131, 34,135,188, 72, 48, 13, 19,189, 51, 51,243,117,195, 48,136, 83,229,171,
- 46,210, 68, 77, 0, 19, 81,143,110, 24, 20,233, 4,162, 82,150,228, 18,142,204,185, 44, 58, 57,131, 32,195,116, 44, 82,161, 67,
-154,114,226,196, 34,174,169,241,214, 70,204,102, 48,137, 9,117,108, 30,168, 6,108,190,115,129,207,221, 91, 97, 43, 49,216,141,
- 13,138, 2,198,222,152, 44, 83,209,160, 82, 74,133, 93, 53, 84,176,132, 16, 10,120, 82,173,213, 72,147, 68,121,207,227,140,178,
- 84, 12, 92,211, 52, 40,203,146, 44, 47, 65,128,163, 91, 32, 4,154, 20, 24,186,174,206, 6, 66, 7, 77,181, 8,121, 14,151,187,
- 37,175,246, 29,142, 29,106,112,255, 33,135, 59,155, 3,118,183,251,160,105,212,102,106,228, 94,140, 72, 10,172, 76, 41,255,147,
- 56,197,138, 82,186, 65,194, 32, 81,141, 79,189,162, 99, 87, 77,218,213, 26,199, 79, 28,165,223, 27, 80,150, 57, 89, 38, 25,250,
- 17,182, 55, 34, 74, 50, 70,131, 49,121,150,210,156,110, 49,246, 98,110,111,239,146, 73, 73,179, 90,195, 16, 57,105, 24,225,239,
-119,185, 52,138,184,186,239,163, 89, 85, 70,126,198,219,111,175,179,152,164, 88,171, 77,200, 75, 74, 77,195,109,216,152, 82, 48,
-231, 58, 76, 53, 28,102, 43, 54, 75,117,151,133,134,205, 74,195,102,177, 97, 51, 87,179, 88,112, 13,154,166, 70, 69, 55,168, 11,
- 29, 83, 47,193,178, 16, 5,200,205, 24,209, 84, 94,208, 82,128, 48, 64, 84, 45, 68, 94,112,237,173, 59,252,217,197, 93, 30, 90,
-170,225,222,183,204,225, 83,115,104, 77,135,245, 31, 94,229,149, 31, 95,227,214,222,152,102,221, 38, 77,115, 54,135, 17, 71,134,
- 93,236,229,101,222, 90, 27,208,172,217,216,174,141,211,114,176,215,118, 56,252,232, 73,134, 26, 88, 58,220, 59,219, 96,119,125,
-151,131, 59, 3,218, 39, 87,217,190,115,128, 64,195, 47, 37,118,154,179,222, 11, 72, 28, 3,199, 48,168, 90, 22,213, 52,163, 51,
- 85,229,221,107, 7, 76, 91,130,249, 67, 45,242, 32,161,113,123,147,139, 23,111,176,116,207, 50,223,252,230, 57, 94,125,245, 58,
-135, 53,147,202, 51,191,140,152,255,121,202,229, 38,211,115, 9, 71, 30, 58,202,253,159,248, 16,103, 58, 53, 30,110,232,252,217,
-165, 93, 46,237,102,248,121,202,188,150,115,172,105,178,212,116,169,155, 26,162, 80, 57,246, 94,156,144, 77,214,161,160, 26, 28,
-115,162, 97, 72,115,181, 6,151,178, 36,157, 20,221, 18,137,174, 11, 42,182, 67,179, 81,199, 48, 4, 66, 83,224, 33, 93, 83, 54,
-154,233, 78,155, 70,189,142, 59,185,187,215,106, 10,244, 18,198, 9,163,177,143, 16,138, 90,165,105,234,110,175,136,116,106,229,
-119,246,228,189,252,214,127,253, 43,124,236,241, 71,137,146,132,107, 55,111,209,106, 52,249,213,175,188,200, 47,190,248,121,206,
-156, 56,193,239,253,193, 31,241, 31,190,245, 23,252,187,111,254, 57,221,193,128,167, 30,253, 16,157,102,147,183, 46,188,207,126,
-175, 79,183, 63,196,243,125,144, 37, 71,150,151,121,225, 83,207, 81,117, 29, 94,122,237, 77,230,231,102,185,240,189,111,243,220,
-147,143,211,105, 54, 40,133,192, 27,143, 41,203, 82,173, 46,139,156,229,133,121,166, 59, 29, 28,215,166, 81,171,179, 48, 51, 3,
- 82,114,225,202,117,132, 16,220, 90,223,228,196,220, 44,205, 73,227,178,186,180, 64,148,100,220, 90,223, 96,113,126,150, 63,248,
-151,191,139,101, 41,193,166, 31, 70, 92,191,181,198,235,231, 46,124,160, 39,184,231,232, 42,135,151, 22, 88, 90,152, 99, 52, 86,
- 56,219,177,239,115,208, 27,144,102, 25,182,105, 48, 51, 61,197,153, 19, 71,169, 87, 42,236, 73,139,222,206, 22, 66,118, 40,138,
-130, 50,135,230,124,139, 56,236,115,229,252,109,174, 92,124, 23,137, 67, 25,148, 28,108,188,129, 48,251, 92,185,120,149, 40,216,
- 36,233,245, 40,205,128, 44, 74, 41,101,166, 86,241,178, 36,139,198, 68,113,206,161,147,143,241,232, 39,190,202,212,243,146,141,
- 87, 97,112, 21,182,238, 92,100,115,243,101,188,254, 26,145,183, 75, 18, 28,176,119,243, 37, 90,211, 39,121,242,153,255, 21,111,
-188, 65, 20,244, 56,124,223,231,249,141,111,255, 47,248, 23, 28,174, 94,248, 22,166,225, 80,117, 12, 6,227, 24, 97, 86,208,179,
- 29,116, 57,160, 49,255,136, 18, 86,153, 21, 28,183, 65,174, 85, 41, 75, 23, 97, 84,113,170,179, 56,181, 22,186,238, 80,171, 58,
- 84,170, 54,186, 97,146,187,130, 34,204, 41,164,100,247,234, 95, 50,216, 62, 79, 81,164,184,149, 54,150,161, 97, 56,109,100, 17,
-145,166, 49,142, 40, 73, 34,159, 36,236,225, 15,238,112,239, 19,191,206,199,255,197,215, 56,246,165,167, 89,174,189, 8, 69, 3,
-175,127,131, 44,233,145, 36, 93,194,241, 14,121, 30, 99,218, 46,134, 89,193,176,218, 84,234,179, 52,235, 71, 40,114,155,234, 92,
-140, 85,198,108,110,239, 49,187,188,192,217,167,158, 36,183, 10,252,237,144, 66,115, 49,244, 42,121, 98, 48,222,141,105, 44,148,
-228,118,137,203, 10,134, 93, 65,232, 18,179, 17, 35,162, 49, 90,169,126,183, 45, 75,157,170,202, 92,137, 85,163, 40,156, 4,152,
-168,196, 71, 41,164, 18,112,150, 37,149, 74,133, 48,140,137, 99,197,104, 40, 41,137,162,148, 90,173,170,206, 20, 82, 34, 12, 77,
- 5, 9, 73, 40, 39, 66, 58,149,144, 25,145,102,202, 1, 84,102,114, 82, 68, 53,146, 84,221,243, 85,115,160,220, 45,119,195,183,
-164,144,216,150,129,105, 88,152,134,161,248,239,186,129,169,171,120, 87, 93,168,247,118, 94, 72,162,192, 39, 78, 99,181,249,146,
- 26,154,132, 48, 74, 73,147,152, 34, 43,168, 55,235,100,105,166,166,233,201, 93,221,212, 84, 74, 92,148,166,216,150, 73, 89,230,
-104,134,162, 41,102, 89, 66,154, 23,228,121, 74,158, 37,234,107,141, 83,197,147,144, 37,113,156, 82,169,186,100,121, 76,181, 82,
- 65, 51, 84, 30,136,105, 42,141,141,107,171,191,155,134,137,174, 41,109, 66, 28,199,232,179, 11, 11, 95,183, 76, 91,217,161,178,
- 28,211, 86,201, 53,142,109, 83,173,215,149,194,110,194,204,181, 76, 19,203, 48, 9,116,155, 47,204,231,156, 91, 27,208,170,185,
-140,147,140, 90,171, 66,104, 86, 57,212,118,217, 30,132,188,183,175,236, 8,166,105,226,104,176,168,249, 36, 81,193,153,101,135,
-191,184,145, 19,134,202, 71,235, 58, 46,182,171,160, 31,121,150,168, 9, 92, 55,168, 76,132, 5,105,148, 96,219, 38,182,101,127,
- 96,245,210,117,141, 52,141,149,159, 88,215,208,165, 64,119,212, 29,185,226,222, 21, 97,232,100, 69, 14, 40,149,163,169, 43,165,
- 99, 24,197,188,181,149,113,110, 92,225,228, 74,131,133,186,206, 70, 63, 32, 78, 11,230, 23,167,104,182, 45,242, 56,199, 50, 52,
-202,170, 73,171, 83, 67,160, 19,102, 5,157,150,133,149,231, 8, 41,233, 71, 9,110,161,196, 89, 94, 24,227,197, 41,251,195, 24,
- 47, 77, 40,203,140,208,243, 40, 74,137,227,184, 20,105, 66,236, 7,212, 42, 46,171, 39, 79,160, 59, 14,123,155,155,248,121,130,
-135,193,172,169,177,220,168, 83,175, 90,108,244,250, 88,162,100,106,177, 73,112,101,159, 43, 87,186,116,111,141, 48,198, 1,149,
-133, 38, 98,125,204,250,205, 30,205,169, 42,138, 8,162,129,173, 35, 44, 19, 81,106,224, 8, 68,213, 86,147,185,107,192,173, 17,
-127,254,173,243,188,116,109,143, 71, 14, 79, 33, 53, 13, 97,107, 80, 72,174,253,232, 38,223,120,121,141,211,135,106,124,252,233,
-123,185,179,214,163,229,216,104,182,206,247,190,249, 14,155,155, 3,108, 10,142, 31,158, 38, 14, 51, 42,142, 69,197,177, 41, 26,
- 85,230, 90, 53, 94,238,135, 72,199,228,206,126,192,194, 98,147, 90,127,139,206,241,101, 78, 28, 91, 38, 11, 83, 58,182, 70,255,
-198, 38,169,110,112,232,233, 71,185,112, 99,151, 13, 75,167, 55, 78,209,133, 84,133,213,178,200,194,140, 99,171,211, 76,205, 55,
-120,243,226,174,226,166, 87, 92, 70, 61,143, 91,126,204,157,131, 62,211,117,139, 69,199, 98,237,218, 54, 11,135,167,216,219,236,
- 49, 43, 35,204,163,115, 36,255,233,255, 33,217,220,161,123,144,209,120,234, 65,120,230, 89,120,246, 19,252,204, 11,247,241,179,
-243, 14, 43,185, 71, 61, 25, 33,211,136, 97,191,199,130,145, 49, 8, 18,106, 90,193, 82,171, 74,187, 98,145,100, 5,113, 81, 2,
- 10,192,100, 24, 10,226,195,228, 14,122, 55,154, 88,197, 55,104,170,176, 79, 2,110, 20, 48, 3, 64,160,107,224, 58, 46,213, 74,
-133,102,163,142,101,169,135, 67, 16, 69, 28,244,250,120,129, 15,104, 88,134, 66, 48, 23, 69, 78,197,117, 57,123,234, 94,158,126,
-236, 17, 62,247,137,143,161,235, 6,223,121,233,101,222,120,231, 28,131,177,199,217, 83,247,112,230,222, 19,220,127,234, 30,222,
-126,239, 34,127,253,202,171,188,117,254, 2,179, 83, 29, 62,254,196, 99,220,115,228, 8,149,138, 75,153, 23, 92,186,126,147,205,
-157, 93,224,238,198, 75,240,210,107,111,240,206,197,203,204, 78,117,248, 87,255,248, 31, 18,197, 49, 63,252,241,235, 32, 4, 27,
- 59, 59, 12,198, 30, 66, 8,126,238, 51, 63,195, 63,255,239,254, 1,191,246, 11, 95,230,193, 51,247,114,227,230, 58, 35,207,195,
- 11, 61,118,118,187, 31,232, 15,158,123,242, 35,252,202,215,190,196,247, 95,254, 9,223,123,229, 85, 46,221,184,205,181,155,183,
- 24,251, 62,255,226, 31,253, 54,135, 22, 22,232, 15, 71,244,135, 35,214, 54,182,184,122,123,141,115, 23, 47, 3, 48, 55, 61,197,
-220,204, 52,166,101, 81,117, 20, 27, 99,228,143,233, 14,134,140,198, 62, 73,154,242,225, 7,207,242,244,163,143, 48,213,110,225,
- 24, 58,119,122, 35,250,131, 30,100, 26, 81,156, 35,243, 8, 93,207, 8,130, 49,113,150,145,197, 67,186,251,111, 19,133, 62,133,
-215, 35, 60, 56,160, 98, 37,236,109,223,161, 72,250, 68,221, 30,237,165, 19, 68,221, 29,100, 89, 32, 44, 3, 33, 74,242,100,204,
-244,161,227,140,123, 58,225,218,105,134,221,125, 54,110,157,103,119,235, 77,130,225, 29,198,189,107, 12, 55,223, 33,142,251, 28,
-127,236,215,120,224,163,255, 45,143,252,163, 21, 30,248,249, 51, 92,251,206, 26,130, 49, 95,252,226, 41,194,222,135,248,201,119,
-254, 55, 12,219, 66, 24, 22,150,227,224, 15, 70,244, 61,143, 48, 12, 88, 58,114, 63,245,214, 81,194,193,117,102,166,151,152,155,
-110,211,104, 55,104, 55,154,232,174, 67, 22,101,160,169,130,163,153,166, 34, 56,230, 32,243,132, 48,136, 41, 74,137, 48, 12,236,
-106,139, 95,249,157,119,241,178,140,237,155, 63,161, 76,124,164, 86,165, 49,125,134,157,219,239,114,235,226,183, 8, 6, 87,104,
-180,151, 8, 46, 85,232,191, 62,102,224,117, 57, 88,123,141,254,254,121,133,139,213, 43, 52,167, 79,210,158, 62, 67,169,149,144,
- 7,202,131, 93, 42,248,152,208, 42,140,118,186, 44, 28,113, 24,116,251, 68,105, 74,103,254, 4, 75, 71,143,227, 37, 59,196, 59,
-133,154, 22, 77,131, 44, 41,137,251, 41,213, 78,140, 72, 58,104, 78, 7, 93, 70,248,250, 30,101,232,227, 31,108, 35,132,138,151,
-174, 84, 42, 36,121, 66,158,229,212, 42, 85,188, 96,140,105, 90, 56, 21,135,162, 40, 48,109,149, 61,145,166, 41,213,106, 5,109,
-178,150, 79, 39, 96,151, 44, 79,113, 44,231,131,213,120, 81,128, 99,153, 10,142, 36,149,232, 21,193,100,216, 83,182,105, 77, 8,
-149, 94,166,105, 88,134,137,208, 76, 36, 18, 75,179, 16,154,142,102, 42, 1,163,208, 84,224, 82, 81, 40,166, 73, 57, 41,180,149,
-170,114, 90, 37, 89,250, 1, 35, 66, 9, 0, 37, 89,150,160,233, 2, 77, 83,175,155,122, 0,168,122,150,166, 25, 66,168,231, 66,
-156, 36, 10,106, 35, 37,134,110, 42, 93,152,102,168,211,131,110,146,164, 42, 23, 64,215, 13, 37,116, 22,144,165,201,100,157,175,
-147, 37,169,226,220,151, 96,155,186, 18, 7, 26,138,105, 31,133,209, 7,254,246,187, 86,105,195, 52,209, 15, 31, 59,254,245, 48,
-142,168,212,234, 84, 92, 87, 5,125, 56, 46,150, 99,163, 78,140,130, 56,141,209,133,142,110, 26,164,121,193, 48,130,199, 86, 76,
- 66, 63, 32,205, 75, 90, 51,109,118, 47,223,164,182, 56,199,242,180, 75,197, 16,252,231,243, 93,213,209,148, 37,131, 40,229,225,
-106, 72, 82, 72,202, 34,102,108, 54,217, 28, 68, 56,142,178,185,105,104,120,222, 24,132,134,101,216, 24,150,202,251,142,162,136,
-106,173,138, 97,152,132, 81, 68,158, 39, 31,172, 48, 16, 66,117, 41, 19,165, 55, 20, 80,170, 20,157,188, 40,200,211,156, 44, 87,
-107,125, 77,155, 8,152, 12,117,195, 42, 37,236,247, 61, 94,186, 25,177, 85, 58,252,204,125,211, 20, 89,202,216,139, 17,133, 96,
-126,101,134, 36,138, 41,122, 1, 50, 43,168,216, 26,118,179,138, 81,148, 36, 93, 15, 41, 36,251,195,144,181, 81,192, 40, 72,104,
- 84, 45, 92, 75,167, 98, 27, 56,134,192,176, 4,110,205,193,170, 58, 4, 67,143, 36,203,209,144,152, 26, 76,181, 58,132, 99,143,
-245,245, 93,170,121, 74,165,204,112, 53,147, 90,171, 65, 30, 39, 68,131, 62,119,194,140,107, 23,182,184,121,179,139, 17,230,244,
- 70, 1, 87,135, 17,103,102,218,196, 67,159, 45, 47,101,126,181, 13,142,142,220, 77,184,252,211, 77,204, 81,136,187,218, 68,244,
- 50,174,191,177,198,173,247,247,185,125, 99,159,191,249,193, 21,230,155, 22, 95,250,236, 25, 88,168, 33, 28, 29, 17, 22,252,213,
- 95, 94,224,234,149, 61, 62,247,208, 34,139, 79, 28,231,181,239, 95,229,237, 43,251, 76, 89, 37,242,192,227,234,251,187, 76, 55,
- 29,170,205, 58, 51,115, 13,110,173,117, 81, 57,221, 14,107,123, 49,203, 71,103, 40,198, 1, 91, 94, 73, 24,103,172, 30,158, 70,
-120, 33, 23,174,239,115,242,145, 83,204,206,119,200, 70, 62,236,109,176, 59, 78, 89,152,169, 49, 16, 38, 94,223,231,190,134,201,
-244,116,131,165,197, 22,185, 38,152, 89,104, 50,213,116, 89,219, 26, 96,100, 57,211,117,139, 65, 82, 82,169, 85,216,222, 15,152,
-173, 89, 56,148, 92,218, 30, 81,111, 86, 57,216, 30,179,230,197,220, 90, 91, 39,250,201,247,185,248,250, 57,174,172,141,240, 6,
- 41,199,142, 31,133, 99,159,130,198,115,208,121, 26,253,100,147,229,211, 54,247,127,248, 56, 31,121,236, 4, 79,205,215,232,246,
- 60,244, 60,225,100,219, 98, 94,100, 44, 53, 52, 78,205,213,153,106,214, 40, 74,240, 19,117,215,211,244,187,171, 54,141,188, 84,
- 62,255,187, 69,190,148, 42,136,197,178, 76,144,168, 53,119,179,142, 16, 74, 56,119,245,246, 29,164, 44, 97,114,219, 46, 81, 15,
-161,254,112,248,193, 42, 49,138, 18, 86,151, 22, 57,121,252, 24,179, 83,109,142,175,174,224,216, 22,255,230,223,253, 9,223,248,
-139,239, 50,246, 3,190,240,201,103,249,248, 71, 30,101,121,113,158,222, 96,200,239,253,193,191,229,253,107,215,121,242, 67, 15,
-241,137,167,158,228,236,169,123, 56,178,188,196, 56, 8,184,116,237, 6, 63,121,243, 29,238,170, 4,166, 90,109, 92,219,100, 52,
-246, 57,113,116,149,127,246,219,191,201, 67,103, 78,241,111,255,228,155,252,229,143, 94,225,141,243, 23,185,118,227, 38, 66,194,
- 63,253,173,223,224,119,254,201,111,177,176, 56,199,168,215,103,111,175, 71,163, 89,195,243, 3,110,175,111, 79,154, 17,120,248,
-190,211,124,250, 99, 31,101,182,211,230,252,165, 43,108,237, 29,208,105,214, 9,227,132,189,131, 30,207, 60,250, 33,142, 31, 94,
-102, 48,242, 72,226,132,115,151, 46,243,202,155,111,115,208,235, 3,202,146,179, 48, 61,205,194,220, 12,142,107, 79, 30,148,146,
-225,216,155,104, 6, 36,171, 75,139,104,154, 96, 48,244,216, 61,232,178, 55, 10,241,163, 16,145,166, 8, 67, 35,244, 14, 48,117,
-159, 36, 76,200,227,128, 52, 29, 19, 5,125,130,241, 26,142, 46, 9,188, 17,245,186,133,150, 14, 9,130, 30, 69, 33,104, 47, 62,
-128,187,220, 36, 30,122,100,129,175,238,235,148, 4,131, 3,156,154,206,254,230, 85,226,184,139, 55,188,134,215,189,141,105, 55,
-153, 95,122,134,246,242,199,153, 89,250, 8,149, 70, 27,153,103,220,121,115,196,246, 91, 16,244,118,185,179,241, 71, 92,123,185,
-195,143,191,247,175, 41, 11,143,208, 27, 80,171, 53,105, 55, 27, 52, 38,147,101, 28,134,116,183,175, 50,218,191, 76,156,131,211,
-152,161,221,110, 80,106, 26, 66,215, 57,216,239,210,106,181, 73,211,140, 36,205,104,212,219, 8,145, 17,199, 41, 65, 24, 81, 74,
-129, 38,192,208, 52, 42,109,139,141,235,111,178,119,251,199,100,101,159,113,127,135,231,190,252,251,252,230,255,245, 15,248,189,
-127,242, 11, 44, 63,252,219,200,252, 44,221,225, 59,248,227, 62,227,131,107,244,182,222,102,180,243, 54, 73, 52,166, 57,119,134,
-206,145, 39, 88,185,247,147,180,155, 39, 16,134, 75,156,142, 33, 25,147,167, 99,146, 34, 65, 19,130, 48, 74,145,254, 8,183, 37,
- 24,132, 30, 34,211,240,215,218,216,149,125,198,187, 33,101, 89,193,210,116, 48, 12,178, 72, 98,215,199,152, 98, 10, 3,151,146,
-148, 76, 59,128,196, 39,233, 30,160, 25, 58,154, 80,133, 19, 9,174,237, 40, 36,121, 81,144,229, 42,246,216,182,109,242, 36,157,
- 56, 74, 84,161, 69, 67, 13,145,150, 69, 94,170, 76,118,169,196, 40, 72, 41, 40,100, 73, 94, 40,107,155,178,158,161,200,115,154,
-138, 33, 85,170,122, 99,114, 27, 55,144, 18, 74, 89, 32, 21,250, 1, 77,215,208, 80,193, 77, 66,232,147,134, 70,229,146,255,173,
- 0, 85,144,164, 9, 69, 89, 78, 44,103,106,139, 13,106,218,215, 52, 93, 21,225, 76,109,154,117,221,192, 48, 13, 44,211,192,180,
-237, 73, 3,144,147, 77,116, 52,174,235, 16,248,170,113,213, 53,227,131,134, 64,137,201, 77,194, 64,157,221,234,245, 58, 26,154,
-218, 64,219,206,228,255,223,165,240,133,200, 82, 53,235,166,165, 80,186,192, 7,193, 65,101, 81,160,207,175,172,124,221,118, 28,
-100, 89, 2, 18, 77, 24,228,121, 78,158,229, 56,142,139,148, 82,101,170,203,156, 56, 80, 68, 28,219,182,217,142,117,190,112, 76,
-231,218,246,152,249,169, 42,254,126,159,199, 87,235, 76, 47,116,208,164,228, 74, 31, 34,148, 87,208, 52, 76, 78,184, 49,213,138,
- 73,106,187, 76,215, 13, 94, 95, 87,162,185,172, 80, 62,190,178, 80, 43,152, 36, 85, 84,179, 18,144, 66, 39, 75, 19,101,243,178,
- 20,161, 71,215, 13,245,131,207,239, 50,168, 53, 37, 54, 50,149,242, 60, 47, 11,178, 52,166, 20,146, 34, 85, 34,191, 34, 77, 40,
-100, 73, 24, 5,148, 69,134,208, 52,116, 20, 92,127,125,207,231,219, 87,125,124,105,242,212,153, 89,178, 50,103,119,103, 0,182,
-193,244,202, 20,141,153, 6,133, 23, 50,218, 29,147,248, 41,211, 43, 83, 84,166,154,220,220, 25, 17,164, 25, 13, 91, 80,119, 77,
-156,138, 69,197,182,212,246, 32,203,137,251, 35,226, 4, 6,101,134, 38, 75,116, 75, 50,242, 50, 70,158,199,112, 52,162, 82, 53,
-240,199, 33,102,163, 74,165, 83, 99, 60,244,201,226,152,110, 63,160,145,197, 52,243,140,218, 84, 29,183,102, 81,198, 49,185,161,
-115,103,167,207, 91,155, 1,155,195,152,147, 14,156, 63,183,197, 79, 94,187, 69,127,119,136, 39, 74,166,242,156, 63,251,254, 85,
- 6,155, 35, 60, 47,226,212, 74,139,103, 62,121, 31,171, 79, 29, 67, 4, 37,201,122, 23,163,208,248,209,119,207, 83,244, 2, 76,
- 75,163, 95,113, 56,247,211, 77,210,141, 46,245, 50,227, 96, 16,131, 99,171,160,133,161,207,212,161, 54, 69,156, 49,142, 82,144,
- 16, 69, 25,134, 33,184,190, 61,160,234,152,104, 82, 50, 70,144,231, 25, 31,251,240, 41,174,158,187,136,239,212, 89,152,111,147,
- 68, 17, 55,126,122,153,177,229,114, 97,237,128,135, 31, 59,205,153,185, 22,199, 78,206,177,124,255, 9,102,141,156,235, 91, 67,
-210, 65, 68,144,151,244,187, 33,113,160,104,122,154,109, 81,107, 59,116, 26, 54,174, 16,120, 81,134, 68, 39,136, 82, 68, 81, 16,
-106,170, 75, 46,139,132, 78,205,165, 82,183, 9,178, 28,111,109,143,197,108, 4,167, 62, 10,154,137, 22,189,206,249,255,227,155,
- 44,124,241,211,136, 7,190,132,245,212, 23,120,240,133,179,124,178,161,177,190,182,131,159,230,204,184, 58, 29, 81, 82,205, 67,
- 74, 4,141,218, 4,136, 36,117,132, 38,144, 69, 65, 86,228, 19, 37,109, 78, 81,228,184,149, 10,160, 44,112,165, 84,226,206,177,
- 31, 50, 24,143,137,146,152, 90,165, 66,165,162,172,153, 97, 20, 50, 24,141,217,222,221, 39,140, 99,142, 29, 94, 38,140, 98,162,
- 36,102,106,170,205, 67,247,157,230,185, 39, 31,231,145,251,239, 99,107,239,128,215,223, 61,207,237,141, 77,166, 59, 29,158,121,
-252, 67, 60,120,223,105, 90,173, 6, 63,122,253,167,188,115,241, 18,247, 28, 61,194,115, 79,126,132, 71,206,158, 97,101, 81, 77,
-197,215,111,221,230,251,175,190,201, 96, 60,198, 52, 77, 78, 30, 59, 74,187,221,226,218,173, 53, 78,158, 56,198,127,243, 11, 95,
-225,171, 95,126,129,171,215,110,112,103,115,155,245,173, 45,110,222,217,224,240,161, 69,254,217,111,255, 38, 95,125,241, 11,148,
-105, 14, 89,129, 38, 37,215,110,221,226,246,250, 38,151,111,220,226,250,237, 53, 0,154,245, 58, 31,121,248, 65,158,122,244, 67,
- 12,125,143, 11, 87,174,225,123, 42, 29,235,190,147,247,240,196,135, 30,228,197, 79, 61, 15,154,248, 32, 21,238,210,245,219,188,
-254,206,185,137,183,216, 85,216, 78, 83,217,128,154,141,154,178,241,221,186,195,198,246, 14,131,209,152,133,185, 89, 58,157, 54,
- 65, 20,179,181,187, 75, 20, 39, 32,116, 66, 33, 72, 14,186,104, 89,132,209, 60,142, 86, 6,228,233,128, 44,141,137, 34,159, 34,
- 29, 17,238, 95, 35,246,251,204, 44, 46,112,208,235, 18, 91, 18, 35,207,169,212,143,242,194, 47,254, 49,187,187,151,105,157,232,
- 80, 95, 58, 68,216, 29,145, 39, 62,121, 22,145,250, 93,234, 13, 73,119,227, 10,195,253,107,164,209,136, 19,143,254, 18, 63,247,
-123, 47,242,236,175, 60,196,199,191,242, 32,121,247, 44,183, 47,191, 69,111,253, 77,182,175,124,135,225,254, 85,138,168,228,210,
- 79,255,119,178,224, 54,178,180, 65,183,240,189, 33, 73,156,147, 21,106,245, 91,173, 85, 17,186,198,104, 52,166,226, 24,232,166,
-134,109, 25,120,253, 46, 73, 18, 17,199, 41,163,209, 46, 69,154, 32,101,134, 83,169,160,107, 26,190,231, 83,150, 32,144,104,134,
-114,224,136, 76, 16, 12,239,144, 37, 30, 97,175,203,225,211,159,227,211, 95,253,167, 20, 35,104,175,130,223,134, 67,206, 49,174,
- 92,188, 68,111,251, 45,226,104, 31,175,123, 29,127,112,155,250,236, 9,102, 15, 61,138,237,180, 8,134,123,244,187, 23, 8, 70,
-183, 72,199, 7,228, 69,136, 46, 82,226, 36, 32,139,199,100,177, 79, 20,244,168, 84, 11, 6,131,144,188,240,240,182, 60,178,112,
-131, 44, 2,221,106, 82, 0,162,132,178,204, 8, 6, 61,154,171, 2,173,152, 35, 75,125, 34,185,133,136, 67, 68, 48, 34, 73, 19,
- 28,219, 37,142,212, 68,154,164,202,226,230, 86,149,239, 59, 12, 67, 52, 77,113, 16,202,178,192,243, 60, 60,207,131,178, 68,232,
- 10,213,166, 9,129,134,178, 59,234,134, 65, 57, 33,187,149, 37,228,185,162,127,102, 89,174,138, 54, 32,229,196, 90,154, 42,180,
-121,158,151,164,105, 70,158, 23,228,185, 66, 39,167,169, 90,115,167,105,142,161, 41, 13, 22,168,252,242,178, 84,144,175, 44, 83,
- 81,169,150,169, 10,110,165, 86, 67,215,197,132,249,174, 54, 1, 69, 41, 49,116,161, 82, 15, 45, 53,105, 43,135, 67, 73,153,103,
-184, 78, 5,219,177,112, 28, 7, 74,229, 52, 65,211,208,144, 19,253,136,114,213, 24,154,129,166, 43,197,187, 97,168,116, 54, 67,
- 40, 7, 75,197,117,201, 10, 5,206, 17, 66,213, 66,197,208, 80, 65, 95,213, 90,131, 44, 75,112, 39,140, 23, 67, 2,134,105,226,
- 58, 46, 57, 37,102, 81, 78, 10,188,192, 15, 2,106,213, 42,194,210, 16,165, 64,119,117, 60,223, 35,207,114, 46,237, 21,120, 39,
- 26, 52,221, 1,222,238,144, 71, 30, 56,130,183,191, 71,253,244, 49,204,170,206,175, 62, 82,227,127,122,105,196, 48, 41,144, 6,
- 68, 82,103,144,150,184, 54, 44,212, 20,134, 47,207, 85,180,168,242,162, 23,164, 89, 73, 24,250,140,199, 30,154,174, 81,173, 86,
-177, 28,149,249, 29,140,199,220,141,197, 44,203,146, 82,149,125,242, 60, 39, 41, 37, 50,138, 0,129,101, 89, 32,149, 13,161, 40,
-115,100, 33, 85,179,146, 40,111, 56,154,160,234, 58, 0, 20,121, 65,106, 91,164,105,204, 27,251,112,237, 71, 49,159, 57, 82,229,
-211,103, 58,172,175,239,113,123, 99, 68,167, 97,211,153,233, 96,152, 54,221,173, 17,149,237, 62,237, 67, 83,180,170, 46,145, 31,
- 81, 17,130, 44,136, 41,100, 78,156, 65, 81, 66,221, 49, 41,132, 78, 82,100,108,238,121, 28, 94,104, 35, 76,141, 66, 43,241,163,
-128, 78,179, 74, 41,116,220,233, 38, 82,147,148, 69,142, 81,209, 17,169,202,124,239,231,146,150,107, 82,213, 74,250,221, 49,190,
-132,162, 98, 96, 69, 5,117, 77,195, 74, 18,190,245,195, 27, 8, 89, 80,113, 29,244,154,197, 65, 40,121,233,181,219, 84,130,152,
- 76, 55, 40,220, 10, 75,167,151, 16, 83, 14,189, 55,110,243,202, 79, 55, 72,210,156,168,225,208, 26,248,180,108, 21,247,186,221,
- 75, 88, 24,141,232, 88, 58,251,185,192,148,202, 69,160,233, 58,153, 97,224,216, 22,221, 94,128,110,185,168,173,125,137,227, 24,
-136,168, 32,117, 93,202,241,152,147,182,132, 48,230,245,181, 61, 62,253,165, 79,241,159, 94, 57,207, 67,103, 14,227, 11,131,113,
-161,241,233,255,242, 5,254,228,247,191,193,171, 23,183,120,225, 83, 31, 66, 72,137,220,223, 99,107,119,140, 63,140,153,153,111,
-208,104, 85, 57,216, 29, 97,153, 38,195,184,224,212,170,203,246,251, 59,232, 53,139,123, 31, 92, 66, 20, 26,253,222,152, 52, 47,
- 25,237,122, 10,219, 91,171,178,237,123, 20,150,201,120,127,196,122,162,172, 39,143, 20, 33, 34,185,138, 52,102,144,175, 95, 96,
-237,202, 22,103,175, 13,144, 79,157, 70, 24, 77,164,251, 16,226,203, 53,126,233,200, 20, 63,252,247, 47,113,241,122, 23,199,200,
-200, 42, 58,149, 97, 72, 63, 78,168,219, 46, 58, 25,253,220, 64,104, 58,182, 1,210, 84, 55,188, 52, 43, 25,141, 60, 58,173, 6,
-165, 4, 81, 22, 20, 66, 0,106,162,200,114,157, 40, 73,232, 15,199,148,185,234,242, 43,142,133, 62,213,230,232,202, 33,142,173,
- 30,230,175, 94,122, 5,128, 99, 43,203,124,236,209, 15,113,234,196, 49,202, 66,242,147,183,222,230,214,198, 6, 0,171,135, 22,
-169, 84, 42,236, 29, 28,176,185,187,207,159,124,251, 47, 57,122,120,153,207,127,226, 89, 78, 30, 63,202,202,226, 60, 97, 20,211,
- 31,142, 57,119,233, 42,107, 27,155, 88,150,197, 35,247,159,166,217,168,243,250,219,231, 89,152,157,225,103, 63,249, 44,159,255,
-196, 51, 12,119,247,185,112,249, 26,123,251, 7,120, 81,204,195,247,157,230, 75,159,253, 20, 47,126,230,121,132,174, 83,166,202,
- 98,227,135, 33, 81,156,176,187,223, 85, 74,225,201,199,116,167, 69,156,198, 8, 93,176,190,185, 77,163, 86,227,228,241,227,236,
-247,187,152,186,206,226,220, 44, 67,127,140,208,116,198,190,207,214,222, 1,239,189,127,233,131, 88,215, 32,140,168,215,170, 76,
-181,219, 44,205,205, 80,115, 29,182,247,186,244,199, 99,110,175,111, 80,173,184,180, 26, 13,246, 15,122, 56,182, 42,252, 85,215,
- 1,203, 98, 99,111, 64,158, 69,180, 78, 30,103,230,208, 71,177,153, 98,253,253,127, 67, 52,186, 65,146, 22,132,227, 62,121, 89,
-178,124,250,115, 84,235, 45,130,225, 55, 72,210, 6,166,158,178,250,212,175,115,244,239, 9,222,121,231, 20,251,201, 62, 78,189,
-198,189,159,253, 2, 87,254,244, 63,144,101, 17,195,222, 38, 92, 53,104, 77,205, 97,102, 33, 65, 82, 80, 90, 29,178,169,140,170,
- 12, 57, 35, 42, 92,122,222,196,120,165,134,231,175, 19,141,118,176, 43,211,156,122,228,215,184,169,213,185,241,222, 31,115,230,
-153,255, 2,167, 58,205,141,183,254,144, 40, 30,146, 23, 46, 66, 40,225,146, 97, 25,212,106, 21,108, 75, 71,228,146, 60,151,212,
-107, 53,134, 35, 15,199, 54,208,169,128,102,145,197, 17,161,239, 97,187, 85, 74,169,161, 91, 6,134, 6, 21,199,161, 36,167, 72,
- 50,138, 82,146,164, 5,102,109,134, 7, 62,254,247, 89,191,147,178,181,105,114,241, 85, 65,150,198, 4,209, 85,252, 96,143,254,
-157, 31,163,145, 19,197, 30,102,117, 14, 74,131,193,206, 57,208, 13,202,188, 36, 13,251, 68,209, 1, 50, 79,112, 43, 85, 74, 97,
- 80,228, 35, 10,125,164,222,255, 34,167,162, 57, 56,142,134, 63, 24,224,104, 17,123, 63,189,129,125,104,150,165,206, 17,162, 72,
- 0, 9,121, 18,146, 38, 9,131,219,151,233, 44,156, 34,246,199, 36, 86, 68, 11, 65,130,160,200, 36,165,165,208,214, 89,154, 41,
-248, 74,213, 69, 74, 65,152, 69, 56,150, 74, 74, 43,178,156,161, 55, 84,194,213, 82,145, 72,117,223,167, 86,171, 98,219, 14,134,
-105,226,104, 6,165,204,209, 52, 73,158, 42,231, 70,153, 43,114,155,101,169, 13,111,158, 38, 36,153,164, 90,173, 1,234,253,170,
- 9, 40, 75, 0, 57,217,208, 40,186, 91,148, 36,184,147, 65, 44, 77, 99,116,221, 32,207, 21,200, 69, 8,129,169,171,216,112,203,
-208,208, 52, 3,128, 52, 43, 73,100,138,107,155, 68,147,162,138,166, 97,152,146, 56, 84, 40, 91, 77,131, 92, 66,181,226,226, 5,
- 62,150,105,226, 56, 14, 97, 24, 32, 75,168,214, 92,202, 82,113, 43, 12, 93,167,200,115,188,201,196,109,234, 58,225,228,253,146,
- 20, 49,186,174,166,121, 83, 55, 24,141,198, 72,160, 81,107,144, 21,202, 98,234, 86,106, 72, 89, 82, 20,146, 32,136,148,103,125,
-241,240,225,175,151,101,169,216,236,121, 73,145, 42,114, 13,154, 90, 47,198, 81, 68, 26,197,234,182,145, 43,248, 73,156,196, 36,
-113,204,133,177,193, 11,167,234, 92,223,232, 50, 85,177,121,236,193,163, 92,127,245, 45, 22, 31, 57,205,146, 9, 81,154,113,117,
-164, 99, 11,248,204,124,204,238,182,207,176,144,216,134,198,251, 97, 93, 37,146, 25, 10,145,154,102, 41,134,101,225,218, 54,201,
-196, 74, 99,219, 14, 97, 28, 77,190, 73, 37,128, 51, 52,109,178, 94,209,208, 13, 37,104, 80,221, 21, 8,161, 97,232, 26,134, 97,
-160, 27,218, 7, 47,166, 99, 43,191,123,165, 82,193,182, 76,242, 44, 67, 72,197,224, 46,242,140,138,171,186,227, 36, 45,120,111,
- 55,229,135,155,146,138,107,112,246,136, 75,146, 73,182,246, 61, 12, 67, 99,102,182, 73,123,177, 73,212,247,104, 38, 9, 53, 71,
- 67, 68, 25,113,152, 82,100,146,221, 32, 37, 13, 34, 74, 93,167, 90,181,209,117,131,153, 86,133,154,173,225,186, 14,162, 40,168,
-213,212,138,102,184, 55,100,148,230,100,210,192, 21,106,141, 35,100,161,114,235,115,137, 38, 5,169,148, 56,186,142, 35,115, 60,
-215,198, 74, 50,156, 60,167, 76, 11,218,115,117, 62,250,225, 21,110,247, 85, 80,142, 22, 5,180,211,152,214,124,135,143,125,254,
- 33,156,162, 64,248, 17, 87,126,186,206,133,247,182,176, 76,157,170, 44,105, 70, 41,109, 87, 99, 92,104, 28, 62,185, 64, 49, 14,
- 49,146,132,113, 86,160,139,146,220, 50, 97,228,179, 61, 8,201, 36, 20,125,143,250, 84,147,222, 40,196,180, 13,116,205, 68,215,
-193, 15, 18, 42, 89,130,158, 36,236, 7, 5, 50,202,240,227,156, 99,247,204, 19,103, 37,237, 86,149, 97,152,241,167, 63,188,202,
-126, 16,179,229,229, 88,105,128,214,238,240, 87, 63,186,192,189,179, 21,218, 71,150,184,190,209,195, 49, 13,206,221,220,163,229,
- 86,240,227, 8, 27,112,171, 14, 32,217,217, 15,209, 77,131,205,245, 33,155, 7, 35,102, 90, 14,129, 31, 18, 21,130, 76,104,244,
-198, 49,227,177,143, 7, 44,206,212,177, 50, 73, 25,140,152,126,226, 48,232,109, 56,246, 12,237,141,119,248,241,203,239,176,228,
- 93,193, 60,162,163,229,219,176,127, 17, 49,244, 89,125,238, 97, 30,251,149,231, 57, 43,116,246,182,246, 9,163,152,134, 13,165,
- 48,153,157,238, 32,202,148, 40, 43,136, 11,165,212,189,203, 78, 7,197, 77,215, 13,117,119,215,117, 29,161, 43, 48,132, 40, 21,
- 37, 48, 12,194,137,216, 78,195,212,117, 6, 99,159,191,243,149, 47,210,110,214,185,120,245, 58, 97, 28,243,169,143, 61,205,145,
-213, 37,242,188,100,107,127,159, 55,223,125,143,237,221, 61, 6,227, 49,135,151,150,152,238, 52, 89, 61,180,196,230,246, 46,183,
-214, 55,120,244,161, 7,104, 84, 43, 72, 36,157, 70,147,173,221, 61,222, 58,127,129, 87,223, 57,135,231, 7, 28, 59,188,204,220,
-204, 52,227,177,199, 65,111,192,223,249,202, 11,188,248,153,231,153,157,157,229,173,115,239,177,185,179,195,119, 95,250, 9, 81,
- 28,115,108,245, 48,207, 62,241, 24, 71,151,151, 41,139,130, 96,228,145,229, 57,221, 94,159, 91, 27, 91, 28,244,250,172,109,109,
-211,157,100,160, 47,204,206, 43, 2, 62, 94, 0, 0, 32, 0, 73, 68, 65, 84,242,232,217,251, 88,154,155, 83,223,167,128,183, 47,
- 94,130, 18,230,102,166,112, 93,135, 70,181, 78, 20, 70, 12,189, 49,175,253,244, 28,223,123,237, 53,144,138,151,191, 52, 63,199,
-253, 39, 79,112,255,201,123, 89, 89, 90,156,224,162, 75,188, 32,100,107,119,143,195, 75,139, 76,181, 90,104,186, 18, 39,105, 66,
- 61,131,210, 52,102,125,171,139, 33, 37,179, 15, 63, 72,167,241, 8,199, 87,159,166, 54,253, 73,110,223,252, 46,197,240, 54, 78,
-115,150,179,207,253,207,172, 44, 63,135,219, 58,202,213,119,255, 12, 67,198,248,113, 76,163,174,113,251, 37,155,178, 16,164,189,
- 46, 73,209, 3, 93,167, 98, 46,210,223,126, 31,205,118, 72,194, 49,131,131, 77,114, 89, 99,113,229, 56, 26, 41,214,246, 51,156,
-251, 27,155,239,252,233,144,183,191,241,231, 92,121,243, 95,147,120,123, 80,166,204, 28,122,140,163,247,127,142,207,127,237,107,
- 44,172,126, 1,187,185,160, 20,250,211,139, 10,205, 26,121,128, 64,163, 36, 8,122,196,193,136,192,143,105,117,166,200,210,148,
-253,238,144, 40, 14,201,147, 20,219,210, 40, 53,157, 52, 11, 41, 10, 73,197,173, 81,115, 13,116,129, 2,166,136,130, 66,104,100,
- 73,140, 31,133, 20, 69,129, 91,169, 49,183,250, 56,126,111,155,200,223, 97, 28,222,164, 31,190, 71,175,119,139,112,188, 70,165,
-115, 31,213,246, 41, 78,156,253, 42, 31,254,244, 31,225, 56, 14,221,221,183,240,246, 46,144, 4,251,228,193, 30,101,188, 15,153,
-143,208, 93, 52,189,128, 34, 34, 9,123, 20,201,128, 44,244, 41, 40, 89, 88,153,103,103,111, 15,167,217,164,109, 88, 88, 75, 77,
-234,167,230,200,246, 44,138, 44,166,200, 60,210,168, 71,153,239,209,158, 62,198,120,208,163, 48,134,212, 69,138,215, 61, 64, 22,
- 57,113,170, 6, 46, 89, 74,220,138,139,105,152, 4, 97, 64, 89, 22, 8, 77,128,166,232,142, 97, 16, 97,234, 38, 73,166,182,130,
-160, 72,131,105,154, 98,232, 38,166,101, 18,199, 10, 33,156,101,249,100, 74,151,100,133, 36,207, 75,116, 3,116, 67,167,204, 75,
-202,162, 32, 77, 84,236,178,242,130,231,232, 19,189, 66, 65, 1, 37, 24,134, 58,129,100,105, 65, 81, 78,236,159,165,130,224, 24,
-186, 65,150, 41, 0,140, 68, 96,217, 22, 81, 28, 65, 89, 78, 28, 47, 74, 80,235, 88, 10, 44, 21, 69, 33, 69, 89,168,128, 45,211,
- 84, 2, 64,169,134, 78, 41, 5, 81, 18,227,186, 46,182, 99,147, 23, 5, 81, 24, 33, 4, 84,220, 10, 89, 81, 82,173, 84, 20, 46,
-183, 90,197,182,108, 10, 10, 69,192, 43, 10, 5,194, 41, 75,132,208,201,178,148, 40,142, 84, 82,156,105,169, 51,130,174, 77,156,
- 46, 10,208,163,207,175,172,124,221,152,172,175, 45, 91,125, 65,134,161, 83,202,146, 50, 83, 64, 20,203, 54,213, 93, 66, 64,146,
-198,232,154, 32,205, 10,162,180,100, 39,145,124,229,254, 38,111, 93,217,195,110,205,242,192, 35, 15, 19,159,127, 7,115,182,205,
-153,195, 13,186,113,201, 49, 57, 98, 78, 87,247,176,131, 97, 68,173, 94,225, 39,219, 37, 73,150,161, 25, 26,119,209,148,174,237,
- 18,196, 49,245,122,157, 44,203, 20,245, 71, 87, 42,247, 40, 82, 29,161,162,237, 40, 46,119, 18, 39,148,148, 40, 72,141, 18, 68,
- 68,161, 2,183, 40,241,130, 84, 91, 7, 9,154,174, 79,196, 11, 42,194, 47, 75, 51, 76,211, 32,138, 35,229, 3,212, 53,132, 6,
-186,174,211,239, 15, 57,183, 21,240,198, 70, 76,195,209, 56,181,210,160,148, 18,111, 24, 33,179, 18,167,221,192,157,107, 82, 38,
- 25, 65,146,179,114,118, 21, 89, 22,108,237,140,209, 12,157,186,161, 97,186, 58, 69,150,163, 9, 69, 1,210,116,129,174, 43, 49,
- 71,150,166,164,189, 17, 46,130, 86,167, 70,187,209, 84,185,227, 21, 3, 97, 27,148, 65, 66, 75, 47, 16, 89, 78, 32, 53,136, 83,
- 42, 81, 70, 67,148, 52, 22, 58,196,227,152,177,161,177, 63, 8,177,135, 62,179,173, 58,233, 40, 96, 84,171,177,122,124,158, 27,
-239,222,225,234,141, 62,155,219,125,252,113, 68,211,212,105, 76,213, 40,210,148,217,154, 77, 92,106, 60,247,226,163,152, 81,194,
-214,206, 24, 89, 72, 66, 77,167, 51,221,160, 49,213, 32,139, 83, 74,199,160,165,149,152, 53,151, 60,205,240,125,149, 26,148, 38,
- 25, 1, 58, 69,156, 83,198, 49, 34, 7,199, 54, 40,114, 69,101, 10, 10,201,153,229, 41, 54,250, 30, 39,142,204,243, 31,127,240,
- 62,165, 31,240,234, 0,158,104,230,124,227,202,136, 63,125,233, 58,231,111,239, 67,150,114,122,105,138,235,251, 62,253,131,144,
-212,210,249,240,233, 89, 66, 9,241, 56,197,172, 91, 68,185, 34,162,137, 40,161, 86,183, 25,120, 9,139,179, 29,110,239,244,232,
-102,153,114, 81,196, 57,135,107, 14, 85, 91, 71, 23,202, 59,190, 82,152,112,246, 5, 48,103,112,179,219,124,255, 47, 95, 98,111,
-123,139,242,220, 5,166,155, 6,218, 92, 29,217,106, 35,151,159,135,169, 23, 49, 30,126,140,211,143,154, 44,140, 60, 94,185,176,
- 13, 82, 61,112, 98, 97, 98,139,146,172, 4,169,169, 27,157, 16, 66, 5, 32,153, 38, 66, 66, 41, 4,119,185,206,186,161,131, 44,
- 63,128,253,100,121,142, 44, 11,229, 29,215,117,190,242,185, 79,177,223, 31,176,182,177,197,200,243, 89, 89,156,167,226,186, 56,
-150,137,169, 27,116, 7, 3,206, 95,185,138,231, 7,156, 58,126,132, 99,135, 87, 40,100,201, 59, 23, 47,177,182,181,131,134, 96,
-186,211, 97, 97,118, 22,195,212,185,112,249, 26,239, 93,190,202,165,107, 55,152,233,116,120,226,225,135, 56,177,186,204, 96, 56,
-102,175,215,103,122,106, 74,165,183, 9, 65,152,196, 92,188,118,147,191,121,229, 85, 22,103,166,121,242, 67, 15,243,200,253,103,
-176, 77,147, 60, 75,241,130,128,131, 94,143,119, 47, 95,229,252,197,203,188,113,254, 2,151,175,223, 4,212,234,253,212,241, 99,
-172, 44, 45, 48, 61,221, 33, 78, 98, 46, 95,191, 69,127, 48, 2, 77,112,124,117,133,123,142,172, 18,133, 17,165, 44, 73,178,148,
-243,151,174,114,237,214, 26,134, 97,176, 52, 55,195,253, 39,239,225,241,135, 31,160,217,168, 3, 16, 37, 9, 23,175,222,224,237,
-139, 23, 25, 12,199, 44,206,207,177,178,184,192,242,194, 44, 83,237,214,100,155, 87,144,164, 49, 70, 9,113, 94,208, 62,178,130,
-223,215, 25,141, 35, 44,167,129,211, 58,134,217, 92,165, 61,191,140,102, 86, 8,253, 29, 6, 7,215,208, 76,139,131,205,243, 74,
-183, 35, 35,242,112,147, 48,142, 17, 82, 16,123, 99, 10, 25, 48, 55,255, 17,100,153, 49,222,187,137, 20,106,181,153,197, 93,122,
-221, 3,218,173, 6,123,189,155,236,239,189, 71,232, 93,197,247,175, 67,153,227, 52, 23,153, 95,125,134, 74,179, 69, 22,251,108,
- 94, 31, 83, 10,141,192,223, 97,116,112,157, 32,220,167, 94,159, 34,242,246,128,146,214,212, 20,149,198, 17, 21,249, 90,230, 56,
-141, 54,181, 90,133, 50, 47, 16, 18,208, 4, 73, 28,169,172,241, 66,137,190,164,156, 48,192,213,120, 73,152,230,100,113,200, 96,
-239, 6,199, 79,126, 22,127,212,195,114, 90, 88,110,141, 40,241,241, 71,119, 24, 13,214,136,198,187, 68,222, 38,131,173,119,248,
-200,199,255, 7,254,249,191,255,101,126,241,171, 15,208,124, 72,199,202,142,145,228, 45,250,219,231, 9, 14,174, 16, 39, 62, 70,
-117,129,250,252,131, 88,118,139, 60, 26, 32,147, 0, 10, 21,244, 83,202,130, 82, 26, 28, 62,115,156,106,179, 73,183, 55,164,181,
- 60,199,195,207,126,150,234,116,131, 97,116,157,188,171, 86,212, 69,234, 1, 3,166,206, 30, 33, 58, 72,176, 58, 48, 85,119,241,
-118,182, 0,137,166, 25,228, 89,170, 38,110,195, 64,215, 84,242,164, 46, 52,194, 88, 41,221,227, 9,253, 48, 47,114, 28,219, 70,
-104, 2,215,117, 85,140,105,166,168,166,142,235, 98, 77,124,228, 66,211,144,133, 36,201, 21,144,198, 52,116, 74, 32, 12, 19,242,
- 92, 1,212,114,169, 82, 42,243, 34,195,182, 29,178, 68,161,133,245, 73,141, 51,116,147,178,148,104,134,174,116,100,150,242,199,
- 35, 85, 83,158,231,185, 26, 54, 77,229, 0, 19, 66,168,207, 33,139,191,109, 42, 16,147,196,209,187,209,204,242,131,149,122,158,
- 37,216,142, 67, 28, 71, 88,166, 73,154, 42, 34,165,156,232, 9, 12, 67,159,128,194, 20,214,185,148, 37,182,107,131, 80, 44,121,
-211,212,209,132, 10,181,169,184, 85, 12, 83, 21,245,187, 25, 31, 73,146,146,101, 74, 41,159, 68, 9,105,146, 98, 24, 38,250,204,
-220,252,215,179, 92, 25,253,165,212, 64, 83,177,154,138,126,164, 34,240,148,186, 87,146, 37,234,222, 41, 75,197,189,205,178,140,
- 59,221,152,216,173,242,185, 51, 83,188,250,246,251, 76,223,115, 63,115,191,252,243,100,223,250, 22, 86,219,225,241,165,130, 86,
-127,159, 11, 7, 41,155, 82,195, 45, 5,238,194, 28, 23,122, 74, 49,108,232, 42,156, 68, 22,138,137, 45,165, 98,228, 10, 29, 52,
-161, 51,246,198,148, 40, 95, 99, 89, 42,144,135,109,219,232, 66, 82,160, 40, 61,134,166,136, 81, 97, 24, 42,243,191, 16,196,113,
- 68, 18, 79,136,108,113, 76,146,168, 41,171,152,176,118,243, 76, 33,102, 85, 23,151, 80,228, 25,113, 20,147, 36, 41,134,174, 17,
-197, 49,195,168,228,124, 79,240,234,122,200, 82,199,224,244,225, 38,227, 32,103,212, 27, 49, 28,134,172, 30,159,199,170, 87,201,
- 2, 31,167, 89, 33, 49, 45, 42, 81, 76,141, 12,162, 84,169, 42,145, 80, 20, 36, 72,100, 57, 65,137,238,141,137,117, 3,203,128,
-220,177,216, 57,240,209, 76,129,174,149,228, 73,137,149,169,168,200,220,182,233, 44,116, 16,162,196,201, 83,146, 66,224,182, 92,
-136, 67,138, 18,202, 56,101,170,213,192,172,219,136, 52, 97, 24,196,236,245,125,140,145,207,220,145, 89, 42, 6,148, 97, 74,197,
-210, 9,187, 62, 86, 41,137,163,148,176, 98,179,183, 61,224,230,173,125,166,230, 26,148, 89,134,149,229,164,104,140,178,156,134,
-173,209,234, 52, 40,188,132, 94, 34, 41,243, 18,167, 98,146,249, 49, 90, 89,146, 70, 57, 38, 57, 83,157, 26,113, 92,112,223,131,
-135,104,205,182,200,179,146,141,110,200,242, 66,147, 40,136,232, 44,206,211, 31, 70,228,227, 17,233,212, 20,121,148,242,171, 31,
- 59, 74, 44, 37, 87,247, 2,222,189,227,113,223, 61,179,124,230,153,251,136, 19, 21, 96,242,209, 7, 79, 16, 69, 1,123,153,164,
-106,219,172,111,123,120, 89,198,201, 51,139,172, 44,182,216,220, 28, 98, 86,109, 74, 83, 39, 74, 80, 10, 84, 29, 22,230,235,212,
- 27, 85, 66, 63,229,122, 47,228,242,245, 59,136,203, 63,100, 78, 95, 67, 27, 5,116,187, 67, 60, 63, 98,225,216, 97,230,190,242,
-187,200,230,211, 8,221, 71,216,171,106, 37, 47,115, 68,239, 28,115, 71, 90,204,151, 57,127,245,238, 38,142, 14,126,146, 35,117,
-147,186,169,145,100, 5, 97, 86, 82, 76,238,235,154, 38,208, 12,181, 61,146,147, 14, 63,138, 18,198,129,106, 64,213,184, 33,105,
- 53,155, 88,134,133, 99,219, 60,251,145,199,232, 15,250,220,217,218, 97,107,119,143,118,179,201,195,103,238,165, 81,171, 83, 20,
- 5,155, 59, 59,188,119,249, 26, 21,215,225, 11,207, 63,199,177,213,101,182,118,246,248,206, 15, 94,102,118,106,138,135,238, 63,
- 69,179,209,192, 52, 12, 46, 93,191,201, 91,231, 47,114,254,210, 21,146, 44,231,241,135, 30,228,200,225, 37, 92,199,225,149,159,
-190, 75,127, 52,226,248,202, 33, 26,245, 58, 51, 83,109, 76,221, 96,107,119,159,107,183,110,163, 27, 58, 71, 86,150,105, 53,234,
- 20,101, 73,148, 36, 12,189, 17,123,253, 17,183,214, 55,184,112,249, 58, 55,215,215,255, 86,136, 99,155,156,190,231, 4,103, 79,
-223,139,134, 80,105,109, 81,196,238,126, 23,144, 28, 62,180,136, 99,219,116,123, 3,188, 40, 34,142, 82,138, 60,103, 56,246,144,
- 64,179, 86,165,211,106,225, 5, 62,227,113,128,101,153,120,126,192,112,236,177,179,127,128,101, 90,124,245,243,159,226,158,163,
- 71, 38,211, 75,129,161,235, 84, 43, 46,243,211,211, 44,174,204,179, 95, 74,242, 56, 69,147, 14,163,209, 1,253,221,247, 9,250,
-183, 17, 2,170, 85,157, 36, 76, 39,246,165, 0, 77,151,140,187,107,200, 44,198,243, 99, 90, 21, 24,247,175, 51,246,122, 36,195,
- 29,138, 72,167, 53,117,150,217,163,143, 33, 12, 23,239,224,186, 42, 14,166, 69,153,134, 12,246,239, 80,119, 11,146,254, 13,250,
- 7, 55, 73,188, 93,210,120, 72,115,250, 52,135,207,254, 28,173, 70,157,122,245, 30,188, 96,135,238,222, 69,250,187, 87,145, 2,
- 92,183, 67, 99,230, 36, 81,184,207, 96,255,125,210, 84, 35, 11,183,177,234, 54,245, 90, 7,215,118,176, 76,147,146,130,178,200,
-201,115,181,190,157,157,153, 35, 43, 84,212,178,105,233, 96,187, 20,152,200, 34, 39,139, 66, 50,127,192,115,255,223, 43,188,242,
-123,127,151,223,248,239,127,157,133,175,253, 42,231,254,230, 10,195,189,243,100,105, 64, 26, 13,137,227, 46,201,112,141,188,200,
- 57,243,196,239,176,190, 6,239,190,172,241,198,127, 30,178,181,126,157, 56, 31, 35, 52,147,153,195, 31,227,232,233, 47,115,226,
-204,215, 88, 60,242,113,164, 81, 33, 47, 33,142,135, 20,105, 76, 81, 36,232,118, 3,221,157,161, 76,107,172,158, 93, 37,244, 6,
- 4,113,130, 62,154,193, 10,230,209,228, 26,221,205, 62,154,168, 80,150, 1,165,223,227,228, 19,247,225, 46,206, 50, 61, 55, 79,
-103,169, 67,247,198,117,242, 44, 70,161,150,133,194,127, 27, 6,119, 99,131, 77,203, 66,232, 42, 31,193, 50, 21, 64,171, 82,169,
- 98,154,198,228, 30, 94,160, 11, 21,196, 34,132,186, 91,235, 19, 5,186,148, 74,225,110, 91, 54, 69, 81, 80,169, 85, 17, 2,164,
- 4,203, 50,201,243, 84,121,220, 75, 64,104, 68, 81, 72, 94,228,148,148, 36, 81, 76, 18, 39, 8, 33,209,181, 9,134, 91, 83,110,
- 23,195, 52,209, 53,161,128, 51,166,161,224,107, 5,138,222, 55, 1,216, 84,171, 21, 21, 58, 99, 90,228, 69,134,105,216,216,150,
- 73, 16,133,216,182, 69,156,164, 84,171, 46, 72,141, 40, 81,241,187,101,145, 35,180,137,179, 70, 51,201,178, 76, 5, 48,153,198,
- 7, 91,169, 60, 87, 2, 90, 74, 37, 44, 76,178, 12,132, 34, 98,218,142,173, 78,205,233,132,128,169,169,228, 68, 77, 8,132, 80,
-167, 26, 33,116,178, 60, 67,159, 93, 90,252,186,242,126, 22,228, 64, 20, 40,198,117,146,196, 20, 82,117, 16, 89,145,145,165,138,
- 88, 85,113, 93,234,141,186,130,236,107,170,219, 90,239, 23,180,166,106,124,249,193, 89,190,253,221, 31,179,251,230, 5,106,211,
- 11,108,188,126,142,205,219, 93,222,237,195,126,152,112,250,232, 52,159,127,234, 8,191,255,230,128,157,177,178, 38,196,113,140,
-227, 42,219, 92,146,166,104, 2,245, 67, 43, 74,130, 40, 84,136, 90,211, 80, 54, 1, 38, 5, 95,168, 85,142, 20,146, 52, 78,136,
-146,152, 36, 86,183,191, 44,203,112, 92, 21, 60, 47, 52, 53,157, 27,154,166,136, 68,226,110, 18,151,196,180, 45, 12,161, 41,118,
-175, 0,211, 50, 48, 12, 91,137, 87, 18,213, 53, 54, 26, 53, 76,195,100,156,148, 92,232,155,156, 59, 40,145, 90,193,153,195, 77,
-154,245, 10,187,187, 30,105,156, 96,235, 58,113,119, 76,255,192,195,208, 5, 83,135,103,145,182,131,191, 55, 38,237, 7, 20, 18,
- 8, 19,110,245,149,122,210, 17, 26, 39, 31, 88, 97,127,163,199,214, 80, 5,134,212,234, 6,101, 20, 19,247, 35, 52, 93,144,149,
- 80,100, 5,134,101, 80,140, 35,202, 66,195,154,170,162, 89, 22,222,254,136,206,124,155, 34, 76,145, 21,245,218,148,163,128, 74,
-195,165,110,234,200, 36,195,172, 59,164, 94,132, 85, 22, 56, 83,117,226,170, 67, 90,148, 96, 27,180, 91, 53, 85,111,226,140, 59,
-227,148,118,205, 98,234,240, 12,253, 59,125, 66, 63,161,217,170, 18, 75, 73,179,238,114,115,115,132, 87,192,234,242, 20,254, 40,
- 38, 19, 18,163,148,104, 18, 44, 67,167,247,255, 51,245,166,177,114,165,249,121,223,239, 61,251,169, 58, 85,117,247,253,242,114,
-105,146,205,102, 55,123,157,238,158,158,105,181,102,145,108, 45,176, 70,138, 44, 89, 89,164, 36, 16, 18,197, 1, 98, 97,236, 36,
-112, 0, 1, 3, 4, 2,146,248, 75,228, 5, 48,178, 32, 49, 98, 59,142, 37, 56,146,162, 25, 89,138,198, 35,207,140,122, 52, 61,
-189, 76, 55,201,238,230, 78,222,253,222,218,171,206,250,158,247,188, 39, 31,222, 34, 39,245,137, 32,200, 91,203, 61,117,222,255,
-242, 60,191, 39, 46,136,167, 5,169,170,152,228,154,211,222, 4,207,243, 57,191,214, 34, 78, 18, 46, 60,181,206,238,245,123, 76,
-114,201,159,159, 42,134,143, 78,120,106,115,142, 71,227,156,127,249, 95,255, 21,126,231, 15,111,240,197,151,206,176,182,214,225,
-249,203,235, 70, 69, 61, 76,217, 89,108,240,209,225,148,162, 44,113,202, 26,225,186,108,175, 68, 28,199, 5,227,188, 98,216,157,
- 18,117, 26,172,174,180,144,177, 34,176, 5, 69, 44,177, 34,159, 65, 42,177, 43, 69, 36, 10, 30,125,242, 9, 39,123, 7,212,158,
-205,134,208, 44,183,230,104,189,241, 69,176, 59, 80, 13,168,179, 79,169,117,129,136,191, 11, 15,238,194, 36, 97,243,234, 38,163,
-189, 1, 31,239, 15,169,180,166,233, 59,224,122, 4,174, 67, 81, 41,210,162, 66, 88, 53,117,101, 38, 59,198,111, 94, 27,197,173,
- 99, 84,190,105,158, 27,177,140, 54, 88, 76,207, 53,215,217,179, 87, 46,177,182,178,194,116, 50,229,225,193, 33, 43,139, 11,172,
-175, 44, 19,134, 1,211, 52,229,207,254,226, 47,185,251,104, 15,219,178,185,242,212,121,124,215,229,143,190,249,231, 12,198, 99,
- 46,156,217, 98,121,113,145, 70,224,115,102,115,131,254,112,200,222,193, 33,131,241,132, 48,240,121,246,210, 5, 58,173, 54,133,
-148,220,123,184,203,100, 58,165, 17,132,180,162, 38,173,168,193, 52, 73,184,121,251, 14, 31,223,189,207,202,226, 34, 27,203, 75,
- 56,174,137,151,140,179,140,209,120,194,163,253, 67,134,163, 17, 90,107,210, 60,167, 55, 24,114,102,107,131, 47,190,241, 58, 23,
-206,158, 97,174,221,162, 63, 30,177,119,120,200,225,113,151,113,156,224, 56, 46,235, 75,243,180,162, 8,207, 53, 55,172, 7,251,
-251,188,251,209, 13, 30,238, 30,144,203,130, 82,105,243,186,215,215,217,218, 88, 5, 4, 7, 39,167,236, 31, 30, 51,223,105,243,
- 99,175,191,194,249,237, 45,146, 52,103, 26, 39, 76,226, 41,121, 46,105, 71, 77,132, 99,211,110, 70,220,159,102,100,131, 33, 81,
-216, 36,137, 39,228,197,136,116,244,144,201,240, 62,161, 7,185,172,144,217, 16,165, 18,202,116, 2,228, 36,211, 67, 90,209, 28,
-105, 41,113, 44, 27,183, 74,168,171, 9, 74, 57,188,241,203,191,195,207,124,245, 26,147, 71, 11, 56, 27, 21,167, 31,191,135,176,
-125,106,215,166, 42, 75,250,189, 93, 44,203,193,210, 26, 85,140, 80,197,128, 70,103,149, 40,106,226,216, 30, 59, 91, 47,146,230,
- 41, 39, 7,239,145, 77, 15,176,236,128,149,181,151, 88, 92,127,154,179, 23,255, 42,157,133,151,120,241,167,126,155,254,201, 77,
-122,187,215,177,221,128,249,197, 5, 66,223, 37,151, 21, 85, 37,113, 29,131,191, 86, 85,141,237,218, 84,117,133,227, 5, 80, 41,
- 84,145, 32,211,156, 60,143,233, 44, 93,226,115,207,253, 93,254,233, 31,151,124,227,223,214, 28,127, 56,229,104,239, 61, 78,111,
-253, 62, 54, 57, 89,114, 66, 49,124,196,232,232, 67,230,214,158, 39,104,175,176,251,233, 15,121,180,127,147, 52,121,192,120,116,
-155,201,232, 17,101,222,103,121,227,179, 68,115, 23, 41,178, 19,250,221, 91,148,121, 23,203,170, 1, 65, 89, 87,120,193, 60, 78,
-176,128, 27, 44, 97,185,139,228, 19,197,214,133, 57, 14, 79, 79,209, 65,193,104,183, 38,138,166,164,213, 20, 87,175, 96, 1,110,
- 67,112,230,236, 2,107, 23, 54, 17,237,121,194,133,121, 22,206,110,176,119,253, 6, 42,205, 41,117,105, 28, 73,149,156, 17,229,
- 32, 47,114, 60,199,104,170, 60,223,195,117, 93,168, 43,195,128,247,141, 53,172, 44, 75, 92,223, 8, 78, 77,162,153, 79, 85,155,
-241,122,150, 75,164, 44,104,183, 91, 8, 97, 82,218,152,217,217,148,172,240,124, 67,151,115,109,123, 38,208,179, 8,253,192,132,
- 90,149, 37, 69, 33,201,165, 68, 85,154, 90, 51, 19,105,219, 80,139, 89, 1,192, 12,223,106, 48,210,104, 77, 93, 27, 47,189, 97,
-176, 99,180, 93,162,194, 16, 25, 77,160,139,231, 25,177,157, 99,153, 3,215, 17, 14, 21, 26,215,118, 80,165,194,182, 4,142,103,
-220,101, 32,112, 45,155, 44,205,113, 61,199, 52,164,133, 36, 12, 76,162,158,227,152,136,238, 34,147,179,137,130,111,210,217,102,
- 35,119,219, 49,223,223, 52, 73,144,170, 48,124,248,205,179,103,191,102,219, 46,182, 35, 40,178, 2, 97, 11,154, 97, 19, 85, 43,
- 80, 26,207,183, 9,252, 0,215,113,104, 54, 27,184,179, 49,161,101,219,198, 82,230,121,216,174,195,251,123, 83, 70, 86,131, 95,
-254,220, 58,227, 56,231,198,253, 35, 6,150,207,167, 83, 65,203,183,121,235,149, 29, 62,115,117,155, 15,119, 71,252,243, 31,166,
-102, 60, 81, 41, 4, 2, 44, 16,181, 97, 34,215,181,198, 18, 22,142,239,131, 22,212,104, 30,103,124,171,202,100, 60,171,153, 77,
- 64,202, 18,223,245, 41, 43,133, 37, 52, 6,202,111,161,102,234, 70, 85,150, 88,182,217,181,219,174,192,245,124,162,102, 19, 91,
-216, 79,170, 70,165, 74, 96,198,253,246, 92, 28,207, 67, 22, 5,150,227,224,123, 30, 89,110, 16,130,165, 82, 20,248,220,153,184,
-124,255,176,198,119,107, 54,215,218,204, 69, 30,147, 73,142,240, 61,142,211,146, 84,193, 83, 23, 86, 16,158, 77,107,173, 67,115,
-125,142,104,173,131,146,138, 32, 45,240,107,141,198,162,189, 16,144,166,138, 88,129,182,106, 34, 27,100, 47, 51,201, 67,218, 34,
-181, 29,116, 89, 34,147, 28,116, 69,170,148,185,112,167, 41,110,163, 1, 53, 36,189, 4,167, 29, 34,100,137, 78,115, 28,219,166,
-177,208, 97,124, 58, 33, 29,101,180, 92,155,220,245,176, 29, 27,187, 80, 52,151,219, 88,182, 3,186, 98, 90,214,104, 27,238, 29,
- 37,172,183,124,162,118,147,108,154, 18,232,138,112,169,197,209,238,144, 96,185,205, 97, 55,102,125, 41, 98,123, 99,142,105, 94,
- 18,116, 34,148,231,160,149,241,171,142, 22, 66,220, 86,147, 70, 20, 48, 42, 20,213, 84, 18, 87,138, 87, 94,187,194,173, 27,187,
-108,157, 93,197, 17, 53,235,147, 46,223,235, 42,106,199, 34, 31, 79,120,235, 51, 87,184,246,220,121,158, 90,107, 81, 90, 53,117,
-109,209, 59,237,115,122, 56,230,185,167, 55, 88,220, 92, 99, 45,178,216, 63,154,208,112,109,180,174,200, 42,205, 27,215,182,185,
-181, 55,102,148,152, 28,102, 91,193, 56,206,112, 3,143, 44,242,152,156, 38, 52, 91, 1,157,134,135, 42, 53, 58,116,113,180,102,
-255,112, 72,154,103,228,117,205, 86,121,138,181, 89,130,234, 34,142, 62, 69,124,251,155,188,255,127,254, 9, 31,191,127,151,227,
-189, 62,190,170,152,107, 53,248,167,223,121, 96,108, 43,218, 68, 41,218,158,143,107, 65, 82,148,148, 10, 28,215,198,117, 44,192,
- 56, 48,102,139, 2, 28,215,166,225, 7,212,212,148,186,162,148, 37,143,195,121, 26,190,207,246,198, 58, 39,253, 62,183,239, 61,
- 34,138,154, 52, 27, 33,237,102,147,110,175,207,222,225, 17,189,209, 8,223,119, 57,187,185, 73, 20, 69,124,124,239, 62,163,177,
- 17,220,196,113,202, 59, 31, 94, 55, 59, 54, 4,195,201,132,251,187,251, 20, 82,114,126,103,155,213,149,101, 38,211, 9,239, 93,
-255,132,201, 52,166,221,110,113,249,220, 89, 86, 22, 22,136,154, 17,105,150,209, 31,142, 56,233,247,185,247,208,112,219,251,195,
- 17,131,225,144,105,156, 97, 91, 32,132,241,247,246, 7, 35, 14, 79, 78, 25, 79,166, 60,218, 63, 68,149, 37, 81, 20,113,247,225,
- 67,190,253,206,251,124,255,131, 15, 25,199, 9,139,237, 22,205, 70,147, 51,155, 27, 56,142,195, 52,142,169, 42,205,241, 73,151,
- 56, 79, 57,119,230, 12, 95,124,227, 85,182,214,215, 89,156, 55, 24,221,241, 52, 38, 78, 98,206,239,108,243,165, 55, 94, 99,101,
-113,145,193,104, 52,227,153,107,186,253, 1,113, 28,211,108, 54, 41,178, 2, 71,192,254,113,151,188,214,212, 73, 76,224,194,116,
-116, 64,220,189,133,204,115, 58, 11, 77,170, 98, 98,190,251,217, 16, 41,167,184,222, 2, 69, 50, 98, 58, 60, 50, 35,202,220,228,
-213,111,109,157, 33, 43, 21, 47,191,245,171,252,151,159,133,155,253,179, 84,113, 64,150, 30, 48, 58,185,143,133,141, 99, 57,212,
-186, 38, 30,159, 50, 29, 62, 34, 73, 70,200,162,100,126,190, 67, 99,190,197,201,222, 13, 30,222,125,143,222,201, 71, 20,113,159,
- 90, 64,212,217, 38,106,173,210, 92,156,227,210, 75,215, 40,114, 24,236,125, 72,163,189,129,204, 39, 76,135,251, 76,198, 99,164,
- 84,196,211, 41, 73,156, 35,101,133,214,224,217, 26,207, 6,215, 54,153, 14,105, 94,160,100,133,174, 5, 81,103,141, 75,111,252,
- 71,140,251,167, 36,163, 91, 76, 79,111,211, 59,248,152, 90, 79, 24, 15,119,153,118, 63,165, 76,123, 72, 89,177,124,241, 43, 44,
-110,191, 76, 50,250,148, 34,143, 17,114, 66, 42,123,228,211, 46,114,122, 68,145,246,241,230,207, 81, 22, 3,134,195, 59,200,188,
- 75, 50, 61,162,152,116, 81, 90, 98,213, 96,185, 30,142, 29, 96,249, 33, 66,120, 84,165, 69,123,189, 65,224, 10,250,167, 7, 88,
-141,140,227,247, 63,193,143,108, 22, 86,158, 65,215, 1,110, 35, 98,254, 76,147,102,232, 16,118, 26,212,162, 65,115,101,141,139,
-175,191, 74,255,222, 93,146,254, 0,199,179, 81, 82,225,186, 38,161,176, 40, 36,181, 37,208,181, 6, 33, 40,242,148,178,172,177,
- 48,246, 45,203,182, 8,195,198,147,113, 55,181,198,113,252, 39,186,169,170, 82,184,182, 57,116,149,148, 96,153,174,214,177, 60,
-176,160,204,115, 30,167, 82, 58,182,139, 31,120,232,186,158,173, 0, 44, 3, 58,242,205,253, 94, 32,112, 61,143, 52,141, 1, 65,
- 35, 52, 14, 24, 85,150,168, 89, 51,107,217, 6,140,102, 98,115, 53, 85,109,226,101,203, 92,146,102, 25, 85,165,113, 28,155, 56,
-142,169,181,201, 72,127, 28, 89,158,101, 25, 8,112, 61,151,170,210, 64,133,227,122, 84, 90, 81,150, 18,199,119,141, 21,187, 52,
- 20, 75, 44,115, 30,151,170,164, 86, 2, 63,244,158,104,121,146,105, 76,150,103,198,190,102,139, 39, 99,125, 33,108,115,150,109,
-237,236,124,205,178,141, 34,144, 90, 80,213, 53,129,111,108, 39,142,101,227,206, 80,123,186, 86,212,152,110,164,174, 13, 82, 83,
- 87,179, 4, 55,173, 41, 11,201,221,190,228, 91,247, 50,222,184,188,192, 79,190,178,201,185,115,203,108,175, 47,240,234,181, 29,
-162,185,136,143,238,245,248,135, 63,200,201,132,121,163, 88,214,147, 61, 73,158, 26,206,181,227, 62, 22, 68,152,221, 61,150,101,
-128, 2,128,235,216,179,209, 71, 64,165,141,157,168,170, 53,182,176, 0, 1, 66, 32,132,192,113, 29,108,203,164,239, 80, 67,171,
-213, 34, 12, 26, 4,190,161,162,121,190, 1,240, 75,105, 4,128,245,236,162,170,235, 26,215,117, 41,149,196,181, 76,110, 46, 48,
-171,194, 12,155,186,210,154,172,130,235,253,154,155, 67,151, 7,195,132,167, 86, 2,106,171,166,219, 77,152, 38, 18, 37, 37,253,
-145, 41, 6,206,108, 47,224,123, 46, 11,203, 17,195,163, 1,200,138,104, 41,100,109,125,145,211,221, 62, 19, 89, 18, 56, 46, 45,
- 27,168, 43,170, 18,124, 7,156,186,166, 22, 22,181,176,152,223, 94, 32,159,100,212,149, 70, 38, 37,107,231,151, 9, 90, 62,195,
-254, 20,145, 43,156, 60,199, 90,154, 71,184, 46,233,241,192, 4,231, 8,141,194,248,235,109,207, 34, 25, 36,236, 79,114,210, 68,
-210,246, 61,220, 86,131,162, 22, 68,150,169, 66,219,171, 77,198,199, 19, 28,199, 4,130, 84,150,197,238,193,132,245,141, 54,129,
-210, 56,145,207,234, 98,147,211,238,144, 78,211,236,198, 44, 85,226, 47, 69,124,114,167,207, 56, 45,153, 28,199,180, 26, 14,130,
-154,107, 23, 86,104,180, 27,236, 61, 58,161,156, 91,100,124,239, 33,218,134, 79,134, 53,151, 90, 53, 43,235, 75, 92,189,176, 70,
- 40, 20, 77,203,226,207,190,127,135, 13,223,230,163,253, 30, 15,142,198, 92, 92,239,208,106,132,168,204, 32, 40,157, 90,115,103,
-111,196,202,218, 60,159,127,237,105,198,163, 33,227,126,134, 44, 36,150,168,153,102, 21,207, 63,181,198,213, 43,107,124,247, 7,
- 15,136, 86, 58, 56,190,199, 97,162, 81,185,100,146, 20, 12, 10,201, 52, 47, 72,123,167,112,253, 99,246,223,126,143, 7,223,254,
-136,235,183, 30,113,146, 75,122,147, 2, 47, 50, 8,212,175,253,239,111,211, 77, 13,144,102,161, 97,179,209,180, 80, 88,164, 74,
-208,240, 93, 82, 41, 41, 74,101, 32, 22,194, 92,123,186,174,209,218,236,244,147, 60, 65, 22,229,108, 84,102, 4, 49,157, 86,196,
-112, 50,165, 29, 69, 12, 70, 99,110,223,187,111,176,171,142,209,141,180, 90, 77,134, 99, 3, 98, 25, 12, 70,156,217,220, 36, 77,
- 83,190,251,206,251,132,129, 79,156,166,156,244,122, 76,227,148, 52,205, 40,148, 34, 73,115,110,223,127,192,214,250, 42,215,158,
-190, 68,167,213,100, 56,153,242,238,245,155, 40,165,120,241,153,167,121,227,213, 23,217, 92, 91,123,130,217, 60,233,245,249,228,
-206, 61,226, 52, 99,161,213,194,247,125, 26,205,144,247,175,223,228,232,164,199,249,157,109, 70,211, 9,239,124,240, 17, 73,102,
- 48,177,150,109,131,101,210,197,180,214,108,173,173,177,181,110, 48,175,182,235,242,214,171, 47,177,190,186,202,193,241, 49,221,
-193,144,119, 63,186,193,123,215, 63, 33,207, 37,181,174,208,117, 77,212, 48, 49,179,174, 99, 83,105, 35, 56, 12,130,192, 32,115,
-211,156,188, 48,184,220, 56,137, 25,140, 38,200,178, 36, 10, 27, 51,164,109,205,104, 52, 97,156, 85,164,131, 17,165, 44,152,111,
-183,160, 76,217,126,233, 87,120,250,133,223,160,119,240, 93, 70,189, 61,212,244,128, 74,149, 44,108, 94, 99,231,218, 47,211,106,
-109,160, 43,197,164,255,128,133,249, 5,230, 23,151,104,134, 46, 71, 71,183,249,206,157,139,108,158,105,163,226,243, 4,139, 43,
-132,231,154, 28,223,248, 62, 85, 85, 82,215, 26,215, 11, 16,182, 71, 93, 85,232, 74, 50,236,238,210,153,219,164, 46, 99, 6, 71,
- 55,233,238,125, 64,169, 37,148, 5, 88, 22,194, 50,218,147,116,226, 16, 70,171, 56,205, 8, 81, 57,248,225, 50,216, 37,147,222,
- 61,100,174,168,106,176, 29, 1,181,160,148, 5, 89, 46,205,251, 47, 42,178,178, 66, 87, 53,181,150,248,205, 5,118,174,253, 20,
- 90,151,100,227, 67,100, 62, 38, 47,122,228,105,151, 52, 62, 38, 8,230,184,250,230,111,241,214,175,254, 35,126,233, 31,253, 38,
- 95,250, 79,127,134,133,207,189,206,238, 55,111, 19,143, 30, 34,179, 62,121,210, 67,170, 49, 50, 59, 37, 29,239,227,218, 77,242,
-180,139, 46, 98, 74, 21,163,202, 4, 89, 78,209,121, 31, 93, 37,136, 90,204, 40,111,198,213, 35,112,200,198, 22,235, 79, 45, 50,
- 60, 61,225,226,229, 29,156,200, 99,233,234, 57, 90, 23,155,180,197, 42,205,214, 38,174,179, 66,116,182,133, 87,244, 80, 2,210,
-145, 32,215,154,229,157, 13, 6,247, 30, 48,236,247, 80, 85,101,196, 93,150,141,229,216,200,188, 64, 43, 69,169, 36, 2,115,175,
-247,252,128, 82, 21,216,246,204,202, 60, 43,136,107,173, 73,210,204,116,212,182, 57, 59,178, 34,157, 77,145, 33, 8, 3, 44,203,
- 16, 30, 85, 85, 26,231,147, 16,179,117,178,166,200,243, 39,231,149,231,249, 88,150, 57, 55, 44,203,162, 44, 37,178, 48,113,166,
-186, 82, 88,182,137,193,214,212, 68,205, 8,234,218,116,229,218, 88,228,202, 74,225,205,214,190,246,172, 0,148,165, 68,204, 94,
- 71,154,166, 52, 26,205, 89,215, 95,226,218,230, 60, 41,242, 28, 11, 76, 65,163, 53,142,237, 24, 77,152,235, 98, 89,206,108,237,
- 13,181,170,159, 88,216, 84, 37,201,115, 35, 80, 87,170, 2, 1, 82, 22,152,232,101, 27,165, 75,148, 44,177, 28, 97,196,187,139,
-107,107, 95,211, 90, 35,139,156, 90, 99,198, 32,142, 32,137, 19, 42,165,168,209, 4,129,107, 42,155,194, 84, 21, 38,195, 54,101,
-154,196,100, 89, 70,150, 25,191, 93, 89,150,140,211,146,127,253,233,152,155, 39,102,151, 50,204, 20, 63,120,208,227, 15,223, 63,
-226,247,239, 86, 60,154, 84,200,194,132,189, 60, 46, 10,202,178, 36,106, 69, 8, 75, 24,113,130, 44,241, 3,223,236, 91,148, 66,
-230, 57,101, 41,113,109,155,176,209,192,181,109,252,192,228,129,251,129, 79, 35,108, 16,250, 1, 65, 35,164,217,108,206, 98,100,
-109,162,102, 19,173,161, 44, 11,148, 86,134, 74,231,185, 20, 69, 78,158,102, 72,105, 80,184,237, 78,155, 48, 12, 12,232, 64,153,
-184, 76,128, 70,163, 73,216,108, 26,213,188, 59,139,136, 13, 27, 4,129,111, 10, 32,219,229,180, 12,248,222,113,133,180, 60,190,
-242,230, 14, 23, 54, 23, 80,181, 32,201, 10,234,172,156, 85,227, 10,187,130, 96,161,137, 27,120, 56,161,207,104,146,225, 2,251,
-227,130, 81, 89, 17, 42,133, 19, 53, 9,231,155, 68,237,144, 50, 43,240, 27, 30, 80,113,246,242, 58,181,227, 18,119, 39,224, 57,
- 44,111, 47,210, 8, 60,250,167, 9,219, 79,175, 80, 20,154,114,154, 34,147,130,178,170,201,149, 6, 85,211, 88,110,147, 74, 67,
-139,242, 26, 62,183,246, 71, 52,116,141, 78, 50,108, 85, 97,229, 5,170, 40,105, 45, 55,104,117, 26, 28,239,143, 40,170,154,222,
- 84,178,126,126,137,249,208, 99,125,189, 77,239,222, 49,163,227, 49,193, 82,155, 34, 85,212, 66,240,204,185,121, 42,223,133, 81,
-138,242,124, 34, 71,243,211, 63,254, 52, 45, 75,176,178,208, 96,117,109,193, 20, 85, 2,142, 31,157,242,241,195, 30,175,108,133,
-188, 55,168,200, 1,145,196,188,249,202, 5, 84,169,176, 92,193, 71,119,187, 92, 88,139, 24, 38, 5,143, 14, 99,198,211,156,206,
- 98,131,126, 42, 73, 51, 69,162,161, 72, 10,110,239,246,216, 94,110,176,179,216,226,206,225,152,197,166, 75, 82,104,206,159, 95,
-228,238,254,128, 55,158,219,225,242, 86,135,119,175, 31,176,185,212,162,200,115,236,105, 6,190, 67,232,123,248,186,194,179, 32,
- 41, 50,246, 78, 7,164,212,204,175,181,193,178,233,199, 57, 10,129,231,217,220,124,216,167, 59, 46,104,135, 22,174,214, 52, 45,
-139,208, 22,100,182,161,207, 5,142,203, 36,147,148,186,194,115, 28, 44,219,194, 70, 80,150, 18,165, 43, 51,210,195,104, 83,168,
- 33,203,115,230,230, 58, 4, 51, 11,103, 94, 72,122,163,201,172, 83, 30,206,194, 32, 36,227, 56,229,184,107,112,186, 74, 41, 26,
- 13,159,135,251,135,248,174,131, 82, 21,147,105, 76, 24,248,184,190,135,109, 9,163,148, 31, 79, 88, 90,152,103,123, 99,221,168,
-123,117,197,173,123, 15, 9,131,128,159,253,242, 23,216, 94, 95,195,247, 60,164,148,220,121,180, 71,127, 56,226,254,195,125, 60,
-215,101,126,174,131, 16,130, 43,231,207,115,239,209, 46,135,167, 93,210, 52, 67, 85,154, 81, 28, 51, 24,142,120,252,152,235,180,
- 89, 95, 93,102,123,109,141, 92, 74,142,187, 61,234, 26, 70,163, 49, 73,150,211, 12, 3,186,131, 33,239, 93,255,152,253,227,147,
- 39, 86,182, 70,163, 65,146,164,244, 6, 3,166,211,152,124,134,230, 77,178,148,105,156,226,216, 54,185,148, 36,121, 78,154,101,
-140,166, 9, 15,247,246,169,133,197,226, 92, 7, 85,205, 70,165,133,228,180, 59,102,233,133,107,196,199,125,108,187,198,107,118,
- 56,251,210,207,178,188,248, 58,238,252,231,144, 50, 37,238,223,195, 34,163,177,176,134, 23,172,208, 90,188,136,223, 90, 34, 30,
-222,103,208, 61, 66,149, 18,207,241, 57,222,255,148,209,241,117,238,221,238, 99,135,203,136, 18,202,188, 98,237,194,143,113,238,
-226,207,209,240,219,156, 30,126,128,176,102, 36, 75, 97, 81,169,156,238,193, 61, 60,175, 77,115,174,141,231,218, 84,217, 0, 45,
-187,212, 66, 97, 91, 21,186, 78, 24,143,134, 36,201,128, 50, 47,144,186, 36,238,125,130,227, 53, 25,236,189,207,194,234, 83, 4,
-209, 38,233,100, 15, 85,196, 96, 9, 44,219, 8,145,107, 44,108,167,166,200,198,228,211, 17,151,191,240,119, 80,211,152,124,122,
- 23, 41, 75,100, 49, 34,141,251, 72,217, 39, 27,237, 33,227, 30,231,159,249, 10,182, 88,227,224,157,154,143,255,240, 14,123,127,
-121,143,225,241, 7,164,241, 49,121, 58, 64,231, 35,228,244,136,164,127,139, 60,139,113,194, 8,173, 10, 84,153,160,138, 33, 74,
- 78,209,114,138,140,247,169,100,134,176, 29, 80, 18,180,162,214, 10,163,181,106, 80,198, 30, 59, 87, 22, 25,140, 7, 92,121,246,
- 18, 79,159,251, 59,204, 95, 88,197,109, 60,164,108,249,184,249, 69, 26,245, 85,162,240, 50,222,186, 11,245,132,188, 63, 32,207,
- 20, 86,145, 48,237,118,201,165, 73,157,204,243,156,192,247,159, 28,218, 97, 16,226,123, 62,142,235, 82,228, 41,150,101, 19,134,
-161,137, 79,173, 20,150,237, 32,139,226, 73, 49, 24, 54,155,102,167,140, 5, 55,221,163,207, 0, 0, 32, 0, 73, 68, 65, 84,212,
-248,158, 75, 86, 72,147,167, 32, 75, 60,207,165,209, 8,169,197,140,250,102, 27,200,139, 99, 25, 97,118, 89, 22, 6,183, 58,123,
-126, 47,240, 41,149, 25,247, 55,155, 77, 44,203,184,172,124,215, 37,207,228, 44, 60,197, 53, 74,125, 85, 18,120,230,236, 49,104,
-214,140, 74, 43,163, 17,176, 12,237,180, 82,245,140,242,150,206, 4,119, 37,143, 93,117,165, 52,220,251, 74, 87, 79,158,211,113,
- 92,227,238,114, 93,234, 90, 83, 11,147, 0,167,148, 17,191, 85,101, 97,166,214,194, 8,192, 93,215, 69,212, 21,105,154,226, 58,
- 46, 0,129,107, 82,225,236,149,245,245,175, 85,149,185, 81, 99, 65,173, 13,120,223,182, 4,209,108, 71,102,212,231, 25, 73, 98,
-218,126, 41,205,206,221,158, 89,120,170,202, 68, 90, 62, 38, 2, 69, 81,196,253,110,202,159,223,137,121,247, 4,174, 15, 29,246,
-242,144,130, 25,106,214, 53,106,122,199,245,104, 54, 27, 56,142, 67,154,166, 70,217, 55,131,123,152, 72,190,194, 40,216, 49, 35,
- 65, 33,140,181,160,214,181,249,101, 0, 6,180,111, 68, 22,178, 40,204, 14,126,246,203,179, 44,203,140,212, 29, 19, 78, 33,101,
-129,231,250,184,142, 75, 45, 52,170, 44,177, 45, 3, 62,168,117, 5,194, 84,109,158,235,226,249, 62,182,109,146,132, 64,240,120,
- 18, 96,170, 59,102,157,126, 65,145, 73,100, 5,183,251,146, 63,121, 80,113,175,159,242,236,217, 57,174, 93, 88, 36,181,106, 70,
-163,156,201, 32,102, 48,202, 72, 51,137,219,105,112,122, 52, 38,157,164,180,214, 22, 24, 14, 83, 52,176,180, 24,241,220,179, 91,
-198,206,231,122,120,243, 33,227, 71, 3,116, 81, 33, 26, 77,156,192, 38, 25,231,216,142,203,217,237, 14,135,187, 61, 6,199, 35,
- 22,150, 59,172,172,183,233,118,167,200, 10,174,188,118,142, 70, 43, 96,146, 85,172,174,207,147,164, 5, 50, 78, 25, 41, 65, 45,
-224,249,231,183,176,173,154, 60, 41, 40,139,138,181, 43,235, 52,252,128,150, 39, 56,232,103,204,109, 44,178, 55, 78,120,106,123,
- 9, 93, 74,154,205,128, 82, 88,220, 58, 77,241, 61,139, 48,176, 73, 38, 18, 44,155,192,117, 56, 24,165,140,135, 57, 43,243, 13,
- 94,250,220, 21,162,192,225,222,225,152,205,141, 22,150, 45, 80,142,199,250,250, 28,223,120,119,151,186, 72,121,102, 46, 96,100,
-133,244,122, 49, 10,193,229,167,214, 16, 74,179,215,139,249,157,127,245, 62,255,213,175,125,137,221,253, 19,110, 63,236,177,179,
-210,225, 27,223,189,195,175,124,233, 34, 31,220, 57,101,156, 41,164,172, 56,234, 38, 92, 59, 19,241,151,247,135,132,142, 77,169,
- 53,103,182, 87,200, 11,197,159,189,243, 0,233, 8, 6,131, 20,203,115,241,178,156, 52, 47,113, 2,151, 65, 89,177,182,216, 70,
- 4, 30,221,178,162, 0, 86, 86,150,232, 37, 5,148, 37,231,150, 90, 92,221,156,231,133,203,155,252,194,151,174,242,135,127,246,
- 33,150,237,240,187,191,245, 83,236, 31,143,248,222,189, 46, 65,224,145, 40, 24, 36, 25,141,192, 37, 43, 52,181, 48, 25, 9,150,
- 96, 6,160, 48,215,201, 99,252,164, 25,155,153,107,230,194,153,109,110,221,123,192,112, 50, 97, 52, 30, 81,170,138, 76, 74, 38,
-147,152, 56, 73,233,180, 35, 26, 97,192,105,127, 64, 24,152, 52,175, 70, 16, 80, 42,133,231,251,100,121, 78,150,229, 4, 65,192,
-242,252, 60,247,118,247,176, 45,139,207,190,252,162,169,161,108,139, 44,147,124,124,231, 54,207, 94,190,196,218,202, 18,243,115,
- 29,100, 33, 25, 77,167, 20, 89,206,100,154,240,195, 79, 62, 69, 85, 21,237,102,147,115, 59,219,188,252,220, 21,110,220,186,203,
-237, 7, 15,105, 69, 17, 81, 24,208,237, 15, 24,204,146,225,154, 97,200,206,230, 58, 23,119,182,169,133, 96, 56, 28,209,138, 26,
-212, 24, 38,196,197,115,103,104, 69, 17,113,156,113,247,209, 46,174,237, 18, 53, 66, 86,151,150,184,114,254, 28,155, 27,171, 88,
- 66,144, 21, 5, 73,150,211, 31,140, 72,242,130,209,104,196,112, 52, 38,151, 5,113,156,112, 58, 24,178,127,120,196, 36,142, 89,
-154,239,208,105,181, 72,139,156,172, 80,148, 69, 70,146,197,180,159,125,137,168,249, 10,167,187,183,112,215, 60,196,162,195,225,
-167,183,144,105, 15, 63, 88,160,181,242, 12,237,229,107, 8,145, 34,243, 41,217,244,152, 82, 38,184, 65, 68, 62,218, 39,203, 99,
-162,214, 28,121, 26,211, 12, 53,121,114,159,253,251,223,101,216,189, 71, 17, 15,185,248,242, 47,240, 55,254,241,103,217, 88,254,
-247, 72,135, 83, 14,238,126, 7, 61,115, 49,216,142, 75, 85,102,140,135,143,232, 29,237, 83, 85, 22, 69, 54,165, 22,109,230,230,
-154, 44,172,110, 98, 5,115, 8,127,137,108,176, 75,220,189,197,180,127,159,120,112, 31, 55,232,112,241,149, 95,230,249, 47,252,
- 23,188,246,227,127,147,151,222,250, 91, 52,162,139,196,233, 49, 73,247, 46,102, 98,170,145,105, 66,228,108,243, 55,255,241, 67,
-254,238,111, 63,203, 36,252, 9, 30,190,255, 54,217,248, 30, 85,153,163,228,136,114,188, 79,145, 28,209, 94,126, 14, 17, 70,244,
- 7, 55, 25,117, 63, 34, 29, 61, 36, 25, 31, 48,234,223, 34, 62,252, 62, 34, 59, 34,155,236, 51, 73, 78,112,252, 53,126,242,175,
-255, 51, 44,207,165,123,240, 14, 85,153, 81,170, 12,165, 98,234, 98,202,184,191, 75,123,229, 42, 53, 53,186,146, 80,107, 30, 71,
-165, 90,150,133, 82, 54,100, 54, 27, 23, 58,116, 39, 93,252,198, 23,137,188,121, 14, 15, 62,161, 19, 76,112,244, 34,115, 27,219,
-204,191,238,178,216,154,199,237,109, 81,150,219,184,173, 67, 38,143,118, 57,188,243, 41,182,229, 60,233,150,243,188,192,117,141,
-224, 43, 73, 50, 2,223, 35, 73, 83, 26,141, 6,174,235,162,148,233,168,149, 82, 4,129, 89, 1, 23, 69, 97,108,126,181,198,247,
-125,132,101, 68,108,190, 31, 96,217, 38,164, 69,235,138, 48, 12,177,132,133,204, 82,242,162,160,148, 5,165, 86, 88,216, 88,182,
-225,177, 91,150, 32,205,115, 16, 2,224, 9, 83,160,170, 52,147,233,132, 60,207,159, 52,130,238, 76,192,166,103,220, 19, 0, 75,
- 24, 23,149, 65,219, 26,130,160,214, 70,135, 6, 38, 63,165,213,106,225, 7, 1,212,181,209, 14, 56, 14, 82, 25, 87,153,241,224,
-155,247, 87, 87,181, 25,225,215,181, 41,110, 28, 23,207,119,169, 84, 69,232, 26,244, 48,149, 17, 90, 63, 65,229, 42,227,255,215,
- 74,225, 58,206, 19,231,128,189,185,115,246,107, 97,163, 65,224, 5,132,179, 12,216,192,247,141,231, 13, 72,147,148, 44,137,141,
-218, 23,140,183,123, 54,130,171, 1,223,243,240, 67,227,201, 14,103,200, 63, 33, 4,174,235, 34,149, 36, 77, 51,146, 52,155,101,
-192,218,104, 93, 83, 86,138, 60,203, 8, 3, 31,203,182,177,109, 19, 90,239,121, 46,182, 99, 97, 9, 27,215,247,103,182, 52, 11,
-207,243, 8,195,144, 40,108, 96,193,147,231,151, 51,106,147,170,140, 39,177,209,106, 64,109,129, 96,166,116,175,140, 93,174,170,
-102, 89,188, 38,196,222,158,141, 53, 60,199,198, 11, 12,123, 56, 45, 76,245,168,100,105,166, 3,165,161, 13, 73, 41,169,107,112,
- 3,159,186,214, 70,124, 55, 59,216,227,105,130,176,141, 95,209,113, 76,138,215,113, 42,248,227, 79,199,124,247,238, 41, 11,145,
-199,213,139,203, 92,188,180, 70, 45, 4, 19,165,185,123,175,199, 66, 39,196,109, 71,244, 39, 41,253,196, 92,164,155, 43,109,210,
- 84,210, 59,141,233, 29, 15,105,181, 26, 4,139, 45,104, 25, 15,105,127,144,178,113,102,158,198, 66,131,131,227, 17, 94,224,227,
-216, 54, 97, 20,114,208,157,226, 52, 67,236,102,192,112, 16,131,134,179, 23,151,145,170, 34,180, 61, 42, 33, 72, 85,201,210, 92,
-131, 50,206, 89,217, 90,100,191,151, 34,171,154,213,181,136, 70, 51,164,118,109,122,227,130,193,112,202,114,187,193,194, 92,192,
-225,193,152,120,154, 98,135, 30,131,113,198, 56, 43,241, 85, 69,149,230,244,166, 5, 15,123, 9,131, 81,134, 22,154,254, 56, 99,
-114, 60,224,189,143, 15, 57,232, 39, 28,239,118,241, 29,155,214,124, 11,109,185,188,249,242, 89,254,167,111,239,241,157,187, 67,
-222,216,106,112,239,116,202,232,184,199,165,139, 91,180,231, 35, 58,237,128,223,251,198,135,252,202, 79,191,196,211, 59,243, 44,
-204, 53,184,184,179, 68, 39,180, 89, 88,152,227,229, 75,171,156, 89,105, 35,149, 98,107, 53, 2,215,230,233,229, 54,187,163,148,
-147,238,148, 82,106, 60,215, 38,143,115,108,207,101, 56,201, 25,141, 50,230, 23,155,180,162,128,176, 19,144,196,138, 58,244,144,
-133,166,112, 61,218,157, 22,194,179, 56,179,181,192,224,160,199, 82,123,142,141,213,121, 28,149, 32, 86, 90,116, 31,245,248,206,
-173, 33, 43, 77,135, 87,159,219,230,235,239,238, 49, 77,115,188,102, 68, 94, 42, 42, 93,227, 57, 22, 73, 97, 80,148,182, 16,232,
-122, 54,170, 22, 38,222, 84,207, 14,116,102,183,130,249,185, 22,167,189, 62,221,193, 0, 33, 44,150, 22,230,217, 90, 95, 37,205,
-114,142,187, 61, 92,215,230, 11,159,125,141, 7,187,123, 92, 58,127,150,215, 95,122, 30, 89, 42, 6,227, 49,227, 56, 38, 73, 18,
-230,219, 29,158, 58,123,134,209,100,202,163,253, 3, 44,199, 34,203, 11,131,153,212, 53,127,254,151,239,144,230, 5, 43,203, 75,
-230, 26,119, 28, 99,169, 19,130,178,210, 28,119,187,124,122,239, 1,158,227,210,140, 26,160, 53, 31,220,188,197,187,215,111,146,
- 23, 5,219,235,171, 68,205, 6, 15,247, 15,159,116,219, 81,179,201,250,202, 50, 11, 11, 29, 60,203,194, 15, 2,230,218, 45,211,
- 49, 8,200,210,156,180,200, 41,103,187, 77,219, 50,107,176,178,170, 64,107,146, 36, 67,105, 77,224,123,166, 0,178,109,116, 85,
- 81, 86, 38, 10, 55, 73, 83, 38, 73, 70, 60, 77,204,120,214,182,153,235,116,102, 92,128,153, 58,127, 60,197,170, 53, 89, 46,137,
-162, 13,220,249,171,148,147, 1, 75, 94,139,201,112, 72,146, 14,201,211, 35,210,201, 46,195,147, 27, 52, 92, 69,145, 39,164,201,
- 41, 69, 60, 64, 87, 57,232,140, 42,203, 25,141,199,108, 63,253,227,156, 30,222,197,177, 36, 77, 39, 39,233,125, 76,239,240, 83,
-214,214,190,192,191,243,215, 46, 81, 12, 45,236,214, 23,217,122,238, 21, 58, 43,155, 88,150, 67, 35,218,194,114,125,138,184,139,
-235, 88,228,197,128, 74,229,100,201, 41,241,100, 66, 16,206,225,160, 41,210, 17,105, 50,101,212,189, 65,210,251,136, 98,122,132,
- 19, 46, 17,205,175,146,229,135,140, 83,200,210,132,229,237, 23, 88, 90,123, 9,187, 53,207,180,119,151,124,122,204,243, 63,245,
- 53,254,243,119,255, 71, 94,123, 46,163, 93, 91,200, 51, 46,211,163,231, 56,186,253, 45,122,135,223,161,156,236,161,138, 12,183,
-177, 78,208, 90,193,118, 53, 50,137,145, 50,166,212, 5, 74, 78, 16,218, 70, 85, 41, 74,123, 44,109,189,201,213,207,125,149, 87,
-191,244,223,210,106,173,130,239, 51, 62,189,203,112,239, 47,176, 28,135,206,252,211, 44,156,121,131,203,175,253, 6, 27,103,191,
-128, 16, 22,121, 62, 66, 87,102, 84, 76,173,168,116, 73, 85, 22, 36,211,148,106, 52,100,235,133,203,220, 31,127,128, 58,126,153,
-253,247, 63,162, 59,186, 77, 29,245,136,212, 57,236,164, 73,248, 92,205,122, 91, 32, 38, 46,201,224, 34,209,149, 54, 34,233,146,
- 13, 71,179, 3, 91, 81, 85,102,175, 94,149,138, 32, 52,204, 2, 89,150, 8,203, 0, 88, 74, 85,206, 58, 82,163, 83, 73,227, 20,
-203,182,112, 61,131,103, 54,124, 21,115, 29, 21,165,164, 44,171,217,180,217, 71,230, 5, 74, 25,223,184, 57,203,108, 42, 37,113,
- 61,207, 76,150,139,146, 74, 87,232,178, 36, 73, 19,178, 44,163,174, 77,254,186,233,158, 21, 85, 85,153,189,184,239, 97,213, 22,
-182,107,116, 86, 97,232,227,186, 30, 88,166,217, 83, 74,161, 42, 69, 94, 24, 59, 93, 24,250, 4, 97,128,176, 5,142,227, 97, 91,
-224,121, 70,180,167, 42,163,251,114,125,151, 74, 25, 93,152, 17, 8,106, 28, 63,160, 72, 51,100,110,146, 35, 31, 55,151,105,145,
-227,185, 30, 82,150, 38, 40, 42, 48,222,248,122, 86,108, 9,203, 8,244, 30, 55,164,246,250,153, 51, 95, 51, 8, 76, 69, 85,149,
-248,110, 64,158,167,200, 66, 82, 20, 5, 74,105,108,107,150,215, 12, 52,163, 8,119,150,225, 93, 74, 3, 6,176, 93,119,182,107,
- 51,105, 87,197,108,188,142, 54, 59, 9,173,140, 95, 59,142, 19,146, 52, 37,207, 50, 2,207,163,194, 32, 0,127,180,163,215,212,
-181,217, 97, 11, 49,123,145,142,131,231, 26,120,140,172, 12,252, 38,240,125,108, 4, 85,165,113, 29, 7,173,161,209, 52, 70,253,
- 74, 73, 74, 85,146, 39, 41, 73,156,206,108,110,230,239, 52,198, 54, 7,204,170,177,177, 25,183, 52, 66, 44, 71,128, 6, 97,153,
- 80, 0,223,247, 77,176,194,204, 71, 47, 75,131, 25, 44,138,226,201,110,196, 17,230,115,145,165, 1,243,100, 89,134, 99,187, 76,
-167, 19, 14,199, 37,223,123, 88,240,199, 31,158, 16,103,138, 87, 46,173,241,185, 23,182, 89, 91,106, 48,209, 53,177,172,232,199,
- 37,121, 98,246, 48,165,172, 41,198, 9,181,148,120,158,199,112, 90,112, 52,201,169, 5, 36,131, 12, 45, 43, 60,223,197,118, 45,
- 14,239, 15,208,186,100,233,236, 42, 31, 63,234, 81, 87,130,147, 94,140, 43,106,130,208, 35,206, 37,241,180, 32,242, 92,118,111,
-238,177,180,181,104,170,225,105, 78, 60, 72,200, 51, 69,225,217,224, 89,200, 76,211,235, 79,232,247, 51, 30, 28,141,104,122, 1,
- 47,189,176,129,194, 34,158,164,132,182,195,131,126, 74, 33,140,226,125,103,163,195,242,218, 28,105, 34, 25,196, 18,225, 90, 88,
- 26, 90,190,203, 40,149, 12,135, 57,145, 0, 71, 64,161, 53, 27, 91,203,228, 85, 73,171,233,115,123,111,194,113, 33,248,123,191,
-254, 57,238,117,115,228,116,200,193,221, 61,218, 65,200,197,203,103,216, 88,108,242,225,221, 35,182,183,151,104, 71, 77, 84,109,
-209,154,111,240,195, 79,143,177, 91, 77, 86,214, 34,206,110,175,176,184,212, 70,184, 46,171,203,115,188,112,245, 28,171, 29,159,
- 71,147, 4,106,155,133,165, 38, 63,255,249,139,228,147,220,116,192,185,164, 20, 22,169,182,105,204, 53,184,184,210,230, 56, 41,
-185,190, 63,161,206, 11, 78, 39, 37,100, 57, 77,173,177,171,130, 15, 31, 30,115,255, 52,101,120, 56,225, 91, 63,220, 99,127,146,
-243,246,157, 46,127,244,189, 71,180,155, 46,170, 22,160, 43, 74,199, 71, 85, 26,215,178,144, 85,253, 68,128, 99,114, 9, 64, 41,
-101, 70,232,213,143, 18,224,148, 82, 92, 56,179, 61, 75, 33, 91,162, 63, 28,224, 59, 46,191,246,139,127,141,222,112,204, 73,191,
-135,239,186, 92, 62,183,195,254,113,151,237,181, 21,174, 94,190,200, 83,103,207,112,127,111,159,241,120,138,148,138,149,229, 69,
- 94,125,238, 89,230,231,231, 56, 56, 62, 37, 75, 51, 90,173,136,229,165, 69, 60,199,101,239,240,136,185, 86,139,173,213,101, 54,
- 86, 86,248,198,183,191,131, 45, 4,237, 40, 98, 56,153,240,111,190,247, 14,253,193,144,192,247, 57,127,118,135,102,240,152, 83,
- 93,178,177,182,202,171, 47, 94,227,180,215,231,240,180, 71,154,101, 8, 44, 54,215,151, 57,187,185,110,212,232,179, 68,168, 52,
-205,140,144,180,210,102,116,158,102,196,179, 2,190,212,149,137,195,196, 76, 40,106,140, 83, 64,215,179,149, 68,245,120, 50,102,
-160, 82,150,101, 35,168, 77,145,108,155,226,222,115, 28, 26,141, 0,199, 50,159,107, 16,120,164, 89,198,164,215, 37,138, 58, 76,
-199, 39, 36,131, 30,161,147, 33, 68,193,120,112, 68, 58, 61, 37,159, 30,145, 13,119, 9,156, 12, 75, 23,228,113, 31,153,156, 82,
- 38, 61,160,160, 84,146,203,175,254, 2,103,158,251, 37,154,243,215,184,127,227, 79,232,117,187,236,156, 59,135, 31, 54, 72,213,
- 49,247,246, 94,226,151,254, 93,151, 87, 94,169,232,118,175,160,234, 22, 27, 23,223,224,181,183,190,202,231,126,230, 55, 57,222,
-251,152,222,193, 71, 8,225, 97, 91,198, 79, 92, 41,201,168,127,130,240, 86, 32, 63,132,233,125,202,228,216, 88, 85,171,154, 96,
-110, 3,215,149,212, 74, 34,115, 69, 50,222,229,120,239, 7,244, 14,175, 51, 29,223,167,189,120,137, 87,191,252,219,188,244,250,
- 95, 71,222,247, 56, 92, 9,184,241,117,151,254,183, 32,173, 10, 52, 54,150, 29, 17,180,206,179,253,194,127,192,107,159,251, 91,
-132,237, 11,140,123,119, 40,101, 66,153, 13, 40,243, 1,121, 58,160,152, 30, 82,101, 19,206,191,240,171,108, 93,249,105,172, 70,
-131,238,193,135, 28,239,253, 37,195,222,125,116, 93,225,183,215, 89, 92,127,157,206,230,139,204,207,157,195,114, 3,100, 50, 36,
-147, 9,170,140,169,138,161,185,175, 87, 57,149, 76, 40,229,152, 50, 31, 50, 62,121,200,203, 63,241, 38,107,103,150,216,143,191,
-139,234,199,100,167, 61, 54,159,217,224,204,235, 13, 74,235, 1,199, 93,139,190,104,227, 30, 66, 53,134,211, 7, 54,209,181,101,
-146,253,219, 20,113,140,176,109, 2,207, 69, 74, 99,101,149,133,164,144,146, 70, 24,152, 61, 59, 16, 69, 77, 51, 9, 86, 37,150,
-109, 86, 92, 38,221,172, 34, 8, 60, 35, 56, 19, 22,150, 45,176, 45,227, 34, 48,244,181,153, 42, 60, 51, 83,229, 26,195, 39,177,
-108, 27,219,113,168, 85,133, 31,122,179,231,169, 41, 74, 69, 93,107,180,170,176,109, 11,223, 51,135,118, 89,152, 48,153, 60,207,
-201,139, 28,219,113, 16,194,132,175, 88, 64,158, 21, 8, 33,240,131,199,123,113, 15, 33, 4, 90, 27,173,136,235,186, 76, 38, 99,
- 92,223, 37, 75,115,124,207,197,100,194,135, 80, 11,234, 90, 16,204,166,113,126,224, 81, 73,115,190, 65,141,229,185, 20,165,137,
-124,181, 53, 36, 89, 74, 24,134, 56,142,141,227,216,248,190, 71, 16,134,132,225,172, 17, 15, 2, 92,215, 38,207, 11,236,149,141,
-141,175, 85,101, 73, 93,153,165,189,235, 90,120, 65, 96,254,236,121, 8,171, 70,107,195,234,181, 45,135,178,204,177, 92,199,140,
-162,108, 19,158, 82,107,205, 92, 59, 34,240, 3,108, 64, 22, 37,205, 40, 50, 59,111,207, 16,226, 74,165,208,182,241, 28, 86,234,
- 71,227,117,215,113, 24, 77, 38,100, 73, 76,150,167,100,105, 78,150,207,114,214,165, 73,233, 17,152, 76, 94,215,178,113, 60,135,
-162, 44, 76, 49,225,121,148,101, 65,163,209, 32,147, 41, 69, 81,144, 36, 41, 50,151,168,202,216, 12, 30,131, 0,202,178, 68,149,
-138, 60,207,209, 88,104,173, 40,165,164,217,106, 97, 91, 54, 89, 86, 82, 72,137,192,198, 11, 27,212,218,194,114, 28,132,112, 9,
- 27,161,129, 88,216,198,210, 36,106,139,168,217, 64, 35,240, 61, 23,219,117,145,101,142, 16, 22,174,107, 35, 11,243,154,100,165,
-200,165,230,250, 97,198,239,189,127,204,183,110, 15,232, 38, 21, 95,188,186,206,165,173, 5,118, 86, 35,180,170,112,103,194,142,
-206,114,135,197,149, 14,235, 27,139, 28,159, 78,136,108, 88,155,111,178,180,220,194,241, 28, 6,221,152,227, 65,204,218,230, 60,
- 73,109,243, 96,175,207,105, 63,197,247, 28,154,117, 73,203,247, 89, 93,110,209, 10, 92,138, 76,113,120, 60,102,110,103,129,253,
-227, 41, 74, 8,100, 42, 57,119,126,149,149,181, 22, 55,238,116,201,138,138, 78,232,160,170,154,163,126,138,210, 53, 97,195,129,
- 74, 51, 28, 38, 28,141,114,164,214, 36, 73, 73,154, 11,227, 80,176, 45,186,170,166,219, 75, 40,235,138,166, 5,142,101,211,233,
-132,228,129,203, 47,190,121,145,115, 59,139,108,157, 93,102,235,220, 26, 8, 11, 71, 88,252,111, 95,191,201, 63,249,214,109,254,
-187, 95,255, 60,235,171,243, 84,115,115,100, 65,135,187, 67,201,111,255,171,143,249, 39, 95,127,159, 59,253,132,191,184,221, 99,
- 41,242,217,239, 79,152,228, 5,183,247, 39,156,198,146, 63,254,254,125, 90, 65,136,170, 53,227, 84,209,110,134,252,249,167, 39,
-180, 67,139,237,205, 69,174,158, 89, 70,186, 14,235,107,115, 4,205,128,139,231,151,184,122,110,133,133,197, 14, 97, 20, 50,206,
- 37, 63,184,211,195,173,107,242, 74,242,242,249, 69, 90,205,128,200,119, 41,138,146,192,210,244, 75, 88, 92,157,195,241, 93,114,
- 33,176, 52,220, 57,154, 32,181, 96,173,227,147,150,154, 73, 81,161,171,138,188,182, 24,103, 18, 91, 8, 44,171,166, 80,198,191,
- 46,132,153, 4, 57,182, 17, 12, 22,255, 63,204, 42,192,213,203, 79,225,249, 62, 87,159, 58, 79,171, 21,113,249,252,121, 52,130,
-134,239,209,105,183, 57,234,118, 57,191,115,134,157,141, 53, 38, 73,194,242,226, 18,142,101, 33,132,160,217,104, 50,142, 19, 54,
-215, 86,184,116,126,135,255,251, 79,254, 13,167,189, 30,171, 43, 75,124,230,218, 85,132,101,115,243,214, 29,242,162,224,243,159,
-121, 17,219,178,120,251,131,143,184,251,224, 17, 73,154, 97, 91, 54,113, 18, 51,153,198, 28,119,123,148, 85, 73, 85, 86, 79, 60,
-176,221,225,136,173,213, 21,234, 26, 14, 79,187, 36,105,138, 44, 37,173, 86,196,198,234, 10,237,150, 25, 49, 78,147,132,219, 15,
- 30,114,210,237,145,164, 25, 91,235,171,216,182,209, 9, 32,106,108,199,157,117, 47, 21, 8, 19,162, 36,102,135,187,168,107,140,
-245, 71, 60, 57,240,181,214, 51, 33,146, 17,109, 90, 70,217,132,231,184, 52,194,144, 48, 52, 55,107,111, 6,235, 72,227, 49,121,
- 26,211,104,132, 84,197,132,170, 44, 16,149, 36,244,106,242,201, 41,101,218,101, 58, 62,164,115,230,175, 48, 58,185, 75,169,143,
-136,194, 38,129,103, 68,105, 27,231, 95,160,185,252, 20,253,195, 79,144,249,144,185,149,103, 73,166, 61,146,201, 41, 75, 75,107,
-132,110,193,176,119,139,239,191, 29, 80,251,151, 8, 95, 16,244,110, 70,244, 14,110,179,126,246, 57,230,191, 44,184,118,249, 23,
- 73,179, 54, 7,183,255, 95,170,210, 16,191, 42,149,162,228,132,100,180, 75,154,100, 84,150, 79,109,249,232,178, 36,108,180,104,
-182,218,132,157, 21,227,238,241,182,176,180,195,168,247, 41,147,163,119,152, 28,127,128,227, 47,226,183, 58, 12,123, 15, 72, 78,
- 20,197,163, 85,100, 6, 71,221, 93,166,227, 67, 38,189, 27,172,110,126,158,159,249,143,191,202,171,191,241, 34,151,127,118,129,
- 69,123,135,147, 3,197,100,120,155,170,136,145,121, 31, 53, 61, 96,122,122, 3,141, 67, 56,183, 69,158, 13, 72,135, 7, 72,105,
- 68,115,121,214, 67,102,167,204, 45, 95, 99,121,237,121,180, 83, 19, 15,246, 24,245,111, 51,233,127,130,140,247,201,199,187,200,
-180,143, 37,106,132, 46, 16,228, 80,230,136, 42,161, 40, 50,158,121,243, 85,158,121,249, 26, 11, 13,141,183,172,240,183, 91, 68,
-219,103, 88, 92,222,129,186, 64,143,118, 25,237,127, 66,127,247, 41,234, 10,166,105,197,240,193, 49,205,179, 46,241,163,123,168,
- 60,167,174, 5,158,103,132,169,213,172,131,173,103,235, 83,219,114,145,101, 65, 81, 20, 84, 26, 30,179, 33,194, 70,136,241,153,
-128,109,187, 40, 85,128, 54, 34,213,162, 40,158,216,175,125,223, 51,187,110,106, 84, 85,146,166, 41, 65, 16,162,181,177,171,201,
- 18,252,192,195,114, 28,170,218, 20,223,181,112, 40, 75,109, 16,222,129,143,170,161,214, 70,100, 87,215, 53, 50,207,141,197,214,
- 49,228,182,114,246,221,209,202, 56, 24,192, 50, 13,107,216, 4,109,162, 87, 29,215,153,105,206,204,110,252,241,195,117, 77, 65,
-227, 57, 14, 74,105,148, 84, 84,148, 32,106, 28,219, 64,102,116, 53,203, 54,113,141,229, 47, 77, 19, 74, 37,177,132,192,113, 92,
- 35,232,171, 5,170,148,212,186,198,178, 29,138, 66, 34, 94,127,235,173, 26, 4,149, 86,200,162,196,243,124,124,223,200,231,133,
- 48, 85,180,214, 26,173,181, 9, 75, 41, 37,147,209,248,201,158, 16, 75,224,218,198,238, 38, 48,251,245, 36, 75,105, 71,109, 44,
-219,168, 3,245,108,172, 50, 26, 12,208,149,162,209,104,146,100, 70, 32, 99,217,182,121,129, 90, 97,190,203, 53,216,166,107,182,
- 44,135,170, 42,205,152, 57, 12, 13,135,126,246, 51,109, 33, 0,141,192, 1, 97,212,249,195,225,136,186,174,141,208, 1,129,210,
-154,105,154, 18,184, 30,147,233,132, 74, 85,212,194, 4,212,152,132, 28,155,249,185, 57,116,173,177,133, 33, 18,217,130, 89,225,
-160,160, 22, 56,182,139,235, 58, 88,179, 49, 99, 85,105,146,105,130,174,103, 83,130,218,236, 78, 12,225,168,194,113, 28,116, 85,
- 49, 26, 12, 40,181,201, 19,246, 29,199,144,199, 48,147,136,142,171,153, 15, 52,255,254,171,171,252,216,211, 43,172,181,108, 70,
-227,156, 73,156,114,127,127,200, 52, 41, 57, 57, 26, 18,186, 54, 11,203, 45, 2,215, 38,181, 45,172, 66, 35,199, 49,150,107, 49,
-181, 93,210,113,138,111, 11,206,181,124,180,165,241, 29,155, 52,215, 52, 86,219,196,189, 9,161,231,242,224,100,202,184,168,104,
-251, 14, 59,171, 17,101, 90,144,229, 21,125, 85, 99,219,166, 97,178,230, 34,138,222, 24,215,178,216, 94,244,233,141, 11,250,133,
-162,214,130,200,179, 41, 53, 40, 81,131,212, 96, 9,174, 61,189, 76, 89, 84,220,221, 29,162, 68, 77,123,190, 77,226,216,156,139,
- 92,222,122,245, 2, 89, 37,176, 92, 11, 37, 43, 30, 30,143,249,163,119, 30,226,217, 22, 63,255,197,103,120,251, 81,193,255,250,
-157,125, 98, 41,112, 92,193,217, 85,151,191,113,185,197,171,103,219,236,108,175, 16,119, 71,104, 27, 74, 85,113, 58, 41,152,102,
- 37, 55,247, 83,110, 30, 77,113, 60,219, 20, 77, 82,147,103,102,226,224,139,138,159,126,237, 28,109, 15, 46,173,183,240, 60,143,
- 90, 87, 28,244, 19, 22, 91, 62, 75,109,131, 97,244,108,193,221,163, 17,247, 15, 70,204,135, 54,183, 78,167, 28, 29,198,216,190,
-195, 66,211, 67, 72,137,244, 60, 22, 35,143,173,149, 5,236,208, 98,216,157,240,207,255,244, 19, 62,218, 29,242,202,133,101,172,
-186,230,189, 71, 3,180, 16, 28, 22, 22,126,224, 27,245,186,237, 48,136,115,236, 48,196,183, 29,108, 27, 84,101,174,139, 52,203,
-205,161, 53,123,188,249,218,203,124,249,141,215, 57,233,245, 89, 90, 92,160, 44, 75, 70,227, 9,101, 85,209,237,247,201,115,201,
-202,210, 2,207, 61,125, 25,223,117,185,113,247, 46,119,238, 63, 66, 41,197, 92,187, 77, 16,120, 92, 58,119, 22, 89, 42,254,224,
- 79,191,137,174, 53,159,125,233,121, 46,157, 63,207,100, 26,243,254,141,143, 89, 91, 94,194,178, 45, 62,184,249, 9,131,209, 4,
- 81,215,172, 46, 47,178,186,184, 72,119, 56,226,189,143, 62, 6, 75,115,233,236, 89,206,110,110,160,180,230,193,238,222,147,176,
- 25,106,144, 74,113,239,225, 30,195,241,152,185,185, 57, 46,158, 59, 67, 20,132,164,121,206,221,135,187, 76,227, 41, 43, 11, 11,
-252,228, 91,159,231,185, 43,151,145,165,228,131,143,110,114, 50, 24, 18,204, 66, 49, 74, 85,161, 74,245,100, 29,230,186, 6,236,
- 65, 93, 35, 44, 27,106,140,157,105,118,143,112, 28,199,124, 71, 49,119, 83,203,118,152,239,180, 8,124,143, 44, 47, 40, 74, 51,
- 41,235,245,251,168,162, 64,250, 75,184, 65,139,197,213,117, 6, 39,199, 84,181,166, 21, 69, 36,147, 62,101,243, 89,158,255,236,
- 87, 9,220, 37,110,191,255,191,112,231,230,239, 82,201, 62,182, 29,114,229, 51,111,146,203,144, 44,153, 34,179, 9,181, 46, 81,
- 37,140,142,110,178,185,177,129, 31,132, 12,166, 83, 58, 75,203,164, 73, 11,191,115, 1,199,182,168,170,156,107,159,249, 53,190,
-252,213,139,188,190,156,115,123, 28,240, 7,255,125,198,173, 27,255,128,221, 7,223,100,235,220, 91, 76,142,111,243,201, 7,255,
- 12, 44, 15,219,179,177,181,139,182, 28,180,150,180, 23, 55,120,241,231,126, 30,185, 63, 96,154, 54,201, 51,201,164,127, 19, 57,
-222,195, 9,151, 88,217,249, 2, 94,228,227,123, 29,130,246, 89,194,185, 22,148,130, 98,154,147,203, 83, 6,135, 55,216,186,244,
- 87,249,202,223,251, 34, 94, 2,163,155, 48, 58,133, 15,190,253, 54, 15,111,253, 62,131,195,119,153,246,238, 82,219, 37,157,197,
-103,185,252,218,175,147,103, 61, 38,221,187, 84,165, 70, 8, 65, 89,101,104,153, 35,211, 3,188,112,153,185,245,151,209,197, 20,
- 69,137, 42, 51,100, 58, 64, 23, 3,228,116,143, 82,213,184,150,192,115, 44,202,186, 50,247, 99, 89, 50,156, 12,217, 60,123,141,
-175,252,230, 31, 16,132,224,159,127,132,144, 67, 6,131, 61,134, 73, 65,171,185, 68,232,218,148,253, 35, 82,177, 64,245,224, 50,
- 89, 38, 25,246,239, 82, 4, 31,224,244,238,209,127,112,223, 76,105,103,223,139,186,174, 25, 79,198,102, 71, 37,140, 99, 9, 76,
- 82,167,109, 89,216,174,141,146, 21,174, 45,112,125, 31,165, 36, 85,101, 4,114,150, 99, 19, 79, 13, 35,164, 17,181,177, 0,165,
- 53,121,154, 98, 89, 14,163,241, 8,234, 26,203,113,105,183,219, 8, 97,145, 36, 9,186, 6,106, 65, 20, 53, 40,114, 73,154,165,
- 8,219, 98,174,221,198,158, 21,210,117,173,145,178,152,253,219,138, 60,203,177, 44, 11,199,115,152,239,204,145, 36, 9, 53,134,
-207,175, 52,100,169, 73, 51,108,183,219,100, 50,163,152,145,242, 26, 97, 64,146,100, 8, 33,232,116, 90,216,182, 75,146,166, 88,
-179,245,113,212,108,206, 62, 8, 77, 89, 25, 80,153, 16, 80, 42,133,107,187,179,244,212,217, 8, 95, 41, 99, 95,110, 52,168,181,
- 81,226, 87,165, 36, 78,204,132, 93,124,254, 75, 95,174,139,194,116,190, 96, 70,222,173, 86,147,186,174,201,211, 2, 47,112,141,
- 88,161, 52,185,178,211,241, 4,173, 53,237,168,245,163, 40, 83,173,153, 76, 98,168,107,106, 12,223, 55, 75, 50,163, 64,111,181,
-169, 49,225, 41,227,241,144, 74, 25, 91, 88, 24,134, 56,182,192,178,140, 87, 60, 8, 3,132, 53, 67,184, 22,138, 52, 79,141, 56,
- 64,153,136,189, 70, 20, 33,132, 69,165,202, 89, 53, 47,136, 90, 45,179,203,214,154,209,120, 68,173,107,218,157, 14,106,214, 53,
-185,190,225,236, 90,152,159,155, 23,102,239,168,245,227, 93,132,192,117,108,230, 23,230,112,132,133, 22,166, 50, 51, 99, 22, 35,
-180, 51,207, 89, 33,149,194,158,249, 7, 17,230, 0, 79,226, 20,199,115,176, 16,100, 73,134, 70, 27,209,158,101,145, 76, 99, 83,
-109, 33, 16,212,230,255,233,154, 86, 59, 66,104, 65, 86,100,216,182,197,250, 66,196,122, 75,240,153, 85,193,151,158, 94,228,210,
-198,156, 41, 18,138,130, 94,150, 81,230,154,147,211, 9,247, 78,198,108, 47, 7,124,112,239,148,208,242, 56,127,110,149,197, 70,
-192,254, 97, 15,207,243,145,181,166, 63,200,112, 93, 65, 62, 78,201,149,198,141,124,220, 90, 48,201, 36,205,170,162,185, 16, 34,
- 28, 23,178,146,211, 36,195,179, 5, 89,161, 57,123,126,153,189, 7, 93,243, 90, 29,115,210,207,135, 46,183,186, 41,129, 13,107,
-157, 6, 82, 74,166,133, 96,234, 11, 94,189,186,202,207,189,241, 28,147,241,136,193, 40,103,172,106, 58, 77,159,249, 86, 72, 43,
-112, 57, 29,197,124,251,250, 46, 55, 30,196,108,173, 52,120,246,242, 58,223,248, 36,230,253, 19,152, 22, 38, 93,111, 60, 30, 19,
-250, 51, 91,137, 5, 75, 97, 77, 39,106,114,174, 93, 51, 76, 36,221,113,129,210, 53,123, 3,179,203, 47,102, 78, 5,215, 55,172,
-129, 74, 87, 68,141,144, 36, 73,104, 52, 26, 38,248, 66, 20,156, 91,242, 89,107,212, 92, 93,116,136,243, 10,148,226,245, 75,107,
- 68,145, 71,224, 57, 4,158, 67,232, 90,100,165, 38, 79, 36,119,142,198,228, 73,206,211, 23, 87,144,165,226,189,235, 71,220,186,
-115, 74,179, 1, 87,182,150,185,175, 29,254,229, 95,220,229, 43, 47,172,211, 9,124,254,135,223,191,142,237,219, 44, 47, 68, 28,
-156,164,248,161,207, 52, 43,152,230, 37, 11, 59,231,112,130, 6, 69, 28, 83,201, 28,153,165, 84,165, 34,151, 6,178, 4,102, 77,
-244,183,127,253, 63,100, 52,153,112,243,246, 61,238,220,127,192, 36, 78,233,180, 90,196,105,202, 92,167,205,171,207, 63,203,198,
-234, 10,182, 37,248,238,123, 31,114,218,235, 18,133,134, 17,241,212,206, 25,222,124,237,101,238, 62,216,229, 95,252, 63,223, 96,
- 99,101,133, 87,158,123, 6,215,177,105,183,219, 92,190,112,142, 78,171,197,237, 7, 15,153, 76, 38,252,240,227,219, 60, 60, 56,
-100,103, 99,157,102, 35,100,239,240,136,239,189,255, 33,235,171,203, 92,121,234, 2, 43,179,194,226,131, 27,159,112,127,111,159,
-243,219, 91,204,207,117, 40, 85,201,163,131, 35,226, 36,229,194,206, 54, 11,157, 14,211, 36,101, 18,199,244,134, 35, 60,203,226,
- 39,222,250, 28,207, 95,189,194,198,234, 10,142,101, 49, 77, 18,222,126,239,135, 12, 70, 35, 4,130,162, 44,153,196,177,225,233,
- 55, 27, 70,124,106, 25, 58,101,205,143,214,110,230,128, 55,135,123, 28,167, 12,227, 41, 90, 41, 60,215,163,217, 8,104,206,184,
- 12,165, 50,188,136,193,196, 20, 42, 43,173,144,158,242, 89,126,230,167,216,187,249, 14, 66,143,152,159, 95,163, 53, 63,135,142,
- 94, 1,171, 61,179, 28,186,104, 85,112,120,247, 79,129, 26, 75,247, 88, 92,217, 32, 30,101,100,217,152, 82,198, 56, 53,168, 90,
-209,233, 68, 44,116, 86,201,100, 66,127, 56,166,221, 10,176,133,205,104, 48, 96,146, 78,112,194,115,188,244, 19,191,197,127,243,
-247, 63,195, 27,150,203,239, 51,226,214,191,232,240,224, 32, 99,126, 57, 96,109, 94,240,123,255,240,239,243,189,111,254,109,108,
-175,137,227,120,212,181, 64, 8,155,178, 42,217, 62,127,141,229,149, 53,100,218,163,223, 61, 33,147, 37,142,215, 33, 92,188, 72,
-123,233, 50, 97,224, 19, 70, 77,150,206,254, 44,162, 86,244, 14,191,199,180,123, 74, 58,125,136,204, 99, 46,191,246,159,112,249,
-245, 87,200, 15,161,136, 39,120, 11, 17,163,147, 93,246,239,190,205,116,112,159,249,165, 75,172,172,191,196,213,151, 46,130,174,
-249,228,227,135,220,254,232,119, 25,157,222, 70, 43, 51,213,208,229,132, 34, 62,166, 22, 62,139,103, 94,161,170, 76,218,161, 42,
-198,212, 42,167, 46,167, 84,114, 76,237, 52, 17,117,133, 99,105,168, 45,226, 60,165, 44, 74, 60,215, 34,203, 74,190,240,159,125,
-157,213,198, 21,214, 54, 44,188, 57, 72, 39,167,184, 27,119, 40,210, 35, 62,189,251,128,197,230, 28,139,107,235, 36,101,147,228,
- 70, 65,247,232,128,172,177,135, 55,120,196,224,222, 39, 84, 85,133, 82,154,102,100, 14, 52, 1,232,186, 70, 22,198,190, 5, 16,
- 69,209, 19,202,103, 16, 4, 40, 85,206, 38, 98, 2,203, 49, 99,240,170, 52, 92,145,178,170,104, 55, 91, 70,200,173, 36,174,227,
- 51, 25,143,168,171,218, 76,165, 42,147, 87,223,142, 90,179,166, 84, 60,209,121, 61, 9, 10,211,154,199, 62,242,102, 51, 66, 8,
-243,154, 12,113, 52, 67, 96, 58,125,207,241,104,181, 91, 51, 62, 5,100, 89, 10, 66,224,187,254,140, 94,170,113, 28, 11, 33,106,
- 4, 70, 99, 83,228,146, 66,154,162,160, 25, 53, 9,253, 16, 48,163,117,171, 6,109, 25,135,190,133, 17, 53, 87,162, 70,101, 5,
-126,163,129,109,217,148, 50, 51,235,105, 97,211,108, 24,252,172,235, 26, 86,126, 50,141,169,170, 10,219,182,177,183,207,157,251,
-218,227, 76, 87,223, 55, 40, 75,195, 75, 55,233, 48,194,178, 40,139,130,172, 48,226, 2, 0,219,182,104, 52, 77, 8, 10,192,116,
- 58, 69,235,154, 48, 8,112, 93,143, 52, 73,241, 92,151, 92, 26,148,230, 52, 49,184,214,118,187, 77, 16, 62,222,125, 27, 5,100,
- 61, 27,147,219,174,139,133, 0,203, 84, 71,166,251,181,129,154, 90, 27, 48,141,174,140,157,193,216,132,106,138, 34,159,125,152,
- 53, 69,110,178,128,189, 32,192, 17, 80,234,146, 74, 42,180,134,178,148, 63, 18,227,249,190, 9, 87, 17, 22,186,170,176,234,138,
- 70,163,137, 16,150,177,219,200, 98,246, 62, 53, 89, 38,141,109,194,182,204, 84, 65,216, 84, 26,100, 33, 13, 76,160,174, 13,255,
- 91, 24,241, 70, 94, 20, 6, 84,163, 43,154, 81,227,201,206, 35,240, 3, 28,207,129,122,182,111,105, 4,132,126,136,227,185,140,
-146,156,110,172,121,255, 72,241,135, 55,134,124,253,250, 41, 63,184,219, 99,152,107, 66,223, 97,101,169,205,214,230, 2,175, 92,
-125,138,179,235, 75,188,120,105,149,181,133, 38,157,208,166,144,154,104, 46, 32,171, 42,100, 94,240,202,165, 85,206,111,207,225,
-216, 14, 11,145,205, 87,190,244, 28, 47,191,116,158, 51,243, 62, 31,222,235, 98,105,120,227,229,109, 22, 22,218, 56, 22, 72, 28,
- 46,108,180,121,243,217,109,150, 22,155, 44, 69, 46, 23,182,231,248,202,151,159,231,236,206, 34, 79,159, 93,224,210,106,135,103,
- 47,173,113,254,252, 18, 59, 11, 33, 75,139, 17,109,223,167,237, 59, 20,182, 77, 16,134,172, 47, 68, 44,182, 2, 38, 73,206,255,
-245,111,111,243,175,223,219,103,103,125,142,179, 59,203,220, 79, 93,254,143, 15, 19,110,158, 84,168,218,126, 50,241,105,132, 33,
-113,146, 80, 86, 10,199,114,232,197,166,104,184,221,147,220, 62,138,217, 31,100, 28,143,114, 42, 12, 25, 80, 87,149,153,234,216,
-246, 19,241,162,101,217,164,211,137, 81,132,151, 10,237, 55,121,112,154,242, 96,234,240,205,123, 41, 55,123, 21,223,123, 48, 7,
- 98,131, 16, 0, 0, 32, 0, 73, 68, 65, 84,225,127,254,214, 67,222,190,117, 66, 35,244, 56, 62, 29,211,108,120, 44, 52,125,176,
- 96,125, 53, 98,125,185,141,231,185,248,174,224,185,167, 86,184,176,185,128,171, 37,125, 4, 39, 73,197,235, 79,175,178,222,176,
-120,247,198, 1, 39,147,132,170, 18,140,227, 12, 74, 73, 5,132,190,207, 52,251,255,168,122,179, 88,203,178,243,190,239,183,214,
- 94,123, 60,195,157,111, 77,221, 93, 61, 84,179,155,100,115, 16, 73, 49, 98,147, 52,105, 65, 20, 67, 75,166, 28, 13,136, 37,200,
-146, 32, 25, 80, 16,199,136, 13, 89,158, 32,196, 12,226, 0,126,200, 96,228, 37, 72,148, 68, 8, 98, 36,144, 25,217,138,108,208,
- 26, 18,205,164, 68, 54, 91,156,123,170,234,174,170,174,186,117,235,142,103,220,243, 26,242,240,237, 91,132,251,169,128, 70, 85,
-157,186,123,159,181,190,239, 63,138,130,125,239,218, 53,226, 52, 35, 45, 10,246, 46, 95,197,100, 41,121, 81, 72,217, 11, 96,123,
-199,131,227, 35,178, 52,231,228,252,156,217, 98, 73,145,165,148,117, 69,221,118,172,150,107,238, 62, 56,100,190, 92, 81, 53, 13,
-111,220,126,155,197,114,197, 98,181, 38, 75, 83, 41, 63,234, 36,236, 98,182, 92, 74,101,163, 86,172,202,138,178,105, 72, 34,141,
- 11,162,180,189,117,247, 30, 47,125,243, 91,204,103, 75,146, 44,102,127,123,135, 36, 77,184,121,251, 46,207,223,120,134, 23,222,
-241, 12,143, 93,185, 76,219,118, 28, 28, 31,115, 54,155,147, 23, 25,219, 91, 27,160, 52,119,239,221,103, 92,140,185,178,191, 71,
- 20, 41,170,186, 97,190, 92,225,157,227,234,149, 75, 92,222,223,151, 34,151, 36,198, 35,234,225, 60,203,184,247,224,144, 55,223,
-190,199,249,124,206,108,185,164, 72, 82,242, 44, 19, 1,156,150, 56, 78, 31, 60,189,247,120,103, 33, 72,241,197,241,108,198,157,
-123,247,153,205, 22,196, 73,204,100, 92, 48,202,115,161,207,156,195,186,142,186,233,134,115, 64, 17, 17,136,146,136,173,247,189,
- 23,147,188,155,229,249,140,197,217,125,178, 75, 99,148, 11,172,150, 71,212,229, 41,235,243,183, 41,203,131, 71,103,141,115,208,
- 46,239,145, 23, 9,121,162, 72, 99,131,199, 17,250,142,182,169,232,186,134, 52, 86,108,111,110,179, 44, 59,214,203, 53, 79,223,
-120,134,237,233, 38,145, 42, 89,157,125,135,223,253,141,146,111, 47,223,199,248, 67, 41,233, 99,138,228,118,194,124, 9, 59, 63,
- 9, 63,244, 51,207,163,226,255,148,215,191,244,235,116,213, 17,206,214,184,190, 34,184,134,197,233, 93,202, 70,145,231, 91, 16,
- 69, 68, 42, 70, 71, 26, 95,159,145,166, 49,249,120, 3,101, 58,178,228, 49, 20, 17,203,147,123,156, 62,124,137,229,193,215, 48,
-217, 38,121,122,153,178,205,169,117, 70,185,120,200,226,224,219, 84,235, 99,234,102, 65,156,110,243,241,207,252, 36, 79, 63,191,
-141,243,154, 91,111,156,178,120,248, 58,171,229, 3,150,167,175,208, 47,223,162, 46,239,210,148, 39, 4,149,178,251,248,199, 89,
-159,126,147,190,153,225,109,133,107, 23, 4,187,198,119,115, 86,203,135,196,163,199,176, 93, 73,215,214,228, 89, 70,145, 8, 12,
-220,180,150,190, 93,144,111, 95,166, 94, 29,211,185, 77,180, 25,115,126, 18, 56,124,237,144, 70,159, 17,183,107,206, 22,231, 36,
-241, 68,154,219, 78, 87, 52,205,130,182, 59,164, 59,121, 72,179, 92, 72,236,234, 96, 99,118,222, 99,187, 14,165, 2,113,150,136,
-102, 42,120,250,182,149, 51,216, 8,180, 61, 30, 10, 79,180,142,168,171,106,184, 84, 69,131,149, 38, 25, 77, 47,194,179,182,105,
- 49, 90, 68,204,113,154,208, 54, 29, 40, 8,206,209,180, 98,145, 70, 5,218,170, 37,120,201, 93,111, 91,185,167,188,119, 56,231,
-233,123,249, 60, 77, 85, 19,212,144, 98, 58, 64,241, 1, 17, 93,247,157, 31,104,100, 81,211, 95,136,236,146, 88,238,212,190, 23,
-173, 64, 20, 69,196,177,161,174, 27, 2,138, 60,205, 30,157, 99,121,150, 97,123, 71, 98, 98, 2, 82,174,166, 34,141, 15,129,216,
-196, 84, 85, 5,120,178,124, 68,150,101,128,116,112,244,189,165,109, 90,154,182,193,251,192,100, 99,138,137, 34,212,135, 62,250,
-177,112, 1,181, 39, 73, 60,112, 92,142, 72, 27, 20,208,217,158, 40,210, 3,124, 17, 33, 56,132, 36,237,244,174,167,107, 58, 2,
-158,182,181, 76, 38, 83, 34, 21,177,172, 74,240,110,176,164, 41,130,210, 40, 29,177,177, 33,113,126,206, 15,118, 50,165, 72, 98,
-241,141,247, 93,135,127, 4,141,203,176,224,131,100,194,167,121, 38,144,135,150,191, 94, 56,203,136,174,107, 88,151, 82, 26,159,
-101, 25,206, 59,210, 36,102, 60,222, 16, 14,127,128,253,163,200, 16,199, 17,109,219, 11, 60,110, 61, 74,131,119, 14, 99,244, 35,
-139, 80,215,119,244, 78,248,189, 56,142,176, 78,126,168, 33, 4,130, 82,196, 81,132, 86,129,206, 5,241,204,231, 57,117,221,208,
-119, 45,105,146,226,181,162,169, 43,172,149,164,161,241,120, 76,211, 52,104, 21,145,166,223,229, 83,234,186, 70,105, 77,150, 36,
-195, 11,214, 51,153, 78, 9, 3,188, 51, 30,141,136, 76,204,106,177,224,210,196,176,159, 90,158,158, 88, 94,124,126,159,107,227,
-148,235, 87, 55, 48,145, 38,213, 2, 99,250,182, 71, 5,143,211,129,186, 15,120,109,208,214,225,149,199, 4, 69,146,202,118,180,
- 92,247, 36, 69,138, 13,154, 88, 7, 9,245, 24, 66,117, 76, 36, 41, 73, 90, 71, 88,107,241, 1,148,130,216, 72,229, 96, 28, 41,
-148,142,200,140,162,237,157, 12, 52,218,176,232, 58,190,117,243,152,255,231,207,223,228,107,111,157,242,253,223,251, 52, 87,174,
- 94,230,255,125, 99,193,183, 30,212,172,170,146,216, 36,108,109,110,202,144,136, 8, 33,189,247,172,215,107,226, 72,147,230, 57,
- 85, 89,210,118, 61, 46,120,242,172, 32, 56,135,117, 14,235, 29,249,224,196, 8, 33, 96,157, 35, 29, 54,252,213,106,137,239, 90,
-200, 10,138, 52,166,237, 58,166,147, 41,193,123,225,197,203,122,160,118, 68,236,162, 35,205,149,177, 33,154, 31,242, 19,223,123,
-133,159,248,196,115,116,214,225,156, 3,100,152,212, 70, 97,208,228,105,204,186,110,249,191,127,239, 85,222,247, 61, 79,113,116,
-239,156, 47,254,197, 91,252,225,235, 39, 24, 99, 88,218,192, 78,166,153, 53,208, 39, 57, 71,171,146,170,181, 60,255,158,119, 99,
-138, 41,182,235, 69,252,210, 59,180, 25, 6, 72,173,169,170,138,123,183,110, 50,205, 50,118,182, 55,120,112,124,202,254,238, 54,
-169, 73,184,118,245, 50,101, 93,243,230, 91,119, 57,157,207,185,122,121,159, 34,203,104,154,134, 85, 41, 33, 48,219,219, 91, 92,
-218,222,100, 50, 26, 49, 95,173,216,218,152,130,210,178, 81, 69,226, 22,153,142, 10,166,211, 49,119,239, 31,242,165,151,191, 78,
-221,212,108,109,108,176,191,179, 13, 90,243,202,235,111,240,153, 79,124,156,103,158,186, 78, 93,215, 28,157,207,120,245,245,155,
-188,250,230,109,158,124,226, 49, 46,239,238,162,148,226,245, 91,111,242,161,247,190,192,229, 75,251,124,253,149,215, 56, 60, 60,
- 98, 85,149,108,109,110,240,248,213,171,188,243,153, 39,121,236,202,101,166,163, 49, 81, 28,225,157,231,149, 55,110,241,205,215,
-222,224,240,228, 4,173, 13,211,113, 65,154, 36,196, 73, 76,145,166, 20,121, 54, 8,246, 86,116, 93, 71,211,182, 4, 2,139,229,
-154,213,170,164,233,164, 48, 39, 75, 12,211,241,152,201,100,130,137, 13,120, 79, 64, 68, 83,117,211,210, 89, 75,162, 3,182,235,
- 81, 59, 55,200, 38,215, 88, 55,134,135,111,127,135, 84,149, 60,243,142,231, 89, 55,154, 85, 41, 48,173,247, 13,205,242,152,221,
- 39, 62,204,165,235,159,164,158, 29,242,210,239,252, 50,151,158,121,142, 60,153,178, 57, 25, 51,159,157,179,108,114, 30,127,215,
- 95,197,119, 29, 7,111,124,158,103,158,124, 74,132,192, 65, 46,132, 16, 20,121,166,104,124,198,218, 78,209,233,147,108,236, 60,
- 67,140,163,111,123, 62,240,169,159,230,159,255, 34,124,129, 5, 47,253,230,132,223,255,151,191,198,201,237, 63, 97,231,218,247,
- 18, 66,203,205,175,254, 95,156, 29,124, 13,157, 21,100,217,246,192,135, 74,191,198,104,235, 18,207,188,247, 19,196,145, 99,177,
- 4,162, 49,245,226,132,234,236, 59,120,165,184,242,236,103,217,220,122, 2, 27, 60,147,173,109,218,166,161, 89,157, 19,130,163,
- 44, 15, 25,231,151,185,241,142, 31, 67,233, 2, 59,174, 41,237, 57,253,225,109,102, 39,183, 57,188,243,135, 28,223,254, 34,217,
-232,113,254,242,143,255, 47, 60,247,119,223, 77,248,227,192, 31,255,230,255,201,171,127,242,143, 72,139, 9,125, 22, 99,203, 57,
-190, 77,248,216,103,255, 59, 84,182,199,209,155, 95,224,224,245,223,166,111,103, 4, 20,125,215, 99,189,198,181, 11,174, 61,255,
-195,100,155,215,200,211, 45,210, 98, 7,175,192, 86,231, 88,247,128,241,214,156,245,242,156,189, 27,239,198,205, 55, 72, 47, 7,
- 92,215,114,246,246, 77, 38,101,205,106,245,144,120,120,174, 38,142, 9,192,186,148, 90,239, 34, 47,112,193,131,119, 88, 27, 48,
- 70,224,242, 60,203, 72,243,156,224,164, 48,201, 40, 40,235,154,190,239, 24, 23, 57,235,166,129,160,201,178,152, 44,203, 33, 4,
-170,178,146,203,124, 88, 6,171,170, 38, 49, 9, 23,125,247, 81, 20,161,180,122, 20,132,147, 12, 27,191,137, 52, 89, 33,155,116,
-223,246, 24,173, 49, 89, 10,214, 18, 84, 4, 58,224, 90, 17, 95,167, 3, 34,172,144,182, 70, 65,169, 69, 55,146,101, 25,126,104,
-128, 19,250, 54, 80,151, 53,163,113, 65, 83,215, 68,198,176,185,185,137,115,158,166,111,193, 57,148,142, 81, 74,196,149, 73, 26,
- 83,151, 13, 89,150,224,131,150, 42,226, 8,186, 70,114, 91,236, 32,240, 67, 49, 12, 57, 17, 6, 37,165, 42, 90, 71, 2, 47,171,
-193,135,173, 21, 0, 81,164,136, 76,140,209, 26,239,229,162, 88, 46,151,100, 89,134, 49, 9, 62,246,143,138,238,163, 40, 2,173,
- 25, 23, 5,179,249,140,160,181,112, 24, 90, 83,174,215, 52, 77,135, 49, 18,170, 49, 42, 10,180,146,136,187,162, 24,177, 14, 1,
-237,197,123,152,101, 25, 23,138,217,245,122,141,247,142, 16, 28,105, 58, 38, 55,210,172, 22, 37, 49, 46, 72,237,168, 87,158,190,
-239,217,222,222,198, 24, 67,213,180, 4,107, 73,243,140,174,237, 69, 44, 97, 27,146, 36,165,170, 42, 76,100,228, 48,240, 1,107,
- 35,138,209,136,216, 24,177,218,180, 45, 10,192, 24, 66,104,177, 94, 74,109,240,158,108, 60, 25, 56,142,136,209,192,129, 4,231,
- 24,143, 39, 4,111,105,157, 99, 52, 30, 83,150, 37,184, 32, 49,130,198,224,109, 71,221,244, 36,177, 40, 29,241, 50, 56,172,214,
- 37, 38,214, 2, 67, 3, 74,155,225,128,140, 97, 16, 34,206, 58,195,188,213,188, 81,102,124,225,206, 41,137,114, 60, 54,213, 92,
- 25, 71,188,231, 82,202,118,226,217,219, 25, 51, 41, 82, 46,109,141, 88, 85, 45,143, 93, 78,169, 74, 71,158,229,114,161, 33, 28,
-119, 58, 73, 1,200, 98,177, 54,101, 38,150,151,179,211,100, 89, 68,215, 5,186,182, 33, 67, 97, 35,225,110, 92,217,178,232, 29,
-111, 29,174,105,219,142,147, 69,197, 55,239, 47, 89,215,150, 81,172,121, 80, 58,182,166, 57,197,214, 30, 91,207,239,242,219,135,
- 61,231, 55, 15, 81, 65, 56,169,116,240,153,206,231,115, 76,100, 48,169,228, 11,120, 16, 47,169,214,128, 34, 47, 70,196,137,101,
- 62, 95,208, 55,141,148, 28,104,141, 81, 12,233, 76, 5,214, 90,234, 70,224,171, 52, 75,201, 39, 19, 98, 38,172,171,146,174,239,
-153, 76, 38,180, 93, 71, 28,199,152, 40,102,178,145,208, 54,210,148, 4,138, 36, 73,152, 91, 7,163,199,249,213,151, 23, 44,186,
-215,249,207, 62,243, 78,214, 77,160,183,142,117,227,120, 98,119,204,218, 90,154,206,242,249, 63,189,197,170,215, 52,203,146,235,
- 79,109, 99,148,227,230,105,197,183, 15, 86, 68,131,165,134,224,113, 62,176, 51, 29,113, 41, 73,104,231, 39,152,209, 20,165,135,
-159, 95,111,209, 94,222,101,165, 20,163,209,136,221,237,109, 14, 14, 14, 88, 55, 13,109,221, 48, 42,114,142,203,115,202,186,226,
-177, 43, 87,248,208,251, 94,224,225,201, 41,247, 30, 28,202,214, 26,199,128, 84, 62, 70, 90,177, 90,151, 28,159,157,211, 89,203,
-249, 92,114,223, 55, 38, 35,105,114,138,132, 15, 63, 60, 58,225,230,157,187,172, 86,107,122,103,201, 51,161, 0, 54, 54, 54, 64,
-193,237,131, 3, 76, 34, 34,157,163,211, 51, 14, 79,206,208, 90,211,117, 29,155,147, 49, 27,211, 9, 7, 15,143,176,206,115,124,
-122,202, 40, 23, 65, 83, 80,178,145, 39,131, 45,169,235, 58,150,170,194,104,205,249, 98,206,189,135, 71,212, 77,139,179, 14,101,
- 20,101, 89,178, 90,173,216,222,218, 36, 53,134,190,235,153, 45, 87, 88, 43,116,138,119, 1, 23, 60, 73,108,216,217,222, 28, 84,
-244, 21,206,203, 51,233,123, 89, 42, 98, 99, 8,206,209,129, 4,239, 24,131, 14,142, 24, 69, 93, 61,164,139, 18,182, 71, 19,178,
-199,247, 56, 59,182,180,117, 73,140, 97,123, 28, 88, 45, 86,148,213, 18,215, 46,217,123,242, 47,113,253,217, 79,177,191,189,205,
-254,245,143,243,210,239,254, 35, 30,220,253, 14,171,233, 22,147,157,125,222,241,194, 15,161, 77, 65, 58,122,156,227,251,127,206,
- 55,190,249, 50,207, 63,255, 30,198,211, 13, 90,235,192, 7,202,178,163,108, 22,140,243, 57,109,117,155,183,223,254, 2, 77,189,
-166, 94,157,114,112,255, 43,156, 29,255,247,252,212,175,196,252,226, 95,115, 92,218,253, 5,222,126,229, 23,240, 10,158,255,121,
- 40,151,127,151,127,246,161, 79,115,120,247,247,177, 33,225, 34,116,198, 59,203,234,228, 54,183,191, 99,120,242,198,123,113,139,
- 59,204,206,142,232,250,142,100,180,207,104,231,157,108, 94,122, 23,187,123,207, 19, 84, 77, 94,108, 48, 95,223, 97,126,252, 38,
-235,217, 91, 88,187, 38,190, 52, 97,182,122,131, 64, 68,104,122,130,178,148,171, 57, 33,138, 41,166,143,241,131, 63,245,175,120,
-241,211, 31,102,244,129,192,173,127,227,185,249,202, 87,137,242,148, 43,239,249, 49, 14,190,249, 27,172,142,103, 92,191,241,227,
-252,216,207,255,111,108, 94,134,111,126,227, 30,237,149,235,184,233,123,185,247,197, 47,210, 55, 21, 96, 48,104, 66, 82,208,212,
- 71, 4,213, 83,135,183, 69, 83,228, 45,161, 45,233,219, 35,162,253, 45, 30, 30, 30, 98,146, 49,244,151,137, 87,129, 46,158,211,
-189,125, 68,241,216, 62,179,179,134, 36,145,179, 78,161, 80, 90, 49, 25, 79, 88,175, 75, 34, 45,244,165, 2,198,147, 9,125, 47,
- 40,172,247, 94, 28, 89,189, 32,198,102, 52,194, 90,169, 10,111, 58,241,122, 39,153,164,147,198,102,112, 57,121, 79, 28,197, 84,
-205,138, 16, 68, 35,166, 52,244, 77,207,198,198, 6, 23,101, 46,109,211, 50,153, 22, 68, 58, 70, 43, 45, 41,165, 26, 22,171,133,
-252,185, 38,197,245, 61, 89,118, 17,136,227, 72,211,152, 81, 38,113,178,117, 93, 19,169,128, 34,193, 7, 79,145, 20, 4, 29,240,
-206, 98,123,177,220,181,173,240,235,206, 57,186, 89, 43, 25, 45, 90,188,247,105,154,146,133, 20,111, 2, 65, 65, 91,215, 4,175,
-168,214, 21,105,150,128,146, 90,113, 34, 9,183,233,123, 41, 86,139, 34, 77,150,102,148, 77,245,200,174,109, 46,210,104, 34, 37,
- 98,149,225, 46, 7, 2,174,151, 73,196, 4,168,235, 53, 74, 69, 44,151, 75,225, 51, 52,162,152, 79, 98, 50,159,211,183, 29, 65,
- 41,154,170, 38, 75, 51,244,176, 29, 71, 70, 26,119,242,209, 8,156,163, 30,184,197, 85, 89, 50, 46, 68, 92,215, 91,199,198,198,
-198, 35,174,188,105, 91,226, 56, 38, 49,134,173,173, 45,130, 23,200,163,105, 26, 66,164, 25, 79,198,120,103,153,140, 71,104, 37,
-112,120,164,245,224, 15, 86, 67,104,135, 92, 96,163,241, 8,235, 45, 93, 59,252,254, 16,104,251,142, 81,158,203, 69, 48, 30,163,
- 35,141,237, 36,229, 39,137, 83,241, 16, 58,143,181, 61,182,233, 8, 97,232,203, 86,138,196, 72,171, 14, 4,240, 16,116, 32, 4,
-135, 14, 82,181,105,219,150,209,104, 68,185, 88, 81,213, 18,237, 58,158, 76,136,148,180,210, 9, 34, 34,177,147,180,173,164, 84,
-121, 79, 91,119, 52, 93, 67,146,165, 76,141,136,255,116,148, 96,187,134,166,235, 5,238,209, 96,147,140,239,156, 91,222,172, 18,
-254,191,123, 45, 33, 64,232,164,146,243,137,141, 64,145,104,180,237,120,118, 47,103,219,244,108, 25,152,154, 64,100, 12, 69, 18,
-120,253,141, 35,154,166,225,234, 19,151, 88,173,106, 66, 93,115, 84, 90, 94, 61, 44,217, 25, 41,188,210,172,215, 13,235, 14,124,
-170,249,242, 61,195,126,218,115,117, 75,177,177, 57,229,218,200,240,179, 63,242, 65,158,125, 98,135,255,227,107, 51,254,224,139,
-103,180, 71, 45,238,160, 36, 40,153,134,219,186, 6,173, 81, 33, 48,217,216, 32,205, 82, 52, 74, 2,134, 42,201,218, 87, 64, 63,
-188,204, 73,146, 64, 16,126, 53, 73, 83,161,106,198, 99, 25,236, 66,160,107,231,172, 86, 43, 81,200, 42, 37, 16,150,119,164,121,
- 70,156,166,108, 38, 9, 40,134,103,230,136, 34,233, 66, 78,146,100,176,140, 40,146, 52, 70, 34, 22, 21, 74, 27,186,108,194,231,
-223,132,231,190,254,128, 79,189,255, 42, 95,125,237, 33,127,246,250, 67,234, 85,207,103, 95,124,154,103,174,109,242,163, 47,222,
-224,247,191,118,159, 63,251,202,109,138, 88,241,212,227,219,124,223,247, 60,193,205,249, 45,206,150, 45,214, 42, 90, 23,248, 43,
- 31,188,204, 63,254,165, 95,164, 89,207,120,233, 27,175,241,167,183, 23,124,233,181, 99,188, 82,120,231, 97, 72,199,170,202, 18,
-173, 20, 87,175, 93, 97,107,156, 99,189,231,225,209, 41, 85,221, 16,199, 49, 91,155, 91, 44,203,146,170,174,121,226,177,171,236,
-239,237, 82, 85, 21,109, 39, 10,224,224, 47,104, 41,133,175, 61, 93,215,241,224,225, 49, 93,215, 49, 29,143,169,219, 26, 99, 18,
-180,130, 75, 59, 59,168, 40,226,242,254, 14, 39,231, 51,230,243, 5,206, 57, 38,147, 41, 31,124,207, 11, 28, 28, 29,203, 64, 21,
- 44,109,219, 12, 69, 25,142, 7, 15,143, 73,140,225,185, 27,207,240,236,147, 79,136, 11,197,118,204, 22, 75,154,186, 33, 82,154,
-197,114,197,253,240, 96, 8,250,128,141,201, 8, 23, 2,103,243, 5,203,178, 36,120, 73,212,235,250,134,170,145,184,231,170,233,
-184,188,231,217,222,220,160,208, 26, 19, 25,234,182,148,243, 70,105,210, 98,132,117,142,186,110,112,214,177,174, 42,218, 94,188,
-196,251,241, 54, 86, 41, 34,173, 25,101,153, 12, 75,218,209, 59, 57,124,227,170, 98,214, 30, 17, 5,141,117, 45,147,241,152,213,
-106,197,124,126,206,222,165, 43,160, 44,143, 61,126,149, 94, 93, 7,150,188,254,245, 95,231, 91,125,133, 34,112,237,157,159,198,
-135, 30,187,190,207,238,165,235,212,179, 55, 88,204, 78,240,221, 28,163, 44, 89, 82,112,116,240, 54, 62, 60, 73,154, 38, 36,169,
-161,109,196, 67, 92,174,107, 70,147, 17, 79,109, 77,176,221, 54,171,213,132,108,114,202,253,215,255, 41,191,245,223,252, 3,174,
-252,114,207,187, 62,214,114,118,111,196,171,175, 28, 17,127,254, 18, 31,248,143,231,252,210, 43,191,203,127,251,158, 79,113,248,
-214, 31, 0, 9,113,154,226,180, 67, 57,197,217,241,235,184,222,113,249,234,117,178,145, 39,213,158,174,174, 8,229,109,108,245,
-128,104,244, 62,116,156,211,184,138,245,209, 67,154,229,219,172,231,183, 24,111, 62, 77,150,239, 82, 87, 43,178,241, 62,237,114,
- 78, 89, 30, 96,187,154,174, 60,163,107,206,137,182,159, 99,118, 55,112,231,117,197,253,131,151, 89,158,221, 98,189,126,128,214,
-154,237,167, 62,196,187,174,253, 32,223,247,233,255,132,249, 44,240,210,111,253, 58,103,103,175, 98,219,115, 66,190, 32,217,219,
-192, 30, 88,130,111,177, 58, 33, 10,138,208, 45,105, 92, 3,244,132,182,199,211, 19, 97,241,125, 67, 87, 41, 50,237,169, 14,206,
-232,168, 48,161,195,108,104, 70,163,156,126,240,148, 55,117,131,243,210, 33, 97,140, 38,203,114,198, 69,193, 98,189, 20,113,178,
-142,112,206, 19,130, 34, 43, 10,148,247,196, 70,236,205,178,108, 9, 31,239,157,151, 14,117, 19, 40,215,107,242, 52, 25, 40, 97,
- 9,207, 49,198,144,229, 35,214,171,149, 44, 85, 3, 10,185, 94,175,152, 78,167,128,108,196, 4,201, 14, 24,143, 71,120,165, 48,
- 90,122, 79,234,186, 38, 78, 83,148,146,168,218,216,136,229, 25, 20, 93, 43,129,102,137,201,136, 19, 45, 3,136, 86,216,208,211,
- 44, 91, 92, 16,101,124,156,136, 48,244, 2, 21,151, 65,160,161,139,122, 82,159, 19, 69, 6,235,123,186,186, 71,233,239, 6,186,
- 5, 47,176,127,219, 53, 82, 80, 19, 2,145,210,132, 8,146, 84,154,217,186,174, 37,142,228, 12,213, 58, 34,186,254,244, 51,159,
-147, 43, 28, 34, 45,214, 0,231, 3, 90, 73, 72, 76, 18,137,194,123,189, 46,169,170, 26,231, 29, 23,246, 26, 99, 34,186,182,131,
- 16, 72, 19, 67,219, 43,178, 60,195, 43, 15, 74, 38,136,166,105, 6,249,189, 35, 78, 50,180,209, 34, 16,240, 18, 92,223, 15, 34,
- 57, 9,250, 55,143,120,175,174,151,139, 58,138,244, 35, 27,156, 7,108, 8,143,224,109,173, 68, 60,145,166,169,124, 49,156,244,
-241, 94, 60, 80,231, 28, 93,215,161,149, 84,212, 69,145,196,240, 37, 81, 76, 64,120, 71,173, 65,161,105,218,150,200, 68,195,139,
-160,229, 65, 15,158,118,165,196, 3, 89, 85, 21, 74,137, 71,176,183,146, 36,148,198,241, 35, 56,185, 11,129, 60, 73, 4, 25, 8,
-129,136,239, 54,120, 53,141,244,223,250,190,151,225, 3, 30, 77,137,117, 93,211,116, 50,197, 69, 90, 99, 18,185,128,170,114, 61,
-248,159, 37,160, 71,134, 11,105, 43, 34, 64, 62, 46, 72,147,148,222, 5, 44,138,133,143, 89,153, 9,231,161,224,205,117,194, 43,
-205,148,159,248,200, 85,222, 58, 91,241,157,163,150,149, 74,121,187,116,140, 47,239,243,176,134, 54,210,236, 95,127,140, 19, 31,
-145,239,239, 50,218,223,165,247, 49,155,219,155,108,110,111,243,194,149,109, 62,116, 99,194,203, 15,215,188, 50,131,247, 63,190,
-205, 7,174,109,242, 61, 31,122,146, 63,191,189,230,191,254,119,119,135,119, 5,186,222,226,113,196,137,160, 17,182,109,101, 24,
- 83, 18,209, 40,150,164, 24,173, 35,226, 88,178,142,219,182,165,235, 59,234,166,166,169,106,170,186,198, 12,239, 77,215, 75,113,
-130,247, 14,147, 36,180, 93, 39,124,146, 18,113,203,120, 50, 38, 73,146, 97,250, 85,180, 93,135, 49,137,108,118,198, 72,104, 68,
-156, 80,149, 53,222,203, 80, 38, 48, 94,205, 69, 45,106,221, 58,254,240,173, 37, 87, 70,138,207,188,247, 42,239,189,177,203,245,
-171, 19, 78,207, 74, 38,211,132, 44,141,121,254,169, 45,174, 95,154,242,214,173, 19,226,113,138, 27, 77, 24,133,192, 56,209,252,
-216, 15,190,192, 31,126,251,144, 59,183, 79,249,235,239, 79,201,187, 25, 79,110, 41,246,167,134,175, 30,116, 40, 37,207,141,225,
- 32,113,206, 17, 71, 17, 65,107,222,251,204,147,108,111,110,241,220, 51, 79,114,121,127,159,253,221,109,178, 52, 97,148,201,176,
- 73,240,162, 93,201,114,225, 5,135,119,166,172, 27, 41,251, 24, 50, 19, 86,213, 26,130,232, 92,198,197,120,208,126,104,230,235,
- 53,199,167,167, 52, 77,143,138, 52, 27,211, 41,105, 18, 99,189, 99, 99, 60, 98, 99, 50, 25,172,151,163, 65,196, 38,190,223,229,
-122,205,124,181, 36, 77, 82,138, 60,199, 68,154,243,243, 57,179,197,146,186,109,168,234,230,145, 69,117,216, 10,232,251,158,217,
-114, 77, 83,213,244, 67, 46,246, 69,135,252,149,189, 93,242, 44,101,190, 90,163,148,100,224, 43,229,241, 33, 32,121, 20,138, 60,
-207,196,182,167,165, 84, 67, 43,205,168, 16, 11,169, 15, 98, 95,210,132, 71,223, 51,239, 61,145,145, 36,178,222, 5, 84, 4,164,
- 59,120, 28,179,217,156,182,119,148,101,195,179,207, 62,203,184,216, 36, 47,114,146, 56, 3, 29,209,217,138,213,249, 33, 77,121,
- 74,181, 58, 96,117,242, 6, 17,107,188,147,152,219, 52, 10,104,223, 16,186, 21,137, 86, 20,121, 74,221, 59,162, 40,112,118,118,
-198,106,189,166,200,115, 70,227,124, 88,114,214, 88,235, 8, 90, 17, 69, 41, 6,199,242,228,109, 30,190,253,103,252,203,255,253,
- 53,190,252, 71,142, 7, 15,238,113,239,141, 47,176,255,252, 71,249, 59,239,203,184,229,225,217,231,127,154,189,107, 63, 78, 18,
-107,150,103,183,137,226, 13,176,107, 92, 91,211,172,143, 89,156, 31, 82, 87, 53,117,121, 78,189, 56,199,186,142,221, 43,151,152,
-157,158, 50, 63,126,147,227,155, 95, 98,126,118,147,166, 60,161, 24, 95,230,169,247,255, 36,251,151,223, 71,190,181,197,104,122,
-137,174,153,179, 56,121,147,122,121,192,122,246, 6,193, 57,146,209, 54,101,221, 51, 91,220,162, 46, 79,168, 87, 39,212,213, 57,
-182, 58,197,182,231, 92,187,241, 89, 86,229,138,251, 55,127,159,245,250,129,120,211,155, 25,170, 92,209,172, 42, 38,187, 55, 88,
- 47, 14,113, 77, 5, 64, 62,218, 3,223,225,187, 21,202,246,152, 44, 37,210,150, 34,141,217,217,217,165,237, 61,171, 85,141,237,
-150, 96, 59, 18, 12,147, 34,197,249,142,166,149,250, 93,103, 37,122,220,245, 14,165, 21, 74, 67, 18, 27, 20, 10,231,123, 98, 19,
-201,115,110, 91,210, 60,147, 68,211,166,145, 51,161,105, 37, 31,164,105, 9, 90, 68,215,106, 56,139,162,225,220,141, 34, 77, 80,
-160,149, 65, 33, 67,128,142, 35,240, 98,147,107,234, 86,254, 28, 31,168,235, 18, 41, 10,235, 40,178,161, 25,206, 91,226, 36,166,
- 92, 11, 26,109,134, 37,213,245,130, 26,162, 35,218,182, 37, 47,114, 65, 57,179,140, 60,207,233,135, 64, 29,107, 5,205, 75, 77,
- 78,154,100,228,121, 70,158,100, 36, 89,138,179,158, 56, 78,240,182,147, 62, 18, 20,222, 5,241,189,107, 77,219, 53,164,105, 2,
-120, 17,237, 5,168,202, 53, 89, 38,218,154, 72, 43,113,139,132,128, 13, 2,193,247, 93, 79,116,237,137,235,159,187, 80,131,135,
- 32, 13, 65, 90,107,154,166, 21,158,218, 90,202,170,194,123, 79, 64, 20,170, 70, 27,178, 76,120,205,200, 12, 13, 52, 65, 4,105,
-214, 90,146, 88, 82,229,154,174, 17, 49,157, 86,152,139,254,215, 65, 24,161, 35, 67, 89,151, 56, 43, 54,175, 40,254,110,191,186,
- 49, 82, 38, 99,123, 79,219,117,114,137, 71,154, 72, 9,124, 66, 8,104, 99, 4,146, 11, 34,106, 88,173,214,116,157,132,222,132,
- 32,201, 64,109,219,139,152,174,170,104,235, 26,235,130,228,206, 59,121,112,109, 43, 23,173,116,201, 75, 16, 0, 72,175,109, 8,
- 97, 8,231,207,137,227, 88, 84,150, 94,196, 19,109, 43,133,244,214,246, 16, 46,212,237,154,160, 53,174,119, 52, 85, 37, 60,220,
- 32,208, 75, 18,105,227,105,219,134,190, 23,200,178,110, 27,113, 28,104, 17,129,196, 70,252,238,189,181,104,165,233,186, 22,107,
- 45,197,104, 68,150,103, 98, 53,204, 50, 92,240, 82, 20,160, 68, 37,106, 98,105, 36,138,163, 24,165,165,218,207, 90,139, 87,138,
-143, 92,139,249,235,239, 45,248,194,159,189,205,227,143,109,115,247,193,140, 98,179, 32, 74, 82,186,214,145, 38, 25,165, 15, 60,
-253,248, 14,190,180,168,206, 51, 73, 52, 89, 26,115,109, 26,243,244,165,156, 95,253,210, 61, 14,215, 29,214, 69,252,220,139,215,
-248,212, 39,158,229,164, 51,252, 23,255,246, 30,181,143, 8, 62, 12, 1, 36, 14,165, 60,202,203, 48,164, 77,140,235, 26,250,160,
- 32, 72,114,148, 28,196, 17,205, 0,177, 22, 69, 65,172, 99, 64,211,118, 45,121, 42,150, 41,165,213, 48, 4,201,159,107,226,139,
-254,225,140, 16, 4, 81,202,242, 28,208,131,226, 83, 4, 88, 58,138,208, 90,160,218,222,246,146, 42, 21, 44, 40,105,238, 19,248,
- 77,129, 10,104, 29,147,166, 6,175, 34, 94, 58,232,185, 62,106,120,108,119, 66,145, 37,236,239, 20,130, 36,184, 64,239, 61,155,
- 27, 99,158,125,106, 31,215, 91,110, 61,152,227,231, 43,222,113,117,139, 75,211, 2,187, 90,178,181,145,242,217, 23,159, 65,197,
- 26,235, 33,198,243,213,187, 11, 14,207, 75, 8,158,206,182,164, 38, 25, 98,148, 13, 40,184,126,105,151,219,119,239, 97,189,167,
-110,234, 33,134,185,230,116, 49,167,170, 27,146, 56,230,225,209, 49,171,178,228,224,225, 17, 15, 79,207,168,155,134,211,243,115,
-150,203, 53,117,221, 80, 14, 91,173,208, 85,226, 48,145, 38, 67, 79,150, 74,226, 96,100, 52, 33,120,242,225,221,246,206, 51, 95,
-174, 56,159,207, 57,157,207,121,112,116,202,170,148,195,108,177, 92, 81,213, 13, 16,184,188,183,199,100, 44,221,214, 23, 91,195,
-100, 52,126,164,230, 79,210,148,205,201,136,141,233, 20,173, 7, 20, 74,139,232, 76, 71,134, 0, 92,221,223,227,137,107, 87,208,
-145,216, 60, 79,102,231,204, 22, 11,140,137,137, 77, 44, 72,152,243,116, 93,143, 15, 66,189,229,113, 66,154, 37, 84,117,195,217,
-124, 78, 85,215, 98, 27, 76, 18,162, 72, 44,176, 4,209,245,152, 40,134, 72, 14, 66,148,161,243, 25,243,249, 57,193,123,166,147,
- 17,157,237,135,214,197, 30,231, 97,117,126, 74,228,155, 65,253,125, 68,183, 62,198,219, 5,202,247, 16, 52,193,117,232,216, 80,
-140, 71,140,198, 19,210, 98,196,178, 92,146, 38, 9,193, 6,146,193,207,127,116,116, 68, 85,137, 23,122, 52, 30,211,117,142,217,
-108, 54,124,239,115,214,171, 5, 69,220, 16,181,119, 56,185,243, 59, 60,120,227,119, 57,189,253, 69,110,127,253, 37,110, 53,255,
- 17, 63,241,177,158, 79,222,208, 60,224, 18,233,228, 67, 60,245,158, 31,230,195,159,250,175,248,193,159,249,199,236, 62,249,163,
-188,246,231,191,134, 11,146,207, 17,186, 14,175,160, 90,156,211,181, 37,121,210,176,154, 29,208,148,167,180,245, 57,116,115,130,
-210,100,147,199,233,108,197,236,228, 38,179,243, 91, 44,207,238,178,120,240, 13,214, 39,223,196,117,107,118,175,127,130,113,182,
- 77, 90,108,178, 58,185,203,114,118,139,245,252, 62,125,179,162,171,239,179,154, 29,144, 77,159, 98,181,188, 71, 85, 30, 97,155,
-146,190,155,227,250, 21,190,159,161, 53,140,118,222, 69, 94,236, 10, 31, 29, 37,164,197,132,224, 59,250,186, 36,205, 99,124, 39,
-165, 95,197,104, 76,219,181, 66,193, 42,133,107, 86,120,111,201, 76,198,246,214,136,186,153,211,219, 22,239, 44,109,215, 83, 20,
- 57, 38, 75, 41, 75,161,248,180,142,113,206, 2,138,217,233,140,172,200, 0, 68, 17,222,201,125,161,181, 68,133,151, 85, 35, 75,
-143,214,244,118, 16, 66,218,158, 72, 71,152, 56,162,235, 44,145,150,193,192, 68,241,208,153,160, 73, 82,121,159, 46,206, 24,239,
-122, 84, 36,103,188, 70,145,100, 9, 93,223, 19,156,228,174, 24,109, 32, 72,195,102,211,182,120, 68,251, 37,100, 53,160,196, 91,
-158, 38,153, 12, 20, 94,203,103, 72, 98,210, 56, 38,138, 13,209, 48,160, 92,228, 88,228,121, 70, 60,116, 58, 84, 85,137, 82,138,
-170, 90,203,249, 25,137,176,187,109, 26, 46,234,156,181, 70,190, 43,120, 70,121, 65,223,203, 61,165, 53, 72, 79,139,160, 0,209,
-227, 79, 62,245,185, 72,171, 65,189,106, 36,123, 92, 43, 80, 74,254, 81, 1,242, 44, 38, 49, 41,121,145,201,135,138, 36, 72,191,
-170, 74,162, 72,252,219, 38,210,120,157,200,164,100, 37,180,223, 59, 47, 31,160, 40,104, 58, 73,229, 17, 78, 25,210, 52,126,228,
-225,139,227, 88, 90,167,218, 22,148, 76,236, 23, 28,100,150, 37, 24,147, 16,199,178,237,121, 36,154, 86,161,112,189,101,181, 30,
- 96,110, 96, 60,154,160, 81,100,133,148,179,120, 4,125,104, 26, 81, 7,134, 16, 96,168,150,141, 34, 9,206,183, 85,133, 11,138,
-201,116,140,235, 3,253,192,245, 37, 38, 65, 27, 77, 85, 87, 36, 73,130,117, 98, 23,184,200,234, 77,210, 4,105,208,145, 90,206,
-166,109,232, 7, 24, 8, 2,113, 18,227,131, 88, 37,186,190, 35, 56,249,117,164, 34,172,147,162,123,239,189, 12, 33,195, 38, 89,
- 87, 13, 73,158, 80,150, 21, 23,181,180, 89, 33, 74,207,170,174,240,202,147,167,133,252,187,162, 24, 53,188,233,129, 64,231,228,
- 69, 86, 74,146,187, 66,215,242, 79, 62,115,141,215,190,249, 22,223,252,250, 27,156,246, 70, 46, 43, 29,161,202, 30, 95, 85, 20,
- 17,236,239,142,121,229,173, 19,178,166, 98,172,122, 46, 79, 83,186,166, 35, 9,158,127,246,135,119, 56, 90,183,216, 30,174,108,
-166,252,207,127,255,175,176,116,240,247, 62,127,139,219,103,149, 12,110, 77, 75, 22, 39, 16,137,157,163,233,106,121,217,116, 16,
-232, 89,121,178, 34,151,144, 9, 45, 95, 1, 63,100, 22, 95,212, 17,246, 3, 42, 99,146,152,174,105, 64,235, 1, 1, 81,131,187,
- 64,225,250, 94, 4,112,113, 76, 59,160, 26, 93,215,226,156,195,133, 48,240,215, 61,146,108, 24,136,180,162,181, 61,227,209, 68,
- 6,206,174,195, 6,113, 67,120, 2,145,209, 40, 21, 73, 67,148,243,252,241,205, 57, 55,166,129, 23,158,216,166,108,122, 17, 70,
-133, 0, 65, 81, 55,162,148,221,155, 36,188,176, 99,184,114,117,135, 91, 71, 53,166,169, 57, 89,212,204,208,252,240, 71,158, 98,
-111,115, 68,221, 57,138, 84,168,167,151,238,150,148, 85, 73,132,162,110,106,148, 14,104, 37,220,163, 15,138, 44,138,120,229,230,
-155,220,186,115,151,195,147, 51,102,139, 5,135, 71,199,204,230, 11,238, 31, 30,113, 58,155,115,116,122,198,124,185, 98, 85,150,
-178, 45, 55, 45, 93,223, 63,138,107,222,152, 76,184,188,191, 39,223, 23, 29,177,177,187, 75, 49, 25,203, 80,170,101, 0, 55,198,
- 12,195,208,176,185, 16, 48,209,208,107,224, 29,103,179, 25, 7,135, 71,172,171,154, 11,120,114, 49, 64,149, 69,150,179,179,181,
- 69, 80, 18,224, 52, 95, 45,105,187,158, 36, 54, 92,185,114,137, 43,219,219,152, 68, 54, 36,231, 60,214,123,156,119,204,206,231,
-188,126,251, 46,227,124,196,254,206, 22,105, 42, 8,206,233,217,140,217, 98,201,195,147, 99,230,139, 37,199,103,231,204,151, 43,
-250,129, 39, 77,147,152,178,106, 36, 52, 42, 4,154,182,101,177, 90, 49, 91, 44, 89, 87, 53,222, 89, 70,121, 78,150,166,120, 47,
-136,157,216,146, 26,210,233, 62,155, 91,155, 52,229,138, 40,214,132,160, 57, 61, 57,130,225,123,145,100, 9,109, 35, 97, 77,147,
- 34, 35, 78, 13, 58,244, 24, 35,142,129,243,217,154,227,195, 59, 44,207,142, 56, 60, 58,225,248,232, 1, 93,211, 48, 30,141,233,
-172,124, 87,139,162, 96, 60, 26,227, 92,201,106,177,226,244,252,156,201,120,194,214,214, 54,145,246,180, 14, 98,147,202,153,163,
- 20,163,209,148,237,173, 41,151,246,246,217,220,119, 28, 61,120,153,127,245, 91, 45,183, 86,239,100,227,131, 10,123, 47,231,225,
-189,183,248,232,139, 79,176,179, 27,152,108,237, 51,218,249, 48,247,223,248, 19,218,245, 49,232,152, 72, 27,140, 73, 88, 47,142,
-169,150,103,104,191, 68,133, 6,215, 28, 83,151,231,168,126,142, 86, 45,203,249, 67,170,179,251,156, 31,124,153,213,209, 55,168,
-151,183, 73, 70,251,236, 94,255, 56,239,122,255,207, 82,164,219, 60,245,194,243,236,237,190,139,227,163, 59, 44, 79,223,160, 93,
-221,161, 57,123,157, 98,242, 52,147,189,119, 18, 97,201,199, 59,172, 23, 15,104, 87,119, 9,118, 69,219,159,226,109,198,120,231,
- 6,251,215,191,159,235,239,248, 4,219,143,191,143,182, 60,167,173,142, 9,190,167,199,144,196, 26,232, 25,101, 6,235, 32, 50,
- 9, 85,125, 6,173,160,165,211,105,193,114,249, 16,219,183,100,121, 46,225, 95,163,130,170,108, 72,146, 24,112, 88,235, 72, 19,
-131,183, 22,107,165,182, 56, 47,114,209,211, 84, 53,189,237, 49,137, 80,118,203, 82,212,239,121,150, 19,153,132, 36,145,226, 49,
- 99, 12, 33,210, 4,239, 73,211,140, 60, 17,158,187,183, 14, 21,164, 19, 61,138,227,129,163,239, 40, 70, 5,206,123, 70,163, 17,
- 73, 28,211, 13, 17,177,121, 94,128,146, 69, 45, 54,154,182,151,134,207,216,136,230, 9,148,200,163,188, 27,218, 66,229,251, 85,
-150,149,156,127,214,203,121,166,244,163, 0,154,246, 34,221, 52, 72,244, 45, 12,231,181, 10,172, 6,103, 73,211, 52, 88, 43,193,
- 86,197,104,132,119,110, 8, 70, 83, 40, 31, 30,157,147,214,245,168, 72, 65, 80,196,198,160,148, 36, 47, 70,143, 93,191,254, 57,
-165, 53,200, 2,131,117,158,216,200, 95,134,247,100, 89, 70,211,246, 36,169,108,206,177, 49, 18,159,167, 21,120,143, 13,110, 8,
-252, 16,222, 54, 4,233,148, 14, 46,144,141, 10,226,200,224, 58,139, 49, 9,193, 13,226,167,216,160, 34, 45,121,182,182, 35, 75,
- 51,218,190, 37,248,128, 29, 96,237,174,235,176,206,146,101,169,108,129,195, 67, 98, 56,192,215,171, 21,101, 85, 14,246,129,152,
-209, 40, 39,104,141,209,145, 92,254,214,177, 90, 47,209, 65,242,234,139,241,152,241,104, 68,158,229,128, 52,228,164,105,138, 87,
-138,241,116, 76, 20, 69, 92,228,242,218,206,138, 7,223, 65,154, 9,199,107,140, 28,142, 10,201,181,191,224,123,173,181, 52, 67,
- 56, 65, 8,129, 98, 60, 66, 69,234,223,203, 9, 63, 9, 75, 0, 0, 32, 0, 73, 68, 65, 84,207,111,170,134,222,246, 4, 37,151,
-212,120, 60, 38,207,115,148,252,216,209, 90, 81,215,173,240,194, 54, 48, 29,143,232,173,101, 84,140,228, 50,114,194, 59, 37,137,
- 12, 77, 10,217, 76,211, 44, 39, 78,100,211,205,179, 12,107, 61, 62, 56, 92,223,243,193,235, 83, 62,126, 69,241, 23,247,214, 44,
-108, 76,148, 68, 60,117, 73,244, 3,213,172,100,127,175, 96,188, 53,226, 75,183, 78,217, 75, 35, 82,235,217,154,102,196, 33,144,
-230, 49,255,227,151,239,115,127,222, 16, 71,154,186,131,255,225, 23,191,143, 43, 91, 35,254,206,111,222,227,238, 66,218,200,100,
-192,113,100, 69, 38, 23,110, 36,185,248, 42, 40,186,178, 68,235, 8,156, 39, 49, 18,121, 88, 87,149,124, 1,252,197,151, 74,126,
- 61,153, 78, 6,136,171,196, 13,238, 3,169,195,149,173,188,235,186, 71,112,237,186, 90,227,157, 80, 43,192,144, 90,152, 12,195,
-102, 44, 83,183,119, 36, 73, 74,240,129,174,235,136, 35, 25, 24,146, 56, 17, 58,196, 57, 20,154, 44, 75, 72,147, 76, 56,235, 16,
-241,218,237,135, 28, 30,157,243,193,103,247,112, 94,188,212, 90, 11,186,212, 44,215, 60, 60, 56, 98,243,210, 37,174, 95,223, 99,
-190,110, 80,235,134, 47, 31,158,145,228,134,127,241,123,175,242,246,237, 51,126,251,171,119,249,228,251, 31, 99, 51,143,248,163,
- 55, 78, 89, 53, 94,168, 35,107,233, 26, 41, 21,234,122, 75, 99,123, 54,243,130, 34,207,232,123,203,168,200,169,235,150,205,233,
-132,221,237,109,210, 56, 38,205, 82,182, 54, 37, 76, 35,207,114, 54, 38,242,222, 84,117,205,104, 52,226,198,147, 79,112,245,242,
- 37, 2,130, 76, 41, 4,137,218,185,124,153,237,221, 29,116,154,162, 99,121, 38, 1, 65,158,188, 15, 92, 84,197,234,129,102,210,
- 81,132, 15,129,190,151,129, 22, 36, 44,230,124,190, 96, 54,159,163,149, 38, 54, 17, 77,215,211,181, 61, 77, 39, 54,157,174,179,
- 28,158,158,242,224,225, 17,214, 9, 77,180, 88,172, 57, 61,159, 83, 14,158,246, 7, 71, 71, 88,107,217,217,222,100,127,123,139,
-221,237, 45,182,166, 83, 46,237,237,145,165, 9,167,231, 51,170, 90,162,102,211, 84,138,153,138, 44,103, 52, 42,200, 83,105,106,
- 12, 65,134,237,182,109, 89, 87, 53, 77,219,162, 35,121,207,162,225,255,107,173,176,253, 10, 19, 79, 24,109,108,163,157, 35, 73,
- 97,111,111,159, 36, 78,105,218,154, 44,205, 41,178,148,211,243, 99,140,201, 8,192,100, 58,197,117, 45,243,249,138,107,207,253,
-135, 60,245,238, 31,197,121,199,106,113,128,107,151, 4, 20,214, 71,168,200, 8,197,228,123,156, 21,157, 64,106, 32,224,153, 47,
-214, 84,101, 73, 62,158, 50,202,115,146, 56,198,217,142,166,174, 7,209,167,156, 19, 93,227,104,150, 15,208,213,107,124,231,207,
- 62,207,183,254,205,203,220,125,243,203, 60,120,235, 43, 52,230, 6, 63,251,115, 35,174,221, 48,180,179,167,185,246,158,159, 34,
-219,216,162, 94,157,177, 58,123, 11,103, 7, 61, 80, 61, 99,189, 92, 48,159, 29, 83,151, 43,218,186,100,185,156,225,218, 53,169,
-169, 9,110, 5,174, 71,227, 81, 10,188, 45,113, 42,166,152, 92,197,134,192,157,155, 47,179, 88, 46, 89, 46,110, 82,207, 95,161,
-155,223,164,179,138,231, 62,242,183,185,122,253, 69,162,108,194, 11,239,255, 33,130,154,208, 84,247,153, 63,252, 22,213,236,140,
-189, 39,191,159, 27,239,255, 27,220,120,238, 47, 17, 66,130,237, 78, 9,225,148,106,118, 31,219, 59,242, 52, 33, 73, 32, 56, 79,
-239, 53,231,179,115,156,183, 20,105,193,214,206, 46, 79, 62,253, 24, 85,179, 32, 73, 98,218, 78,242, 6, 70,227, 17,206, 65,219,
-212,152,120,208, 44,165, 41,182,151, 2, 23,173, 53,197,100,132,210,122,184,108,123, 57, 27, 8,104, 68,255,212, 59,247,200,134,
-230,125, 24,150, 55,169,229,206, 82,217,154,219, 78,238,145, 56, 54,232, 40, 22, 29, 71, 16,109,149,237, 45, 89,146,224, 93, 32,
-203, 11,218,166, 37, 47, 10, 65,112,181,145,184,226, 84,144, 71,133,148, 23,121,235, 72, 50,137,129, 77, 98, 67, 58,160,185,202,
-122,210, 44,197, 5, 79,112, 1,147,198,143, 80, 65, 51,160,148,242,201, 3,125,215, 62, 66,168,154, 70, 10,210, 66,240, 2,173,
-183, 13,218, 24,210, 84, 4,227,113, 28,147,166, 41,125,223,147,100, 41,113, 28, 99,251,142, 56, 78,200,226,148,139, 52, 61, 29,
- 71,242,157,184,250,248,227,159, 83, 74,161,144, 47, 58,128, 4,250,119, 4, 37, 28,181,137, 69, 25,222,247, 61,104,169, 36,245,
-206, 97,210, 20,223, 59,170,186,161,235, 45,125,215, 2,210, 92,131,146,182, 25,201,209,149, 90,185, 52, 77,136,141,168,215,219,
-174,195, 89, 43,255, 88, 19, 1,154, 8,169,105,236, 58, 41,200,200,243,156,222, 58,180,138,104,187,150,178, 44,105,154,134,182,
- 17,129,197,133,232, 32,132,128,245, 14, 29,228, 18, 14, 33,176, 44, 75,250, 33,191, 30, 16,110,114,176,149, 85, 77, 45, 92,176,
-214, 76,166,147, 71, 60, 73,223, 58,218,190, 37,205,133, 62,232,218, 22,180,252, 80, 9,208,214, 45, 85, 61,192, 36,107, 17, 48,
- 69,177, 8,250, 76, 28, 51, 46, 10,208, 32, 17, 2,158,182,110,137,147, 88, 46, 7,165,240,206,202,101,156, 74,101, 95,108, 98,
-140, 73,176,214,163,209,228,227,156,120,240, 55,102, 3, 47,211,245, 29, 65,228,177, 2,249, 40, 45, 47, 46, 16,233,136,186,145,
- 2, 19, 17,108, 24,186,174, 37,207, 11,126,226,221, 25,245,186,228,164,234, 89,174, 26,246, 70, 25, 81,172, 88,247,129,189,189,
- 49,227,113,193,205,179, 10,223,116,108,116, 61, 86, 5,118,115,195, 31,223, 93,240,191,126,249, 1,139,186, 35, 85,154,211, 6,
- 62,250,174, 29,254,201,207,124,146, 95,250,205, 59,124,251, 97,135,142,228,115, 68, 70,252,227,105,146, 12,162, 23, 79,156, 24,
-218,166, 69, 25,131, 27, 54,106,235,196, 61,160, 7,142,220,249, 64,145,231,164,105, 78, 81,100,212,173,216,154,130, 12,191,160,
- 20,163,241, 88,166,236, 60, 39, 73, 18,121,238, 3, 7, 28, 25,177, 65, 78,167,211,193, 11,218,147,198, 41,145,249, 46, 95,223,
-116, 50, 44, 74,246,186,167,110,154, 71,207, 52,205,114, 18, 35, 81,199, 90, 71, 82, 1,153,165,140,178,132,247,108, 6,222,255,
-142, 75,244, 46,160, 99, 77, 20, 2,202, 40,210, 81,198,100,123,155, 16,107,180,247,124,253,246, 41, 7, 51,113, 53,164, 69,198,
- 26,207,201, 89,205, 91, 7, 11, 62,251,226, 13, 54, 70, 49, 47,222,216,102,119, 58,226,168, 12,180,206, 93,184, 65,137,147, 4,
-111, 29,135, 15,143, 72, 76,196, 83,143, 95,227,241,171,151,216,222,220,224,210,222, 30,151,119,183,217,221,217,230,242,222, 46,
-219,155, 27,108,109, 78,201,210,132,221,173, 45,182, 54, 54,112,214,178,183,189,197,222,246, 46, 33, 56,113,114, 12,223, 95,111,
- 45,221, 64,219, 20,163,156,241,120,196,104, 50, 97,178,185, 73,148, 37, 68, 38, 33,138,227, 65, 4,235, 8, 32,207, 82, 75,143,
-129,136, 64,191,251, 95,150,101,196,137, 33, 75, 83,138, 60, 37, 79, 19,182, 54, 55, 48, 38,226,244,124,198,114,181,102,185, 46,
-153, 45, 22, 88,231,217,216,152,112,109,127, 23,133,162,119, 78, 16,186,174,103, 58, 30,147,198, 49,227,201, 68,108, 57, 0,136,
- 11,163,109, 27, 58, 59,244, 79, 88, 75,154, 9, 18,103, 34,205,198,120,204,230,116,202,222,246,150,244, 26,148, 53,139,229,138,
-211,243, 25, 0, 23,141,143, 62,120, 82,173, 8,253,156,216, 87,178,233,147, 14, 72,144, 29, 80,165,154,243,249, 57, 4,197,206,
-238, 46,203,245,138,174,233,208,145, 97,115, 99,131,233, 19,239,100,243,242, 71,217,127,252,163, 92,190,254, 81, 76, 86,176,154,
-221,163,111, 86,152, 88,150, 1,173, 60,109, 39,154,161,174,115, 56, 63,124,219,131, 99,126,122,204,249,217, 67,234,182, 97, 58,
-221, 96, 50,153,226, 66, 96, 62,159,179, 92, 86, 98, 95, 11, 17,193,247, 60,113,117, 11,215,220,161, 61,255, 54,171,147,111,240,
-240,173, 63,226,203, 47, 63,205,139,127,237, 50, 31,123,111,224,240,222,148,100,251, 35, 92,127,239, 15,240,158, 15,253, 45, 62,
-252, 3,255,128, 15,126,242,151,248,218, 31,253, 79, 4,101, 73,227, 92, 56,104,165, 8, 65, 81,119,115,214,231, 71, 52,205, 26,
-250, 37,101,121, 78, 87,173,113,174, 34, 43, 70,144,102,172,151,199, 60,184,245,219, 28,188,250, 27, 52,103,175,210,206,239,208,
- 86, 53,147,107, 31,102,247,234,247, 48,221,188,193,237,155,255,150, 59, 55,255,148,249,201,183,177,237,219,172, 86,247,137,204,
- 6,187, 79,254,101,118,175,126,148,117,249,144,131,219,127,192,234,236, 14, 76,206,113,103,119,177,173, 34,137, 3,203,243, 83,
-154,166, 98,126,118, 76, 26,199,100,121,202,229,203,151, 24,143, 38, 24,147, 81,213, 75,218,182, 39,142, 21, 70,105, 84, 36,124,
-180,240,216, 45,109,219, 19,188, 32,177, 93, 47,177,222,125,223, 17,199, 17, 74, 73, 92,170,137, 83, 18, 19,225, 81,172, 6, 21,
-250,104, 52,162,243,150, 44,201,176,182, 35,207, 11,146, 36,197,245, 29, 77,223, 13,195,172,108,187,145, 82,180,253, 96,143,236,
- 44, 62, 4,188,135, 98, 92, 96,125, 64, 71, 9,222,139,146,190,237, 59,186,166,195,196,146, 69,210, 54, 50, 4,184,193, 70, 86,
- 55,210, 50,231,125, 0,239, 49,137,161,115,150, 68, 39, 4, 2,190,183,232, 56, 65, 69,223, 13, 90,138,147, 24,212, 16, 46, 99,
- 7, 13,146,181,162,251, 72, 12, 77, 85,203, 18,231, 61,101, 93, 19,169,139,103, 28, 48, 70, 50, 13,186,174, 69, 71,114, 79, 56,
-235, 9,200, 66,237,144,240,229,104,186,181,253,185,178, 92, 83, 87, 53, 77,223, 62, 18,135, 69, 90,108, 6,178,169, 8, 84,153,
- 13,144,178,137, 13, 77,221, 8,212,233, 68, 16,144,102, 25,145,138,165, 21, 39, 77, 36, 61, 74, 65, 85,215,131, 4, 95,136,125,
-235, 69,157,156,196,178, 93, 73,135,185,168, 73,227, 56,150,203,110,248,162,186,225, 11,175,133,232, 31,190, 20, 8, 7, 99, 34,
-178, 44,163, 40, 50,178, 44,127,196,185,117,141,248, 18,219, 74, 4, 82, 69, 81,200, 75,211, 75,215,174, 15,194,249,166,137,240,
-155,214, 90,130, 18,203, 66,215,181,164,105, 78, 83,214, 67,195,142, 17,200,167,151, 52,162,229,106, 77,215,247,212,117,131,245,
-150, 40,146, 52,187,188, 40, 6,136, 62,224,157,192, 35, 33,132,225, 65, 68,131,175, 58, 34, 56,135,142, 20,125,103,233,109, 47,
- 27,109,111,177,125,199,104, 34,106,239, 36, 78, 8,195, 36,169, 17,104,166,183,189,188, 20, 78,132,127,214, 90, 8,208,245,162,
-126,135, 32, 13, 93,206, 98,116,140,237, 42,126,229, 7, 46,241,197,215,143,233,219, 64, 19, 2,219,153, 38,219,219,100,146,138,
- 40,241,238,193,140,157, 84,241, 67, 31,188,198, 70,166,208,193,115,167,236,249,181,175, 28,224,189, 71, 71,242,242, 87, 1,254,
-233, 79,127,152,187,243,158, 95,253,147, 3, 25,184,162, 88, 4,122,157, 37, 73,100,130,149,109,106,176,237, 41,132,126,208, 10,
-105, 51,210, 76, 38,147,193,115,156,224,156,165,119,223,173, 72, 20,177, 37,140, 70, 35,249,187,141,161,239, 58,156,247,120,239,
- 30, 9,237, 58,219,201,207,171,174, 9, 90,132,103, 98,173, 20, 65,213,106,177, 34, 78,132,163,170,203, 82,166,232, 68,114,195,
- 93, 8, 52,149,116, 27,247,109,135, 40,112, 61,182,147, 65,213,104,131, 51, 25,151,210,150,143, 61,183,135,117,142,166,181,124,
-235,235,119, 48, 81, 68, 49, 22,127,172, 14,240,240,104,206,239,253,197, 3,172, 14,172, 23, 53,135,109, 79,236, 20, 47,236,228,
- 28,172,106,254,234, 71,110,144, 38, 17,153,129, 23,118, 13,159,122,207, 30, 73,146,240,246, 2,226, 56,165,183,242,111,203,138,
- 17,111,190,117, 27, 2,100, 73,194,198,116,204,198,120, 76, 8,210,117, 16, 25, 67,145, 38,152,200, 48, 30,141, 41,138,140,120,
- 24, 92,198,227, 66, 4, 64,128, 30, 10, 79, 76,108,112,206, 82, 87, 21, 73, 18, 19,180, 34, 56,201,106,232,218,150, 56,206, 40,
-138,156, 46, 4,138,141, 13,242,241,148, 56,205, 81,145,108,236,222,123,250, 94, 96,239,139,255, 76, 20,177, 57,157, 14,233,127,
- 82,188, 18,188,103, 93, 86,244,253,144,239,142,108,246,203, 33,213,170,200, 51,182, 55, 54, 80, 90, 44,171,171,117,201,225,209,
- 49,117,215,202,240,154, 74,181,164, 11,210, 27,209,118,146,119,209, 89,233,193, 22,177, 81, 74, 49, 8, 35, 37, 63, 99,160,196,
- 0,175, 2,109,215,138, 82, 62,120, 73,123, 84, 26,107, 29, 77,211,209,119, 53,182, 89, 82,171, 17,248, 64, 20,137, 74,184,105,
- 42,178, 44, 97, 52, 26,211, 84, 45, 71,135,199, 44,203, 37,171,178,100, 58, 25,179,185, 53,225,193,219,223, 98,125,126,135,166,
- 57, 39, 29,239, 51,221,123,146,106,118, 15, 19,123,198,163, 49,125,107, 49,177, 2,235,104,122,241, 58,163, 7, 61,208,208,200,
-229,250,138,197,108, 38,212,139,214,236,110,239,176,185,181,129,119, 18,100,210,117, 45,203,213, 10,208, 68, 38,231,233, 27,239,
- 32, 51,129,179,147,175,240, 23, 47,143,184, 57,127, 1,163, 21,185, 82, 28,188,249, 58, 39,103,119,248,228, 15,127,144,255,242,
-103, 71,204,246,254, 33,175,191,244,219,148,203, 91, 56,215,226, 21, 40,129, 35,145, 52,206,138,245,106,142,235, 45,182, 93, 83,
-215, 37,171,243, 3,210, 80,209, 54, 15,240,109,137,173, 78,137,162,158,201,120,130,199, 96,251, 21, 85, 87, 73, 79,123,187,230,
-244,205,127,199,226,240, 43,180,139, 67, 98,109,208,233, 6, 46, 68, 56, 91,113,118,248, 77, 22,179,155,180,203,183,168, 15,110,
-115,120,247, 54, 58,245,172, 86, 51,218,170,197, 58, 79,148,196, 88, 23, 40,171,134,221,157,109,146, 56, 39,205, 71,244,182,198,
- 24,141, 49, 49,214,247, 84, 77, 11,222, 19,153,136,196,136,110, 38,120, 63,228,129, 40, 26,219, 51, 30,141,168,202,138,182,105,
-192, 43,148,130, 85, 85,210,119, 22,147, 38,210,189, 16, 25,186,166, 69, 41, 77, 8,146, 99, 82, 87,205,240,238, 36,162,215, 73,
-178, 97,227,214, 84,101, 77,219, 86, 52,109, 71, 80,160,252,176,184, 33,225, 96,105,154,146,103,185, 44,158, 3, 68, 15,146, 22,
-122,177,160,118,125, 47,155,187,181, 8,242,107,169, 7, 45,140, 50,226,238,144,214, 79, 11, 62,208,117,162,239,176,214, 98,140,
-148,198, 56,103, 7,175,185,195,152, 68,144, 77,165,176, 93, 79,103,165,137,180,105, 91,218,186,166,170,133,190,150,123, 46,150,
-140,251, 94,218,225,180,209,164,105,246, 72, 12, 30,237, 93,190,244,185,206, 74, 3,153,179,146, 76,214,180, 13,109,215,210,118,
- 18, 31,219,247, 61,222, 75,151,108, 50,168, 2,147,120,152,166,188,127,100,215,105,157, 28, 30, 26, 81,123,119,182, 99, 84,136,
- 37,192,123,225, 80,219, 97,227, 50,177,180,175, 69, 58,194, 13,208, 90,240,158,182,239,240,189, 29,194, 99,134,188,104, 37,156,
- 65,150,100, 68, 17, 4, 23, 0,177,146,165,105, 38, 27, 65, 85, 82, 13,124, 99,219,118,140, 39, 27, 36,105, 66, 89,150,140,199,
- 99,225, 70,188,195,214, 53,152,152,245,122, 77,219,214,228,249,136,216,196, 52,157,248, 6, 81,225,209,195,168,234,106,184,120,
- 59,234,186, 36,132, 64,146,138, 64, 80,135, 65,137, 27, 2, 1, 79, 20, 37,195,150,156,160,156, 76,113,105, 42,188,141,120, 26,
-133, 7,146, 54, 31, 25, 90,108,144,217, 42, 77, 83,121, 73,188,199,218,142, 96,123, 92,111, 89,204,231, 82, 16,144,138,150, 65,
-107, 9, 75,144, 92, 1,205,122, 93,162, 8,226, 9, 86,138, 40,138,177,174,231, 51,207,111,242,129,199,114,222,122,184,224,232,
-188, 34,110,122,182,119, 10, 66,100,120, 98,119,194, 73, 99,201,199, 41,145, 11, 28, 28,204,185,251,214,125, 94,123,184,224, 95,
-188,124, 76,213, 43, 70,169, 88,206, 26, 27,248,123,159,122, 7, 63,255,201,103,216,221, 48, 28,206, 58,222, 56,174,229,103,222,
- 55,116, 93, 43,131, 10,210,105,156, 13, 66, 34,103, 59,156,149,132,164,166,105, 80, 64,146,196, 56,144,119,103, 24,192,138,172,
- 32, 50, 17, 89,158,146,165,178,189,245,173,216, 25,157,115, 20,169, 4, 10, 53,157, 92,194, 74,129, 15, 72,254,255, 64,229,228,
- 89, 54, 60,203,150, 98, 84,176, 92,174,104,155, 70, 60,205,195,164,127,129,140, 4, 39,162,202, 40,210,140, 71, 35,140, 86,244,
-222,146,199,153, 20,157,172, 75,142,230, 37, 47, 62, 53,102,111,163, 64, 41,216,216, 26,177,152, 87,140, 71, 25, 32, 92,253,214,
-230,132,143,127,224,113,102, 71, 43,150,139, 21, 75, 15,215,198, 41,121,164,121,104, 29,143,237,142,120,231,245, 93,150,101,203,
-173,151,191,195,179,239,122,134,231,118, 52,207,238, 25,190,125,100, 89,172, 27, 34, 29, 49,217,152, 18,169,192,233,233, 41, 1,
-161, 96,218,190,227,238,131,135, 76, 70, 35, 46, 26, 12,211, 44, 37, 54,250,223, 83,134,167,177, 28,130,162,234,143, 48,145,196,
- 25, 59, 47,122,133,213,114,197,254,246, 22, 89, 49,166,172, 74,146, 88,168, 27, 59, 64,117,206, 73,184, 79, 80, 10,226,152,116,
- 50,102, 50,158, 14, 22, 60,133, 25, 6,236,174,147,195, 55,139, 69,200,105,180, 18,159,176, 22, 43,166,115,246,209,118, 31,130,
-100, 47,172,203,154, 36, 77,216,218,152, 18, 39, 9,125, 47, 74,225,170,172,105,173,124,230,209,168, 96, 52, 88, 90,125,240,148,
-117,131,181,146,149, 95, 53, 13,179,217,130,211,249, 28,128, 11, 27,232,133,149,104, 84,228, 67,254,129, 99, 62,151, 68, 65, 99,
-132, 62,147, 11,194,144, 23, 5,163,233, 14,173,133,217,249, 17,211,233,148,241,100,130, 30, 4, 79, 89,158,146, 23, 19, 25,242,
-250, 14, 99,192, 53, 75,146,168,103,189, 62,163, 90, 62,164, 90, 30,208,172,238, 99, 98,205,252,252, 84, 96,126, 35,237,144, 30,
- 81, 84,163, 52,222,131,235, 28, 30,199, 69,213,110,219,214,232, 40,162,174, 43, 78, 78,142,229,253,156,140,216,222,221, 37, 77,
-114,156,243,116,109,133,115, 78,218,190,180,161, 93,158,179,186,247,231,188,245,229,207,243,242, 23,255, 53, 55, 95,253, 83, 30,
-222,249, 35,238,189,246,175,153, 45,223,193,223,248,145, 39,249,244,247,194, 51,191,240, 11,108,142,255, 22, 77,125, 70,215,172,
- 25, 21, 79,112,227, 63,248,155,156, 29,188,130,109,206,136, 76, 74,164,101, 35,140,116, 66,240, 29,179,179, 3, 92,189,130, 80,
- 18, 66, 79,219, 52,156,156,156,208, 89, 71,176, 13,211,196, 82, 46,239, 80,206,222, 38, 74,198, 82,226,162, 3, 93, 91,227,124,
- 79, 22,230, 44,230, 55, 89, 60,252, 26,205,242, 45,186,229, 3,202,250,148, 88, 25,108,235,168,170, 30,101, 12, 33, 68, 40, 36,
-207,124,111,255,146,104, 72, 76,194,230,116,131,197,252, 33,162, 28, 31,206,171,129,214,105,123, 11,222, 83,140, 38,130,186, 37,
- 41,101, 85,203,185, 17, 15,226,218,174, 35,207, 83,250,222,145,198, 41, 73, 46,195,174,138, 34,150,203, 21, 10,133, 82, 1, 23,
- 4,221,188,104, 16,245,222, 65, 20, 97,189,197, 24,113,134, 92,208,179, 94, 5, 34, 21, 83,140, 82, 84, 20, 63,130,185, 47, 54,
-226, 56, 74,228,247,246, 61, 93,103, 31,161,196, 23,142,171, 52, 73,196,198,220,203,253,169,181,198, 91, 71, 80, 98,179, 78,139,
-130, 36, 17,142, 62, 50, 67,193,140,147,122, 88,231, 29, 89, 38, 20,172,247,208, 59, 75,223, 54,162,159,136,165, 5,181,107, 59,
-188,247,132, 11, 36,173,239,105,154, 70, 16,222, 97,209,113,174, 39, 82,114,206, 38, 70,172,189,209,149,199, 31,255, 92,223,247,
- 20,163, 17,221,160,166, 19,245,178, 38, 73, 50,250,190, 39, 79, 83,178, 52, 37, 78, 98,156,183,168, 32,254,219,166,235,152,142,
- 36, 37,174,109, 90, 92, 47,101, 12,189,237, 41,138,130, 81, 49,162,106, 42,148,142, 30,217, 95, 36, 26,239,187,229,242,102, 56,
- 44,162,196, 16, 71, 18, 67,136, 15, 3,252,154,226,189, 69, 71, 17,206,127,215, 30, 21, 25, 9, 16, 72,147, 76, 10,231, 35,121,
- 88, 77, 45, 16,235,100, 60, 65, 33, 48,123,164, 34,146, 76, 46,209, 44, 77, 49, 89, 70,181,150,252,247, 16,148,108,231,241, 16,
-166,225, 36, 93, 44, 54,137, 8,224, 66, 0,133,124,102, 39, 8, 69, 20, 9, 18, 33,222, 97, 79,154,230,136,194, 61, 30, 54, 10,
- 77,103, 7,181,126,164, 49, 74,126,248,125,215,211,247,189, 12, 54,173, 84, 11,226, 61, 12,105, 67,203, 85, 73, 89,138,170,185,
-170,165,198,210, 57,129,170,101,208,234,104,170,230,209,139, 37,141,122,134,178, 44,197,250,144, 73,174,118, 20, 69,252,220, 7,
-198,196,161,231, 59,175,158,240,112, 81,113,117,123, 68,167, 20,151, 31,219, 70,197,138,215, 94, 63,228,250,245, 29,158,120,242,
- 18,189,179,220, 95,246,172,250,136, 31,124,247, 62, 47, 62, 53,229, 43,119,230,196, 90,115,218,193,223,252,204,115,236,142, 21,
- 74,167,124,228,233, 13, 94,186,187,230,104, 81,147, 38,169, 8, 26, 7, 85,112,215,117, 52,131,240,209, 59, 79, 94, 72, 56, 79,
-154,165,244,157,208, 32,125,211,208,181,237,208,174, 39, 25,206, 33, 72, 26, 32, 40,170,101,137, 11, 30,231, 61, 27, 27, 27, 3,
-234, 35,155, 54, 4,178, 44, 39,142,165, 15, 57,142, 53, 27, 27,155,143,220, 14,138, 1,182,235,164,195, 96, 60,153,200, 80,104,
- 18,156, 23,248, 61, 49, 2, 89, 37,195,196, 29,105,141,209, 26, 80,244, 93,131,117,142,181, 55,188,249,198, 93,126,244, 35, 79,
-225,188, 80, 6,219,187,155,164, 35,201, 0,215,145,160, 59,160,121,225,198, 30, 55,239, 30,243,250,225,130,203,105, 74,174, 35,
- 74, 2,135,231, 53,159,254,208,147,168,200,240,250, 55, 94,229,233, 75, 19,172, 73,184,178,145,242,151,158, 46,120,245, 20,206,
-107, 43,195,134,142,216,157, 78,184,125,247, 30,111, 31, 28,112,124,118, 46,169,107,211, 9,189,179, 34, 94,109,218, 1, 38,148,
-188,134, 40,138,104,187, 30,130,180, 61, 41,173,233,251,142,182,151, 82, 36,133,160, 24, 39,167,103,220,184,118,133,107, 87, 46,
-203,118, 99,133,107,108,219, 86,168,167,201,132,182, 21, 95,119,158, 9, 29,146, 22, 5,163,173, 77, 54,166, 83,246, 47, 95,101,
-103,127, 31,147, 36,172,203, 10,231, 29, 6,136,146,152,113,158,147,164,169,108,254, 93,247, 8,226, 6,134,134,197,158, 81, 81,
- 80,100,114,118,104,173, 89, 87, 21, 85, 93,115,116,114,202,170,172, 8,222, 51, 30,141, 40,114,105,115,212,145,166,237, 58, 25,
- 0,154,134,114, 80,190,123,239,232,156, 69,107, 40, 6,129,213,233,249,156,249,114, 73, 64,220, 42,109,215,145, 37,226, 2, 72,
-134, 33,110, 76,195,186,215,196,113,194,124,121,142,235, 69,115,224,250,158,213,114,142, 54,129,107, 87,175,146, 23,194, 93, 78,
-199, 27,244,109,197, 40,245, 76,114,232,235, 35, 92,183,164, 41,207,217,123,242, 19,216,206,115,242,240, 53,170,197, 49, 62,241,
- 36, 68,100,249,132,174,171, 32,138, 8, 65, 14,108,107, 3, 38, 74, 64,137,171, 70,233, 8,219,182,172,103, 39,172, 22, 51,150,
-229,138, 52, 49,108,239,238, 83, 20, 19,148, 86,172,150, 11, 80, 30, 31, 34, 20,150, 60,238, 80,205,125,170,211,183,184,180, 51,
-162,158,253, 5,191,115,107,151,252,251,158, 65,121,216,140, 50,174,222,248, 44, 87,158,252, 17,254,246,175,252,231,252,236,223,
-255, 0, 79,255,195, 95,166,187,253,189,220,251,246,231,233,219, 37, 58, 78,233,154, 5,222, 10,236,223,247, 53, 77,185,162,108,
- 87,216, 74,108,157,174,111,233,218, 53,243,211, 99, 92, 51,163,175,206,176,141,132, 14,173,206,207,232,154,142,182, 41, 89, 47,
-207,105,150, 71,116,205,106,128,245, 91,112,160, 72, 24,111,108, 50,154, 78, 24, 23, 5,227,241, 6, 62, 88,226, 44,231,242,229,
- 43, 52, 93, 79,211,181,108,108,100,156,158, 30,226, 9,196,145,193, 58, 71, 98,140,184,134,188, 88,182, 64,138, 88, 52, 16,153,
-255,159,169, 55,141,213,244, 60,239,251,126,247,250, 44,239,123,182, 57,179,147, 28, 46, 34, 41, 82, 11,101, 74,138, 29, 43, 74,
- 98,171,137,147,218, 73,156,182, 64, 3, 3, 65,139, 34, 69,186, 32, 77,138,164, 40,208, 6, 45,136, 22,104, 10, 20, 41,250,169,
- 69,191,181,105, 81,160, 46,130,214,110, 98,103,115, 28, 47,177,100,199,146,172,136, 18, 37,238,228, 12,103, 57,115,214,119,121,
-182,123,235,135,235, 57,163, 18, 32, 6,130, 56, 56,231,188,231,121,238,251,186,254,171,147,140,137, 92,216,108, 55, 44,150, 45,
-148, 34,185, 7,118, 22, 28,231,200,197,217, 57, 41,101, 22,139, 6,109, 53,214,202,240,231, 47, 41,166,148,104,124,141, 65, 97,
-172,161,219,138,218,125, 24, 71, 74,209, 56,171, 24,250, 64,136,210, 2, 23,130, 92,146,168,130, 54, 96,180,197,123,135,181, 78,
-138, 83, 98,100, 24, 70, 64,205, 86, 73, 47,223,255,114,135, 16,196,254, 54, 14, 65,254, 28, 3,211, 56,209,204,201,116,206,122,
-124, 83,163,181, 33,206,255,109, 74,162, 94,247, 85,141,213,134,144, 3,228, 66,158,147, 84, 75,201,179,248, 87, 44,208,165, 20,
-186,190,147,207, 65, 57,154, 69, 43, 67,173, 51,130,116,148,130,185,118,243,214, 27,149,175,192, 72,219, 90, 85,121,236, 12,241,
- 93, 78,200,218, 72,157,104,202, 89,188,147,189, 64, 72,165,100,170,166, 66, 43, 77,152, 2,139,101, 35, 48,159,245,248, 74, 46,
-210, 18, 5, 34, 53,198,146,138,180,152, 93,146,254, 74,169,249,112, 79,120, 87,209,247, 29, 90, 73, 11, 79,229,189,240, 20, 70,
-166, 38,165, 20,219,245,154, 97,232, 81, 69, 17,162,168,198, 67, 16,159,252,182,151,176,253,157,197, 14,219, 94, 38, 96,171, 12,
-139,229, 18,101, 68, 15,224,156,199, 26, 35,124, 74,150, 94,118,177, 17,116, 24, 35, 86, 35, 85,212,147,131,161, 36, 17,212, 41,
- 5,218,104,138,202, 51,167,157,113,174, 34,151, 60, 83, 1,150,245,172, 22,190, 20,179,165, 16,200,177, 80, 84, 65,230,122, 17,
-111,169,121,146, 63, 95,173,216, 94, 92,208,109,182,116,219, 78,130, 60,138, 64,246,101, 62,152,149,146,202,219, 24, 69, 0, 18,
- 98, 36, 83, 8,227,196, 52,141,178,125,106, 69,156, 18,211, 28, 55,235, 13,252,149,159,190, 77, 55, 36,190,243,193, 49,103,161,
-240,226,237, 5, 71,167, 3,239,127,116,194, 71, 31,157, 16, 98,230,199, 62,251, 52, 33, 68,214,239, 63,224,215,222, 57,230,151,
-127,112,198,207,124,238, 58,177,100,190,241,225, 57, 41, 23, 82,210,252,141, 63,249, 60,227,102, 75,189,123,128, 33,243,229, 59,
- 59,252,243,123,145, 92,100, 8,211,118, 46,229,153, 38,156,159,251,132,139,136,218,152, 63,143,202,121,138,146,180,178,252,228,
-210,111,216,221,217, 65,205,252,252,234,226, 66,130, 30,166, 81, 68,132, 74,126, 15,101,182, 12,106, 61, 35, 35, 49, 49, 14, 61,
- 90, 75, 18, 96,237, 37, 93,204,104,205,102,179,194,121, 39,207, 71,152,228,239,148, 4, 73, 68,124,178,213, 94, 66,251,194, 39,
-167,153,107,243,222,163,157,104, 46,126,248,201,138,113,125,193,171,207, 28, 96,180, 98,115,122,193,119,190,241, 93, 30,124,248,
- 9,235,211, 13,109, 91, 17, 83,224,227, 15, 31,112,231, 83, 79,243,222,187,199,188,127,190, 97, 19, 39,116, 83,147, 41,252,249,
-159,252, 20,185, 64,214,134,205,253, 71,188,244,226,211,172,199, 72,213, 56,126,226, 78,195,135,103,137,147,190, 80,148,160, 34,
-119,110,221, 96, 10, 1,173, 12,117, 83,179,221,110,248,240,238,125,238, 61,124,196,233,197, 5,155, 77,199,131, 71, 71,124,124,
-255, 17, 79,223,188, 1, 69,208, 42, 40,179,165, 75,160, 67,230,207, 94, 43, 9,173,248,248,254, 67,190,244,234,167,249,243, 95,
-251, 99,188,252,236, 29,134,177,231,124, 45,186,144,237,182, 67,145,177,174, 38,198,132,115, 6,103,141,212, 1,207, 89, 12,162,
-210,181,236,236,239,131,243,104, 95,201, 69, 58, 35,244,214,106,172,243, 98, 21,141, 63, 18,218,245,195,192,166,235,104,155,134,
-131,221, 93,105,148, 34,179,157, 21,246, 93,215,243,248,244,140, 16, 3,187,203, 5, 59,139, 86,196,165, 85, 5,133, 39, 3,246,
- 48,142,114, 48,215,210, 43, 97,140,102,189,237, 56, 59,191, 16, 30,113,118,155,196,152, 68,177,175, 21,222, 89,234,186, 38, 82,
-216,219, 91, 80, 45,246, 57, 61, 57,103,184,220,224, 82, 96, 24, 38, 86,171, 45, 59,109,195,217,197,138,237,102,139,164, 17,214,
-172,214,107,214,171,115, 22,139, 5, 7,251,123,220,184,126,147, 43,159,250,211,188,254, 83,127,147, 79,191,254, 11, 28,222,254,
- 34,105,152, 80,213,130,235, 55,111, 17,135,158, 41,140,104, 20, 74, 23,156, 5,180,167,148, 89,159,144, 17, 68, 77, 65,152, 68,
-193,223,111, 71, 30, 62,120,192,102,115, 78, 24, 37, 38,218,218, 22, 99, 5,142, 26,166, 17,171, 29,245, 98,159,157,221, 43, 12,
-221,154,147,247,127,139,127,252,127,252, 3,190,241,143,238,242,253,111,191,195, 15,190,251, 79,121,251,187,127,151,179,243,207,
-114,251,250,117, 70, 13, 79,125,245,101,238, 28,254,117,116,229,233, 87,143,185,118,231,143,241,229,159,255,155,116,167,103,172,
- 79,126,128,177, 14,235, 90,180,177, 79,196,199,113, 26,192,205,133, 35, 67,199, 52,142,140, 93,135,156, 68,114, 14, 9,203,103,
- 72,185, 96,141,195,250, 90, 54,206,162,168, 91,135,206,226, 15, 15, 17,180,213,178,208,117, 29,149,175,120,230,169, 91, 92, 92,
- 60,162,239,182,146, 73, 96, 44, 90, 41,170, 90, 58,192, 75, 18, 24, 91, 41,169, 60,237, 7,137,116,214, 20,226, 36, 22,205, 97,
- 24,177,206,145, 67,162,239, 59,114, 18,171,170,160, 78,145,113, 74,144,193,105, 73,160, 12,211,132,175, 23, 24,107, 40, 72,106,
- 97,152, 2, 5,133,177,146,146,234,180, 38,230, 12, 37, 83,213,181,208, 43, 49,144,178,108,251, 82,116, 54,162,148, 21,196, 53,
- 76, 51, 34, 42, 45,159, 85,221,226,172,145,129, 20, 65, 35,149, 49, 84,222,211,111,183,196, 40, 22,187, 97,232, 81, 70,116, 31,
- 41,102,140,187,204, 58,137,228, 20,197, 61, 82,196,145, 83, 87, 13,198, 58,138, 41,178, 48,106,104,155, 5, 33,142,196, 32,161,
- 78, 77,211, 18, 99, 96,177,108,197,198,107, 60, 41, 73, 88,156, 82, 10,179,119,245,234, 27, 90,203,129, 59,205, 24,125, 98,134,
-202,199,137, 49,200,118,149,115,193, 58, 79,213, 84,178,145, 33, 66,150,130, 64, 36, 49,198, 57,137, 45, 80, 47, 90, 12,200,225,
- 98, 44, 93,183,101, 28, 39, 52,138, 48, 6,156,247, 79, 4, 80,206,139,185,126, 24,122,218,118, 49,115,164,154,152, 37,253, 43,
-166, 64, 70, 68,102, 97,146, 73, 36,196, 64,206,229, 9,132, 33,200, 64, 35, 7,130, 18,200, 50,132, 72,229,107,148,214,196, 49,
-160, 84,161,228, 72, 76, 65, 68, 90,174,166, 91, 93, 16,231,139,116, 12,210,194, 51,142, 82,124,175,149,198,215, 30,148,154, 61,
-233, 89,212,232, 41,202, 84,101, 52, 33,137, 7, 50, 4,225,186,107, 47,131,208,216,247, 84,181,199,186, 25,126,214, 10,231,106,
-121,248, 66, 96,181,237, 24, 55, 27,152, 70, 72, 17,144,238,237,221,253,125,172,151,193, 99,103,103,135,166,169,209, 69, 58,218,
-173,153,253,215, 83, 68, 69, 73,191, 27, 39,137, 76,212,170,176,216, 89, 82, 87,142,207, 93, 53,252,201,231, 90,190,241,230, 61,
-206,199, 66,109, 20, 79, 93, 93,178, 25, 2, 7,203,134,253,253,154,157,118,193,197,144,240,149,101,232, 38,126,249,247, 63,198,
- 42,248,214, 71,103,252,254,135, 23, 24,165,232, 19,236,215,142,191,250,103, 95,161,100,205,238,149, 29, 82, 72,236, 47, 52, 78,
- 25,254,224,254, 32,189, 0,182, 66, 81,136,169, 96,108, 65, 35, 47,107,152,228, 5, 80,128,178, 6,139,120,209, 21,138,189,189,
- 61, 25,134,140, 65, 35, 94,115,249,156, 36,100, 34, 76,146, 9, 62, 12, 19,211, 36,116,205, 48, 14,116,155,142,161,239,228,247,
-219,247,156, 30, 61,230,232,225, 3, 46, 78,142, 57, 63, 59, 98,123,118,206,250,244,140,237,249, 57, 23, 39,199,172, 78, 79, 88,
-159,157,178, 58, 63,225,226,228,148,179,179, 83,134,113,196,122,143,175, 90,172,117, 12,227, 64,140,153, 41,136,112,211, 25,205,
-222,193, 30,215,236,134, 27,123, 45,191,244,203, 95,231,251,223,124,155,215,190,244, 18,159,121,253, 85, 78,143, 79,233, 78, 47,
- 88,221,127, 8,214,241,237,123, 27,225,227, 20, 4,101,216,109, 61,219, 33,112,239,180,231,249,155,251, 92,191,126,192,187,223,
-249, 30,207,190,242, 18, 7,121,100,147, 20,149,213,188,254,116,203,175,252,203,199,104,215, 16, 74,134, 48,241,210,157, 59, 28,
-238,239,114,176,187, 67, 55,138,210,215, 59,207,149,189, 93, 36,174,217,114,251,198, 53,154,186,225, 9,239,173, 68, 77,235,102,
- 13,202, 20, 3,170, 64, 65,137, 72,179,100,190,243,131, 31,242,252,211,183,217, 89,180,124,238, 83,207,241,233,231,159,229,193,
-209, 17,219,110,139,214, 82,154,177, 92,180,132,113, 96,232, 71, 66,156,168, 43, 63,211, 69, 10,103, 28,211, 56,144, 50,130, 28,
-149, 76, 31, 18, 67,134, 82,121,124,187, 96,247,224,144,106,209,208, 44, 90,161,214,188,167,235,122, 78, 79,207,200, 37,179,187,
- 92,176,191,187, 71,219,212,108,250,238, 73,104, 70, 63,140,108, 59,209,186, 92,217,223,229,202,222,158, 88,205,148, 20,200,148,
- 34,157,244,155,237,192,106,179,150,195,218,121,110, 92,187,202,162,149, 16, 15, 95,215,236, 95,189,198, 11, 47,190,196,222,254,
- 62,174, 89, 16,149, 34, 20,205,186,223, 98,116,196,250, 93,250,126, 36,132, 68,183, 29, 40, 37,225,172,165, 40,197,225,225, 53,
-226, 56,177,222,172,153,198, 45,211, 52,225,253,130,195,171,135, 52,213,130,163,147, 35, 22, 75,248,240,157,223,227,124,125, 68,
-189,123,147,229,206,211,216,122,151,144, 44, 37, 30,179, 57,123, 8, 69, 3,130, 62,121, 87, 83,148, 8,162,132, 51,130,156, 3,
- 40, 13, 90, 80, 9,163, 13, 33,102,186,110,205,249,217, 35,214,155, 53, 33, 68,118,118,247, 89,180, 75, 92,213, 16,166,129,179,
-243,115,172,243,140,125,160, 54, 19, 11,238, 50,156,254, 30,103,247,254, 57, 97,245, 46,167,199,191,205,175,253,234,111,241,214,
- 63,252, 1,247,127,239,152,113,115,159,172, 45, 79,189,248,103,248, 47,127,229, 63,225,191,250, 51,159,225, 15,255,181, 63,207,
-221, 55, 95,231,254,131,127,194,180,221, 98,171, 6, 85, 52,227,246, 49,207,189,250,231,232, 46, 30, 16,198, 11,170,106,137,118,
-141, 84, 77,107, 73,182,140, 12,168, 44,249, 24, 70, 59, 18,138, 41, 38,172,113, 24,103,184,242,212, 23,217,191,253, 41,214,143,
-239, 49, 70,209, 58,104, 45,231,224,115,207, 61,139, 86, 35,199,199,143, 72, 33, 16, 66, 34,134, 64, 2, 41, 40,234,165,148, 43,
-165,136, 70,203,185, 93, 9,162, 91,183,141,136,171,157,216, 91, 47, 46, 46, 72, 57, 81, 53, 21,227, 36, 20, 2,170, 96,157,166,
-228, 68,206, 81,244, 57,186,176,104, 26,114, 28,137, 73,172,113,214, 58,148, 81,228, 16,192, 24,166, 94, 28, 73, 70,105,124, 93,
-209, 52, 66, 5, 54, 77, 75,213, 8, 4, 47, 10,115,105, 17,165, 36,118,150, 45,181,175,169, 43, 79,221,136,147, 38, 38,209, 68,
-197, 73, 98,152,101,169, 21,181,190,243,158,105,148, 4,213, 18, 69,215, 85,162, 8,202, 99,144,128, 28, 25,248, 64,165,196,152,
- 20, 69,153,249,107, 34, 33,100, 50,167,211,182, 45, 73,139, 31,125,154, 70,161,129,226,132,119, 78, 46,118, 38, 64,227,156,197,
- 28, 92,187,246,134, 2,124, 83, 83, 87, 53, 33, 38,140, 82, 98,191,170, 28, 97,146,132,174,118,209, 98,149,126, 2,127,143,227,
- 64,237,100,139, 46, 73, 34, 59,199, 48, 96,173, 36,228, 88, 87,177, 94,173, 25,167,129,148, 68, 69, 91,114,150,131,123, 10,104,
-163,152,166, 72, 85,213,164, 40,118, 4,177,198,201, 64, 81,138, 34,142, 35,253, 48,206,220,161,166,174,101,146,119, 86,134,136,
-221,157, 93, 36,149,205,208,117, 3,211, 56, 81, 72,132, 16,217, 93, 74,174,240,118, 43, 92,184,160, 14,242, 65,143,227,132,210,
-138,170,109, 81, 74,172, 77, 97,134,109, 65,160,203, 75, 17,150,244,234, 10,231, 81, 82, 2,100,168, 72, 83,162,246,149, 40,249,
- 71,209, 12,164, 24, 33, 35, 89,240, 9, 10, 25, 95,215,168, 34,220,187,112, 60,153,205,106, 5,243,240,160,180, 66,165,136, 90,
- 46,105, 42, 17,240, 9, 92,169, 72, 69,114,188, 55,107, 41,191,152, 38, 41,127, 40, 74,201,240, 50, 79,210,198, 26, 9, 33,241,
-142,159,122,105, 65, 19, 59,126,227, 7,167,236,235, 64, 9, 35,253,249,134, 43, 75,199, 64, 33, 63,120,128,207, 91,198,147, 51,
-190,249,214, 35,254,207,175,127, 76,181,168,249,220, 51, 87,184,123,178, 33,231, 66,166,112, 17, 20, 63,254,220, 30,255,193,159,
-253, 34,111, 62, 88,243,205,247,207,185,190,215,112,243,160,226,169,133,226, 23,191,121, 76,204, 69,166,207, 36,130,142,190,147,
-130, 2, 99,204,147, 24, 71, 73,214, 19, 49, 87, 74, 66,207,180,109,139, 53, 82,156,144,163,136, 0,211,157, 0, 0, 32, 0, 73,
- 68, 65, 84,180,116,141,147, 88,207,114, 73,212,141,104, 8, 82, 73, 56,235,136, 33,130,214,108,215, 43,214,103,231,108,207, 47,
- 24,186, 30, 85, 34,206, 72,170,146, 74,133,162,229,229, 71, 41, 80, 6, 81,132,203,134,158,147,248,218,135,237,150,238,252,132,
-211,199, 39,140,227, 32,249,243,206,226,125, 77,229, 5,161, 74,185,112,116,214,241, 31,253,233,151,249, 83, 95,251, 60, 95,248,
-241, 79,179,187,191, 71,136,137,235,183,111,176,127,227, 42,215, 94,120,134,253, 43, 7,188,247,193, 35, 62, 62,234, 80,227,128,
-174, 44, 73,105, 80,133,111,124,255, 62, 55,119, 27, 62,247,210, 83,188,247,245, 63,224,234, 11,207, 80, 59,203,161,205,108, 35,
- 56,103,120,238,176,226, 91,159, 12,196,172,196,218,181,222, 96,172, 97,217, 46,184,178,191,203,222,206, 14,215, 15,247,217,219,
- 89,178,179, 92,176,183, 20,136, 83,162,112,231, 50, 10, 0,165,102,174, 78,236, 3, 74, 73,165,176,181, 34, 28, 10, 33,178,233,
- 58,190,252,218,231, 40, 49, 99,180,230, 11,159,126,145,109,223,243,240,241, 9, 69,101,106,239,185,172, 27, 30,134,158,203,158,
- 4,217,150, 59,252,252,238, 85,117,133,117,179,174, 68,192, 24, 57,252, 41,212, 77,195,149,195, 67,124,211,176,127,120,200,237,
- 59,207,176,119,237, 42,217, 88,186, 16,201, 74,218, 24, 69,165, 44, 89, 0, 49, 37,166, 16,184, 88,111,152, 66,196,214, 53,109,
-211,114,153,204,229,156, 5,163,216,221, 63, 96,177,183, 71,181,179, 68, 85, 13, 83, 74, 84,237,130,197,206, 46,251,135, 87, 80,
- 70,154, 35,199, 16,208, 90,188,194, 24, 67, 24, 69,212,186,179,220,193,152,106,166,205, 68, 63,180,179,179,100, 59,140,212,222,
-115,253,230, 13,154,186,197, 59, 67,158, 70, 86,235, 51,214,235, 21,253,208,113,114,188, 34,118,231, 44,220,200,249,241,187, 28,
-125,244,251,156, 61,254, 30,171,135,255, 18,237,106,158,255,226, 95,100,177,124,134,126,245,128,245,217,199,179,240,183,146,126,
-128, 84, 72,100,116,206, 34,202, 66, 99,172,192,202, 80, 80,242, 11,164,164,244, 4,189, 92,173, 86,156,158, 62,102,125,190,194,
- 55, 53,139,197, 18,239,133,107, 29,199,192,166,235, 25,167,140,117, 13,215,110, 61,205,237,155,215,240,249, 49,103,143,191,205,
-209, 71,191,197,253,143,190,206,201,189,175,115,126,252, 54,235,163,159,229,236,229,138,163,115,199,179, 55, 95,229,250,115,255,
- 46,227,240,144,205,217, 93,250,254,132,207,255,220,223,226, 63,254,123,127,155, 23,175,255, 13,182, 93,199,246,228,123,136, 41,
-217,162,172,166,196,192,139,175,253,155,124,246,143,255,101,226,240,144,110,125, 66,206,226,197, 21, 4, 49,210, 30, 60, 13,195,
- 17,202,108, 80,197, 74, 33,149, 81,236, 46,107,246, 15, 22,172,214,103, 84,206, 83,183, 53,151,105,128, 77, 85,201,153, 89, 10,
-253,208, 63, 89,244,170,202, 11,226,148,193,123, 63,111,183,113, 22, 92, 79, 51,109, 38,239,169,175, 28,117, 37,193, 92,117, 93,
- 83, 57, 75, 76, 65, 84,229,206, 81, 53, 13, 85, 37,252,183, 42,112, 25, 80, 37,121, 23, 22,231, 28,245,140, 28, 12,189,244, 13,
-104, 35, 34, 54,103, 12, 41, 69, 22,139, 5,117, 85,137, 94, 40, 4,140, 23, 75, 92, 41, 8, 29, 6, 80, 10, 18,112,148, 89,180,
- 53, 41,103,186,217, 83,191, 88, 44,112,206, 17, 75, 98, 81, 55,210,214,137, 34,229, 72, 74,242,119, 52, 82, 40,227,157,103, 26,
-122,113,150, 25, 75, 12,129,166,105, 5, 77, 28, 39,188,119,104,173, 97,254,218,121, 44,140, 99, 63, 11,239, 68,172, 61,142, 35,
-230,250,237,219,111, 40,165,168,107, 41,215,232,250,142, 41, 69, 33,255, 67,100,119,111, 79, 32,101,163, 68,185, 28, 5, 66, 13,
- 83,152, 5, 60, 78, 36,254, 41, 49, 14,211,204, 37, 1, 69,211, 15, 3,139,118, 33,176,179,210, 56,111,209,202,162,141, 38, 37,
-249, 59,198, 58, 66, 14, 18,232, 16, 2, 97,154,200, 69,114,215,181, 50,100,164,145,124,154, 2,149,179, 56,231, 69, 65, 30, 2,
-117,227, 41, 72,116,158, 81, 90, 38,124,109,241, 94, 4, 21,185,136, 50, 93, 27, 45,254,199, 28,136, 97,142,165, 45,145, 56, 37,
-129, 69,114,145,224,129,186, 22,241,158,153,249,113,148,132, 1,244,226,131, 68,105,164, 7, 94, 20,139, 49, 73, 22,183,214, 26,
-212,172, 60,180, 70,116, 1, 90, 94,214,156,103,191,104, 8,196,105, 34, 12,195,124, 33, 21,200, 5, 85, 10, 69,105,240, 30,111,
-165,197, 12,228,151,182,186, 56,103, 28,132, 94,104, 22,205,204, 59, 90,150,203,133,240, 57,117,141, 46, 80, 87, 14, 21, 3, 31,
-125,240,152, 55,126,254, 83, 12, 1, 86,155, 53,215,215,159,240,213,219,138,183,222, 59,230, 23,127,247, 17,215,237,192,194,193,
-209,217,192,175,188,121,194,187,167, 35,187,251, 11,254,204, 79,190,192, 87, 94,187,205,219,119,207,216, 12,145, 95,248, 19,159,
-225, 47,253,220,103,248,163, 95,120,154,255,230, 23,191,199,223,252,165, 31,242, 75,191,243, 17,255,211, 63,250, 0,231, 20, 95,
-251,220,109,134,190,227, 55,222, 58, 98, 28,132,231, 79, 81, 6,158,162, 96,232,199, 89,188,101,208, 69,154,238,198, 41,226,189,
-196,240, 14,227, 56,243,201,178,165,107, 45,226,149,213,102, 69,138,137,152,101, 67, 13, 51, 79, 79, 73, 12,171, 51,198, 77,135,
- 46, 17,107, 20,205,210, 3,154,174, 11,144, 21,237, 94, 75, 85,121,218,157, 37, 78,131,117, 78,208,146,218, 99,148,240,192,181,
- 19, 97, 83, 24, 35, 57, 71,194,216,145,134,115, 98,119,134, 83,133,106,177,195, 20, 3, 85, 45,213,150,156,125,194, 87, 94,190,
-201,166, 11,132, 40,150,180, 52,255,190,167, 20,177,218,240,249, 87,110,114,103,191,225,237,119,143,248,251, 63, 56,229,104,221,
-243,210,245, 5,109,227,121,176,158,248,218,103,174,114,250,206,219, 52, 87,175,179,220, 95, 98, 84,226,192, 41,250, 88,184,181,
-191, 96, 24, 6,190,251,176,199, 85, 53,125,183,229,222, 39,247, 89,111, 59,158,186,121,141,182,185,132,156, 13,149,115,243, 97,
-144,208,179, 43, 69,168, 26, 25,229, 83,138,196, 44, 2, 36,107, 44,144,133, 82, 50,138,166,170,184,247,224, 17,191,251,237,127,
-201,103, 94,121,137,253,189, 93,114,206,124,254,229, 23, 41, 40, 30,175, 87,108,214, 27,200,176,218,172,200, 41, 99,156,197, 89,
-141, 86, 6,163, 20,155,174, 35,164, 31,101, 3, 56, 39,149,184,109,219, 82, 87, 82,219, 60, 77, 65,146, 32,147, 40,119,173, 21,
-151, 75, 12,129,221,131,125, 92, 85, 97,189, 20,241, 28, 94,191,193, 98,119,135,189, 43,135,236,238,237,113,243,233,167,177,117,
-131,173,106, 78, 86, 43,182,211,196, 98,111,143,122,185,195,114,177,164,106, 91, 57, 51,114,102,177,104, 49,214, 50,244, 61, 79,
-236,149, 70, 97,140,197, 58, 75,215, 13, 40, 37,101, 26,206,123,148, 49, 76,161,103,177, 92,178,187, 60, 96,154,132,107, 77, 41,
-115,101,127,159,163, 71, 15,184,253,212,109,124,229,104,218,134,179,179, 51,214, 91,233,128,151, 90, 75, 17, 40,109, 55, 43, 14,
-246, 26,118,170, 72,109, 39,186,245, 99,162, 62, 99,239,240, 89,218,221, 87,120,250,213,159,227,250,115, 95,165, 20,197,249,227,
- 31,224,188,195, 32, 53,179,170, 36, 74,201, 56, 47,156,106,153,183, 52, 74,153,135,244,140,226,114, 88, 18, 65,173, 82, 19,221,
-122, 77,183,217,112,116,114,134,179,134,221,253,125,209,160, 20,232,183, 27,206,143,207,216,108,214, 44,247,174,112,176,127,200,
-225,222, 30,187, 77, 65,135,142,202,172,185,247,209,175,243,141,191,255,125,190,251, 15,222,228,135,223,251, 22,247, 62,250, 29,
-210,120,130,111, 26, 62,253,197,191,202, 79,255, 27,255, 33,239,127, 7, 62,249,193,247,104,246,158,194, 47,247,217, 60,254, 1,
- 83,140,168, 98, 88, 92,121,142,103, 95,251, 5,134,205, 39,228,188, 33,247,167, 20,192, 57,203, 98,209, 72,112,203,246, 30,237,
- 82, 51, 94,108,136,122,135, 97, 12, 44, 23, 13,119,238,220, 98,219,157,211,143, 35,222,203,153, 24, 99,154,183,113, 79, 41,101,
-222,190,101,168, 52,198,130,150, 86, 52, 51, 11, 63, 67,156,209, 13,144, 77,120, 26,153,198,241,137, 5,242,210,101, 20,231,229,
-160,174, 27, 46,109,114,117,211,204, 11,223,230,201,162, 70, 41,136,141, 56, 64,206,179, 19, 41,178, 92,182,178, 96,230,132,100,
-174,152,217,170,219, 83, 12,196,113,194,213, 21, 37, 11,218, 48,206,116,103,152, 34, 41,102, 22,115, 27, 97,140,137, 49, 70,218,
- 70,116, 66, 83, 20, 94, 93,171,185, 74,213, 56,172, 19,132,210, 24,135, 51,150, 41,142, 76, 83,100, 12,145,106,190,107,141, 81,
-128, 76, 15,222, 59,177,221, 90,201,218, 16, 5,190, 37,169, 68,201,130,154, 72, 6,135, 1, 20,230,218,173,219,111,196, 52,243,
-189, 74,201, 7, 31,194, 19,110,203, 88, 67, 73, 98,150,247, 94,252,130,151,113,176,144, 9, 99,160,228,132, 54, 22,231,107,198,
-177, 71,105,195,182,235,229, 7,145,187, 13,111, 43,249,229, 40,133,243,146,123,171,173,196,140, 94,202,253,173,145,225,162,170,
-106,172, 21,126, 83, 33,182,174, 20,195,108,159, 81, 18,167, 26, 2, 57, 6,156,151, 23,161,235,182, 36,165, 4,150, 14,115,197,
-170,154,149,225, 90,147,138,180,249, 56, 47, 81,172, 77,211,206,156,142,212, 42, 38, 50,226, 7, 4,233,213,157,152,194,136,175,
- 60,117, 93, 83, 87, 21,211, 32,209,174, 82, 15, 43,131,133, 53, 34,164, 80, 74,179,187,187,195,101,114,214, 48, 13,172, 47, 86,
-148, 52,209,143, 35,171,174,163,219, 10,180,103,180, 66, 91, 79,105, 91, 84,211,136,226, 56,202, 64, 51,205, 14, 1, 17,114, 20,
-188,117,212,181,151,141,181,200, 65,101,140, 70,197,200,180,217,178,219,122, 76,206, 40, 50,222, 41,254,218,207, 60,207,179,251,
- 21,223,187,191,229,227, 11, 56, 29, 20, 83, 26, 57, 25,225,222,201,200, 31,121,237, 14,168,204,155, 15,183,124,233,185, 67,254,
-243,191,248,135, 57, 95,245, 28,236, 52, 28, 54,142,247, 30,158,243,249,103,174,240,185,103,174,241, 95,252,239,191,199,175,127,
-239, 49,141, 41, 84, 78, 30,180, 95,251,131,251, 60,222,142,252,197,159,127,141,255,251,119, 62,102, 74,114, 97,182,205, 44,212,
-155, 31,172,170,146,108,119,165, 37, 74,120, 26, 6,214, 27, 73,231, 43, 72, 54,254, 56, 72,134,243,106,181, 22, 20,199, 24,188,
- 19,255,254,118,187, 33,140, 35,106, 28, 32,142,108,215, 91,246,106,201, 66,223,223, 91,178, 92, 46,104,125, 67,219, 88,249,218,
-198,208, 86, 13,181,115,248,102,129,173, 28, 90, 25, 46,241,140, 82, 20,168,130,183, 2,183, 57,235,200, 9,134, 56, 81, 55, 26,
-149, 71, 54, 39, 71, 84, 8,138,227,154, 29,190,254,189, 79,248,241, 27,138,107, 87,118,168, 23, 13,214,123,156,214,172, 78,206,
-232, 63,185, 71,169, 27, 78, 62,190,203,197,249,154,173,111,249,191,190,245,128, 97, 76, 92,175,224,198, 65,203,135,199,107, 62,
-126,239, 49,175, 47, 7,202,141,155,236, 44, 23,216, 44,241, 19,123, 14, 54, 33,241,242,173,150,223,126,251,130, 71,231, 91,156,
-175,217, 95,212,228, 92,184,121,237, 16,231, 42, 82, 78, 80,178, 60, 35,204, 5, 49, 10,204, 19, 36, 2,121,111,149,230, 50,153,
- 80,107,249,223,218, 8,116, 94,114,161,169, 43, 86,235, 45,191,245,141,223, 99,154, 38,158,127,230,105, 52,138,219,215, 14,153,
-134,137,247,238,222,165, 31,122,234,186, 34,132,200,208,247, 76, 97, 18, 59, 92, 16,177,234,165,224,205, 90,129,101,167,105,144,
-173,212,123, 64,210,180,250, 81,248, 76,209,187,200,214, 92, 85,149, 64,153, 86,220, 32,155,237, 22,165, 10, 41, 70, 81,212, 27,
- 67,237, 5, 9, 72,113,182,123, 42, 37,112,236,188, 45,245,221, 64, 65, 16, 55,107,103,232, 58,200, 38,148,147, 56, 45,214,221,
-134, 97, 28,104, 91,209,240,244,125,143, 86,200,251,106, 53, 90,201,185,176, 92,238,208,182, 45,186, 20,234,182,102,119,255,128,
-146, 53,103,167,143, 57, 59, 59,230,236,244, 28,231, 20,149,111, 9,169, 32, 34,179,200,118,211, 11, 5, 16, 38, 14, 14,174,210,
- 46,118, 49, 17, 76, 60,229,226,236, 61, 78, 79,238,145,115,102,239,218,171,212,203,171,220,120,238,143,227, 22, 87, 56,185,247,
- 7,160, 12, 96,200, 69,244, 56, 37,203, 59, 0, 5,163, 20, 86,107,180, 53,164,164,128,196, 52,137, 93, 78,105,169,155,109, 42,
-135,245,142,213,234,140,213,106,139,177, 21,251,135, 87,216,191,114,128, 54,138,227,227, 99,206, 79, 78, 88,111, 87,132, 56, 17,
- 81,212,237, 14,183, 15,119, 40,221, 7,172, 79,190,201,209, 71,191, 75,127,252, 93,186,213, 3, 74,127, 74,183,254,136,183,126,
-247,239,115,247,205, 95,229,209,221,223,227,236,209,191, 96,216,124, 68, 9, 91, 74, 82, 28, 62,251, 69,118,247,159,101,117,252,
-251,108, 31,253, 62,227,249,199, 36,213, 34, 5, 44,142,172,107,198,237, 72,200,150,169,177,164, 28,209, 49,176,216, 89,112,253,
-160,229,241,201,125,156,243, 56, 45,136,228,101,171, 24, 10,182, 93, 71,138, 81,104,212,148, 24,163, 36, 10, 78,227,136,140,142,
- 5,148,154,105,224,129, 41, 72,238,132,196,164, 10,170,219,182, 45,222, 75,122,168,247, 82,227,170,180, 98, 74,153,156, 11, 33,
-140,242,245,221,101, 42,169, 67,156, 55,242, 12,139,133,218, 98,141, 66, 91, 43, 40,180,182,116,221,102,126,167, 20, 41, 77,196,
- 49,226,106, 63, 11,155, 5, 85,188,180,210,122,239,112,117,197,208, 15, 12,195, 72, 38, 97, 49,140, 81,188,247, 10,201, 82,168,
- 42,207, 24, 36,182, 60,134,128,245,243,251,100, 68,244,231,157, 71, 33,214,184,113,184,108,116, 19, 68, 78, 18,230, 34,222, 90,
-209, 68, 88, 73,181,115, 78,208,181, 20,197,202,233,173, 3,173, 48,123,135, 87,223,168,155,154,245,122, 61,255,192, 34,100, 83,
- 70,100,244,206, 73,208, 71,187,108, 33,201,225, 50,246,210,237,188,179,148, 75,204, 58,153,186, 54,155, 13, 85,189, 16,184, 58,
- 68,198, 81, 18,112, 74, 44, 12, 65, 20,188,149,171,137, 73,242,176,149,177,104,133, 88,225,250, 1, 93,228,128,146,127,133, 23,
- 47,136, 95, 91, 89, 77, 91,215,104, 37, 9, 95,185, 20,124, 37, 80,199,118,187, 33, 21,184,140, 7,245, 78,184,122,109,196, 71,
-238,156,149,105,222, 42,225, 27, 11,140,227,132,245, 30,138,240,184,227, 56, 82,162,120, 20,115,150,182, 47,165,228, 23,146,227,
- 92, 94, 81, 57,114,146, 92,237,148, 19, 6,192,136,239,182,246, 53, 74,203,134, 61, 77, 2,153,167, 41, 48, 78,211, 19,197,109,
-206, 98,195,218,219,223,167,105, 26,106,103,113, 90,227,188,195,121, 43, 15,133, 2,148,162,105, 26,150,139, 5, 37, 71, 82,138,
-244,155, 53, 58, 78, 28,236, 44, 88, 54, 13,228, 66,229, 13, 77, 93,179,190, 88,113,122,122, 74,183,217,240,183,254,210, 87,121,
-112,124,193,183,223,122, 68,177, 30,127,101,159,207,190,120,141,227,251, 39,180,182,208,238,183,216,221, 67,194,118,195,131,141,
-164,120,197,162,248,210, 75,135,252,107,127,228, 5,254,220, 31,122,142, 12,252,226,215,223,227,159,189,249,144,186, 50, 12,211,
-136, 41, 9,173, 50,173,183,124,253,135, 71, 60,187, 80, 28, 13,142, 62, 91,106, 95, 17, 99,192, 89,241,139,231, 57,143,191, 20,
-129,218, 75, 46,172, 55, 27, 10,138,208, 15,228, 28,105,170, 26,227,156,120,141, 83, 32,230, 8, 37, 49,206, 46, 1,103, 53,169,
-219,224,188,163,219,246,212, 46,227,149,193, 56, 77, 28, 35,211,148, 68,181,108, 10, 37, 43,198,174,163,109,107,148, 50,212, 85,
- 75,158, 70,170,182,198,104,139, 49, 22, 13,100, 36, 7, 61, 5, 69,206,145,186,114, 80, 52,195,166,112,177,142,140, 89,177,222,
-142,108, 55, 43,210,180,229,100, 53,240,230,183,127,200,163,183,223,103,120,240,144,238,225, 3,134, 62,240,255,254,147,239,240,
-214, 59,119,249,253,223,125,135,175,127,231, 46,191,254, 7,247, 56, 61, 91,243,229, 23,111,242,147,159,185,201,201, 89,135,169,
- 13, 83, 82,124,247,238, 5,255,214,191,243,179,184,197, 14, 57, 38, 22, 70,225,235, 6, 93,121,118, 27,139,202,153,195,189,154,
-223,124,103, 69, 42,133,197,222, 46,121, 24,168,124,133,119, 6,239, 28, 33,202,134,145,231,173,206, 40,129,222,245, 37,116, 91,
- 68,253, 95,138,232, 91,138, 82, 51,132, 42,255,148,146,103, 52,170,193,251,138,119, 62,248,152,183,223,255,128, 79,191,244, 2,
-203,229,146,231,110,223,166, 27, 6,142, 78, 79,229, 48, 76, 17,103,165, 85,106,185,179,164,105,127,180,253,196, 24,201, 68,188,
-175,240,115, 6,192, 56, 12,116,195,196,184,221, 16, 99,100,103,185,196, 87,158,170,174,232,182,221, 76, 27,137,207,119,189,150,
- 40,204,202, 73,150,133,179,210, 87,208,247,189,188, 99,179,144,246, 50, 81,172,169, 43,182,221, 70,236,104, 74,146,227,234,170,
- 33,230, 72,201,133, 75,223,240,166,239, 80,206,163,180,102,236, 6,208, 72,207,180,157,185,205, 65,232, 43,101, 50, 33,118, 24,
-147,105, 91, 81, 28,175, 87, 43,214,219, 53, 23, 23,107,169,213,204, 16,147,194, 56,131, 50, 21,144,197,109, 98, 12, 41, 12,128,
-150,108,248,170,230,202,222, 62, 71, 71, 15, 73,195, 41, 75,215,209,159,189,203,197,163,111,179, 61,251,128,229,173,207,242,169,
-215,255,109,154,234, 6,167,247,127,151, 76,134,172, 80, 41,115,112,184,135,119, 14,171,192, 24, 40,165, 80,251,134,162,228, 25,
-213, 90,129,176, 78,164,148, 9, 49,147,139,198,105,185,140,186,205, 57,235,237,134,147,147,115,140,174, 56, 56,184,194,114,103,
-143,170,113,132, 81, 66, 82, 54,235, 53, 25, 48,198,177,183, 92, 82, 59, 77,223, 93, 96,129,171,215, 14,185,117,253, 10, 78,111,
- 8,171,123, 12,231,239, 51, 92,220,101,115,126,196, 94, 91,115,227,198, 85,108,217,176, 57,121,155,245,197, 67, 54,231, 27,206,
-214, 27, 66, 40,140,227,150,113,140,132,113, 69,202, 19, 90,123,226, 54, 18,131, 66, 27,168,236, 72,204, 61,138,194, 20, 2,214,
- 57,182,155,141,156,137, 37,163, 75, 33, 23,197,162,169, 89,236, 44,216,108, 37, 37,210, 24, 35,136,171,175,228, 44, 45, 96,213,
- 76,155, 90,113,171,136, 94, 39,224, 43, 73,208, 52,222,146,103, 61,152,113, 21,198, 88, 17,123,206,168,150,132,162, 73, 79,199,
- 48,140,104,171, 81, 40,250,205,134, 2,244,189, 60,159,211, 56, 97,189, 44,146,130, 58, 15,196, 81,146, 14,149, 82,132,105,132,
- 34,195, 73, 83,139,253, 54, 38,161,178,198,126,132,130, 92,186,218,224,189, 37,147,231,225,199,163,180, 32,148,228, 76,229,189,
- 44,173, 70, 49, 12,146,204,152,139,136,231,180,149,108, 10, 41,186, 73,228, 36, 25, 19, 57, 11, 90, 29,210, 12,247,231,132, 82,
- 26,148,232,172, 52, 66,119, 94,234,193,204,225,141, 27,111,168,121, 91, 30, 71, 57, 76, 54, 93, 71, 8,179,207,175,136, 64,204,
- 91, 11,136, 90, 56,165, 36, 31,244,252, 33,116,221,150,190, 23, 65,128,117,158,213,106,197, 24,132,255,117,198,162,157, 23,241,
- 91, 20,139,144, 82,144,178,134, 28,209, 86,130, 33, 98, 74, 51, 87, 81,144,239, 92, 2, 29, 40,178,161,148,140, 68,192, 86,158,
-177,239,168,235, 90,154,205,114,126, 66, 3, 40,107,137, 81,166,193, 49, 76,196, 97, 68, 91, 67,152,164,199,221, 88, 17, 21, 80,
- 10,149, 19,152, 35,134, 32,218, 21,107, 72, 33,145,178,248, 36, 99, 14,236,180, 11, 57,180, 98,192, 59,207,102,189,193,206,106,
-202, 92,102,145, 94,144, 7,170,148, 52, 59, 3, 70, 66,144,200, 87,239, 37,104,101, 49,167,228, 85, 85,197, 98,103, 7,103, 69,
-121, 74, 46,172,215, 43,198, 16, 41, 69,177,172, 27,177,247,104,205,249,209, 49,222,105, 90,165,168, 43,203,222,222, 46,185,192,
-102,125,134,213,133,163, 71, 15,120,248,224,136,205,249,138,211,179, 51, 82, 14,220,216,173,249,247,126,234,121,222,186,119,198,
-209,105,207,131,147, 45,119, 79,123,174, 95, 89,240,175,126,229, 69,222,251,240, 62, 62,142,148,238,130,159,124,253, 37, 76,152,
-248,233,215,111,240,244,142,225,202,194, 49, 20,217, 22,190,242,217, 91,252,149,255,249,235, 20, 45, 23,131,100,134,139, 39, 20,
-192, 24,197, 63,125,243,152,135,167,231, 79,160,196,186, 18,235,154,113, 78, 32, 36, 36,184, 4, 37, 10,213,146, 1,141,192,144,
- 65,162,117,167, 24, 89, 54, 53,206, 11,236,181,179, 20,159,106, 28,122,198,245, 10,131,198, 90,131,138, 29,206, 89, 10,150,146,
- 11,186,241,114, 1,104, 43, 47,147,177,108,182,219,121,155,169,177,149, 76,230,221,197, 26,173,193,105,141,245, 21,149,215, 80,
- 20,222, 91,198, 41,146,139,248,230,149, 85,212,173,188,124,211, 24,233,182, 9,173, 18,127,249, 75, 87,216,247,138,243,227, 53,
-171,117, 15,155, 11,226,197, 41,123,181,225,221,163,158,172, 13, 55,111, 95,227,143,253,248, 11, 92,189,178,199,149,235, 7, 84,
-149,227,221,143,143,248,224,120,224,221, 71,107, 94,125,254,144,175,126,250, 54,215,247, 61, 87,118, 27,106,167,249,205,239, 63,
-226, 87,127,112,193,123, 31, 29,241,218,205,150, 87, 95,185,201,111,190,117,198, 89, 87,240,149,167, 15,145,119,223,125,143, 77,
-215, 73,169,138, 53,130,212,230,242,228,162,206, 37, 11,204,157, 50, 99, 8,160, 4,146,207, 69,160,120,103,133, 59,212, 90, 58,
- 28, 46,219,219,154,202,211,180, 13,171,205,150,239,254,240, 29,118,155,134, 43, 7,251, 60,255,212,109, 30, 62, 62,230,254,163,
- 35,156, 49, 44,118,118,176,198, 82,213, 53, 49, 39,218,186,193, 56,113,145,228, 92,136, 69,106, 48, 55,221,134,113, 8, 88,163,
- 68, 83,162, 21,151, 17,208,221,166,155,203,136, 60, 49,199, 25, 38,119,148,156,232,123,177,108, 94,114,164,221, 32, 27,140,120,
-198, 45, 93,223,163,181,102, 12, 35,139,118, 73,202, 25,111,101, 88, 47,185,176,222,174,133,242, 81, 10,173, 97,156, 38,154,170,
-194, 96,240,190, 34, 71,225,231,173,150, 16, 16,231, 29, 77,211,144,162,124,134,185,100,166, 36,121, 10,171,109,160,219,244,196,
- 24, 72, 69,196,158,122,166, 27,141,154, 83, 16,211,156,190,167,165, 75,226,241,241, 9,155,243, 21, 15,142, 30,146, 82, 98,179,
- 89,115,118,190, 34, 77, 3,251, 7, 11,106,103,209,241, 49,155,243,247,136,212,236,221,252, 49,250,213,125,198,126, 53, 15, 89,
- 9, 84,102,152, 70,198, 41,138, 6, 5,133,115,134, 82, 52,153,132, 54,242,245,208, 96, 93, 75, 41, 2,181,230, 82, 80, 73,224,
-102,239, 20, 67,223,177,217,174,121,244,240, 33,171,213, 10,235, 43,246,246,175,114,120,120,141,102,209, 80,178,156, 79,171,109,
- 79,229, 91,177, 91,117, 35,165, 68,198,110, 67,223,141,120,107, 88, 46, 42, 42, 99,185,216,116,124,114,116,202,217,217,134, 97,
-154,152, 98,161,144,240, 70, 20,253, 10, 89,248,116,209,228,162,200,121,100,217,102, 14, 15, 12,123,187, 21,206, 25, 82, 42,116,
-163,156,207,198, 90,186,237,150, 52, 37, 66, 39, 91,119,209,115, 62,199,248,163,158,241,186,174,233,135,129, 24, 3,198, 72, 99,
-167,175,228, 62,162, 20, 98,146,220,246,186, 18, 33,110,211,212, 56, 35,219,182,210, 6, 20,244,219, 45, 33, 38,156,158,163,179,
-131, 56, 50, 74,129,144, 2, 67, 55,200,146,186,179,192, 25, 81,181,231, 36, 52, 86,152,100, 24,170,156,220, 73,149, 23, 10,175,
-170, 42,156,151,222,243, 39,217,236, 41,161,138, 2, 20,237,178,197, 85, 30,235,141, 64,250, 65,158,151, 24,231,236,130,185,235,
-194, 57, 65, 51,251,105,100, 24,100,136,173, 43, 89, 84, 55,155, 13,227, 48,138,205,214,136, 11,173,174,107, 41,241, 74,242,156,
-135, 48, 17,166,145,113, 18, 23, 71, 1,164,138,217,224,180,160, 90, 57,103,204,213,155,183,223,184,132, 20,156,247,194,103, 86,
-115,137, 70,140,104,101,208, 86, 97,180,148, 95, 24, 99,176,243, 33,190, 94,111,132, 79,205, 25,173, 20,245, 98,137,210,226,235,
-206, 73,218,116, 82, 42,148, 44, 85,136,151, 62, 64,217,132, 3, 99,148, 23,189,223,246,144, 19, 41, 74,101,163,118,179, 13, 33,
- 69,148, 2,163, 52,218,136, 26, 80, 33, 91,118, 76, 18,229,199,255,239,107, 40,235, 40, 73, 14, 12,177,194, 73,248,195, 44, 65,
-149,112,143,113, 36,151,196,101, 27,154,146,125,155,113, 28, 69,113, 95,120, 34,232, 82, 74, 17,115, 70, 21,129,123,166, 41, 60,
-161, 30, 46,185, 76,173, 21,139, 69, 75, 12,129,156,149, 64,245,117, 69, 85, 73,250, 87, 93, 55, 24,165, 72, 8,220, 40,193, 49,
-242, 34,142, 99, 79,158, 38, 22,222,145,195,128, 43,137,179,163,135,228, 56,177,119,101,135,177,219,178, 89,175,216, 14, 61,167,
- 39, 39, 76,211,192,197,197,185,248,214,167,128,214, 18,182,160,173, 34, 38,240, 86,241,159,254,133,159,228,237, 15, 30,242,224,
-180,231,108, 8,220,216,109, 88, 58,205,189,243,192, 79,124,254, 6,191,253,237,251,188,119, 60,178,176,153,195,214,177, 61, 95,
-241,210, 43,207,210,238,239,145,114,198,228,194,217,122,226,191,255,229,239,210, 24,131,175, 28,218, 56, 17,251, 81,112,206,227,
-141,198,233, 34,225, 45,219, 13, 57, 79, 56,223, 96,236, 44,134, 75,137, 88, 10, 74, 43, 98, 76,172, 87, 27, 98, 8,148, 40,124,
- 21, 57,163, 42, 79,227, 28,221, 48,208,182, 18,219,170,141, 97, 88,159,179, 89, 93,112,251,112,143,167,175,182,220,187,247, 0,
- 79, 33, 39,133,170,101,107,149, 24, 98,201, 46, 56,187, 88,203, 97,156, 19,214,137,104,210, 20, 69, 70, 99,172,134,148, 72, 41,
- 48, 13, 61,113,144, 42,199,166,174,112, 94,244, 15, 20,200,243,115, 84,102,139, 78, 78,145,255,236,107, 79,243, 51,159,187,201,
-171,159,185,195,207,124,245, 21, 62,255,218, 11,216, 27,183,121,234,165,231,249,252, 79,124,129, 47,124,238, 54, 79, 63,117,200,
-215,254,196,235, 60,119,231, 22,223,254,230, 7, 60, 26, 18,183,174, 44,248,254,135, 39,124,114,209,203,176,154, 3,255,240,219,
- 31,241,149,207, 60,197,127,247, 75,111,242,243,255,237,175,241,191,126,253, 49,125,125,192,255,242,207,143,248,175,255,238,183,
- 24,207, 54,252,204, 23,111,243,207,222,185, 96, 10, 35,149,175, 32, 11,207,152, 75, 17,196, 38, 37, 74,153,139,147, 46, 7, 95,
- 5, 97, 30,134,225,210, 70, 40, 27,130,210,151,217,238,162,154, 87, 90,254,212, 74, 63,177,174,166,148,248,240,147, 7, 44,219,
-134, 69,211,112,231,246, 77,254,224,135,239, 80, 80,180,109, 75,204,145, 20, 34,117,221,112,233,145,119, 78, 50,180, 43, 39,137,
-130, 18,178, 33, 57,234,109,219, 80,123, 15, 73,177,237,182, 52,237,130, 82,230,115, 32, 23,194, 48, 60, 25, 0,199, 97,224, 50,
-116,202,213,126, 70, 26, 10, 59,187,187,178, 1, 25, 3,200,123, 39,170,112, 81, 15, 43,163,153,134,203, 86, 64, 17, 51,229, 44,
- 27,141, 49,134,172,228,189, 46, 26,134, 78,130,155, 72,153, 24,203, 12,169, 66, 85, 9, 10,224,230,207,101,103,113,192,118, 20,
-161,173, 65,163, 84,134, 98, 80, 74,158,145, 56, 11,121,149, 50,128, 28,230,117, 93,179,104, 29,253,212, 19,199,136, 54,224,140,
- 98,219,201,129,126,245,218, 21, 20,145,254,236, 99,212,112,159,208,221,147,140,112, 13,245,194, 73,170,221, 80, 24,167, 8, 69,
- 99,148, 34,150,132, 38,113,120,176,203,222,206,130,146,178,228,101,100, 37,153,226, 51,253,152,179, 12, 86, 40, 89,198,202, 76,
-177,104,165,136,211, 72,183, 93,113,252,248,136,227,227, 99,142, 79,206,232,123, 41,226,241,222,178,237, 4, 22,158,210,196,241,
-209, 57,219, 97,100, 12, 35,231,155, 45,167,171,129,117, 47,233,142, 70, 59,140, 5,173,244, 92,110, 37, 86,171,164, 10, 97,234,
- 9, 99,196, 85,176,220,209,236,239, 58,118,118,229, 25,117,222,177, 90,175, 24,134,158,146, 37, 59, 66,228, 69,162, 8, 55,222,
- 18, 98, 98,111,119,201, 56, 4,198,105,124,130,206, 12,195, 40,104,146,147,114, 22,235,172,164, 64,230,252,196, 45,101,140,104,
-150,172,181,148,172,232,135,142,105,144, 75,174,170, 36,112, 71,161,176,109,133,243,114, 25, 75,120,151, 17,129,182, 42, 18,174,
-100,228,142,169,171, 26, 41, 4, 74,104,165, 89, 46, 90,180, 86,164, 20,159,136, 67,101,144, 81,180,109, 35, 89, 44, 69, 42,178,
- 47,243, 82,226, 76, 51, 41,138, 92,176,243,215,181,202, 96,140, 37,151, 36, 97, 55, 69, 52, 47, 0, 37,101, 74,148, 0,168, 68,
- 66, 35, 98,215, 16, 2,227,165, 6,129,140,209,134,202, 75, 84, 51,243, 59,226,156, 36,211,149, 82, 48,214,227, 42,137, 34,247,
-181,147,193,121,255,234,181, 55,180,117, 92, 86,125,250, 74, 38,159, 97,232,101,178, 77,137, 52, 12,140, 97,148, 23,218,154, 31,
- 97,249,169, 80, 74,146,214,164,182,197,104, 77,137, 50,113, 85,149,164,139,229, 52, 79,150, 70, 67, 41,148, 4,117, 83, 19,194,
- 68,142, 17,173,138,168, 25,189,167,169, 43, 10, 69,248,121, 99,101, 87, 47, 2, 57,100, 20, 58, 39, 54, 93,143, 51,162, 4,141,
- 41, 17,114, 34, 71, 41, 61,153,198,137,148, 11,222, 87,196, 56,137,223,214,206, 65, 2, 74,106,242,140,214, 84,190,198, 91, 63,
-115,190,242,162, 59, 43, 86, 50, 50, 52,139, 70, 30, 12, 35, 23, 71,229,165, 14,182,170,156, 64,155, 57,179, 92, 74,159,119, 46,
- 50,245,139, 22, 64,242,199,181, 22,229,126, 76, 34,244,240,222, 11,140, 26, 36, 72, 35,246, 29, 67,183,162, 63, 63,147, 48,136,
-245, 5,105,234, 8, 97, 22,156,105,197,197,217, 74, 38,241,186, 18,207,124, 9, 79,224,155,152,227, 44,140, 16, 62,102,247,202,
- 62,190,118, 16, 19,127,253, 47,188,206,195,251,231,220, 63,186, 64, 25, 71, 85, 50,215,246,107,206,250, 76, 84, 53, 95,126,237,
- 14,159,187, 85,243,206,135,143,248,228,209,154,139,245,192, 79,255,244,107, 76, 33,161, 83,145,174, 97,173,248, 31,254,222,247,
-132,187, 87, 26,107,180,136,242,128, 16, 39,217,206,149,108,241, 86,137, 66,118, 28,122,198,152,136, 81,132, 39,146,126, 52,206,
-209,188, 9,141, 92,230, 69, 21,176, 22, 99, 61, 49, 39,129, 98,103,168,245,248,163,143, 88,157, 93,112,243,234, 33,215, 23,150,
- 78, 53,212,198,114,124,122, 65,181,187, 20, 17,102, 41,180, 85,197,114,103, 23,109, 61, 39,143,143,169, 42, 71, 85,137,144,176,
-100,201, 86, 71, 23,225, 41,181,193, 58,199,114,119, 23,171, 69,112, 57, 77, 19,149,175,104,171,150, 97,154,112, 86, 32,207, 66,
- 33,160,249,133, 31, 59,224,166,141,188,191,245, 60,124,188,226, 96,111,193,171, 47,223, 0,237,248,213,223,120,135,183,222,252,
-136, 46, 91, 94,127,253,121,140,130, 95,255,167,111, 49,110,183,220,190,190,224, 68,213,156,159,172,121,247,164, 99, 61,102, 30,
-175, 2,143, 47, 70,254,206,111,188,205,239,188,117, 4, 64,197,196, 65,219,112,101,233,232,183,107,254,241,155,247,121,120,178,
-226,249,167,175,240,193,209, 6,107, 29,253, 52,112,250,248,132,103,159,186, 77, 83,123,180, 17,212, 66, 46, 51,201,109,160,128,
-181,142,146, 51, 49,101,148, 42, 20,212, 19, 88, 94, 43, 48, 86, 42,138,115,150,119,176,114, 98, 23, 51, 90, 34,124, 99,138, 28,
-159,156, 50,244, 3,109,219,114,176,187,195,131,147, 83, 66, 16,119,137,212, 17,203, 65,180,217,110,132,199,110,151,244, 67, 39,
-195,188,213,148, 40,104,218, 56, 74, 40, 81,200,137,186,170, 24, 58,169,210,172, 42,201, 42,112,214,211,247, 29,206,137,240,231,
-114,179,208, 70,104,164,203,124,130,113,144, 66, 11,239, 37, 17,210,215, 53,181,151,128,168, 48,142,104, 5,190,146, 84,189,148,
-196,173, 99,180,158,173,179,210, 32,183,186, 16,193,159, 20,121,120,166, 32,145,164,250,178,157, 49, 10,221, 83,114,194,184,194,
-110,123,141,110, 28,184,116,115,136,229, 12,174, 29, 30, 82, 47, 26,134,190,135, 82,112, 94,225,140,151,172,240, 4, 26, 77,162,
-144,167,196, 48,141, 52,149, 97, 24, 2,143,142,206, 56, 57,185, 96,179, 21,180, 37, 14,107,249,255,198, 45,155,213, 57, 41, 26,
-158,121,246, 89,114,145,110,132,172, 21,196, 12, 69,172,170,155,174,103, 24, 34, 33, 22,114,129,102,206,203, 15,179, 87, 58, 35,
-225, 40, 10,135,177,106, 30, 58, 68, 44, 88,207,240,112,219, 84,180,181,195, 57, 77,154, 70,210, 20, 33, 11,154, 82, 47, 12, 97,
-144,180,208, 97, 28,200, 33,208, 56,197,254, 97,139, 53, 94, 46, 37,163,216, 93, 46,217,221,113,224,119,241,139, 37,121, 74, 88,
- 91,248, 67, 95,254, 18,215,174, 47,169,189,158, 59, 58,102, 81,162, 82, 12, 51,106,187, 88,182,104,165,102,219, 94, 79,204,145,
-113, 24,165,211, 92,219,249,174,145, 18,146,237,118,141,171, 43, 4, 25, 20,218, 33,167, 44,209,229,198,161,209, 96, 52, 70,139,
-248,184,160,158, 8,199, 82, 22,189,213, 24, 38, 22,139,197,156,124, 40,142, 23,103,173, 84,109, 15,129, 24, 39, 25,148,130,216,
-163, 83,146,231,180,242,179,242,190,150,122,226,122,182, 66, 59, 43,137,138, 10,113, 4, 25, 12,174,146, 64,172,203, 58,108,227,
-220, 60, 52,107,180,250, 81, 63, 74, 14, 9,109, 53, 80,230, 33, 91,162,200,157,183,144, 5, 93,186,228, 24,164,175,162,162,242,
- 14,103, 12, 18,228, 53, 48, 77, 1, 55,223, 27, 90, 41,172,113,248,218,227,172,166,114, 66, 61, 90,111, 69, 49,159, 37,252,169,
-228,140,217,187,118,237,141,156, 11,109, 83, 51, 5,233, 46,175, 42,105,191, 73, 89,166,223, 39,155, 43,136, 88, 44,198,121,202,
- 45, 79,188,224, 2,251, 5, 66, 22,137,190, 88,200,252,252,175, 68,240, 57, 47, 29,202, 18, 21, 42, 91, 93,219,182,144,211, 12,
-147,143, 88, 43, 63,104, 74, 73, 46, 89, 13, 34,206, 19,191, 58, 32,193, 0, 97,132,114,153,232,230,177,222, 99,140, 23,127,173,
-115, 52,117, 67, 83,215, 72,210,155, 76,118,214,201, 67, 96,140,168,204, 67, 76, 79, 80, 5,241, 26, 43,180, 17, 91, 15, 74, 38,
-243, 24, 38,180, 49, 51,119,193,147, 11,157,156, 9, 57, 75, 36,105, 41,228, 60, 7,101,228, 66,215,109,197, 2, 23, 35,218,104,
- 66, 16,127,172, 85,176, 93,157, 50,117,107,166, 77,143,177, 26,103, 69, 4,103, 43, 75, 74,112,120,253,144,148,147,108,201,139,
- 5,149,247,140,253, 64, 93, 45, 68,148,152, 50,237,156,220, 84, 55, 13,139,189, 29,198,113,224,248,108,197, 78,229,248,115, 47,
-239,241,222,221, 99,182, 17, 2,133, 62,100, 14,118,106,214,219,158, 76,225,254,241,150, 43,215,175,241,252, 83,251,252,218,119,
-238,113, 17, 44,255,250, 79,189,194,227,109, 34,132, 68,235, 44,109,235,249,219,255,207,119,241, 51,199, 89,148,130, 44, 47,173,
-213,154,109, 63,224,156, 69,106, 60, 33,199, 2, 42,227, 50, 84, 59, 11,154,166, 69,105, 17,110, 45,218,150,161,239, 81, 41,145,
-141, 97,127,127, 95,120,246, 36, 69, 36,148, 76,183,221,112,113,252, 8,163, 10,159,253,194,103,120,249,133, 79,241,226,231, 94,
-227,124,219,179, 62,121, 68, 23, 10, 86, 87,104,163,240, 77,141,245, 13,174,174, 88, 95, 92,176,216, 89,176,179,179, 75, 65,144,
-144,105, 10, 96,196,174,232, 27, 73,251,203, 90,182,132,245,166, 71,250,140, 45, 41,203,168, 88, 87, 21,139,157, 22,107, 43,162,
- 82,188,180,111,248, 11,183, 70,206, 7,195,218,120,180,130,123, 15,206,216, 76,146,234,180,238, 39, 30,156,245,188,247,201, 5,
-239,127,178,230,124,232,248,254,221, 53,235,108, 88,120,203,199,103, 29, 63,188,123,194, 39, 23, 19,232,140,215, 6,173, 50, 65,
- 73,159,186,209,114, 56,253,248, 87,191,192,254,173,107, 92,189,118,149, 91, 55,111,112,239, 34,210,245, 35, 23,155, 14,173, 53,
- 49, 6,218,186, 97,117,113,193,178,105,177, 70,132,113,218,104, 25, 54,103,205, 66, 46,146, 58,152,139,188, 29,114,159,107, 64,
-150,249, 82,202,140,154, 21,200, 32,162, 90, 5, 74,202, 95,114,206, 12, 33,112,118,177,162, 27, 70, 84, 73, 4, 52, 99,140, 84,
-222, 49, 76,210,174, 23,230,195, 80,105,177, 8,214, 77,139, 49, 14,111, 36,210, 82, 41,249,158, 83,148,252,238,190,235,229,114,
-156,191, 86,138,114,168,250,186, 97, 26, 36,106, 56,151,140, 55,150, 41,140,226,122, 40,242, 30,134, 56, 1, 18,199,106,173,163,
-223,110,231,128,160,106,182, 10, 9, 79,170,181,192,192,214, 73, 0, 81, 63, 77,115,110,131,102, 26,167,249,130,200,120, 39,194,
- 92,129, 68, 35,211, 40, 23,124, 65,130,147, 20, 25, 99, 50,139,197,174,156,103,121,214,225, 16,153,146, 52, 85,134, 73, 50, 60,
- 66,152,168,235, 10, 99, 45, 99, 63,144,138,162,148,217,143, 78,102,154,164,196,233,153,219,183,105,218,134,166,242,148,162, 56,
-184,122, 13, 20,228,172,201,168, 89, 20, 92,211, 54, 13, 79,221,188,193,193,238, 2, 41,206, 82,144, 18,227, 36, 2, 79,171, 53,
- 82, 70, 50,176,191, 92,178,179,183,139,213,210,150,153, 98, 98,119,119, 15,230,203, 68,232,129, 12, 69, 97,156, 20,128,108,187,
- 94,104, 49, 36, 38,252,157, 0, 0, 32, 0, 73, 68, 65, 84,235,200,218, 96,172, 38, 39,136, 83,164, 31, 38, 98, 54, 56,171,240,
-149, 52,141,105, 11,227, 32,159,149,119, 30,215, 46, 89,109,122,198,144,217,158, 60, 34,229, 45,139,182, 37,134, 76,211,236, 83,
-121, 79, 74, 35, 6,141,182, 90, 58, 23,188, 67, 25, 77,237,106, 36,197,109, 75, 46,226, 92, 80, 74, 17,163,120,187, 21, 82, 73,
-124, 9,211, 79,163, 60, 63,195, 52,208,247,146,239,209,119, 61, 49, 78, 40,109,176, 90, 19,166, 72,201,226, 74,154,130, 36, 25,
- 90, 43, 63,191, 82,115, 70,198, 48,226,189, 99, 12, 3,146,248, 38,129, 93,114,128, 3, 48,111,194, 10,165, 68,201, 63, 14, 17,
-239,100, 1, 64, 41, 65, 45,141,216,207, 36, 0, 75,129, 18, 93, 75,206, 25, 40,164, 84,136, 33,146,147, 36,142,166, 48, 39,186,
- 25,205,101,186,160,214,134,156,132, 42,139,229, 50,198, 57,130, 50,148, 34,165, 81,222, 9,165,124, 25, 65,238,156,133, 92, 24,
-227,132, 46, 18, 10,212,245, 18, 80, 38,129, 99, 80, 84, 38, 77, 51, 21,150,196, 30, 58,142, 19,206, 59,204,141,219, 79,191,145,
- 75,194,122,129,227, 52,224,125, 69,136, 18,133,167, 99,164,110, 26,234,170,166,148, 34, 17,157,222,203,131, 54, 72, 3,218, 48,
-141,172, 86, 43,182,219,142,161,235, 8,211, 32,226,185, 92,152,194,196, 48,116,243, 70, 81,232,186,142, 41, 76, 84, 78,184, 10,
- 16,133,189, 49,154,202, 75, 78,180,178, 26, 10,164,156,229, 0, 42,242,155,168,172, 68,163,106,107,105,170, 90, 30,202,105,148,
- 3, 99, 10,132, 56, 49,244, 18,127,104,140, 65,147, 73,185, 60,137,102, 13, 65,138, 35,140, 17, 33,133, 22, 92,232, 73,217,199,
- 20, 3, 90, 89,198,105, 96,232, 39,114,152, 4,130,177,150,205,118,246, 29, 54, 13, 41,103, 66,140, 79,236, 77, 85, 45,159,141,
-117, 94, 30, 86,173,241,214,226,170,138, 28, 37, 45,106,234,123,226,102, 69,154, 36,145,207,213, 21,139,229, 18, 87,139,215, 63,
-103,133,247,162,252, 94,157,175,169,219,138,237,118, 67,142, 73,106, 67,189,136, 64,180,213,120, 91,211, 79, 61,219,109,143,175,
- 29,117,189,203,237,155, 55, 25,198,196, 83,187,153,143,128,167, 66,207,117,167, 56,233, 2,123,251, 13, 99, 86, 92, 91, 8, 52,
-125,180, 25, 25,116,203,181, 70,243,173,251, 3,231, 83,164, 11,153,245,152,120,229,206, 62,239,191,251,128,255,237,183, 63,192,
-168,130,114, 6,173, 29, 57, 10, 60,149,149,116,108,143, 83, 64,101,225, 30,115,201, 24,101,196, 65, 16, 37,233,105,103,111, 95,
-224, 95,173,240,214, 50, 4, 81, 30, 55,173,184, 14,148,146, 11,166, 91, 95,144,183, 91,190,252,233,155,252,236,159,248,163,124,
-230,229, 23,120,250,217, 27,196,169,231,195,247,223,231, 43,175,127,154,211, 62,201,133, 80,137,179, 96, 26, 7, 46, 86, 23,180,
-117, 77,179,187, 16,187, 87,201, 51,140, 39,141,110,125,215, 81, 91, 75, 74, 5,109, 13, 77,179,224,248,248,152,202, 91,156,119,
-226,203,214,134,152, 19, 83, 63,200,179, 57, 26,254,212,181,145, 91,215,118, 57, 9, 5,172, 97,175,245, 76, 70, 51,132,204,118,
- 72, 12, 41, 83, 45, 26,174, 63,119,141,118,191,225,147,143, 86, 68,103,121,254,133,235,220,188,115,141,183,190,255, 9,167,219,
-129, 71,171,248,100, 99,206, 74,161,234, 6,175,228, 64, 31,134,145,189,221,150, 23,110,222,226,165, 23, 94,224,217,103,239,240,
-226,157, 59,188,250,202,107,188,112,235, 22,215,175,239,177,108, 37,228,226,250,222,190, 64,135, 81, 26,165, 52,138,152, 50, 32,
- 8, 81,201,133,148, 5, 30, 44, 5,164, 9, 79, 46,241,203,128,154, 31, 29,168,160,141, 92,150, 49, 73,247,185, 66, 46,254, 41,
- 72, 62,251,249,197,154, 24, 35,182,150, 12,135,237, 86, 90,163,140,210,120, 87,205, 73,145, 98,247,220,174,215,140,147,148, 64,
- 89, 35,161, 25,165,100, 74,146,142,132,170,174,209,198, 48, 77, 18, 40,148,146,188,207,198,206, 60,104, 46,243,115, 32, 98, 81,
-173, 45,227, 36, 73,137,195,216,211,212, 13, 90, 23, 17, 49,105,203, 56, 78, 52,245,220,131,128,148,106,132, 40, 84,154, 64,211,
-153, 20, 4, 37,146,247,175,166,118,158, 24, 34, 83,144,246, 66,113, 7,104, 80,138, 24, 3, 49,204,231,194,216,163, 84,160, 93,
-104,154,166,101,119,103,193,206,114,143,113,140,156,175, 86,196, 80, 68,156,151, 36, 55,222,251,154,110,186,236,196,136,160,120,
-242,121, 91,109,104,155,150,245,249, 57,103,171, 19,114,154,184,122,112, 5,140,197, 26,241, 74,147,179,112,181, 70,241,254,135,
- 31, 51,134,204,114,167,225,252,108,197,181,235,215,209,202,204,130,189,140, 85,144, 74,100,181,190, 32, 77,137, 97, 74, 18,218,
- 18, 38,166, 48,177,191,183,135,162,204,203,145,151, 1,219,202,187, 18,227,136, 49, 21,168, 66,140,153, 56, 77, 88,123,233,220,
-113,242, 89,206,103, 74,179,239,201, 67, 70, 27,241,145, 23,219,112,114,118, 78, 24, 34, 90, 5, 82,232,231, 75, 78,122,238,173,
- 49, 28, 28,222,164, 31,214,108,214, 23,132,146, 80,128,243,213,124, 30, 75, 80, 87, 41,242,179,138, 82,221, 97,157, 67,219, 31,
- 21, 52,237, 44,151, 40, 43,246, 86,178, 56,148,166,105, 34, 78,153, 66,158, 7,198, 8, 40,218,166, 65,198, 49, 41,114, 49, 90,
-134,249,166, 93,224, 43, 7, 69, 2,141,140,209,164, 92, 40, 89,212,134,117, 93, 9,194,107, 61,149, 19,173,136, 46,133,166,109,
-197,221, 21, 47,235,132,133, 94,213, 70,232,170, 20, 35, 41, 77,228,185, 13,173,164, 4, 69, 60, 53,185,136, 37,249, 50,111,228,
-146,198, 3,200,162,120,198,217,217,133, 98, 61, 86, 9,239,173,200, 56,237, 73, 57,201,160,172, 20, 69, 43,166, 57,147,165, 36,
- 41, 41, 18,237,138, 60,207, 49, 73, 64,214, 56, 10,250, 57,133,137,156, 69, 47, 32,237,156,162,126,215, 26,204,149, 27, 55,223,
-208, 64, 81,242,129, 89,227,184,244,253, 57,231, 69,216,101,140, 8,186,102, 65, 67,152,166, 39,240,197, 56,202, 7, 97,125, 69,
- 63,183, 96, 21, 36,167,246, 98,117,129, 72,248,211, 92,115, 39,155,148,209,210,246, 20, 83, 20,190, 44, 78,140,253,128,247,118,
-134, 81,107, 50,242,119,170,153,223, 15,147, 4, 15,148,146, 81, 69,188,159, 5,168, 91, 49,221,251,202,163,208,243,244, 22, 8,
-227,248, 68,205,168,103,200, 38,134,137,144, 4, 2,218,246,226,203, 69,203,180,102,157,197, 91, 71, 81,144,194, 68, 46, 2,213,
-199, 41,144,201, 79, 32, 45, 73, 9, 26,169,106, 81,206, 86, 94,146,227,156, 23, 37,175,115,210, 50,165,140,240, 45,214,106,202,
-250, 19,158,185,234,184,121,243,128,221,218,240,218, 23, 94,225,225,221,135,172,186,158,166, 94, 80, 20,104, 5,125, 55, 48, 78,
-145,182,173,112,182,198, 56, 75,214,130,145,212, 77,203, 24, 7,206,207,215, 24,239,112, 85,195,193,254, 62, 74,105,202, 56,176,
- 94,111,201,202,240,149,189,129,127,255,199,110,178, 58,186,160,105, 43,150,113,226,246,149,150,227,190, 48,197,204,162, 50,124,
-114,220,177, 13,129, 59,207, 95,103, 79,103,254,199, 95,121,155,207,191,124,157,131, 74,241,209, 15, 63,226, 95,252,214,183,248,
-205, 7, 2,173, 78, 67,160, 89,180, 24,132,139, 82, 40,116, 1, 95,121,134,105, 34,165, 68,229,107, 48,134,126, 59,208, 54, 2,
-119,118,227, 72, 49,138,113, 20,241, 92, 70, 34,118,173, 53,172,207, 78, 25, 46, 46,232,251,158,102,236,248,218,237,154,157, 59,
-207, 97, 43,207,221, 15,239,114,255,189,143,104,134, 83,142, 30,175,216, 61,216,101,183, 93,112,255,147, 7, 12,195,200, 56, 73,
-121,135,177,138,213,102, 77,127,118, 65,140, 3, 10,135,115,208,173, 54, 20, 3,222, 40,182,155, 11,198, 52, 97,149,161,204, 52,
-207, 48,140,104,149, 41,200, 37,128, 42,196,144,201,227,200,178, 86,252,165,175,221,225, 27,247, 35,215,246,119,185,125,208,176,
- 29, 35,215,158,186,194,197,102,226,209,201,154, 27,135, 75,206,207,183,248, 69,197,250,104,205,163,199, 43,142,207, 7,158,221,
-205,252,189,111,222,231,123,239, 31,209,107,205,201, 86, 54, 69,138,162, 88,141,182, 21, 49,102, 82,201,168,146,217,108, 70,124,
-211,240,224,232,136, 97,156,248,240,227,187, 60, 56,186, 71,213, 58, 30, 62,184,203,149, 27, 75,110,221,185,202,176,150, 60,119,
- 51,111,234,227, 52,205, 27,223,172,202, 77,146,199, 96,180,216,247, 46,189,220, 41, 11,178,166,129, 48, 15, 1,133,121, 75,138,
-153,152, 34, 83, 76,179,248, 72,218, 4,167,249,114,180, 64, 40,138,126, 16, 72,222, 90, 71, 63,191,231,151, 29, 6,206, 57,198,
- 65,222, 19,231, 28,221, 56,204,200,154, 70,207, 97, 52, 33, 8,220,105,180,193, 58, 47, 98, 34, 43, 5, 78,165, 8,207, 94,213,
-146,222, 21, 66,198, 24,233, 98, 32,201,249,177,221,110,197, 47,239,188, 12,130, 70,156, 45, 97, 26, 73,185,208, 46, 22, 56,103,
- 81,104, 54,235, 53,138, 68,211, 46,168,107,241,244, 86, 85, 67, 46,179,109, 42,103,156,175,160, 20,148, 1,149, 51, 20, 48,206,
- 98,144,204,237,202,123,233, 63, 79, 61,168,128,115, 25,223,238, 49,246,114,121,146, 19,164,130,118,142, 91,183,110, 83, 89, 47,
-219,229, 60, 92,169, 34,195,252, 98,185, 64, 27,135,246,142,177,159, 24,167, 34,135,186,175, 24,199,158,139,243, 11,134, 97,100,
-181, 90,211,245, 43,194,208, 51,197,137,245,234,130, 92, 68,148,120,229,234, 13,198, 56,205,195,153, 12,108, 86,201, 96, 97,108,
- 77,200, 96,181, 34, 37,113,150,236, 52,158,131, 43, 7,178, 33,150,194,122,117,206,102,179,229, 50, 71,195, 59,169,161, 45,104,
- 82,142,108,183, 29, 25,216, 89,212, 84,190,166,104,136,147, 84,120, 42, 83,179,237, 38,182,219, 21, 87,118,106,110,220,186,134,
-213,154, 24,164,173, 50, 23,141,202, 25,163, 21,198, 89,110, 92,127,154, 82, 18, 97,146, 66, 18,237, 36, 46,181,169,235, 89,236,
- 42,119,138, 50,179, 29, 18,216,110, 58,194, 36, 73,159,190,170,230, 51, 84, 58, 33,140, 21,254,187,109, 91,218, 86, 6, 49, 9,
-180, 74, 72, 93, 12, 79, 4,215,214, 73,118, 7,136, 77,110,156, 41,148, 28, 5, 37, 26,198, 17, 82, 18,240, 42,101,225,188,231,
-239, 71, 27,201,136, 87, 86,114, 32,172,147, 97, 34, 4,201,104,177,102, 30, 82,179,184,170, 40, 69,242, 5, 0,138,216, 13, 1,
-196, 82, 37,209,229, 40, 69, 70,138,185, 64,158, 59,209,101,105, 64,129, 46, 92,210,103,105, 70, 87,148, 81,228,152,169,171, 70,
- 62, 43,167, 69,220,107, 13,206, 24,140, 19,143,127,201, 82,114, 22,130,252,153, 98, 36,132, 17,235, 60, 85,229,136, 89,222,115,
-115,120,227,230, 27,121,158,216,189,243, 79,124,129, 74, 41,169,202, 84,122,134,157, 2, 74,171,217, 50, 35,124, 67,179,216,145,
- 45, 34, 37,172,146, 15,123,156,228, 65,204, 89, 38, 25,129, 56,100,155, 19,155,152, 76, 57, 50,101, 11, 92, 81,178,112,114, 49,
-202, 37,110,172,157,197, 45,145, 28, 5, 10,243,222, 83,148,136,127,156,151,239,161,118,238,137,135, 79, 41, 0, 41, 86,185,140,
- 15, 20, 72,166,208,247, 18, 90, 48, 78,129, 48,206,125,184, 37, 51,133,132,168,215, 3, 83,148,224,140,161,239,169, 23, 11,185,
-156, 42,129,104,198, 49,160,181,194, 59,177,187, 25,109,225,114, 35, 82, 82, 49,232,156, 52,189,153,121, 11, 48,136,143,119, 89,
-182, 76,219, 11, 62,251,249,207,176,187,191, 43, 97, 50, 97,228,229, 87, 94,224,171,255,202, 31,230,252,244,140,213,106,133,171,
-106,180, 41,248,202,210,119,115, 79,123, 85,129,115,132, 49,145,179,162,170, 37,107,122,209, 46,161,204,214,194,156,240,174,102,
-231,202, 33,203, 69,139, 61,255,132,159,248,252,211,248,202,241,240,116,203,160, 12, 59, 41,114,231,160,229,189,147,129, 71,219,
-136, 93, 56, 94,125,241, 58,167,155,200,151,126,236, 57,222,124,231, 19,126,235,221, 19,126,243, 91,159,240,253,187,231,108, 98,
-225,131, 73, 20,160,139,157, 37, 41,202,229,167, 84,193, 42,197,152, 35, 74, 43, 42,231,229, 50,113,226,243,188,108,109, 27, 99,
-196, 21, 73,222, 83, 70,202, 11,188,213,196,190,103,245,232, 1, 97, 18, 33,224,157,167,238,240, 66,119,252,255, 49,245, 38, 65,
-150,101,247,121,223,239, 12,119,124, 83,206, 83,205,213, 85,213,232, 9,221,232, 6, 26, 68, 3, 4, 65, 16, 2, 5, 18,148,194,
-146, 77,209, 33,135,229,240, 20,146, 67, 22,195,246,206, 11, 7, 54,142,240,214, 27,109,188,241,194, 86,200,178, 77,219, 52, 45,
-135, 69, 91,164, 8,142,104,140,221,232,121,170, 57, 43,231,151,239,189,251,238,120,206,241,226,127,179,160, 70, 32,186, 17,168,
-206,202,124,117,239, 57,255,225,251,126, 31, 43, 47, 92,103,230, 39,156,220, 59,101,103, 99,139,168, 46,249,236,188,230,209,209,
- 49,105, 54,225,157,247, 63, 5, 87, 83, 21, 75,162, 84, 82,255,102,231, 11,140,119,140, 55, 87, 25, 12,215,232,218,138,131,131,
- 35,210, 65, 74,108,228, 32, 49, 64,164, 13,109,111,185, 90, 27,143,136,179,156,233,233, 28,229,101, 42,213,182,178,163, 62, 57,
- 17, 32,199,223,124,121,139,131,211,138, 75,155, 9,222,196,172,236,172,240,204,222, 26,135,211,146,237, 73,206,234, 40, 99,144,
-192,225,147,130,163,179,130,214,138, 40,107,111,109,133, 70,195,217,162,226,241,172,161, 44,165, 24,148, 78,221, 18,140, 2, 39,
- 9,113, 73, 38, 49,137,207,220,186, 74,177, 44,250, 98,185, 65, 91,205,217,233, 9, 93, 72, 56, 62, 58, 3,175,136, 76,130,111,
-127, 17,150, 2, 32,153,206, 1,130,140,250,146, 68, 96, 36,242,162,203,179,237,131, 8,167,154,174,235,119,238, 34,168,147,174,
- 71,172, 62,242,247,154,249, 98, 65, 81, 44, 69,104,216,143, 30,163, 52, 37,201,114,218,186,195, 68,150,174,174,201, 7,131,254,
-243,146,241,101,221,246, 62,220, 68,216,211,105, 28, 97,180,208, 40, 47,126,127, 17,188,201,129,164, 16,223,177, 96, 59, 37,105,
- 80,194,138,106, 4, 6,212,144,231, 57,117, 93,147, 36,169,224, 67, 59, 79, 54,200, 81, 64, 91,213, 96,196,211, 27, 66, 0, 5,
-174,237, 88,214,203, 94,196,234,122, 43,156, 20,111, 89,150, 82, 87, 13, 73,150,128,151, 41, 69, 20,197, 68, 70,227,130,176,182,
-117,255,185,169,128,136,158,156, 8, 49, 37,184,163,194, 90, 88, 93,217, 70, 41,241,152,163,197,130,151,166, 17,129,142,141,205,
-109,210,124, 64,150, 38, 76, 70, 3, 38, 43,235,180,222,177,152,139, 43, 0,101,208, 70,129,130,209, 32, 71, 5, 77,217, 84,116,
-173,116,126, 77,211,209,120,135,198,200, 88,188, 3, 27,193,198,218, 58,222, 7,202,106,137, 81, 6,107, 64, 91, 75,221, 54,100,
-113,254, 84, 11,164,145,113,240,178, 89, 82, 87, 53,190,147,196, 59, 71, 36,107, 80, 20, 4, 97, 91,232, 40,198, 32,216, 93, 31,
- 68,135, 96, 99,177,128, 5, 45,225, 42, 77, 7,179,233, 49,205,114, 38, 69,162, 71, 52, 11, 86, 19, 16, 52, 56,202, 96, 34,129,
- 28,137, 32, 83,177,182,190, 75, 80,142,162,152,202,222, 60,207,159, 78,135, 22,139, 57,218, 26, 66,240, 44,151, 75,186, 78,214,
- 44,113, 28,209,182,194, 89,215, 74, 38, 24,109, 35, 17,217, 89, 38, 25, 3,210,141, 27,186, 78,138,136, 36, 77,104,218, 6,231,
- 58,241,169, 39, 6,213, 23, 59,109,211, 17,144, 98, 77, 68,179, 2,104,210,218, 18,160,223,167, 55,212,109, 43, 29,183,162,215,
-216,136,123,196,154, 62, 2,182,243, 8,244, 76,238, 57,133,162,108,132, 79, 66,144, 79, 85,166, 50, 30, 77, 32,120,240, 29,178,
-114, 12, 30,215,201, 90, 76,222, 73, 73,113,211, 70,222, 5,107, 45, 86, 9,215,196, 41, 48, 90, 38, 14,109,211,208,182, 53, 1,
-232,154, 6,101,100,221,224,250,247, 72,107, 69,218,139,145,149,209,184,182,195, 59, 89, 1,180,109, 43,133, 89, 8,132, 0,102,
-125,107,251,123,114, 89,246, 68, 52,163,233,154, 94,112, 96, 52,224,169,170,138, 36, 75,196,151,158, 10,136,197, 70, 34,106,144,
-113, 12, 44, 22,146, 53,174,148,146, 29,116,156, 50,204, 82,242,193,128, 44, 19,105,254, 69,206,186, 40, 25, 35,193, 55,142,134,
-146,162, 99, 68,201, 26, 69,130,138, 85,214,146, 38,177, 84,226, 74,113, 17, 82,161,141,116,249, 4, 25, 47,150, 85,133,239,250,
- 92,103, 31, 48,177, 17, 15,180, 85,184,224,201, 51,233,228,101,255,102,136,250,253,190,233, 21,194,105,146, 97, 35, 75,215,186,
-167,221, 79,154,138,255,118,177, 40,136,210, 4,215,182, 52,173, 40, 53,155, 86,252,140, 77,213, 80, 86, 37,193, 5, 58,239, 41,
-171, 26,171,148,116,219,109,131, 14, 29,105, 59,229,252,232,144,149,141, 45, 22,231, 5,243,186,100,107,107,141, 89,227, 57, 91,
- 46,185,113,253, 50,247, 62,248,132, 44,203,168,218,138,233, 89,137, 38, 98,122, 94,224,156, 99,144, 79, 88, 25,175,178, 50, 26,
- 17, 69, 26,107, 21,229,124, 65,177, 40,200, 83, 65, 46,198,253,132, 64,105,176, 73, 70, 58, 59,224,255,122,243, 35,174,174, 79,
-168, 59, 79,156,197, 68,218,178,112, 45,137, 81,188,244,242, 85,142, 26,133,118,158, 60,143,104,150, 29,239,124,180, 79,177,104,
-201, 34, 79,237, 53, 47, 95,155,240,193, 76,114,223, 37, 93, 47,162, 94,150,152,126,135, 41, 35,240,154, 40,146,252,110,165, 53,
- 93,213,226, 93, 75, 32,192,133, 86,161,170,112,109, 67,121, 62,165, 56, 63, 35,183,134, 81,170,249,237,127,235,219,252,251,127,
-247,239, 17,187, 22,167, 2, 87, 94,255, 22,227,201,170, 88, 84,226,192, 34,192,225,233, 28,167,107, 54,247, 54,185,255,240, 0,
-231, 90, 58,192,234,128,247, 10,107, 13, 54,177, 88, 35,144,155,211,163, 19,108, 34, 96,155,131,179, 25,101, 81, 64, 8,104, 99,
-232,186, 6, 27,203, 40,205,198, 49,211,249,185, 88,168,186,142, 65, 44, 46, 14,109, 44,113, 26,241,245, 27, 67, 8,129,120,101,
-133,221,221, 9,103,247,142,185,127,239,152, 60,177, 52, 77,135, 81,138,123,167, 37,147, 65,202,230,192,114,239,176, 96,119, 53,
- 39,142, 21,179,121,195,189,253, 41, 54,142, 57,152,215,116, 78, 70, 48, 1, 37,123,239, 78,144,203, 26,249,190,126,235, 55,126,
- 21,107, 52,123,151,214,217, 88,223,100,122, 54,227,116, 58,227,195,119,223,103,103,103,139, 44,233,195,124, 26, 81,215,130, 28,
- 2,206,139,162, 92,105, 45,239,104, 95, 24,119,253,243,235,156,192, 75,234,186,162,115,190,239,174,228,152, 58, 62, 59,227,244,
-124,202,225,225, 17, 7,199,199,204, 22, 75,102,243, 5, 62,128, 54,162,224,237, 58,143, 81,208, 6,112,157,160,141,179,254,178,
- 29,142, 71,196, 54,166,109,107, 98,155,144, 13, 18,240, 10, 15, 50, 14,212,154,200,136,221,208, 33, 1, 22, 90,235,167, 10,122,
-173, 37, 52,230,194,146, 19, 39, 9,113,175, 78, 14, 94, 44, 75,206,203,191,147,231, 3, 41,204, 3,232, 72,242, 32,234,178, 34,
- 4, 47, 42,248,186, 21,245,115,211,225,232, 63,131,182,195,133,174, 63,216,133,223,237, 58, 79,156, 70, 44,151,101,175, 17,145,
- 95,107,180, 17,116,171, 22,226,164, 64,176,236,211,198,161,107, 59,170,122, 73,221, 76,201,243,140,213,245, 13, 86, 70, 67, 38,
- 43, 35,202,229, 57,218, 52,212,205, 41,174, 91,146,103, 6,173, 65,105,197,112, 48, 65, 41, 67,221, 84, 40,101,250,159,169,101,
-109,117, 12, 74, 49, 28, 14, 81,193,163,173,194,183, 8, 19,196,136,232,214, 88,141,213, 17, 54,146, 4, 63, 57, 23,107,148,145,
-134,101,101, 50, 65, 27, 43,170,247,190, 91, 84, 65, 99, 35, 69,240,142, 14,141,210, 22,156,236,215,181, 54, 36,189,182,168,235,
- 2,145, 53,216, 40, 33, 77, 35, 98, 27,225,149, 97, 94,148, 52,203,146,197,217, 49,117, 49, 21,241,160,141,250,231,214, 97, 12,
- 12,178, 1,249, 80, 44,190, 42,136, 78, 67, 41, 69, 83,215, 84,149, 68,110,175,174,237, 97, 35,205,124,113,134, 81, 18,150,226,
- 58,177, 2,214,117,139,181,162,191,176, 70, 4,172, 70,235,167,211,147,166,174,169,171,234,169, 88,178,170, 91,162, 72,236,137,
-214, 24,226, 88,244, 82, 74, 75,116, 51, 90,226,184, 67, 80, 2, 23, 82, 26,165, 33,137,229,126,177, 86,130,181,226,254, 18, 84,
- 33,144,229, 25, 38,138,208, 65,145, 36,114, 39,217,200,210,186, 14,173, 68,124, 40, 94,116,176, 70, 38,183,218, 72,182,130,172,
-130, 65,196,168, 94,158,183,224, 9, 94,247, 13,165, 20,210, 65, 1, 1,180, 50,125,225,106,209, 26,172,141,233,235, 13,130, 7,
- 99,165,217, 13, 74, 65, 16,108,108,108, 35, 2,112,225, 18,107, 91, 89, 97, 4,144,198, 24,240,254,226,123,144,201, 99, 8,160,
-181,124,214,210,116, 58,204,230,222,165,239, 41,173,251, 67, 58, 98, 89, 22, 40, 45,208,153, 36,142, 89, 46,151, 76,198,163,167,
-106,107, 5,132, 0,243, 69,239, 97,108,107,218, 86,194, 90,180,214, 36,249,128,209,112, 40,163,252, 88,208,117,222,123,148,214,
-212,181,164, 99,217, 40,194, 7,193,135,198,113,132,210, 50,110, 81, 70, 19,245, 23, 60, 65, 42,144,162, 40, 88,150, 37, 85,245,
-175,197,142,106,129,111,160,197,247,170,180, 36, 75,105,109,201,178,148,160,164,122, 53, 74, 30,128,178, 92,202,168,176,255, 62,
- 4,156, 33,213,190, 82, 74,198, 47, 73,207,255,206, 82,180,150, 4,171,139,104, 74,155,197, 61,112, 70,224, 59, 77, 45,193, 48,
- 73, 42,145,122, 23, 74,127,173,192,135, 64, 98, 97,107,108, 24,102, 67, 70, 99,195,147, 71,135,216, 60, 39,203,135,252,240, 39,
-159,178,185,190,131, 53,154,127,241, 7,127,204,221,199,231, 60,220, 63, 37,132,136,151, 94,122,153, 36, 77, 24, 12,115, 46,108,
- 20, 46,116,204,166,231,184,186,161,152, 47,201,243, 68, 58,144,197,146,241,202, 42, 73,158,211, 17, 24,143,115,102,197,130,217,
-209, 17,255,221, 63,250, 6,101,211, 50, 47, 90,158, 28, 23, 12, 86, 18, 78, 91,197,179,159,187,196,214,192,210, 46, 11, 78, 78,
-150, 28, 30,206,136,146, 8,181, 44, 73, 85,195,239,254,141, 23, 24,174,142,184,182,150,243, 47, 62, 60, 37,142, 45, 70,105,210,
- 76,246,146,202,121, 90, 2,137,149,202,183,127,206, 9,222,227,219,150, 40,137, 9, 90, 17, 17,225,131,195,230, 18,142,240,236,
- 70,198, 87, 95,186,202,206,234,132,201,100,133, 47,127,237, 87,249,201,219, 63,103,122,239, 99,242, 43, 55, 81, 73, 66, 28, 37,
- 44,202,130,193, 40,102, 56, 76,121,251,237,159,113,190, 40,120,252,240,136,101, 53, 71,148,248, 17,203,162, 69, 25, 72, 7, 57,
-109,231,112,109,135,107, 36,233,200,198,226,206, 80, 14,156, 2,109, 59,234,214,179, 44, 43,180, 49,140, 39, 35,218, 74, 24,202,
- 10, 72, 18, 75, 89, 55,120, 58, 54, 54,183,208, 74,243, 91, 47,174, 48,157, 85, 96, 12,235,169, 38, 89, 31, 17,180,102, 81,181,
-228,145,230,232,193, 25,105, 30,115,124, 94, 49,200, 35,102, 11,199,102,110,105,188,102,119,103,133,195,147, 25,251,139,146,243,
- 69,139,150,251, 22,148,198, 1, 81,108,137,148, 2, 21,240,173,231,235, 95,252, 2, 33, 40, 92,211, 49,159,205, 49,157, 23,229,
-255,206, 30,235,235,171, 12,134, 99,172,141,168,139,165, 28,238, 61,212,199, 5,121,169, 67, 8,210, 97, 42, 89, 47,249, 32,107,
-179, 16, 46, 14, 33,245,244,255,171,154, 22, 13, 60,120,248,136,101, 33, 9, 92,129, 30, 53, 27,228,125, 41,138, 37,222, 7,214,
- 86, 87,136,140, 70,197, 25, 73,150,210,117, 29, 23,162, 87,173, 20, 24, 77, 85,247,160, 11, 35,151, 87,148,244,201, 84,173,100,
- 75, 59, 47,155, 79, 27,201,103, 45, 34, 59, 89,163, 41, 37,170,125,109, 52, 42,120,186, 86, 58,186,170, 22, 61, 76, 54,200,165,
-145,232,223, 83,231,100,247, 24, 41, 17,196, 41, 37,225, 64,117,221, 48, 24, 12,145,192, 15,104,155,150,225,112, 72, 20, 75,220,
-110, 85, 85,196,113, 76,135,167,170, 43,185,224, 34, 25,255, 11,157, 50, 32,209,198, 98,175,147,110,205,226,157,199, 70, 34,190,
-189, 80,216,151,203, 25,193, 21,248, 80,211,117, 11,186,182,162,243, 50,218, 37, 56,180, 85,132,208, 80, 86,103, 4, 21,200,243,
- 21, 38, 43, 43, 98, 15, 14,129, 72, 9, 65,113, 52, 30, 96,180,102, 52, 90,225,210,222, 14,147,149, 21,156,215,212, 85,129,214,
-210, 9, 2,228,121,196,100, 60, 98, 60, 26, 18, 39, 9,121, 98,201,211,148,201,100,157,241,120,181,159,136, 10,117,206, 88, 67,
-154,198, 24,101, 25,230, 67,246, 46,237,161,144,168,232, 97,150, 97,140, 38, 77, 34,172, 86,216,216,146, 70, 49, 77, 83, 81, 87,
- 75, 22,103,231,116,109,137,247,237, 83, 14,133, 88,255,250,231,180,147,142, 51, 27,164,228,105,206,120, 60, 38,138, 37, 8,233,
-130, 56,216,182, 13, 85,219, 81,215, 37,235,235, 59,189,134,166, 4,239,101, 79,236,229,179,174, 26,241,121,183, 77, 39, 66,103,
- 68, 92,109,181, 37,120, 17,150, 53,173, 16, 29, 67, 63,233,109,234, 6,109,196,198,216,180,109,223,209,182,196, 70,114,206,219,
-174,165,109,106,170,170, 34,244,235, 35,163, 21,160, 9,174,195, 1,174,117,232,224,233, 60,136,125,205,163,149,228,106,152,190,
-184, 72,227,244,105,129,220,185, 11,253, 74,143, 41, 15,200, 59, 66,192,117,226, 67,239, 90, 65, 77, 7, 60,244,197,176,136,214,
- 36,152, 70,105,113, 7,249,224,161,127, 87, 59,231, 8,136, 53,184,245,194, 38, 33,200, 4,212,185,126, 61,164,181,168,250,147,
-152, 40, 73, 80,200,215, 14,158,126,194,165, 80, 94,145, 38,130,144,150,226, 36, 35,141, 4,159,222,180,173, 16,229, 8, 34,104,
- 51, 74,227,157, 99,178, 50, 33,142,172, 84, 9, 94, 72, 80,129, 64,185, 44,105,234, 37,101, 89,209, 58,193, 67,102, 89,250,180,
-234, 73, 51,177,117, 89, 43, 18,255,182,105,105,157, 99,185, 44,169,170, 26,215,255, 64, 89, 34,120, 86,107, 69,252,226, 59,129,
-145, 4, 2,177,181,180,222, 61, 77, 76, 19,148,160, 40,190,155,126,180,223,180, 98, 97,176, 81, 68,181, 20,175,124, 62, 28,160,
-140, 34,138,108,239, 65,116,164,121, 38,202,199,182,198,107,200,210,193,211,159, 69, 48,172,138, 40,145,156,220,170,174,200,146,
-132, 98,177,120, 42,196, 83, 72, 66, 91,214,119, 25, 18, 30, 16, 97,181,230, 34,196,190,170, 42,130, 82,100,105,130, 82,200,101,
- 60,123,204,238,213,203, 60,249,240,109,214, 38, 57, 54,139, 56, 62, 47,113, 93, 96,119,117,194,221,143, 62, 65,197, 9, 47,124,
-254, 37, 94,255,210,171,252,131,127,240,239,241,159,254,195,127,200, 55,191,241, 75,252,159,191,247, 63,241,226,222,136,111,255,
-218, 95, 99,111,111,151,122, 81, 65, 44,158,251,208,212,164, 89,130,177,154, 56,177, 12,135, 57,139,226,156,227,131, 35, 62,250,
-240, 83,233,190, 42,207,119,238, 76,120,245,206, 85, 94,127,229, 26,179,121,193,209,121,195,202, 40,227,180,168, 72,108, 68, 82,
-213,220, 76, 3,239, 62, 89,112,184,104,121,233,133, 75, 92,218,154,240, 95,255,179,159,225, 48,172,143, 19,238,158, 44,153,151,
-162, 14, 55,214,160,189,198,171,142,182,115, 98, 55,210,134,224,156,116,238,120,178, 36, 34, 40,241,242, 59,239, 88,223,222,230,
-141, 47,126,129, 27,147, 17,207,239, 14,113, 54,227,248,224,156,175,252,218, 55,184,127,120,198,221,183,223, 99,237,242, 13, 46,
-223,185, 67, 85, 58, 54,183, 55,216, 63, 56,228, 15,127,239,255,224,157,143, 63, 36,201, 44, 85,221,225, 48, 24,175, 88,150,142,
-209,234, 4, 29, 69,212,174, 35, 77, 82,134,195, 17,101, 19,152, 47, 43,188, 11, 44,150, 37, 73,154,225, 20,212, 69, 67, 89,203,
- 11,163, 34, 73,101,170,138, 5, 73,150,145,229, 3,206,166,103,104, 52,137,141,152, 21, 21,217, 32,101, 49,157,114,123, 59,229,
- 87, 94,188,204,163,211, 18, 90,207,218,234,144,120,144,112,242,248,140,198,117, 44,203,150, 98, 86,114,214, 8,123,122,117, 24,
- 51,202, 99, 58, 5,233,100,192,201,253, 99,238,159,148,156,150, 93,159,189,167, 80,202,224,189, 28, 12,198, 40,178, 56, 35, 79,
- 35,118,198, 17,227,200,176,190,182,198,104, 56,226,193,195,123,232, 56,230,240,240, 9,237,178,164,243,134,217,124,129,114,191,
-224, 38,128, 8, 72, 85, 8, 4,164, 27,245,157, 19, 14,130,115,148, 85, 67, 80,178,202,146, 7,146,190, 24,237, 40,235,150,179,
-217, 57, 98, 51, 18,110,180,214, 50, 82, 85, 74,163,131,167,170, 26,150,203,130,243,197, 66, 14, 50,215,145,196, 9,117,211,200,
-106,174,173,251, 98, 57,193,185,150,160, 36, 80,167,174,170, 94,100, 27, 75,222,130,150,160, 39,201,130,246, 56, 39, 23, 80, 18,
- 37, 2,122,106, 58, 81, 56, 43, 73, 33, 52,198, 66,240, 4,175,250, 29, 97,194,124, 62,151,213,132, 11, 36, 3,113,217, 44,138,
- 5,117,211,112, 1, 28, 49,218,244,204,135,166,255,185, 58,140,149,176,160,225, 96,128, 3,178, 84, 0, 31, 46,116, 79,139, 34,
-217, 9,203,244,206, 94,172, 8, 0,173, 20,101, 83,139, 51,192, 57, 46, 82, 19,147, 36,161, 42, 75,218, 86,138,194, 56, 21,202,
-153, 53, 98,239,108,154,166, 23,120,117,100,137, 37,132,130,186, 94, 82,213, 37,171,147, 9, 93, 55,103, 56,146,119,165,170, 5,
-103,171, 77,204,241,225, 1, 59,151,175, 17,188, 76, 84, 92,159,167, 93,148, 11,154,178, 98,177,152, 50, 28, 78,200, 7, 35,124,
- 48,184,224, 89, 93, 29, 11,119, 61, 79, 25,228, 25, 86, 55,172,173, 76, 64, 71, 88, 3,163,225,144, 64,203,100, 48, 96,190,156,
- 81, 87, 21,231,231,115,166,167, 39,194,189, 40, 23, 44,230, 37, 93,219,161,173,150, 78, 22, 77, 8,210,237,203,165,167,228, 44,
- 11,158,206, 75,134,120, 85, 11,249,113,152,203,218,117, 58,155, 19, 90,207,133,181,217,251, 64, 93,214,108,237, 92,193,104,197,
-124,126, 70,154,103,104, 52, 77,235,122, 65,101,159, 77,222,182,196, 54, 65,107,225,245, 71,241, 47, 92, 82,229,178,194,185, 14,
-208, 79,191, 23, 16,149,122,146,245,185,234,189,240,217,119, 29, 74, 5,134,195, 49, 58,182, 61,173, 46,160, 85,144, 34,197,137,
-181, 76, 71,146,164,168,228,138,148, 14, 55, 4,148,150,247,178,237, 58, 92,224,169, 29, 27, 47,100, 69,173, 13, 81, 44, 48,157,
- 72, 91, 80,253,148, 76,133,167,151, 50, 2,124, 68, 91,225,121, 92,112, 33,228,194,150,175, 79, 80,125,161, 21,203, 59,220,137,
- 40, 80, 71, 6,163,101,199,143,247, 79,139, 26, 21,130, 88,190,251, 73,169,141,197,213,101,173,208,246, 2,226, 96,112,222, 99,
-148,162,108, 58,140,146,189,189, 25,172,174,126, 79,198,118,226,227,142,173, 37, 73,133, 77, 92, 46,151,228,195,156,197,108, 78,
- 85, 85,180,174, 21,177, 15, 64, 16,161, 74,240, 80,214,130,128,117,222,209,186, 86,130, 89,186, 78, 46, 95,223, 17, 89, 25, 17,
- 27,163,241, 78, 14,218,166, 23,222,200,174, 79,198, 33, 77, 35,118,145,184,191,240, 35, 35, 30,189,164, 23, 81, 68, 81,244,116,
- 90,112,161,214, 95, 86, 21,160,168, 27,177,147, 57,215,145,165, 9,117,221, 16,240, 20, 69, 65,211,200,161, 24,153,136, 69, 89,
-210,182, 18,223, 87, 53, 53,174,199, 77,118,157, 39,142, 99, 34, 99, 88,204,231,208, 63, 76,113,146, 80, 46, 11,108, 28, 81, 45,
- 27,156, 2,180,161, 92, 10,249, 8, 64,161, 73,210,132,106,185,100,195, 44, 24, 12, 86,120,249,185, 91,252,191,255,223, 91,108,
-237, 93, 98, 86, 26, 46, 93,185,202,100,117,147, 79, 62,248,144, 47,125,229,117,158,187,113,137, 87,158,191,205, 11, 47, 61,203,
-217,201, 19,158,124,248, 54,255,248,191,253,199,156, 62,126,200,139,183,183,201, 98,195,147, 79, 63, 98,165,171,169,155,146, 78,
- 43,140, 82,220,125,188,207,225,254, 49, 71,211, 51,246, 31,159,112,114, 60, 69, 69, 17,107, 27,235,236, 93,190,194,112,180,134,
-159, 31,241,183,191,243,121,202,162,230,234,206,132,227,186,229,189,253, 57,167,251, 51, 74,215,145, 26,233,162,242, 60,230,133,
-231,175,112, 84, 53,104,107,120,237,153, 45,254,247, 63,255,128, 66, 25,190,120,103,135, 63,125,231, 49, 27,155, 19,217,223,160,
-176,253,218,163,170,106, 6,121, 38, 15,186,181,156,159, 23, 68,177, 68, 53, 62,123,125,139,111,190,241, 26,215,118,246, 40,102,
- 5,143, 31,124, 70,131,230,201,147, 83,190,250,237, 95,102,188,181,199,244,241, 41,175,126,233, 75,172, 93,189,142, 66,224, 12,
- 77, 83,240,224,179, 79,121,251,253, 15,185,122,105,194,199,247, 78, 65,197, 12,211,132,208,235, 34,226, 56, 33,205, 6,156,158,
- 45,152,140,198, 52,117,197,104, 56,100, 56,204,177, 70, 51,200, 19,226, 52, 19,241,162,213,108,238,174, 51, 28,142,161, 3, 21,
- 41, 58, 31,152, 78,207,104,170, 37,171,147, 85,134,163, 1, 27, 27, 27,156,158, 76,137,146,152,196, 87,252,238,119,158,231,206,
-213, 85,126,250,201, 33, 31, 60,156, 81,148, 45,179,121,197,229,157, 49,103,179,138,213,173, 21,138,147, 57,227,201, 0,173, 20,
-179,170,102,103,107,140, 77, 99,158,191,190,193,159,255,236, 62,159,158, 20,180, 46,224, 84,127, 81,224, 9,166, 31,149,123,153,
- 64, 93,219, 91,103,148, 41,158, 28,159,243,228,224, 49,199, 79, 30,178,183,181,197,149,221, 77,182, 86, 86,121,244,228,132,170,
-147,139,105,111,115,157,233,249, 2, 99, 52, 77,215,209, 52,141, 92,222, 65,246,140, 33,132,190,107,145,139, 92,246,205, 10,124,
-223, 93, 4, 65, 46,215, 85,197,108,190, 32,142, 18,148,238, 87, 24, 86, 32, 28, 90, 43, 60,130,228,108,187,142,166,107,169,138,
- 57,231,103,103, 76, 79, 78,152, 77,207,105,155, 26, 21, 2,101, 93,147,231, 41,117, 45,209,143,105,154, 18, 37,137,116,204, 74,
-172,114, 1,208, 65,225,251,195,222,216,168,199, 49, 87,212,117,135, 82, 26,250,110,166,110, 26, 57,224,180, 34,201, 82,138,229,
- 82,120,232, 54, 6, 37,157,138, 54, 17,117, 37,147,132,193,104,132, 10, 34, 96,106,125,139,210, 86, 70,248,136,160,212, 5,143,
-198,147,102, 25, 16,232,234, 14,165,165, 83,146,119, 85,108,173, 77, 43,239,175,137,101,212,125,129,187,110,234, 26,250,145,166,
-119, 78,206,150,126,149, 23,197, 61, 69,175,110,136, 34, 5, 70,126,230,160,132, 82,233,156,116,139,222, 95, 64, 90, 22, 44,151,
-103, 64, 71, 20, 69,120,223, 34, 59,110, 71,215, 46,137,162,192,114,113,204, 96, 56, 98,178,178,202,198,218, 6,217, 32, 33,182,
- 49, 77,187, 4, 29,136, 98,203,233,249, 9,109, 43, 44,139,217,226,140,114, 57,103, 81, 44, 88, 20, 51,208,158, 54,120,180,238,
-184,126,253, 22, 79, 14,159,176, 44, 10, 76, 20,115,114,116, 74, 81,212,116,109,131,234,207,207, 36,146,105,166, 50, 6,193,210,
- 6,130, 19,240,215,250,234, 42, 43,147,137,188,147, 85,137, 86, 10,101,100, 20,223,214, 53,117, 43, 98,231,193,112,136,119, 34,
- 40,243, 33, 16, 16, 1,109,221, 53, 84,197,130, 52, 29,179,186,182, 3,202, 81,150, 5,170, 23,136,213,189,219, 32, 77, 83,148,
- 82, 84,203, 5,157,247,180,174, 69, 41, 71,189,108, 81, 70, 38, 22,198, 42, 6,195, 1, 93, 85,227,188, 39,142, 5, 21,171,251,
- 21, 84, 26, 11,138, 56,138, 37, 60,133, 16,122,203,155,135,208,139, 42, 91, 33,239, 5,231,209,200, 36, 85, 44,202,125,176,138,
-138,176, 90,196,152, 4, 79,211,136, 75, 35, 31,228, 36, 73, 66,232,159,153, 40, 53,104,228,114, 6,225, 60,104, 45,118, 55,240,
- 82, 16,225,241,157,132,193, 0,178,162,232,223,123,109, 52, 40,112,174,215,150,105,133, 87,208, 53,237,211,130, 61,168,128,239,
-196,138,136, 17,155,184, 82, 2, 63,146, 36, 83,135,214,146,191,226,131,196,177, 38,113, 76,219,120,172,209, 4, 47,154, 53,179,
-186,185,249, 61, 2, 76, 70, 57,121, 30,145, 36, 18,145,186, 40, 10, 34,219, 71,189,105,141,235, 58,134, 3, 1,174, 68,253, 37,
-219, 54, 45,141, 19,139, 88, 64, 20,226,214, 70, 79,213,225, 18, 74, 0,202,106,162, 52,150,253,102,232, 80,198,162,141,140,112,
-149,214,168, 40,166, 40,151, 64,192,198, 49,101, 41,191,119, 20, 89,108, 95,117,187,254,191, 93, 43,106,211, 40,137,193,183,132,
-122, 78,221, 74, 38,116,113, 62,165, 46, 75,206,206, 78, 89,206, 11, 34, 3,109,117, 46,138, 85,165, 9,125,214,177, 15,142,174,
-169,101,244,130, 88,124, 20, 98, 35, 48,214, 8, 74,176,169,169, 90,137, 3,149,232,190, 64, 28, 25, 34,163,209, 74, 99, 98,219,
- 19,191, 28,195,225, 16, 23, 60, 67,189,164,169, 29, 47,127,237,117,222,253,225, 15, 41,170,115,110, 61,119,155,221,205, 21, 60,
-154, 87,190,240, 69,154,166,229, 59,191,254, 77, 30, 60, 62,224,222,135, 31,112,101,119,147,247,255,248, 15,217, 75, 3,223,255,
-201,135,124,249,229,231, 73, 71, 67,154, 38,166, 73, 86, 89, 26,203,201,209, 9,155,107, 99, 9, 51, 25, 79, 72, 71, 67,174, 93,
-187,202,205,155,215,153,172, 14,184,114,249, 18,235,171, 99, 86, 87, 87, 24,140, 70,188,255,224,148,239, 62, 19,179, 58, 30, 50,
-211,154,103,175,108,242,242,157, 29, 62, 58, 89,210, 46,107, 12,220,182, 41, 0, 0, 32, 0, 73, 68, 65, 84,178,214,115, 80,180,
- 48,200,217,203, 21, 87,119,215, 25,175, 12,169,170,134,255,245,207, 31,242,232,112,201,239,254,246, 23,248,253,191,252,140, 72,
-137, 50,212,196,150,174,113, 68,105, 66,108, 12,231,197,130, 40,178, 52,157,163,168, 91,110, 93, 90,231,155,223,120,141,103,118,
-119,228, 26, 27,142,216,189,118, 29,109, 60,203,105,195,171,111,188,140, 51, 35, 30,220, 59,229,214,157,103, 49,195,156, 75,123,
-187,104, 95, 65,181,224,173,119, 62,226,175,254,228,143, 89, 54, 45,179,233,146,203,207, 92,101,144,164, 84,213,156,170,241,100,
-163, 1,173, 51,140,135, 67, 44,226,137,206,242, 1,222,137,205, 48,205,100,244, 62,200, 19,150,101, 69, 28, 69,184, 70,246,120,
- 77,215,177, 50, 24,178,182,182,142, 50,150, 98,185,164, 44,101, 60, 56, 91, 44, 48, 74, 81,181,158,235,171,150,255,234,119, 94,
-163, 37,224, 27,199,131, 39, 83,182, 39, 25,211,166,197, 85, 29, 15,206, 22, 92,222,158,176,119,117,131,155,151, 87, 56, 58,152,
-179, 61,136, 57,157, 86,140, 38, 25,155,147, 33,111,190,183,207,123,251, 51,210, 72, 64, 76,157, 20,242,172,165, 49, 78,105, 18,
- 43,186,144,213,241,132, 71,251,103, 76,198, 25,203,162, 22,113, 81,170, 57, 61, 61,166, 41, 75,178,209, 16, 29,103,252,230, 55,
-191,206,175,127,237, 43,252,244,157,247,144,156,106,193, 97,138,125, 76,192, 22,162,169, 48, 98,239,106, 59, 73, 89,236, 90, 41,
- 55,149,128, 73,188, 19, 80, 83, 81, 44,209, 70,172,127, 23,214,183,139,169, 89, 28, 11, 12,196, 70, 34,178,130, 94, 12,213, 79,
- 99,187,182,161,169,106,138,217,148,211,195, 99,186,182, 5, 47,147, 0,107, 98, 90, 87,201, 42,204, 59,154,166,166,237, 92, 47,
- 2, 4, 19, 5,249,122, 81,132,181,138, 54,116,228, 73, 76,116,177, 10,195, 83,183, 29,117,219, 48, 26, 14,168,202, 2, 99,148,
-192,150, 90,153, 2, 88, 19, 99,251, 51,193,249,128,228, 59, 40,140,130, 44,149,184, 98,165, 84,127,192,121,146, 56,145,177,125,
- 44,201,141,145,150,159, 81, 43,131, 10, 82,200, 24,107, 9,161,161,237,106,154, 70, 50, 7,154,166,101,144, 75,161,104,181,238,
- 63,155,132,170,146,136,101,133,116,248,109,227,168,170,178,159, 32,202,247,154, 38, 98,229,173,234, 90, 20,248, 61,149, 44,137,
- 34, 58,215,176, 92, 46, 5,202, 83, 85, 68,145, 1,213,224,155, 26, 99, 91,188, 91,160,104, 88, 20,167, 24, 85,145,167, 26, 27,
-193,217,244, 16, 21, 26, 84,168, 81,186,195,106,135,214, 14,107, 29,105,140,216,166, 84, 75,240, 82,212, 93,190,116,157,143, 63,
-249, 8,107, 45,131,209, 8,241, 86, 43, 8, 30,130, 67,153, 95,172, 93,180,130,224,133,199, 46,157,101, 68, 62,200, 25,142, 70,
-212, 77, 43,103,162,145, 0, 31,165,149,248,173,107,135,177,134,149,201,132,193, 64,226, 82,181,150, 47,143, 14, 20, 11, 89,119,
- 6,163,216, 92,191, 66, 20,107,142, 79,143,168, 42, 73,167, 84,113, 76,215,180,148,101,137, 15,224,125, 32, 78, 6, 40,167,201,
- 6,162,129, 74,211, 4,165, 13,137,149, 20,208,193, 96, 32, 5, 69,219,144, 38, 66,233,172, 59, 79,211,137,210,125, 89, 11,223,
-189,118,221, 83,154,165,168,237,197, 46,230,157,239, 63, 7,215,107, 21,132,163, 47, 58, 45,233,166,181,149, 21,114, 63,184,193,
-251, 30,156,166, 69, 55,214, 5, 72,226, 72,114, 70,180, 17,123,154, 53, 82,212, 24, 67,112, 13,198, 42,160,159, 92, 56, 73,160,
-172,170,134,174,105,101, 63, 31,196,109,165, 21,160,100,178,108,148,172,200, 34, 43, 26,138,166,170, 9,206, 11, 60, 45,137,112,
-109, 35,107, 3,231, 80, 8, 73,209, 0, 30, 8, 78,120, 50,226,138, 17, 71,128,185,116,245,218,247, 18,109,192, 10,142,174, 88,
-204,101,183,165, 36,204,193,218,158, 64, 21,197, 40, 20,117, 93,179, 44, 75,148, 82,189,141, 76,150,245,198,200, 62,222,181,141,
-120,255, 8,146, 85, 27, 75, 8,138, 40, 6,229, 15, 48, 4,240,174,235, 69, 52, 10, 21, 4,118,144,166, 82,137,185, 86,172, 35,
-206, 59,178, 60, 39, 77, 18,118, 54,198, 92, 89,143, 81,237, 57,227,212, 49, 61,122, 72,164, 78,249,194,179,207,241,155,223,120,
-131,175,254,210,243,188,241,149,215,184,117,237, 18,207,222,190,201,157, 91,219,236,110,174,241, 43,111,188,206, 87,190,240, 60,
- 59, 91, 19, 12, 29,153,214,172, 78, 38,220,190,113,137,157,141, 1,155, 27, 35, 82,211, 17,154, 37,147, 36,144, 42, 69, 22,199,
-204,151, 37,174,117, 92,228,124,163,117,191, 15,146, 73, 4,206,137, 62,192, 70, 40,173, 73,195,146,205,220,242,133, 47,127,145,
-233,233,140,197,221,143,216,216,217,228,236,228, 4, 48,188,242,234, 43,172,164, 17,151,183,215,121,244,224, 46,215,111,222,192,
-215,142,119,222,252, 43,124, 85,242,251, 63,254,132,247, 30,156,242,165, 87,110,114,248,240, 33, 77, 61,231,189,187,119,153,158,
-207, 56, 95, 46,216,220,217, 34,143, 53,181,107,217, 88, 29,177, 40, 22,156,157, 30, 81,204,166,204, 23,115, 78, 78, 78,101,108,
-122,122,194, 39,251,103,116,139, 5,223,249,229,231,200, 93,199,124,190,228,199, 63,189,139, 43, 43, 38,177,229, 60, 55, 92,219,
-156,208,181,142,135, 39, 37, 79, 30, 28,114,120, 60,101, 77,181,188,127,120,206,173,157, 1,191,245,245,219,252,241,207,159,112,
- 58, 43,209,180,196,113, 66, 23,160,152, 23,162, 76, 13, 16,169,142, 33,138, 97,164, 56, 63, 47,249, 59,191,249, 29, 14, 78, 78,
- 24,142,214, 25,175,109,210, 46,230,184,229,130,235, 55,175, 51,171, 20,155, 91, 55,249,202, 27,111,112,180, 56,161,169, 75,254,
-224,247,254, 55,126,252,195, 55,249,211, 55,127,204,178,108, 57, 58, 58,162,174, 90,130,214,148,101, 69,150,106,158, 28, 47, 40,
- 43,197,249,188, 98,109,117,131,191,245,221, 95, 35,205, 82,214, 55, 55,121,225,206, 45,142,143,142, 57,159, 79, 9, 65, 2,126,
-130,131, 52,205, 8, 33, 96,141, 97, 56,204, 80,198, 18,148, 32, 43,173,210,172,172,172, 98,227,136,101,185,164,173, 75,170,174,
- 99,144, 15,249,198,179,107, 84,139, 5,159,222, 59,227,222,195, 83,212, 96,128, 73, 35, 22,243, 18, 22, 53,227,224,152,157, 87,
- 44,171,150, 60, 50,204,170, 6, 19,132,131, 62, 45, 61,123, 59, 99, 62,254,236,136, 79, 14,102,120, 45, 47,176, 67,225, 58,197,
- 51,155, 3,206,106,217, 29, 43,163,153,228, 41,155, 43, 3, 30, 31, 77,137,140,161,108, 28,167, 39, 51,158, 28,157,114,124,178,
-192, 97,169,186,150, 59,215,175,241,165,207,191,200,229,221,109,222,122,255, 35,166,179, 25, 23,121,207,214, 70,116, 78,186, 98,
- 64, 44, 46,253,190,216, 59,255,180,115,183, 90, 19, 20, 56, 39,170,236, 11, 30,133, 15, 1,133,140,250, 36,215, 89,192, 75, 70,
- 27, 46, 2, 85,158,126,241, 32,163,105, 57,139, 68,141,221,148,194, 3, 40,231, 51,138,249, 28,215, 9, 12,195,251,126,199,143,
-216,171,242, 65, 66,215,202,110, 81, 5,112,125,145,237, 93, 0, 28,101, 35,246, 88, 99, 44, 81,100,104,234,154, 56,146,236,243,
-182,109,201, 7, 3,170,166,161,109,101,181,224, 26, 97, 55, 88,163, 48, 74,124,231, 77, 91, 11,200,166,215, 6, 25,101,229, 32,
-118,162, 7,104,154, 6,141, 20, 55,157,115,148,117, 69, 18,247,188,255, 70,190,239,225,112, 72, 85,213,132,254, 60, 2,177,235,
-213,149, 36,213,225, 69,137,144,101, 25, 24,232, 92,192, 70, 17, 89,154,210,180,142, 36,210,148,139,146, 52, 23, 1, 86, 89, 85,
- 88, 45, 81,211, 4, 25,189, 86, 85, 69, 64, 78,245,182, 21,218,164,182, 17,139, 98, 33, 16,146,166, 98, 89,136,232,184,235, 36,
-138, 51,138, 44,197,114, 65,231,164, 99,203,178, 84,120, 31,181,192, 87,186,166,161,174, 27, 97, 25,116, 53,217, 96,200,181, 43,
-215,136,211,132,241,104,192,120, 52,194,104, 81,246, 71, 54,162,117,242,135, 26,130,251,197,136, 88,105, 84,191,147, 61, 95, 44,
-229,242, 51,146,233,173,180,150, 75,221,104,240,224,113,180,117, 67,148,196, 68,113,202,202,202,132,241,202, 10, 70, 25,177, 20,
-187, 86, 70,195, 93, 71, 93, 87,140,198,107,128, 99, 81, 76, 73,210, 12,171, 46,196,171,153, 20, 30,131, 1,214, 24,188,212, 21,
-212,149, 32,197,147, 68,148,238,131, 44, 39, 50, 18, 90,226,156,132, 80, 21, 85, 45,130, 62, 45, 43, 23, 89,225, 40, 52, 50,125,
-210, 90, 70,247,109, 43,211, 22,173, 52,113, 36,197,175,234,255,163,141,192,205, 46, 66,194,180, 66,132,216, 70,139, 43,161, 19,
-207,186,232,165,100, 69, 21,188, 88,169, 93,219,208, 5,193, 94,107, 45, 98,185, 72,235,167, 34, 79, 41,190,101,106,230,125, 32,
-205,250,156,248,254, 47, 31,124,191,186,104,159, 90, 38,101,114, 36,107,161,214, 11, 34, 88, 7, 5, 42,244,197, 57, 40, 21, 16,
- 5,126,175,169,233,133,149,145,213,180,157,136,156,204,229,235,215,191,103, 19,201,242, 22, 59,150,160, 8,179,129,248, 3,171,
-186,193, 26,241,140, 86,125,200,194,197, 14, 66,178,207,101,249, 79, 8,196,218, 18,180,116,178,203,101,249,244, 7, 51, 70, 58,
- 1,140,236, 23, 35, 35, 30, 70, 27, 75,199, 78, 8, 16,160,243, 29,190,115,172, 76,198,228,131, 20,154,146,149,129, 35, 90, 76,
-153, 31, 62,228,227,119, 63,193,119, 21,239,126,114,204,241, 89,195,215,126,249,235,108,239,236, 17, 15, 19, 38,171,107, 16,106,
-118,119,198, 76, 70, 99,238, 60,123,147,189, 75, 59,124,242,222,187, 60, 57, 61,230,246, 11, 47,242,220,243,207,113,235,230, 21,
-190,253,205,175,178, 49, 30,242,237,191,246,117,252,114,198,134,246,252,225, 31,253, 8,186,130,117, 83,146,151,167, 76,212,130,
-216,213, 24,229,233, 90, 71,240, 29, 69, 85,179, 44,150, 84,117, 77,217,139,247,234,186, 38,138, 12,227,200,177,181,125, 73, 82,
-215,134, 3,190,255,175,254,138,224, 91,214, 7, 35, 94,251,242,171,124,240,163, 31,113,188,255,128,163,227, 39,196, 70, 83, 21,
- 37,127,246,253,239,163,109,224,199,239, 61,226,221,199, 83, 70, 58,112,247,209, 35,222,252,100,202, 59,247, 78, 88,212, 2, 58,
- 49,113,196,201,241,148, 79, 30, 61,230,201,147,125, 14,206, 78, 56, 62, 58,231,120,118, 78, 81,118, 24, 29, 49,156,140,177, 38,
-162, 89, 86, 92,127,230, 6, 7,115,199,111,127,126, 76, 50, 30,241,103,127,245, 46,239,125,240, 4,223, 5,102, 62,176,150,199,
-188,187,191, 96,255,116, 78, 92,201,158, 88,215, 53,126, 36,149,247, 43,235, 17,235,235,171,252,201,123,251, 60, 56,152,211,212,
- 45,195,204,242, 95,254,163,191,203,206,213,203,188,241,194,179,188,112,231, 38,137, 59,229,218,218, 26,119,238,220,198,163,169,
-171, 6,167, 12,187, 55,159,225,232,241, 1,239,255,252, 99,158,127,245,203, 4, 50, 86,247, 46, 51, 24, 90, 30,220,255,132,229,
-249, 25,111,253,240,109, 62,249,244, 83,118,247,182,120,241,115,207,243,248,225,125, 82, 11,235,107, 99,214,214,183,120,240,248,
-136, 96, 50,156, 75,120,253,151, 94,227,149,207,191,192,215,191,252, 58,239,189,245, 41, 94,181,236,172,175,209, 52, 45,135,143,
-247,169,154, 14,213, 58, 84,212,143, 97,109, 68,231, 21,117, 41,232,227, 44, 73, 89, 20, 11,242, 81,138,178, 50,122, 78,227,148,
-225,104,140,177, 17,227,113,206,188,116,140,148,227,223,252,218, 77,230, 39,103, 92, 75, 2, 3, 11, 15,155,192,218,250,128,182,
-238, 56, 84,154,177, 85, 68,206,241,112,127,206,185,135,224, 2,161,237, 24, 13, 82,214,214,135,232,174,225,222,147, 41,167,149,
-235, 15, 14,177,185,108,142, 51,206,155, 95,236,225,106, 87,209,225, 80, 38,166,108, 28,105,154,144,245, 7,240,245,171,215,248,
-209,123, 31,227, 9,252,198, 55,191,193,218,104,204,112,144,243,198,151,190,192,225,201, 9,135, 39,199,114, 0, 18,168,235,154,
-186,169,233,218,142, 44,203, 40,138, 37,113, 36,238, 14,148, 2, 36, 88, 71, 33,126,245,166, 31,159,138, 26, 90,190, 71,175,130,
-184, 21, 90, 17,128, 74,222,184,248,221, 77,127, 64, 6, 2, 73,212,195,162,148,238,247,191, 14,117,209,225, 5, 79,181, 44, 41,
- 23, 5, 40, 73,231, 75,211, 76, 4, 64,198, 18,247,221,174,141,162,126, 12, 45,235, 57,185, 44, 37, 35,125, 48, 24,160,144, 21,
-128, 54, 90, 14,126, 99,168,235, 26, 99, 45, 89,154,138, 38, 38, 4,137,134,109, 68, 33,156,101, 49, 93, 43,184, 97, 31, 36,127,
- 26,228,176,206,210,132,197, 66,210,227,154,182,145,177,109,150,209, 52,162, 15,201,115,113,226,164, 73,138,243, 29, 81,156,160,
-149, 56, 96,140,178, 44,171, 26,109,100, 47, 31, 37, 17,105, 44,197, 78, 83, 75,248, 7, 86, 70, 49, 94,123,177, 11, 40, 40,155,
- 70,180, 40,145, 48, 45,234,166,195, 35,107,134,225,104,212,239,143, 19,226, 52, 97,185, 40, 69, 35,160, 4,205, 93,213,226, 10,
- 72, 99, 97,111,104, 45, 97, 69, 32,168,216, 44,205,105,186,134,216,104, 41,238,226, 8, 97,131, 71,114, 30,107,152,207,166,236,
-236, 92, 37, 75, 34, 20,154,179,233, 20,148, 98, 56, 26,139,235,192, 73, 23,170, 20,160,100, 52,156, 68, 49,222,137,104, 56, 50,
- 22,215,201,152, 24,173, 9,161, 67, 41, 35,173,184,146,221,112,231, 28, 77, 37,159,103,189,172, 80, 38,102,109,101, 13, 99,122,
-155, 88, 87,245,163,236, 14,223, 5,182,182,118, 56,159, 30,225, 93,135, 64,104, 18,172, 22, 96,209,114,185,196, 43,112, 77,131,
- 22,157,160,104,157, 26, 17, 55,251,206, 81,213,194,251,183, 70,146,204, 12, 10,163, 69,187, 5, 90,196,118,218,115, 97, 29, 83,
- 70, 61,125,158, 49,170, 39,222,245,218,137, 0, 23, 12,120, 29, 12, 4,228,125,242, 34,160, 3,104,186, 86,222, 95, 45,158,114,
- 99,165,121,141, 34,139,233, 63, 35, 99,196, 63,158,167, 57,206,117,200,154, 72, 8,172, 90,107, 52,194, 83, 73, 18, 1,205, 16,
-100, 50, 45,148,197,190, 56,142,164, 59, 15, 94, 70,240, 54,178,196, 81,140,210, 32, 60,150,240,116, 74, 34,223,168, 20, 10, 1,
- 17,215, 61,253,154,253,244, 65, 43, 48, 91,123,187,223,107,107,241, 69,227, 3, 93,159, 48, 19, 39, 49,139, 98, 9,206, 97,172,
- 36,212, 60, 29,189, 71,130, 94,189,248,223, 26,225,255, 10, 68,192,138,210, 92, 5, 81,137,123,135, 81,146,194, 38,214,139,136,
-196, 10,126,207, 57, 71, 87,119,248, 32, 29,239, 48,139, 25,196,150,237,220,161,230, 15, 73,172,162,153,213, 24, 2,127,249,222,
- 35, 90, 61,194, 14,134,124,235,215,190,204,183,191,245,101,174,238,109,178,179,181,206,253, 15, 63,129,229,140,229,233,148,135,
-159, 29, 80,206, 11,172,246,188,245,179,247,112, 13, 60,115,249, 10,143, 62,189, 11,193,115,247,227,123,132, 96,121,255,131,247,
-248,211, 63,248,127, 48,157,227,100, 90,240,254,221,135,156, 46, 28, 15, 78,107,238, 77, 91, 78, 11,199,238,181, 17,169, 63,103,
-123,160, 49,245, 9,169,246,164,186,197, 24, 65,117, 22,203,134,200, 6, 82,230,188,240,194,203, 40, 87,115,126, 94, 17,165, 3,
- 14,239,125,204,151,191,252, 18,183,158,191,205,242,252,132,174, 94, 98,179,140,199, 39, 11,254,217, 63,255,115,166,231,251,196,
- 86,113,122,240,132,233,121, 77,225, 96,125,103,139, 75, 87,110,178,182,178,198,104,156,177, 62, 78, 49, 77,133, 14,134, 69,209,
- 81, 86, 45, 10, 75, 22,229,108,109,111,177,189,181,201,202,120,140,242, 29,224, 73,122,145, 96, 85, 20,236,159,206,184,179, 25,
-243,252,237,109,110,236,109,177, 58,180,124, 58, 93,178, 59,201, 88, 91, 31, 50, 61,175,185,180, 61,198, 36, 49,167, 39,115, 80,
-134,245, 72,203,197,148, 37, 92,219, 91,231,159,255,100,159,131,147, 37, 46, 4,206, 23, 21,245,236,132, 91,119,118,153,159, 21,
-188,245,147,191, 4,103,121,254,249,235,108, 95,187,202,139, 47,189, 72, 50,200,217,185,252, 12,190,236, 40, 43,205,175,255, 27,
-127,139,173,237,109,158,185,181,201, 40, 73,249,167,255,195, 63,229,173,183,222, 38, 40,195,123,239,127,200,246,230,132,174, 88,
-114, 54, 59, 35,120,136, 6, 57,201, 32,165, 11,154,131,195, 99,190,240,202,171,252, 59,191,243,183,137, 18,205,104,176,202,103,
-247,238, 98,115,249, 25, 63,250,240, 67,108, 36,113,181, 33, 82, 8, 74,184,194, 70,194, 66,207,226, 4, 31, 36,120, 65, 71,150,
- 97, 54,161,172, 42,234,170,230,232,108,138, 15, 30, 27,193,114, 89,246, 22,203,140,251,143,142,248,111,254,195,175,114,103,164,
-249,163,159, 31,146,142, 18, 94,188,181, 71,211, 42,170,214,241,165,107, 19, 74,165, 40,130, 97,111,103,204,214, 40,230,100, 90,
-144, 79, 6,172,174,230,152, 36, 33,104,203,143,223,217,231,188, 17,117,171,214, 98, 67,107, 92,203,246,234,152,243,170,195,106,
- 75,215,120,206,231, 37,139,249,146,196, 26,138,122,137,239, 28, 15,159, 28,114, 52,157,179,177,189, 69,177, 88,240,157,175,127,
-141, 60,207,153,205, 11,148,130, 23,110,221, 98, 99,117,141,199,135, 7,228,105,202, 27,175,189,194, 47,189,250, 10,191,253, 91,
-223,225,119,190,251,215, 57,155,207,249,236,193, 35,178, 84,146,236,130,119,104, 99, 49,214,210,117,178,191,171,170, 82, 68, 75,
-145,193,249,142, 44,203, 73,146, 8, 23,100, 52, 25,124, 63, 81, 0,154,182,166,169,101, 28,216,180,253,136, 58,138,176, 86, 99,
-181,140,251, 66,232, 29,249, 65, 84,244,117, 89, 50,159,158,178,152,207, 25,140, 6, 84, 85,213,239,154, 61,109, 43,129, 34, 73,
- 58,144,125,104,239, 42,169,155,150,178,172, 88, 46, 75,188,119, 88,107, 48, 72, 96,197, 5,248, 35,138, 99,154,166,166,105, 26,
-178,172,207, 95, 15, 94, 64, 37,131, 28,215, 57,180,146,241,127, 81, 20, 34,102,109, 26,210, 52, 38,203,228,224,109, 59, 79, 28,
- 11,131, 33, 79, 19,150,165, 32,107,139, 69, 65,211,119,206,117, 83,209,117, 98, 57, 75, 18,193, 77, 23, 69,137,242, 80,213, 2,
-161,137,147,132,128, 8,105,157,235,136,163, 30,254,161, 36, 49, 75, 27,177,198,217, 88,118,183, 33, 64,250,116,229,225, 9, 58,
-160,131,197,196, 18, 13, 28,197, 98, 53,139, 35, 97,220,171,200,200,148,176, 7,139, 24, 19,131, 18,135,128,119, 30,173, 44,117,
- 93,226,157,251, 69,225,148, 38,212, 85, 67,215, 53,156,159,159,178,182,186, 65,146,231,124,252,233, 39,220,187,251,128,114, 81,
-176,190,185, 65, 32,160,116, 76,231,164,179, 75,250, 34, 74,217,136,206, 5, 20,189, 40, 83, 3, 30,130, 22, 80,138,137, 36, 97,
-175,243, 98, 99,149,196,178, 14, 23, 20, 93, 83,129, 86, 12, 7, 67,130, 10,232,160, 9,253, 13,234, 67,192,152,136,155, 55, 62,
-199,209,233, 19,113,168,104, 97,245, 27,101, 5, 27, 29, 2,131, 52, 37, 32,164, 63,239,100,202,147,101, 25, 30, 97,241, 7, 39,
-162,109, 23, 2, 42, 8,169,209,117, 29,177, 53,125,176,145,252,158, 1,143,242,136, 93, 12,121,142,165,185,148, 75, 93,163, 80,
-125, 71, 46, 78,169, 64,231, 29, 81, 36,251,234,128,238,173,127,209,211, 38,182, 44, 10, 20,129,178, 17,124,173,115,194, 79,177,
- 90,156, 91,105,154, 98,250,123, 45, 77, 37, 89,205,245,154,171,174, 19, 14,204, 69, 69, 33,117,176,124,167,170,191,176, 53,154,
- 46, 92, 88, 50,133, 28,137,145, 10,167,243, 29, 70,253,162, 32, 81, 10, 8, 34,248, 19,240,145, 60, 3, 38,146, 95,111,182, 47,
- 95,250,158, 24,245,101,127,214, 57,177,163, 68, 54, 18,111, 97,100,105,170, 6,109,109, 15,102,232,228,161,119, 30,239,101,103,
-230,124,215, 43, 65,133, 28,166,188,122, 58, 26,180, 70,120,235,113, 34, 48,123, 97,172, 75,103, 30, 71, 17,147, 60, 98,115,104,
-217,157, 88,170,227,125,220,124, 65, 20,197, 52,102, 64, 53, 95,242,210, 11,183, 88,217,217,229,171,111,124,145,239,254,245,215,
-249,141,111,253, 18,147,216,241,236,181,219,124,248,206,187,164,137,101,101, 48,192,219, 8, 21,101,108,238,237,114, 86,183,156,
- 45, 22, 40,175,168,107, 17, 8,253,252,157,183,120,114,255, 9, 73,182,130,195,243,224,195,247, 73,147,148,149, 75, 87, 88,189,
-116,157, 16, 28,179,197,146,174,106,184, 53,130,241,230,132,151,190,120,139, 56, 91,163,168, 27,246,118,118,217, 92, 29,113,237,
-210, 54, 55,110, 92, 98,107, 53,102,111, 96,217,222, 25,115,117,247, 10, 89,154,226, 58, 69, 58, 24, 80,207, 14,153,157, 30,241,
-202,107,175,114,112,120,206,193,254, 99, 92,209,176,178,185,194, 7,239,127,202,120,104,137, 99,203,116,214, 49,173, 52,233,120,
-194,231,110, 93,227,206,157,103,208,193, 83,159, 31, 99, 92, 75,100, 83,124,156,209,118,158,237,237, 13, 54, 55,214, 88, 29, 77,
- 88, 89,145,138, 59,137, 98, 76, 36, 52,165, 65,214,239,182, 98, 65, 63, 70,121,198, 15, 62, 59,231,223,125,101,141,166,109,217,
-222, 91, 39,195,241,246,126,193,251,143,231,108, 71,112, 62,175,200, 7,137, 40,129, 81, 52, 93,203,104, 20,179,123,123, 23, 99,
- 45,191,255,231,247,233, 2,116,190,197,123,216, 63, 56, 99,190,191,207,193,254, 19,130,170,217, 94, 91,225,224,238, 19,148,206,
-113,222,115,237,214, 45,118,214,215,249,241, 59,159,242, 31,255, 23,127,159,183,127,250, 54,159,190,243, 38,191,255,251,255, 55,
- 63,127,247, 46, 46,116, 92,219, 91,167,114, 29,150, 14, 93, 45,120,112,124, 72,227, 58, 78,230,115,226,212,177,178,190,194,225,
- 97,199,206,246, 21,126,237, 87,223,160, 90, 44,228,101, 12, 29,183,111, 95, 99,107,125,135, 65, 54, 96,239,242, 21,218,170,225,
-240,248, 72, 0, 43, 78,118,157, 90,203,190,206, 59, 41, 40, 9, 14, 79, 32,138, 19,170,170, 34,181,146, 40,181,108,106,166,103,
-133, 76,136,186,150,209,100, 72,211, 53,252,103,223,190,131, 90, 31,115,248,233, 62, 15,206, 27,110, 94,158, 16,235,192,209,180,
- 36, 29,100,172,103,150,135,251, 51,146, 52,226,184,104, 57,154, 87,108, 56, 79,172, 90, 38,163,140, 43, 59, 67,126,240,211, 71,
- 60, 58, 47, 41, 29,120, 15,173, 11, 20,165, 39, 75, 97,255,172,192,119, 13, 86,105,242, 65,134,209,150,217,124, 73, 81, 54, 76,
-231,243,126,204,105,168,154,150, 39, 7,199,188,254,242, 75,236,108,110,114, 62,155, 73,200, 71,211,176,185,177,198, 23, 63,255,
- 34,175,190,244, 60,183,111, 92,227,234,165, 61, 70,131,156,206, 57,190,252,202,203,172,173,142,249,236,254, 67,170,166,253,215,
-118,118,162,150,247,128,243, 50,105,139,172,197, 26, 75, 28, 37,228,131, 33,193, 59, 66, 95, 96, 43,241,202,241, 20, 18,211,117,
-120, 39, 35,251,174,109,159, 42,199,165,227,144,108,104, 25,231, 75,160,146, 86,138, 98, 81, 48, 59, 61,195, 57,199,100, 60,145,
-208, 39, 99,112, 94,132,100,174,235, 16,213,117, 32,137, 99, 1,148,120, 73,170, 82, 90,247,225, 47, 49,139,178,144,149,130, 15,
-100,105, 46,133,128,147,216, 86, 29,132, 19,145, 94,240, 26,148, 48, 51, 68, 23,211, 50, 30, 15,177, 54,198, 60,197,227, 10, 5,
- 51, 77,227,167,103, 93, 28, 71, 88,163,105, 90,177,253, 57, 31, 24, 14,134, 34, 88,210,114,128,198,113, 68,217,212,226,177,239,
-167, 12, 89, 26,147,196, 9, 74, 41,210,184,103,140, 55, 13, 77,215,209, 58,153,136,136,159, 92, 82, 32, 91,231,169, 91,143, 82,
- 2,199,105,218, 70,116, 16, 93,219, 55, 64,173, 56, 9,218,134,224, 3, 65,137,176,242,194,169,115, 49,214, 85, 74,252,227, 30,
- 65,122, 55,117, 3, 90,124,214, 93, 43, 54,191,224, 59,246, 15, 30,146, 37, 67, 86, 87, 54,120,244,248, 33, 10,133,137, 20,169,
- 77, 9, 58, 16, 27, 97,193, 71,113, 66, 89, 86, 68,198, 64, 80, 16, 12,160,145,241,188, 40,224, 55,183,183,216,217, 94,103, 60,
- 94,145,239,191,172, 8,186, 7,191,116, 30,231,101,220,110, 34, 67,150,102, 68,113,134,209,200,133,101,132, 0,105,149,229,202,
-181,219, 20,203, 25,222,181, 82, 16,249,142, 52, 77,233,218,150, 40,150,162, 65,194,178, 18,154, 70, 50, 1,146, 56, 21, 49,102,
- 47,240,140,250,137,114,100,228, 18,142,147, 68, 68,151, 90, 46,108,131, 8,204,100,107, 32, 16, 23,173, 5,182, 3,160,140,124,
-142,178, 94,234,213,240,253,104,191,110, 90,170,170, 0,165,250,105, 68, 37,233,158,173, 32, 90, 59,215, 82, 45,155,167,133, 2,
-128, 54,154,186,109,159, 78,178, 47, 86, 7, 38, 18,113,232,133, 24, 21,196, 81, 32, 47, 13,253, 37, 45, 99,116,130,216,237,156,
- 11,116, 93, 75,100, 45,194, 8,144,247,229,130, 83, 33,157,185,194, 24, 80, 24, 36, 16, 77,166, 9,190, 19,160,142,217,185,124,
-249,123, 42,120,186,198, 81, 55, 45, 38,178,100, 89, 70, 0,218,170, 34, 78, 18,177, 83, 57, 73, 67,178,253, 7,233,188,208,121,
-140,141,128, 64,154,101,132, 32, 49,155,141,235,168,151, 37,222, 43,148,149,221,162, 49, 17, 26, 17,219, 68,120, 6,110,193, 68,
-205,104,102,199,196, 70,243,225, 7, 31, 50, 43, 61,215,158,185,193,206,213, 29,190,248,194, 29, 94,122,225, 38,207,124,238, 38,
- 7,247, 62,165,155, 23,204,247, 79,216,191,255,136,163,253, 67, 22,243, 51,106,231,104,171,154,135,143, 78, 57, 56,153, 83, 55,
- 37,119,239,221, 39,142, 98,138,101,205,244,248,132, 36,130,227,233,156,120,176,138,139, 34, 54, 54, 87,136, 6, 49,101,213,144,
-173,110,210, 25,205, 96,117, 66,187, 60,225, 87,126,249, 13, 78,159, 60,225,254,180,100, 62, 47,185,121,101,135, 47,126,229, 11,
-156,207,206,200, 87,115,232,114,156, 78,121,255,221, 79,105, 23,231,132, 97, 2, 38, 39, 86, 26, 29, 13,152, 79,207,201,135, 49,
- 71,239,255,132,207,189,248, 26,123,151,174,162,147,148, 7, 71, 51,178, 44,230,238,254, 17,167, 39,103,156,205, 91,234,198,179,
-104, 20,151,118, 55,105, 26,199,116, 49,231,248,224,144,199,143,246, 57, 93,150,116, 68, 44,202, 37, 85, 89, 96,141,116, 4,103,
- 39, 83, 33, 39, 57, 71, 23,196, 35,217, 53, 53, 10, 69, 48,154,101, 81, 19,124,160,169, 58, 78,143, 14, 57, 92, 24,214,183,134,
-188,126, 99,204,124,209,176,189, 61,225,214,149, 21,226,216,242,238,253, 41,117, 39, 54,168,224, 68, 53,218, 41,205,217,225,156,
-227,131,115,242, 73,198,127,255,253,135,210, 37,121,100, 87, 27,160,158, 47,233,234,134,157,171, 87,185,113,121,151, 43,123,187,
- 84,217, 42, 55,238,220, 38, 31,173,242,135,255,242, 47,248, 91,255,246,119,249,227, 63,252, 51,126,248, 23,255,138, 55,223,252,
- 49,119, 94,122,137,124,146,242,243,183,223, 34, 31,231, 92,219,217,228,221,119,222,229,238,225, 19,118,175,108,227,149,230,250,
-245, 75,172,172,110,131, 94,193,154,152,255,252,119,255, 62,170,110,184,127,239, 51,210, 40, 98, 49, 59,231,240,240, 4, 29,199,
-252,217, 15,254,146,114, 81,114,116,116, 74,211,214,228,195, 1, 93, 23, 72,162, 72,246,130,117, 43,121,205, 81, 68,156, 72, 2,
- 97, 62,204,201,243, 49, 85, 93,163,157, 99, 56, 72, 25, 78,198, 52,190,227,232,100,202,225,209, 1,117, 3,127,243,133, 53, 54,
-135, 57,235, 3,203,163,233,146,179,131, 5, 15, 31, 31,179, 49,206,248,104,255,156,183,222,217,103, 47,215, 60,115,121,204,216,
- 4,236,116,193,245,117, 75, 98, 34,146,200, 48,140, 3,199,211,154,119,247,167,204,107,233, 48,149, 2, 99,224,242, 90,206,227,
-179,154,206, 67,221, 73, 16,132,115,129,241, 56, 19, 39,137,211, 36,131, 33, 69,217,178, 88,148,148, 85,197,175,127,253,171,108,
-109,174, 83, 84, 21,197,114,201,124, 81, 48, 91, 20, 84,101, 77,177, 44, 57,157,158,115, 62, 95,208,116,142,178,170, 56,159,205,
-216,222,216,224,185, 59,183,184,255,232, 49, 69, 47,174,211, 90, 34, 87, 47,178,214,219,166, 5,173,159,118,192,206,183, 68, 54,
-233,217, 11, 18,128, 97,227, 8, 2,148,149, 92,102, 73,108, 69, 95,162,144,113,161,150,195,201, 24, 67,150, 36, 12,135,195, 94,
- 21, 12,129, 14, 99, 35, 34,173,169,170,154,147,163, 99, 20, 74,224, 53,253, 69,104, 76,132, 15,130, 35, 70, 9, 27, 35,234, 39,
- 43,101, 89,136,146, 57,200, 40,218,244, 35,252,206,201, 57, 21,199, 9,229,178,164,110, 91, 18, 43,226,199, 56,146,177,123, 20,
-197, 36,121, 66,154, 36, 20,203,165,172, 72, 16, 18,164, 53, 50, 45, 92, 46, 43, 33, 30,170, 32,156,137, 86,184, 19,109, 43,164,
- 50,231, 36,194,185,173, 27,153, 60, 58, 9, 14, 89, 46,151,164,137,140,224, 67,215, 81, 85, 37,105,150, 34,214, 60,219, 11, 51,
- 91,210, 56, 33, 4,121, 6, 27,215,146, 38, 25, 98,171,115,210, 53, 90, 75,150,102, 16,164, 8,186,176, 38,133, 16,200,243, 12,
-148,136, 28,163, 40,145, 49,124, 63,150,109,155,142,124,144,139,240,175,207, 18,111,218,134, 44, 74,105,125, 71,158,166,180,222,
-139, 80, 76,107,158, 60,186,203,104, 52,102, 48, 90,225,244,248,136,243,243, 57, 59, 59, 91,236,238,108,115,116,122, 44, 80,160,
-224, 89, 95, 95,167, 88, 46,105, 59,113, 38,120, 4, 79,220,245, 49,175,117, 89,179, 88,116,152, 88, 19,167,137, 76, 8,218, 14,
- 66, 63, 26,118,158,160, 68, 17,158, 15,114,129,244, 76,198, 56,231, 69, 76, 88,139, 8,178,109, 28,151,118,175, 81, 55, 5, 93,
- 43, 88,213, 56,138,192,131,178,138,184,255,108,125,215,162,173,101,144,231, 24, 35,240,152, 98, 89,208,212, 45, 73, 42, 16, 26,
-165,132,183, 46,104, 89,139, 10,226, 59, 15,114,227,202, 13,216, 79,203,148,234,245, 32,198,200,245,170, 68, 35, 34, 98,118, 5,
- 74,225, 93,139,239,121,244,190, 19, 39, 85,211,117, 98,179,238, 58, 2,138, 65,150, 81,214,178,122, 93, 22, 5,229,114, 9, 8,
- 78, 60,138, 44,222, 9,217,206, 7,241,178,167,105,175, 63,178, 17,222,251,254, 34, 87, 40, 37,255,140, 82,104, 43, 19,131, 40,
- 18,215,142,128,224,100, 71, 30, 89, 9,119,177,218,224,233,197,141, 90, 73, 17, 3, 4, 20,198, 88, 92, 63, 93, 11, 4,204,222,
-149, 43,223,187, 16, 21,200, 71, 33,123,192,178, 88,210,120, 25, 27, 92, 32, 90, 37, 34, 83,225, 3, 50, 66, 49,138, 44,141,241,
- 46,144, 38, 73, 95,177, 11,244,191,115,142, 36,151, 7,175, 11,142,221,141, 49,119, 46,165,108, 71, 37,155, 67,133, 81, 53,111,
-254,236, 3, 46, 61,115,135,193, 36,230,243,175,188,196, 87,191,242, 26, 43,171, 9,153,129,179,233, 49,167,197,146, 52,201, 25,
-229, 99,178,124,204,206,173,155,232, 84,108,110,135,179, 83,138,162,160,152,117, 60, 57,155, 19,172,229,163,207,238, 83, 54,208,
-121,207,241,241,148, 39,247,238, 18, 69, 17, 42,196,196, 43, 99,214,215, 87, 89, 20, 2,114,209,193,179,117,249, 10, 15, 62,124,
-155,163,247,126,142, 63, 63, 99, 45, 55, 92,191,117,153,103,158,219,224,241,225, 25, 63,250,241,125,126,246,179, 15,184,251,193,
- 35,174, 95,218,195, 15,115, 94,252,252, 29,156, 10, 28, 45, 74,118,119,111, 99, 9, 60,190,123, 31, 19,229, 60,115,243, 6,127,
-249, 23,127,193,165,189, 93,174,220,186,195, 95,253,217,247,121,242,120, 31, 19, 25, 30,157,158,242,240,201, 25, 77, 93,211, 89,
-131,182, 17,211,229,140,166, 11,156,206,103, 40, 44,193,200,126, 43, 50, 17, 26, 71, 98,123,246,175,181,180, 93,131, 81, 10, 23,
- 28, 58, 82,104, 31,104,202, 10,229, 3, 45,242, 0, 57,196, 78, 17, 39,150, 65,146, 16,107,207,159,188,179,207,214, 32,226,245,
-155, 27, 28, 47, 27,108,208, 92,185, 52,225,149, 59,187, 92,218, 28,147,231,146, 94,230,103, 21,163, 24,242, 72,163, 2, 76,139,
-150, 31, 60,106,120,246,250,101,158,123,238, 10,197, 98,193,188,168,232,148,101,178,146,241,149, 55, 94,229,210,213,103, 89,189,
-124,153,217,162,228,238, 39,239,177,182,115,155,223,251, 39,255, 11,139,249,140, 63,249,139, 55, 41,231, 1, 21,149,140, 6,138,
- 63,250,151,223,231,232,224,152, 36,141,120,247,157,119, 89, 84, 51,162,108,192,141,155,183, 88, 89,221,225,193,253, 57, 90,173,
- 16, 25,203,213, 43, 91,108,172,174,113,247,195, 15, 56, 57, 43,136,146,136,149,213, 53,110, 61,251, 60, 63,251,233, 79,185,121,
-243, 58,113,150, 80, 54, 53,179,233,148,193,112,136, 2,170,114,193,124, 58,197, 27, 77,190,178,134, 25,230,104,155, 82,213,142,
-170,105, 41,170, 37, 54, 73,112, 78,179,152, 78,209, 33,144,167, 41,151, 47,237,144, 38, 25, 71,135, 11, 42, 87,241, 55, 94,221,
- 35, 29,196,252,233, 79, 31,243,228,180,160,241,138, 52,137, 88, 85, 13, 59, 73, 32, 74, 44, 89,217,146, 27,133,242,158,217, 40,
- 39, 68,150,135,199, 5,243,131,115,118,110,237,146, 36,134, 31,125,118, 70, 31,131,140, 83,176, 51, 78,121, 52,173,101,111, 24,
-148,116, 57,174, 99,190, 40, 89,214, 13, 40,143, 85,129, 52,205,200,242,148,163,227, 83,174, 94,190,196, 87,190,240, 50,222,133,
- 30,234,209,112, 50,157,114,112,114,194,241,201,153,216,183,250,206,165,174,106,186,206,177, 44, 75,124, 8,236,110,110,112,116,
-114,198,188, 40, 72,162, 8,173,149, 8,171,188, 56, 61,150,101, 33, 32,150,214,209, 53, 13,222,181,160,132, 57,173,251, 81, 37,
- 64, 28,247, 17,167,198, 98, 99, 81,219,163,100,175, 42,121, 12, 65, 52, 51,202, 16, 71, 22,215,213,164,105,132,107,131, 28, 86,
-177, 33,137, 35,206,207,166,156, 28, 29,227,186,142, 36,203, 8,222,247,133,133, 20,142,244, 29,211,124,126, 78,215,182,253,184,
-213, 82, 20, 18, 2,213,116, 45, 89,154, 81, 87, 18,216, 97,172,236,186,151,203, 5, 62, 72, 71,219,212, 45,206, 7,177, 0, 41,
-100,223, 8, 24, 27,177,172,151,104, 45,233,144,131,129,140,124, 5, 77,157, 60,189, 36,196,110, 23, 8, 78,138,150,166, 21, 60,
-118,154, 38,184,214, 75, 87, 93,149, 84,101,217, 35,111,187,126,252, 41,152,218, 56,137,104,218, 26,107, 35,202,170,162,237,106,
-242,108, 64, 89,215, 68, 70,252,238,178,109,149,139,253, 2,151,154, 38,137,120,194,157,196,130, 90, 27,201,228, 64, 75,199,172,
-149, 76, 26, 76, 28,209, 84,181, 28,236, 74, 81,215, 21,121, 62,160,234,196,210,171,130,146,127,238,126,161,238, 63, 57,218,103,
- 48,200,184,115,251, 89,180,214,220,188,113,147,131,131,125,230, 69, 77,189, 44,137, 76,196,198,250, 26,211,217,188,183, 33,138,
-168, 49, 4, 89, 29, 97, 68,236,231,130,163,169, 90,188,119, 68, 38,162,241,194, 16, 81, 10, 8,154,224, 37,149, 50,120, 69, 89,
-203,115,190,186,182, 70,215,122,230,231, 83,170,186,146, 9,141,243,172,175,109, 51, 43,206,232, 90, 73,190,187, 0,206,212, 85,
- 3, 78,240,225, 77,219, 98,172,238,167, 58, 18,229, 76,240, 68,177,216,225, 64,118,216,173,119,226, 37,111,157,132, 39, 5,240,
-222,211,133, 32,197,167,220,237, 68,145,145, 75, 80,110,249, 94,248,136, 40,242,149,248, 61,186, 86, 8,120,244,157,189, 4,178,
-136, 6, 44, 73, 19,170,186,150, 41,118, 85, 35,180, 70, 17, 3,218,126,245,105, 76, 31,115, 28,100, 21,133, 82, 18,207,170,149,
- 76,169,229,147,237, 53, 49,253, 95, 65,130,136,188, 15,224,131,188, 10, 62,224,131, 80,251,148, 86,196,177,237,215, 75, 10,133,
-188,239,114,103,203, 24,255, 23,122, 7,133,217,190,116,233,123, 23, 30, 58,188,146,223, 67, 41, 17,103, 92,140, 4, 26,161, 65,
- 9, 8, 64,146,210,172, 18, 65,128,209,162,120,140, 35, 73,202,146, 9,142,194, 59,199,202, 48,227,213,207, 95,226,141,151, 47,
- 49,212, 29,223,255,163, 31,240,227,247,238,113, 54, 93, 64,186,193,127,244,159,252, 61,190,244,218, 45,174,108,110, 96,234,142,
- 58, 56,134,249,136,245,181, 13,182,118,119,121,241,198, 85, 14,239,221,231,100, 86,225, 77,194,167, 15,222,229, 71, 63,253,136,
-186, 53,156,204, 91,138,165, 34,216,148,120, 52, 96,177,108,216,218,220, 18,202, 90,150,178,183,185,205,218,230, 26,163,124,194,
-222,205, 27, 36,169, 97,113,240,128,135, 31,125,192,233,225, 1, 7,135, 7, 60,252,248, 1,197,193, 17, 89, 30,147, 43,195,229,
-189,171,100,195, 85,210, 44, 97, 20, 89,190,248,210,117,234, 14,166,141,230,227, 79, 15,104, 92,203,219, 63,255,132,123,159, 28,
-144,153, 1,235, 59, 19,238,126,248, 62, 77,221,145,230, 67,158,123,254, 58,159,189,255, 30,223,254,206,119,249,225, 15,127,198,
-193,241, 41, 81,164,120,247,163,143,232,128,213,237, 13,246,143,207,105, 59, 37, 10,212, 96,217,218,217,100, 99,101, 66,158, 68,
- 4,223,177, 50, 30,203, 31, 16,138,124, 48, 68, 41, 77,237, 69,101,107,147,152, 16,126,225,195,180, 74, 10, 43,229, 2, 33,120,
- 76,128,166,170,233,202,146,135, 7,103,216, 44, 97,176,185,193,247, 31, 42,110,109, 89, 46,175,196, 56, 2,109,175, 68, 30,141,
- 99,110,236,172,240,252,237, 93, 38,235, 25,121, 18,177,119,121,157, 95,249,218, 29,190,244,185,109, 30,157, 46,121,235,225,130,
-235,219,171, 12, 82,207,237,155,187,204,102, 21, 15,143,102, 28, 29, 29, 10, 93, 42, 74,248, 31,255,201,255, 78, 99,229,226, 0,
- 0, 32, 0, 73, 68, 65, 84,204,131,131, 71, 36,217, 10,251,103, 71,172,110,239,240, 43,191,250,117,126,240,230, 15,184,119,239,
- 3,166,179, 25,227, 73,202,179,183,111,242,185,103,175, 82,204,102,172,172,174,240,210,107,207, 17,212,136,207, 62, 59,230, 91,
-223,250, 6,127,231,119,190,203,217,193,140,160,106,158,185,118,153,247, 62,250,132, 75, 55,110, 66, 8,156,157,156,242,193, 71,
- 31,112,227,153,155,220,187,119,151,199, 15, 31, 16,186,154,193,104,192, 98, 62,227,193,131,187,144, 88,198, 91,187, 68,121, 46,
-234,210, 32, 1, 60, 38,205, 80, 74,147,100, 35,108,154, 82,187, 14,147,164, 96, 45,117,227,112, 8,159,225,202,213, 45, 62, 62,
-170,249, 15,222,216,198, 90,203,202, 40,227,211,135,167, 68,193,161,130,226,115,207,109,243,149,103,119,169,235,134,251,203,142,
- 42, 4, 86,242,132,194, 91,110,110,229, 28, 31, 45,177, 10, 30, 44, 97, 77, 57,222,123,116, 74,231,165,162, 94,118, 48,138, 53,
-199, 69,199,255,207,212,155, 60,105,118,157,103,126,191,115,206,157,191, 41,243,203,204,154, 11, 85, 40, 20,134, 2, 1,112,210,
- 72,177, 37,138, 86,107,160,228,232,104,183,187,189,144, 29,209,142,182, 28,225,176,151, 94,216,225, 13,189,245,206,255,129,195,
- 59, 71,203, 45, 59,100,169, 37, 53,213, 52,155,110,113,130, 8,130,152, 11, 5,212,156,149, 89, 57,126,195,157,207,224,197,123,
- 51,217,136, 64,144,136, 42, 36,178,190,188,247,156,119,120,158,223,147,196,138, 72,203, 62, 77,107,200,227, 64,223,122,148,239,
-113, 93, 45,227, 54, 99,184,122,105, 11,235, 60,223,250,198,111, 81,214,245,208, 29, 11,134, 53,139, 83,166,179, 49,215, 46, 95,
-226,210,206, 22,206, 58, 22,235, 53,117,211,178,174, 42, 22,203, 53,214, 58,110,189,112, 21,231, 28,123, 7, 71, 72,148,228, 48,
-174, 78, 99,186,222, 97, 34, 77,223,137, 45, 53,205, 18,218,166, 37,210, 66,118,140, 98,137, 74, 62,187,180,133, 78, 39,135,125,
- 20, 11, 41, 77, 32, 48, 10, 16,142,120,146, 36,148, 39,167,224, 17, 31,176,142, 48, 90, 88,240,145, 49,196,137,226,244,100,201,
-233,225, 33, 58,138, 72,243, 92,118,148,195,193,220,180, 66,168,204,242, 12,241,224,123,210, 68, 98,161,227, 36, 35, 16, 40,242,
-156,170,110,206,125,196, 38, 18,141,143,214,162,224,238,251,142, 52, 77,233, 59, 73,117, 19,191, 58,232, 32, 59,233,162,144,127,
-110, 26,201,253, 78,146,136,213, 74, 24,252, 69, 94,200,222, 90, 9,125, 50, 88,136,163,136,214,118, 36,145, 0, 82,196,206, 38,
-161, 50,102, 88, 83,100, 89, 2, 65,138,242, 72, 69,212,125, 75, 26, 71,160,149, 8,234,144,195,185, 30, 82, 36, 3, 1,231,123,
- 41,212,253, 0,194,137, 4,194,162,181,166,119,110, 56,139, 3,130,252,149, 96,150,224, 37,231,194,246,110, 0,125,201, 46, 95,
-121,209, 43,196,145, 88,254,218,186, 34, 4, 65,126,123,229,193, 91,198,179, 57,215,175, 94, 35,205, 18,158, 60,222,197,232,136,
-201,116, 44,141,152,150,116,179,222,185,161,171,149,203,112, 50, 25, 15, 35,101,249,254, 61, 10,107, 61,146,118, 39,186, 40, 0,
-143,197, 59, 75,219, 89, 97,144,244, 61, 77,211,161,116,196,120, 52,162,105,106,170,170,193, 58, 75, 85,174,209, 26,110,223,186,
- 67, 85,157,130,119,244,118, 40, 14,116, 16,198,136,150,108,143,186, 19,122, 92,219,137, 43, 33,207,114, 17, 40,247, 45,103,246,
- 66, 89,123,244,160, 2, 97, 88, 5,248, 97,172,125,166,108, 87,200, 51, 72,144, 21, 17, 94,128, 76,193,137,109,205,251, 32,157,
-182, 10,164, 73,140, 81,146, 54, 23,144, 20, 82,163,100,181, 19,197, 50,189, 18,230,193,160,116,135,115,225,180,216, 31,101, 98,
-115, 70, 67,108, 91, 73,180,211,250,204, 30,170,126,161, 77, 75, 99, 66,144,207,209,163,112,214, 19, 25, 69, 80,178, 22,144,104,
- 87,225,200, 40, 37, 36,213, 56, 22, 77, 2, 65, 84,241, 74,203,213,174,228,250,198, 92,188,114,229,219,210,159,139,194,239, 12,
-200,208,117, 29, 32, 30, 84,180,162,237, 44, 40, 1,210, 4,206,212,147,242, 50, 6, 37, 8,192,224, 29, 46,104,174,238, 76,248,
-149,183, 46, 51,203,224,193, 39, 31,240,151,127,241, 35,126,246,179,207,249,194, 43, 55, 56, 90, 47,248,135,223,250, 71,124,235,
- 91,191,204,238,163, 7,124,252,246,251,220,253,224, 33,211,157, 75,204,183, 55,232,155, 21,251,247,239,177,247,241,199,188,253,
-227, 31,115,176,238, 89,181,150,167,251,251, 20,209,132,171, 59,215,208, 89,194,120, 54,101,103,103,204,147,207, 62,197,150, 21,
- 91, 99,241,186, 94,216,185,200,229,157, 77,154,234,136,141,233,152,205,217,152, 8,120,240,225, 79,217,125,112,192, 55,255,224,
- 27, 92,188,122,157, 75, 47,190,206,215,190,249, 15,248,242,215,190,200,139,175,188, 74,155, 20,132,182,162,238, 44,205,241,138,
-235, 55,174,176,108,122, 94,123,229, 53,222,250,194, 29, 54,162,134,235, 87,174,178, 53,158,114,251,213,151, 40, 70, 57,123, 79,
- 31, 81,149, 13,243,205, 77,242, 34,226,233,189, 79,185,241,194, 45,238,223,251,152,100,126, 17,173, 45,239,126,240, 41,202,196,
- 60, 63, 94,179,247,244,144,249,116,147, 34,207,153, 77,198, 92,189,116,153,141,209,136,174,237,168, 22,167,196, 73,130,245,208,
-180, 53, 26, 69,112,158,190,151,144, 20,165, 12,161,247,242,194, 84, 37,182,183,180,189,163,247, 34, 82, 42,187, 14, 23,143,176,
-105,134, 79, 50, 70,243, 45,162,188,192,196, 9,206,117,252,237,167, 11,218, 30,190,124, 37, 35,137, 13,125, 43,213, 98,221, 89,
-240,142,241, 56,231,226,165, 77,230, 91, 83, 57,196,141,226,155,183, 71,252,224,211, 61, 92, 60, 65,197, 99, 62,189,183, 75,154,
- 68,156, 46, 75,234,178,225,233,238, 62, 63,249,241,143, 89,151, 37,111,190,241, 10, 87, 46,204,217,218, 24,241,250,155,111,240,
-215,255,215,159,243,241,135,239, 83,228, 10, 21,207,112,193,176,174, 90,162, 44,229,231,239,221, 35, 30,143, 88,174, 19,182,183,
- 47,242, 95,254,139, 63,230,206,157, 59,124,118,239, 25,127,247,221, 15,249,163, 63,252, 42,159,125,244, 25, 71,213,146, 87, 95,
-125,133,170,170, 80, 33, 80,181, 53,143, 31, 60,225,249,193, 33,171,197,130,163,227, 35,158, 62,190,207,162,237,216,188,120,149,
- 98, 52,165, 15,225, 60, 98, 51, 73, 51,214,101,133,242, 8,243,121,216,171,102,105,134, 50, 49,141, 19,140,164, 13,154, 16, 39,
-172,202,134,101,235,152,198,138, 95,121, 93, 0, 64,125,213,113,112,184,102,209,120,126,231,215, 94,100,115, 50,226,234,245, 77,
- 94,185, 58, 39,209,138, 79,142, 74,126,112,247,144,175,189,121,153,175,190,113,141,211,189, 35,108,158,243,242,157,107, 84, 77,
-207, 71,143, 78,137, 34, 69,239,225,181,203, 83, 30, 29,183, 76,166,133, 8,215,186, 30,215, 67,150,107,210, 60,161, 15, 1,229,
- 3, 40,104,234,154,197,114,197,106, 93,242,251,223,252,109,170,170,162, 29,172, 95, 89,150, 50,157,142,185,126,241, 34,211,201,
-152,120, 24,205, 6, 47,190,251,174, 23, 30, 67,158,166, 76,198, 35,110, 94,189, 74,154, 36, 60,125,182, 55, 88, 52,165,219,246,
- 33,144, 21, 35,180, 49, 44, 86, 43,188, 71,192, 44,145,198, 91, 75, 91,215,178,171, 30, 4, 94,222, 75,146, 90,128,243, 83, 36,
-138, 34, 41,254, 99,137,189,244,222,146, 68,138, 52,206,136, 82,177,106, 25, 37, 23, 65, 28, 75, 88,147, 6,180,242, 44, 78,151,
- 44, 79, 78,136,162,136, 56,207, 9,214,129,134,174,237, 72, 98, 9,242,136,147,152,170,170, 72,116, 68, 49, 42,100,247, 27,203,
-247, 83,174,133, 46,215,187, 30,156,199, 58, 97,155, 39,177, 68, 67, 39,137,228, 77,212, 85, 77,100,228,162,244,222,163,181, 92,
-124, 81, 28,147, 68, 17,109, 39,246, 49,144, 81,112,211,182, 18,252,212, 11,185, 50,205, 50, 92,239,177, 72,194,163, 50,146, 94,
- 56,158, 20,131,245, 79, 44,189, 33,192,186, 92,145,102,137,188, 99,157, 32,115,229,118, 22, 12,106,164, 5,201,173,130, 60,139,
-142, 51,108,106, 39,235, 0,148,116,161, 42, 96,173,132,240, 68, 81, 76,111,123,146, 56, 57,255, 28, 1,234,186, 34,132, 64,150,
-164,152, 88, 46,140,214,246, 56,239,135, 51, 67, 97,116, 0,101,232,155,150,197,233, 49, 73,146, 51,153,110,114,120,116,196,226,
-100, 73,231, 45,105,150, 66,208,152, 56, 38,142, 19,154, 78, 24, 7, 74, 27,146, 60, 69, 35, 59, 97,201, 21,151,206,176,235,197,
- 18, 56, 31, 96, 53, 89,156,208,180, 45,103,224,157,179,191,101,130, 33,171, 29,201, 44,240,146,165,209,118,100, 69,193,214,246,
- 21,122, 87,161,241,131,176,213, 16, 69, 9,125,219,224, 53,164,113,194,114,181, 58,123,224,100,170,228,122,121,214, 6, 61, 66,
- 50, 48, 42,204, 48,189, 56, 19,196,165, 73,130, 66,166, 69,125, 47, 2,231, 16, 6,175,189,147, 32,167, 16,160,119,150,190, 19,
-114, 97,108, 12, 74, 11,247, 63,120, 40,235,146,190,239,105, 90,201,138, 56, 11, 54, 27,229,178, 2, 49, 90, 86, 63,103,204, 7,
-209, 81, 72,162, 40, 94,246,237, 70,107,108,239,240, 65,138,245,179, 52, 58,185,103,173,172, 26,148, 25,166, 47, 18,226, 18,130,
-151,248, 91,165, 57, 11, 99,242,200,127,195,121, 17,176, 6,163,135, 62, 92,166, 25,114, 19,128,217,186,116,233,219, 90,137,226,
-213, 90, 43,254, 78,132, 64,101,173, 35, 78, 5,176, 31,156,208,118,148, 2,163,101, 68,215,216,134, 34,205, 81, 40,178, 72,177,
-153,107,110,108,103,232,174,228, 95,255,205, 15,121,247,131,199,116,141,163, 0, 46, 94,152,112, 84,173,249,253, 63,248, 22,191,
-250,213, 87,217,123,122,196,250,249,146,163,163, 19,222,252,202,155, 36, 81,203,195,159,191,203,147,123,247,169, 27,143, 29, 93,
-196, 37,219,164,147, 45, 70,163, 9, 69, 81, 80,182, 21,173,235, 73, 10,195,165,139,155, 60,184,247,128, 56,207,184,121,117,139,
- 59, 95,120,133, 11, 23,119,184,125,251, 5, 62,125,255, 7,188,247,211,183,249,240,189,143, 56,122,182, 71,189, 62,228,243,251,
- 79,184,122,243, 58, 63,255,240, 93, 30, 61,218,229,234,213, 29, 30,127,242, 17,127,246, 47,255,140,159,253,253,123, 60,123,190,
-199, 81, 89,241,228,160,226,180,106,120,178,187, 15, 40,158,237, 30,179, 46, 79,249,240, 39, 63, 1,109, 88,149,107,178,209,152,
-229,209, 9,121, 18,113,249,218,101,186,186,225,104,127,143,157,237, 25,171,186,225, 96, 89,113,233,218,101,190,247,255,126, 79,
-216,227, 93,192,247,142,151, 95,125,145, 81, 81,136, 93, 37,142,233,250,142,147,211, 99,170,213,138,108, 58, 1,109,200,178,148,
-201,120,131,170,179,196,185,240,226, 39,147, 13,162, 84,248,214, 65,105,154,120, 68, 60, 26, 99, 70, 99, 66, 90,224, 77,130, 41,
- 70, 40, 29, 51,158, 76,145, 90, 52,156,219,120,228,129,210,188,255,172,225,187,159, 46,201,210,132, 81, 10,179, 34, 33,210, 10,
-165, 4, 96, 97, 61,244,214,177,191,234,248,127,222,127,206,255,250,239,142,249,249, 33, 60,122,186, 79,164, 12,111,189,245, 5,
- 14,142, 79, 89,213,167,232, 40,208, 54, 22,239,123,166,147, 28,235, 58,126,246,238,207,217,123,254,156,195,221, 93,190,255,246,
-207,177, 64, 60,218,226,218,139,183,152,111, 94,224,241,147, 61,214,109,160, 44, 35,102,243, 11,252,119,255,237,191,224,247,127,
-239,119,104,106, 79,219,172,121,244,104,151,143,223,185,203,225,179, 79,121,251,157,119,184,113,227, 6,239,255,252, 61, 62,191,
-255,128,227,197, 9,101, 93,131, 49, 34, 82, 59,122, 14,177, 33,228, 19,198,147, 25, 58,142,112, 10,122, 43, 64, 20,207, 32,242,
- 50, 70, 24,202,202,160,140,198, 59, 69,227,134,184,204, 16,208, 42,194, 68,177,136,140,186,150, 52, 77,249,209,195,146,255,236,
- 11, 27,108,142,199,252,244,222, 46, 39,149, 99,115, 26,243, 96,111,197,245,235,115, 44, 6,231, 20,151, 47,111,242,198,173, 11,
-152,206,241,231, 63,126,204,131,167, 39, 28, 46, 26,102,121,132, 77, 51,170,117,203,143, 63, 57,162, 48, 16, 27,205,183,190,112,
- 1,159,229,124,246,228,148, 56, 54,232,212,128, 49,100,105, 12,116, 40,165,241, 38, 69, 71, 26, 55,224, 55,215,235,134,111,252,
-250,175,160,149,166,110,133,172, 21,188,103,156, 23, 40,163,229, 61,117,194, 76, 48,145,208,171,242, 60,227,210,206, 54, 91, 27,
- 51,138, 92,210,155,182, 55, 55, 25, 21, 57,251,135, 71,212, 93,135,117, 34, 80, 90,151, 53,113,146, 50, 26, 21,196, 73,130,119,
- 78, 92, 48,193,203,101,102,229, 28, 56, 75, 63,243, 33,136,240, 40, 18, 43, 80, 8,129, 51,248, 84, 28,137,109,205,245,157,248,
-199,211, 20, 99, 16,202, 27,142,200, 68,140, 38, 25,206, 74,199,100,140,104, 53, 86,167, 11,234,245,138, 44,207, 49,113,130,237,
- 59,250, 78,196, 72,206,121,180,134,209,100,130, 86,131,152, 77, 75,160,137,243,150, 44, 73, 73, 83, 9,239,144,216, 76,139,137,
- 99,108,111, 25,141,100, 66, 99,173, 35, 78, 98, 52,129, 44,203,100, 63, 26,160, 44,215,162,177,208, 70, 28, 16,113, 6, 90, 50,
-204,207, 40,151,206,245,152, 65, 64,140, 67, 70,242,109, 35, 35, 99, 37, 35, 90,173, 52,125,219,176, 92, 46,177,214,225,123, 75,
-146, 13, 33, 85,222, 19,199,137, 20, 66,195,193,108, 34, 3, 90, 81,100, 25,105,146, 96,212,176,226, 68,209,212,213,128, 79, 85,
-168, 72,196,136, 33, 40,204,208,141,141, 10,233, 30,189, 11,232, 72,139,208,206, 91,116, 16,144, 73, 58,156, 45, 81, 44,123, 96,
-239,165,163,143,211,132,190,109, 89, 46,143,240, 1,182,231, 23,120,248,232, 49,155, 27,115,180,210,168, 32,196,178,233,120, 74,
-164,133,175, 15,136, 16,203, 8,100, 42,132,128, 81,195,245,170, 13,174,111,153,111,204, 24,141, 38,204,166, 83, 41, 8,234, 14,
- 71,128, 48, 36, 4, 58, 71,154,164,108,110,206,200,179, 92,116, 23,145,166,235, 90,108, 47, 83,150, 60, 27, 97,125, 3, 74,176,
-212,214, 89, 70, 89,198, 25,107,193,104,185,232,146, 52,197, 35, 34,238, 60, 47,144, 96, 30, 81,200, 27, 37,157,120,192, 99, 76,
- 36, 20, 64,231,206, 59,103, 97, 87,200,231, 47, 35,109,141, 15,210, 44, 69, 38, 34,224, 65,121,122, 43,133, 95, 20, 75,145, 16,
- 96,112,142,156,145, 2, 37, 8, 72,186,112, 75,217,212,132,224, 25,101, 66, 27, 52, 70, 83, 55, 53, 77,221,208,116, 13,206, 75,
- 64,145,181,189,216, 49,173,192,124,206,248, 47, 40, 47,169,113, 62,156,251,237,189, 19,193,155,115,126,176,253,197,128,116,230,
-206, 74,178, 98,158, 74,114, 97,215, 54,228, 73, 42,141,152,150,168, 88,147, 22,163,111,159, 93,212,157,243,116,109,131, 11,129,
- 56,137,201,211,140,190, 29, 88,180, 70,200, 74,121,150, 73,170, 88,215, 17,107,205, 56,215,140, 88,227,234, 21,180, 29, 79, 30,
- 63,135,104,206,246,118,193,151,190,116,135,249,198,152, 98,178,193, 27, 95,252, 34, 55,175,237,112,229,226, 20,175,144, 60,234,
-211, 19,174,109,110,240,236,201, 39,220,255,232, 1,206, 37, 68, 27,151, 81,227, 57,163,233,148,157, 75,219,140,198, 57, 15, 31,
- 63,101, 50, 47,216,222,154, 97, 28, 60, 59, 56, 97, 60, 54,220,186,121,129,136,154,119,223,255,140, 7,247,119,121,247,131,187,
-252,251, 31,253,128,191,253,247,159,178, 88,116,148,117,207,202,121,246, 14, 78,121,184,191,230,195,207,118, 57, 90,172,241,238,
-148,187, 31,126,200,221, 7,207, 8, 38,230,241,222, 41, 93,187,102, 89,247, 84,173, 35, 40,205,243,229,146,131,227, 5, 85,231,
- 56, 61, 62, 21,219,204,198, 6,247, 30, 62, 37,118, 45, 70,123, 84,128,195,253, 3, 38, 23,175,114,244,252, 57,167,171, 22, 51,
-189,196,222,163,207,120,251,157, 15, 40,171,158, 52, 31,161,180,102,190, 49,195,104,205,201,209, 41, 18,106, 47, 84,166, 52, 79,
- 65, 25,146, 52,103,123,123, 27, 31, 52, 46, 64,145, 23,242,176,165, 49,189, 54, 88, 29, 81,121, 8, 73,206,108, 54, 37, 74,114,
- 90,247, 11,171, 68,100,228,107,212,117,141, 49,134,104,240,222, 38, 81, 76,211,212, 56, 43,156,103,167, 51,126,240,249,146,191,
-253,188,229,207,222,121,206,251,187,107,222,123,238,248,116,127,205, 95,126,188,224,127,249, 55,143,249, 63,223, 95,242,131,251,
- 13,207, 43,137,195,140,178,156,117, 89,242,236,233, 46,255,252,143,255,136,131,131, 67,142, 15, 78,200, 83, 67,150, 69, 4, 13,
-203,202, 98,240, 84,199,107,246,202, 21,191,246,214, 23,249,230, 55,126,139, 95,250,234,151,249,103,255,236,159, 50,159,108,210,
- 52, 37,111,190,241, 69,126,251,183,191,206,133,157, 13,110, 93,188,192,103,247,239, 18, 37, 41,235,213, 18,219, 59,254,244, 95,
-254, 57, 71,171, 39,184,174,197,232,136, 94,201,110, 77,188,155,129,123,247,238,113,120,116, 72,190,177, 77,103,101,167,229,131,
- 20, 35,130,122,132,222,203,104, 91,178,194, 53, 4,135,243,162, 3,209, 70,252,182, 33,200, 11,229,135,170,184,169, 42, 9,188,
-136, 19, 84, 44, 7,237,111,220, 24, 65,112,188,123,255,136,169, 81, 28, 29,173,121,254,188,228,230,141, 45,130, 82,172,234, 14,
- 29,197,188,118,107,155, 75,179, 4,211, 59,136, 19,102,190, 39,217,154,178, 51, 73,248,193,251, 15, 57,109, 52,177,118, 92,158,
-101,124,235,151, 94,228,251,247, 42,130,181,216,225,207,149,143, 11,170, 82,196, 77, 90, 89,230, 91,219, 4, 29, 51,155, 22,180,
- 93,195,139,215,175,177, 53,159, 75,183,224, 4, 24,210, 90, 25,235,149,131, 95,187,110, 26,172,117,244,206, 49,155, 76,152,140,
- 70, 4, 37, 59,225,170,105,168,171,154,160, 96, 92, 20,236,237, 31,210,180, 29, 90, 1, 38,146,209,251,112,177,231,211, 49,203,
-229, 10,219,247,244,157,168,208,179, 44, 3,192,218, 97,135,170, 53,117, 85, 15,122,149,128,210,114, 40,170,190,165,238, 26,233,
-122, 80, 24,165, 24,229, 19,122,223,147,165, 25,214,246, 52,117, 75, 50, 36, 84, 89, 39,140,110,231,193,246, 61,235,211, 19,148,
-247, 20, 27,211,115, 53,186,236, 13, 37, 77, 49, 40,232,157, 35,142, 34,178, 44,165,239,123,220, 0,128,137,134,238, 61,142, 35,
- 18, 19, 19, 84, 32,137, 99,218,182,193,123, 71,211, 52,104, 19,227,130,248,237,189,242,180,141,172, 29,204,176,235,246,200,100,
-178,173,170,225,185, 56, 75,188, 19, 53, 59, 33,200,179,227,157, 8, 71,173,149, 3,188,107,104,219,238,188, 91, 11, 65,114,201,
-207,178,195, 65,244, 16,222,203,174, 62, 77, 4, 88,163,181,162, 26,144,184,235,245, 90, 92, 5,198,144,166, 9,171,213,146,182,
-105, 33,200,244,225, 44,153, 82, 41,141,239,101, 90, 19,153, 72,206,235,190, 31, 52, 7, 45,218, 68,120, 47,204,114, 99, 12,121,
- 54, 34,138, 69,224, 39, 29,170,103,181, 58,166,235, 74, 70,163, 41, 39, 39,199,140,198, 57,202, 24,150,167, 11, 66,232, 89, 47,
-151,108,110,111,138,255,223,181, 40, 47, 29,242, 96, 82,195, 35, 93,174,179,150,211,213,154,197, 98,141,115,129,124, 60,194, 40,
- 77, 85,175,137, 52, 4, 4,229,219,245, 29,145,209,100,133, 92,234,151, 47, 95, 98, 60,154,202,200,186,174,136,147,148,201,116,
- 78,215,174,105,171,154, 60, 77,176, 65,114, 18, 8,138, 44, 73, 7, 1, 25,228, 73, 70,156,100,210,245, 50, 4,123, 5, 41, 52,
- 68,240, 40, 63, 39, 29, 16, 56,142, 54,180,157,197, 58,177,225,245, 93,135, 10,160,181,198, 15,151,166, 50,200,136,155,128,235,
- 29, 46,120,212, 80, 76,181,125, 71,150,101,231,235,157, 52,149, 11,148, 32, 5,151, 50, 34,104, 60,211,103,244, 3, 58, 55, 32,
-122,157,190,149,176, 25,173, 20, 85, 89,227,149,180, 92,194,210,111, 65,169, 95, 76,142, 34,161, 95,102,113,140,115, 1, 79,160,
-119,131, 78,196, 73,252,114,158,138,176,209,246,146, 40, 24,153,152,178,170,208,177, 58, 95,209,152,164, 40,190,221,182,173,140,
- 42,134,135, 27, 36,209, 70,252,234,226,213,179,157,101,148,102,128,236, 30,182, 38, 9, 23,230, 41,169,209,188,254,198,151,184,
-253,210,203,120,229,249,143,255,201,127,202,215,190,254,171,148,213,146,227, 39, 7,252,230, 55,191,193,139, 87, 46,179,145, 9,
-178,176,152, 78,185,117,227, 22, 31,254,248,135,252,240,175,191, 67,223,151, 84, 86, 83, 76, 38,152, 44, 39,104,205,233,201,130,
-253,163, 3,154,178,162,115,138,241, 40,231,224,240,136,227,211, 35, 78, 23,107, 54, 55, 71,188,251,209,167,252,249, 95,252,127,
-252,228,103,143,120,118,184,226,241,254, 9,207,143,150,172, 78, 26, 28, 80,108,206,232, 2, 44,150, 53, 85, 39,149,158, 11,129,
-222,194,162, 82, 44, 42, 72,211, 92,254,172,214, 81,183, 1, 92, 43,150,178,122, 65,185, 90,225,109,199,163, 71,251, 52, 85,205,
-201,178,103, 99,172,184,245,194,117,210,174,228,210,149,109,148,201,216,220,153,147,109,238,240,244,179, 79,197,127,175, 2, 15,
-247, 15, 89, 87, 13,243,217, 38, 59,155,155,108,109, 78,136, 77, 4,206, 49,157,111,208,212, 75,156,237,177,189, 35, 54,209,208,
- 41,196,244, 77, 79,215, 54, 64,224,116, 93,211, 27, 3, 38,193,250, 64,211, 91,108,111,137,180, 84,231, 77, 37,201, 74, 26,217,
-191, 20,121,113,190,171,233,187,134,200, 8, 91, 32, 40, 56, 79,202,115,144,166, 49,160, 88,174,106,172,137,121,178, 12,124,240,
-108,205,199,167,134,143,247, 86,232, 84, 0, 32, 62,136, 16,202, 7, 81, 7,107,109,168,123,207,199,119,239,241,133, 23,111, 66,
-156,243,116,119,159,201, 44, 33, 79, 10, 42,103, 41,203, 64,190,177,195,155,175,221, 33,159,108,242,194,139, 47,242,197, 55, 94,
-231,238,189,135,244, 77,224,198,173,171,252,246, 55,190,206,100, 99,139, 7, 31, 61,230,187,223,253, 30,219,155, 41, 39,171,150,
-163,163, 5, 63,254,119,239,112,247,209,187,236,236,236, 48,219,156, 17, 98, 9,123, 88,175,215,172,170,154,199,123,251,116, 74,
-147,142,167, 24, 99, 80,202, 96,155,138,180, 24,225,189, 39,203,114, 80, 26, 81,202, 4,122, 39,227, 62,235,129, 32, 47,146,117,
-146, 67, 44, 56, 81, 3, 4,148, 49,210,225, 41,133,137, 98, 12,154,247,119, 43,254,233, 91, 51,110, 94,220,224,241,201,138,253,
-221, 99,146,241,152,253,163, 37,167, 71, 37, 47,221,186, 64,232,100,178,181,238, 91,110, 93,152,208,250,192,199,247,247,137, 21,
- 60,179,154,184,183,252,207,255,197,215,184,125,113,196,193, 73, 77, 86, 36,252,225,157, 57,255,247, 7, 11,182,166,194,150, 86,
- 8, 20,166, 24, 21,164,249,152, 72, 39,172,214,173,120,117,189, 16,226, 22,203, 37, 95,250,194, 27,248, 32,144,152, 85, 89, 82,
- 86, 21,157,237,232,173,167,110,106,170, 70,236, 63,113, 60, 80, 25,189,165,170,107,202,170,166,170, 27,170,182,165,170, 27,154,
-170, 6, 5,199, 39, 11,185, 36,187,150,253,253, 61,142,143,142, 40,203,146,186,172,216,216,220, 98, 50, 42,136, 83,129,164, 64,
-192,232,179,142, 71,212,188,105, 38, 29,149,137, 18,178, 34, 39, 73, 18, 20, 72,110, 66, 31, 8,218, 19,148,248,176, 81, 1,219,
-123,182, 54,230,180, 93, 75,211,116,231, 59, 74,217,121,134,193,154, 6,182,111, 8,109, 75,148,102, 76, 70, 99, 1,190,164, 25,
-157,179,212,101, 61,172, 1, 44,105,154, 51, 46, 38, 36,137,228, 48,244,189,100,177, 71,113, 76,215, 53,164,137, 4, 50,181, 67,
-113,146,166, 49, 77, 45,161, 81,218, 8, 60,230, 28,189,105, 20,202, 24,156,245,180, 77,131, 36, 2,202,202, 70, 84,250,178, 55,
-141,226,136,190,237, 73,243, 12,223, 7,116,172, 16,220,172, 38,205,114,226, 40, 65, 34, 52,115,122, 43, 99,237,178,170,144,112,
- 18,185,160,116, 36,133, 66,146, 36, 84,101,137,237, 58,154,174, 37,203,114,226,232,204,121, 36,187, 84,231, 68, 68,214,214, 13,
-120, 47,207,181,146, 17, 59, 10, 12,160,180, 22, 61,147, 70, 46,208,161, 3,142, 34, 17, 4,162,229, 57,143,227, 68, 68,129,121,
- 34,144, 31,163, 41, 70,134, 43,151,174,242,228,241, 46,207, 15,143,184,124,113,155,131,195, 5,179,249, 6,125,215,179, 60, 89,
-136,112,108, 80, 98,203, 8, 94,166, 28,145, 14,120,101, 72,148, 96, 83,235, 70, 50,202,139,209,136, 40, 78,134,238, 83, 19,134,
-189,179, 13,142,174,109,169,234, 22,107, 97,123,123,131, 0, 44,150, 43,132, 26, 40, 33, 98,139,245, 49,231,192, 23,163, 9, 30,
-146, 52, 38,142,164, 99,213, 81, 68,215,183,120,235,134, 14, 93, 52, 93,105,148,208,212, 13, 62,120,178, 36,147, 70, 20,141,210,
-114,241, 7, 31,136, 77, 36, 90, 27,206,106, 45, 17, 67,234,160, 9, 90,147,166, 9, 81, 44,118, 55,144, 31,153,172,151,228,189,
-203,135,152,238,115,124,186, 18,231,135,132,132, 73,100,234,127,136, 94,206,139,130,186,109, 9,222,203,100, 7,177, 32,234,200,
- 96,173,165,170,106,202,213, 90,222,241,197, 66,166,101,145, 0,117,226, 97,157,149, 70, 41, 54,120,166,147, 9, 73, 26, 15, 59,
-117,153,196, 56,235,132, 47,160,144,233, 68, 43, 57, 40, 38, 27,143,191,237,189, 23, 47,161, 26, 54, 38, 65, 62,136, 36,138,206,
-237, 32,194,222,109, 1, 71,106, 75, 62,250,240,125, 78,151, 21,191,250, 43, 95,227,149,219,215, 8,182,164,200, 18, 62,185,123,
-159, 52, 79,200,163,148, 59, 47,223,230,249,238, 99,140,114, 92,120,225, 26,189,239,176,203, 5,247, 63,124,143,163,123,159,144,
- 23, 83,230, 47, 92, 99,239,232,128, 69,233,233,186,134,195,131, 35,166,211, 49,137, 86, 28,159,172,169,214, 43,102,147,130,147,
-231,187,140,139, 9, 95,250,149, 55,152,109, 77,185,253,202,109,190,250,230, 29, 94,124,225, 6,119,238,188,200,181,235,151,193,
-213,100,121,202,237, 23, 47,115,253,250, 38,243,139, 27, 92,186,176,195,151,222,188,197,229, 75, 59,188,252,210, 11,236,236,108,
-243,242,203,215,216,220,202,153,110,140, 89,156,118,108,111,109,242,252,104,197,245, 91,115,118,174,205,137, 83,152,140, 34, 10,
- 19,243,141,175,255, 50, 95,254,210, 29,110,222,122,129,110,177, 38,119, 37,163, 81, 1,113,198,214,165, 75,148, 39,199,244, 42,
-229,201,179,167,120,165,120,118,112,202,170, 44,201,199, 83,166, 27,115, 38,211, 9, 77,213,162,227,136,128, 34, 53,134,106,177,
-100,177,172,185,124,245, 10,206, 15,156,238,174,167,174, 75,186,222,178,118,134,178,111,229, 64, 13,103,130, 15,113, 29, 4, 37,
-194,154, 52, 79,135,135, 71,128, 21,222,139,127,120,185, 92, 50,202,243,161,242, 51,128, 34,141, 35,210, 36,165,239,100,151,149,
-100, 41, 70,105,218,174, 27,198,145,114,200,116,157,149,177, 85,128, 44, 21, 38,119,150, 8,165,203, 5,233, 98,189,142,104,170,
-134, 43, 23,182,184,247,217, 83,226,172, 32,164,176,125,233, 50, 87, 47, 93,229,203, 95,249, 34, 87, 46, 93,225,206, 23, 95,231,
-248,248,136,173,157, 45,137,225,205, 34,238, 63,120,128,247,158,190,107,121,250,108,151, 63,255,235,191, 98,239,217,231,156,158,
-158,242,108,127,159, 31,253,224,135,188,250,234, 75,220,120,241, 10,125,223,179, 88,173,249,244,243,135, 44,155,142,182, 15,152,
- 36, 33, 50, 17,222,123,146, 44,149,195,194, 7,178,193, 47,140, 22,207,179, 49, 6, 15,152,200,160,149, 38, 50, 17, 90,201,126,
- 54, 73, 18,226, 36, 22,133,247,176,131,147,216, 71,135,242, 78,246, 93,190,167,235, 61, 65, 43,190,124, 61,227,214,213, 77, 22,
- 39, 53,167,135, 75,174,238,140,168,215, 53, 63,189,187,199,113,128,173, 89, 70,145,196,212,189,227,194,246,140,215, 95,216,226,
-193,163, 35,158, 29,183,172, 78, 86,252,242,155,215,121,243,230, 22,127,242,135,175,243,187, 95,189, 14,206,241,127,252,236, 57,
-117,231, 48,177, 68,123,142,139, 20, 99, 12,218, 32,151,179, 15,180,195,250, 43,248,192,227,253, 67,238,188,252,146, 28, 14,214,
-210,244, 61, 71, 39, 39,148,101,133,181,142,101, 41, 44,251,166, 23,235,149, 11, 30,235,252,249,129,210,118,130, 17, 93, 46, 86,
- 28, 45, 22, 20,163,156,229,106,197,186,170,137,181,166,108, 26,180, 81,244, 77, 75,239, 44,117, 93,129,254, 69,214,181,142, 13,
-145,209,114, 9,245, 29,182,235,168,235,150,179,232, 97,188,199,104, 48,169, 30,118,206,144,100, 99,194,176, 67,204,139,140,106,
-181,162,110, 42,148,226,252,207, 21,199, 2, 61,209, 42, 34,206, 34, 89,241, 89, 47,233,124,125, 77,215,116,164,163, 17, 70, 27,
-153, 64, 69, 17, 89, 38,187, 76,233, 60,173, 60,255,131,192,175,239, 90, 58,235,200, 6,145, 95,219,247,216,174, 35, 27, 73, 14,
-184,136,169,212,217,121, 78,154,102, 40, 52,157,149, 11, 71, 13,157,165,115, 3, 78,181,179,100, 69, 14, 90,172, 86,145, 49,180,
-182,197, 68,226,207, 6, 17,229,245,189, 40,232,235,106, 77,240, 48, 26,229,228, 69,142,100, 96, 20, 56, 39, 42,237,128, 8, 14,
-141,145,209,107, 61,184, 20,198, 67,212,172,247,146,136, 22, 27,161,123, 74,164,115, 71, 8, 18, 73, 42,151,114, 74, 20, 25,218,
-170,166,237, 68,137,173,141, 68, 76, 39, 73, 34, 36, 53, 47,118,173,179,164,190,179,164,203, 52, 23, 46, 66,223, 75,104,138, 66,
- 49,154,141,185,116,249, 6, 7,123,251,188,245,197, 47,177,251,244, 41, 58, 17,206, 64, 90,164,212, 77,207,100, 60,165,239, 5,
- 61,172,180, 70, 17, 49,154, 20,164, 70,208,209,210, 4, 56,108, 47,209,218, 50, 69, 72,136, 35, 72,134,192,155,182,233,104,219,
- 30,239, 58,132,195,174, 49, 74, 10,162,114,189,166,235, 90,230,155, 23,105,154, 53, 93, 91,203,115, 94,213,228, 69, 78,185, 94,
- 19, 80,231,207,127, 32,144,197, 9, 4, 33,176,165,169,144,221,226, 72,166, 52, 74,203,228,210, 12,151,103, 20,137,157,218,107,
-137,251, 62, 35,189,157,187,190, 20,100, 81, 68,211, 52, 2,168,106, 91,218, 86, 32, 71,103, 90, 18,107, 45,113, 28,137,214, 76,
- 5, 78, 79, 23,244,157, 36, 82,158,229,222, 39, 73,130, 49,178,223, 78,178,140, 44, 21, 91,165,252, 28,196,243,144,102, 41, 18,
-158,102, 68, 7, 16, 15,185, 11, 89,118,158, 76,218,181, 45,113,244, 11,194,107,150,166, 18,146,228, 3, 40,117,142, 8,110, 59,
- 89, 83,157,221,205, 73, 28,203, 5, 63,219,222,254,118,146, 74, 69,217,180, 45,117,211,160, 20,148,171, 53,177, 22, 56,129,137,
- 12,145, 54, 20,186,230,224,209, 35, 14,246, 78,249,189, 63,252, 22,127,244,187,191, 70,174, 34, 30,124,250, 41,159,191,247, 30,
- 71, 75,203,111,254,206,239,178,185, 57,198,250, 22, 21,122,102, 59, 51, 46, 94,152,113,239,147,159,179, 60, 94,177,251,100,143,
- 7, 31,127,196,169,213,148,241, 24, 29, 39,120,175, 72,179, 17, 7, 39, 75, 46,236,108,210,215,199,156,156, 28, 17,101, 57, 23,
- 47, 93,228,141, 55,238,240,165, 47,190,193,229, 11, 27, 28,236,238,210, 46, 27,158, 63,121,198,163,187,247,233, 7, 78,240,163,
-135,187,184,166,231,149,151,111,208,156, 30,242,240,238, 3,170,253, 67,182,178,132, 56, 74,152,111,205,168, 23, 75,138, 60, 38,
-143,103,188,118,235, 53,210, 40, 98, 60,202,120,245,181, 87,249,245,175,125, 21,237, 19,158,237,238,226, 77,196,229, 27, 23, 72,
-210,152, 59, 47,221, 98,156, 40,182, 55, 82,246, 31, 62, 66,235, 64,165, 21, 35, 20,165, 85, 60, 63, 57,226,244,120,193,231,143,
-158,209, 13,123, 23,165, 61,139,147,138,107, 87, 47,208,247, 29,199, 39,199,232, 56, 65, 43, 13, 74,170, 71,219,148,226,225, 93,
-173,169,235,154, 16, 2,141, 78, 89,180,210, 97, 57,235, 16,123,207, 74, 14,236,174,149, 96, 21, 6,127,165, 15, 68, 38, 66, 1,
-171,213,138,170, 42,169,171,122, 24, 23,118,231, 59, 61,107,197, 75,107,157,103,148,231,178,227,177, 98, 21, 10, 67, 57,154,164,
- 9,214,246,228,121, 78,100, 18,186,190,147,209,208,240,235, 38,138,136, 80, 40, 51,140,181, 85, 76,185, 60,226,246,237,107, 92,
-220,218, 98, 99,115,131,194, 71, 92,191,180,205,116, 99,147,245,106, 69,112,242,125,237, 62,221,231,253,247,223,231,228,228,136,
-182,107,121,242,232, 17,119,239,222,165,108, 26,232, 53,206,203,203,180,183,187, 79,215, 46,200, 70, 9,167,101,197,186,181,172,
- 59, 71,148,228,146, 49, 96,164,242, 78, 51, 25,147, 38,145, 16,187,208,144, 68,137, 4, 57,120,143, 66,118,233,222, 73, 69,222,
- 54,253, 48,117,144,174,221,123, 79,219,181, 56,103,113,222, 10, 20,164,151,132,179,224,135, 80,162, 97, 23,250,233,222,138,175,
-191, 52,101,107,146,241,226,205, 29,156,117,208,119,172,214, 61,139,206,241,238,195, 21,243, 2, 46,110, 77,240,168,115,229,236,
-173, 23,183,233,234,134, 77,229,184,122,109,147,182,247,212,173,227,111, 63, 62,229,127,248,171, 93, 78,107,203,104, 99,134, 73,
- 18, 78,235,146, 85,221,211,245, 34, 48,202,210,152, 34, 75, 24, 21, 5, 69, 94,144,230, 5, 65, 41, 46,239,108,243,242,141,235,
-164,105,202,184,200,152, 78, 38,244,214,243,232,233, 83,246, 14, 14,168,234,154,147,197,138,163,211, 83,161, 63,198,178, 31,175,
-135, 14,189,237,122, 14, 79, 78,217,221,127,206,230,108,194,201,106, 69, 93, 53,226,229,174,155,243, 34,208, 57,203,100, 58,165,
-110, 26,234,178, 38,138, 68,233, 77,128,141,249, 22, 90, 5,142, 14, 23,244,214, 81,228, 9, 89, 86,208,117, 43,250, 1, 84, 85,
- 87,146,236, 85, 20, 35,210, 98, 4,193,163, 6,129, 82, 91,182,152, 36,161, 24, 23,244,182,195, 91,209, 13, 68, 73, 66,176,142,
- 36,137,241, 94,128, 48,174, 23,149,119,185, 60,165,170, 42,162, 40, 38,202, 98, 92, 39, 58,145, 98, 52, 18, 70,120,219,210,187,
-158, 73, 81, 80,213,237,249, 62,213, 90, 75,145,231, 40, 4,252, 18,199, 67,194,163, 49,231,239,155, 31,126,222,198, 72,252,106,
-181, 46,241,125, 47, 43,132,166,195,186,158,174,174,105,215, 21,182,183,116, 77,141,183, 86,236,114, 78,172,108,103, 7,187,144,
-205, 18,124, 80,244,193, 19, 37, 9,160,105,234, 10,113, 7, 64,112, 78, 64, 50, 94,194,102,186,174, 99, 52,202, 49, 70,146,194,
-178, 92, 46,130, 51,161,151,128,127,100,202, 38, 42,115,185,148, 36, 81, 78,130, 78, 20,210, 69,246, 93, 71, 20, 37,242,117, 18,
- 9,186, 73,226, 76, 2,102,148,162,107,197, 85, 96,173, 69,105, 67, 83,201, 5,114,122,114,130,179,150,151,111,191, 66,146,164,
-124,252,201, 93, 54,103, 83,234,186,165, 40, 10,214,101,201,246,124,142, 54, 17,189, 21,144, 14, 74, 40,116,202,104,156,147,189,
-182, 6,156, 10,248, 94, 38,159, 58, 82,164,153,124, 6, 93, 47,207,159, 48,245, 3, 78, 57,170,117,201,108, 54, 97, 54, 25,179,
- 92, 87, 44,151,242, 76,229,121,198,179,221,135,132, 32,236,147,182,149,196,188, 52, 73, 40,171,146,128,240,248,125, 16, 76,113,
-211, 86, 8,178, 88,166,115, 74, 43,154,225, 78,112, 94, 18,247, 92,144,104, 96,215, 91, 76,146,160,181, 56,135,140, 17, 17,154,
-115,142, 56, 77,208,145,156,137, 73, 28, 83, 53,146, 0,121, 22, 37,222, 91,153,154, 57,231, 68,197,111, 45,109,219, 75,119,236,
- 7,167, 68, 8,128,196,132,103,169, 0,146,210, 76,114,232,147, 36, 30, 40,132, 50, 1,207,114, 33,208,157,141,235,179, 84,154,
- 20, 23,164,240, 91,151, 37,189, 19, 54, 76, 83, 55,232,200,176, 46, 75,153,128, 4, 48,145, 44, 67,210, 88, 50, 89,140,150, 70,
- 70, 43,141, 41,102,179,111,183,125,135,209, 2,168, 16, 9,190,120, 17, 37,154,212,241,210,141,109, 70,122,197,143,126,240, 17,
- 93,235,248,147, 63,249, 99,178, 80,178, 62,170, 40,166, 27,252,236,167,111, 51,187,118,131,255,228, 63,255,231,232,196,242,224,
-243,123,204, 71, 35,202,227, 67,252,209,115, 62,255,228, 19, 30, 61, 91,147,111, 94,225,147,251, 79, 56, 12, 41,183,238,188,193,
- 11, 87,231,188,255,254,199,180, 78,179, 89, 36,244,182, 65,121, 69,213, 42,174, 94,189,206,173,151, 95,165, 72, 13,245, 98,193,
-131,251,159,241,103,127,250,175, 56, 93,214,212, 93,224,211,251,247,121,248,108,143,174,135,189,195, 5, 85,181, 70,231, 5,139,
-117,197,243,189, 37,214, 69,140,102, 19, 92,215,176, 90,173, 25, 23, 27,220,249,194, 91,236, 92,184,204,175,254,218, 87,185,124,
-121,147,117, 89, 51, 73, 51, 86, 39, 11,110,223,184,140,235, 27, 78,142,123,182,230, 59, 40, 45, 7,205, 59, 31,190,205,123,239,
-191,203,123,239,126, 66,154, 90,246, 79, 61,149,115,116,222,208,184,136,199,123, 79, 57, 89, 86, 56,219, 19, 23, 25,168,152, 81,
-145, 82,100, 25, 89, 20,179, 90, 44, 25,141, 11, 76,108,232,186, 14, 23, 60,121,145, 51,222,152,147, 20, 17, 77, 85,115,186, 88,
-144,110,110,177,172, 69, 1,235,188,140,186,206, 84,204,178, 52, 10,244,125, 55,168, 43,219,193,147,236, 41,235,146,196, 68,131,
-194,243,236,247,203,142,242,172, 18,141,227, 88,210,232, 66, 32,205, 50,218,186,162,105, 69,152,213,246, 29,237, 48, 54,138,226,
- 68, 44, 57,177,112,193,123, 20,192,223,152, 0, 0, 32, 0, 73, 68, 65, 84,235,228,130,111, 90,122, 47,182,155, 56,205, 80, 4,
-214, 86,113,178, 92,177, 94,175, 40,208,212, 85, 73,189, 94,114,112,188,228,241,227,199,132,166,229,254,131,135, 44, 23,167,172,
- 86, 21,229,106, 77, 93, 86,120,161, 61,112,124,124,200,100,154,114,225,202, 22, 30,197,186,169, 49,197,148,164,152,146,100, 57,
- 38,146, 49,175, 82,106,248, 95, 8, 65, 70,229,182,109,104,250,142, 40,142,241, 46, 16,197,134,166,170,164, 4,145, 47, 15, 65,
- 58,194,174,235,192, 13,241,159,177,164,123, 57,239,206,126, 11,214, 90, 52,129, 56, 77, 68,153,220,119,231, 88, 83,147,141,121,
-190,234,249,253, 87,198,216,160,120,225,133,109, 46, 92,221, 70,121, 71,230, 3,127,248, 91,183,121,243,206,101,130, 7,197,224,
-141, 30, 62,167, 91,215, 54,185,250,194, 14, 79,158, 30,177,179, 53,225, 7,247,142,248, 31,255,244, 35,246, 78, 42,166,211, 41,
- 90, 15, 42,104,165,101, 90,160, 52,104,197,104, 60, 35,202, 50,106,103,135, 17,177, 36,139,185,224,249,135,255,224,235,204, 70,
- 5,121,158,147, 14, 34,171,186,105,248,252,241, 46,167,139, 37,167,235, 37, 71, 39,167, 28,158, 44,132,206, 21, 2, 85,211,178,
-174, 74, 78,151, 75,238, 63,126,130, 71, 88,213,199, 39,167,212, 3, 1,171,179, 18, 47,154, 23, 99,166,211, 41,117, 85, 18, 2,
- 50,170,244, 94,192, 41,113,224,240,249, 33,214, 65, 89, 55,231, 5,225,133,157, 57,206,138,178,248,228,104, 73, 26, 69, 44, 27,
-161,207,101, 89, 70,150,103,180, 85,141, 2,108,215, 12, 29,232,136, 56, 17,145,166, 15,158,241,116,131,174, 23, 75, 80, 90,164,
- 36, 90,139,179,163,183, 2, 20,241,129,182, 94, 99,251, 64,146, 38,100,121,142, 30, 58, 35,137,158,108,233,250,158,201,100, 74,
- 93, 85,242,249,164, 41,109,219, 98,140,193, 89,203,106,177, 16,231,142,181,148,171, 37,190,237, 40,151, 43, 78,143,159,179,124,
-190, 71,181, 88,162,131, 67,227,105, 87, 75,130,109,113, 77,141,175, 43, 92,223,226,235,138,174, 42,161,235,233,170,138,174,174,
- 8,109,143, 9, 18,142,211,181, 13,174,109,229,223,107, 91,250,170,166, 92,157,210, 55,141, 80,201,202, 21,101, 89,226,218,150,
-182,105,168, 42, 9,191,170,214, 13,171,213,146, 56,138,206,159, 61,107,173,164,188,197,241, 48, 81,144,139,197,246,150,166,237,
-206, 59,185, 56, 82,160, 21,113, 20,225, 92, 79,211,244, 12,193,216, 50,249, 65,201,136,120,232,250,147, 36,161,105, 58, 41, 78,
- 21, 2,122, 49, 17, 90,123, 60,129,141,209,156, 71, 79,119,153,111, 93,192, 59, 71, 18, 71,232,160, 56, 58, 57,225,194,197, 29,
-249,172,123,139, 86, 96, 48,160, 3, 93,235, 81,218, 13,103,148,168,201,227, 56, 98,103,123,147, 81, 49,102, 50, 25, 99,180,193,
-246, 34, 22, 11, 33,224,154,118, 56,210, 20,105,158,203, 5,104, 61,117, 83, 49,159,111,209,182,107,214,235, 21,145,142,200,243,
- 12,163, 52,101, 89,146,166, 25,177,145,192,175,178, 42, 57,139, 73,141,226,152,186,148,127, 62,155, 94, 26, 99, 48, 90,138, 84,
-163,135, 21,178,115, 40, 45,120, 99, 99,212,249,249,120,134,147,174, 43,113, 19, 40, 96, 50, 30, 81, 85, 18,211,237, 7,139,105,
-150, 72,138,105, 20, 9,128,173,179,253,160, 61,233,168,234, 90, 32, 59,157,208,228,148, 82, 56,215,203, 26, 72, 49, 80,239,192,
-182, 61, 30,232, 59,153, 56,248, 16,206,167, 67, 93, 39, 89, 42,189,237,137, 6,161, 98,221,212, 8,210,218, 16,153,152,166,150,
-117, 78,150,231, 36,177,160,157,215,229, 90,126,159,151, 9,152,186,122,251,118,104,172,140, 88, 20,103, 73, 78, 43,169,148,210,
-152, 87,111, 78,249,251, 31,190,143,111,225,229, 87,111,242, 75,111,189, 74,181, 56, 38,141,102,188,241,203, 95,225,217,209, 9,
-243, 11, 23,120,233,149, 23,233,251,146,221,187,159,147,160,105, 67,203,179,123,239,177,247,248, 25, 46,191,196,198,165,107, 4,
- 19, 19,199,138,249, 60,227,239,190,255, 35, 9,129,199,115,253,210,156,131,167, 79,136, 77, 96, 54,154, 97,139, 9,241,100,147,
-128,161, 90,158, 82,158, 28,242,244,240, 57,227, 60,227,241,163, 3,162,108,204,116,154,178, 60, 93, 48,205, 19,234, 94, 70,167,
- 58, 27, 83, 76,103,108,204, 70,236,108,108,177,119,248, 20,215,195,178,116,236,204, 55, 96,125,128,143, 50, 54, 46,108,178, 56,
- 56,165,200, 34,170, 85,137, 11, 10,175, 12,101,219,242,234, 27,175, 65,148, 98, 88,115,239,227, 79,249,232,179,231, 76, 55, 13,
-171,165, 88,249, 50, 51, 97,150,197, 92,221,154,113,218,214, 60,123,126, 72,143,161,152,140,104, 26,203,133,249, 5,140,234,232,
-234, 6,148, 38,232,132, 52,137,197, 30,227, 45,105, 44,145,160,139, 85,201,120, 82,208,215, 53, 93, 58,198, 7,197,170, 44,113,
- 94,118,195, 82, 4,244, 4,103,153,142, 70,104,173,169, 26,241,230,106,165,207,109, 20, 74, 41, 76,164, 25,143,167, 44,151, 75,
- 20, 96,162,132, 52,137, 24,138, 87, 66,240,178, 63, 82,138,217,120,138, 50, 10,219,118, 84,109,131, 54,154,209,104, 36,106, 98,
- 28, 27,179, 13,233,104, 16,241,135, 68,104, 10, 22, 19,175, 17, 79,177, 40,120,147, 72,212,215,125,215, 8,166,181,107,152,140,
-198,120,215,145,105, 77,100, 20, 81,156, 97, 76,196,186,109, 88,173, 78, 49,197, 24,101, 18, 44, 82, 17,163, 4,118, 19, 0,163,
-204, 80, 1, 55,104, 35,187, 43,235,197, 34, 18, 28,184, 65,161,155, 38, 9,113, 38, 17,193,206, 89,138, 34,103,185, 92,162, 35,
-131, 63, 75, 42,210,145,140,227, 29,195, 45,175,176, 78,166, 15, 90,203, 5,138,119,231, 29, 80,154,167,152, 16, 73, 87, 73,160,
-169, 26, 70, 69,142, 86,138,219,115,205,127,255, 31, 93,231, 11,215, 11, 18, 45,227,255, 72, 11,254,213, 58, 15,193,227, 3, 24,
- 37,123,225,200,104,196,155, 13,117,239,249,223,223, 62,224,127,251,187,103, 28,156, 44, 80,109, 75, 58,155, 48,157,204,232,186,
-142,120,216,217, 73,112,131, 40, 88, 21, 66,199,243, 40,246,246,158, 97,187,158,139, 87,175,242, 95,253,163,111,113,231,230, 77,
-202, 86,226, 62, 9,176, 42, 75,234,182,229,254,195,199,172,170,146, 34,205, 40, 70, 5,207, 15, 14,145,136,213,148,166,169, 56,
- 93,174, 41,171,154,173,205, 25, 0,207,246, 15, 88,151, 21, 54,136,192,231,224,248,152,166,110,184,112,233, 50,222, 87, 28,236,
-159, 50,223,222, 34, 4, 41,242,109, 47,130,159,224,228,135,229, 60, 82,160,102,134,241, 40, 3,107, 89,183,150,190, 21,124,169,
- 6,210, 60,149, 21,158, 23,244,103,213, 52,216,222,146,196, 9, 12,123,106,107, 45,121, 49,198,104,205,186, 92,227,157, 5,173,
-105,154,138,166, 21,139,142, 70,145, 36, 50, 46, 86, 33, 16,180,193, 97, 72,243,156, 36,207, 24, 21,178,135, 14,214, 99,189, 48,
-228,125,219, 17,250,150,214, 5, 34, 45, 22,220,182,151,255,127,105,107,204,201, 90, 10,217, 68, 71,232, 88,139, 64, 82, 9,139,
-195,186,142,208, 5,225,179, 35,239, 80,148, 36,242,189, 41, 61,124, 15,138,128, 92, 14, 77, 45,120,233, 60,207, 81,177,236,111,
-235,186,230, 12,177, 27, 37,146,213,221, 59, 75,172,196, 87, 45, 35,107,143, 50, 6, 53,236, 73,215,235, 53, 2,155, 1, 21, 20,
- 58, 18,161, 93, 54,206, 73,210,152, 52,203,229,242,178, 14,173, 21, 73,172,209, 81, 34,151, 98, 8, 56, 31,164, 19,236,237,240,
- 19,240, 16, 36,119, 91, 25, 67,164,164,155, 12,200,239,245, 46, 80,213, 37, 32, 9,114,177,142, 9, 33,226,116,217,178, 57,221,
- 64, 71, 48,202, 71, 60,121,250,136,186,106,153,111,205,152,109,204, 57, 62, 57,161, 92,158,162,163,132,190,115,191, 56, 47, 16,
-152, 82,154,165,236,108,205, 73,243,140, 60, 21,198,127,185, 90,241,116,239, 25, 77, 45,236,244, 36,210,204,231,219, 92,188,120,
-113, 56,167, 60,182,179,228, 89, 76,146,229,252,253, 79,254,134, 44,203,153, 78, 39,120, 15, 33,184, 97, 29,225, 89, 87, 43, 17,
-185, 69,194, 76,177,214,201,152,221,136, 74, 93, 10, 78, 6,212,111, 68, 8, 34, 16, 60,107, 90, 69, 28, 41, 98, 74, 59, 76,232,
- 84,144,143, 44, 26,166, 36,214,185,193,126, 41,159, 85,154,165,224,160,237,106,214,235,138,174,179,104,141, 20, 5, 78,240,195,
-125,223,145,100,177, 88,227,146,152, 60,207, 25,143,198,152,225,130,118,225, 23,118,196,166,237,200,226,148,160, 3,193,203,250,
-130, 16, 88, 45,151, 20,227, 49,206, 90,208,208, 53, 98, 45,175,155,154, 60, 31, 17, 25,141,243, 98,209,211,200, 52,195,121,207,
-106,181, 36, 4,177, 4,170,107,175,191, 30,244,176,116, 15, 61,196, 70, 49,154,196,140,148,101,239,241, 62, 93, 85,243, 79,254,
-241,239,161, 66, 79, 74,202,238,211, 71,204, 54,119,120,225,197,155,132,209,132,203,215,174,208,183,107,142, 15,158,211,173,151,
-116, 77,199,120, 54,101,113,184,207,223,252,235,239,176,121,225, 6,215,110,190,128, 67, 17,124,203,209,254, 46, 15,159, 62, 99,
- 62,159, 19,108,207,201,201, 41, 69,146,114,235,198,117,174,221,188,197,229,155, 47, 19, 92, 75,189, 60,225,189,159,189,195,222,
-243, 35,238,126,242,144, 19,167,152,196,129,108,148,145, 36, 17,243, 89,142, 82, 17,143,246, 79, 73, 66, 67,150, 38, 52, 93, 71,
- 80, 49, 38, 54,148,235, 26,128,178,214,140, 38, 16, 25, 25,131,196,113,132,107,107, 66,128,241,120,130, 15, 14,173, 83,217,141,
-100, 57,182,235,201,139, 28,223, 91, 76,168, 57, 56, 90, 49,153,111, 48,157,140,153,231, 35, 78, 86,167, 82, 21,245, 29, 7, 71,
-199,114,184,198, 25,197,120, 76, 28,197, 36,103,200, 75, 5, 81,156,161, 12, 24, 34,250,186,165,117, 45,106, 80, 92,219,166, 33,
- 4,139,203,102,172,187,112, 94,197,142, 71, 99,170,166,101, 60, 42, 48, 74,227,149, 60,162, 89, 34,135, 14,136,157,165,119, 98,
-101,106,234,154,141,141, 77,130,117,216, 40,194,123, 71,145,166,216, 65, 12,102,134, 7,183,183,150,200,104,154,186,161, 40, 36,
-202, 16,165,168, 43, 25,243, 4, 32, 45,114,240,129, 52, 75, 72,163, 20, 84, 64,155, 4,235, 44, 77,215, 97, 76, 12,202,211,247,
-210,149,170, 72, 19,250,128, 54, 34,102, 92,213, 53,190, 19, 15,169, 81,129,196,104,206,178, 1,242, 60,103, 93,213,140, 70, 99,
- 18, 35, 89,196, 90,137,224,170,174,219, 97,213,169,134,137, 65, 68, 59, 80,179,100,252, 40, 30, 76,219,117,231,221,123,158,231,
-178,143,213,138,190, 23,241,213,104, 52,146, 21, 68,223, 35, 88, 10,206, 95,240,188, 72,209, 58, 62,127,121, 8, 67, 10, 88, 36,
- 80,149,166,174,137, 18, 17,134,213,117, 73, 50,136,112, 92,240,116, 77,131,138, 99,110, 76, 13, 47,109,101,204, 71, 9, 47,204,
- 98,110,238, 20, 36, 38,160,130,165,106, 61,139,198,146,199, 26,143, 98,217,122, 14,106,120,231,241,154, 15,246, 58,148, 22,146,
-214,114,185,132, 32,226, 67,140,193,245,253,249,116, 37,156, 21,105,122,216,145,102, 25, 7,143,158,160,199, 99, 38,163, 49,175,
-220,188,206, 63,254,205, 95, 39,137, 13,182,179,180,189,120,102,243, 92,108,167,103, 62, 90,173, 53,123, 7,135,124,240,201,167,
- 50,134, 12, 74,198,197, 74, 49,202, 83,154,166, 99, 89,174,233,218,142,186,105,137,162,136,135,123,187, 44, 78,151, 24,109,216,
-220,218,160,235, 58,206,224, 38, 93,219,145, 36,146,154, 85,215, 53,202, 59,172,245, 88,219,161,148,240, 14,186, 94,216,227, 0,
- 59,179, 24,215,244,144,102,180,206, 81, 87, 61,243,233,152, 40, 75,176,109,199,217, 85,109,180, 34, 77, 98,185,164,173,195,196,
- 50,234,111,219, 94,158,117,229, 89,173,106,156,147,175,171, 21,164,121, 6,189,136,219, 34,163,207,187, 45,173, 53, 58,138,240,
-193,210, 55, 61,109,215, 19, 25,205,107,175,222, 70, 71,154,201, 36,231,173, 59,183,105, 87, 39,140,211,132,103,207, 23,252,217,
-119,126,194, 56,207, 64,105, 48,195,225,220,159,121,241,165, 0, 8, 94,225, 97,248,126, 52,232,232,252,123, 9, 65,114, 5,218,
-170,145,233, 65, 20, 13,151,139,161,174, 74,166,211, 41, 61,129,152,132, 16, 58,214,235, 53,206,245, 24, 29,147,196,131, 50,126,
- 56,240,219, 97,221,229,177, 24, 21,163,180, 34, 24,136, 80,162,239,232,123, 58, 39, 9,115, 65, 41,146, 44, 99,182, 49,149, 16,
-153, 32, 94,235, 0, 76,199, 83,148, 54, 40,173,100,157,224, 29, 58,112, 46,152, 77, 83,209, 73, 68,137,112, 13, 80,162,163,234,
-173,197, 53, 29, 42,213,132,160, 89, 29,183,164,105, 6, 65,177,170, 74,146, 36, 97, 99, 99,198,114,185, 26,128, 63, 96,173, 25,
-214, 92, 10,135,147,105,160,239,241, 14,180,142, 72,242,132,113, 49, 98,190, 57, 99, 52,158,208, 54, 53,203, 69, 73,239,123,180,
-150,116,196, 73, 49, 2,196,175,157,102, 49,182,109,184,242,229,215,233, 85,195,135,255,230, 59,244,182, 30,214, 98, 35, 76, 44,
-122,158, 44,203,232,250,158, 40, 74,196,213, 19,155, 33,162,148,243, 29,248,122,189, 6,100,133, 49, 25, 77, 48,145, 62,231, 25,
-160, 53,222,122, 66,144,244,205,206, 74,161, 51, 26, 21,148,165,116,235, 81, 20,145,166,153, 76,123,180, 38,201,115, 18, 35,231,
- 65,211,118, 28, 31, 30, 10, 87,164,107,207, 59,125, 31,164,227,118,206, 17, 37, 41, 59, 91, 91, 66, 10,212, 26,207, 64,141,115,
- 22, 19,157, 1,155, 4,210,150, 37, 57,214,187, 1,168, 3,105, 28, 83,174,215,228, 69,193,114,121, 10, 65,211,116, 13, 1, 89,
-191,108,108,108, 12, 83,214,150,190, 21,107,103,154,166,216, 86, 82,243,212,237,175,124, 53,104, 99,232,109, 79,223,116, 92,152,
-231, 60,252,228, 30,116,142, 87, 95,186,204,141,107, 87,105,214, 75, 32,225,181, 55,223,160,172, 75,138, 60,131, 40,225,165, 59,
- 55,176,173,103,113,178, 96,190, 51,197,150, 13,159,124,250, 25,113,191,226,223,126,231,251,108, 92,122,153,203,151, 47,242,248,
-249, 62, 15,238,127,142,111, 79,233, 58,104,173,226,229, 91,215,184,120,105,206,206,252, 50,171,211, 35,166,227,130,199, 39, 43,
- 46,143, 99,254,213, 95,189, 77,131,167, 24, 68,136, 27,243, 12,213, 15,202,222, 60,101, 52, 78, 89,157,214,216,206,178, 92, 87,
-140,210,152,101,221,177,150,162,134, 36,210, 2, 46, 48, 25,145,150, 7, 88, 17,200, 50,217,195, 86, 85, 69,217,136,186,120, 99,
- 99, 74,142,176,141,139, 81,129,201, 82,116, 60,198,105, 77,154,196,156, 30, 60, 27, 70, 87,129, 56,203,176,189, 40,116, 15,247,
- 15,201, 39, 57,135,135,107,218, 62,112,245,210, 22, 55,175, 95, 65,105, 56, 62, 60, 97,115,186,193,100,115,202,201,241, 17,235,
-229,154,182,174,241,200, 37, 19, 37, 67,186,143, 78,104, 85,204,114,189, 6, 37,118,151,217,108,134, 82,122,168,218,213,240,123,
- 35,206,172, 50, 81, 20,201, 65, 82, 11, 81,201, 24,195,120, 60,198,123,135, 69,168, 67,121,122, 54,186, 14,210, 5,122, 47, 59,
-114, 47, 97, 22, 66, 50,211,104, 35, 94,217,166,235,241,125, 79,239, 29, 12,191, 86, 20, 99,210, 44, 70,171, 33,193, 41, 40, 92,
-240,244,182,195,121, 68, 37, 62, 84,254, 70, 71, 40,131,116, 75, 94,196, 70, 33, 72,100, 98,235, 90, 98, 37,236,122, 81,185,230,
-164, 81, 2, 90, 44, 49,224,233, 58,207,104,156, 83,150, 37,193, 6,188,242,232,179,238,200,251,193, 83,142,216, 85,188, 0, 59,
-240, 34,180, 50,113, 76,150,202,158,172,239,196, 23,155,164, 41,214,123, 34, 99, 8, 65,170,218,179, 75,175, 44, 75, 8, 65,124,
-166, 94,120,219, 74, 41,138,241,152,186,148, 68, 58, 81, 80,247, 68, 70,126, 45, 74, 18,217,201, 57, 71, 22, 15,135, 33, 82,205,
- 71,145,120,152,227, 52,193,245, 61, 90,131,138,132, 58,149,166, 25,113, 28, 9, 67,188,151,149, 86,158,139,240, 74, 5, 69,211,
- 84,152, 56,197,219, 30,162,136, 40,156,245,184, 10,137,107, 28, 50,209,189,151,112, 22, 99,248,141, 55, 95,227,171,175,191, 10,
- 1,186,222,194,176,223,108,218, 14,215,247,180,125,127,126,201,159,156,156,240,236,224,128,166,149,177,228,124, 99,131, 16, 2,
-187,251,207,105,218,142,166,235,112,189, 99, 52,202,249,236,201, 19,214,235, 21,193, 7, 38,211, 41,235, 85, 41, 10,119, 43, 96,
-142, 52,145, 48,141,195,227, 19,102,147, 41,243,217,152,166, 90,114,186, 88, 18,180, 34, 38,176,110,193,202,153,201,214, 40, 38,
-142, 98,124, 28, 97,173,231,248,184,100,115, 62, 69, 7, 75,240,210,133, 10, 39,187,167,152, 76,233,187, 30,123, 38, 94,114, 3,
-195,155,128,239, 44, 22, 79,221,180, 72, 33, 32,190,100, 29,201,164, 37, 56,133,210,210,105,186,222, 81,150, 53,193, 57,174, 93,
-189,196,215,126,237, 75,124,243, 55,191,206,254,254, 83,142, 15, 15,185,119,247, 46,161,235, 72,243, 20, 21, 37,252,197,247,223,
-197,104, 3, 70, 46,111, 25,215,246, 67, 49, 40, 63,123,133, 18,158, 0, 17,113, 36, 57,219,222,202,231,105,173, 39,207, 82,122,
-215,147, 36, 25, 38, 74,208,202, 17,208, 52,117, 45,239,140,151,120,217,170,238, 72, 83, 37, 99, 95, 18,156,147, 93,188, 82,138,
- 96, 3, 54, 8,198, 20, 32, 74, 19,112,158,172,200,233,186,142,174,173,209, 42,162,110, 4, 88,162,213,217,239, 85, 68, 73,202,
-100,107, 78, 94,164,172, 86, 21, 74, 41, 54,166, 27,114,137, 43, 77,223,118,152, 40, 26,196,102,158, 40,138, 57,163,192,233, 97,
- 74,128,247, 36,105, 70, 89,174, 40,138,130,170, 44,137,162,136, 55,222,248, 50,222, 26,190,251,189,239,177,177,185, 77, 28,197,
-204,198, 19, 14,219, 19,244, 58,224,227,136,182,148,181,151, 67, 38, 84,249, 32, 80,244, 65,236,119, 65,121, 70,249,132,141,141,
- 9, 89,150,209,182, 50,121,243,182,195,217,150,124,188,201,149,151, 94,103,114, 41,101,245,224, 25,229, 98,197, 87,254,155,255,
-154,233, 44, 99,255,157, 31,115,247,237, 31,113,239,239,127, 66, 20,199,140,139, 49, 81, 26,209,117,150,200, 40,140, 73, 88,173,
-215, 4, 5,120, 24, 21, 57,206, 5,234,186, 36, 43, 10,234,245, 10,231,165,185, 25,143,199,164, 73,116, 46,106, 60, 19,193, 37,
- 73,194,122,189, 34,141, 19, 44,129,166,109, 24, 23, 99,170,178,164, 24,201, 4, 9,163,193, 43,234,182, 38, 75, 36,249,239,232,
-240,144,222, 74,170, 95,148,196,120,231,113,214, 18, 37, 9,117, 85, 97,180,161, 24, 21,204, 55, 54, 7,215,149, 37, 75, 98,206,
-184, 7, 33, 4,180,150,201,164,214,230, 23,205, 69,211,208,116, 29,227,129,138,185, 90,172,206,255, 59,117, 93,145, 23, 5, 69,
- 81, 80,183, 13, 69, 38,168, 99,217,243,151,140, 70, 35,105, 12,110,190,245,229, 32,180, 89,197,149,173, 12, 86,199,108,111,109,
-176,179,181,197,108,180,193,225,254, 30,113,156,114,251,213,215,209,227, 49, 18, 99,152,162,241,236,237,237,226,188, 65, 39,129,
-103, 15,158,176,181, 57,227,217,147,135,252,205,223,252, 29, 47, 94,185, 70, 60,201,240, 94,243,195,183,223,163, 35, 48, 74, 20,
-243, 34, 98, 84,196,124,235, 15,126, 23,173,197,239,122,120, 90,161,178,148,197,201, 1,247, 62,185,199,238,209,154,217,230, 38,
-151, 46,108, 49,202, 19,154,213, 41, 31,221,123, 70,215,122,146, 92, 99, 91,143,247, 96,242,148, 73, 30, 35,202,196, 20,163, 12,
-104, 79, 30, 75,126,173, 87,208,181,194,153,118, 4,162, 56, 35,120,203,201, 98, 69,150,101,248,222, 14,228,165, 64, 28, 27,140,
- 10,196, 70,145,103, 57, 73, 62, 99,107,123,206,225,242,148, 80, 87, 56,235, 57,126,190, 75, 31,231,172,143,151,108,108,100,204,
-119, 46,176,127,184,224,149,151,110,112,245,226, 6,139,163, 35,242, 52,147,253,102,221,115,235,246, 77, 30, 63,124,132,119,208,
-183, 13,101,221,145,231, 49,206,122,150, 77,143, 77,199,228,121, 78,215,247,180,117,205,120, 60,197,121,139,243,226,185, 78, 99,
- 81,142,158,253,125,246,151, 11, 1,239, 7, 53, 42,162,162,205,139, 2, 19,197,104, 37, 49,183,125, 91, 67,100,100,100,232,145,
-228, 50, 21,152,140,198,231, 95,239,204, 58,226,156,165,111, 27, 84,148, 16,130,120,122, 35, 19,147,142,114,162, 65,152,227,156,
-167,119, 78, 58,104, 20,249, 40,167,179,194,245,142,149,161,115,158, 36,214,120,111,105, 91, 1, 70, 84,235, 21,222,203,110,238,
-236, 5,202,210,116, 88, 43,136, 31, 84,212,192,134, 72, 71, 88,111,207, 31,238,179, 63,175,181, 30, 19, 73, 55,115, 86,160,116,
-125, 71, 93, 85,231, 93, 81, 62,146, 76,236,224, 21, 12, 15,185, 82, 34,152,147,181,129,116, 36, 85, 85,201,222, 54,142,137,135,
- 29,163, 88,227,132, 50,181, 94,151, 76, 38, 19, 66, 8, 44, 87, 75, 70, 99, 25,223,181, 93,135,216,196, 60,190,149, 78, 56, 77,
- 82,188, 10, 67,209,208, 98,162, 88,214, 73, 81, 36,151,123, 28,227,188,165,200,134,100,178,224,168,170, 26, 55,140,237,138,209,
- 8, 80,242,153,214, 53,227,241, 24,215, 91, 78, 79,142,153,111,111,159,251,177,171, 97,205,114, 38,154, 74,181,226, 55,222,188,
- 35, 62,244, 32, 76,236,222, 59,198, 69, 65, 18, 39, 84, 77, 67, 89,214,104, 45, 98, 66, 17, 63, 74,226, 83, 85, 85, 28, 28,159,
-176, 88,151,120, 47, 23,101,100, 36,115,188,172, 91,238, 61,124, 32,187,238, 56, 34,142, 50,156,109,113, 30,250,174,193,122, 71,
-232, 44,173,237, 89,174, 42, 54,102, 83,174, 92,220,166,106, 75,154,213,138,178,105, 73, 99, 67,219,180,180,189,162,243,112,105,
-163, 32,203, 82, 26,215, 98, 59,207,241,170, 99,190, 57,198,119, 18,142, 17,199, 49, 93,211, 16,143, 70, 48, 76,104,122, 43,157,
- 78,232,228, 2, 11, 38,224,156, 68,121, 70,146,109, 1, 72,193,234,172, 32,111,157,115, 98,231, 75, 12, 95,121,237, 5,110,191,
-120,137,107, 87,174,240,206, 59,239,113,225,242, 53,110,220,188,206,123,239,252,148,135,159,125,196,133, 75, 87, 49,186, 96,178,
- 53,231,238,227, 99, 30, 61,221,163,111,106,210, 52,197,185, 32,239, 11,158,182,119, 36,121, 49, 76, 7, 18,218, 70, 40, 97,125,
-239,228, 6, 65,227, 67, 7,206,227, 29,120, 5,113, 44,170,124, 19, 71,196, 74,120, 9,211, 73, 70,211,116,148,101, 41, 34,204,
- 72,179, 42, 43,130,212,165,140, 70, 41,125,223, 18,188,161,239, 28, 81,172, 65,129, 66,200,104, 77, 45, 81,183, 73,106, 88, 13,
-211,199,255,240, 47,241,162,199,196,121, 1, 70,226, 68,181,137,152,140, 39,116,214, 18,107,201, 44, 7,104, 7,191,115,150,101,
- 88,111,113, 93, 15, 58,162,239,196,223, 62, 26,229,172,214, 43,129, 17,229, 18,172,178, 49,217,226,224,168, 97, 93,149,120, 43,
- 42,240,113, 81,208,218,142,141,201, 6, 79,247,247,240,206, 99,130,172, 69, 38,147, 2, 31, 2, 85,213,200,214, 43,200, 74, 32,
- 77, 18,210, 52, 99, 60, 46,232,186,142,166,170, 88,173, 78,248,159,126,114,159,167,223, 57,194,206,127, 14,135,247,104,154,154,
-104,126,147,106,109,217, 41, 42, 54,183,183, 48,179, 49,205,186,100,241,124,143,189, 15, 63,224,243, 31,253,132,102,185,162,235,
- 58, 17,253, 53,141, 20,130, 38,198,245, 45, 65, 41,166,211, 41, 74, 41, 22,139,197,112,129,138,101, 77, 41, 5, 30,138, 81,134,
-210, 98,105, 60,155,244,165, 89, 74, 83,215,140,198, 99,202,178, 2, 2,197,120, 74, 85, 85,140,178,140,229,106, 45,147, 67,103,
- 41,203, 53,189, 21,174,128, 2,108, 8,100,137,172, 14,250,182,147, 49,191, 54,204,183,230, 40,165,104,219,179,201,227, 96, 59,
-238,123,242,124, 68, 8,126, 56,155, 33, 30, 2,142, 66,112,148,117,141,193,200,212,216,123, 78, 79, 79,137, 99,129, 2,101,121,
- 70,219,137,208, 52,104,121, 33,210, 52, 39,141, 53, 93,219, 99, 54, 46, 94,253,118, 18,167, 76,138,140, 75, 89,205,238,222, 33,
-229,170,230,248,104, 69,145, 21,108, 93,218, 98,186, 57, 99, 89,119, 92,186, 58,199, 13,150,150,135,247,239,163,162, 9, 81,146,
-114,237,202,101,146, 40, 97,239,240,128,123,159,124,130,137, 98,234, 96, 73,162, 20, 19,107, 22,167,251,204,138,156, 91,215,230,
- 92,152, 79,248,173,111,252, 38, 42,138,249,183,223,251, 62,127,249,221,159, 99, 66, 7, 6, 22,203,138,202, 6, 46,110, 77,121,
-235,173, 87, 56, 57, 62,230,131,143, 31,113,112,184,162, 15,158,209,198, 24, 19,231, 92,185,114,133,203, 87, 47,115, 97, 99, 76,
- 49,158,144, 68, 49,249,104,130,142, 53, 77,111, 41, 61,244, 38,197,170, 8,171, 34, 26,239, 25, 77,230,232, 52,195, 36, 41,105,
- 49, 6, 19,209, 5, 80, 89,198,120,182, 69, 54,157, 65, 92,112,120,178, 18,191, 99, 95,179, 90, 30,226,186, 14,215,174, 56,122,
-126,192,165,141,152,205, 44, 98,123, 62, 99,126,225, 2, 91,179, 13,174, 94,190,128,246,142,216, 57,158,238,239, 51, 29,143,216,
-221, 59,198, 36, 17, 71,123,207,241, 78,211,181, 37, 39,139, 21,182,107,137, 3,172,170,150,100,126,137,188, 24, 73, 85, 60,236,
-212,162, 68,120,192, 42,104,178, 52,161,119,226,177,245, 67,183,105,173, 48,141,173, 21,240,197,217, 37, 23, 69, 9, 81, 36, 15,
-183, 82,138,190, 19, 63,182, 30, 58,194,179,238, 39, 78, 98,116, 16, 12,103,215,183, 56,215,163, 6,129,100,215,247,180,125, 3,
- 33,112, 70, 85, 50, 90, 30, 88, 99, 12, 65,169,225,240, 9, 68,145, 40,114,155,170,166,175,101,231,222,212,165,196, 49, 34, 7,
-146,109,235,225,114,208,195,161,219,227,157,208,181,228,189,146,125,165,140,204, 56,199, 48,202, 30,223, 2, 1,201, 84, 6,124,
- 24,236, 59, 67, 71,110, 69, 49, 26,199, 49,113,146,160,148,172, 18, 20,226,201,109,134,145, 25, 8,172,164,235, 36, 14, 51, 73,
-196, 63,219,117,157,192, 27, 34, 65,133,118,125, 79, 93,203,106,160, 25, 14,229, 51, 69,177,132,125,200,215,102,232, 62, 76,100,
-168, 59,121, 73,195,255, 79,214,155, 4,107,154,166,231, 89,215, 59,126,195, 63,156, 49,231,204,202,154,171,171,231,110, 73,238,
-182,100,183, 44, 89, 29,216, 14,194, 54,182, 33,194, 1, 54, 94, 0, 17, 4, 11, 96,203, 74, 17,176, 96,201, 10, 88, 19, 1, 1,
- 94, 56, 48, 54, 50,118, 16,132,101, 9,201, 18, 45,169,187,122,170,234,154, 51,171,114, 62,211,255,255,223,252, 14, 44,158,239,
-156, 34,130,172,101,102,101,158,115,254,239,123,223,231,185,159,251,185,238, 24, 65,105,114, 78, 98, 94,156, 38, 20,178, 59, 74,
-202,140,195, 36,243, 60,101,240,174, 32,231,136,176,188,133,120,149,147,108, 35,104, 35,197, 76,215,247,242,181, 58,119, 85,116,
-104,107, 49,202, 96, 11,143,178,134,231,155, 13, 38, 74,113,115,190,217, 9, 70, 87, 25,172,213,156,111,183,236,102,124,106, 63,
-137,225,170, 31,122,206,206, 55,188, 56, 59, 23,163,147,145,245,213, 16,194,188,158, 37,207,219,102,152, 8,202, 48,198,204,110,
-183, 19, 34, 88,146, 57,224, 98,177,194,149, 37, 77,211,226, 77,166, 27, 59,140,173,200, 9,170,229, 66, 70, 53,217, 98, 45, 20,
- 38, 49, 78,176,233, 39,140,202, 95, 56,141,195,196, 16,193, 59,207, 75,183,143,209, 78,240,177,211,144,175, 70, 41,198, 8, 21,
- 15,173,192,234, 89, 18, 31, 73, 42, 18,166, 72,219,141,116,227, 36,107,111, 41,176, 94,120,156, 51,188,252,210, 29,190,255,235,
-127,142,111,126,251, 91, 24, 95,147, 72, 40,227, 8, 57,113,239,222, 43,100, 21,185,247,202, 93,142,174,221,225,155,223,249, 14,
-229, 98,193,209,245, 61,126,254,254,199,156,156,237,132, 95,144, 5,120,210,181, 61,218, 9,151, 59, 36, 41,220,114,202,228, 52,
-145,194,196, 52, 13,140,161, 35,133,204,174, 27, 48, 42, 51,197, 9, 53,203,185, 26,121,231, 46,205, 79, 49, 68, 10,235,184,132,
-159,120, 91,160,141, 34, 5, 73,216, 26,167,132,113,150,213,254, 26,111,229, 29, 5, 69, 76, 89,212,129, 48,161,181,193, 40, 40,
- 74,135,177,226,226,175,170,146,152, 38,250, 62,200, 22, 80,223,178,187,216,201, 59, 20,164,224, 80, 74,242, 32,148, 49, 92, 6,
-243, 72, 32,140,236,108, 43,160,172,164,193,177,133,195, 25,131, 68,239,202,200,161, 31, 90, 92,161,217,109, 71, 14, 15, 14,232,
-250,137,170, 52, 52,109,195,114,177,164,168,106,250,174, 33,102,208, 78, 81, 23, 37,206, 26,198, 32,231,148, 86, 51, 74, 60, 71,
-114, 28, 73, 73, 20,194,182,221,112,112,253, 87,248,141, 95,251,183,249,240,135, 79,121,242,238,207,152,204, 25,122,108,113, 94,
-243,232,207, 54,244,126,160,127,254,144,184,184, 11, 39,111, 80,222,191,203,209,151,190,198,235,191,250, 43,156, 63,254,140,147,
-207, 30,144, 81,212, 85,137,245, 22, 73,218, 43,137,211, 36,227, 16,253, 5, 56,169, 40, 74,140,145,231,107, 24,197,112,156,179,
-176, 56,140,150, 36, 71,231, 28, 17, 41, 46,189,251,255, 24, 45, 99,144,237,142,194,145, 67, 36,147, 40,124, 37, 96,175, 73, 20,
- 72,121, 95, 11,114, 78,243,179, 44, 42,161, 66, 54,149, 64,140,163, 41,201,168, 83, 95, 54, 29,227, 40, 42,219, 56,209,143, 3,
-109,211,208,247, 3, 90,201,246,130, 43, 4, 99, 92, 85, 53,105,154, 8, 97, 98, 26, 3,198,201,182,132,183, 22,231, 60,206, 9,
- 78,185,240, 30,245,165, 95,254,243,121,223, 13,156, 61,125,202,151,191,254,117,110,223, 56,102,187, 57,225,173, 47,125,141,186,
-244,124,248,238, 79,185,247,250,219, 28, 28,238,113,122,242,130, 97,156,128, 68, 12, 19,245,122,159,221,118, 67,202,176,185,216,
-240,226,233, 19,154,118,203,187, 63,251,136,216, 7,118,195,196,235,175,222,227,163, 15, 62,228,218,129,230,181,215,110,115,122,
- 62, 48, 69, 69, 24, 2,143,159,158,114,253,246,117, 66,180,168,220,115,122,182,101, 24, 50,123,149,226,116,215,115,222,138,204,
-185, 87, 87, 88,171, 57,216, 91, 81, 20,142,179,147, 19,134,190,165, 55, 75, 22,203, 5,235,131,125,250,249, 48, 12, 99, 32,145,
-208, 74,179, 94,173,216,181, 45,101, 89,210,117,253, 60,247,150,185,140, 47, 11, 54,155, 45, 48, 95,138, 78, 0, 7,109, 43, 17,
-142, 83, 8, 88, 21, 73, 67,143, 75, 19,103,231, 91,194,152, 88,249,204, 75, 47, 93,227,205, 55,223,230,112,127,205,174, 27,249,
-236,228,148,216,140,108, 78, 94,224,106, 71, 31, 70, 64,200, 78,253, 40, 7,163,175, 42,154, 77,195,197,182,167, 56,190,142,245,
- 5,164, 36,171, 57,195, 56,207,212,229,251, 5, 36, 51,122, 28,209, 70,130,115,100,134, 39, 64,140, 75,217, 61,147,233,154,142,
-170,148,212,162,128, 24, 52,198,190,231,242,175,210,250,139,185, 99, 76, 81, 76,105,115,229,154, 66, 36,107,208,104,148, 6, 55,
-255, 61,125, 43,107,141, 69, 81,208,117, 45,206, 22, 40, 37,115, 50,109, 37,167,120, 12, 73,140, 83, 57,163,209,210,145,207,251,
-223,198,202,236, 58, 78, 19, 67, 47,133,130,119,158,148, 19,133,247,160,100, 77, 78,107, 9,187, 16,148,231,116,117, 16,150,101,
- 73, 98, 54,131,104, 43, 42,202, 92,145,123,111,153,166, 52,175, 89, 37,145,178,149,161,170, 10,153,151, 41, 37, 56,201, 52, 7,
- 92, 24, 71, 72, 1, 16, 83,214,197,197, 5,146,227, 45,123,173,198, 57,202,178, 38,230, 32, 38, 48,196,180, 19,179, 4,137,116,
- 93,135, 54,179,123,216,121,166, 81,226, 34, 77, 86,104,107,216,108, 54, 12, 51, 88,130, 44,242,230,106,185, 34,107,197,246,226,
- 66, 62, 3, 99,217,223,223, 67, 41,129,250,108, 47, 54, 72, 38,178, 34,132, 12, 68,170,197, 18,146,128, 43,154,166,101,177, 90,
- 97,180,152, 18,245, 60,123,159,198,113, 30, 73, 68,170,194,243,245,123,119,176,198, 8,185, 42, 68, 36, 5, 75, 36,108,165,213,
- 23, 93,109,150,153, 97, 74, 9,201,190,206,144, 19,253,208,147,145,127,227,243, 77,139,210,134,205,102,139,183, 18,243,104,204,
- 44, 73,167, 68,219,238,164, 64,204,145,194,106, 54,231,167,244,227,200,209,209, 17,133, 47, 89, 44, 74,218,190, 99, 26,122,242,
- 36, 74, 76,211,116,140, 10,150,222,179, 94, 47,169,188,134,178, 4,231,249,244,189, 7,252,230, 95,248, 42,175,191,126,151,223,
-249, 39,191, 71, 23, 43, 78,119, 23,226, 54,206,114,167, 27, 99, 24,187, 1,140, 98,177,168, 56, 63,223,176,127,176,228,215,190,
-243, 45, 94,186,115,147,156, 6,234, 82, 54, 54,110,220,124,133, 23,167, 27,142, 14, 14, 24,134,129,231, 79, 31, 98,157,229,163,
- 15, 63, 32, 77, 80,239, 47,185, 56,127,206,147,199,207,152, 66,224,249,233, 5, 95,253,214,203, 36,231, 57,121,220,241,147, 31,
- 61, 96,189,191,162,172, 42,138, 66,214,219,166,105, 96, 74,145, 48, 4, 84,202,248,170, 36,229,128,201,138,102, 55,128,133, 89,
- 80,248,255,253,210, 70, 65, 18,191, 65, 81, 57,185, 60,148,161,172, 28,113,140,116,253,128,183, 98,116, 59, 56,216, 35,147, 56,
-191,216,114, 9, 51,233,118, 27,188,243, 24,173,176, 69,133, 86,242,174, 27,227,102,232,143, 66, 27, 9,129,106,187,129,190,147,
- 47,196, 24, 49,208,165, 44, 51,222,162, 90, 8,151,193, 57,246,246,247,231,179, 0, 66, 24,197, 92, 55,138, 33,107,185, 92, 50,
- 77, 2,191,138, 73, 14, 15,165, 69,181, 20,212,180, 38,135,130,253,131, 35, 32, 81, 22,150,135,159,125,198,254,225, 17,235,186,
-166, 29,250,121,222, 46, 82,188,172,225, 37,114,152,232,251, 29,195, 56,112,116,243,155,132,246, 83,188,151,142,243,151,126,235,
-191,225,237,175,127,159,119, 63,248,151,108,206,127,134,218,255,148, 35, 51,241,202,159,251, 22, 79,158,183, 60,251,209,142,131,
-151, 59,186, 41,243,202,237,255,152, 48,108, 80, 86,145,243,115,170,151,158,241,226,135,127,194, 31,254,163,127, 72, 74, 17,141,
-152,106, 19,144,131, 4,144,173,246,246,200, 49,211,181, 59, 64,204,104,222, 23, 56, 39,171,147,160,240,222,147,115,102,187,221,
- 16, 66, 96,189, 94, 95,153,233, 54,155, 45,190, 40,175, 10,119,173, 36, 4,200, 40, 77,210,138,113,104,105,154,110,158,191,207,
- 27, 10, 49, 96,181, 36,182,161, 68, 9,205, 41,227,171, 98, 86, 19,228, 44,206, 57,225, 92, 49,191,175,150,221,230, 28,235, 12,
- 93, 55,226,189,101,177, 92, 93,169,141,204,197,126, 74, 34,241,147, 50,166,176,128,168,108, 49,201,179, 37,219, 52, 10,245,253,
-223,252,102,254, 87,191,251, 19,222,120,253, 53,254,222,223,251,235,156,159, 60, 99,232, 58, 78, 55,129,189,195, 61,156, 50,188,
-253,181,183,249,228,147, 79, 0,201, 0, 94, 47, 61,103, 31,254,148,237, 24,241,135, 55,217,156,157,243,193, 7, 31,208,199,142,
-143, 63,120, 66, 63,141,124,251,235, 95,165,139, 19, 58,244,252,225, 31,254,148,122,149, 57,223, 40,190,252,230, 29,142, 14,247,
-248,244,211,207, 88, 29, 28,145,177,244,221,150,208,158,115,118,218, 49, 76, 98, 76,113,149,164, 80, 93, 59, 58, 20, 19,147, 53,
-228,156,104,218,145,245,241, 53,250, 56, 95, 26,195,136,213,138,106,177, 36,197,200,249, 70, 92,128,133,117,248,170, 18,137, 47,
-140,108,206, 55,164, 36, 6,165,122,177, 32,165, 60, 83,124,150, 92,174, 40,104,173,217,109, 46,168, 22, 11,249,240,230,234, 54,
- 76,137,212, 93, 16,167,129,105,183, 97,127,111,205,221,187, 47,177, 95,123,180, 77, 84,149,227,249,217,150,166,237,161,221,241,
-217,211, 23, 44, 15,174,179,109, 27,152, 50,170,176, 88,144, 48,138,227, 91,104, 95,224,172, 37, 71,176, 86,179,219, 53,148, 85,
- 33, 43, 60, 74,205, 21,242,192, 98,185,100,236,133, 33, 92, 23, 98,144,209, 86,220,210,228, 76,219,181, 40, 12, 85,225, 1, 4,
-221,235,156,152,110,114, 38,146,208,232,171,139, 93,246,113,197,145,171,149,146,181, 55,239, 25,123,217,157,117,133, 1,109,152,
-134,158,190, 31,112, 70,228, 80, 99, 20,202, 56,100,205,197,131,146,148, 40,165,212,149, 84,152, 17,147, 87, 66,188, 1, 90,201,
-108, 90,118, 74,165, 43,191,220,229, 76,211,116, 53,143, 86, 90,240,195, 41, 8,185, 42,199, 76, 89,200,197, 63, 76, 35, 99,215,
-161,180,102, 49, 31, 58,174, 16,120, 68,206,153, 97,234, 9,253, 72, 72, 34,117,173, 86, 43,198, 97, 64,219,153,171,140,116, 27,
- 93,211,200, 8, 38, 37,114, 8,146, 55,157, 51,109,223,179, 94, 46,137, 73,186, 94,157, 52, 69, 85,176,217,110,209,214,162,114,
- 98,177, 88,194,188, 2,179,221,236,200, 73,230,145, 86, 25, 92,225,100, 77, 46, 68,118,205, 22,131, 84,231,171,245,106, 94, 11,
-149, 61,248,189,189,125,218,182, 67, 25,195,162, 46,201, 25, 98, 12,116,157,200,169, 26, 77, 72,129,213,106,193, 56, 74,113, 52,
-142, 35,218, 40,250, 94, 94,212, 75,230,128,179,150,140,196, 68, 22, 86,243,230,157, 91, 28, 44,197,108,148,230, 74, 46,134, 73,
- 40,122,200,229,168,103,213, 34,101,249,189,148,101,132, 67, 78,180,253,200,147,166,231,124,179,157, 99, 76, 27,170,170,102, 24,
-122, 66, 24,209,218,225, 10,131, 74, 82,144,200, 95, 37, 42,202,217,147, 71,104,171,133, 25,144, 97,189,191, 71,219,237, 40,177,
-224, 44,121, 24, 24,115,224, 98,211,114,243,104,159,213,193, 30, 54, 13,124,231,144,110, 71, 0, 0, 32, 0, 73, 68, 65, 84,245,
- 59, 95,229,143,255,236, 29,126,254,163, 39,188,118,111,193, 66, 5,254,220,215,126,137,227,187, 95,226,209,197,134, 15, 63,249,
- 88,246,154,137,220,185,113,196,195,207,158,179,237, 6,110, 94, 59,228, 59,223,250, 10, 7,135, 7, 36,173, 81, 90,100,121,140,
-166,107, 51,171,178, 64,171,132, 54,137,139,205, 25,195,208,240,222,207,127,206,241,173,155, 24,111,120,240,193, 7, 60,127,252,
-132,107,135,215, 89,237, 95,227,254,151, 95,163,233, 79, 24,119,137,127,249,187, 63,100,187, 29, 81,214,208,119, 13,144, 56,191,
-144,121,241,229, 47,173,193, 98,153,144,176,143,170,246,148,117,205,106, 89,163,141,162,217,236,136, 65,118,165,141, 83,160, 53,
- 85,225,137, 25,200, 2, 79,105,155,134,182, 21,196,246,209,254, 30, 1,136, 99,162, 92, 8,159,189,105, 91,172, 51,180,219, 6,
-155, 65,103,136,100,178,146,162, 44,142,226,191, 48,206,201, 56, 40, 8,247, 63,166, 68,152, 34,211, 20,241, 78,140,150, 25, 69,
-140, 3,100,217,191, 94,237,239,227, 75, 49,110, 45, 22, 43, 32,211, 52, 50,139, 77, 36,250,174, 37,133, 68,189, 92, 17,134,158,
- 93,219,178, 92, 44,132,172,151, 5,231,187,109, 70,194,168, 24,251,158,132,158,179,228, 21, 85,185,160,176,138,179,237, 6, 89,
- 18, 16,111, 72, 14,129,166,223,240,143,159, 61,166,235, 20,159,252, 1,124,218,255, 30, 93,187,165,253,197,117,158, 62,124, 74,
-179,251,144,237,217,251,232,245, 41,199, 7, 37,111,254,249,239, 82,149,158,135, 15, 94,112,241,248, 33,109,119,198,151,222,252,
-247,137,221, 13,114,238, 72,169,101,211,124,194,237, 47, 7,250, 23, 79,248,163,127,248, 63,145, 81, 76,211, 4, 25,194, 56,162,
-157, 16,217,150,203, 37,231,231,231,132, 16,101, 11, 96,190,100,149, 82,179,228,109,112,214, 49,134,137,161,107,196,103,160, 20,
-101, 89,178,219,108,201, 72,115,152,231,162,224,236,244,148,105,154,176,222,211,119,210, 48,138,156, 62, 16, 99,194, 88,139, 51,
- 5, 85, 93,162,149,128,104,166,161,199, 21, 37,253,208,206,119,205,229, 72, 85, 46,125,239, 61,155,139, 13,227, 56, 92, 81, 17,
-181,214, 87,231,195,106,181,194, 24, 81, 71, 19, 98, 82, 14, 73, 8,163,203,197,146,102,183, 37,101,137,108, 30,135, 1,181, 48,
- 38,191,241,230,203,252,197,239,126,155,190,221,113,254,236, 25,213,209, 13,190,242, 75,223, 97,185,231, 24,186,150,161,237,136,
-227,132, 41, 42,153, 75,182, 59, 30,253,228, 79, 25,205, 62, 57, 71,126,242,222,123, 4, 83,162,172,227, 96,233,105,183, 59,116,
-232,185,118,239,144, 15,222,127,128, 53,146,198,133, 6,151, 71, 30, 63,219, 17, 34,100, 29,217,182, 3,133,207,236,182,129,110,
-204,236,173, 23, 44,170,130,131,195, 61, 20,138,102,215,201, 5,179, 92,226,170, 10,111, 61,197,124,232,119,109, 39,251,140,222,
- 80, 87, 53,195, 40,146,236,165,236,161,181, 44,232,135, 48,178,217,236, 68,158, 70,179, 58,216, 71, 1,219,139,205,124, 80, 25,
-246,246,101,213, 39, 76,194, 81, 38,101,140,117, 87, 38, 43,137,141,148,151, 35,143, 45, 46,193,209,178,134, 52,210, 77, 19,125,
-219,224,157,102, 10,138,182,105, 89,213, 5,221, 48,226,124,193, 24, 3,231,155,134,195,187,247,169,215,251,164,217, 76,212,247,
- 35,198,104,166, 65, 92,143, 83, 28, 65,201, 10, 10,104, 36, 18,114,139, 82,226, 14, 45, 75,161,187, 57,107, 81,198, 48, 52, 29,
-190, 42,101, 46,233, 61,125, 63, 96,181,228,247,230,156,105,251,118,118,121,138,132, 8,160,140, 97,189, 88,206,135, 51,120, 95,
- 50,166,112,149,144,165,181, 33,199,200,118,187,197, 91, 71, 86, 95,204,162,198,190, 7,163,201, 73,145,115, 68,238, 77,145,158,
-197, 36, 39, 52,183,170, 40, 64,137,147, 61,197, 72,211,245, 44,102,211,149,243, 30,235,253,220,197, 15, 76,105,194,233,153, 2,
-229, 61,230,234,194, 14,172, 86,245, 21,224, 65, 43, 69, 89, 47, 8,227,132,182, 26,103, 29,214, 9,230,181,109,133, 55,238,156,
-163,174,107, 98, 8,108,230,181,204,186, 44, 65, 65, 59,179,202, 67, 72,148,165, 71, 27,195,182,217,206,225, 21,179,153, 50, 25,
-166, 73,114,146,235, 69, 45,206,116,173, 33,231,249,101, 21, 36,169,247, 34, 81,182,109, 43,230, 20,184,170,190,201,176,221, 54,
- 44,151, 53,155,205, 22,235,140,124,158, 89, 34, 37, 21, 48,165,136,183, 94,230,228, 70, 46,232,102,183, 35, 43, 69, 34, 97,148,
-193, 23, 78, 58,246,203,217,121,140,162, 92, 40, 37,110,218, 36, 91, 20,214, 88,110,238,175,120,227,206, 45,156,177, 84,101, 33,
- 44,242,113,186, 58,192,174,244,159,156,174,222,141,148, 97,215, 15, 60,222,117, 76, 65,246,126, 85,148,195,102, 28, 7,178,138,
-130,141,118,142, 75,104, 79,140,151,251,253, 34,149,231, 20, 73, 99,207,122, 89,113,122,122,202,246,124,195,241,225, 49,203,189,
-138, 56, 70,124, 89, 48,244, 61,161,107, 56, 59,189, 96,117,120,192,173,195, 53,237,180,225,214,237,155,108,250, 45,159,124,250,
-156,105, 59,176,244,240,230, 43,119,120,245,245,175,241,181,111,126,139,189,227, 91, 20,245, 10, 83, 12,156,158,238,232, 59,137,
- 73,109,155,150,186, 42,241,149,101,189, 60,164,223, 54, 12,211,200,201,227,231,196,105,226,225,147, 79, 73,161,229,217,217, 41,
-143, 63,254,136,101, 85,163, 77, 73,139,229, 87,191,247, 75,188,243,195,119,184,113,227,136,212, 91,246, 15,214, 60,123,250, 25,
-205,121,195,207, 63,121, 72, 31, 3,103,103,195,229,200, 28,208,212,133,101,181,191,224,233,147, 51, 86,123,107, 14, 15,215,242,
- 25, 33, 5, 99,179,237,102, 39,190, 39,142, 3, 89,101, 50,154, 28, 36, 78,212,213, 21,206,202,103, 28, 83, 66,197, 68, 34, 65,
- 22,233, 61,166,105,246,141, 72, 30,184, 6,180, 45, 80, 38,160,180, 39,197, 1,225,156, 27,198,174,199,105,201, 52, 8, 25, 25,
-133, 25, 77,118,115,170, 25,153,148, 35, 67, 59,119,237,214, 48,205, 70,200,156, 34, 83, 18,201,217,152,138,213,122, 77,189,183,
-194, 91,233, 84,219,118, 71, 86,153,189,213, 30,153, 44, 80,154, 24, 80,202,176, 88,200, 69, 19, 99, 38,199, 64,215, 70,206,207,
- 58,234,197,146,245,222, 1,199,215,175,241,232,209, 35,218, 93, 67,189, 92,177,221, 54, 24, 73,249,165,111, 47,120,227, 27,127,
-143,255,236,159,255,215,124,175, 28,248,201, 88,240,127,253,183,207,201,183,255, 53,237,217, 57, 15,126, 0, 93,211, 49, 54, 79,
-208,234,156,227,183, 15,185,251,230,171, 84,181,102,106, 26,218,166, 35,244, 61, 71,119,239,112,242,254, 77, 98, 56,166,105, 79,
- 56,123,252,135,220,252,230, 33,175,254,242,215,249,240,255,248,199,252,228, 95,252, 14,198, 24,134,113, 68,107, 61,119,227,162,
-104, 54, 93,203,216, 14,226, 11,201, 82,236, 23, 51,254, 92,161, 88,174,151, 0,244,157, 48,236,149, 82,132,113,164, 90, 44, 25,
-134,129,178, 44,201, 40, 84,202,156,111, 55,244,221, 23, 89, 26,117, 93, 19, 99, 98, 28,134,121,156,103,169,202,133,148,221, 90,
-198,158, 57, 70,152,199, 74,105,110, 10,202, 75, 85,180, 23, 42, 96,204,145,205,249, 5, 41,137,218,184, 88, 44,230,145,160,176,
-251, 99,148,144,161,190,235,240,222,163,172, 21,197, 81, 73,177,161,148,140,212, 82, 74,168,255,226, 63,255, 7, 57, 54, 3, 79,
-159, 63,231,252,244,156,107, 47,221,231,207,255,229,239,131, 30,249,236,227,143, 88, 90,207,197,243,167,168,110, 75,111, 60,166,
- 90,241,254,123,239,115,242,236,140, 59, 47,223,231, 98,179,229,255,254,127,254,132,107,135,251,188,249,214, 29, 54, 39, 39, 84,
- 42,115,227,238,109,126,252,139, 79, 9,131,229, 87,126,229,151,120,246,232, 1,239,125,240, 46,237,110, 32, 91,197, 48, 69,154,
-102,194, 88,135, 82,134,101, 93,139, 91,240,112,159,164, 50, 9, 77, 55, 4,154,166,199, 22, 30,173,161,240, 5,195, 56, 72,229,
-148, 51, 99, 63,178,221,109, 88, 46,106,154,174, 99,177, 92,163,114,162, 27, 70, 82,152, 83,171,188, 23, 83,195, 32,177,149,243,
-213, 70, 70, 46,191,105, 24,168,170, 5,253,208,125,113,121, 91,195, 24,228,129, 46,189, 39,134, 4, 57,146, 21, 56, 55, 31,198,
- 22,226, 16,152,134,134, 56, 77, 28,238, 31, 64,152, 72, 49,202,229,167, 52, 71, 55,111,209,108, 79, 56, 57,191,160, 92, 31,205,
-135,233,101, 95, 43,191, 92, 33,152,215,177,239, 73, 6,233, 88,179,250,162,210,139,145,205,118, 75, 81,136,108,212,247,146, 42,
- 21,163,160, 31, 75, 95,208,116, 45,222, 11, 21,206, 24, 67, 85,215,192, 44,129,133, 68, 74,145, 24, 19, 77, 35,107, 30,151,157,
-251,162,170, 48, 69, 49,119,224,142, 41, 74,220,164,115,142, 93,211, 98,173,158, 31, 28, 9, 47,208, 90, 32, 23,121,254, 41,134,
- 41,201,133,231, 20, 58, 27,124,233,209,222,162, 98,102,179, 17,147,156, 84,207,115,247,162, 5,167,184, 90, 46,201, 90, 51,116,
- 2, 28,185,124,144,181,150,157,121,249, 30, 53,235,245, 18,148, 28,102, 33, 73,242,213, 48,211,192,180, 82,248,170,160,174,106,
- 98,140,132, 48, 18, 70,145,217,173,115,108, 54, 27, 4,247, 41,142, 87,173, 13,235,245, 18,201,128,206,236,154, 29,139,121,255,
-127,187,107, 40, 11,139,209,142,156, 18, 89, 9,184, 70, 27,115, 53, 79,207, 49, 98,173, 4,132, 56,107,101, 45,101,126,137,250,
- 97,192, 57,161,216,141,227,136, 51,142, 62, 12, 20, 78,204, 65,211, 52,205,135,128,112,171,173, 22, 5,168,237,135,171, 78,193,
- 24, 11, 22,134, 78, 8,119, 57,231,249, 80,150,177,196,229,191,149, 1,103, 61,105, 30, 41, 24,109,137, 49,224,173,225,229, 27,
-199,236, 45,106, 86,117,141,154,139, 56, 9, 68, 19, 40, 69, 70,130,111,158,157,111,120,177,221, 97,138,146,105, 26,233,123,217,
-136,144,100,179, 5,237, 12,159, 41, 10,199, 56,245, 40, 12,222,139,145, 75, 86, 44,101,228,226,156,151, 11,106, 12,120, 27,184,
- 56,123,193,110, 19, 57,188,118,136, 10,163,236,208,102,153,235, 14,155, 11, 9, 69, 81,142, 91,199,135,116,161,197, 90, 75,189,
-180,152,178,226,253,119, 31,224,146, 28,112,235,253, 26,147, 39,142,143,239,240,214, 27, 95,162, 25, 58,222,124,227,203, 68, 37,
-210,114,215,110,249,228,195, 79,200,147,226,250,221, 53,239,253,226,167,188,243,195,119, 41, 10,195,209,237, 99, 62,255,236, 5,
-201,214, 92,219, 43, 49, 56,234,250,128,213, 81,197,233,201, 5,143, 30, 61,102, 24, 58, 82,182,140, 65,186,231,203, 88,105,171,
- 68,206, 76, 25, 25, 57,105,133,245,102, 54, 18,182,212,101,201,110,215,226,157,199, 23,158,161,159, 8,113,194,106,145,186,167,
- 97, 16,214, 66, 78, 56, 47, 10, 85,156, 2,182, 20, 55,187,213, 18,145,219,141, 66,115, 43,173, 56,167,141, 17,178, 88,138, 18,
-181,108,141, 92,180,174, 40,152,210, 68, 10,210,149,229,164, 88,148, 5,206, 25,198,126,100,202, 66,180, 11,137, 43,216,208,229,
- 28, 95,161, 24,163,168,105,206, 9,138, 84,101, 25,155,134, 28,137, 1, 80,130,240, 53, 78,228,249,178, 44, 56, 56, 62,162,217,
- 53,180,109, 75, 85,150,116,189,100, 81,164, 44,251,239, 49,201, 28,190, 40,215,196,209,208, 77, 35,175,189,250, 22,211,208,241,
-249,231,159,115,255,254,107, 60,124,244, 8, 16,223, 79, 6,254,194,223,249,239,185,190,247,155,252, 7,255,213,192,103, 91,199,
- 31,254, 67,197,147,247,127, 7,142,126,193, 24, 61,213,197, 27,152,210,160,117,143,185,159, 88,215, 6,149, 55,168,126, 36, 12,
-163,156,214, 94, 49,140,138,223,255, 31,255, 21,159,254,232,127,103,169,207,248,202, 91,111,114,253,222,171,220,249,238,111,242,
- 39,127,240, 7, 60,124,247,103, 24,107,175,124, 32, 83, 16, 68,236, 56,118, 88, 99,217,110,197, 32, 90,184,130,118,236, 33, 39,
-234,170,164,170, 23, 88,107, 24,135,158, 48, 74, 0, 18,192,222,222,158, 40,182, 90,146, 75, 99, 8, 20,101, 73,223,246, 92,236,
- 46, 40,138, 66, 10,219,196,124, 94,237,145,194, 68, 85, 47,232,102,159,203, 20, 38,124,233,201, 25, 20,210,204, 93,222, 69,245,
-106, 41,133,114, 22,131, 49, 41,211,116, 59, 82,202,196, 20,176, 86,200,146,144, 48,218, 18,162,208, 48, 47, 27,205,194, 21,212,
-171, 5,228,204,197,102,131,158,207, 62,235,178,225,217,139,231,236, 29, 95,227,229, 47,127,157,123,175,223,199,154,129,231,159,
-124,198, 18, 89,220, 31,187,115, 62,255,244,115,146, 93,114,118,254,115, 94,156,181,188,242,218,107,124,242,240, 17,159,124,242,
- 17, 38, 12, 20,241,132, 15,126,118, 66,109, 28,185,114,252,228,199, 13,119,110,221,231,165,123, 55,121,246,236, 19,254,232,157,
-159, 19, 66,160, 94, 21,108,206, 70,118, 77,100,181,168,240, 78,179, 90,175, 89, 46,150,140, 33,240,252,244,156,100, 10,138,170,
- 38, 78, 9,101,197,185,233,125,129,178, 22,155, 34, 77,219,206, 51,193,145,229,106,201,208,117, 44, 22,181, 60,176, 81, 88,234,
- 90, 41,234,197, 74,126,146,177, 98,212, 6,231, 10, 2,153,237,102,139,243, 30,103, 29,219, 40,180,158,220, 3, 57, 83, 45, 69,
-162,209,122,162, 44,106,148,149,117, 46,136,164, 89,242,143, 97, 66, 43, 43,128,152,224,112,165,167, 9, 19,218,120,148,201,104,
- 87,162,140,226,197,110, 75,138, 5,139,195,155, 50, 11,209,146,173, 43,105, 66, 82, 77,251, 66, 98,245,138,178, 34,171, 12, 30,
-113,244,134, 72, 63,201,195,165, 81,132, 32,115, 30,145,183,197, 56, 35,159,162,172, 92,133,152, 88, 46, 87,180,205,142, 24, 38,
-250,113, 66,229,185, 35,176, 22, 95, 56,134,193,162,173,149, 61,200,166,161,233, 91, 42, 36,246,113, 28,164, 67, 69,137, 65,174,
- 46, 75,198,161,199,106, 51,119, 6, 1, 98,152,187,126,193, 20,106,139, 68, 0, 42,197, 52, 31,110, 58, 43,162,130,148, 34, 33,
- 76, 56, 39,193, 50, 58,105,150,171, 37,221,208, 51, 78,211,149, 51,187, 31, 6,138, 82,168, 75, 93, 47,152,226,245,106, 69,211,
- 52, 76, 83, 96, 24, 58,233,252, 53, 87,149,104,206, 25,227, 28, 68,153, 63, 23, 69,129,117,158,161, 29,177,179,211, 87,152,216,
-150, 97,232, 88, 86, 75,218, 78,224, 65, 93,119, 25,124, 34, 78,241, 69,181,160, 42, 74,134,177, 7, 21, 68,218,103,142,112, 5,
-140,179, 44,170, 5,109,215,145,145,181,190,174,145, 25,157, 51,134,144, 2,106, 38, 95,101, 45, 74,133,146, 35,141, 41, 70, 24,
- 36, 46,181,240, 22, 99, 37, 53,106, 12,146,179,237,180, 38,229, 68, 55, 14,172, 87,146, 2,101, 23,178,238, 50, 12, 3,151, 89,
-226,128, 20, 61, 41,205,234, 83,198, 41,135, 4,208,201,165, 25, 82,226,221, 71, 79,201, 83,228,232, 96, 69,233, 61,251,117, 45,
- 92,119,165,216, 52, 29, 23, 93, 63, 83,168, 50,222, 88,250,166, 33, 68,217,207, 94,173,150, 80,130, 68,173, 6, 1,249, 36, 73,
-177, 10, 25,186,113,144, 85,196,152,200, 89, 93,113,244,187,174, 99, 74,137, 24, 29,202, 45,169, 23, 59, 30, 63,122,130,119,112,
-172, 14, 56,186,118, 76,215,246,184,253,125,154,179, 83,134, 20,248,236,217, 11,142, 15,247,152,166,196,131,135,103,184,162,225,
- 43,223,124,139,161, 63,227,167,239,124,206,230,201, 14,239, 97, 84, 79,249,217, 47,222,231,100,171,184,113,252,127,210, 15,112,
-237,198, 62,214, 5,154,126, 32, 13, 14,245, 30, 60,124,208,241,202,189,138,147,211,142,199, 63, 61,227,206,237,155,124,237,235,
- 95,225, 39, 63,255, 17,239,255,226, 49,199,215, 90,134, 15, 70,186,182,167,112, 22,235, 10,150,171, 61, 22, 40,150,235, 5,183,
-238,220, 96,234, 54, 52,173, 24, 83, 67,215, 19,201,156,159,119,196, 41,208,134, 40, 77, 68, 55, 65,128, 33, 12,226,248,182,158,
- 85, 89, 49,196,137,195,189, 21, 93,223,211,238,182, 48, 94,154, 76,165,248, 52, 74,145,180, 38, 27, 25, 43,150,235, 53,219,139,
-115,226, 52, 74,129,158,164,232, 45, 93,137, 54, 50,243, 86,200,142,117, 93, 84,132,105,162,217,117,140, 83,207,233,230,156,210,
-150,212,139, 18, 23,193, 22,154, 0,228,172, 36,245,220,123,172,213,178,111,239, 28, 69, 81, 8,191, 35, 36,180,215, 48,105,156,
- 50, 20,165, 22, 19,238, 56,155,180, 66,224, 66,105, 78,158,190, 96,185, 94, 49,140, 82,148,174,150,203, 25,156,149,216, 12, 95,
-228,165,135,112,138,119, 5, 94, 27, 62,123,248,128,215, 94,123, 13,197, 67, 34, 19,123,203,154,243,237,134, 28, 70,174,191,252,
- 93,136, 79,120,244,236,127,229,159,254,119,127,147,183,254,110,166,212,153,174, 81, 12,244, 28, 92,115,220,123,237, 21,234,175,
- 12, 88, 94, 48, 13,129,102,151, 81,106, 73,142, 91,242, 56, 49,197,128, 50, 53,241,247,255, 17,187,159,252, 14, 97,151, 88,220,
-217,227,201,227, 39,196, 96,216,215,191,207,117,149,249,112,104,177,177, 16,243,235, 48,162,102,142,129,247, 30,107, 61, 7, 86,
-204,199, 57,101, 66, 10, 76, 51,161, 47,196,196,254,222, 30,160,100,108,150, 51,100, 33, 79,150,101,121,181, 42, 91, 86, 21, 40,
- 25,133,105, 37,155, 91, 90,107,246,246,246,174,112,195,120, 71, 76, 25, 95, 85,104, 32,182,147,140, 72, 98, 68, 88,239,158,104,
- 38,166,152,216,156,159, 83,150, 5,198, 20,116,131, 96,192, 87,171, 61,249,240, 83, 98,215, 74,225, 27,166,145,221,188, 5, 19,
-179, 52, 82,128,168, 66, 41,209, 53,221,236,219, 90, 96,173,198,124,245,213,155,191,189, 58,216,231,198,221,123,220,126,233, 30,
-155,211,231, 60,121,240,128,182,105,193, 40,158, 63,249,140, 31,252,224,199,140,148,244, 40, 98, 84, 68, 50,109,211,242,199, 63,
-120,135,243,166,103,237, 34,182,116,188,116,239, 22,174, 94,113,231,206,171,124,235,155, 95,231,211,103,143,249,189, 63,249, 9,
-127,250,238,199, 92,191,121, 11,239, 44,187,109,199,114,185,224,232,112,193,193,222,146,101,189,100, 10,129,118, 10, 92,180, 19,
-217,127,193,199,157,194,136, 86,134,162, 44,164,155,209,146, 25,108,140,161,219, 9,125, 13, 99,152, 6,113, 29, 99, 20,214,203,
-131,236,188, 24,104,166, 48,225,188,124,208,211, 56, 93,145,126, 84,146,131,202, 88, 49,162,145, 97,185,222, 35, 6, 89,147, 26,
-198,145,162, 18,147,196, 37,101, 72,205,165,214, 56, 13,232,172,241,133,199,249, 2,109,172, 56, 18,141, 96, 20, 83,146, 85, 37,
-231, 69,250, 77, 73,146,237,172,243, 84,133, 48,126,149,145,213,179, 16,163, 96, 91,167,145, 41, 8,239, 58, 6, 49,109,141, 81,
- 58,182,164, 50,198, 56,185,200, 21, 84,101,205, 20,165, 10,157,122, 65,116,122, 47,251,228,206, 59, 98,200, 66, 93,115, 30, 95,
- 72, 18, 24,113,230,154, 91,203, 24, 70,170,170,102, 26, 70, 50,137,186,170, 49, 86, 2, 4, 52, 90, 12,117,198,224,157,204,238,
-156,147,176,136,194, 59,140,182,178, 34, 21, 35,171,229, 10, 82, 66,165,217,213, 62,107,250,146, 74, 52, 81, 47,106, 82, 20,233,
-118, 57,227, 34, 37,183,218,147,200,160,196, 8, 50, 12, 51, 83, 90,103, 22,245, 98,158,253,207, 93,170,209, 20, 85,137, 68,166,
-202,159, 23,135,180, 65, 91,129,105,104, 45,240, 14,149, 36,244, 37, 14, 35,190, 40,112,198,136,211, 63, 76, 8,250, 86,220,254,
-214,185,121, 45, 19,218,174,149,148, 49,231,197, 52,164,196,160,101,189, 56,207,165,251, 22, 87,173,214,154,161, 23, 10,159, 85,
-106,222,253,207, 18,250, 1,236,218,158,170,240,104,107,196,123,144,196, 73, 91, 85, 2,245,145,103, 82,130,100, 82,138, 68, 18,
-101, 81, 94,249, 27,250,105,152,215, 50,153, 11, 75, 61,127,182,197, 85,183,229,156,195,106, 25, 5,121, 39, 14,237,194,137,209,
-211,204,202, 66, 66,209,180, 29,103, 93, 71,200,138,110, 18, 51,213, 37,226,115,140,113, 86, 24,122, 82,140,172,214, 43,198,169,
-151,238, 47, 4,214,139, 37, 83, 28,145, 89,255,132,202, 51,111,123, 86,135, 46, 67, 43, 46,255,205, 97, 24,168,202,146,168, 12,
-139,245, 62,138,158,162,240, 52, 77,199,217,233, 57,123,203,146,106,177, 7,190, 64,135,128, 51,138,152,193, 24, 77,225,133,197,
- 62,245, 81,232, 99, 78, 83,151, 5, 33,106, 86,213, 17,245,222,154,151,238, 30,179,216,187,193,241,205,107,220,189,127,155,163,
-235, 55, 88, 45,246, 80,186,224,238,221, 87,120,227,181,151,241,206,211,108, 18,175,190,122,151,172, 50, 31,127,252, 49,231,231,
- 98,114,188,255,202,203,252,210,183,191,206,171,175,223,163,168, 11,238,222,185, 75, 85, 74,177, 25, 98, 36,142,153, 7, 15, 63,
- 39,135,200,249,197,134,166,147,177, 89,136, 35, 41,102, 96, 86,100,250, 22,107, 12, 33,206,207,107,138,130, 91, 78,137,243,179,
-139, 43, 83,235,208,181,160,231, 64,149, 73,246, 60,148, 86,168, 12,227, 52,208,183, 13,113,148,203,133, 36, 84, 57,173, 12, 25,
-145,212,141,149,142, 62, 70, 25, 13,214, 11,233,252,246,246, 15,240,222,129,130, 16, 38, 98, 78, 44, 87,178,129,160,141,152, 93,
-195, 40,187,210, 70, 27,172, 85,148,197, 28,200,148,226, 60, 74,145,150, 49, 43, 53,191,219,150,148, 37,166,214, 26, 77,225, 45,
- 97, 24,136, 83,160,111, 91,250, 77, 75,179,221,176,221, 53,194,165, 0,148, 18, 25, 89,240,165, 10,231, 61,195, 16,185,118,227,
- 58,143, 31,127,206,157, 59,119,217,110,183, 12,237, 57, 55, 94,255,117,148,222,162, 72,148,139,175, 82,239, 28,163,130, 39,143,
- 30,208,159, 60, 99,161,191,196, 91, 95,255, 14,250,228, 26,187, 23, 43, 56,104, 88,196, 19, 50, 10,173, 50,113, 8,164,121, 12,
-166, 46,206,121,243,229,251,156,156, 60,102, 28, 34,207,155,145, 41, 79, 76,198,176,244,150,227,131,154, 20, 21, 89, 9,232, 41,
-103,225, 60, 20, 69, 41,231, 40,151, 27, 42, 35,222, 58, 22, 85, 65, 85,120, 74,239,177, 26,241,109,197,137,117, 85,210,244, 35,
-150,140,117,197,172,114, 68,180,177,140,109, 75, 81, 8, 23, 2,164, 67,175,235, 57, 93, 77, 73,192, 15,243,121,191,217,136, 50,
- 90, 85,178,150,102,220, 76,192,155,228,124, 79,136, 79,161,172, 10,114,144,247,113,138, 19, 85, 89, 93, 41, 14,118, 62,199,141,
- 17,204,248,114,177,192,106, 43, 76, 21,163,232, 59, 97,219,151,101, 73,223,203,136,209,252,141,191,242,151,126,219,175,111,240,
-250,219,111, 96, 85,228,211, 7,143, 88, 46,214,156,239, 26,212,176,229,207,126,240, 67,138,245, 77,202,194,243,236,197, 11, 78,
- 78, 95, 80,151, 21,214, 27, 46,206,159, 82, 21,142,131, 61,207,178, 92,160, 23,123, 88,103, 57,217,158,242,187, 63,120,135,159,
-190,247,128,194, 84,236,175, 87,228, 49, 96, 49,220,186,113,107,222,205, 14,140,217,144,203, 10, 83, 47,233, 83, 34,103,131, 47,
- 10,186,182,103, 28, 7, 98,150,132,177, 75,211, 64, 10,130, 43, 53,218, 16,114,196, 42,133,214, 32,212, 39, 37,149, 86, 63, 16,
- 70,217,199,204,179,195,113,154,194,149, 83, 59,196, 72, 8,145,162,172,168,170, 26,201, 29,118, 34,171, 12, 61, 57, 9, 81, 42,
-132,128,117,118, 54, 85, 32,151,115,144, 53,177, 28,133, 36, 53, 14, 35,100,153,227,203,139, 52,231,113,167,132, 47, 10,198, 97,
- 32,199, 40,242, 77, 20,232,129, 50,226,176,239,187, 14,175, 13,218, 40, 98, 86, 56,173, 80, 78,214,217,166, 32, 88, 67,133,204,
-110,181,182,120, 43,243,227, 75, 72,134,184,176,179, 36,245, 76, 19, 49, 71,226, 24, 80, 89, 93,117,153,164, 68,204,226,116,207,
- 89,118,122,115, 74, 88, 51,239,111, 43,197,122,181, 22,217,110,154, 56, 59, 23, 90,222,101, 82,144,208,213, 36,181,104,156, 38,
- 10,127,153, 38,166,113,222,207, 7,132, 98,219,182, 36, 96,183,221,208,247,146,231,238,172, 97, 10, 51,210,117, 86, 6,178, 18,
-122,149, 72,237,226, 28,111,187, 14,237,164, 80,186,244, 67,164, 40,232, 73, 51,171, 52,164,203,234,116,182,136, 41,249,158,140,
-152, 0,208, 40,180, 18,122,157,247,130,141,148, 23,108, 98, 81, 47,153,194,196,122,185, 68,105, 51,203,241, 35,133,247,104, 35,
-224,152,182,149,241,133,115,194, 5, 40, 10,249, 62, 99,148,128, 9,111,197,208,215, 13, 18, 93,170,148,194, 59, 49, 54,165, 44,
-187,226, 49,103,152,199, 28,211, 36,100, 55, 73,197, 50,244,189, 20,143,144,217,117, 45, 99, 63,161,148,102,156,228, 96,140, 49,
-206,197,148, 96, 78,133, 0, 40,251,245, 33,136,106,163,200,146,197, 16, 34, 83, 12,164, 16,100, 71, 58, 69, 65,227,230, 68, 51,
-136,156,159, 97,126, 31,144, 11, 40, 38,124,225, 49, 86,248,215, 40,152,166,145,114, 30,211, 8, 48, 72, 16,153,117, 93, 17,131,
-116, 37, 83,144,159, 95, 81,120, 41,250,172, 17, 47,128,179,120, 47,217,245,122, 86, 9,134,113,194, 88,195, 16, 38,156, 95,144,
- 66,162,170, 52,109,219,243,236,100, 75,123,241, 28, 87, 56,246,143,175, 19,135,142,132,172, 41, 78,195,196,249,105, 71, 89,149,
-244, 99,194, 87, 37, 74, 59,180,146, 17, 85, 78,160,181,130,105,160,178,142, 23,143,206,249,240, 23, 79,153, 58,104,182, 35,155,
-147, 11, 66,219,241,232,233, 57,123,235, 21,138,196,249,217, 22,235, 11, 22,213,130,131,195,125,114, 63,241,233, 71, 15,121,248,
-224,115,114, 12,108,183, 59,158, 63, 59,151,162,188,172, 24,135,134,118,215,112,113,113, 78, 28,132, 90,216,238, 26,156,117, 50,
-118,139, 1, 53, 77, 82, 92,149, 82, 40,151,139,133,236,133, 43, 41,246,141, 55, 18, 31, 27, 2, 78, 43,118,187,150,190, 29, 89,
-174,151, 2, 58,137,129,178,148,159,183, 87,146, 20,232, 75, 47,208,162, 44, 23, 74, 57,119,119,195, 56, 97,149, 2, 50, 83,202,
-116,109, 75,140,145,178,178, 52, 23, 27,170,186,146, 98,106,156, 80,218,202, 92,156, 76,181,218,195, 22,210, 69,166, 44,103, 65,
-214,138, 20,147,156,149,206,162, 72,232, 40, 69, 74, 72, 19, 82,176, 4, 98,134, 20,229,185,205, 74,138,202,156,242,188,142, 38,
-116,189, 24, 2,121, 10,228, 40, 23,237,120,185,217,227, 97, 24, 36,243,224,252,252,148,107,215,175,211, 53, 23, 40,191,207, 87,
-191,251, 31,129,234, 9,195,134, 41,100,114,120,153,237,243,134,103, 79,223, 97,251,226, 67, 94,122,253,223,228,175,254, 3, 40,
-191,106, 25, 63, 89,178,249,240, 22,219,229, 6, 63,157,146,141,199,164,192,201,227, 71, 44,142,174,241,248,199,239,176,178, 16,
-200,252,218, 47,127,155,151,110, 92, 99,127,125, 8,198, 81,236, 47, 89, 30, 93,103,127,127,143,219, 55,110,242,202,173,107,188,
-118,235, 38,215,150, 14,167, 50, 47,221,189,206,241,254,146, 47,191,245, 10,215,214,158, 28, 58,202,202,112,113,113,194, 94,109,
- 41, 92,100,243,226, 25,214, 4,118,155, 11, 86,118,192,230,142,238,226, 25,213,184, 99,115,113,206,243,231,207, 41, 77, 98,187,
-219, 49,182, 13,199,135, 75, 14,246, 22, 28, 46, 60,125,183,165,242,154,169, 31,208,214, 19,198,137, 41, 68, 20, 2,146,154,198,
- 48,251, 45, 2, 85, 85, 99,188,163,240, 51,221,207, 90,198, 40, 13, 69,233, 10,154,174,193,168,153,186, 9, 87,205, 82, 8, 66,
-230,148, 81,230,165,249, 89,227,140, 67,207, 77, 80,202, 9,187,190,253, 58,251,215,246, 57, 63, 61,229,221,159,125,132,171, 86,
-140, 26, 32,241,179,143,158,112,112,235, 21,250,161,165,139, 3, 79,159,159,144,135,137,103, 47, 54,188,246,234, 61, 20,142,251,
-247, 86,220, 58,188,206,163, 39,207,121,252,249, 35, 82, 84,124,244,217, 57,135,135,135,188,118,231,158,200,131, 90,205,213,160,
-230,244,252,148,102, 12,140, 9,172, 47,168, 92,164,111,229, 50,213,198,146, 67,146,174,220, 21,180, 77,195,166, 9,212, 44, 40,
-230, 11,161, 27, 36, 19,153, 8,182,168,200, 57, 98, 11,100, 94, 57, 12,248, 66, 46, 6,103, 12,125, 63,226, 11,133,178,154, 85,
-185,154, 15, 30, 71,152,190,200,189, 53, 70, 14,249, 52,131, 66, 66,152,104,187, 14, 53,255,151, 82, 64,107, 71,225, 61,201,201,
- 78,183,115,194,239,109,155, 86,138,147,208,161,181,194,102,203, 24, 71,188, 47, 49, 42,203,177,170, 20, 33, 76,172,214, 75, 50,
-179, 33, 10,169,240,134, 56, 81, 20, 11, 22, 94,214,211,242,124,176, 19,198,249,207,204, 39, 70,206, 12,243,140,215, 57, 75, 72,
- 19,139,197,138,144, 68, 46,238,199,137,194,137,241,195, 90,131, 47, 11, 82, 76,104, 5, 93, 39,102, 58, 48,216,156, 25, 98, 68,
-147, 89, 20, 37,104, 57,228, 83, 8,108, 54, 27,194, 20, 65,101,150,203, 53, 32,115, 26,107,173,204,209,148, 20, 58,253, 40,187,
-240, 41, 74,212,107, 6, 22,203, 37,219,205,197, 28,174, 49,178,219,109,229, 18,214,178,151,171,140, 56, 62,199,221,142, 80,120,
- 70,107, 69,238,157, 15,143,105,144, 64,161,170,168, 48, 70,138,176, 16, 37,202, 49,140,178, 79,190, 88,214,242,181,140,129,148,
- 50,101,237, 81, 73, 76, 93,219, 94,224, 64,139,170, 34, 4,185,240,201, 98,120, 65, 9,122, 23,165,240,206, 49,204, 44,229, 97,
- 28, 81, 89, 58,153,126, 24, 57, 59, 61, 99,181, 90,113, 25, 89,153,149,228, 94,119,131, 20, 66,151,169,103,105, 24,232,227,132,
-130, 43, 31,195,122,111,239,170,112,138, 49, 82, 22,165,132, 65,140, 61, 93, 43, 88,222, 75,114, 84,105, 44,125,156,115,189,181,
- 34, 69, 49,206, 36, 45,238,101, 16,165, 0, 18,147,146,203,126, 10,129, 97, 2,165, 1, 37,159, 69,156, 11,182, 52,102, 57,168,
-181,144, 4,251,190, 23,243,167, 49, 56, 99, 80,200,159,157,154, 22, 20,212,139, 90, 46,241,186,154,163, 63, 35, 74,121,188, 23,
-110,126,219, 74,112, 70,215,182, 87,144,163, 16,228,103, 16,115, 20,170,159,210, 24,163, 80, 57, 83, 85, 37,117,233,233,250,129,
-126,232, 88, 45, 87,104, 37,161, 64,221,110,203,209,177,231,252,236,148,166,203,196, 23, 47, 80,185,195,248, 21, 62,206,161, 47,
-203, 18,101, 28,153, 76,123,113, 70,223,122,140,118,244, 93,207,114,165,168,138,130,174,153, 8, 74,211, 79, 18,180,179,183, 94,
-208, 77, 61,149,247, 88, 11,219,221,150,117, 93, 49, 14,145,174,151,247,183, 12, 25, 76, 34,119,138,202, 27,148, 50,104,171,104,
-183, 27, 49,143,213, 43,129,189,232,192,249,139,115,180,181,188,252,210, 75,236, 54, 27,240, 5,206, 88,214,123,107,218,205,134,
- 23, 23, 23, 8,226, 80, 46, 62, 49, 91, 73,129,152,156,172, 97,102,165,209,202, 80, 91, 81,104, 92, 89,243,252,228, 57,165, 47,
- 41,235,146, 7,159, 60,162,189,104, 41,235, 82,252, 13, 90,100,249,108,148, 36,171,149, 21,202, 10, 55,190,116,142,110,236, 49,
- 58,147, 19,164,217, 72,215,110, 26,146, 18,144, 16,202,176, 90,237,177,107, 55, 68, 38,148,113, 76,125, 79, 81, 85,216,218,194,
- 84,207,157, 95, 66,107,132,125, 81,214,236, 6, 37,231,101, 63,160,147,197,228,140,210, 86, 30, 46,101, 73,105,146, 49,145, 83,
-164, 32,238,120, 99, 12, 41,107, 49,229, 41, 37, 69,166,210, 88, 50, 99,215, 51,120,199,162, 90,115,113,114,194,106,185,224,103,
- 63,122,135, 87,126,249,109,222,254,119,255, 83,190,178,248, 45,202,241,251,252,139,127,254, 59,124,252,139,223,231,211, 15,126,
-159, 28, 26,198,237, 67,138,245,155,188,253,230, 93,110,232,129, 50, 79,172,255,122,131,122,176,230,231,255,243,109,206,247, 62,
-226,112, 61, 80,151, 37,239,253,248, 39,220,234, 39,238,222,190,203, 31,253,111,255, 11,247,191,242, 6,183,238,223,192,132,142,
-227,162,196,215, 75, 40, 60,213,106, 69,172, 39, 52,137,202, 24,116, 72,124,222,238, 88,239,105, 54,155, 11,246,246,246,120,233,
-232,144,226,238, 45,190,249,237,175,176, 62,144,153,249,193,205,235, 60,123,246, 12, 66, 98, 28, 58,218,139,142,156, 21,159, 61,
-125,202,222,254, 62,247, 94,126,157,211, 23,207, 72,237, 64,123,190,227,230,221,155, 60,127,241, 57,102, 81,240,244,209, 51,134,
- 33,114,216, 6, 78, 78,159,114,227,206,130,156, 12, 93, 23,216,126,122,129, 45, 28,161, 75,228,164,200, 65,147,149,150,230, 42,
- 75,188,111,176,134,105,144,177,207,106, 85,145,178, 34,117,153, 77,179,101,111,181, 34,165, 68,211, 52, 8,135,194,162, 16, 58,
-103,206, 9,137,184,117,224,196,108,109,102,133,208,252,141,191,253,215,126,251,226,233, 83, 30,124,250,132,128,102,239,112, 73,
- 97,231, 64,122,224,201,227,207,105,198, 13,239,191,251,144, 97,154,248,198, 55,190,202,225,141, 3,188,201,156,157,110, 40, 11,
-195,131,135,159,241,139,207,123, 46,182, 61,202,120,110, 92, 59,162,210,137,105,234, 81,179,180,211,245, 19,187, 49,210, 68, 48,
-174,160, 94, 45, 41, 11,201, 61, 30, 71,145,144,173,115, 76,211, 72,214, 10,239,102,167, 57, 16,131,184, 7,229,126,203, 92, 2,
-244,149, 74,104,103,209, 90,190, 89, 51, 75,166, 33, 70, 89, 91,210, 51,150, 49, 67,210, 26,239, 68,194,118, 94, 24,223,214,121,
-188,243,178,131,236, 11,180, 17, 67,152,144,173, 2, 86, 65, 89, 87,104, 45, 38,138,171,104, 72,113,153, 96,157,196,233,137, 36,
-106,209,142, 89, 62, 41,216,237,182, 36, 32,198,137,213,114,201, 52, 75, 43,113, 10,114,233, 40,133, 47, 42,212, 12,187, 80, 64,
-211, 73,230,112,140, 73,214,215, 16,137, 64, 41, 49,119,153,249, 82,159,130,112,178,199, 94,246,219, 67,148,249,237, 52, 74,180,
- 34, 74,216,213,114,105, 75,231, 56, 6, 1, 46,164, 24, 65,139,243, 54,132,200,230, 66,210,186, 18,204,217,191, 18,142, 16,162,
- 24,177, 22,139, 5,133, 43,100,159,220,104,198, 81,192, 47, 33,202,108,109,185, 92,208,204, 72,219,156, 18,203,121, 37,195,120,
- 79, 85,214,210, 13,205,210,177,153,127, 86,104,233,244,125, 81, 80, 56, 39,115,171,105, 34,164,217,156,134,124,240,151, 60,236,
-170,170,174,128, 12,214, 59, 46,119,222,219,221,142,126, 28, 9, 33,130, 81, 12, 99, 32, 78,163,116, 84,133, 23,243, 99, 22,243,
- 8, 74,232, 82, 83,152,208, 74, 19, 82, 4, 37,172,111,235, 12,109,211,210, 52, 13,109,215, 73, 90, 19,224,141, 65,205,238,244,
-205,230,130, 48, 78,148,139, 5, 33,136,124, 45, 46,102, 80, 86,147,162,132,223,228,156,169, 23,181,236,246,134,140,247,134,139,
-179, 11, 54,231,103,164, 44, 56,206,122,177,160,240,133,208,240,170, 26,133,172,152,121,231, 41, 11, 47, 82,168,179, 98, 78, 52,
- 82,168,149, 69,137,183,134,114, 54, 86, 26, 37, 51,125,165, 64,169,140, 74, 80,148,229, 23, 43, 54, 97,206,208,118,194, 14,240,
-133, 40, 73,253, 56, 48, 78,113, 6,116,212,120, 35,241,202, 0, 41, 39, 82, 78, 92, 38,122, 25, 5,187,166,101, 10,242,121, 75,
- 74, 87,148,223, 51, 10,107,103,114, 99,204,179,178, 36,221,196, 52,142,115,180,164, 99, 82,178, 46,186,172, 45,227, 24, 57, 57,
- 27, 24,251, 29,198,120,202,186,160, 90,172,177,165, 67, 33,115,250, 20,165, 72,113,214,144,178,160,120,115, 20,183,190,241, 18,
-210, 19, 83, 66,107, 73, 95,219,236, 90,124, 89,210, 77, 35, 10,241,130,148,229, 2,107, 4,216,163,208,148, 69, 73, 54, 10,157,
-181, 20, 2, 89, 49, 41,112, 90,163, 84, 66,153,136,154, 6, 54,109,131,113, 37,123,171, 37,198,137, 49, 42,197,192,174,233,136,
- 33, 9,190, 53,201,187, 21, 98,128,152,137, 42,146,145,104,106,101,229,235,211,214, 50, 13, 3, 99,211, 50,244,130, 14,174,235,
- 18,109, 20, 73, 9, 89,209, 91, 7, 70, 46, 74,131, 64,146,138,162,148, 85, 74, 37,134,220, 16, 2, 99, 43,115,125,239,189,188,
- 15, 10,180, 22,114,159,177, 90,176,197,179, 63, 71, 25, 69,142,137, 20, 2,125, 63,208,245, 29,164,136, 74, 10,140,198, 21, 5,
-210,171,167,203,154,155,218,151, 20,101, 65,225, 29,101,233,169, 43, 73,255,178, 90,168,139,203, 69, 37,103,165, 49,216, 89, 6,
-158, 79, 23,201,199,176,138,118, 23, 41,170,130,245,222, 62,103,167,103,124,249, 43,111,243,189,255,228, 63,100,124,240, 37,126,
-245,239, 95,227,251,191, 50,242,215,254,246, 43,132,226, 55,248,218, 55,126,157,226,248, 85,170,229, 91,124,251,251,127,159,251,
-255,222, 5, 31,133, 5,207,254,153,101,243, 83,207,240, 76,241,244,243,142,207,223,251, 9,161,236, 88, 93, 63, 68,181, 13, 31,
-253,252,231,228,161,229,241, 7, 31,242,157,239,125,151,223,248,203,127,137, 63,254,189, 63,194,105,205,194, 89, 72,129,131,253,
- 21, 78,129, 87,138,246,226,132,161, 61, 71,155, 12, 42,145, 98,160,170,197,155,227, 11,207,215,190,242,109, 94,190,255, 58,167,
-207, 54,252,179,127,250, 59,164,177,167, 86, 53, 43, 42,108,208,152, 62, 80,216,138,187,183,238,241,252,227, 79,113,195,192,129,
- 53,108, 63,255,132,253,202,114,123,127,159,240,108,195,129, 43,216, 47,107,150,139, 5,223,253,206,119,185,127,235, 30,175,190,
-250, 50,135,199, 7,124,239,183,190, 75,185, 92,178,168, 44,218, 70,108, 24,176,121, 68,231,200,216,205, 41,124, 36,134, 40, 16,
-170,144,210,149, 90, 25, 66, 36, 41, 45,138,160, 54, 20,133, 39,198,132, 47,203,171,119,189,235,122,134,113,148,145,141,179, 3,
-113,176,193, 0, 0, 32, 0, 73, 68, 65, 84, 87, 40,103,243,214,203,119,127, 91, 25,207,241,141, 99,172,143,140,231,167,116,159,
-127,194,159,252,193,191,230, 7, 63,124,135,231, 23, 29,219, 54,112,116,184,198, 41,197,246,228, 41,139,149,226,253,247, 63,102,
-127,191,102,204,158,207,159,183, 28,238,239,113,227,230, 53,246,247,151,140, 83,123,245,128, 55,205, 72,147, 52,197,122,133,175,
-106,172,247,114,153, 27,139,181,194, 98,247,222, 51,133,136,164, 11, 65,154,231, 33,202, 24,188,181,140,227, 64, 74, 95,144,206,
- 64,102,204, 40,141,213, 10,180, 66,163, 25,131, 72,103,206, 90,114, 2,239, 44,237, 40,156,230,105, 12,179,211, 90,144,146, 41,
-102,180, 18,101,215, 24, 67,211, 52,140,227,196, 24, 5, 88,162,181,146, 74, 55, 76,232,156,176, 86,211,117, 45, 93, 63,208, 52,
-130, 27, 53,214, 18,131,204,143, 47,209,165,117, 37, 24,196,170, 40,201, 81, 16,167,114, 56,203,225, 38,124,117, 77, 86,153,190,
- 31, 17,167,166, 69,187,185, 56,112,238,234,112,246,133,100,238,106, 20, 33,141, 40, 5, 49, 38,198, 48,162, 16,233, 69,228,112,
- 35,180, 56, 68,174, 14, 33,147,114,162,217, 53,228, 44,121,203, 57,102, 48,154,186, 20,137,239, 98,179, 97, 24,100, 36,113,233,
-250,143, 49,201, 78,164, 51, 87, 70, 66,173, 5,213, 90,213, 37, 57, 43,140,179,212,149, 68, 91, 86, 85, 69,211, 54, 84, 11,201,
- 15,174,171, 10,227, 28, 67,223, 11,100,134,204, 24,133,217,175,181, 18,165,196,200,193,171,149, 98, 24,231, 0, 2,173,113,179,
-210,114,153,131,172,140,166, 46,229,192, 73, 73,246,208, 67, 16,120, 3, 89,164, 64, 99,133, 8,167,141, 33, 12,129,178,244,132,
- 73, 36,170,105,154,176, 78, 46,134,126, 20,247,249, 52, 5,172, 53,178,119,157, 69,158,183,214, 51, 12,189,144,223,130,164,192,
-229,148, 8,243,200, 97,106, 59,134, 40,100, 44,109, 53,139,122, 65, 76, 82,152,173, 87,107,140, 54,116,187, 29,101, 93, 32,206,
-197,200, 48, 77, 24, 37, 47,226,118,187,187,218, 42,176,222,203, 92,205, 75,215, 31, 83, 68,231,140, 53, 70, 14,116,163,201, 41,
- 50,134,137,110, 28, 25,198,158, 24, 51, 49,201,243,103,141, 96, 45,101,168,132,200,191,136,103, 35,165,200,200,156,124,135, 96,
- 57,189, 19, 7,118,211,236, 68,181, 48, 10,131, 92,144,101, 85,114,153,192,231,189,103,187,221, 50, 78,227,213, 40,198, 23,158,
-182, 31,209,206, 80,250,130,194, 21,160, 52,206, 27,166,113,162, 40,196, 36,151, 98,160,172, 75, 66, 24, 49,179, 4,136,146,159,
-109, 12,146,116,229,138,138,106,181, 79, 85, 22, 44, 10,195, 20, 18,103,155,150, 97, 28,133,130,101, 11, 41,118,170, 26,227, 60,
-198,149, 88,239,104,119, 23,244,187,158, 41, 73,220,112,215, 13,196, 65,242,172, 83,134, 20, 71, 98,210,184,114,193, 56,244, 72,
-206,245, 68, 70,224, 83,101, 85,210,182, 59, 10,103, 64, 37,134, 97, 98,111,127,133, 45, 10,246,215,123,236, 31,172,177,222,113,
-243,230, 45,234,245, 62,109,211,242,210,173, 59,124,231, 27, 95,230,252,244, 57, 39, 79,158,178,180, 98, 84, 77, 41, 97,212,252,
-115, 87, 26,107,156,100,112,207, 99, 11,227, 28,113,146, 45,130,105, 26, 37,154, 21,168, 87, 11, 92, 81, 80, 47,150,104,109,217,
- 91,237, 81, 45,151,184,186,162,222, 91, 65, 4, 61, 95,198,205,197,134, 49,200,120, 81,194,125, 36, 27, 61,106,105,164, 67, 78,
- 56, 83,176, 88,173, 8,211,192,110,219, 72, 0,201,148, 72, 57, 82,150, 2, 56,185, 12, 6, 34,139, 41,117,236,123,156,145,188,
-109, 49, 89, 26,140, 70,222,169, 40,107, 95,133,243,243,255, 39,187,219,202, 24, 28,144,149, 6, 5, 86,107,194, 40, 78,116,239,
-101,215, 61,164,136,240,203,225,254,203,111, 16,148,133, 24,248,246,223,250, 62,254,250, 61, 46,222,191,206,247,127,253,144,111,
-148,142, 35, 44, 15,238,195, 65,130,235,235, 3,170,131,125, 66, 55,162, 30,236, 81,220,134, 79,222,129,159,191,215,243,232,253,
- 39, 60,127,254, 30,211, 48, 82,171, 99,220,177,167, 82, 29,207, 62,250,132,105, 26, 88,183, 59,170,178, 66, 37,203,131,143, 31,
-176,218,223,227,230, 43, 47,243,232,197, 9,103, 23, 39,100, 18,103, 79,158,176,217, 94, 64,136,108,206, 79,177,198,176, 92, 46,
-176, 69, 37,216,228,194,163,179,152, 36,167,182,227,206,221, 91, 28, 30, 29,114,237,218, 49, 67,232,249,197, 39, 31,144, 21, 44,
-247,247, 48, 38, 19,167, 6, 73, 68, 43, 57,186,125,196, 39,103, 47,120,120,114, 74,185,191, 38,146,233,211,196,179,147, 19,250,
-177,231,248,232,136,235,235,125,250,243,134,251, 55,238,241,198,253,151, 48,113,228,165,251,183,249,206,175,253, 42, 47,189,250,
- 50,155,102,135,183,153,167,143, 63,131,126, 36,237, 54,220,185,126, 13,171,102, 67,102,136,216,249,243, 8,113, 34,228,140, 47,
- 10,180,181,178,105, 17, 35, 33, 73,110,123, 86,208,119, 61, 67,223, 51,142,178, 34,109,254,198,223,252,171,191,109, 82,203,238,
-201, 99, 62,248,211, 63,230,221,119,126,204,159,254,248, 67, 46,198,204,179,109,203,170, 46,249,210,151,238,192,212,114,180, 48,
-188,246,246,107,124,250,217, 11,186, 62,241,225,195, 11,148, 22,102,122, 81, 9,235,122, 28, 6,226,152,136, 65, 49, 98, 25,180,
- 97,185, 90,163,141,204, 62,141,177,116, 77, 71,215,183, 24,235,228, 64,138, 9,157,213, 60,147,118, 48,207,129, 98,152, 31, 50,
- 95, 96,140, 2,165, 69, 74, 82,242,118,101, 34,211, 24,209,136,129,170, 27,123, 57,152,146,194,186,185,227, 67, 1,114,201,213,
-101, 77,136, 95,172,147, 13, 97,158, 33,229, 44,107, 66, 49, 50,141,129,148, 19,211,216,203, 33,172, 20,222,201,218,209, 48, 13,
-244, 93, 47,221, 73,146,189,108, 41, 6,102, 60,168, 18, 35, 95, 74,113,102,147, 79,104, 5,109, 47,115,105, 73,252, 81,196,105,
- 66, 41,139, 47, 60, 73,101,198, 65,176,168,205, 56, 8,177, 47, 65,154, 15,251,156,179,204, 84, 98, 70, 43, 43, 47, 82,134,148,
- 18,222, 22,178,250, 96, 44, 49,139,116, 43,178,178,188,176, 83,148,117, 40,231,156,228,239, 90, 33, 30,109,182,219,171, 89, 78,
- 93,215, 44, 22, 11,202,178,164,174, 75, 98,146, 78, 34,205,151,241, 48,140,196, 44,204,119,227,196,156, 53,116, 61, 33,139, 75,
-122,189,150,139, 77,107, 61,147,203,164,179,142, 41,205,127,151, 99, 26,229,107,115,206,145, 64,208,136, 93,135, 47,132,181,108,
-181, 66, 25,195, 52, 6,150,235, 53,222, 9,182,209, 88, 73,107, 19,188,107,100, 81,151, 24, 37,236,229, 75, 23,168,202, 50,202,
-112, 86,208,150,162, 76, 76, 44, 74,249,179, 67,136,144, 35,198,200,158, 57,200, 60, 92,105,197, 20, 34, 85, 89,204,115,107,217,
-249,212, 90, 46, 79,101,228,123, 42, 86, 75,150, 85, 77, 89, 87,212,165,204,200,235,170,198,151, 2, 16,210, 90, 48,158,133, 47,
-229,123, 47, 43,188, 51,244,195, 72, 81,120, 66, 24, 89, 45, 87,172, 86,107, 22,203,138,186, 40, 9,147,252,121,103, 29,137,204,
- 20, 5, 38,145, 51,156,158,158,179, 59,191,160,219, 53,194,136,232,251, 43,201, 91, 27, 49, 42, 93,166, 65, 41,102,229, 42,201,
-207, 34,130,152,247,208,160,196,204,122,249,123, 33,200,187,217,117, 61, 33, 10,214,210, 90, 59,143, 87,132, 70, 87,150, 37, 85,
- 85, 80, 20, 2, 66, 18,188,105,193, 52,201,124,112, 24, 58,208,178, 73, 97,180,152, 50,157, 47,216,110, 55,212,181,164, 10, 86,
-117, 69,225, 61, 97,154, 88,173,150,148,115, 39, 56,197, 9,109, 29,217, 22, 50, 7,118, 26,111,101, 19, 4, 5,198, 56,140, 85,
- 92,156,157,146, 82,196, 23, 75,142,111, 92,163, 92,200,170,101, 93, 47,137,105, 96,154, 90, 52, 17, 27, 3,218, 36,156, 17,191,
-202,122,111,193,241,209, 33,215,175, 31,162, 83, 36, 13, 29, 71,139,146,213,122,143,187, 55,174,161,141,230, 91,223,248, 18,199,
-135,135, 92, 63, 60,102,111,111,197,173,155,119,184,126,237, 22, 7, 7,199,236,175, 86, 52,167,167,188,120,254,140,231, 23, 23,
- 20,133, 71, 23, 14, 91, 22, 44, 87, 53,251,135,107,154, 38, 16, 99,194,104,200, 33,146,166,129,105,108, 25,167, 30,166, 1,147,
- 19, 33, 6,124,225,217,219, 63,192, 21, 53,213,162,196,218, 98, 94,131,116,100, 20,202, 64,232, 70,242, 20,196, 55, 84,175,168,
-150, 21, 89, 69,134,166, 99, 10, 1,227, 28,154, 72, 84, 18, 96,227,202, 2,171, 36, 56,169,107, 90,156, 17,163,168,179,226,198,
- 38,137, 81,211, 24, 73, 18,203, 41,145,146, 66, 27,133,210, 86, 58,189, 16, 32,167,121,124,144,241, 86,208,181, 90, 67, 38,145,
-148,188,135, 0, 49, 5,178,209, 56, 99, 40, 23, 37, 42, 9,126, 90, 27, 67,206, 64,140,184,162, 16, 79,136,114,115,241, 48, 50,
-134,145,190, 54, 76,238,128,125,243, 29,142,126,185,226,245, 42,242, 63,180,138,127,242, 95, 94,112,239,251, 37,203,183,224,241,
- 31, 91,118,219, 63,224,201,103,207, 49,143,239,178,255, 87, 50, 11,237,160,223,227,120,249, 10, 95,254,181,175,115,243,206, 91,
- 84,247, 3,102, 58,227,193,159,253,144,222, 56, 14, 73,212,198,241,224,193, 99,186,174,227,123,127,241,123,220,191,255, 42,203,
-189, 37, 97, 28, 57,121,113, 66,215,180,172,171, 5,245,162,162,233, 58,210,108, 18, 62,220, 59,148,196, 54,101,136, 99,224,201,
-103,159, 19, 38,145,245,183,155,142,131,253, 3,234,253, 67,146,205,252, 91,255,206,223,165, 94, 45, 81, 73,241,214,107,111,112,
-124,227, 6, 15, 63,249,152,113,154,120,252,252,156, 91,119,239,114,231,229,151,217, 13, 35,183, 94,186,205,205, 59,183,209, 30,
-222,249,217,143,169,151, 53, 79, 95, 60,101,187, 61,167,212,158,107,171, 21,219,205, 5,195,118, 75,161, 20, 47,221,190,205,215,
-190,242, 54,127,235,239,252, 27, 28,221, 90,115,239,213, 91,156, 53, 47,216,156,183,108, 78,159, 82,229,158, 66, 79, 84, 22,188,
- 10,168, 60, 73,241,175,141,108,251,148,158, 24, 34, 86, 95, 42,203,151,136,112,217,127, 55,118,120,250,219, 31,191,251, 33,231,
- 39, 79,120,247,163,207,120,239,225, 41,209,122,186,113, 7,211,196, 65, 53,240,252,249, 83,232,123, 72, 35,159, 61, 62,199,153,
- 37, 81, 23,188,254,198,109,156,179,220,188,126, 13,231, 28,221,102, 67,215, 14,248,229, 1,245,209, 49, 56,137,107, 28,194,120,
-101, 30,114,222, 51, 78, 66,130,107,154,150,174,235,232,154,134,110,232,133,203, 61,141,212, 69,129,247,110,238, 22, 58,180,146,
-249,166,209,138,148,132, 61,158,115, 38, 43, 37, 29,130,179,132,152,241,206, 16,115, 38, 79, 17, 91, 90,250,110,184,122,200, 99,
- 76, 12,211, 72, 93,150, 2, 64, 49,194,226,190,116, 36, 79, 65,102,183, 89,205, 73, 80,133, 71, 33, 1, 6,245, 98,193, 52,200,
-238,116, 63,140,212,181,236, 55, 67, 70,220,142,176, 90,175,200, 58, 81, 23,158,172, 5, 16, 19, 66, 68,105,136, 33, 73,216,197,
- 24, 24,167,192, 20,229,239,213, 86, 76, 45,166,240,168, 12, 9,129,122, 72,146,146,124,189, 67, 63,145,179, 68, 27,118,221, 56,
- 23, 52,178,183, 28,149, 72,229, 78,203, 76, 62, 38, 8,211,128,153, 37,218,194, 23, 36, 18,117, 41,169,109, 49,140,130,198,205,
-153,213,106,129,247,114,128,199, 40, 35, 5, 95, 84, 40, 18, 77, 55, 80,120,203,174,237,240, 86,246,175,235,229,146,169,151,238,
-181,172, 75,156, 17, 83, 99,206, 66, 56,146,164, 33,217, 67,191,220, 19,181,214,210,245, 61, 90, 27, 73,242,178, 18,118,130, 18,
- 73, 92, 43,133, 8,191,154,161,239,200, 42, 83, 22, 5, 70,207, 10,132, 18, 56,131, 54, 66,194, 75, 49,211,244, 61, 93,215, 82,
-184,121,139, 64, 75, 39, 97,172,160,100, 47, 59,240,162, 42,103,149, 98, 98, 24, 37,145, 73, 33, 74, 73, 10,178, 91,190, 94, 44,
-103, 89,217, 81, 22, 37, 69, 33, 89,228,213, 98, 65, 85, 85,114, 65, 89,145,175, 81, 74,100,249,185,232,177, 74,137,105,211, 26,
-121,158,167,129,186,174,104,154,157,108,108, 20, 82, 56,104, 52,214,137,154, 82,120,249,154, 51,194, 10,239, 71, 57,132,117,134,
-182,239, 8, 83,162,235, 91,166, 97,132, 48,128,210,164, 41, 16, 21, 84,179,195,214, 89,115, 85, 60, 93,102, 0,164,148, 49, 40,
-148,247,152,153, 37,208,181, 45,218, 24,170, 43, 57, 94, 92,181, 18,126,145,152,226,196,216, 75, 70,250, 48,200,248, 71, 43, 69,
-206, 89,156,189, 89,212,146,190,111,165, 16,142, 65, 2,135,130,152, 24,199, 81,120,249, 33, 70,202,170,160,107, 90,138, 74, 2,
- 77,156,177, 20,165,176,182,211,252,124, 56,239,102, 87,176,167, 90, 44,169, 86,123, 68,227,233,134,129,205,102,203,208,118, 56,
-227, 41, 43, 75,223,245, 24, 37,120,204, 97, 26,217, 54, 59,142,175,221,226,112,181,100,239, 96,143,253,253, 21, 7,135, 43,172,
- 43, 57,190,115,139,227,107,199,220,184,113,204,122,111, 77,189,168,177,121, 96,187,221,240,244,217, 41,247,110, 95,227,124,179,
-101,156, 34,159, 62,248,156,166,109,121,248,248, 25, 93,219,114, 92, 86,116, 93, 67,211, 53,252,191, 68,189,217,143, 95,103,122,
-231,247,121,151,179,254,150, 90, 73, 22, 73, 81,162, 36,106,111,117,203, 45,245, 98,123, 98,140,237,241, 0, 99,231, 38,152,228,
- 38,185, 72, 46, 18, 36, 64,242, 71,232, 95, 9,130, 4,152, 36,131,100,110, 28, 4, 72,224, 24, 51,158,113,119,219,189,169,213,
-106,146, 90, 40,238,181,215,111, 59,219,187,229,226, 57, 85,173, 27, 53, 68, 54, 89,245,171,115,222,247,121,190,107,223, 15,180,
- 94, 49,223,191,206,247,127,240, 9,171,182,163,172, 38, 60,123,121,196,206, 86,133,241,142,205,226, 66,156, 37,117,129,172,186,
-134,162,174,152,205,230, 68,165,104, 54, 43,212, 8,211, 95,156, 47, 70,173,128, 60,151,122,124, 31, 76,150,163,128, 44,183,108,
-154, 53, 42,137,246, 69, 37,161,164, 78,142,206, 48, 56,206,150, 27, 46, 86, 98, 57, 20, 10, 82, 46,250,162, 44,177, 70,211,172,
-214,210, 87, 95, 20, 87,142,140, 60,183,132,232, 9, 73,222,170, 44,183, 40, 45,130, 79, 65,221,204,149, 91, 8,173,136, 73,161,
- 71,212, 74, 41,121, 70,173, 22,212, 65, 25, 37,121, 10,101,137,213,226, 20, 32,198,241,185, 22, 11,174, 45, 10,116, 76,120, 10,
-178,172, 70,105,195,206,205,187, 20, 59, 57,166,218,163, 12,175, 48,185,184,193,111,190, 80,252,237,255,254,136,221, 59, 7,124,
-250,103, 48,207, 6,126,246,247,150,243,147, 83,224,136,124,126,151,131, 79, 44, 59,119, 97,231, 13,152,246,138,235,115,216,250,
- 56,225, 31,238,211,237, 86,196,229,183, 60,123,122,200, 43,101,226,183,191,251, 29, 15,239,223,231,131,247,222,198,133,142,159,
-255,250, 39, 60,124,248, 37, 27,215,176,189, 61, 71,229,150,166, 89, 99, 51,203,198, 57, 54,125, 15,198, 80,213, 5,161,151,160,
-173,163,231,207,121,241,226,144,182,217,240,236,219,199, 60,248,226,115,238,189,126,143,183, 94,191, 71,219, 37,222,126,231, 61,
-146,131,161,237,217,219,217,102, 90,151, 24, 21,169,108,198,245,235, 7,244,139, 13,171, 77, 71, 86,100,252,221, 79,254, 22,114,
-197,143,254,248,143,120,246,236, 24,165, 3,219,251,219, 84, 59,219, 36,155,113,188,188, 32, 36, 9,144,201,242,138,212, 13,188,
-243,246,219,252,246,243,251,152,220,240,246, 27,111,177, 55,221,229, 71,223,255,136,143, 63,252, 62,175,191,254, 22,123,251,251,
-148, 91, 53, 47, 78, 22,248,110,131, 29, 54,228,180,236,207, 75,240, 3,209,117, 99, 47,129,102,189, 89, 83, 79, 42,140,209,104,
-109, 48,251,243,233,167, 93, 82, 92,180,145,163,179, 5,182,200,177, 25, 84,202, 19,135, 1, 51, 90,213,108, 53,227,246,237, 55,
-249,232,195, 15,249,237,163,199, 52,237,134,174,233,137,125,207,209,225, 17,171,197, 26, 51,219, 66,215, 91, 68,173, 40,202, 2,
-141, 64,216,222,201,132,107,243, 81, 49,107, 45, 32,182,158,166,235,136,128,177,210,124,165,243,156,174,109,113, 78,194, 70,242,
- 60,151,198, 31, 45,219,184, 82,138, 20, 32, 4,143, 50, 22,173, 51,220,200, 83,103,202,192, 16,208, 90, 4, 80, 58,137,114,212,
- 38, 32, 37, 73, 87, 11, 16, 72,184, 16,165, 34, 48,122,156, 79,248,224,104,154,134,224, 61, 69, 33, 66, 21, 31, 18,211,170, 30,
-183,101, 81,115,107,212, 21, 61,160,149,180,123,205,183,183, 72, 41, 50,203,229,133,104, 55, 18,220, 80,150,149,240,203, 89, 41,
-211,114, 89,226, 34,164, 24, 69, 1,105,132, 90,232,250,158,224, 68,217, 28,220, 64,102, 13,131,235,200,181,166,237, 55,164, 32,
-161, 8,121,158,200, 50,133,142,129,174,239,137, 94, 54, 46,165, 32,134, 64,215,172, 41,140, 36,210,233, 36,205,107,133,213,227,
-231, 31, 88,173, 37, 66,215,104,129,163,226, 8,183,133, 32, 22,140,141,211,178, 33,152,130,164, 53,206, 57, 76, 33,225, 20, 62,
- 37, 66,144,203,104, 24,122, 18, 2,251, 40, 37, 13, 68, 49, 4, 73,253, 82, 34, 28,106,154,102, 68, 47, 18, 70, 75,169,132, 53,
- 98,235, 1, 72, 17,220,224, 70,238, 23,114,155, 95,169,229, 87,155, 13,174,239,233,135,129,249,124, 46,207,208, 48,144, 84, 68,
-169,116,117, 17, 5, 34,109,211,210, 15,210, 64,103,146,162,247, 3,101, 89,179, 89,175,176, 69, 33,150,198, 76, 82,209,126,223,
-216, 6,121, 81,140,202,222, 72,112, 1, 31, 60, 38, 55, 87,122, 1,241,160,143,225, 30,222,139, 22, 33,136, 88, 76,236, 50, 99,
- 13,110, 16, 29, 64,110, 37, 76, 70, 27, 77, 94, 20,172,155, 53, 42,203, 24, 66,196, 5,113, 67,120,231,197,179,109, 12, 6, 67,
-145, 21,130, 52, 88,131, 54,150,245,122, 77,145,231,116, 77, 11, 49,162,178, 76,222,147, 32, 21,165,113,156,196, 93, 76, 20,121,
- 38,156,105,138,216,220,224,252, 0, 62, 80,229,162,133,233,122, 17, 25, 53,155, 13,153,201,174,134, 76, 99, 52, 10,121, 38, 44,
- 25,218,200, 69,155,231,185, 64,223, 38, 35, 4, 47,241,201, 87,195,174, 97, 90, 85, 56, 47, 14, 5,173, 68,137,159,143,104,134,
-247,129,220, 74, 38,185, 66, 49,184, 65, 6,135,193, 17, 92, 32, 47, 75, 25,236, 66, 36, 5,241,236,134, 24, 48,153,150,191, 51,
- 47, 8, 86,179, 90,119, 44, 22,107, 72,142, 20, 6,242,172,100,103,255, 26,219,211, 57,171,205, 5, 90, 91, 50,165,168,139, 10,
- 91,213,108,109,239,178,179,181,195,189,123,119, 89, 44, 55,212,121,197,214,214,140, 62, 52,152,124,198,102, 8,188,243,193,251,
- 28,220,186,197,206,206,117,174,221, 60, 96,182,179, 79, 84,114, 62,157,172, 22, 60,124,242,132,229, 98,205,116, 82,147, 89,205,
-199,223,127,143,103, 79, 30,163, 52,188,114,251, 54,123, 7,215,153,207,182,248,230,249, 49, 65, 41,110,190,118,155,152,224,244,
-108,133, 79,134,166,105,121,121,120, 74,215,183, 56, 60,139,205, 64,215, 73,202, 92,158,105, 82, 26,216,172,150, 68,231,104, 55,
- 11, 66, 63,208,174,215,184,161,195,228, 5, 86,103,132, 36, 81,161,214, 74, 80, 76, 12, 27,182, 39, 53,147,122,194, 16,250, 43,
- 79,117,239,122, 92,219,146,188, 36,152,249,206, 97,114,209, 95,248,193,145,155,156,172,148,172,140, 56,210, 54,209,251, 17,171,
-148, 37, 36,211, 66,225,168, 56, 90,184, 0,137, 43,213, 98,101, 64,141, 20,131, 56, 84,146,146,116,181,205,102,131, 45, 68, 7,
- 3, 74,106,114,209,160, 34, 93,204,152,207,182,152, 86, 51,110,125,231,207,233,187,231,236,239,220,224,229,163,199,124,251,228,
-144,195,211,134, 77,251, 25, 83,243, 1,195, 15, 20, 15, 87,150,103,127, 15,171,126,205,214,238,119,120,253,141,154,249, 29, 24,
-126, 1,237, 99,208,219,162, 49,153, 56, 17,100, 30,125,177, 5,215,207,121,241,229,231,188,253,254, 59,252,233, 63,249, 17,239,
-125,240, 38,215,110,236, 49, 0, 63,252,195, 63,225,205,119, 62,224,224,224, 85,246, 14,110,114,227,230, 45,190,124,246, 45, 71,
- 47, 95,208,132,192,175,126,245, 27,206, 23, 23,188,120,249,130,175, 31,127, 75,239,155,241,217, 13,232, 20,240,109,203,245,253,
-107,228, 81, 65, 50, 28,189, 56,196, 40,205, 95,255,155,191,230,229,211, 23,188,120,250,132, 39, 79,190,229,249,211,231, 60,127,
-241,152,212,119,252,226, 23,159,241,139, 47,126,195,245, 27,215,120,242,228, 5,207,143,142,184,117,227, 26,215,234, 93,142,190,
- 61,228,244,197, 41, 58, 25,148,119, 28,190, 56,230,124,117, 65, 63,108,216,218,218, 98,178, 37, 69,104,203,118,195,233,197,154,
-123,239,188,195, 7, 31,188, 71,150, 89, 22,235, 83,162,119,220,220,218,227,213,253, 3,222,188,125,139,174,237,121,235,187, 31,
-177,179,179,199,124, 50,199,118, 23,204,106,197, 7,111, 92,103,187, 54,108, 23,176, 85, 74,234,103,110, 45,230,214,254,246,167,
-222,193,241,241, 9,211, 89,197,214, 86, 69,219,111,120,113, 60,112,227, 90,197,172,154,160, 39,219,232,204,114,186, 56,225,255,
-251,135, 95,224,154,158,194,102,116,203, 37, 77,235,136,217, 4, 53,223, 70,103,217,213,196,223,247, 29,121, 46, 37, 24,195,224,
- 73, 41,142, 9, 94,134,213,122, 69, 63, 54,210,224,165,103, 90,163,153,204, 38,163,112, 39,199, 24, 73,105, 2,241,100,214, 69,
- 41, 7, 76, 38, 74,217,204, 90,134,110, 64, 43,168,170,154,193,121, 12,137,144, 4,174, 50, 70, 68, 68,110,232, 81, 90,163,180,
- 68,114, 70,128, 40,151, 74, 76,137, 24,127, 47, 28, 41, 51,131,201, 52,126,240,191, 31, 12, 70,123,219,114,181, 34,184,129, 16,
- 36, 55, 92,105, 81, 21,199, 24,153,212, 21, 85, 89, 96,178, 28,130,163, 31, 15, 51, 99, 12,195,248, 2, 38, 18, 62, 38,170,178,
- 34, 37, 80,218,224,189,195, 57, 79,150,105,242,178, 70, 41,208, 86,179, 89,175,137, 33,136,247,154, 68,153,215,100,133,197, 24,
- 17,207,132, 48,126,150,192, 48,244, 12,131, 84,253,229, 70,227, 98,162, 42, 10,252,232,119, 21,117,190,103, 24, 6, 72,160,180,
-166,158,212, 87,222,205,178,172,232, 93, 79,105, 51, 92, 82, 24, 13,214,138, 69, 76, 41,195, 48,116,227,118,166, 8, 97,192,106,
-169, 98, 85,252,126,200,210, 74, 68,138, 97,144, 11, 64,143, 62,209,178,172, 36,130, 22,200,199,242,130, 60, 23, 20,198, 24, 67,
- 74,226,211, 87, 90,134, 58,173,245, 85,161,142, 26, 17, 22,225,134,115, 41,235,113,129,174, 27, 19,229,140, 40,234,227, 8,241,
- 15,221,216,188, 20, 71, 17, 83, 18,238, 88, 54, 84,241,154,102,153,165,172, 10,138, 82,106,122,125, 24,107, 15,147, 12,156, 67,
-215, 83,213,210, 69,238,189, 84,219,198, 24,137,163,173, 81,105, 69,145, 23,148, 69,193,166,105,233,218,150, 77,179,166, 61, 95,
-208, 71,127,245,107,151,122,139,174,235, 4,162,182, 86,236,119, 41, 1,162, 37, 80, 74,209,245, 45, 40,185, 4,137, 34,254,204,
-242,140, 62,120,162,243,168,144, 80,153, 65,249, 32,208,168, 82, 2,253,143,161, 52,101, 89,160, 84, 34,183, 34,252, 28,156, 20,
-232,244, 78, 58,193,251, 97,184,122,127,218,145,115, 11, 62,138, 31,185,172,137, 41, 48,155,205,232,251,129,162,172,105,186,158,
-161,239,152,205,102,114,180,167, 68,223,245, 76,234, 26,165, 53,253,184,217, 15,195,192,164,174,209, 35,154,162,128,162, 44,176,
-163, 15, 55,207,243,171,244,188, 16, 2,190, 31,100, 75, 53,178, 13, 26,107,177, 86,124,209, 74, 9,140, 95, 86, 21, 41, 42,202,
-122, 70, 52, 57,109,211,209,187, 13,205,122, 77,210,138, 73, 81,161, 85,100,221,244, 44, 87, 39,172, 87, 29,174,117, 40, 20,126,
-136,188,118,231, 14,171,139,115,126,250,243,207,177,100, 60,254,242, 62,117,189, 3,198, 34,233,112,154,204,230,116,157,227,233,
-243,231,220,185,125, 29, 16,186,109, 58,171, 88, 47,207, 57,124,121,200,217,233, 57,221,166,227,236, 98,195,151, 15,191,226,155,
-135, 95,243,242,249, 9, 81, 25, 76, 86,112,116,116, 66,215,174,217,172, 26,140,150,140, 2,105,255, 50, 66,241,216, 76,170,159,
- 83,196,196, 68,223,116,164, 20, 32,120,156,139,104,107,132,115,239,165, 19, 60,120,169, 50, 94,109, 22, 12, 67, 71, 86, 40, 76,
- 94,211,108, 26, 12, 10, 51,166,190,229,153, 5,101,104,250, 14, 60,148,243,138,162,200,199,103, 83, 66,140, 34, 1,239, 28,151,
-137,116, 41, 70,212, 72, 54, 38, 47,131,189, 15,145, 52,210, 93,131,247,196, 32,110, 35,109, 52, 68, 9,117, 82, 90,163,146, 65,
- 25, 33, 48, 47,145,170,224,123,169, 14, 86, 18,175, 26, 73,232,148,152,236,204,128,138,155,119,239,177,123,235, 13, 94, 62,251,
- 28,125,120,134,206, 20,213,206, 27, 76,247,183,241,253, 49,145, 10,215,237,242,236,223, 71, 94,156, 60, 37,162,184,254,246, 13,
-102, 51,184,115, 67,241,202,187,107,210, 91,107,118, 95,139, 76,246, 11, 94,126,147, 56,189,128,126,169,121,241,240,115,218,245,
-125,186,166,103,219,247, 84,182,196,164,156,195,179, 11,190,248,236,215, 60,122,248,128, 95,255,236, 51,158, 60,120,196,176, 14,
-252,225,199,127,196,237, 59,111,178,185,232,120,252,236, 5,239,188,251, 93,254,252,175,254,138, 63,253,103,255,140, 31,252,232,
-135,220,186,123,155,174,109, 89,156, 30,113,122,118, 68,211,245, 84,101,206,111,127,253, 43, 30,124,254, 25,143,238, 63,224,175,
-255,183,127,205,251,239,223,227,171, 47,126,205,116, 90,176, 90, 94,112,122,122,194,225,241, 11,209,176, 68,216,221,217,226,205,
- 55,238,146,169,140, 71, 15,190,226,193,103,191,225,233,151, 95,209, 95, 52,220,222,187,129, 86,138,147,195,151, 52,125,207,209,
-233, 17, 33, 4, 30, 63,121,202,201,225, 9, 58, 70,142,159,159,241,244,219,167, 24,114,238,220,122,157,163,179,115,202, 73,205,
- 43,119, 94, 65,197, 30, 19, 19, 63,251,233, 47, 40,171, 9,255,237,255,240,223,243,230,119,222,194,217,138,255,251,255,250, 15,
-124,246,224, 9,205,197, 41, 58,116, 76,242,140,247,239,189, 66, 21,123,212, 91,119,174,167,179,243,115,108,110,169, 42,205,224,
- 90, 94,191,123, 11,163, 20,219,213, 22, 47, 95, 28,177,116,158, 48, 90,213,110, 94,223,193,166,177,125, 44,171, 48,179, 57,110,
-144,124,225, 56,180, 56,159,100, 35,211,138,178,148, 8, 79,231, 60,235,213,138,217,214, 22, 40,197,197,249,130,110,232,241, 41,
- 9,172,175, 53,187,251,251,194,177, 14,131,180, 33,185,136,119, 61, 85, 37, 73,107,109,219, 73, 45,161,209,116, 93, 55,198,231,
-137, 79,219,216, 76,132, 94, 93,135,201,115,102,211, 25,193, 15, 18, 46,225, 3,218,138,176, 69,107,141, 40,197,147, 76,162, 74,
- 35,249,203, 17, 99, 44,209, 57,180, 17,203,128,206,198,205, 95, 33, 34,162,213,138,168,100, 75,214,249,216,234,150,229, 87, 2,
-161,189,189, 93,180, 82, 44, 23, 23, 40, 99, 40,235, 26,133,193,121, 73, 45, 42,202, 90,190,135,194,210,247,158,188,204, 80, 9,
-156, 19,123,157,120,241, 27,178,188,144,131,117, 62,199, 40,197,122,189,190,218,128,178, 76,144, 0, 98, 68,105,217,244,228,159,
- 8, 40,214,171, 21, 90, 43,234,122,130, 82,106, 20,212, 41,180,181,152, 36,232, 70, 76,145,204,230, 36,165,184, 12, 51, 89,173,
- 87,148, 89,142,215, 25, 67,239,176, 86, 68,120, 33, 4,214,237, 6, 19,145,106,195, 81,240,165,208,164, 36,133, 44, 89, 46, 28,
-123, 89, 86, 68,239,217,108, 54,100, 89,198,100, 82, 95,121,155,219,182,163,235,186,223, 31,236,234, 82, 65, 28,137, 62, 18, 1,
-157, 20, 81, 11, 71,138, 18,136, 90, 43, 9,120, 49,198, 80, 87, 21, 62,136, 90, 31, 96, 62,159,143, 48,240, 32,220, 94,136,120,
-231,232,219,129,249,214, 76,168,146,174, 19,190,105,211, 9,205,172, 21, 69,158, 99, 76,142, 49, 34, 48,235, 7,201,221, 47,139,
- 2,146, 36, 24,118,109,135, 15, 3,243,217,124,132,164,185,210, 73, 84,149, 92,250,144,104,187, 22,149,196, 46,163, 53, 88,155,
-139,189,205,218, 17,154,215,108, 54,157,252,188, 46,191,102, 37, 45,120,198, 40,134, 97, 76,192, 83, 10,165, 36,135,223,121,207,
- 98,185,100,125,177,248,253,103, 77, 36,155, 76,168,178,140,114, 82, 49,173, 39,160,228,231,217,108,214,114, 81,154,145, 95,179,
-150,139,197,130, 34,151,160, 33,173, 69, 45,190, 94,173, 0,152, 77,103,162, 55, 81,154,171,127,146,132, 61,181,193,225,122, 25,
-130,231,211, 41,171,205,134, 20, 18, 74, 39,166,245,148,203,188, 8,239, 61,211,233,148,213,168,205,152,212, 18, 86, 19, 83,132,
-196,213,191, 39,147, 9,164, 72, 68,126, 22,140, 67,250,101, 6, 65,102, 37, 60,135, 17,105, 26, 92,184, 66,127, 66, 28,195, 67,
-218, 30,239,122,114, 29,241, 67, 51,234, 91, 12, 69, 57,161,154, 78, 9, 14,110,223,220,227,241,179,231,220,189,113,157, 39, 47,
-142,216,221,217,226,249,227,151, 20,117,205, 43,119, 95,103,123,183,102,121,122,193,233,233, 57,167,199,135,172,218,150,221,221,
- 29,166,147, 9,171,118,160,158, 72,115,227,102,189,196, 69, 71,112, 70, 18, 45, 99, 79,179, 22, 45,128, 86,134,178,206,241, 67,
- 68,155, 52,118, 16,100,236,237,237,161,240, 48,210, 44, 49, 56, 89, 0,124,164,119, 61,222, 37, 50, 35,150, 35,173, 52, 26, 65,
- 10, 81,150,128,167,239, 34, 74,203,146, 97,172,102, 62,171,152, 78,107, 86,231,167, 24, 45,205,145,182,152, 81,149, 21,145, 68,
- 82,145,110,104, 89,174, 54, 84,185,132,204,100,198,140, 52,135,135, 97, 32, 21,133, 44, 60, 68,164,195,219, 98, 12,128,184,104,
-148,145,168,107,140,146,161, 54, 66,150, 25, 82, 82,168,145, 50, 81, 81, 9,119, 27, 68, 63,148,229, 66,157,105, 3,205,170,145,
-231, 86, 27,134,161,103, 82,214,156, 52, 25,243,173, 25, 31,253,229, 95,240,248,244, 25,149,178, 92,187,251, 1,106,245, 38,197,
-214, 29, 54,203, 83,194,202,145,205,247,240,110,160, 57,127, 78,114, 45,245,245, 15,121,243, 59, 63,230,205, 55, 19,211, 15, 96,
-189, 11, 3, 16,255,167,196,195, 71, 11, 38,215,183, 49, 73,113,255,243,127,197,249,226, 95,163, 82,224, 45,213,178, 51,173,120,
-229,214,171,108,214, 43,142,159, 63, 99,112, 29,237,106,129,210,142,105, 93,130,178, 60,125,124,204,214,206, 54,186,204,121,251,
-253,143, 56,186, 56, 99,182,181,195,245,189, 3,238,189,251, 54, 69,174,184,184, 56,227,197,147,111,217,157,205,233,155, 13,207,
-238,223,199,173,206, 25, 54, 75, 25,160,242,156,213,234,152, 98, 62, 39,120, 77,194, 16, 85,228,218,141, 61, 50, 85,240,236,240,
-152,114, 58,231,171,175, 30, 9,141,188,232,152,204,183,200,202,140,253,131, 3, 94,191,115,135, 95,127,241, 27,166,251,187,196,
-168,153,239, 78,121,229,224, 0,163, 51, 30,124,241, 53,205,234,130, 79, 62,249, 49,219,243,125, 30,127,251, 72, 34,132,195,134,
- 87,111,189,194,249,225, 33, 23,203, 51,146, 75, 28, 95,156,179,181,119,147,233,254, 62,206,247,104, 11,125,231,248,252, 55,247,
-185,118,107,206,151,191,253, 18,205,192,141, 27, 7,152,170,224,211,172,158,176,191, 55,101,111, 94, 19, 93,207,193,238, 62,171,
-101,195,163,111, 31,115,255,210,170,166, 44, 55,246,118, 72,222, 51, 96, 72,245, 22,118, 50, 37, 41,133, 34, 97,115,201, 16,159,
- 78, 37,128, 94,143,169, 99,139,197, 5,155, 77, 67, 54, 78,128, 49,201, 3, 18, 19,163, 32, 74,182,150, 4, 40,147,161,180,248,
- 55,101, 83, 46,232, 93,143,213, 22,163,180,164,180,105, 17,114,136,213, 69, 54,191,224,157,136,115,188, 23,232, 89, 43, 54, 77,
- 67, 12,162, 88,212, 86,178,227, 3,137, 52,194, 82, 42, 41,180,146,230,183, 72, 66,165, 36, 91,186,147,124,107,163, 20,155,182,
-145,169, 85, 65,223, 15,164,190,165,218,218, 98,190,181, 69, 61,169,201,173, 92,218, 18, 5, 41, 73, 96,221, 48, 16, 98,194,104,
-139, 86, 70, 98, 89,203, 26, 99, 36, 25, 79, 98, 33, 37,154,179,105, 26, 66,140, 20,101, 41,147,182,243,196, 36, 27,126,166, 69,
-224,102, 50,225,196,172,145, 32, 26,163, 53, 41, 68,188, 15, 16,197, 43,238, 66, 36,179, 2,239,103, 99,186,216,208,139,226, 93,
- 94, 72, 73,215,147, 44,115, 35, 77, 80, 86, 84,216, 36,133, 54, 82, 21,184,110, 68,200,103,172,161,109,214, 52, 77, 39,241,136,
-101, 54, 94, 96,137, 20,196,190, 18,130, 84,147, 26,173, 80, 74,179, 92, 44,208,200, 69, 21,163,136,213,170,170, 66, 43, 13, 90,
-182, 69,208,164, 36,219,245,224, 61,222,139,200,203, 24, 73,121,147, 65, 68,178,226,203,162,144, 67, 68, 11,215, 56,116, 29,121,
- 38,195,136,244,127, 75,223,113, 72,137,194, 90,140,177,184,222,143, 67,228, 64, 94,150,196, 24,197,129, 96, 12,151, 73,121,178,
-125,167,113,219,215,228, 89, 78, 85,148,216,108,228, 35,157,168,135,141, 22, 69,190, 92,126, 82, 3,219,117,157,112,213, 74, 6,
-176,201,100, 74,215,183,132, 40,109,110, 41,201,144,153,101, 6, 53,110,109,198, 90,140, 18,254,123, 24, 68,151,145, 23,185,168,
-139, 51, 81,179,202,207, 71,190,255, 75, 39,130,205, 50, 90, 47, 85,171,202,136, 39, 90, 27, 9,176,209,198,160, 34,156,156,157,
-225,157,199, 24, 67, 89, 86, 20,121, 33,200,204,224,168,235,154,182,149,175,173,200,139, 43,100,198,230, 22,107, 50,161, 52,162,
-160, 72, 38,207, 36, 11,191,170,176,121, 46,219,126,223,147,103,242,253,167, 40,194, 60,239, 37, 64,169,174,107, 98,140,227,239,
-145,166,186,110,232,153, 76, 43,242, 66,132,117,117, 85,163,181,102,179,110, 48,198, 92,169,242, 1, 46,131,144, 98, 12,132, 36,
- 8,133, 15,226,239,183, 54, 67,143, 54, 79,163, 53,218, 26,234,249,140,217,246, 46,245,246, 53, 58, 23, 73,118, 34,126,244, 77,
- 75, 63, 12,156,157,158,177, 88, 54,156, 45, 55,244,206,209, 12, 13,131,119, 12, 41,210,181, 45,223, 60,250,150,211,179,115, 22,
-171, 5, 46,138, 29,244, 98,189,225,248,228, 2,231, 4,242,119,222, 97,178,130, 60, 23,202, 44, 37, 73, 19,155,205,183,169,235,
-156, 34, 31, 93, 38, 86, 6,188,178,172,200,203,140, 24, 29,203,229,134,136, 22, 84, 46, 36,130, 50, 20,213,140,178,154, 49,221,
-222, 33,159,204,200,235, 9,213,124,139,124, 62, 39, 43,106, 76,145,145,151, 37,117, 93, 81, 79, 43,138, 44,167, 42, 37,198,217,
- 39,112, 94,232, 41,137, 20,238, 73, 62, 72, 98, 95, 61,165,200, 10,202,162, 34, 38,209,194,104, 43, 26, 27,133, 34,105, 35,161,
- 68, 41, 16,125, 32,186,129,166,151,224, 28,157, 27, 84, 72, 66, 69,198, 81,104,170,224, 82,247, 35,182,170,203,119, 68, 40, 41,
- 61, 14,127,106, 68, 26,243,162,192, 40, 37,249,232, 33, 18,130,228,230,171,224, 9, 58,167, 55,129,204,192,143,255,227,191, 68,
-175,223, 65,115, 64, 62,185,133, 26,114,154,147,103,156, 62,255,140,211,231,191,164, 57,253,138,174, 57, 67, 39, 77,138, 21,235,
-245, 62,231,135,112,242,121,226,225,255,249,148, 71, 15,127,202,203, 23,255,128, 15,138,166,219,176, 60,125,200,250,226, 51,186,
-197, 25,117,145,177,103, 61, 62,207,248,230,193, 23,172, 47, 46, 80, 73,232, 98,148, 98,136, 10,111, 50, 38,123, 59, 84,211, 25,
-127,240,221, 15,217,217,170,200,148,231,218, 78,201,209,243,175, 56,252,246, 43, 94,124,251, 45,126,179,161, 74, 25,235,229,146,
-179,229,154,243,229, 9,186,202, 56, 61, 59,167,156, 22,216, 73, 65, 52,134, 27,123,215, 80,202,114,122,124,193,151,143, 14, 57,
- 93, 12,100,198,242, 31,254,237, 63,160,162, 97,107, 86,241,234,237, 3,222,187,247, 54,111,222,189, 77,235, 59, 94,123,255, 30,
-118, 34, 86,222,144, 6,110, 28,220,166,217, 56,218, 77,195,246,108,194,193,245,235,220,255,234, 27,110,238,110, 51, 52, 75,126,
-249,171,159,243,244,249, 17,191,189,255,128,131,107,215,168, 39,115,190,254,242, 43,202,170,228,222, 91,175,163,115,197,173,155,
- 7, 76,103,115, 94,127,227, 77, 62,250,222,219,248, 97, 65,215, 52,124,247, 15, 62,228,248, 98,144,187,250,206,237,189,244,206,
- 91,175, 82,198,134, 95,253,234, 75,200, 75,118,175, 79, 24,156,229,219,199, 71,108,205,182,152,111, 77,201,116,226,124,217, 16,
-170, 57, 93,144, 40,188, 73, 37, 23,120,153,203,161,170, 98,194, 13, 29,203,245,154, 24,146,164, 99, 13, 94, 46, 32, 64, 41,197,
-100, 58,197,251, 32,182,167,178, 96,189, 90,131, 18,213,251,206,238, 30,102,132,122,180,146, 96,142,205,152,166,148,101,185,252,
-154,143,100,101, 70,138,162,238,181,153,101, 60,119, 81, 90, 51,155, 76, 81, 74,177,222,108,228, 0, 45, 75, 41, 68, 8,178,205,
-166, 36,124,104, 24, 47, 79,173, 53,201, 39, 80, 34, 50, 11, 49,113,153, 46,182, 94,175, 9, 33, 82, 79, 74,134,110,160,223,108,
-152,237,238,140,185,232, 3,147, 73,197,224,122, 92,219, 83, 77, 68,241, 77, 2, 23,165,163,189,172, 42,148,210,244,110, 32,248,
-128,243,105,132,204,228,210,107,154, 22,173, 69, 21,222,118, 13,196, 68, 93,215, 2, 95, 42,153,152,147, 15, 18,248,162, 53, 41,
- 70,218, 70, 2, 56,228, 69, 83,152,204,144, 61,248,193, 76, 0, 0, 32, 0, 73, 68, 65, 84,231, 5,198, 88,217,176,181,108,103,
-145,136,213, 82, 86,162,181, 33, 70,177, 75,196, 40, 47,175, 50,150,105, 93, 99,140, 38,203, 11, 82,136,244, 94,202, 32,172,181,
-172,215, 43,166,211, 41, 93,215, 83, 85, 57,126, 24,136, 42,161,146, 70, 41, 65, 99,140,201,104, 54,155,171,203, 67, 37,105, 13,
- 3,152,205,183, 40,114, 43, 67,142,143,100,133, 37, 70,208, 90,141,201,118, 74,146,169,148,130, 40,145,161,253,208,145,231, 57,
-202,168,177,231, 89, 19, 71,161, 98, 76,162,224,206,115, 9,184,201,179,140, 77,219,146,136, 24,165, 49,121, 6, 94,236,121,109,
-219,178,181, 37,165, 63,171,213,134, 34,207,105, 91,137, 46,213, 74, 11,149,161, 44,104, 81, 93, 91, 43,186,130,190,111, 89,173,
- 54,120,239,198, 44,131, 12,146, 38, 70,199, 48, 72, 9, 67, 81,230,180,141, 36,183,109,109,111,163,148,108,185, 23, 23,231, 72,
-196,167, 97,123,123, 7,231, 60,147,105,205,106,211, 80, 87, 21, 41, 74,136,132, 54,150, 20, 34, 32,150, 20, 31, 28,106,164,146,
- 72,242, 44, 24, 99, 88,174, 86, 44, 47, 46, 8, 33, 48,157,206, 32, 37,108,158,225, 7,249,115, 55, 27,249, 58, 83, 8,108,239,
-238,210, 15, 61,211,122,194,242,236,140,157,235,215, 89,175,215, 35, 61, 98,136, 4, 20, 26,107,172, 8, 52,181, 56, 58,154,182,
-187,106,131, 2, 8, 81,248,239, 20, 37,100,166, 40, 43, 46,197,140, 34, 18, 21,212,228,210, 51,157, 24,181, 28, 93,143,214,137,
-233,108,126, 53, 4,181, 93,131,213,118, 12,202, 72, 40, 35,162, 61,177,164,138, 35, 68, 2,167, 36,142, 56, 43, 75, 84,140, 72,
- 68,115,207,102, 35,145,151, 66,127,200, 96, 38,138,127, 65, 46, 46, 23,130, 60,191,180,254,136, 54, 67,105, 65,152,172, 53,120,
- 55,200,150,106, 37,129,209, 88,137, 26, 86, 81, 16, 25,205, 37,170,160, 73,201,143,239, 98, 69,138,130,174,153, 92,210, 33,125,
-146,176, 21,162, 34, 68,137,114, 46,171, 10,107,164,145, 81,242,218, 35,198,100,104, 43, 73,108, 69, 38, 28,103,231, 29, 85, 33,
-136,101,145, 75, 46,120,140, 81, 52, 5, 90,225,163,248,200, 19,137, 16, 28,121,150, 99,162,104,125, 12,112,113,126,129, 82, 9,
- 99, 21,222, 71,234,124, 66, 61,219, 34, 27, 3,117, 98, 24, 56, 61, 61,199, 26, 72, 62,209, 71, 71, 93, 77, 49, 38, 48,108, 26,
-240,145,141,115, 4,151,196, 18,101, 52,182,204, 73, 81,104,210, 76, 27,148,205,200,114, 43,190,251, 8,200,222, 68,244,142,164,
- 68, 75, 20, 73, 50,240,107, 77, 89,150, 52,171, 5, 33, 36,225,246,253, 64, 61,219,230, 59,255,205,127,199,234,197, 51,252,242,
-156,107, 31,254, 17, 59,205, 63,103,119,242, 29,134,176, 97,239, 96,198,206, 63,143,116,255,168,248,237, 79,159,113,244,242, 39,
-232,204, 98, 41,241,241, 28,163,114,146, 79,168, 34, 99,113,250, 45,253,250, 5,217,252, 58,219, 55, 63, 32, 44, 23, 92, 28,253,
-156,102,248, 41,217,102,193,171,247,238,240, 74,115,206,171,247,238,241,219,135, 15,104, 23, 43,250,174,101,179,148, 38,182,249,
-100,194, 43,175, 73, 84,237,100, 90,177,187,119, 11,165, 18,199, 39,199, 76,171,146,190,239, 5, 17,206, 75, 76, 8,180,231,231,
-232, 0, 49, 14,220,120,101, 7,157, 89,218,190,103,181, 90,177, 60, 57,101,240,112,124,124, 76,240,137,235, 59, 37,207,207, 58,
-206,163, 66, 37, 79, 8, 25,215,166, 80,217,241,249,247,134,182, 15, 28, 28,236,177,247,218,107,188,243,201, 39,100,181,229,232,
-240,136,235, 55,246, 25,218, 14,213, 39,142,143,206,185,184,184,224,155, 39,223,146, 98,226,248,248,136, 20,224, 7, 63,248, 1,
-186, 40, 41,178,140,235,123,115,126,242,247, 63,227,119,247,239,243,241, 39, 31, 49,223,221,230,218,141, 27,180,189, 35, 43, 43,
-214,171, 37,135,207,158,208,119,129, 31,254,240, 35, 98,130,206,123,204, 31,125,252,206,167,167, 47,159,240,217,231,207, 40,119,
-114, 2,150,175, 31, 47,185,180,170,229,165,197, 71,207,106, 72,184,162, 38,144,176, 73,210,147,242, 66,170, 89,149,146, 52, 43,
-165, 20,203,213,146, 24,226, 21,231, 54,244, 29, 85, 85, 10, 60,104, 44,171,205,134,161,151, 13,164,235, 7,166,117, 77, 85, 77,
- 40, 43,225,248, 4,194, 94,144,105, 75,215,119,100, 69, 33,219, 97, 38, 61,222,144,232,154, 14,144,248,189,232,228,194,247,206,
-163,181,197,121, 71,239, 28, 42, 41,176, 6, 98, 32, 33, 23, 36,230,114,251, 50, 24, 37,135, 92,138,113,124, 81,149,168, 63,173,
-180, 94,245,189, 67, 91, 5, 42, 17, 35,228, 35, 79,166,148,162,170,171, 81, 80, 39,154,129,162, 42,105,214, 13,206, 7, 76,158,
- 83,228, 21, 93, 63, 32,109, 59,145,190,243, 88, 43,129, 54, 41,164,171,200,218,178,202, 81,218,140, 16, 41,212,165,132, 60,196,
- 36,133, 30,209,123,250, 65, 66, 36,218,166,145,131, 52, 74,229,233,165,106, 61, 69, 17, 36,245, 93, 71,179,105,104, 70,120, 84,
- 4,116, 18, 94, 64, 12,100,121, 78, 81,138, 90, 61,161, 73, 35, 45,146,148,160, 39,155,166, 65,105,131,205, 45,235,213, 18,165,
- 68,164,146,231,150,190,109,201, 50,217,246, 51, 43,221,226, 70, 75, 22,248,166,105, 48,214,160, 73,100, 38,163,170,164,109, 79,
-105,117,245,153, 54,109, 75,136, 9, 9,125,137,146,209,110, 51,172, 17, 78,158,148, 70,142, 46, 74,226, 91,146, 84,184, 34,207,
- 25,134, 65,182,127, 47,112,127, 76,178,101,251, 16, 36,142, 55, 47,176,214, 72, 42, 97, 8, 12,163, 23, 61,207,115,113, 91,216,
- 92,160, 95,173,176, 70,116, 21,130,102, 8, 21,144, 82,162, 27, 6,218,174,161,237, 68,144,119,169,149,168,235, 41,197,101, 66,
- 97, 38, 53,188,195,224,198,207, 48, 17, 83, 26,253,218, 29, 33,201, 51,234,124, 32, 47,114,124, 20,155, 98,150,101,172, 87, 43,
- 50, 35,109, 92,222,245, 4,239,209,198,208,118,221, 56,132, 73,186, 98,158, 75, 8, 75, 8,129, 68,164,235,228,226, 44,202,146,
- 24, 5,237,240, 78,158,137,232, 3,164, 36, 98,171, 92,132, 82,253,224,216,218,221, 38, 38,176,151,226, 55, 35,226, 71,163, 13,
- 73,201, 80, 21, 82,194,121,217,230,250,190,167, 40, 10,146, 70,180, 38,222, 95,233, 9, 38,117, 77,150,101, 92, 6, 26, 93, 62,
-115, 77,211, 48, 12, 18, 79, 44,246,183, 1,107,115,218,174, 97,189, 90,225,134,129,233,100,138,181,146, 97,158, 21, 5, 6,200,
-114, 9, 47, 1,201,134, 80, 74,126,230,160,198,247, 48,162,180, 80, 23,153,149,194, 24,165,212, 21, 69, 85, 21, 5, 85, 89, 92,
-253,183, 44,147,164, 71,107, 37,175, 32,137, 6, 82, 32,107,147, 93,253, 93, 0,214,142,191,174,228,243,184,180,139,134, 16, 5,
-105, 52, 25, 62, 10, 13,167,116, 38,208,115,140,216, 92,160,119,249,122, 50,234,186, 20,239,120, 20, 47,124, 82,138,186,172, 80,
- 42, 65, 38, 2,224,148, 34,117, 61, 17, 17,112, 8, 12, 67, 79, 54, 42,147,187,182,197,245,157, 12,137, 49,200,179,160, 13,137,
- 75, 27, 90,192, 39,133,206,114, 73,131, 51, 22, 18,164,152,200,242, 12, 31, 68,215, 80,228, 66,119,145,148,212,127,170, 68, 63,
-120, 74,107,160,109, 9, 40,202,106, 74,136, 18,245,106,173, 98,232, 29,121,158,227, 91,161,134,180, 50,120, 36,151, 96,232, 59,
-122,231, 81, 36,180,146, 8,236,126,112, 12,125, 47,148,202,184, 72,120, 39, 81,221,121, 38,203,137,205, 12, 97, 24,216,121,235,
-109,102,111,127, 66,104, 91,154,179, 35,178,201,117,118,202,143,168,183,175,209,135, 64,169, 12,127,246, 47, 54,252,151, 31, 20,
-116,255,116, 70,251,237,123,104,155,147, 87,115, 22, 47,239,179,186,120,198,224, 27,218,213, 83,250,230, 20,155, 79,217,191,249,
- 99,230, 59, 63,166,156,191,139,118, 61,245,205, 30, 53, 44, 56, 58, 95,115,244,248, 9,103,139,134,106,123,143,231,199, 23, 60,
- 61, 90,208,167, 64, 52,137, 77,239, 41,178,140,227,163, 99,158, 61, 63,226,229,211,231,188, 56, 60,100,177, 88,242,213,227,231,
-188, 60,191, 32, 36,197,108, 62, 97,189, 89,242,245,225, 49,222,194,139,139, 5,203,117,199,163,103,135,244,109,207,225,170, 35,
- 88, 11, 89, 78, 93,151, 68,215,115,251,218, 54,223,125,231, 54,223,121, 99,159,119, 95,223,231,123,239,222,162,174, 13,153, 81,
- 84, 89, 2,211, 49, 47, 65, 7,135, 95, 47, 57,125,252,136, 71,191,249, 10,203,132,217,214, 53, 54, 93,199,175,126,245, 27,214,
- 23, 39,148,181, 12,104, 49, 69,202,249, 12,147, 89,222,126,243, 46, 58, 58,222,126,255, 29,254,254,103, 63,231,155,111,190,164,
- 9,137, 55,239,221, 99, 0,158, 61,127,204,246,238, 62,175,191,126,151,211,147,115,110,221, 60,224, 59,239,190,139, 86,154,174,
-113,156, 47,214,152,219,219,197,167, 23,253,192,100,119,194,197, 69, 98,103,247, 58,247,238,221, 38,203, 51, 14,174,239, 99,109,
-198,162,131, 84,212,162,218, 85, 34,144,136,222, 17,130, 19,111,106, 85,203, 75, 18,101,107,234,251,158,162, 20,235,134,181,134,
-229,106, 67, 12,194, 65,198, 16,168, 38, 21,185,150, 34,136,193, 57,108,145,143,135,142,102,185, 90, 10,164,236,196,250, 84,228,
-242,240,232,145,151, 42,203, 66,184,225, 32,155,142, 64,218,154,224,221, 85, 94, 53,200,198,131, 54, 36, 37,158, 99,177, 68, 69,
- 46,211,196, 18, 1, 21,195,168,108,246, 24, 45, 83,175, 81, 90,224,248,241, 48,181, 86,186,191, 3, 98,101,170,167,242,189, 94,
-214,159,166,148, 48, 70,145, 21, 57, 46, 42,156, 31,200, 50, 9, 94, 49,153, 29, 55, 87,233,187,141,209, 19,149, 8,195,172, 21,
-171,203,208,247, 24, 45, 33, 58, 50,245,122,130, 31, 88, 45, 87,180,109, 59, 42,203,133,147,213, 90,170, 73,171,170, 34,203, 51,
-170,178,226,210, 58,214,119,195, 8,213,137,117,176,239,100,171,202, 50, 3, 74,172, 95, 10, 48, 74, 4,128,121,145,145, 0, 63,
-136,248, 44,132, 32, 16, 36,154, 50,151,139, 48, 68,199,101, 53,234, 48, 12, 12,163,202, 61,164, 68,102, 37, 12,198,111, 90,166,
-179, 25,211,217,148,170,174,176,153, 97,179,218,208,119, 29,206,185,209, 99, 45,141, 83, 49,202,255,150, 65, 70, 46,151, 48, 14,
- 41,121,150, 35,221,223,129,204,100,132, 24, 73, 49,140,207,133,194, 90, 9, 54,241,195, 64,244, 34,190, 83, 90, 56,245,161, 27,
- 72, 36,234,122,138, 70,154,239,140,145,182,179,162,144,156,237,204, 88, 98, 18,237, 66, 8, 14,239,130,216, 4,187,142,190,149,
-106,198,182,237,200, 50,225,214,147,214, 88, 35,186,131, 75,110, 58, 43,178,171,195, 76, 91, 73, 30,212, 90,203,175, 27, 73, 53,
-212, 90,144,153, 34, 47,100,120,181, 98, 7,234,122,233,124, 79, 41, 49,155,206,132, 82, 24, 6,134,224, 25,250, 1,165,181, 8,
- 50, 23, 11,250, 94, 40, 39, 61,102,181, 27, 45, 98,205,161,151, 26,204,170, 46, 49,185,101, 62,223, 18, 84,201, 26,108, 38, 53,
-157, 69, 81,210,108, 90, 80,137,118, 28, 30,139, 34,191,130,208,141,181,148, 69, 41, 92,108, 33,136, 87,150,101, 72,244,167,120,
-248,187, 94,120,237,203, 75, 28, 24, 47,192,113,176,138,242, 60, 74,151,180,252,183,162,200, 41,198,237,249,247, 67,144,167,235,
- 37,103,192,135,192, 48,120,250,126,180, 23, 42,161, 31, 52,138,168,196, 74, 23,188,191, 18, 1,186, 32,239,165, 84, 14,143,121,
- 17,121, 65, 26, 63,227,124, 20,211, 46,151, 11,124,140, 99,157,173,148, 10, 41, 45,214, 74, 18,144, 34,160, 81, 8, 21, 87,149,
- 5, 89, 46,250, 26,173,165, 71,225,178, 98,119, 50,153,160,140, 12,179, 69,158, 49, 56,177,139, 86,117,137,181, 6,173, 33,196,
- 4, 81,114, 47,108,102, 48, 73,130,127,228,179,148, 36,204, 34, 47, 80,136,126,227,210,179,239,131, 56, 86,210,248,236,232,244,
-251,184,105,173, 69,223, 19,137,178, 65, 91,113, 40, 24,107, 9, 24, 34, 10,101,229,207,204,203, 10,155, 89, 94, 28, 30,210, 54,
- 66, 1,229,214, 80,150, 19,138, 42, 27, 19, 3, 29,165,138,104, 12, 58,151,220, 0,172,184, 50, 20,145,172,200,201, 50,249, 26,
-148, 21, 65, 41,128,209,154,168, 4, 81,245, 33, 74, 66,157, 82, 34,162, 75, 92, 13,234, 74, 25,196,143,111,232,219,158,174, 29,
-168,174, 95,231,181,247, 63,161, 46, 42, 22, 47, 30,115,247,173,247, 89,189,204, 32,214, 12,155, 83, 90,235,152,253,193, 30,247,
-179,196,151,255, 6, 78, 14, 79,184, 56,252, 45,229,244,128,143,255,228,207,184,125,243,143,121,247,123,127, 72,181,253,135, 76,
-167,119,248,254,247,254, 19,222,252,175, 95,227, 47,255,179,158,255,226,207, 13,155,234, 3,170, 87,114,218,179, 47,217,156, 55,
-220,124,229, 38,175, 30, 92,231,214,107,175,240,238, 59, 31,240,221, 15,223,227,240,244,130,168, 11,206, 47, 78,120,250,236, 5,
- 23,171, 53,202, 20,172, 83,226,218,181,125,162,205,120,245,238,171,132,164,168,167,146,161,254,228,197, 17, 93,132,195,139, 13,
-245,100, 78, 94,101,216, 44,167, 11,137,191,248,139, 63, 37, 69,168, 38, 19,202,106,142,174,119, 24, 84,197,215, 79,142,217,217,
-219,167, 13,150, 24, 12,123,251,215, 56,184,121,139,131, 91,183,185,121,243, 54,215, 15, 14,216,222,222, 98, 50, 47, 8,161,165,
- 46,193,159, 31,179, 60, 61,161,217,180,236,220,220,103,182,119,141, 69,179,228,248,232, 37,123,219,187,220,123,227, 53,230, 91,
- 51, 34,158,175,190,122, 68, 74, 3,235,214,241,197,151, 15,120,255,131,119,177,198,112,253,198,117,124,212,120,159,120,254,252,
- 41,206, 15,184, 94,113,125,111,155,229,226,130,219,119,222,224,238,221, 55, 49, 55, 94,187,254,233,164,218,101,189,144,203,200,
-135,158,174,237,137, 93,207,225,225, 17,203,144, 97,139,138, 48,114,157,110,112,104, 21,152,212, 53,147, 82,242,195,141, 26,225,
-235,222,209,180,107,170,170, 36,198, 68,215,245,108, 26, 81,248,154,220, 18,130,248,107, 1,241,178,230,118, 84,138, 59,148,209,
-232, 20, 33, 69, 73,142, 74,162,136, 55,153,229,178, 65,172, 44, 75, 82,130,186,146,186, 79,149,192, 5,217,236,134,193,203, 36,
-235, 3, 69, 94, 16,224,234, 32, 75, 73,141,191, 79,184,120, 55,136,226, 62, 38,225,164, 99,144,205, 54, 47,114, 66, 20,254, 8,
- 45, 48,160, 27, 15,102, 20, 4, 47, 9,100,153, 21,129, 72,179,217, 96,198, 23, 93, 27,139,205, 44,125,231, 48, 70, 4,100, 42,
- 33, 86, 41,109,113, 65, 62,223,152,196, 82,150, 98,164,105,197,246,101, 52, 52,155, 13,151,161, 44,109,219,145,146,192,148, 54,
-147,109,118, 58,157, 51,157, 78,200,115, 73,242, 66,107,114,109,198,182, 54,217, 58, 7, 39, 49,176, 49, 37,225,146,181,161, 27,
-122,138, 60,195, 13,178, 29,228, 69, 78,223,202,244,173,148, 70, 27, 4, 2,205, 51,140, 22, 30, 47, 17, 5,190, 12,129,210,230,
-226,253,181,178, 49, 92, 34, 8,140, 80,188, 75,158,114, 76,152, 51, 70,211,183, 61, 41, 9,116,238, 99, 24,149,246,210,188, 39,
-113,176, 94,188,253, 33,202, 33,145,198, 33, 17, 41, 54, 9, 33, 80,213, 21,144, 4,217, 72, 17,107,101,123, 75, 49,146,149, 37,
-110,252, 30,195,229,229,174, 20,179,249, 28,173, 24,133,111, 66, 99, 40, 45,246,195, 97, 24,104, 70, 47,114,150,203, 48,115,201,
-175, 55, 77, 51,110,104, 82, 16, 35,151, 66, 66,196,128,146, 39,224,253, 88,201,233, 69, 39, 96,172, 8,211,250,174,191, 66, 18,
-108, 38,121,229,218, 88,102, 91,115, 82,138, 20, 69,137, 34,225,134,225,138,135, 46, 11, 81,170,203,193, 25,152, 84, 21,110,112,
-116,141, 36,172,245,157, 12,118, 49, 73,145,203, 37,191,105, 50, 75,234,123, 76,150,137,136, 82,203, 86,104,140,166,235,122,140,
-209, 50, 48, 41,133,178,178, 17, 94,186, 8,186, 70, 98,128,139, 50, 31,245, 0, 45,118, 68, 74,186,110, 84,224,119, 29,198,202,
-229,230, 6,119, 37, 68, 84,106, 20,107, 18, 5, 5,235, 5,201,200,203,130,166, 21,125,193,165, 39, 63,105, 40,243,130,222,121,
-188, 27, 8, 65,116, 11,222,185,241,226,144, 11, 80, 41,209,204,164, 20,241,227,239,201,242, 18, 97,222,100, 41,200,172, 44, 11,
-202,200, 22,175,181, 64,229,155,205,154,222,201,160,105,173, 97,117,177,192, 15, 82, 27,172,180, 68,172, 26, 52, 74, 9, 2,144,
-103,114,193,199, 24,200,115, 75,240,126, 44,198,145,208,166,204, 94,110,243,114, 81,167,152,208, 36,124,132, 73, 45, 90,139,193,
- 15,116, 99,138,164, 27,122,156, 27, 72, 49,160, 77, 70, 63,116,216, 44,103,189,222,224, 6,129,127,221,232, 54, 40,114,177,155,
-218, 44, 35,183,130,244,148,165, 52, 55,118, 67, 39,231, 83,140,160, 36,195, 65, 22, 14, 63,110,236, 50,196,103, 70,226,112,181,
-181, 4, 20,237,224,197,235, 62, 14, 66,222,247, 44,150, 23,248, 0,211,122, 42,105,107,198,242,226,228,156,160, 3, 85,166,200,
-243,146,162,170,233,154,158,114, 58,193,142,148,197,224, 59, 76, 82,104, 20,164,203,197, 35, 98,243, 2,109,140,160, 64, 54, 71,
-154, 49,133, 34, 53,214, 10,154,213, 7, 66, 76, 52,109, 35,231,205, 48,240,214, 39, 63,198, 29,193,242,236, 17, 7,175,190,206,
-203, 71,103, 52,155, 19,186,254, 57,131,107, 56,253,242, 21, 30,253,123,197,211,251, 95,114,244,252, 11, 66,236,248,224,141, 31,
-242, 71,255, 21,236,127,164,185,254, 35,199,254, 15, 13,219, 92,231,224, 22,124,252,113, 96, 31,131, 82,137,120, 96, 57,254,249,
-107,228,215, 95,112,254,205,151, 20,211,109, 94,221,223,230,198,193, 29,114, 74,166, 91,219,184,182,225,237,187,119, 56,184,125,
-135,191,251,233,103, 36,109,168,115,195, 78, 93,177, 88, 45, 8, 67,195,217,217, 5, 46, 14,180,141,196, 78, 95,172, 59, 12,240,
-230,235,175,240,218,221, 27,120, 52,251, 55, 14, 56,189, 88,209,116, 29,247, 63,251, 21,169, 91,115,118,177,100,162, 28,182,208,
-148,251,123,124,117,180,226,217,105,195,223,253,226, 62, 47,143, 23,156, 95, 52,248,161,195,135, 64, 31, 20, 90,101,228,249,148,
- 42,155, 9,226,151, 25,166,179, 2, 19, 18, 97,211, 16, 93,228,246,157, 91, 92,123,245, 38,153, 45,249,251,191,249,183, 92,159,
- 76,241,157,148,255, 44,215, 27,118,246,182,121,121,178,230,141,183, 15,152, 76, 74,214,203,150,186,168,249,246,193, 55, 16,193,
- 90, 77,116, 45,203,102,195,207,254,225,151, 52,155, 21,247,191,184,143,121,227,246,237, 79, 31, 60,252,154,182,221, 80, 23, 34,
-220,233,150, 75,214,141,163,207,167,148, 19, 41,114, 15,222, 97,141,136,158,230,179, 25,214,202,212,150, 89,177, 55,245, 77,199,
-106,211,224,131, 84,200,117, 93,127,229, 31,159,111,109, 81,149, 18,209, 55, 12,210, 47,219, 15,131,228,120,219,140, 97,132,247,
-154,205,102,220, 12, 19, 85, 81,146, 21, 57, 77,179,161,107, 59,134,190,191,130,217,148, 2,109, 20,171,205, 90,188,176, 65, 4,
- 55,151,155,155,210,114, 1, 93, 86, 10, 58, 39, 94, 77,231,195,200,167, 9, 55,228,251, 30,109, 45,201, 11,116,105,115, 57,232,
- 66, 8, 87, 54, 40,109, 45,198,202, 22, 5,178,157, 40,132,207,119,193,211,182, 29,146,135,109,233, 7,137, 25,245,222, 97, 76,
- 38,131,201,120,129,103,218,208,245, 45,209, 7,217, 54, 99, 28,225, 97, 75,145,231,114,193, 42, 17,154,129,112,204,187,219,187,
-148, 85, 73, 34,145,231,146,145,158,148, 4, 81,136,136,208, 99,172, 97,181, 94,203, 5,222,117,212,117, 37,225, 37, 10,234,186,
-162, 24,225,211, 60, 47,196, 3,221,182,248,224, 70, 65,154, 66,171, 68,223, 13, 72,189,172,192,154,198, 10, 61, 81,215,178, 21,
-244,195, 64,223,183,100, 86,190,134, 97,232,137, 94,236,102, 50, 52, 37,202, 82, 58,209,135,190,163,172,107, 98,138, 68, 31,112,
-193, 9,196,154, 46,171, 58, 45,151,109, 66, 74, 75, 53,174, 81, 26, 99,165, 98, 20,196, 59,223,182,253, 85,106,214, 48, 12,152,
-164, 68, 96,233, 35, 86,233,171,139,193, 88,129, 74,179,204,210, 54,194,195,202, 6,233, 80,200,118,191, 88, 44,144,228, 64,233,
- 89,111, 54, 13, 74,201, 22,126,217,204, 87, 21, 21, 46, 56,140,214, 76,167, 51,170,170, 28, 81,144, 12, 55,120,108,158,161,212,
-229,246, 47,190,107,101, 12, 49,136,202,187,105, 26, 18,137,249,124, 38,193, 60,121, 78, 8, 18,231, 43, 2,183, 72,215,180,228,
-121,129,214,242,231,116,125, 71, 93,142, 69, 53, 62, 48,157, 77,152, 76,166, 76, 39, 19,170,186,166,200,115,202,178,144,152,214,
-220, 18, 81,100,133,196,243,102,153,192,211,131,151, 75, 0, 45,221, 6, 41, 37, 46,171,130,137,114,161,136, 72,111, 64, 41, 17,
-218,137, 48,117, 20, 3,142,180,130,181, 98,187,235, 90, 41,139,200,139,156,161, 27,104, 91,121, 71,252,224,133,202, 25,109,112,
- 93, 55,112,105,225, 90, 46, 23,116, 93, 71, 94,228,144, 18, 69,149, 99,141,229, 50, 67,254,114, 64,113,206, 81,213,181,112,219,
-232, 43,244, 35, 51,153,240,223, 70,209,118, 45,137,196,100, 50,149,115,165, 31,132,203, 31,209, 38,161,160, 18, 85, 89,162,148,
- 18,255,127, 8,100,153, 56, 57,188, 27, 36, 90,120, 92, 16,148,209,104, 37,177,184, 74, 41, 54,237, 6, 72, 99,128,148, 98,211,
-116, 76, 39, 19,178, 60, 19,109,200, 56,224,163, 68, 47, 0, 66, 13,153, 49,166,119,240, 3,179,217,148, 34,207,176, 70,236,136,
- 69,110,233,250,126,180,229, 33,150, 70, 36,191,193, 57, 39,150,190, 92, 68,192, 32,202,114,133, 44, 3, 74,137,112, 52,211,146,
- 22,104,180, 65, 43, 75, 66,242,191,149, 82, 24, 43,207, 11, 74,206,173, 24, 32, 42,197,108,190,139,201,114, 18, 10,239,123, 86,
-155, 53, 74,102, 4,174, 95,219,231,240,197, 9,139, 77, 39,142, 6, 19, 73,195, 64, 10, 80,149, 5, 69, 81, 97, 50, 73, 38, 75,
- 10, 6, 39,168,165, 86,242,220, 40,173,168,138,156, 17,152, 32, 51,242,247,116, 93, 75,211,202,179, 62, 12, 3,146,148,103, 24,
-218,150,131,219,119,168,247, 74,194,102,129, 78,208, 45, 90, 54,221, 6,239,207,241,205, 57,155,147,103,172,206, 31,114,126,241,
- 21,221,234, 57, 41, 69,178,236,117,178, 88,210,220,135,195,127,167, 89,125,171, 56,125,174,200,106,120,243,221,158, 71,169,224,
- 56, 45,249,151,121,201, 23,199,138, 23, 15, 58,150,205,231,156,190, 60, 66,119, 3,123,117,205,191,250, 95,254,103,126,242,239,
-254,142,179,139, 37, 63,253,229,103,188, 56, 58,228,253,247,239,241,230,189,215,177, 36,180,142, 76,234, 25,157,139,100,185, 37,
-185, 72, 34,208,110, 54,220,216,153, 75,187,222,166,225,226, 98,133,138, 25, 39,231,167, 12,237,192, 86, 93,243,171,223, 62,192,
- 13,145, 89,101, 57, 95,174,105, 46,214,104,173,121,245,181, 3,110,222,220,227, 15,190,255, 30,123,123,187,108,223, 56,224,167,
-191,249,156, 85,219,115,180, 88,115,190, 89, 51,221, 18, 90, 4,114, 78, 47, 86, 44,215, 14,141,102,247,250, 46,219,211,130,176,
-216,240,197, 23,223,240, 39,127,246, 31, 97,234,138,255,247,111,254,134,227,103,135, 84,198,160, 2, 24, 60,239,125,240, 46, 47,
-142, 94, 48, 41, 51, 66, 27,208, 88, 62,255,205,125, 94,187,121,128,213,145, 95,253,230,115,158,124,243, 45,119, 94,125,141,229,
-122,195,243, 39, 79, 49,147, 50,251,212,187, 78,210,181,156, 99,211,116,132,124, 74,168,166,194, 59, 90,205,208,110, 48, 70, 83,
- 22, 21,211,178, 64,105, 88, 45, 86,116,157,240,183, 41,193,186,221,144, 82,100, 54,159, 97,173, 97,112, 30,165,165, 64, 62,207,
-196,195,106,180, 25, 47, 5, 81, 41, 58,231,113,193, 51,155,207,177, 74, 38,178,126,240,227,161,195,213, 97,151,146,240,168,151,
- 91, 81,145, 23,172,215, 27, 98, 8, 76, 38, 19,201,197, 5,218,126,160, 40,138, 81,184, 34, 73, 91, 49,130,210,194,129,106,173,
-137, 17,146,151, 82, 19,149,210, 21,239,230,131,244,147,103, 89, 38, 91, 92,130,161,239, 37,225, 12, 81,109,103,153,148, 98, 56,
-231,112,110, 64, 43,141, 50,138,190, 19,216,214,218, 49,179, 25, 80, 6,134,118,144,233,221, 57, 36, 23, 10,202, 82, 14, 58,201,
- 43,239, 41,235, 26,141,244,105,247,125, 47, 27, 93,138,148,101, 77, 61,147,226, 15,101,196,210, 5,138, 97, 12, 67,185,252,179,
- 66,144,108,239,166,105,174,190,118,239, 29,179,177,225, 39,196,241,144, 34, 94, 69,129, 26,133, 64,153, 49,144,130,136,187, 98,
-144,204,242,178,172, 32, 70,138, 82, 96,216, 24,194,184, 69,140,189,243, 36, 72,138,217,108,122,117, 89, 89, 35, 93,229,214, 26,
- 65, 77,252,128,244, 64,215, 68,239,229,255, 75, 16,222,167,147, 33, 40,145, 32,138,104,209,104,177,141,133, 81,169, 62, 12,210,
-254, 86, 20, 50,208,204,166, 83,113, 49, 24, 43, 8,129,146,176,142,178,172,176,214, 96, 71, 8, 92, 41, 69, 57,138,177,148,146,
-118,188,229,114,141,247, 14,173,141,232, 2,180,198, 57,225,131, 73,210, 37, 63,116, 66, 45,204,166, 19,138, 82,254,206, 75,174,
-217, 57, 73, 57, 52,151,104,198,248,188,200,229,105,197, 23, 92, 8,188,156,146,244, 95, 39,228, 98,213, 74, 54,233,161,107,209,
-218,176, 94,175,105, 55, 27, 98, 18,183, 69,223,201,102,158, 98, 98, 50,157, 10, 4, 27, 3, 54,151,170, 87, 82,196,245, 3,109,
-215,114,153,181,175,149, 34,164,128,181,226,251,191, 44, 90,185,204,127,207, 70, 8, 92, 33,130,196,224,189,240,196,105, 76, 63,
- 84, 80,100, 25,109, 35,239,174, 15,129,105, 93,227, 99, 64,178,249, 69, 83, 18,156,151, 20, 65,239,169,202,223, 43,218,139,170,
- 4, 24, 7, 30, 67, 76,129,182,105,175, 6, 84,109,164,131,254,114, 72,108,154, 6,173, 45, 68, 65,158,138, 44, 19,145,154, 81,
- 4,239,232,187, 1, 63,186, 14,180, 17,255, 58, 41, 49,190, 46, 12,125,143, 82,138,193,139,203, 68,208,186,132, 31, 6, 80,226,
-165, 46,139, 74,126,182,198,140,212, 23,104, 37, 3,190,119,254,106, 3,110,187, 22, 21,133,131,222,172,215,116, 93,135, 50,154,
-162, 16,189,142,181,150,102,172,214, 21,237,143,196, 66,183,173, 68, 62,163,204,136, 66, 6,105, 22,180,226,140,145, 6, 45,197,
-102,211, 16, 99, 26,159, 47, 79, 81,228,216,204,140, 29, 9,107,154,213, 70,158, 29,210, 88,216, 36, 20,159,116, 95,120,202,162,
-132,241,172, 35,137, 67, 70, 41,129,230,149, 86,100, 99, 68,111, 2,234,178,196, 5, 89,134,202,122,138,115,194,255,123, 18,109,
-223, 18,156,163,170, 50, 25, 22,116, 98,112,129,100, 51,186,182, 17,251, 97,244,100, 54,103, 50,153,146,101,134,170,158, 82,100,
-151,141,140,242,185,183,205,134,245,106,141,235, 27, 17,174,170, 40, 93, 0, 69, 77, 94, 26,136,242, 14, 12,110,192, 42,112,171,
- 53,183,118, 94,101,229, 90,250,163, 11,108, 85,211,247, 61, 90, 89,188, 91,208,172, 79, 88, 47, 15,233, 22,207,104,215, 79,216,
-172, 94,114,118,250,144, 71, 95,159,112,212,205, 56,124,121,193,225,131,111, 56, 63,123,198,186,221,197,185,138, 95,254,109,226,
-217,255, 83,243,104, 13, 79,207, 21, 79, 30,126, 75, 27, 30,178,120,246, 88,206,214,197, 41, 15,190,126, 64,138,142,157,107,215,
-165,118,245,181, 87,217,157, 77,105, 47, 46, 56, 59,190,160,117,134,253,173,109, 81,180,215, 53, 31,255,232, 15,201, 38, 19, 78,
- 23, 45,139,245,154,139,197, 9, 95, 62,122, 74,183, 58,230,244,228,132,237, 74,243,205,211, 67,206, 47,206,216,154,239,112,239,
-205, 55, 89,118, 3, 77,144, 2,166,211,214,113,190,114, 52, 27,199, 87, 95, 63,231,228,232,156,112,113, 78,150, 28, 59,243, 93,
- 94,121,245, 46,123,251,215, 40,102,215,248,221,131, 71,100,153,231,198,254,174,164,243,101,150, 69,235, 89,119, 17, 83,214, 76,
-203,130,179,151,199,236,236,236,240, 87,255,233, 95,241, 63,254,175,255, 7,135,207,143,216,170, 51,126,247,219,111, 96,179,193,
-120,207,234,116,201,239, 30, 62,102, 43,215, 92,159,207,217,175, 75,113, 4, 77, 38, 28, 47,123,190,255,209,247,136, 67,164,115,
- 61,198,170,240,105, 89, 86, 56,151,232,163, 38,205,118, 80,121, 73, 26,225,173, 20, 69, 56, 99,179, 28,107, 20,101, 85,178, 94,
-173, 9, 81,194, 13,188,243,252,231,223,223,231,231, 79,150, 76,167, 83, 82,146,182, 53, 80, 76,103, 51,121,201, 99, 64,105, 17,
-198, 40,173, 41,170,138,178, 44, 69,236,164, 68,229,238,147, 4, 35,136,119,220,176,181,181, 37, 47,133,201, 36, 16, 68, 43,156,
-247,227,116,158, 51,184,129,178,168,240, 65,250,204,255,226,141,146, 63,190, 59,229, 55,199,158,182,105, 80,198, 80,100, 37,131,
- 27,248,238,117,203,141,218,240,114,229,209, 70, 60,216, 36, 17, 91,201, 54, 45,254,117,225,137,199,204,243,174,151,131,119, 16,
-174, 58,211,210, 83, 94, 20, 5, 93, 63,224,157, 67,107,197,122,181,193,123,225,203, 50, 43, 54,177,162, 40,228,238, 75,233, 10,
-118,213, 90, 33, 45,106, 3,160,198,173,188,191,186,232, 0, 38,179, 25,193,139,218,123, 54, 19, 21,255,101,160, 71,138,191,183,
- 85, 9, 28, 41,155, 78, 24,197,106,114,208,138,170,123,112,130, 4,244,131,192,236,205, 40,178, 11, 65,172,111, 90,107,208, 50,
-245,247,195, 32, 54, 21, 99, 48,122,228,132,187, 94,124,169,113,172,247,244,158, 44,207, 71, 72, 85,210,209,148,177,132,193, 97,
-172,108,242, 33, 4,146, 10, 87,195, 79,150,143, 27, 96, 46,141,105,130,168,136,234,183,174,100, 59,117,131, 84,204, 10,228, 45,
- 23,187,209, 98, 43,148,132, 47,209, 93, 24, 45,212, 6, 73,224,107,109,164,193,239, 18, 26, 7,105,198,210,154,241, 80,245, 44,
- 46,206, 71,231,132,168,149,235,122, 66,240,158,170, 42, 80, 90,148,209, 49,197,209, 70,101,113,109,139, 25,249,228,162, 40, 25,
-156, 67, 43,133, 50,178, 1,183,109, 79, 59, 66,248, 77,211,141,223, 91, 70, 82,130, 6, 93,217, 51,141, 65,197, 68,219,108,228,
-235,115, 66, 79, 64,148,159,183, 21,120,222, 7, 73,168,179,185,197,216, 66,210,248, 12, 34,116, 28, 28,193, 15,116,221, 64,211,
-173, 9, 94,212,232,130, 30,216,171,237, 42,145,196, 30, 55, 94,178, 33, 72,248,136, 54, 2,147, 74, 36,175, 88, 20, 51, 35,205,
-139, 67, 47, 3,245,165, 42,124, 90, 75,199,119,215, 54, 24,101, 41, 10, 65,206, 38, 85,133,228,124, 71, 98,144, 27, 54, 43,228,
-103,218,181, 61,109,215,144, 84, 66, 41, 17,118, 58, 39, 29, 1,222, 57,218,182,231, 50,159,190,170,132,114, 41,171,146,164, 20,
-221, 32, 3,148,235,189,136, 7,179,140,224, 60,206,251,241,253, 16,154,197,123, 41,239,145,207, 87, 46,234,188,144, 8, 97, 65,
- 88,122,250,161,199,123, 39,139, 0,162, 33,232, 58,105,174,114,110, 16,136,221, 90,202,170,196,106, 9,186,209, 6, 98, 12, 12,
-131, 8,237,242, 76,196,137,155,102,131,115, 14,101,140,208, 91, 41, 81,148,114,254, 40,160,109, 27,148, 26, 93, 0, 67, 75,215,
- 54,168, 17,113, 89,175,215, 20, 85, 77,140,162, 95,144,118,193, 75,167, 9,104, 13, 42, 41,218,205, 90, 40,173, 82,184,125, 17,
-117, 90, 20, 80, 21,162, 23,136, 49, 1,226, 32,208, 90, 3, 92,157, 37, 62, 69,217,154,199, 33, 32, 2, 49, 70,208,130, 66, 22,
-165, 20,227,128,133, 76, 74,162,130, 2,146, 80,149,229,164, 64,107,233,115,136,120,156,219,224, 6,199,102,181,193,140,103, 87,
- 85, 85,212,211, 41, 89, 46, 67,100, 61,155,202, 55, 16,229,239, 19, 59,173,199,181, 34,118,118,110,160,237,156,100, 51, 52, 43,
- 22,103, 47, 25,178,156, 87, 63,254, 14,214,215,184, 33,151,225,109, 88,210,175,142,240,253, 2,215,158,227,251, 83,146,235, 24,
-124,131,107, 79, 88,191,252,156,229,197, 3,150,203,111, 88,156,127,197,226,232, 62, 15,126,254, 25, 71,247,127,202,225,241, 3,
-142,142, 29,103,207, 79, 56, 57,124,192,106,243, 5,171,167, 95,209, 13,158,229,233, 49,214, 90,114,221,179, 59, 77, 76,102,150,
-127,252,233, 79,248,187,127,252,130,118,253,140, 44, 11, 20, 5,156,173,207, 73, 41,177,108, 29, 67,215,240,254,187,239,242,227,
- 79,190,203,187,223,121,143,106, 94,243,218,107,175,115,238, 20,201, 64, 8,142,105,157, 51, 52, 27,142, 78, 47, 88, 13,142,175,
-158,188,164, 42, 75, 46,214, 23,124,253,248,148,243,166,147,178,166,190,229,124,181, 96,208,134,182,107,209, 58,178,220, 56,190,
-124,244, 45, 55,111, 94,227,245,123,247,248,201,103, 95,210,180,107,114,165, 36,225, 79,195,100, 20,152,230, 85,205,166,151,110,
- 10, 23, 52, 63,254,209,247,184,125,123,143,124, 59, 35,155,150, 40,229,241,125,160,200, 75, 62,252,240, 67,102, 55,238, 16,140,
-225,225,195, 47, 57,126,242,148, 45, 91,242,198,193, 1, 55,119,118,184,243,218, 29, 66, 12,152,237,186,252,116, 72,138, 70,231,
-228,243,237,241,161,146, 9,204, 13, 61, 26,225,185, 38,101,197,116, 54,189,186,236, 51, 43,222, 88,128, 55,118,115,246,166, 37,
-223,156,117,120,239,201,108,134, 25,197, 34,235,102,131, 27,188,240,143,110,192,249, 56,114,215, 18,149, 90, 86, 37,121, 89, 81,
-148, 21, 85, 85,142,117,172,163, 98,214,136, 32, 35,203, 11,218,182, 69,105,197,116, 62, 39, 33,147,164,205, 45,202, 24,140,214,
-220,221,214, 60,190,232,217,171, 44, 47,151,142, 44, 23,111,187,119, 3, 55,103, 57, 7, 83,195, 44,215, 28,174, 3, 41,129, 74,
- 81, 56,180, 20, 69,100, 52, 66,144,214, 10,140,135, 86, 76, 39, 83, 57, 44,189, 40, 62,141, 82,228, 54, 71,107,177, 74,109, 54,
- 98,183, 83, 74,145,198,131, 66,193,213,159, 83,150,178,213, 8,247, 53,218,208,162,194, 69,143, 27, 91,193,172, 21, 11, 88,150,
- 73, 41, 66, 61,169, 80, 72, 87,183,181, 86,196, 69, 93,199,186,217,208,117,189, 88,119, 82, 18, 63,113,219,142,176, 47,104, 99,
-199,207, 88,138,101, 68, 52, 40,151,176, 86, 8,140,167,197,238,227,156,132,140,244, 93, 7, 74,141,150, 52, 69,215,180,116,189,
-112,240, 9, 25, 6,242, 66,210,184,186,182,197, 71,129,209, 67, 8,114, 48, 7,143, 11,151,169,120, 99,142,188, 23,113,148, 12,
- 50, 98, 33,234,189, 92,144,198,138,239, 57,203, 50,162,151, 45, 83,107,233, 33,183,214,160,188,156,128,110, 60,216,251,190,103,
- 62,159, 11,151, 59,136,136,145, 56,122,204,211, 8, 93,134, 40,135, 94, 16,197,250,249,249, 57, 77,215,140,188,116,162,174, 74,
- 38,147, 41,193, 59,234,233, 4,165,197,245,224,198,207, 73,134, 25, 35,130,174, 74,160, 92,197,200,103,142, 63,251, 77, 35,142,
-141,204,102,244,163,216,237, 82,216, 85, 85,149, 8,245,162,216,156, 36,235, 94,218,214, 46,121,253,211,147, 19,234,201,132,186,
-158,144,153,140,122, 50,197, 26, 81,202,163,100,200,236, 7,225,248,220, 32,195,226,246,246, 14, 2,217,119,104, 3,206,123, 66,
-144,109,238,114, 88,184,220, 44,253, 88,215,139,146,159, 77, 63,170,248,203,170,194,245,142,178, 44, 68,151, 98, 68, 39, 97,148,
- 18,206,186, 44, 89,175, 86,196,148, 40,108, 38,124,176, 19,221, 64,219,182,227,123, 40, 86, 82, 99, 47,155, 12, 37, 48, 39, 9,
- 4, 70, 28,228,115, 28,186,238, 10, 46, 7, 69, 85, 85,244,189, 32, 54, 33,120, 36,174,183,160, 40,114,114,155,131, 6, 31, 61,
- 34, 26, 23,154,163, 24,173,170, 32,234,241,245,122, 3, 73, 93,137, 53,157, 11, 72,216,147, 29,105, 42,205,116, 50,165,115, 18,
- 50,149, 82,186, 18,144, 38, 4, 62,175,234, 74,168, 5,107,175, 6,218,245,122,131,181,150,201,100, 66,210,224,125, 32, 18, 5,
- 61, 24,164,219,160,200,165,104,102,185, 92,208, 15,221,213,115,223,117,173, 32, 0, 94,222,129,174,151,129,188,200, 11,170,162,
- 66, 42,125, 97, 50,157, 18,122, 17, 19,183,109,135, 31,251, 47,148, 82, 99,178,166, 22,100, 38, 1,200,242,112, 25, 8, 36,122,
- 3, 5, 73,134, 38,173, 68,119,226,157, 12,230,222,137,138,221,141,200, 74,223, 13,212,147,114, 68,222, 34, 89, 46,194,224,132,
-162, 40, 75,202,233,156,188,154, 48, 56,169,238,156, 76,107,194,144,104, 90, 71, 59, 56,178,220,144,229,134,227,211, 35,150, 23,
- 11,250,166, 33, 6, 79, 34, 18, 83,162,107, 27,138,170,162,168,106,202,170,134, 20,228,204, 24, 6,202,178, 34, 5, 73, 48,204,
-171,154, 20,122,124, 57,225,245, 79,254, 9,167, 47,133,158, 67, 25, 84, 44,209,182, 66,233, 9, 74, 89,108, 62, 71,155,154,232,
- 26, 98,127, 74, 24, 78,105, 23, 47,104, 86, 79,233, 87,143, 89,159,127, 77,191,121, 78, 63,156,226,134, 51, 46, 78, 30,115,126,
-252,128,110,253, 53,205,243,111,104, 86, 47,152,221,124,133,183,223,184,203,235,175,188,206, 55, 79, 30,145,134,129, 44,182,124,
-243,248, 2,149, 20,165, 6,133,104,124, 46,150, 27,126,244,227, 15,120,235,141, 59,252,240,135, 31, 17,124,199, 55, 95,127,205,
-166, 93,177,190, 88, 51,184,142, 15,223,123, 19,232,168,115,139, 49, 3,131,111, 24, 66,226, 95,254,213, 63,229,199, 63,248, 46,
-206,123,142,206, 78,169,202, 1,149, 2,147, 89,198,201,249, 5,154,128, 15, 61,231,103, 13,250, 15, 97,249, 0, 0, 32, 0, 73,
- 68, 65, 84, 47,207,215,188, 60, 89,179,127,109,151,135,143,158,243,236,217, 17,239,189,243, 22, 77,219,243,205,225, 25, 88, 88,
- 54,107,130, 78,216,124, 74, 86,149, 88,147,179,110, 68,103,180,217,120,118,111,221,166,206,119,248,240,189, 15,216,217,223,227,
-147, 31,126,204,179,163, 23,228,117, 65, 49,153,242,198, 91,247,120,253,131,119,104, 76,201,195,167, 47, 56, 94, 92,240,203,127,
-252, 57,143,159, 30,210, 15,107, 76,190,189,243,105,175, 44,245, 84, 46,203,228, 37,204,226,114,155,213, 74,201,100, 49,173,201,
-108,142, 81,146,106,214, 53,173,216, 72,146,120,244, 94,217,202,249,226, 68, 30,182,182,235, 25,134,158,161, 27,164, 96, 37, 38,
- 62,190, 51,227,187, 7, 37, 15,207,199,188,239, 32, 66,184, 97, 16,161, 91,158,139,122, 84, 82,218, 2, 54,203, 88,175,214, 24,
- 35, 30,202, 75,207,106, 89, 20,226, 13, 29,183, 88,165, 52,235,245,154,119,111, 84, 60, 58,115,220,219,207,121,218,104,180,178,
- 35, 68,174, 56,152, 89, 66, 74, 28,204, 44, 15, 79,122, 98, 10,151,232,158, 64,147, 70, 9,111,154,229, 84, 69,197, 48, 10,162,
- 82, 16,145, 86,158,101, 36, 47,219,182,181,162,162,191, 12,112, 9, 41,146,103, 5, 69, 89,225, 6,129,117,251, 65, 20,191, 33,
- 74,177,201,149,199, 86, 41, 80,137,161,151, 80, 21,171, 37,197,233,242, 98, 17,244,161, 32,141,137,119,206,245,244,189, 4,129,
-144, 18,198,104,138,162, 28,127, 62, 70, 44, 95, 65,210,172, 98, 8, 76,103,179, 81,148,150,174, 46, 85,107, 44,117, 93, 50,157,
-206,200,172,101, 54,159, 81, 22,165, 92,188,200,102,123, 57,148,160, 69, 39, 17,162,240,253,193, 75, 39,183,181, 57, 26, 37,212,
- 65,150,139, 29, 45,151, 18,148,232,228,114, 54,214,162,116, 68,172, 84, 25, 62, 38,121,177,234,138,170, 44,201,243, 82,134,138,
- 40, 25,236,221,120,249,217,113,243,204,108,198,102, 20, 94,213, 85, 41, 94,117, 31, 40,138, 12,141,192,237, 90, 11,239,152,146,
- 8, 19, 67,240,144,210,232,129,143, 44, 22, 11, 46,109,126,101, 85, 9,212, 92,148, 12,126,192, 90,121,126, 4, 14,214, 76,166,
- 83,170,170,162,105, 91,250,190, 99, 54,159,209,180, 45,243, 75,116, 41, 4, 66,252,255,153,122,147, 47,203,211, 51,191,235,243,
- 78,191,233, 14, 17,145,115, 86,102, 85, 86,214, 32,169, 84, 85,146, 90,234,150,186,101, 9, 75,234,182,218,134, 67, 27, 48,108,
- 76,115, 0,195, 18,150, 44,216,233, 15, 96, 3,102, 9,135,195, 57,172,188,198,112,236,182,161, 77,183,187,229,110, 13,141,164,
- 82,205, 83,206, 25,115,220,225, 55,189, 19,139,231,119, 67,228,162, 42,171,114,136, 27,119,120,223,231,249,142, 66, 89, 88,251,
-155,120, 94, 99,140,212,211, 22,142,232, 69,220,231,163,188,239,199, 52,146, 67, 18,177, 88,223, 75,125,100, 85,211, 15, 3,214,
-104,138,186,196, 88, 39, 98,205,224,167,146, 22, 71,240,145,170,169,105, 55, 27, 82, 78, 92,187,126, 29,163, 53,199,199,199, 24,
-167, 56,216, 59,160,174, 11,209,163,228,137,255, 15, 82,209, 89, 56, 81, 60, 27, 35, 65, 58,187,203, 94, 91, 35,138,255, 9,177,
- 49, 90,220, 15, 67,223,147,114,166,174, 43,129,248,145, 1,217, 21, 22,239, 5, 9, 89,111, 54,148,117,197, 24, 3, 70,107, 86,
-155, 13,151,229, 45,133,168,246, 69, 73,157,241,253,120,105,113, 26,187, 22, 59,189, 78,198, 24,241,192,183, 45,166, 42,104, 42,
-121,204,130,114,140, 52,181,216,229,114,206,248,224, 81, 90, 84,231, 93, 39,186,131, 93,134, 4, 64,206,138,217,108, 62, 13, 39,
-134,237,182, 99,177,152, 81,150,165,160, 10, 77, 51,241,247, 21, 41, 38,138,157,184,203,137, 72,112, 12, 35,214, 56,252, 56,200,
-115, 48,209, 59,214, 57,156,117,147,213,174, 96,232, 59,180, 49, 68, 47,139,199,142, 86, 32,103,150,203, 57, 85, 89,162,140, 38,
-250,223, 56, 2, 64, 1,210, 5,127,113,126, 78, 76,153,210, 22,211,112, 33,150,187, 97, 24, 24, 7, 79,202,145,249,108,142,177,
-134, 97,144, 75, 92, 41,225,215,181,209,228, 44,255, 13,210,139, 17,147,184,126,148,145,231, 65, 32,125,233, 4, 87,104, 66, 24,
- 40, 75,209, 93,140,163,167, 46, 36, 20, 74, 27,195,249,249, 25,237,102,203,234, 98, 69,225,236,165,189,206, 22, 82, 89,237,170,
- 6, 87,213,100, 52,109, 43, 5, 78,203,189, 37,139,229,146,162,174,200, 19, 98, 55,244, 29,153, 64,142,129, 24, 6,198,126, 64,
- 25, 69,221,204,177,165,156, 91, 85, 81, 11, 98, 18, 35,179,249,146,230,202, 77,238,188,241, 21, 46,158, 72, 80, 86,138,153,170,
-185, 65,181,124,145,122,113,139,170,190,138, 45,231, 24, 91, 18,195, 5,219,195, 95,146,218,199,228, 52,160,140, 67,153, 5,205,
-222,109, 80, 21, 67,247,156,216,157, 49,116,207, 25,183, 79,232,207, 63,103,230, 6, 54,221, 22,101, 28,143, 63,249,144,119,127,
-241, 99,142,143,123,134,216,113,124,177, 5, 35,108,207, 38, 40,182,190,164, 50,150, 20, 71,158, 63,124,194,231, 15, 30,240,240,
-253, 95,242,211,159,252, 53, 15, 30, 63,230,221, 95,255,138,118,123,198,222,158,102,244, 91, 54,235, 22, 83, 70,234,166,225,245,
- 47,188,130,182,142,177,111,249,197, 47,222,225,209,103,143,168, 10,203,172,170, 89,204, 75, 74,101, 24,186,145, 89, 83,225,131,
- 33, 89, 75, 23, 34, 62, 68,158, 60, 59,103,181,238,120,126,116,198,195,199, 79,217, 14,158,213,197, 72, 85, 55,156, 94,116,156,
-174,214, 28,159,173,121,240,248, 17,206, 64, 72,153,235,183,175,147,147,167,182, 21,245,188, 70,149, 53,232,134, 43,183,239,240,
-226,189, 87,120,253,139,175,177,191,156,241,249,251, 31,176, 93,121,190,253,237,239,242,119,254,238, 15,185,113,251, 6,255,251,
-159,252, 9,223,253,230, 91,220,126,225, 69, 76,115,229,234,143,114, 18,101,108,219,118, 19,103, 56,229,250, 42,129,198,227,196,
-237,236, 84,214,187,122,206,237,102, 75, 89,149, 92,157, 57,246, 43,205, 69,180,156,111, 37,102,178,168,138, 75, 81, 80,217, 52,
- 92,173, 50,179, 66,243,229,235, 5,159, 95, 0, 89,147,141, 2,196,106,178,109,123, 82,218,121, 54,101, 51, 49, 70, 18,219,138,
-162,160, 27, 58,170,170, 98, 24,123,129,225, 10, 57,176, 66, 16, 1,212,239,220,157,241,231, 15, 91, 94,191,226, 56, 92,143,108,
- 70, 79, 24,197,214,245,245, 23, 42,254,230, 73,199,139,251, 5, 39,219, 64,151, 20, 36, 41,165,103,130,178,131, 23, 88,204,236,
-132, 89,218, 48,244, 82, 93,233,156,155,196, 99,194,153, 95,172, 87,128, 64, 95,214,152, 73, 71, 32,200,198,206, 71,237, 7,201,
- 28, 87, 90,242,204,189,247,212,213,196, 11, 35, 23, 37,198, 16,115,152,182,127, 51, 77,254, 35, 69, 89, 96,148, 52,194,105, 35,
-116,134,202,146,112,229, 10, 43, 16,115,240,212, 85, 35,201, 86,133,120,146,187, 78,158, 35,107, 12,179,249,156, 89,211,136,232,
-170,174, 25,199,145,102, 54, 19,184, 79,239,188,218, 5, 85, 41, 9, 97,245,164, 96,175,170,138,170,148,173,187,106, 26, 42, 87,
-210, 79,219,233, 56,117,210, 91, 43,240, 55,106, 87, 53, 11, 99,144,246,175,174, 27, 32, 79,220,103, 18, 15,120, 89, 78,106,239,
- 32,232, 72, 63, 12,194,117, 26,205, 46,222,117,167, 57,216,109,117, 42,107, 22,139, 25,125, 63, 18,189,167,237,122,217, 14,124,
- 64,130,116,162,108, 7, 69, 33, 42,246,174, 99, 24, 7,102, 77, 77, 51, 5,170,104,165, 47, 57,246,157,104,201, 90,249,158,141,
-145, 3,180,112,238,146, 91, 94, 46,151,116, 93,135, 31,197,241, 48, 14, 3,214, 20, 66,231,100,197,124, 62,199,149, 82,104, 49,
-180, 29, 69, 93, 92, 34, 45, 41, 41,198,126, 82,149,107,141,239,123,202,178,100,181,186,144,173, 54, 11, 45,208,247, 3, 17,113,
- 28, 8,156, 26, 65,139,189, 74, 59,195,208, 15,108,183, 91,214,171, 11,250, 97,100,209, 52,104, 35,225, 36, 77, 85, 79,149,181,
-162, 98,239, 71,249, 26,128,112,219,157,104, 50,196,250, 39,126,246,186,174, 47,109,161, 18,224,227,113, 86, 90,228, 70,239,113,
- 70,180, 44,198, 90,176, 82, 80,130, 2,165, 96, 28, 70, 82,140,236,236,144,214, 73,117,110, 12,129,161,147,193, 61,101,177,175,
- 53, 77, 69,202,106,178, 54, 74,178, 97,223,203, 5, 93,186,130, 24, 51,227, 56, 80, 58,121,175,182,219, 45,195, 40,129, 47,187,
- 72, 98,107,228,178,115, 78,130,159,234, 90,162,160,209,147, 70, 65,107,134, 97,188, 20,220,118,125,143,181, 34, 16, 21,203,157,
-208, 17,227,232,233,187, 78,168,190,233,179,212,141, 3,227, 32,138,252,170, 18,202,165, 40, 74,186,201, 51,174,148,193,149,210,
-222,104,157,136, 41,157,115,184, 66,232,129,157,115,165,172,106,170,178,164, 40,172,112,249,133,155,180, 45,146, 43,224,123, 17,
-245,206,102, 51,134,126, 96,177, 88,194, 52,228, 72, 63,193,120,169, 25,137, 49,226,156,168,225, 99,146, 97, 52,199, 73, 67,148,
- 68, 7,164,146,104, 17,124,136,204,102, 13, 10,177, 55,218, 73,166,224,189, 8,133,197,134, 87, 78,200,129,100, 97,140,126, 36,
-199,132, 15, 65,202, 97, 6,201,237,239,251,145,110, 28,197,153,227, 44,205,254, 18,237,170,203,207, 37, 81,206,247,178,170,192,
-104, 10, 55,147, 90,223,126,152, 28, 31, 45,125,187,189,116,102,164, 36,195, 74,123,177,102,240, 35,111,127,249, 27, 84, 87,246,
- 57,121,184, 38,196,136, 85, 73, 94,199,228, 32, 5,198,216, 17,134, 53, 67,119, 74, 12, 27, 72, 26,138, 5,245,254,171, 92,189,
-243, 29, 94,122,229,239,241,202,151,255, 1,117,115,147,144,161,219, 60,195,164, 11,218,139,167,108, 79, 62, 99, 28, 70,110,124,
-237,235,228,113,205,102,181,165, 93,173,121,249,245, 43, 92,172, 70, 78, 87,153, 46, 42,124,208, 36, 13, 33, 71,214,109,226,162,
-207,156,117,176,245,240,224,120,228,116,171,216,250, 68, 59, 42, 58,159,121,252,228,132,143, 62,122, 68, 83, 55,188,255,254,115,
- 2, 22,180,230, 75, 95,249, 50,127,250,167, 63,103,190, 92,224,170,125,238,220,189,197,124,111,206,242,234, 77,138,170,226,238,
-203,247, 88,117,145,251,175,188,204,205, 91,119, 25,199,129, 87,239,223,101,189,217,146, 82, 96, 54,155, 17, 99, 98,185, 60, 96,
-140,129,231,103, 27,110,220,184,193,241,201,154,151,238,223,231,183,191,246, 13,206, 47,206,248, 95,255,201, 63,229,201,251,239,
- 51,142, 3,215,246,231, 28, 63,249,156,207,127,249, 14,207, 62,251,132, 7,159, 61,226,222,107, 95,228,244, 98,195,155,111,189,
-193,227, 39, 15, 72,221,134,127,252,223,253,143,124,252,225, 51,254,254,223,255, 35,138,162,224,179,135,159, 50, 47, 13,234,250,
- 75,247,178, 34, 83, 86,213, 37, 44,165,148,216,109, 84, 76,232, 66,161, 18, 20,187, 45,175,174, 9,126, 36,103,197,102,179, 34,
- 38,120,235, 70,193,141, 69,193, 81,155,248,203, 79,206,168,103, 53,219,141,132,210, 44,151,123,146,242, 99, 51,223,186,227,120,
-231,249,200, 91, 55, 75,254,207,143, 59,140, 21,238, 58,229,192,183, 94, 90,242,171,195, 72,187,105,169,103, 53,171,213, 10,241,
-134, 10, 12,106,157,197, 15, 35,237,208, 81, 87,229, 37,180, 61,246, 61,111,220,154, 1,240,241,105,228,213,101, 32,167,204,223,
- 60,235, 41,141, 84, 8,138, 5, 75,243,149, 91, 37, 40,197, 47,159, 11, 58,208,249, 1,171, 13, 49,201,101,178,183, 92,226,156,
-180, 80,117,253, 64, 78,129,197,108, 78,142,137,243,139,115, 82, 18,184,180,105, 36,225, 12, 32, 43, 81,197,174,214, 91, 10, 43,
-150,185,161, 31,176, 86, 83,213, 51,174, 28,236,163,148,226, 98,181,154,182, 77,177,221,244,131,240,166,198,149, 40, 96, 28, 35,
- 33, 73,247,111, 89,150,204, 38,117,110,206,144,153,196, 51,211,143,221,229, 57,159, 55, 19, 82,177,198, 56,199,102,181,161,105,
- 26,250,190, 99, 54,155, 49,250,113,242,176, 86, 8, 47,216,209,212, 13,253,216, 17,130,208, 44, 9, 41, 91,137, 41,226, 72,114,
-225,100, 13, 58, 19,163, 88, 1, 67, 16, 36, 69, 41,195,122,179,130,233,177, 40,165,152,207, 23, 24, 45,145,186, 6, 5, 70, 46,
- 0, 16, 30, 59,107, 48, 88,129,250, 13,164,144, 39,216, 95, 68,140, 49, 10,183,105, 11, 71,233,164,171,217, 40, 67, 66, 82,195,
-130,151,109,209,143, 82,193,169,149,216,127,132,167,150,193, 42,120,207,249,197, 5, 89,193,222,222, 2, 87,200, 65,185,221,180,
-236,237, 45, 80, 74, 98, 93,199,113, 68,116, 8,242,248,139,233,178,219,229,185,111, 59, 25,106,135,190,167,170,107,156,147, 76,
-240,157,248, 44,132,128,210,134, 28, 3,100,168,170, 57, 99,144, 50,150,172,196,166,233, 10, 77, 24,188,240,226, 57, 96, 50, 84,
-179, 26,109,133,115,179,197,196,165,186, 2, 83, 8,242,181,221,110, 49,166,160, 52,153,139,149,160, 13, 70,105,102,243,138,190,
-235,137,209, 83, 22, 37, 87,246, 15, 88,173,215,244, 99,207,124,177, 71, 78,153, 16,164, 43,186,221,182,216,202,137,231,222, 22,
-178,193,247,242,216, 65,248,232, 20,228,179,225,131, 64,232, 85, 49, 13,157,219, 45,133,115,184,170, 34,132, 68,214, 83,187,161,
- 45,104, 91,225,139,199, 78, 82, 3,115, 18, 77,133,181, 86,222, 7, 49, 81, 55,205, 37, 10,149,115,158, 6,143, 10, 41,117,170,
-104, 39,139,230, 14,173, 82, 74,178,229,179, 18,209,162,124, 15, 37,202,100,186,173,100, 51, 56, 39, 46,151,178,172,232,123,225,
-168,173,117,140,227, 4,119,215, 21, 86, 89, 66,142, 88, 45, 90,152, 97, 24,105,154,138,126,232, 37, 92,202, 58,202,194,136,128,
-214,201,166, 30,114, 34,140, 34,226,157, 47,247,176, 90, 51,134,192,208,119,192,228,151,143,226, 12, 9, 33, 48,155,149, 82, 87,
-140,156,129,123, 7,251,248, 81,154, 10,197, 75, 47, 20,222,172,153,113,113,126, 78, 85,200, 16,188,191,183, 79,140,158, 49, 68,
- 17, 7, 42,197,197,197, 5, 57, 38,234,249,156,178,170, 80, 70, 51,142,114,137, 43,160,112, 53, 41, 11,164,110,140, 97,103,177,
-203, 57, 79, 2,216,192,114,185,148,133, 43, 75,112,142, 45, 44, 90,137,152, 14, 50,125,215, 51,140, 3,209,123,161,148,172,187,
- 28,170,119,155,254,224, 7, 64, 83,215, 37,219,173,136,247,180, 82, 44, 22,191,233, 83,184, 12,155,233,123,140, 86, 20, 90,145,
-141,161, 44,157,136, 8, 55, 61, 33, 73, 74, 95,244, 98,111, 43, 92, 65, 81, 21,220,126,245, 13, 94,127,235,251, 60,121,222,178,
-218, 4,180, 10, 24, 91,146,213,140,224, 19, 33,180,228,176, 37, 14, 39,168,188, 38,169,125,246,110,188, 65,213,220, 96,255,218,
-151,184,118,235,235,188,122,239,128, 39,143,122, 30, 62,250, 51,158,124,246, 23,108, 46, 62,162, 59,127,140, 41, 15,184,251,165,
- 63, 98,239,106,201,233,234,159,242,249, 95,255, 27,210,122,133, 9,158,166, 42,120,118,114,134, 66,196,179, 69, 93, 17,195,200,
- 11,183,247, 24,123, 79, 84,226,134,113, 70,241,210, 75,119,184,117,251, 22,203,189,134,247,223,251,152,235,183,246,113,166, 98,
-181,218, 48,116, 3,139,253, 5,255,207,159,254, 37,215,111, 93,103, 62,111,208,185,228,206,157,155, 20, 69,197,193,193, 1,159,
-124,242, 1,175,190,126,159,232, 21, 62,122, 62,250,224, 19,202,178,102, 28, 70,180, 65,180, 34, 81,241,254,251,239,227,189,232,
-136,106,231,104,187, 13, 89, 23,168,152, 8, 97,164, 94,204,100,121, 29, 6,230,179,130, 47,188,124,151, 7,159, 61,161, 91, 95,
-240, 15,254,232, 15,201,195,150,255,231, 79,254, 37, 31, 61,217,162, 42, 40,234, 37,215,175, 93,197,135,129,190, 61,166,174,102,
-236,205,175,210,204,175,243,197, 55,191,136,239,206, 48,251,215,174,253,168, 44, 43,198,177, 39,103,241,230,186,162,148,169, 49,
- 71, 22,243, 5,245,172,145, 11, 22, 16, 47,171, 21, 59,198,212, 1,124,109,102,216,250,204, 27, 87, 13, 63,123, 44, 10, 80,180,
-194, 24, 75, 74,138, 24, 2,165, 73,188,180,231,248,249, 81,228,229, 61,195, 43, 7,150,207, 46, 36,206, 81,101,205,219, 55, 45,
-247,247, 12,159,156,202,166, 38, 16,179, 69,107,203, 27,215, 13,223,184,237,248,213,225,150,210, 85,148,101, 33,126,213,193, 83,
- 54, 13, 43, 15,199,157, 28, 24, 95,185, 81,176, 40, 13, 31, 60,219, 74,145,139, 54,242,120, 20,220, 90,136,178,246,241,121, 63,
- 93,150, 76, 47,124, 36,133, 9,218, 66, 16, 9,157, 69,137, 92, 56,199,118,179,154, 46, 34,205,114, 57, 93, 18,131, 88,239,154,
-186, 33, 39, 48,182, 32,134, 65, 60,242, 81, 42, 46,151, 51, 81, 52,251, 32,252,102,202, 98, 99,114,147,221,199, 89,233, 57,247,
- 99, 32, 43, 17,217,148,101,193,206, 43, 60, 78, 27,227,118,179,101, 28,195,165, 8, 41,198,192, 98, 49, 39,197, 41,121, 46, 75,
- 27,153,168,135,229, 57, 43, 11,135, 38, 99,157,136,138,194, 36,174, 42, 11, 75, 81,214, 20,149,244,135, 91, 35,135, 66, 89,137,
-255,222,149, 5,182,168,177,133,195, 21, 53,133, 43, 80,100, 52,194,109, 86,117,125,105,133, 26,135,129,113,138,118, 45, 38,122,
- 36,250, 64,221, 52,196,148,233,123,129, 24,141,145, 0, 28,109, 52,209, 39,124,140,104, 35,156, 98, 81,148, 84,149,132,139,164,
- 44,251,186, 66, 54,197,148, 68, 1, 44, 33, 53, 98,203, 75, 81,120,201,148,224,252,252,140,205, 70,148,255, 41, 75, 98, 93,138,
-153,166,169,105,219,158,253,253,125,134,113, 64,101,129, 55,155,186,153,160, 78,105, 8,147, 60, 0,169, 30, 29,134,158,186,174,
-241,222, 83, 24, 51, 13, 59, 82, 32, 52,140, 3,206, 58,244,116,128,213,179, 25, 70,203, 38, 26,131,167,172, 26,170,194, 49, 12,
-157, 12, 33, 19,164,186, 88,204,169,234, 90,178, 2,170,154,126, 12, 56,103,112, 85, 73, 82, 10,223, 13,248, 44,130,168,156, 35,
-121,106,180,171,202,234, 18, 13,155,213, 53,117, 51, 67, 41, 68, 8,214,118,210, 17,144, 36,164,199, 88,195,102,187,161,174,100,
-152,155, 55, 11,162,151, 45, 86,172,118, 29, 41, 37,178, 23, 71,135,117,210,146,166, 51,210,109,144, 4,137,179,214, 50,132,128,
-115,130,194, 56,187,131,198, 37, 79,127, 71,155,164, 44,194, 73, 91, 20, 2,245,106, 61,217, 30,101, 72,149, 54,185,124,169,100,
- 95,111,183,236,226,105,235,178,198, 88,217,108, 71, 63,149, 11,105, 75, 66,184,252,114,178,149,237,244, 36, 33, 68,188, 31,104,
-102,179, 75,241,156,181,154,170,106,228,245,214, 74,138, 75,172,136, 1, 85,150,196,194, 28, 68,212,103,173,224,176,187,139, 43,
-129, 8,223,140, 22, 13,202,208, 49, 14,162,238, 47,156,116, 38, 84,149, 8, 93,229,146, 23,241,105, 8, 98,205,173, 39,164,107,
- 71,131,149, 69, 73, 74,114,110,180,219,158, 93, 28,179,208, 90, 17, 63, 4,202,194,224, 71, 79, 81,216, 75,104,124, 54,111,216,
-182,178,209,199, 32,150,196,170,172,132,110,200,138,132,198, 26, 13, 25, 81,184,231,140, 41,166,104,236,182,165,174,100, 57, 49,
-218,112,122,118, 74, 57,169,230, 79,143,142, 88,236, 45, 49,147,211,162,170,165,115, 98,179,217,226,202,130,174,239,217, 53,243,
-213,147,197, 79, 91,177,212, 90,107,165, 61,179,151, 76,133,162,172, 48,198,137,166,194, 57, 58,159,240,227, 40, 77,134,179, 18,
-180,194,217, 82, 6,115,160,110, 42, 73,166,235, 7,186,205,134,123, 47,190,202,232,123,186,110,139, 51,137, 66, 39,186,213,115,
-252,112, 74,242,103,248,205,115,198,237, 17,177,223,160,220, 82,158,247,217, 28,239,230,116, 87,231, 28, 29,157,113,254,228, 29,
-206, 87,159,224,187, 51,108,117,133,235,119,255, 22, 95,251,254,127,203,119,254,155,223,195,110,222,100, 44, 31,177,126,250, 41,
-198, 56,240, 61,103,103, 91,118,169,133, 59,237,136, 82,134,118,235,105,251,132,206, 80,106, 67, 10,153,245,166,231,244,108,197,
-227, 79,159, 83, 87, 13,167, 71, 27,222,251,245,103,212,245,146, 91, 55,239,160, 44,188,246,218, 43,236,237,239,241,187,191,247,
- 59,188,116,247, 5, 30, 60,122,194, 95,253,245,207,208,174, 96, 24, 51, 15, 30, 62, 69, 27,105,178,236,134,142,253,131, 37,111,
-191,249, 54, 31,124,252, 9,219,182,163,105,106,110,223,190,197,213, 43, 87,217,108, 86, 92,108, 90, 73,130,140, 61, 33,120,124,
- 12,244,221,150,161,237,184,123,251, 58,101,105,105,187,142,122, 94,211, 69,205,225,233, 5, 79,142,207, 80,203, 25, 47,223, 59,
-224,133,125,199, 11,183, 28,113,220, 98,178, 34,118, 45,243,198,145, 83, 71,191, 57,225,189,247,126,141,198, 98,234,229,254,143,
-140,150,124, 95, 91, 56,118, 29,216, 51,151,248,221,251, 87, 56, 30,144, 3,198, 57,186,209,139,186, 58, 4, 54,171, 53,221, 40,
- 30,210,171,181,136, 77,158,174, 60,119, 14, 42, 78, 59,133,182, 5, 95,185,225,184, 53, 83, 28,118,138,118, 76,124,251,165,138,
-159, 62, 30,248,248, 44,240,157,151, 42,126,121, 20,209, 24, 20,154,153, 83, 52, 5,188,122,189, 96,229, 21,117,161,249,226,245,
-146,175,191, 80,112,209, 71,254,245,231, 50,161,123, 63,162,140,226, 63,253,218, 1, 63,125,180, 1,196,234,210,110,183,244,221,
-192,188,176,244, 73,113,216,203, 99, 2, 72, 74, 46,139, 27,115, 81,224, 63, 91,121,148, 2,166,233,210,247,129, 16, 61, 32,188,
-181,252, 28,102, 77, 35, 86,179, 81, 56,191,229, 98,201,224, 61, 89,105,148, 21, 79,191, 79,114, 65,161, 32, 68,143,117,150,186,
-172, 48, 19, 36,174,180, 40, 90,131, 15, 56, 99, 25, 71,233,146,182,211,225, 25, 83, 36,166, 81, 26,157,198,145,190,147,116,177,
-140, 92,246,222, 7, 36,119, 89, 19,130,120,139,179,146,148,181,162,112, 19,100, 46,170,215,194,136, 90, 89,148,207,153,193,123,
- 98, 86,212,181, 36,239, 41, 99, 25, 67,194,143,129,152, 64, 59, 71, 72, 96, 10, 17,136, 37, 85,209,183,129,152, 21, 33,128,118,
- 98, 1,236,167,239, 57,230, 68, 14, 2,165,165, 20,169,202, 18, 66,160,237, 58, 20, 2,125, 22, 69, 65,219, 9, 92,109,140, 66,
-105, 69,204, 65,222,248,109,135,202, 17, 84, 34,142, 35, 41, 73,187, 95,215,182,116, 93, 71,183, 90,211,247, 98, 33, 82, 40, 46,
-206,165, 12,200,123,143, 86,162,244, 23,190, 49,211,247,157, 8, 7,131, 8, 31,181,214, 44,150, 11,102,179, 25,219,109,203,222,
-222,146,148, 68, 48,232, 10, 9,209,104,135,128,210, 14, 61, 89, 23, 71, 47,133, 20,126,244,100,165, 36,230,117, 24, 8, 81, 10,
-125, 68,141, 44,131,133, 12, 28,121,218,138, 20,209, 15, 24,131, 8,187,178, 12, 96,198, 26,202,186, 36, 41, 67, 51,111, 72,214,
- 16,201, 20,117, 61, 53, 3,106,140,113,211, 97, 95, 98,181,161,180,150,186,116, 88, 45, 62,230, 52,245, 3, 84,149,164,190, 41,
- 45, 67,116, 89, 85, 92,185,122,141,144, 19,219,190,167,174,231, 19, 66, 99,176,214, 16,145,172,118,163, 21,189, 31,201, 41,203,
-175, 25,161, 7,140, 19, 28, 38, 69, 41, 3, 26,130,212,212, 38,101,201, 74, 17, 19,164, 9,182, 29,250, 30, 17,133,137,202, 95,
-231, 76,240, 35,133,150, 98, 25,103, 45, 69,225,168,172, 8, 74,201, 19, 36, 63,109,176, 33, 68, 70, 47,240,110,206,137,156, 60,
-243,249, 12, 99,165, 56,104,244,253, 52,236,105,209,183, 36, 73, 89, 83,218,138,166,102, 28, 9, 73,202, 69,180, 50,216, 41, 39,
- 34, 6,121,253,171,105, 3,115, 74,144, 60,163, 52, 57,102,210,216, 17,163,103,185,156,161,115, 4,210,228,128, 72,151, 72,139,
-208,117,153, 89, 45,180, 85, 12,158, 24,196, 38, 42, 27,122,186,252, 92,141,227,128,115,150,186,150,140, 13, 99, 52, 93, 55,200,
-144, 86,214, 12, 99,192,216, 2,165, 11, 81,216, 27,135,247, 18, 93,156, 51,140, 62, 80, 55, 51, 82, 14, 98, 25, 43,203, 75, 23,
- 64, 97, 45, 82,188, 83, 51,159,205,233,250,142, 56, 10, 69, 23,252,200, 48, 74, 52,242,172,150,130,153,110,221, 34,206, 25, 9,
-136, 74, 25,180, 83,196,152,196,158, 55,244,236, 95, 57,152,178, 35, 2,155,205,150,126,179, 17,145,170,214,140,163, 56,119, 82,
-146, 36,206,161,151,242,166,178,148,109,125,232, 7, 57, 43,147, 32, 30,198, 90, 68, 67,100, 24,188,167,172, 42,116, 89, 99,138,
-138,109, 39,150, 73,114,230, 96, 95,196,196,193,167, 75,247, 82, 72, 61,235,243, 83,110,126,225, 21,226, 88,200,231,116, 92,195,
-112, 72,236, 78,216,174,142,137,249,140,176, 57, 99,200, 3,205,149,183, 41,212,154,210,110, 57, 63,126,200,234,147,159,113,254,
-248, 29,214, 23,159,178, 57,251, 20,223,159,163,203, 57, 69, 49,163, 41, 23, 92,233,110,115,244,112,195,217,163,143,232,253,103,
-248,110, 67, 93, 56,222,252,242,171,226,124, 24, 35,197, 78,187,226, 69,188,172,180,228, 2,116, 62, 18, 66, 38,250, 64,223, 74,
- 77,241,241,201, 25,171,213, 26,235, 12,161,235,120,118,120, 72,244,154,118,221,178, 55,223,231, 96,121,133,162,104, 56,216,187,
-206,237,235,215,121,237,222, 77,238,190,112,131,243,243, 51,222,123,247, 99, 78, 47,206, 56, 63, 91,241,201,167,159, 83,150,138,
-227,227, 35,186,118,205,131,207, 31,242,193,123, 31,113,126,186, 66,105,199,188,172,185,114,237, 58,207, 15,159, 10, 82, 58,233,
-153, 70, 63,242,252,249, 49, 71,167, 39, 12,237,138,227,195, 83, 46,182, 29,174, 50, 92,191,126,192,226,202,117, 94,125,227,109,
-154,107,119,185,113,243,101,190,248,229, 47,241,131, 63,248, 30,199,167, 39, 92,185,186,228,222,189, 23,113, 85,230,198, 65,195,
-213, 91,123,152,217,254,193,143,152, 18,225,200,194,185,165,148,168,234, 5,223,124,193,241,206,161,191,204,254, 30,134,145,209,
-143,162,112,213, 34,222, 48,133,229,173, 27, 5,203,202,241,193, 89,226,205,235, 5, 31,175,192,106,195,239,222,177, 92,169, 13,
-239,159,202, 22,253,226,210,176, 14,154,164, 11,148, 50,220,158, 91,142,123, 69, 78,153,235, 77,102, 51,102,230,133,226,165,165,
-225,238,210,176, 26, 51, 31,156,101,158,108,193, 88, 17,190, 85, 69,133,210,240,149, 27, 37,239, 28, 6, 98, 18,174, 55,231,140,
-177, 21,237,208,243,246,173,134, 95, 62, 90, 99,180,194, 21,146,158, 68, 74,220, 94, 72,168,196,147,149,240,185, 62,196,233,131,
- 29,240, 65,184, 33,235,100,195, 5,137,158, 53,214,210, 52, 13,182,144, 77, 52,132, 64, 81,151,148,214, 81, 76,155,125,206, 9,
-223,143, 64,130, 44,138,211,210, 21,164, 32,170,121,103, 5, 45,232,135, 97,122,154,101, 3, 26,134,145,174,109,233, 7, 9, 41,
- 17, 88, 59,139,142, 33,200, 54,102, 39, 75,149,168,242, 45, 89, 65, 8, 34, 78, 74, 41, 79,225, 26,194, 15,255,251,175, 41,222,
- 63, 55,104,165,209, 90, 84,248, 74,103, 9, 40,201,137,186,172, 40,156,136,208,134, 65, 20,230, 10,228, 80, 36, 67, 18, 45, 69,
- 89, 90,250,161, 35,103,232,218, 14,107, 37,239, 61,103, 81, 20,171, 44, 27,121, 86,153,162,172, 68,208, 55,138,231,218, 57, 17,
- 31, 65, 38, 70,169,140,253,227,175, 44,248,213,161, 71,101,216, 65,156, 85, 93, 81,150,229, 4,231, 22, 24, 43,138,102,165, 20,
-193, 11,119, 31,194,174,117,205,139, 96,176, 31,232, 7,201,190,254,175,126,112,159, 31,127,124,202,206,105, 80, 78, 90,128,174,
-235,217,219,219,195,251,192, 56,241,246,214, 56,124,140,132, 40, 25, 7,104,225, 51,253,232,177, 78, 83,213, 21,222,143,148,174,
- 64,107, 25,150,186,190,151,150, 56,196, 86,149,115,134, 40,182, 66,239,167, 44,242,186,161,169,107, 57,196, 99,162,172, 75,134,
-110, 16, 8,216,139,168,168,105,154,201,166, 55,202,247,228, 61,206,217,233,235, 15, 56, 59, 5, 44, 13, 3, 99, 47,101, 61,174,
- 40,232,183, 45, 93, 55,117,160, 71,129,235,253,196, 21, 15, 93, 79,219,110,209, 70,182,192,166,105, 24, 6,143, 70,160,237, 16,
- 34,117, 93,131,154, 44, 82, 57,139,208, 45, 68,172,214,178, 45,151, 37,182,144,214,191,162, 16,107, 18, 74,226, 73,165,122,119,
- 10, 60,201,146,212,150,115,166, 40, 74, 57,192,131,196,236,218, 66,194,102,114, 70, 62, 31, 57, 83,150, 37,198, 73, 84,106, 97,
- 11, 52,242,107,125,247,155,244,189,157, 70, 71,107, 77, 12, 82,198,146,131, 64,204,229,228,195,206, 41, 9,138,164, 69,196,105,
-139, 66, 6,112, 47, 78, 10,231, 10,198, 41,211, 98, 55, 56, 23, 14,138,178,144,174,249,186,166,109, 59,161, 6,178,216, 31,171,
-178,162,174, 42,234,186, 70,235, 41,192,200, 24, 12, 10,235,204, 37,205, 7,242,122,187, 66,162,127,141,145,250, 96,239,101,187,
- 82, 89, 62,234,213, 46,160,200, 24, 65, 42,122, 79, 89, 58, 98, 12,180,125,135,100,253,100,246,246,246,101, 24,180,150,205, 86,
-172,142,163,151,104,106, 99,100,128, 40, 74,201,175, 48, 70,226, 92,245,244,125,133, 24, 81, 89,161,173, 8,131, 13,154,106, 86,
-225,172, 37,199, 76,215,181,151,232, 85, 12,178,224,236, 82,249, 82,146, 14,128,189,189, 61, 92, 81,209,174, 55, 20,101, 65, 83,
- 87,226,228,152,132,196,101, 37, 3,139,247,126,210, 60, 56,214, 23,103,211,162, 87, 80, 21,210, 20, 56,246,189,124, 62, 42, 89,
- 90,146, 17,113,101, 74,226, 28,200, 49, 98,172, 33, 39, 56, 60, 60,230,181,175,254, 22,185,124,157,196, 13,250, 49, 49,108,142,
-104, 47,158, 97,178,167,219,118, 84,123, 95,224,238, 87,254,152,131,171, 95,102,115,246,128,238,236, 67, 26, 19,240,221, 33,227,
-250, 49,219,243, 7,244, 23,159, 51,118, 71,172,143, 62, 36,165, 64, 80,129,167, 15, 63,227,226,228, 83,214,167,143,232,211, 51,
-186,147, 99,220,124,129, 63, 89,225, 99,102,232, 58,188, 79,151,116,208, 46, 97, 51,198, 76, 74,114,110,197, 56, 45, 84, 49, 78,
-151,190,102,103,185,221,180, 29, 39,199,199,156, 94,156,243,217,131, 7,252,252,167,191,224,209,103,159,113, 48,107, 88,109, 58,
- 62,248,248, 1,105, 28,169,172,230,235, 95,251, 10,247,239,189,196, 87,223,254, 18,223,250,157,111,208,173,123,246,247,150,236,
- 45, 26,174, 95,191,198,171, 47,223,102,117,113,206,179,103, 71,108,186,150,199,207,158, 49,140,153,193, 71,122, 31,233, 6,201,
-145, 48, 86,208,146,100, 10,198, 0,154,140, 31, 7,158, 30, 30,243,209, 71,159,240,206,187, 31,113,247,206,139,180,195,134, 63,
-251,215, 63,229,227, 7,143,121,239,215,239,208, 84,115,190,240,230,219,220,123,237, 13,190,254,219,223,224,252,248, 12, 51,219,
-223,251, 81,206,242,134, 8,193,139,245,166, 18,104,230,246, 76,241,124,213,179, 25,197, 11,238,189, 8,138, 34, 80,150,226, 53,
-119,101, 69,101, 20, 93,212, 28,135,154,151,151,208,229,146,168, 11,172,130, 59, 11,197, 59,167,144,209,188,118,160,121,184,206,
-244,201,112,238, 45,223,189,147,248,164, 21,168,247,198, 76,252,167, 63, 63,177,124,124,158,120,239, 40,112,220, 37,250, 40, 48,
-120,202, 89,184,214,156,208, 74,178,195,111,204, 13, 71,109,194, 88,133, 70, 4,101,134,200,253,131,146, 15, 78, 71, 17, 31,105,
- 13, 36, 98,130, 91, 75,225, 23,159, 94, 8,167, 24,130, 84, 18,198, 36, 97, 40, 57, 75, 74, 26,232,203, 45, 59, 79, 48,168,209,
-134,118,219, 94, 90,158, 80,234,146,251, 50, 70,226, 53,171,178, 70,163,216,110, 55,104, 43, 69, 41,214,137, 2, 86, 96,120,129,
- 55,165, 80,195, 95, 30,154, 40,133, 54,150,229, 98,142, 53, 98, 21,172,106,177, 4,250, 65,172,128,193, 75, 42,152,108, 81,146,
-189,110,180, 12, 30,221, 32, 7,230,175,143, 18, 49,253,230,247,198, 24, 24,122,241,236,170,105, 75, 84, 10,200,162,250,119,133,
- 40,243,253,180,169, 56,107,201,201, 11, 34, 48, 9,201, 4,214, 20,255,116, 14, 97, 18,153, 25, 80, 50, 12,168, 44,131, 5,211,
-193,217,245, 61,255,229,239,222,228, 23,207,132,207,213,214,240,179, 7,107, 1,240,141, 36, 16,230, 36, 98,185, 24, 2, 85, 37,
-141,119, 97, 26, 60,118,155, 68,206,121,226,191, 69,192,232,189,151,204,114, 35,153,243,191,247,218, 85,126,125, 36,158,254,186,
- 17, 36,194,143, 3,243,249,130, 16,197,221,176,171,171,109,251, 94, 90,208,208, 40,101, 40,172, 80, 14, 57,103,113, 32, 36, 69,
- 24, 3, 59,223,191,214,138,190, 23, 17,152,154, 46, 70,129,126,101,192, 43,157,155,124,251,129, 49,136,160,179, 40, 75,134,126,
- 32, 38, 17,150, 69, 31, 80,214, 96,141,145, 96,160,178, 36, 4,225,226,149, 22, 11, 24, 74,106, 86,199, 81,226,125, 37,230, 56,
-144,201,211,243, 33, 49,193,174, 40,104,187, 45,221,182,165,168, 10,150,139, 61,202,178, 70, 43,209,112,132, 32, 52, 89, 63,140,
- 40,197, 20,230, 34,104,144, 66, 68, 87, 74,201,107,110,139, 2,109,100,176,132,204,208, 15,104, 45,249,244, 40, 53, 93,210, 74,
-126, 30, 37,156,201, 90, 55,205,240,226,142, 80, 74, 95, 34, 24, 97,244,147,250,221, 77, 92,173, 12,101, 49, 70, 36,113, 47,177,
- 43, 18,113,206, 77,255,150,247, 80, 10, 73, 96,248, 36,182, 39,173, 37,128,168, 44, 75,172,182, 98,223, 76, 25,152,114,201,147,
-192,253, 18, 91, 42,208,186, 43, 10, 82,140,248, 32, 81,170, 40,125,105,249, 82, 74,132,156,198, 9,237, 54, 6,225,239, 99,244,
-196, 36,181,172,125,223,211, 15,195, 52,244, 72,250,225,208,139,235,100, 71,129,249,209, 83, 55,146,226,231,138, 41,117, 82,229,
-203,225, 83,234,113,229,107, 13, 99, 32, 78,226, 49,208,236,237, 45, 39,101,187,208, 39, 77,221,160,173,228,239, 87, 77,131,115,
-165, 12,252, 93, 7,136,222,195,123,143, 45,221, 36,188, 77, 12,131, 4,226,100,178, 12, 64, 9, 17,216, 78, 95,119, 28, 61,243,
-197, 66, 28, 59, 41, 51,134, 72, 93, 85, 84, 51, 25, 58,197, 93,163,104,102,205, 4,187, 75,202, 94, 76,146,244, 87, 85, 59, 33,
-107,184,204,172, 64,113,137,112, 88, 43, 94,254, 98,218,244,227,100,231,139, 65,188,235,101,221,160, 92, 65,200, 25,171, 45,117,
- 93, 49,110, 90,190,250,189,239,177,233,230,144,247, 80, 58,146,245, 12, 76,133, 91,190,204,205, 87,127,200,171, 95,251,143, 89,
- 94,125,153,152, 2,232,130,179,167,191,162, 95, 31,226, 22,150,154,129,110,125, 68,101, 19,253,250,132,229,193, 29, 92, 85, 49,
-182,103,116,219, 51,218,238, 57,193,159,161,218, 21,231, 23, 79,177,243, 6,191, 94,209,111, 55,144, 53,189, 23, 65,117, 89, 23,
-184,202,161,208, 24,162,220, 21, 89,225,140, 66, 89, 71, 89,149,132, 4, 67, 28,105,251,129,182, 23,235,225, 56, 6, 98,146,130,
- 31,109, 13, 99, 8,124,242,240, 33,199, 39,103,228,156, 56,111,183,156,159, 95,112,118,126,198,118,181,229,218,222, 21, 14, 31,
- 61,101,111, 62,231,244,236,130, 79, 63,125,204, 87,222,120, 5,114,226,233,225, 67,110,223,186,129, 85, 35, 63,248,253,223,226,
-245, 55, 95,227,245, 47,222,147,193,176,146,129, 41,132,200,122,211, 51,140,145,171,215,174,210,143, 61,155, 77,207, 48,102,108,
- 41,105,157,239,127,240, 1,231,231, 23,108,135,196,119,191,241, 13, 62,124,116,204,255,251,206, 67,198,205, 19,254,230,151, 31,
-241,214,111,127,155,236, 71, 76,189, 92,254,136,233, 16, 52, 19,143, 89,215, 53, 42,103,116,246,236,213,150, 39,231, 3,105,130,
- 34,141, 49, 24, 39,202,192, 56,125,224,190,120,144,249,240, 44,211, 71,168, 12, 52, 38,115,216,193,149, 66, 68, 32,141, 83, 60,
-217, 68,190,112, 69,243,224, 34,209,249, 72,140,114,225, 31,174, 61, 47,205, 2,133, 78, 24,149,120,180,146,131, 93, 41,208, 90,
-248, 43,165,245, 52,213,154,203, 41,255,100, 80, 60,111, 51, 10, 57,116,148,118,248,232,153, 59,205,221, 61,203,231,107,232,251,
- 14, 9,172,145, 18,143,111,189,180,224,157,231, 45,237, 16,197, 90,180,187,212,163, 64,125,214,200,212,170,152, 90,194, 74, 81,
-188,122,239, 5, 98,215,178,169,198, 44,153,241, 18, 18, 34,181,174, 9,217,136, 98, 18, 56,215, 88, 75,105,196,207,171,148,168,
-157,157,149,100,175,144, 68, 81,159,145, 72, 73,178, 8,209,102,149,164,189, 25, 35,109,114, 78,235, 9,206,202,160,242, 36,134,
- 17,196, 83, 46, 26, 79,240,146,213,110,148,154, 42,102, 69, 64, 19,130,248,224,115,222,165, 82,201,215,138, 49,146,208, 64,100,
- 28, 2,237, 86,194,115,140,182, 12, 83, 66,224,208,119,196,152,232,218,150,113,232, 24, 7,121,140,214,202,239,105,167,176, 27,
- 99, 12, 62,202, 6, 46, 7,177, 97, 24, 71,190,245,202, 1,255,234,215, 79,241,163, 71, 10, 85,164,129,172,112, 2, 13,238, 50,
-216, 11,231,176,206,209,247, 35,174, 40,104,234,250,242, 2, 79, 41, 49,155,137, 0, 18, 20,117, 37,218,135, 12, 40,165,248,214,
- 43, 7,252,229, 39,103, 50, 88,218, 41,200, 38,139, 26, 24, 4,162,172,154,154,148, 20,201,123,170, 89, 45, 72,148, 23,216, 95,
- 44,123, 18,120,148, 98,160,169,107,250,118, 43,177,182, 81,154,255,156,115,147,246, 65,120,104,224,114, 83, 15, 33, 96,157,101,
- 62,155, 33,121,230,162,111,176,206, 97,181, 5, 45,226, 35,227,156,216,200, 98,132, 44, 86, 50, 31, 2, 41, 72,240,209,206,203,
-109, 11, 71,205, 13,126,187, 0, 0, 32, 0, 73, 68, 65, 84, 78,194, 3,238, 54,226,178,172, 80, 89,146, 3,115,134,152,229, 18,
- 45, 75, 73, 79,235,186,158,178, 22,151, 1, 40,234,166, 20,251, 80, 41,218,128,221,123,207,104,113,180,148,101, 57,105, 88,148,
-160, 15, 73, 46,232,162,144, 65, 43, 36,249,252, 11,127, 45, 30,235,148,229,249, 78, 81, 84,216,109,219,146,179, 68,152,166,233,
-220,112,182,152, 6, 56, 65,179, 0,102, 51, 25, 80,131, 15,204,231,226,203, 14, 73,154,216,118, 61, 4, 49, 69,118, 54, 81,231,
- 10,234, 74,114, 14, 10,231, 64,107, 36, 88, 72, 6, 13,165, 21, 90, 75,204,173, 54,130,238, 41, 45, 23,145, 66, 33,150,215,192,
-206,134, 25, 98,196,149,133,228, 54, 36,161,164,202,105, 19,150, 48, 35,161, 96,140,153,132, 97, 73,168,152,170,170,232,186,142,
-148, 51,205,172,145, 97,101,232,101, 43,238, 59,114,204, 56,103, 41,138,138,193, 75,207,128, 43, 10,218,205, 6, 63,120, 50, 34,
-104, 3,133, 54,146, 26, 55,122, 41, 89,138, 81,170,141, 85,202,120, 47, 23,175,214,176,221,110, 69,151, 48,244, 36,149, 65,201,
-192, 81, 86,165,208,118,149, 92,170,214, 56,154,166, 70, 41,132,250,202, 2, 35, 43,164, 87, 65, 43, 17,123,150, 69, 65,158,134,
-203,156,197,198,105,180,153,146,230, 2,101, 85,177, 11,155, 41, 39,100,163,176,150,170,145, 4, 56, 73, 25, 20,235,157,159, 22,
-132,157,190,199, 26,131,155,232,137,162, 16,189, 65,240,129,170, 42,136, 62,211, 44,151,116, 49, 81, 54,115,172, 54, 84,229,146,
-211,211,115,226,216, 18, 99,135,213, 21,229,242, 54,174,220, 39,229,145,246,236, 41,221,197, 99,124,119, 68, 24,215,108,206,159,
- 49,172, 87, 96,106,114,232, 56, 63, 63,103,113,247,223,162, 57,184, 79,244, 23,104,191, 97, 28,207, 8,221, 57, 99,127, 68, 69,
-207,108,102,105,163,151, 16,156,177,103,221,245,130, 72, 25, 9,175,242,163,116,139,100, 13,219,118,192, 39,209, 87, 12,222,211,
-247, 35,235,205, 86, 56,120, 35, 22,101, 31, 34,153,196, 24, 51, 99, 23,200, 42,210,118, 35,235,245,138, 77, 43,141,153, 33, 72,
-250,233,122, 59, 50, 91, 30,240,232,240, 25,171,109,199, 7, 31,126, 72,210,145,189,253, 25,235,190,195,149,146, 4, 90,149, 53,
-219,237, 64,191,238, 56, 62, 94, 51,180,137, 31,252,224,251, 44, 22, 75, 14,159, 62,225,222,139,119,145,200, 97, 39, 1, 91, 24,
-198,152, 80,122, 55, 96,101,174, 93,187,202,152, 6, 54,219, 21, 71,199,199, 28,204, 43, 10,122,246,151,115, 30, 60,125,194,159,
-253,217,143, 57,124,250, 28, 51, 91,238,253, 40,100,121, 99,186, 66, 96,222,178,148,176,138,118, 24,121,227, 90,201,167,171,132,
- 53,146,200, 84, 86,226, 87,215, 86, 84,242, 7,141,229, 90, 5,159,117,142,161, 15, 28,182,153,239,191,164,248,155,195,196,111,
- 93,135,159, 60, 75,124,231,174,229,167,143, 7,190,120,205,242,240, 34,224,149, 76,188, 77,161,217,175, 12,218,104,238, 45, 96,
- 81, 40,238,237, 41,102,133,229,230, 92, 19,179,112,241, 98,155,144, 56,211, 98,234, 2,142, 49, 97,180, 37, 36,225,188,139, 66,
-146,181,102,165,230,206,210,240,241,153, 92,104, 41,103,137, 90, 85,138,111,223,155,243, 23,159,119,196,156, 48, 10,124,140,148,
-101, 73, 76,226, 65,206, 73, 94, 88,137,130,149, 8, 70,107, 37,122, 85, 33,135, 52,211,166, 2, 16,131,240,227,187,130,135,174,
-235, 37,177, 11, 4,202, 53, 48,248,192,191,243, 90,201,231,103, 35, 51, 19,248,123,175, 85, 28,109, 2,227,232,249,251, 95,154,
-243,171,231, 61,127,252,141,235, 60,239, 44, 7, 69,224,239,190, 86,115, 58, 72,223,244,223,125,173,226,227, 21,252,131, 55, 23,
-156,248,146, 23,246, 43,254,189, 47, 47,217,228, 18,237, 44,255,193,155, 75,222, 59, 17, 11, 74,204,145,255,236, 27, 87,248,201,
-131, 21,255,232,119,174,160,128,191,243,133, 37,111,223,110, 8,170,224,222, 65,193,247,238, 55,124,249,186,229, 98, 59,114,120,
-209,179, 95, 4,254,240,245,134,175,223, 46,200,209,243,195,215,106,126,249, 92, 14, 70,165, 37, 49,208,104,205,127,241,205,171,
- 88, 99,249,222, 43, 53,111,223,170,104,135,192,106,144,129,238, 63,255,230, 13,126,235,238,156,215,174, 20,156,247,129,127,248,
-205,219, 0,124,235,149, 3,126,231,229, 37,127,246,222, 51,254,209, 55,175,243,243,199, 91,174,212,134,239,223,175,248,214,189,
- 25,247,175, 84,156,118,208,143,153,255,228,235,123,104,165,248,238, 75, 37,111, 92, 47, 72,186, 96, 80,229, 4,187, 11,215,119,
-115, 89,242, 71, 95,187,193,239,189,178, 79, 83, 22,220, 90, 22,252,249,251,135, 44, 75,197, 31,124, 97,159,111,221,107,120,245,
-122,197, 38,202,247, 87, 86, 13,125, 63,113,203, 86, 6, 40,148, 92, 80,206,202,123,197, 24, 73, 90, 27, 38,110, 94,233,132,179,
-142, 24, 97,214,212, 4,239, 65, 75,169,144,213, 6, 87, 20, 20,214,226,202, 74,148,238, 78,170,122,135, 97,192, 22, 82,107,171,
-148,186,132,101, 37,168,197, 17,131,252, 61,243, 41,116,164,235, 90,140,181,204,154, 25, 74,131, 70, 73, 44,235,212,116,183,152,
- 75,109,233, 56, 14,130,136, 24, 5, 89, 30,147,209,134,182,149, 50,144,162, 44,126, 19, 70, 19, 60, 90, 65, 81, 86,132, 16, 9,
-126,164,158,213,164, 8,125, 55,224,156, 32, 50,100,200,242, 15, 82, 10, 19,156, 46,149,199, 98,103, 77,151,155,120,244,162,159,
-136, 33,225,199, 1,148,160, 36,206,149, 84,117, 67, 85,138,237, 81,186, 17,226,229,214, 45, 77,142,160,146,124, 45,241,201, 75,
-179,161,112,236,224, 92,193,124, 46, 60,179,115,146, 69,160,216, 5, 20,101,218,190, 67,107, 77,225, 44, 41, 74,200, 79,140,145,
-162,116,232,196, 37,138, 98,173, 97,103,185,243, 97,196,106, 17,113, 42,165, 48,106, 10, 25,210, 6,197, 52, 4,199, 56,109,210,
-162,198, 23, 59, 94, 77,152,144,135,126,148, 94,250,194, 57,186,109,135,181,118,162,233, 36, 61, 48, 33,131,137, 20, 59,137,248,
- 83, 33,209,209,243,229, 28,128,249,124, 46,175, 75, 20, 36, 73, 91, 35,103,166,150,243,203, 57, 17,154,133, 16, 96,162,123, 64,
-145,173, 88,247,178,146,120,225,132,196,110,107,173, 41, 10, 59, 13, 83, 83,224,211, 40,212, 80,219,183, 82,174,179,217,224,202,
-146, 56,142, 12, 94,194,154,250,190,191,188,140,219,174,157, 92, 45,146,204,185, 91,208,132,162,168, 73, 41, 81, 24, 67, 89,136,
-157,181,237, 90,164,165,210, 76,239, 69,177,226,141, 94, 68,204,104, 69,156,206, 75,165, 18, 57, 11,242,165, 39, 20, 32,164,200,
-102,117,193,213, 91,123,172, 79, 78,233,187,115,114,232, 32, 13,228,216,145, 82,160, 95,159,208,110, 31,226,251,167,116,155,231,
-104,213, 66,244,116,235,141,208, 32,245, 93, 94,124,251, 31,242,194, 43, 63,192,184, 61,134, 97, 75,127,254, 25,121,120,134,138,
- 27,250,205, 49, 97,123, 68,115,227, 38,185,208, 12,237,200,112,126, 66, 63, 72,222, 64, 86, 96,141,162,106, 42,200, 10,171, 45,
-206,149, 52, 69,129,118, 18,160,102,140,162,169, 27,102,117,131,213,134, 89, 85, 81, 53, 37, 77, 53, 99, 62,107,152,205, 27,140,
-145,172, 18, 87,150, 56, 35,159, 13,239,101, 57, 25,199,145,227,231,199,104, 87, 50,107, 22,220,123,237, 85,208,150,144, 50, 71,
- 71,167, 28,157,158,240,252,120,203,173,107, 7, 56, 34,159,126,254,148,251,119,174,211,204, 74, 62,249,224, 51,172,202, 28,236,
- 95,225,245,251, 47,113,116,116,130,228,183,120,218,118,100, 62,171,101,121,139,137, 97,232, 89,111, 70,114, 46,152, 47, 14, 24,
-188,231,232,248,156,122,111, 15,173, 13, 95,188,127,151, 55,223,124,129,178,174, 48,123, 87,175,254,200, 26,195,172,105, 0, 73,
-114,202, 89, 96,183,110, 16,165,250,249,152,137, 74,166,240,148,145,233, 29,133, 82,112,103,174, 89,141,208, 38, 9,157, 40,139,
-130,152, 51,183,103,134,187,243,204, 47,206, 37,151,250,214, 92,179, 87,105,158,182, 10,143, 12, 4, 49, 41, 94,223,139,252,213,
-145,229,176, 85,220,168, 51, 63, 59,214,236, 21,146,161,253,197,131,204,171, 7,154, 69, 85,160,108,193,152,132,235,179, 90, 10,
- 15, 82,146,248,204, 29,239, 69,134,211,117,203,135,199, 83,194, 86,206,228,152,201, 90,224,198, 95, 62,239,133, 15,203, 73, 42,
- 6,209,184,194,145,124, 32,230, 56, 13, 11, 34,106, 49, 78, 32, 17,107, 37, 32, 6,228,215, 0,148, 22,101,239, 78, 61,170,141,
-192,245, 33,198, 75,184, 94,254,128,124,173, 27, 11,203,225,217,150, 47, 93, 47,248,252,124,228,238,210,114,116,209,178, 95, 59,
- 62, 95, 5,238,238,215,156,247,137, 55,174, 57,158,108, 34,183, 26,197,170, 15, 44, 74,205,199, 71, 29,183, 22,142,109,212,188,
-126,160,121,188,201,188, 48,215,108,198,204, 94,101,120, 62, 8,183, 95,186,130, 47, 95,179,252,250, 36,243,149, 91, 5, 79,182,
-240,151, 15, 7,214,209,240,123,119, 12,143, 87,129,191,126,158, 57,237,225, 91,119, 10, 62,219, 24,190,119,191,226,221, 67,207,
-143, 31, 39,246, 27,195, 11, 11,195,187, 39, 17,231,204,164,112,151, 13,234,173, 27,150,135,171,192,159,188,119,194,225,122,224,
-111,191,126,133,247,142,101,147,251,171, 79,207,248,217,195, 53,199, 91,207,119, 94, 89,242,191,253,228,144,175,191,184,224,127,
-248, 23, 31,241,215,159,175, 80, 10,190,249,242, 62,239, 28, 6,254,246,203, 37,159, 94, 36,254,242,129, 68,138,126,245, 86,201,
-187,135, 45, 95,189, 93,241,209,225,150,127,245,209, 57,235, 96,248,237, 59, 21, 31,158, 70,118,225, 35,125,223,243,239,126,229,
- 38,239, 60,109,249, 23,239,157,176, 44, 53,247,174,214,252,248,195, 99,254,232,183,110,243,193,201,200, 95, 61,246,180, 65,243,
-141,219,142,247, 79, 38,216, 86,201,193,175,141, 64,201,206,186, 9,237,144,226,156, 16, 35, 97, 42,178,112,147,157,174, 44, 75,
-202,210, 78,151,177, 40,143,165,123, 91, 84,221, 41, 75,126,185,209,226, 45,207, 25,198, 49,224,140,198,104,177, 71, 73, 15,188,
-160, 40,174,152,234, 55, 67, 4, 53,213,159, 26,131, 70,145,149,194, 15,130, 28,184,178,160, 42, 11, 54,155, 13,131,151,244,186,
-209,123, 17, 73,181, 45,243,249,140, 48,109,124, 77, 89, 78, 2, 77, 25, 80,172,149, 33,185,239,122,209, 21,244,237, 20,139,235,
-129, 36, 94,235, 36,151,169,117,210, 35,110,172, 92,178,187,116, 54, 51,233, 62, 98,146,207,254, 14,238,213, 90,145,149, 92,208,
- 74, 11,138, 36,209,177,162,152, 23, 90, 41, 2,114, 17,185,194,161,180,166,116, 37,163,151,128,161,166,110, 64, 25,140,146,164,
-202,221,182,167,181, 38, 5,217, 74, 7, 63, 37, 78,142, 35, 33, 38, 98, 16,196, 68,107,185,136,180, 54, 83,143,128,102,219, 74,
-126, 68, 89, 74,237,242,118,187,249,205, 66, 82, 72,207, 4, 73,208, 51,239, 61, 77, 83, 34, 77,121,115,234,178,154, 98, 99, 65,
- 41,125,137, 20, 20, 86,168,143, 20, 3,222,203,160, 30, 99,162, 27, 7, 10,171,137, 33, 82,184,130,210,149,248, 16, 8,147,246,
- 97,156, 68,125,205,124, 6, 33,224, 74, 41,103, 82, 90,156, 29, 74,137, 35, 99,236,101,160,240, 99, 96, 24, 71,180, 18,212,103,
- 28, 71,250,161,159,244, 17, 35, 85, 85, 17, 67,160,105, 26,154,170, 65,107, 77, 63, 72, 7,133, 32, 16,146,224, 87,215, 13, 40,
-104,219,142,190,235,132,202,170, 43,108, 81, 78,239, 63,241,251, 75,176,214, 20,166,149,127, 19,191, 59, 12, 35,121, 55,160, 76,
-131, 80, 36, 19, 82, 96, 24,122,113, 24,164,200,182,109, 25,125,160,105,106,170,178, 32, 36,209,251,136, 91,161,188,220,222,243,
-244, 57, 25,199, 65, 6, 30, 55,117, 3,244,129, 43,139, 57,235,243, 71,244,219, 51, 84, 92,163,194,134,236, 47,136,227, 25, 57,
-245,248,237, 49, 35, 39,228,213, 25, 93,183,129,108,184,255,213,223,231,224,206, 55,105,174,190, 66, 53,191, 65,206,129, 24, 7,
-250,238,156, 97,115, 72, 28, 54,140,237, 6, 53,123,145,229,173,111, 83,220, 42, 25, 47,158, 51, 55, 37,202, 21,148,205,156,102,
- 49, 39, 40,141, 79, 25,180,197,167, 64, 54,154,140,162, 31, 70, 82,204,132, 36,168, 83, 12,129,164, 50,221, 32, 67, 17, 90,177,
-218,108,216,182, 29,227, 48, 16,146, 20, 50,121, 47,122, 18, 99, 20,198, 41, 68,143,166,105,219, 21,135,135, 71,124,244,225,199,
-156,157,111, 88, 93,116, 92,189,126,139,131,253,107, 24,237, 88,175, 59,222,255,248, 33, 69, 85,147,124,135,213, 5,101,109,248,
-236,241, 51,198,228,121,244,236, 25, 55,175, 31,176,183,220, 67, 41,195,114,111, 73, 28, 35,175,190,124,143,174,239,152, 53, 13,
- 87,175,236,211, 13, 29, 99, 63,161,144, 90,177,222,108, 89,245,158,213,214, 19, 70,203,124,113,128, 45, 75,129,246,180,209,196,
-113,154, 4,199, 17,183, 88, 80, 84, 21,143, 86, 61, 55, 43,120,254, 92, 36,250, 59,101,182, 82,144, 19, 60, 88, 37,186, 49, 82,
- 20, 3, 33, 40,146,202, 60, 94,103,190,243, 66,226,215,167,194,185,190,127, 14,223,127, 65, 99, 53, 92,140, 98,223, 73, 41,113,
-180, 85, 28,220, 85,228, 16, 56, 11,153,131, 10, 78,182,145,243, 78,161, 77,230, 87, 49,179, 95,194,157,121,226,107, 87,225, 89,
-171,120,231, 68, 26,208,156, 43, 9, 97,151, 62, 37,246, 23,227, 52, 54,218,203, 3,209,153,146, 96, 61, 70, 25, 64, 46,246, 68,
- 36,105, 80,100,129,143, 98,100, 12, 34,126, 49, 90, 54, 12,116,166,176, 5,145,241, 18, 10, 86, 90, 88, 25,165,101, 88, 48,218,
-144,173,136,210,188, 31,209,198, 80, 58, 71, 50,102,250, 0,101,146,247, 68, 20,167,109,228,206,126,193,178, 54,252,243,247, 78,
-249, 15,191,118,157,123, 87,107, 46, 6,193,129,142,219,200, 75,251,142,121, 9,127,254,121,203, 15, 95,107,120,241, 74, 67,151,
- 20,179,249,156,243, 1,110,212, 48,115,138, 63,127,226,249,225, 61,203,205, 70,113,222, 39, 32, 49,140,210, 51, 14, 83, 59, 21,
-240,225,153, 71,105,197,147, 11,143,190, 83,241,209,137,100,179, 63,108, 3,127,251,197, 37,125,223,179, 44,231,124,114, 50,144,
-148,226,147, 99,185, 16,253, 56,242,199,191,181,100,247,227,127,249,171, 67,160,226,103,159, 30, 19, 82,226,241,185,163,114,114,
-176,190,125,123,206, 87,239, 94, 99, 86, 76,151, 64,206, 12,157,184, 20,230,243,249,164,160,149,139,121,221,109,216,171,102,252,
-234,221, 11,138,178,226,221,103, 45,223,120,161,186,140,217,252,116,165,240, 49,243,217,241,150,239,191, 34,121,249,114, 64, 72,
- 68,233, 65,227,120,231,201, 10,109, 44,239, 31,118,124,247,117,185,128,175,207, 75,110, 46,171,203,199,155,115,190,180,252,108,
-183, 82,196, 17,166,205,164,235,149, 80, 57, 86,163, 81, 24, 5,125, 24, 80, 74, 4, 94,218, 40,116,102,130, 45,243,165, 23, 30,
-100,136, 5,208,102, 87, 38,162, 46, 55,255,166,145,237, 88, 11, 67,195,182,235, 38,177,153,161,239,132,170,176, 78, 32, 84, 20,
-184,137,127,119,214, 98,235,134,140, 88, 15,119, 1, 66,198, 24,105, 41,180,150,205,102, 35,151,170, 18, 61, 2,169,144,190, 2,
- 20,165, 19,116, 96,189, 90,137, 32,204, 76, 58, 1, 35,205,104,187,166,192,232, 69,168, 26,240,164, 44,144,120, 24, 71,138,186,
-102, 24, 90, 32, 99,173,102, 8, 9,149,229,231,217, 40,200, 25,200, 16, 35,186,148,220,248,186,170,209,211,134,106,180, 5,165,
-168,156, 60, 38,159, 18, 78,105,180, 85,196, 48, 2,162, 78, 95,175,215,146,172, 22, 38, 15,182,150,109,103, 72,153, 16,132, 54,
- 17,174, 93, 44, 61,133,179,216,170,148, 75,221, 8, 58,224,187,129,110,144,154, 88,173, 20,123,123,123, 2,175,118, 82, 94,210,
-182,173, 4,125,228,204,184,237,209, 90,102,234,221,171, 39,249, 27,137,164, 20, 58,107,140, 45, 72,121,162,106,162, 39,163, 88,
- 44,102,180, 91,240,227, 72,202, 48,155, 53,172,214, 27,182, 91,225,180, 71,239, 89, 46, 22,184,210,161,179,180, 83, 74,111, 70,
-196,251, 64, 14,129, 20,132,150, 83, 90,250,226,253,232,177,214, 81,205, 26,156, 21,157,192,102,187, 37, 38, 48,206, 18, 39, 23,
- 66, 38,177, 88, 44,167,109,119, 39,206,147,160,161, 89,211, 16, 70,209,171,168,156, 39,132, 81, 82,220,148,146,239, 79,187, 41,
-153,176,146,124,254,221,133,238, 40, 40,156,132,100,197, 24,169,220, 84,159, 26, 90,198, 97,196,104,197,106,181, 66, 27,205, 98,
-177, 96,103,241,220,108,214,204,102,141, 80, 70,101, 73, 72, 66,203, 86,181, 68,240,142,227,200,102,179, 1,165, 88,206, 37,221,
- 47, 4, 79,129,124, 22, 99, 16,170,161, 31, 31, 18,163,231, 11,175,188,202,179,103, 79, 57, 57,121,142,161, 33,250, 53,218, 22,
-116,195,136, 34, 67,232,216,108, 47,168,174,125,157,131, 23,190, 74,221,180,140,195,167, 28,125,250, 33, 81,149, 56, 83, 51,116,
-107,180,134,250,202,107,244,221, 57,179,131, 43,220,126,245, 15,169,231, 55, 25,250,119, 89,222, 61,230,149,151, 10,254,234, 39,
-127, 33,195, 39,226, 96,218,157, 77,253, 68, 35,110,219, 14, 10,199,232, 69,183,226,202,226,210, 13, 98,203,146, 89, 93,179, 94,
-175,200,198, 50,219,155,179,186, 88,211,121, 41,117, 26,167,112, 38, 51,159,227,202, 6,231, 52, 41, 68, 74, 91,200,224,225, 61,
-221,118,141,181,150, 15,222, 59,167, 41,155,203, 51,249,224,202, 85,182,219, 45,167,171,129,238,226, 17,110, 94, 51,155, 45,184,
-186,127, 32, 26,128,170, 96, 76, 61,247,238,223,161,223,182,236, 47, 43,202,178,230,198,181, 27,164, 48,114,116,122,113,169, 21,
-233,182, 29,167,103,167,144, 96,177, 47, 17,192, 15,142,142, 72, 89, 99,119, 77, 83, 32, 74, 75,167, 20,245,108,198,106,179,102,
- 86, 55,124,190, 41,248,206, 93,120,188, 10, 28,109,214,148,165,164,174,229, 28,196,154,225, 36, 11,157, 20, 49, 74,120,173, 23,
- 26,228,226, 39, 49,250,136, 86,240,127,124, 26,185, 82,139, 77, 72,105,133, 86,146,152,116,218,107,230, 46,112,218, 37,222, 57,
-113,188,113, 37,162, 80,220, 89,100,242,229, 71, 50,243,120,157,104,156,226,247, 95, 84,252,179, 79, 90,118, 94,240,157,101, 39,
- 27, 77,142, 35,117, 89, 19,115,148,130,132, 4, 57, 75, 96, 76,142, 50, 72,164,148, 80, 19,216,103, 92,193, 56,169, 90,181, 18,
- 49,203,124, 57,131, 36,118, 56,163, 69,236, 70, 18,158,113, 23, 46,155, 21, 24, 18, 40, 38, 37,101, 66,249, 1,171, 45,166, 50,
-132, 49, 8,156,161, 21, 38,103,206,218,200,223,122,185,225,151,207, 36,203,252,243,139,200,155,183,102,252,228,113,135, 51,150,
-243, 46,240,237,235,150, 95, 62, 31, 72,100, 62, 57,245,188,125,171,228,157, 19, 41,157, 57,235,100,187,126,247, 36,161,209, 60,
- 88, 37,190,116,205,241,179,167, 34,106, 43,236,148, 87, 15, 56, 51, 13, 48, 81,158,223,182,221, 2, 21, 71, 39, 71,178,109,106,
-128, 37,155,245, 5,171,161,225,229, 3,195,187, 79, 47,184,119, 93,248,235,213,197, 25,255,253, 63,123, 42,219,198,255,239, 82,
- 54,214, 81, 89, 75, 59,121,126, 85, 86,124,235,254,146,127,254,235, 83, 30,158,174,121,241,202,140,127,251,173,235, 40, 45,219,
-158, 37, 18, 2, 68, 57,117,104,215, 91, 78, 55, 3,119,154,200,225,224,121,235,246,130,139, 62,225,140,160, 26,163,151,104,221,
-122,186, 72, 47, 86, 23,151, 27,134, 53,150,179,214,243,234,213,130,247,159,183,188,117, 71,134, 14,101, 12, 71,155,145,159,127,
-118,202,199, 39, 29, 49,138, 69,113,239, 96, 15, 99, 44, 77, 35,124,214, 48, 74,232,140, 31, 39,129,164,247,132,156, 49, 78,170,
-127,179,206, 56, 35,250,128,245,182,165, 40,166, 20,177,114,215,234, 22, 9,190,199,152, 2,114, 98,151, 96, 6,160,180, 92, 48,
-162, 87,213,148, 85, 69, 14, 1,107, 11,200, 35,125, 63, 96,156,192,192, 70,235,203,237, 50, 26,141, 81,153,108, 37, 30,213,143,
-130, 24, 92,191,126,141, 24, 34,235,245,234,146,139, 94,238,237, 49, 14,227,196,155, 90,218,190,101, 54,107,200, 25,206, 47, 86,
-164,148, 56, 61, 57,101,255, 96, 57,193,173, 34,190,179,246, 55,234,237,156, 19,101, 85,139,255, 60,102, 82,142, 56,107,136, 65,
- 77,155,185,102,222, 84,196, 44,207, 69,206, 25,163, 36, 99, 65, 20,213,210,167,173,178, 4,165,228,148,105,251, 45,206, 56,170,
-186,162,223,246,104,103,241, 41,162,130, 12, 6, 49, 7, 82,144, 96,148, 12, 20,174, 16,216, 63, 39, 4,108, 23,117,135,178,134,
-162,114, 24,165, 41,173, 35,197,132, 41, 10,172,214,108,187,169,223, 32, 38,230,243, 25,155,118, 75,214, 34,252,202, 57,131,150,
-130,168, 20, 18,235,245, 26, 87, 72,222,248,162,158,225,128, 24,165,231,192, 88,203,106,181, 37, 38, 73,112, 20, 47,189, 70,233,
- 41, 69, 47,103, 22,139,185,120,226,155, 70, 66,124,156,148, 73,245,219, 14,200,151,207, 67,233, 10,188,143,172,183,107,225,246,
-149,232,139,140,142,151,212, 66, 81,136, 32, 77, 98, 98, 5,178, 78,200,240,210,164, 76, 8, 3,130, 0,106,150,203, 57,221,208,
-145, 83,162,107,123,230,139,153, 8, 12,199,129, 97, 24,132, 70, 73,105, 26, 78, 51,117, 93,179,217,108,169,103, 13,139,165,197,
- 71, 25,106,186,190,157,104,200,169,137,174,221, 82,148, 5,131, 15,244,189, 80, 45, 89,137,198, 98, 62,151,194, 40,217, 60, 37,
-125, 47,132, 68,215,110,167,206,139,201,159,111,180, 12,175, 73, 92, 70, 77, 35, 45,134,206, 57,180, 86,132, 24, 56, 63,191, 96,
-177, 88, 72,110, 66, 41,131,189,179, 14,178,166,116, 5,103, 23, 71, 92,187,118,139,249,108,159,245,232, 40,170,125,186,179,207,
- 24,218,141,124,110,178,167,237, 3, 87,238,253, 29,110,127,225,135,248,177,231,226,228,207,168,236,136, 29, 7,250, 77, 43, 62,
-249, 20, 73,190, 69,145,169, 22,119,169,175,188,142, 8, 55, 51, 33, 52, 64,193,147,195,167,172,214,107,252, 56, 82,214, 37,123,
-123,123,196, 40,206, 31,146,184,168,150,243, 57,237,216, 83, 20,110,122,109, 52,214, 86,236,234,169,101,176, 17, 20,162, 42, 75,
-236, 21,203,249,217, 41, 74, 25,212, 76, 62, 19,155,205, 86,158,107,237,112, 69, 73,182,134, 24, 51, 67,140,168,170,161, 40, 75,
-226, 56,224,115,164,170,106, 84,134,177,223, 72, 38,135,110, 56, 95,175,153,133,204,230,244,156,243,245,134,251,119,110,242,215,
-127,249,115,116, 81,224, 94,251, 2, 62,121,170,166,224,195,207, 62,101, 28, 61,119,111,223,228,254,189,219, 92,172,183,156,173,
- 54,104, 91,112,255,213,151,233,186, 45,199,207,207,216,172, 6, 82, 24,248,236,243, 19,108,140, 9,180, 28,124, 69, 49, 41,145,
-135,145,162, 40,201,104,140,211,252,197,179,196,223,122,121,193,175,158,109,249,228,164,135, 17,118, 42,216,245, 40,105, 79, 65,
- 27,222,190,213,112,119,105,120,180,138,252,244,153,225,176,203, 20,206,146, 39,104,123,213, 1, 89, 20,150,114, 38, 38,158,110,
- 19, 47, 45, 52,103,109,224,209, 69,224, 91,119, 44, 79,214,137,127,243,216,163,141,108, 86, 41, 38,238, 46, 12, 87,106,205,170,
-143,252,240,190,229, 95, 62,178,196, 73,141,111,173, 6, 4, 6, 97,130,213,173, 50,116,161, 99, 87,136, 16, 96,130, 89,157,192,
-140, 57,202,159,209, 18,191, 57,140, 3, 41, 38, 9,122, 49, 2, 71, 22,133, 52, 52,133,148, 40,157,196,179, 42, 37, 28,104, 74,
-242, 28,144,193, 85,133, 32, 23, 65,190, 6,128,168,233,165,168,165, 85, 6,165,224,208,151,212, 13, 60,233, 34,111, 41,232,146,
-165,106, 12, 23,189,192,151, 15, 47, 34,133,171,121,214,101,222, 70,177,246,162,176,127,116,186,226,119,239, 20,188,251,124, 75,
-196,240,233,185,229,141,171,134, 46, 25,254,163, 55, 10,254,201,175, 59, 81,207,193,101,210, 94, 81, 20,151, 10, 94,128,152,130,
- 36,105,201,111, 67, 43,248,191,223, 59,226, 15,222,184,206, 55, 95,156,241,254, 81, 75, 76,153,170,169, 17, 5,184,165, 44, 69,
- 88, 4, 96,245,174, 98, 86,134, 7, 77,230, 23,143, 54,252,193,151, 14,200, 28,240,139,199, 83,234,150, 43,248,224,176,229, 31,
-126,243, 5,172, 86,252,207, 63,126, 38,143,171, 44,249,103,239, 60,227, 15,223,188,205,149, 89,193,106, 76,252,228,137,199, 22,
- 50,132,236,218,194,118, 66,171,161,235,249,175,127,255, 21,254,167, 31, 63,199,104,205,159,126,120,198, 15,190,120,133,239,125,
-233, 6,191,120, 36, 49,189,164,196,191,124,247,132,239,190,126,192, 31,188,121, 83, 2, 59,128,127,252,127,125, 34,209,183,141,
-192,151,110,226, 93,141,173,113,198, 16,156, 69, 66, 84, 18,170,220, 93, 47,162,172,206, 57,177, 90,201, 69,201,102, 55, 86,202,
- 15,165, 36,144,100,231, 24,144, 3, 93,113,124,124,140,248,165, 21,203,253,125, 36, 58, 87,242,221, 33,139,189,113, 66,123, 98,
- 20, 27,141, 86,242,243, 4, 56, 91, 82,213,210,237, 46,105, 94,137,217, 98, 65,223,247,114, 56,175, 86, 2,105, 23, 82,108,132,
- 18,113, 85,142,137,186,169, 24, 71,113, 95, 40, 20,171,243,115, 92, 89, 80,150,194,135, 26, 99,233,186, 45,104, 51, 69,236, 38,
-156,179, 84,165, 12,113,179,153, 60,239, 90,203,115,148,147, 84,119,142,195,136,115, 5,179,102, 70, 24, 60, 62,250, 75,136,184,
- 44, 74,129,159,157, 8, 89,199,224,153, 55, 53,125, 24, 5,214,118,226,170,168, 84,198, 88,241,254,251,161, 39, 89,177, 31,166,
- 28, 25,123,137,123, 85,206,226,202, 18,149, 96,189, 93,177, 88, 44,216,180, 45,219,237,154,162, 40, 25,166,216, 83,101, 20,202,
- 77,240,126,150,132, 70,101, 20, 77, 51,163,177, 53,193, 7, 6,111, 81, 8,146,150, 50, 12,109, 55, 57,102, 32,134,145, 97,144,
-215,175, 44, 29,206, 86,244,125, 71, 70,188,226,219,205,150,139,139, 21,243,197,140,224, 35,101, 51, 35,120, 17,112, 22,206,201,
- 81,161, 53,218, 72, 76,246,102,122,124, 99, 28, 48, 38,147, 19,104, 43, 67, 2,136,237, 52,198,132, 50, 34, 76,148,115, 71,116,
- 10, 33, 4, 80,134,186, 46, 25, 7, 77,215,182, 20,181, 68,188,230,156, 88,175,214,211,249,136, 36, 67, 14, 35, 49,100,234,122,
-134, 8, 24, 19,166,156,154, 15, 83, 20, 1,105,204, 68,173,217,108,215,148,101,141, 85, 89,138,109,178, 68, 86, 55,179, 70,212,
-252,126, 36, 90, 79, 93,213,244,163, 68, 48,215,179, 25,227, 40, 46,153,156,225, 98,189,146, 20,202,156, 89, 44,132,211,183, 90,
-226,187,215,235, 53, 34, 2,213,204,102, 66, 9,173,214,107, 78, 79, 79, 88,204,151,204,230, 51,138,186,132,152, 73, 89,244, 42,
- 99, 28, 57, 59, 61,226,224,250,125,106,247, 50, 57, 42, 10, 74,116,123, 66,191, 57,196, 52, 55,185,249,242, 91, 28, 92,125,147,
- 56,244,172,207, 62,102,243,244, 1, 55,246, 10,150,123, 11,246,155, 37,103,167, 71,156,157, 60,103, 86, 21, 20,213, 28,239,159,
- 18,182, 37,231,195,154,245,249, 12,223,157,208, 92, 9, 83, 8, 82, 64, 37,113, 75,157, 30,159, 74, 84,178,147, 80, 26,109, 45,
- 67,219,177,183,220, 67,208,184, 36, 3, 75, 12,204,103,115, 64, 74,200,230,243, 5,213,100, 81,221, 45, 27,219,173,124, 62,203,
-178,160, 31,123,206,207, 79,209,214, 82, 92,234, 67, 42,102,141, 19,202, 98, 18, 11,174,215, 27,198,126,192, 40,176, 69, 65,191,
-222,146, 99,135,118, 6,109, 44,154,132, 15,153,143, 31,159,176, 60,184,130,213,240,241,195,143,152,207,230,248, 35,184,255,242,
- 29,110, 94,185,202,131,195, 39,148,206,145, 47, 34,123,117, 37,133, 94,193,147,148,226,230, 11,215, 56, 57, 60,165, 90,236,209,
-133, 17,117,227,165,151,243, 24, 36,213,136,105, 26,159,213,211,100, 17, 70, 22,243,134,174,107,177,206,241,253, 23, 11,158,110,
- 34, 49, 6,148, 86, 24,227, 72, 49, 18, 98,224,171,183, 27,254,230, 73,199,195,139,192,160,170,233,141, 43, 91,128,181, 83,243,
- 86,148,109,183, 48,194,241,161, 51,111, 94, 17,126,252,163,149, 37, 36,137, 93, 44,139,146,126,236,169,156,116,175,203, 68, 37,
-188,198,215,110,215,188,121, 77,243,108, 19,248,215, 79, 52,253,244, 65, 69,107,140,158, 26,151,166,240, 16,177, 23, 41,180, 50,
-196, 48,146,149, 18,248,202, 75, 50, 86,233, 10,146,206, 40,126,147,224,150,145,203, 90, 4, 31, 2,151,146, 51,214, 73,151, 58,
-211,175,203,223,171,167,225, 70,161, 53, 16, 37,104, 69,101,112,149, 67, 43, 65, 17,164,243, 91, 42, 81,181, 17,155,214,238,207,
- 41,148,252,191, 36, 16,217, 14, 42, 26, 67,164,107,183,228, 12,195, 32,157,210,218,218, 75,107,159,179, 18, 6,179, 83,179,106,
-163,177, 88,178,202,108,219, 13,179,122,198,182,237, 80, 58,115,113,118, 78,140,114,160, 43, 5,101,237, 40, 92,197,208,247, 20,
-133, 28,178, 95,187,123,192,253, 43, 13,127,242,209,150,205,102,195, 78, 69, 46,155, 65, 35, 30,251,148,177,133,100,189,167, 20,
- 64, 11, 39,105,148,136,201,178,151, 65, 44, 42,133,193, 76,147,124, 36,103,129, 46,125, 24,136, 99,164,158,207, 88,204,102,151,
- 16,161, 32, 42, 82, 66,179, 94,173, 4, 57,209, 26, 63, 14, 52,243, 5,227,216, 51,108,101,155, 50,206,161,221,212,185,173,192,
- 90, 39, 23,164, 15,236,124,169,222,123,129,216,149,153, 4,157, 6,235,204,255,215,212,185, 44, 57,146, 92,103,250,115,247,184,
- 33, 2, 64, 34,171,216,205,238,166, 52, 50, 45, 40,141,141,233, 5,180,158,247,153,103,224,219,205, 86,102, 99, 54, 27,173,164,
- 33,135,236, 98, 87, 86, 34, 1,196,197,175, 90,252, 30,104, 46,203, 44,179, 18,136,240,203, 57,255,249, 47,188,190,190,106, 70,
-185,174,204,243, 76,138, 34, 72,118,157, 98, 75,167,105, 34,231,204,251,251,187,222, 17,122, 71, 49,198, 10,207, 59, 90,235,196,
-144, 13, 1, 87,139,200, 84,164, 30, 72, 49,202, 27,190,100,186,110,224,112,232, 41,136,185,154,115,170,127, 51, 97, 44,136, 88,
-148, 72, 49,243,219, 31,190,231, 48, 78,124,253,250, 11,135,195,129, 28, 21,215,234,189,162, 83,115,140,207,181, 34,114,146,198,
- 62,178, 11,181,245, 61, 0, 40, 6, 52,212,131,255,124,126,161,235, 26, 30,203,204,161,250,148,207,143, 7,195,112, 0, 83, 52,
-191,142, 81, 38, 74, 81, 22,164, 24,193,177, 41, 41,202,179,239,122, 74, 74,224, 12,166, 40,236,199,212, 61, 32,168, 74,136, 80,
-169,112,242, 62,143,191,126, 92,177, 69,251,191,237,218,218,181, 75, 34,181,203, 21,219,190,193, 25,153, 79,221, 31, 55,160,218,
- 14, 59, 67,204, 50,202,161,160,130,203, 72, 71, 61, 77, 19, 20,184,207,119,216,215, 77,210,172,185,105, 6,141, 17,182,141,151,
-179,208,156,219,253, 74,223,138,111,144,129,156, 50,199,151, 35,141, 21,196, 92,128,211,254,179,215,107,221, 35,134,211,233,132,
- 49,202,174, 31,122, 53, 59, 88,237,247,199,227, 70, 8, 34,217,198,148,216, 21, 52,214, 37,214, 85,126, 1,187,228,209, 88,203,
- 52, 42,140, 38,133, 68,211,137, 88,233,183,149,174,111, 49, 78, 77,143,197, 62,125,222,115,145,134,122, 93, 87,166,227,137,224,
- 21,109,188,219,241,166,156, 89,214,149,174,109,235,120, 16,114, 73,244, 93,203,252, 88, 16,143, 66,110,132,203,178,208,247, 3,
-203,242, 80,241,242,120,208, 87,247,186,199,227,129,181,150,105, 26,121,204, 66, 10,166, 73, 22,216, 49,104, 84, 82,138, 98,179,
- 95, 78, 39, 0, 62,174, 31,132, 24,158,197,119, 41,165, 58,252, 9,217,108,154,134,190, 85,241,153, 73, 88,219,176, 5, 79,223,
- 12,252,254, 95,254,149,235, 60,177,172,129,156, 86, 44,153,156, 35, 93,127, 33,185, 9,131,163,132, 27,113,125, 99,190,254, 39,
- 54,222,232, 90,135,197, 50, 93, 62,131,129,243,229,147,172,174, 23,207,234,103,190,190,221, 88, 99,166,164,192,116, 50,204,239,
-127,101, 91,103, 5,216,196,200,241,120,228,246,184,113, 58,190,212, 2, 54,179,108, 1,103,149, 79,241,120, 60, 56, 12, 7,154,
-166,146, 21, 75,225,126,159, 57, 30,229, 47, 81, 12, 44,143, 5, 31, 87,230,251,194, 99,190,211,183,106,152,138, 19, 34,234,156,
-163,105,101, 33,220,181,213, 67,128,130, 69, 97, 99,195,120, 32, 39,221,135,228,204,253,126, 35,231,140,181,144,125,196,149,204,
-208, 56, 82,178,188,190, 76,124,250,116,225,183,223,125,230,118,191,241,229,151, 95, 72, 65,205,194,233,120,224, 47,127,253,133,
- 63,127,249, 66,223,117,188,158, 95, 88,214,192,241,114,100, 89, 87,200,137,142,140, 57,126,247, 67, 41, 20,198,241,136,143,146,
-110, 12,135, 3, 41, 4, 94,206, 39, 40, 89,135, 37,134,206, 57,254,251,103, 25,103,236,115, 2,153, 36, 88,254,239,207, 43,133,
-150,143,251, 77,176, 88,237, 8, 93,133,242, 0,233,112, 83,196,162,142, 42,231, 44, 63,246, 82,248, 63, 95, 60,214,181,181, 75,
- 20,241, 44,231, 12, 86, 11,199,100,170,230, 78,255,117, 6, 54,191, 9, 74,107, 44, 57,232,103, 73,114,167,138,169,106,101, 83,
-161, 24, 3, 70, 46, 96,214, 74,190,131,115,144, 18,166,105,100, 11,106, 1, 44, 37, 87,247,176, 40,102,172, 65,190,230, 41,213,
- 9, 93, 17,228,215,182, 10,238,176, 77, 67,197, 9, 68,228,177,246,249,189,199,113,170, 4, 44, 29,182, 57,103, 78,117,115,148,
- 82,184,221,110, 24,163, 3,224,120, 56,176,134, 80, 9, 58,154, 53,198, 36, 40, 52, 91, 91,159,153, 32,195,156, 50, 33,122, 82,
-144, 54,247,229,124,102,219, 86, 14,253,129,251,253,142, 49,133, 97, 16, 68,215,182, 13, 31,215, 43, 93,223,241,113,171, 29, 40,
-133,190, 85, 97,245,191,254,231,239, 41,165,112, 93, 35,255,251, 63,102,222, 86,185,215,125,123,127,167,228,204,186, 6,134,161,
- 37, 70,121, 98,239, 36,192, 76,253,210,104,252,208, 58,135,109, 13,173, 83, 71,178,255,156, 15, 34,158,152,162,223, 9, 91,192,
- 96,233,186,150, 97, 26,232,218,134,109,211,220, 91,114, 51,133,139,244,189,236,118,119,184, 95,107, 72,186,249,146, 11, 57,201,
-135,125, 24,196,158,166, 64, 12, 43, 52, 86,227, 15, 0, 84, 84,236,114,166,203,229,194,234, 87,186,166,161, 20, 93, 94,187,212,
-200,212, 2, 84,142,116, 15,166, 81,129, 28,126, 91, 73, 89,169,111, 33,120,218, 78,198, 32,165, 40,122,213,111, 27,198, 57,161,
- 2, 64, 74,169,162, 71,178, 89,213,133,151,217,230,149,226,116,249,218,186,126,150,251, 3,156, 36,108,231,243,153,219,253,206,
-167,207,159,101,246,212,183, 52,214, 65, 42,164, 34,200,181, 32, 55,192, 16, 2, 77,245, 72, 88,183, 5,249, 10, 56,142,199,233,
-215,226,232,118, 99, 60,142,148, 92,176,182,193, 88,232,186,150, 28, 35,183,251, 93,114,180,146, 9, 62, 84,227,156,142, 98, 44,
-231,203, 11,100, 17,250,118,123,213,253,130,147,196,113,119,171,179, 28,167, 19,243,178,114,191,125,232, 29, 88,203, 79, 63,253,
- 68,240,158,219,252, 96, 28,122, 12,213, 38, 24, 88,171, 94,127, 91,150,167,242,228,227,126,163,228,200,249,244, 66,211,200,156,
-197, 24, 56, 29, 79,234, 62,209,161,121,123,127,231,248,242,194,208, 75,239, 63,207,179,198, 17,206,242,243,151,159,235,186, 3,
-107, 13,198,128,117,150,177, 31,184, 94,175,140,211,132, 49,133, 20,147,236,115, 15, 7, 76, 35, 2, 98,223,247,228,162,200, 86,
-139,227,250,241, 78, 41, 5,103, 13,175,151, 87,156, 83, 10, 94, 8,190,206,229, 13,247, 90, 16, 58, 39,147,165,166, 21,217,112,
- 24,250,234, 59,191, 39,204, 57,166,211, 72,168,169,140, 49, 74, 50,183,159,109,235,250,192,251,122, 65, 26,195,216,244,132,232,
-159, 69,122, 65, 69,200,178,136,112,152, 49,116, 53,110, 58,166, 68, 73,137,109,147,193,209, 22, 2, 14, 40,166, 48,223, 31, 88,
- 35, 30,193,241,120,228,118,187,113, 58, 77, 60,101,201, 70, 68, 81, 16,162,103,173,197,135,136,247, 27, 37,107, 45, 29, 14, 7,
-214,117,227,124, 62,178, 46, 27,166, 49, 28,250, 94,146,196,176,255,237,138, 4, 26,199, 97, 24, 88,183, 25,231, 26, 46,151, 11,
-123, 78,128,143,129,184, 37,166,211, 68,223,141,252,246,167,223,243,246,245,157,235,199,131,214, 21,188, 95, 57,141, 61,166,157,
-216, 66, 33,196, 66,242, 55, 76,222, 56,182,134, 71, 94, 41, 94,151, 73, 74,133,182,111,121,185,124,230,187,239,127,228,114, 62,
-178,110,158, 63,253,199,191,179,249, 13, 72,252,252,245,207,213,246, 86,225, 64,253,161,231,113,127, 96,145,164,205, 89,199,235,
-229,162, 6, 41, 38,222,174,223,200, 49,241,250,250, 9,107, 91,214,117,195, 82, 8,193,115,121,125, 1, 11,223,190,126, 99, 89,
- 36,229, 76, 69,161, 59,121, 71,132,178,198,196,141,117,188,124,190,112,232, 15,213,154, 89,196,220,161, 31, 48,141, 37, 70, 79,
-215,180,228,156,184, 94,175, 24,227,248,252,249, 19,239,223,174,196, 24,120,121,121, 33,250,133,235,219,149,109,126, 48, 90,205,
-250, 59,107,248,225,251,207, 24,211,242,221,111,190, 83,145,213, 21, 73,236,214,141,113,232,248,242,229,157,247,143, 25,215,203,
-140,202,117,199,211, 31,134, 67,245,250,118,191,206,254,114,154, 75, 0,236, 0, 0, 14, 85, 73, 68, 65, 84, 22, 73,101, 56, 28,
- 40,177,208,245, 45,141,133, 55,239,120,219,224,109, 45,124, 93, 10, 95, 55,248,186,138, 21,171,217,180, 36, 26,174, 17, 27,216,
- 88,121,104, 15, 67, 79,201,210,120, 90, 43,211,141,182,109,248,237,177,193, 88,195,219, 86,212, 9,185,218, 9, 85, 34, 70, 99,
- 29,100, 93,102, 33, 40, 43, 58, 4,117, 48, 41, 41,204, 35,108,155, 14, 41, 35, 51, 14,221, 2,234, 38, 10,130, 57, 75,145,179,
-144,177,186,224,173, 83,134,182, 41,234,180, 98,204,184,162,207,208, 56, 17,128, 82,133,210,219,166,161, 27, 6,105,144,157,131,
-178,123, 98, 75, 34,100, 43,172,216, 84, 54,173,117, 13,227,216, 75,147,158,148, 61, 28, 98,228, 56, 77,164,148,116,153,120,165,
-166, 57,163,164, 48,219,182, 88,171, 88,201, 20, 21, 64,211, 15, 67,237,194, 42,177,171,173, 48,178,117, 24,168,210, 26, 43,205,
- 42,114,222,218,163, 43,141,181,248,176,137,169,237, 28,185,232,162,239, 58,197,229,134,109,133,214,241,111,127,122,240,239, 55,
-248,183,255,252,198,219,125,101, 11, 91,237, 38, 13, 49,200, 68, 67, 27, 93, 78, 91, 41, 37,194,166,192,136, 84, 20, 56,145, 75,
- 33, 91, 67,218, 60,177, 94,118,182,105, 72, 33,177,250, 72, 88,107,174,187, 53, 20,189, 26, 10,130,202,230,101,169,239, 84, 69,
- 88,219, 52,140,195,128,179, 6,103, 45,174,105,158,157,157, 64, 19, 65,222,125, 63,208, 15, 74, 40,147,220,102, 3, 43,253,242,
- 62,183,182, 86, 44,100,107, 12,231,151, 23,172,115, 88, 35,130,157,115, 82, 48,236, 57,215, 93,215, 17,163,100,141,165, 20,134,
-113,164, 31, 42,140,237, 28,203,166,196,179,156,228, 71,222,182,213,159, 60,137,161,189, 51,128,173,181,218, 51, 69,197,147,179,
- 86,240,178, 83,128,198, 56,142,140,227, 81, 16,116,140, 80, 17,145,177,151, 60,204,214, 34, 41, 39,201,167,118, 31, 6, 31,148,
-217,190, 75,192, 66, 12,172,203, 10, 5, 14,227, 1,185,136,173,207, 98,168,237,123,158, 76,255,232, 73, 89,107,170,109, 91,172,
- 51,248,109, 67,153, 15,158,176,220,201,214,241,242,114, 98,153, 85, 80, 96,228,255, 62,207,119,230,101,150, 12,172,238,163,125,
-127,133,160, 24,101, 99,149,170,120,185, 92,100,124,147,170, 75,151,209,200, 0,224,118,191, 97, 16,186,165,132, 64,153, 63,249,
- 45, 80,138,138,221,143,143, 43,227, 65,115,255,219,227,174, 46,185,235,113,214, 62, 37, 90, 49,168, 0, 44, 69,172,101,231,108,
-101,139, 79,156,207, 39, 78,211,145,148, 19,227,112,224,126,187, 17, 83,100, 91, 87, 68,140,109,171, 30,220,203,142, 53,138,101,
- 62, 12,154,183, 90,231,216,181,215,182,158, 67, 93,219,212, 51,171,118,161,125, 47, 83, 35,219, 16,147,162,165, 77, 41, 52,174,
- 90,108, 35,168,125, 24, 6,134,161,197, 89,169, 99,230,249, 65, 74,153, 20,101, 98,212,180, 45, 77,211,161,160,155, 12,197,168,
-144,175, 72,200, 60, 43,128, 40,103,161, 83, 80, 83,242, 74, 86, 67,179, 44, 26, 13,244,125, 53,174,129,156, 18,201, 71,205,112,
-205,175,129, 69,216,204, 60,175,152, 44,164,100,183, 2, 14,245,243,110,222, 87,190,199, 64,202,137,195,112, 96, 89, 84,240,184,
- 70, 81,211, 62,250,154,218, 87,221, 51, 77, 97, 89, 54, 17,249,166, 81, 49,189,141,171,151, 60,244,125, 53, 5, 10, 26,183, 62,
-230, 7,126, 91, 89,230, 15, 62,191,190,112, 24, 26,242,122,101, 58, 54,252,227, 63,254,158,151,227,145,134,141,184,124, 99,234,
-224,119, 63,126,162,111,224,242,233, 71,126,243,195,239, 56,159, 94, 57,191, 92,104,108,195,251,199, 27,215,183,191, 18,214,111,
-216,182,193, 53,142, 57,172, 92,223,127, 86,129, 82, 11,150,241,120, 20, 25,181,109,193, 89, 53, 22,130, 5,233,187,142,143,219,
-141,249,227,131, 12, 44,203, 42,187,221,117, 22,250,156, 19,167,227,132,171, 77,218,253, 49, 51, 28,122,134,190,231,244,162,248,
-234,105,154, 24,107,240, 86,206,138,252,117,141, 37, 38,101, 56,116,125, 75, 76,213,166,119,213,115, 63, 30, 71,188,247,202,238,
-200,114,149, 60,157,206, 52,206,226,218,142,195,113,226,112, 58,225, 14, 35, 25, 73,183,115,129,144, 19,203,250,160,235,122,254,
-252,243,149, 20, 3,247, 77,161, 75,197, 90,114,201,252,221,143,223, 97, 1,119,249,254,199, 63,108, 62,144,139,161,117,178, 22,
-117,206, 17, 99,168,139, 93, 78, 87, 90,124, 98,199,199, 20,185, 94,175, 44,243,242,180,159,116, 85, 30,211,181,186,164, 93, 61,
-232, 4, 21, 26,114, 12,148, 90,165,108,219,198,158,241,252,243, 45,240,229, 46, 2, 72,142, 9,191,110,132,117,227,241,184,211,
-181, 45,247,219, 77,225, 10,233, 87, 56,212, 53, 13, 6,158,255,127,219,138,237, 46, 59, 64,193,118, 33, 69, 74, 80, 55,130, 81,
- 37,213,184,134,156, 10,228, 92,225, 76,232,134, 14, 76,133, 54, 75,193,123, 79,244, 98,189, 75, 71,106, 73,245,162,114,206,233,
- 98,168,223,105,135, 31, 13,144, 75,161,107, 45,198,128,177,234,190,141,149,182, 31, 98, 45, 6,204, 51,133,203,236, 23,130,115,
- 53,209, 39, 83, 74,169,217,220, 42,176,250,182,165, 24,165,146, 61,185, 0,126,171,159, 71,196,169,177, 31, 84,180, 36, 25,104,
-172,155,236, 85,187, 86,135, 97, 72,137, 61, 85,107,158,133, 56, 88, 11,109,127,224,245,242,153,166, 17, 19, 56,134,200,120,152,
- 84,125, 71, 89, 23,182,174,193,135, 32,187,212,182,129, 10, 11, 82, 59, 11, 44, 66, 61,114,160,248, 72,113, 21, 42,110, 28,109,
-211,178, 6,205, 8,117, 12,169,170,133, 2, 57, 81,140,229,208,247,136,168, 25, 33, 6,166,227,137,174, 83, 14,253,182,109, 98,
- 66,119,146, 8,165,160,153,110,206, 25,178,114,166, 91,215,224,154,134,214,233,239, 89, 39,164, 69,242,167, 68, 66,102, 64, 42,
- 38,101, 54,130,129, 24,115,229, 6, 20,150, 69,134, 60,109,219, 19,146,103,143,206,237, 42, 74,163,215,108, 43,159, 64,204,211,
-221, 4, 37,212,103, 99,234, 59, 44, 73, 69, 79,223,245, 26,207, 88,171,184, 86,235, 48, 78,113,167, 77,227,120,220,111, 60,238,
- 11, 44, 51, 63,252,195, 63,208,119, 29,183,199,131,195, 56,202,201, 46,139,251,112, 62,157,104,218,134,101,145,108,169,235,164,
-125,223,255, 70, 65,209,200, 26,233,236,126, 14, 26, 13,200, 12, 71,207,191, 0,166,136,227, 97,138,246, 2, 70,251,103, 11, 30,
- 91,187,126,211, 88, 78,211, 9,139, 97, 89, 87,205,222,187,129,113,156, 24,250,142,182,235, 24,134, 3,195, 32, 45,115, 41, 50,
-211, 25, 70,133, 3,149,146,184,125,220,217, 54,197,199, 62,238, 15,117,189, 77,131, 41,202, 3,143, 41, 19,194,246,180,225, 61,
-158, 39,166,105,122,158, 11,235,178,208,238,103, 80,202,116,109,143,181,186, 40,183,117, 99,154, 70,142,167, 19, 25,217,202, 58,
-251,171,235,224,227, 33,253,127,215, 10, 37,137, 65, 54,205,135,218, 65, 7, 31,159, 69,154,126,215, 9, 58,143, 53,176, 38,122,
-134,126,160, 63, 40, 94,117, 31,185, 24, 91, 45, 84,123,249, 93,128, 56, 8,206, 58,186, 65,114, 57, 80, 19, 65, 46,228,146, 53,
-106,171, 29,251, 60,207, 28,143, 39,196,167,200,245,188,145,108, 87, 94, 3,253, 19,113, 10, 73,242,170,182,147,174,189,237,187,
-103,184, 76,211, 72,102,107, 10,250,187,219, 90, 17, 26,101,189, 15,117,239,104,238, 46, 68, 39, 4,153, 44, 57, 35, 37,205, 90,
-141,144,140, 1,138, 70,122,187,220, 19, 35, 52,199, 86, 94,128,102,199, 10,144, 26, 15, 35,141,211,216,171,152,140, 53,130,254,
- 99, 82, 64,140, 69, 60,152,182,239,100,156,211,171, 9,218,145,193, 29,201,241,219,194,199,253,141,199,253,157,152, 55,110,183,
- 27, 95,190,252,127, 92,107, 25,198,145, 79,159, 63,209, 52,150,191,252,242, 51, 95, 31, 55,126,249,229, 47,124,251,250, 23, 66,
- 88,176, 46, 97, 27,195,229,101,162,233, 45,239,183, 27, 95,223,190,176,172, 55, 82,146,225, 23, 6,154, 78,170,131, 16, 35,253,
-208,211, 54,202, 85,232, 91,237,203,152, 18, 33, 5,250,182,231, 48,141,116, 93,199,230,245, 92, 82, 86,110, 65, 73,137,166, 21,
-129, 52,198,192,182,174,248,202,187,242, 81, 77, 64,215,201,188,167,109, 91,188,223,248,120,255, 70,223,117,156,166, 19,125,171,
-166,102, 60, 28,104,156,101, 24, 58,160, 54, 54,165, 84,196, 90,118,199, 33,101,230,135,252, 6,188,247, 76,199,145,166,237,104,
-186,129,225,116,226,254,113, 35,230, 82,243, 17,116,201, 59,219,211,119, 35,215,249, 70,235, 12, 63,255,245, 23,166,227,133,109,
- 91,113, 47,223,255,248, 7, 57,156,117,228,168, 44,244,117,173,241,141, 93,139,179,130,178,223,222,222,184,221,239, 60,150, 71,
- 13,217, 16,252,233, 58, 17,124,230,121, 37,248, 21,103, 84,101,110,155,242,150,173,181,220,110, 31,210, 83, 86,167,178,174,211,
-124,249,126,251,224,126,127,176, 60, 30, 44,243,194,253,118,103, 89, 87,124,237, 94, 98, 12, 90, 68, 41,226,183,149,213,123,214,
- 69,129, 31,222,111,132, 77, 22,169, 49,200, 30,116, 79,210,218,115,160,155, 70, 7,105, 73, 69,164,146,248, 43, 31, 96,223,132,
- 5,109, 66,101, 25, 43,184,230, 48,142,130,229,114,126, 22, 10,198, 90,138,217, 97,215,204, 26,106, 20,167,113,244,125, 87,253,
-154, 97,119,125,235,219,166, 30, 8,170, 14,151,213, 51,175, 51, 32,111,237, 20,117, 8,199,156,235,115, 73,114, 50, 74, 74,134,
- 75, 69,197, 1, 69,240, 78, 74,117,131,230,252,236,152, 74,206, 28, 70, 5,162,228,148, 43, 36, 46, 84,165,100, 88,183, 77,135,
-124, 74, 52, 77, 67, 8,137,203,249,194,203,229,149,113, 60,210,182,114,123,123,204,218,132,166, 49, 4,191,103, 0,151,170,185,
-149, 17, 79, 14,158, 28, 2,164, 4,109,207, 48, 42,104,194,182, 45,182,237,200, 70,159,149, 92,112,109, 71, 65, 5, 82, 49, 64,
- 54, 80,231,163, 56,205,128, 89, 61, 49, 40, 60,133,146,161,177, 4, 31,136, 89,208,125,204, 42,114,214,109,211, 12,175,190, 3,
- 99,170,225,135,181, 80, 10,214, 64, 49,242,172, 95,231,133,152,180, 41,149,165,221, 67,222,173, 94,115, 37, 17,106, 46, 90, 12,
- 21,154, 54,164, 36,149,128,113,114,253,243,222,179,109, 1,191,121,252,186,214,185,105,199,186,137,141, 28, 99,124, 34, 11, 77,
-167,142,100,215, 84,191,156, 79,196, 20,249,238,251,239,105, 92,203,227, 33,217,143,116,217, 74, 6, 11, 33,210,118, 45, 63,253,
-253,223,243,250,242,194,199,253,131,199,227, 78, 41,242,242,126,125,125,149,182, 27,139,223,212, 81,205,243, 90, 71, 0,210,190,
- 55, 77, 3, 89, 29, 69,140,241,121,241, 77,211,164,207,234, 61,109,211,171,219,236,196,198,246,161, 34, 90, 22,114,142,204,143,
-153,243,233,196,233,116, 36,132,192, 52,158, 53,175,221, 86,198, 65,243,215,195,225,128, 12,118, 60, 22,199,178,173, 42,168, 27,
-185,117,197, 16,153,231,149,233, 48,242,237,253,157,157, 43,242,250,233,149,105,156, 24, 58, 57,157,133, 32, 91,228, 67,223,211,
-246, 67,157, 75,110,108, 62, 48, 77, 71,198,241,192,245,237, 27,185, 20,124, 8,213,105, 49, 35, 47,117,234,243, 81, 55,218, 15,
- 42, 6,215,154,233,222,247,154,225,150, 82,240,171,244,238,174,145, 82, 67,207,197, 85,223, 1,217, 77,203,234,183,199, 26, 87,
- 3, 95, 84, 20, 72,153,163, 56,103, 17, 12,103,233,182, 87,253, 13,191,122, 66,148, 78, 60,166, 68, 88,189, 46,211,126,160,237,
-123, 89,179, 30, 6,173, 63, 12, 57,203,153,176,235, 53, 98,108,218,134, 82, 34, 49,232, 82,177, 70,196, 68, 53, 81, 25, 87,207,
-171,190, 23,186, 33, 55, 52, 95, 81, 39,131,175,141,144,173, 78,132,109,219,114,156, 38,168,251, 68,231, 25, 76,135, 3,185,228,
-218,177,235,140,235,251,254,201,145,136, 81,159, 11,224, 56,141,164,146,113,141, 5, 99,241, 91, 96,173, 69,132,247, 10, 67,105,
-219,150, 82, 52,142,212, 25,147,159, 5,110, 74,137,121,153, 89,182,141,105, 26,240, 94,239, 52, 6,241, 66,250,174, 37,149,204,
-186,120,250,182,161, 96,160,128, 53,106,200,114,146, 83,223,252,184, 19,194,131,247,111, 95,184, 47, 55, 98, 86,198,196,222,233,
- 90, 7, 49, 4,238,243, 85,163, 65,178,194,113,234,103,185,221, 62,104,218, 22,231,148, 61,225,156, 35, 4, 89,102, 27,148,159,
-225,189, 66,114, 54, 95,209,185,190,211,217, 90,132, 32, 31,143, 19,206,137, 67, 19,162,103,243, 43, 33,200, 35,192, 53, 78, 72,
-216,208, 85,142, 19,207,177, 18, 69, 41,151,125,219,242,152, 31, 56,167,188,136,224,149,218,121,191,127,232,188,136,158, 63,254,
-241,143, 88, 7,183,235, 13,239,229,172,249,254,237, 27,165, 20,250, 65, 89, 24,146,160,194,219,219, 27,215,143, 43,247,109,227,
-177,109, 92,223,110, 60,230,141,227, 73, 5,224,247,151,223,112,156,206,252,240,119,255,141,247,247,159, 25,134, 35,175,175, 47,
-152,223,253,243,191, 20, 31,163, 14,199,176, 34,182,185, 94,160,115,174,194, 52,234, 92,247,185,114,219,245,200,192, 64,241,163,
-198, 88,193,247, 20,117,102,251, 97,153,179,190,115,209,194,181, 86,222,237,187,103,242, 14,111, 83, 15, 88,138,230,243,227, 56,
- 62,103, 61, 90, 67, 50,218,223,188, 32, 95,193,110,142,169, 74,126,118,184,101,247,163, 7,205, 54, 37, 61, 82, 48, 68, 83, 97,
- 36, 5,124, 8, 42,205,200,199, 56,231,244,132,181,247,177,131, 49,210, 42,215, 47,240,156, 33, 27,163,136,208, 93,251,188,207,
- 71,157,115, 28, 90,145,132,156, 83,103, 29, 83,212,198, 12,129,130, 56, 4, 24, 65,144, 57,103, 74,209,124,117, 39,231, 52,141,
-171,135,162,125, 62,235, 92,132, 18,236, 14, 90,214,212, 72, 80,171,120, 70, 91,225, 71, 87,165,125,185, 84,183, 35,239,107,199,
-104,201,185, 16,124,100,183,218,220,181,142,165, 20, 48, 72,118,101, 45, 49,249,231, 37,190, 27, 85,144,249, 21,122,173, 29, 52,
- 70,227,139,156,210,254, 80, 32, 86, 34,136,145,102,118,239,168,169,143,144,156,117,153,215,191,185,255, 44, 24,200, 9,156,197,
- 97,235,179, 55,207,239, 92,114,214, 5,221,117,207, 78, 61, 86, 84,102,127,102,214,238,207, 77,197, 90,168,240,172,115,246,137,
- 14, 88,107,159,105, 91,114, 54, 43, 44,181,208,244, 65, 7,135, 14,221,106,247,234,132,236,148, 82,234,103,214,102,223,201, 64,
-133, 95,215,117, 65,235,162,169,235,117, 28, 39,140, 81,250, 82,215,117,148,162, 2,213,135, 80,139, 43,143, 41,226,174, 12,131,
- 14,194,231,165,239,181, 94, 40,242,209,110,187,246,185, 86,114,206,207,207,178, 67,253, 77,163,247,158,234,158,205, 41,129, 49,
-132, 24, 52,175,173,151,122,206, 10,121,113,214,214,247,184,178,199,156,182,173,186,174,166,105, 89,183,141,130,144,138,191,253,
-190,206, 57,141, 85,156,123,118,166, 49,166,231, 90, 10, 81,240,235,186, 44,250, 59, 78,221,178,247,190, 34, 30,242,115,104,154,
- 61, 28, 70,228,196,117,219, 80,112, 11, 60, 30, 31, 40, 77,108,224, 56, 29,217,188, 7, 3,195,112, 16,127,193,235,121, 30, 14,
-242,203,240,126,211,231,202,185, 34, 52,186, 36, 49,144, 99, 82,126,189,179,236,138, 13,191,249,231,165,222, 52, 13,235,186,233,
-146,161,214,163,200, 10, 89,223,175, 60,247, 96,211,234,236, 96,127,207, 77,163,243, 33, 43, 74,245,111, 57, 25, 79,206, 73,150,
- 99,221,254, 12,158,163,153,122, 62,237,159,197, 57,117,252,185, 72, 29,241, 92, 83, 73,255, 86,193,102,159,255,151,173,231,148,
-181, 42,148,172,173, 99,186,253,247,202,126,193,107,125,238, 13, 76, 74, 21,246,119,226,164,236,200, 96, 41, 26,163, 56, 39,223,
-121,235,246,179, 73,104, 86,170, 4, 47, 21,173,242,127,119,127,115,126,165, 84,131,147,172, 65,241,221,133,189,112, 62,159, 78,
- 66, 88, 42,111,160,212,223,169, 15, 82,223,209, 24,160,136,107,208,183,207, 98,232,215,187, 34, 60,247,246,190,206,246, 34,251,
-112,144,186, 37,132,192,237,118, 35,214,130,107,127, 7,122,206, 58,175,196,187, 41,245, 60, 77, 20, 74,109,202, 76, 29,231,100,
- 40, 26,191,197, 20, 1,233,245, 47,151, 11, 6, 83,173,177,245,220,212,152,118,156, 95,206,116,173, 60, 49,230,121,230,118,251,
- 38,121,120, 41,132, 53,114,122, 57,113, 58,159,105,219,230,185,222,150,117,225,118,191,107,189, 88,141,199, 98, 76, 24, 99, 57,
-157,206, 79,238,140,223, 60, 95,191,126, 85, 99, 75,169, 5, 80,196, 22, 56,247, 3,253, 48,240,195,231, 11, 5,195,208, 31,193,
-194, 63,253,143,127,226,255,253,233, 79,252, 23, 41,188,202,126,100,132,236,135, 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, 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,
};
diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c
index 5f7b342ddfa..2d59e59644d 100644
--- a/source/blender/editors/datafiles/startup.blend.c
+++ b/source/blender/editors/datafiles/startup.blend.c
@@ -1,12505 +1,10691 @@
/* DataToC output of file <startup_blend> */
-int datatoc_startup_blend_size= 399988;
+int datatoc_startup_blend_size= 341924;
char datatoc_startup_blend[]= {
- 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 53, 55, 82, 69, 78, 68, 32, 0, 0, 0,
- 32,137,231, 62,255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 32, 1, 0, 0, 48,136,231, 62,255,127, 0, 0,
- 198, 0, 0, 0, 1, 0, 0, 0, 32, 32, 32, 49, 1, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,248, 60,138, 3, 0, 0, 0, 0,
- 24,188,140, 3, 0, 0, 0, 0, 0, 16, 0, 0,128, 32, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 24, 1, 0, 0, 8,113,137, 3, 0, 0, 0, 0,105, 1, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104,114,137, 3, 0, 0, 0, 0,104,114,137, 3, 0, 0, 0, 0,104,114,137, 3, 0, 0, 0, 0,
- 104,114,137, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,141,111, 4, 0, 0, 0, 0,184,141,111, 4, 0, 0, 0, 0,
- 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 88,117,132, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 2,130, 3, 0, 0, 0, 0, 88, 2,130, 3, 0, 0, 0, 0, 88, 2,130, 3, 0, 0, 0, 0,
- 232, 65,145, 3, 0, 0, 0, 0, 88,117,132, 3, 0, 0, 0, 0,232, 65,145, 3, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,
- 104,114,137, 3, 0, 0, 0, 0,106, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 27,104, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0,229, 0,120, 7, 16, 4, 0, 0, 0, 0, 1, 0,238, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40, 22,126, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,248, 37,136, 3, 0, 0, 0, 0,
- 8,174,105, 3, 0, 0, 0, 0, 8,174,105, 3, 0, 0, 0, 0, 8, 69,145, 3, 0, 0, 0, 0,104, 67,145, 3, 0, 0, 0, 0,
- 56, 68,145, 3, 0, 0, 0, 0, 56, 68,145, 3, 0, 0, 0, 0,216, 69,145, 3, 0, 0, 0, 0, 24,118,145, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0,
- 192, 0, 0, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116,105,111,110, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,206,129, 3, 0, 0, 0, 0,152,117,137, 3, 0, 0, 0, 0,
- 8,118,137, 3, 0, 0, 0, 0, 72,130,137, 3, 0, 0, 0, 0,184,130,137, 3, 0, 0, 0, 0, 56,199,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,248,206,129, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136,244,115, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 136,244,115, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,171,116, 3, 0, 0, 0, 0,248,206,129, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,171,116, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0, 72,113,129, 3, 0, 0, 0, 0,136,244,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,113,129, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 216, 92, 86, 2, 0, 0, 0, 0,216,171,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,216, 92, 86, 2, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 56,180,116, 3, 0, 0, 0, 0,
- 72,113,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 56,180,116, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,183,128, 3, 0, 0, 0, 0,216, 92, 86, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,183,128, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0, 56,180,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 104, 62,126, 2, 0, 0, 0, 0, 8,183,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6, 70, 4, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,104, 62,126, 2, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168,217,128, 3, 0, 0, 0, 0,
- 232, 8,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,220, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 168,217,128, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0,104, 62,126, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7,220, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,168,239,117, 3, 0, 0, 0, 0,168,217,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,132, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,239,117, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 40,147,129, 3, 0, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,132, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 40,147,129, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104,200,129, 3, 0, 0, 0, 0,
- 168,239,117, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2,132, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 104,200,129, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,233,146, 3, 0, 0, 0, 0, 40,147,129, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,233,146, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,184,116,137, 3, 0, 0, 0, 0,104,200,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,116,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 40,117,137, 3, 0, 0, 0, 0,232,233,146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2,140, 1, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 40,117,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,117,137, 3, 0, 0, 0, 0,
- 184,116,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,100, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 152,117,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,117,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,118,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,120,118,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,244,115, 3, 0, 0, 0, 0,
- 216,171,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,118,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,232,118,137, 3, 0, 0, 0, 0, 8,118,137, 3, 0, 0, 0, 0,216, 92, 86, 2, 0, 0, 0, 0,
- 136,244,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,118,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 88,119,137, 3, 0, 0, 0, 0,120,118,137, 3, 0, 0, 0, 0,216,171,116, 3, 0, 0, 0, 0,
- 56,180,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,119,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,200,119,137, 3, 0, 0, 0, 0,232,118,137, 3, 0, 0, 0, 0,216, 92, 86, 2, 0, 0, 0, 0,
- 56,180,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,119,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 56,120,137, 3, 0, 0, 0, 0, 88,119,137, 3, 0, 0, 0, 0, 8,183,128, 3, 0, 0, 0, 0,
- 248,206,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,120,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,168,120,137, 3, 0, 0, 0, 0,200,119,137, 3, 0, 0, 0, 0, 8,183,128, 3, 0, 0, 0, 0,
- 72,113,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,120,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 24,121,137, 3, 0, 0, 0, 0, 56,120,137, 3, 0, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0,
- 56,180,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,121,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,136,121,137, 3, 0, 0, 0, 0,168,120,137, 3, 0, 0, 0, 0,104, 62,126, 2, 0, 0, 0, 0,
- 8,183,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,121,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248,121,137, 3, 0, 0, 0, 0, 24,121,137, 3, 0, 0, 0, 0,168,217,128, 3, 0, 0, 0, 0,
- 72,113,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,121,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104,122,137, 3, 0, 0, 0, 0,136,121,137, 3, 0, 0, 0, 0,104, 62,126, 2, 0, 0, 0, 0,
- 168,217,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,122,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216,122,137, 3, 0, 0, 0, 0,248,121,137, 3, 0, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0,
- 248,206,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,122,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72,123,137, 3, 0, 0, 0, 0,104,122,137, 3, 0, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0,
- 168,239,117, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,123,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,184,123,137, 3, 0, 0, 0, 0,216,122,137, 3, 0, 0, 0, 0,168,239,117, 3, 0, 0, 0, 0,
- 8,183,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,123,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 40,124,137, 3, 0, 0, 0, 0, 72,123,137, 3, 0, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0,
- 168,239,117, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,124,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,152,124,137, 3, 0, 0, 0, 0,184,123,137, 3, 0, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0,
- 40,147,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,124,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 8,125,137, 3, 0, 0, 0, 0, 40,124,137, 3, 0, 0, 0, 0,168,239,117, 3, 0, 0, 0, 0,
- 40,147,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,125,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,120,125,137, 3, 0, 0, 0, 0,152,124,137, 3, 0, 0, 0, 0,216, 92, 86, 2, 0, 0, 0, 0,
- 104,200,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,125,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,232,125,137, 3, 0, 0, 0, 0, 8,125,137, 3, 0, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0,
- 104,200,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,125,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 88,126,137, 3, 0, 0, 0, 0,120,125,137, 3, 0, 0, 0, 0, 40,147,129, 3, 0, 0, 0, 0,
- 104,200,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,126,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,200,126,137, 3, 0, 0, 0, 0,232,125,137, 3, 0, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0,
- 232,233,146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,126,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 56,127,137, 3, 0, 0, 0, 0, 88,126,137, 3, 0, 0, 0, 0, 40,147,129, 3, 0, 0, 0, 0,
- 184,116,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,127,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,168,127,137, 3, 0, 0, 0, 0,200,126,137, 3, 0, 0, 0, 0,184,116,137, 3, 0, 0, 0, 0,
- 232,233,146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,127,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 24,128,137, 3, 0, 0, 0, 0, 56,127,137, 3, 0, 0, 0, 0,104, 62,126, 2, 0, 0, 0, 0,
- 40,117,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,128,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,136,128,137, 3, 0, 0, 0, 0,168,127,137, 3, 0, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0,
- 40,117,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,128,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248,128,137, 3, 0, 0, 0, 0, 24,128,137, 3, 0, 0, 0, 0, 56,180,116, 3, 0, 0, 0, 0,
- 152,117,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,128,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104,129,137, 3, 0, 0, 0, 0,136,128,137, 3, 0, 0, 0, 0,168,217,128, 3, 0, 0, 0, 0,
- 152,117,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,129,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216,129,137, 3, 0, 0, 0, 0,248,128,137, 3, 0, 0, 0, 0, 40,117,137, 3, 0, 0, 0, 0,
- 152,117,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,129,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72,130,137, 3, 0, 0, 0, 0,104,129,137, 3, 0, 0, 0, 0,216, 92, 86, 2, 0, 0, 0, 0,
- 232,233,146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,130,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,129,137, 3, 0, 0, 0, 0,104,200,129, 3, 0, 0, 0, 0,
- 184,116,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,130,137, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,136,134,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 92, 86, 2, 0, 0, 0, 0,
- 136,244,115, 3, 0, 0, 0, 0,216,171,116, 3, 0, 0, 0, 0, 56,180,116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72,208,137, 3, 0, 0, 0, 0, 72,208,137, 3, 0, 0, 0, 0,168,131,137, 3, 0, 0, 0, 0,
- 24,133,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,131,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 24,133,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,133,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,168,131,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
- 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136,134,137, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 24,159,137, 3, 0, 0, 0, 0,184,130,137, 3, 0, 0, 0, 0, 8,183,128, 3, 0, 0, 0, 0,104, 62,126, 2, 0, 0, 0, 0,
- 168,217,128, 3, 0, 0, 0, 0, 72,113,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0,219, 1, 0, 0, 4, 4, 74, 1,220, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 216,157,137, 3, 0, 0, 0, 0,216,157,137, 3, 0, 0, 0, 0,120,135,137, 3, 0, 0, 0, 0,232,136,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,120,135,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,232,136,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67,
- 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65,
- 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 74, 1,
- 31, 0, 74, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,
- 189, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 31, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,232,136,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 120,135,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,165, 67, 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 1,128,156, 67,
- 2,128,222,195, 0, 0, 0, 0, 57, 1, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 74, 1,
- 189, 1, 57, 1,189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,189, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,138,137, 3, 0, 0, 0, 0, 56,156,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,138,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,139,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 57, 1, 36, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,139,137, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152,141,137, 3, 0, 0, 0, 0, 88,138,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 57, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152,141,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,143,137, 3, 0, 0, 0, 0,
- 248,139,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 57, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,143,137, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,216,144,137, 3, 0, 0, 0, 0,152,141,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 57, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216,144,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,146,137, 3, 0, 0, 0, 0,
- 56,143,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105,
- 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 57, 1, 58, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,146,137, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24,148,137, 3, 0, 0, 0, 0,216,144,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 70,117,108,108, 32, 83, 97,109,112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 57, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24,148,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,149,137, 3, 0, 0, 0, 0,
- 120,146,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 57, 1,102, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,149,137, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88,151,137, 3, 0, 0, 0, 0, 24,148,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253, 57, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,151,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,152,137, 3, 0, 0, 0, 0,
- 184,149,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,
- 110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,252, 57, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,152,137, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152,154,137, 3, 0, 0, 0, 0, 88,151,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152,154,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,156,137, 3, 0, 0, 0, 0,
- 248,152,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252, 57, 1, 0, 0,
- 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,156,137, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,154,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,248, 0, 0, 0,216,157,137, 3, 0, 0, 0, 0,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 24,159,137, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0, 8,164,137, 3, 0, 0, 0, 0,136,134,137, 3, 0, 0, 0, 0,248,206,129, 3, 0, 0, 0, 0,
- 40, 14,116, 3, 0, 0, 0, 0,168,239,117, 3, 0, 0, 0, 0, 8,183,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0,131, 0, 0, 0, 15, 15, 44, 6,132, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232,162,137, 3, 0, 0, 0, 0,232,162,137, 3, 0, 0, 0, 0, 8,160,137, 3, 0, 0, 0, 0,
- 120,161,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,160,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 120,161,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,137, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0,128,197, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 44, 6, 26, 0, 44, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,161,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8,160,137, 3, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,
- 112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 18, 0, 0, 0,105, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2,
- 4, 0, 0, 4, 8, 0, 44, 6,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 43, 6, 0, 0, 26, 0, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 6,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,162,137, 3, 0, 0, 0, 0,172, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 8,164,137, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,104,170,137, 3, 0, 0, 0, 0, 24,159,137, 3, 0, 0, 0, 0,
- 104, 62,126, 2, 0, 0, 0, 0, 40,117,137, 3, 0, 0, 0, 0,152,117,137, 3, 0, 0, 0, 0,168,217,128, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,221, 1, 0, 0, 99, 3, 0, 0, 3, 3, 74, 1,135, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,167,137, 3, 0, 0, 0, 0,216,167,137, 3, 0, 0, 0, 0,
- 248,164,137, 3, 0, 0, 0, 0,104,166,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,164,137, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0,104,166,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 66, 67, 0, 0,200, 65, 0, 0, 66, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 74, 1, 26, 0, 74, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, 74, 3, 0, 0, 99, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,166,137, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,164,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67,
- 0, 0,228,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,156, 67, 0,128,173,195, 0, 0, 0, 0, 57, 1, 0, 0, 74, 1, 0, 0,
- 18, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0,
- 18, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0, 74, 1,109, 1, 57, 1, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,221, 1, 0, 0, 73, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,216,167,137, 3, 0, 0, 0, 0,
- 165, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 120,101,118, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 68, 65, 84, 65, 16, 0, 0, 0,120,101,118, 3, 0, 0, 0, 0,219, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,
- 56,169,137, 3, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, 56,169,137, 3, 0, 0, 0, 0,218, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0,
- 20, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 88,207,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,216,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,104, 45,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,228,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,152,138,141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,120,222,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 56,203,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,209,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,104,202,140, 3, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,104,170,137, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,200,183,137, 3, 0, 0, 0, 0,
- 8,164,137, 3, 0, 0, 0, 0, 40,147,129, 3, 0, 0, 0, 0,104,200,129, 3, 0, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0,
- 168,239,117, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,133, 0, 0, 0, 69, 4, 0, 0,
- 1, 1,139, 3,193, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,182,137, 3, 0, 0, 0, 0,
- 56,182,137, 3, 0, 0, 0, 0, 88,171,137, 3, 0, 0, 0, 0, 24,177,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 88,171,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,200,172,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,117, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 98, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,138, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,139, 3, 26, 0,139, 3, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,133, 0, 0, 0,158, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 200,172,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 56,174,137, 3, 0, 0, 0, 0, 88,171,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,
- 143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0,161, 2, 0, 0,159, 0, 0, 0, 69, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,167, 3, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 56,174,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,168,175,137, 3, 0, 0, 0, 0,200,172,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,
- 143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,159, 0, 0, 0,159, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 168,175,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 24,177,137, 3, 0, 0, 0, 0, 56,174,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0,
- 163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,148, 3,163, 0,130, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 43, 6, 0, 0,159, 0, 0, 0, 69, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 24,177,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,175,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,159, 0, 0, 0, 69, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139, 3,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,178,137, 3, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,
- 136,178,137, 3, 0, 0, 0, 0,155, 0, 0, 0, 1, 0, 0, 0,107, 82,144, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
- 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0,
- 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,
- 164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63, 89,180,236, 62,209,249,224,190, 48,180, 81,191,184,158, 81,191,
- 65,158,131, 63,142,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62, 38, 11,117,188,207,156,122, 63,138, 84,228,190, 42, 61,228,190,
- 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65,211, 48,186, 62, 11, 16, 79, 63,144,199, 64,188, 0, 0,135,180,
- 163, 15,188,190,102, 75, 53, 62,223,125, 81, 63, 0, 0,104, 51,207,107,117,194, 81,204,216, 65, 40,156, 5,194,136,247,159,192,
- 121, 62,114, 66,214,253,213,193, 94,225, 3, 66,236, 7,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
- 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 89,180,236, 62,209,249,224,190, 48,180, 81,191,184,158, 81,191,
- 65,158,131, 63,142,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62, 38, 11,117,188,207,156,122, 63,138, 84,228,190, 42, 61,228,190,
- 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, 99,181, 12, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 99,181, 12, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,181, 12, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,
- 214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 14, 43, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 56,182,137, 3, 0, 0, 0, 0,
- 156, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,
- 248,209,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0,
- 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 3, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,183,137, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,104,192,137, 3, 0, 0, 0, 0,104,170,137, 3, 0, 0, 0, 0, 40, 14,116, 3, 0, 0, 0, 0,
- 232,233,146, 3, 0, 0, 0, 0,184,116,137, 3, 0, 0, 0, 0, 40,147,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,159, 2, 0, 0,133, 0, 0, 0,139, 1, 0, 0, 2, 2,160, 2, 7, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,190,137, 3, 0, 0, 0, 0,120,190,137, 3, 0, 0, 0, 0,184,184,137, 3, 0, 0, 0, 0,
- 8,189,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,184,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 40,186,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,100, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 40, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,192,103, 68, 0, 0,200, 65, 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,160, 2, 26, 0,160, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,159, 2, 0, 0,133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 160, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,186,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 152,187,137, 3, 0, 0, 0, 0,184,184,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 72, 67, 0, 0, 91,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0,
- 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3,
- 0, 0, 0, 4, 6, 0,217, 0,237, 0,200, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216, 0, 0, 0,159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 217, 0,237, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,187,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 8,189,137, 3, 0, 0, 0, 0, 40,186,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 159, 2, 0, 0,159, 2, 0, 0,159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,189,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,152,187,137, 3, 0, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64,
- 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0,
- 18, 0, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,198, 1, 0, 0, 18, 0, 0, 0,236, 0, 0, 0,
- 111, 18,131, 58,111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4, 0, 0,199, 1,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 217, 0, 0, 0,159, 2, 0, 0,159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 199, 1,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,120,190,137, 3, 0, 0, 0, 0,160, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,184,191,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,184,191,137, 3, 0, 0, 0, 0,
- 18, 1, 0, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,192,137, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0, 56,199,137, 3, 0, 0, 0, 0,200,183,137, 3, 0, 0, 0, 0,232,233,146, 3, 0, 0, 0, 0,
- 216, 92, 86, 2, 0, 0, 0, 0,104,200,129, 3, 0, 0, 0, 0,184,116,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,159, 2, 0, 0,141, 1, 0, 0, 69, 4, 0, 0, 12, 12,160, 2,185, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,168,197,137, 3, 0, 0, 0, 0,168,197,137, 3, 0, 0, 0, 0, 88,193,137, 3, 0, 0, 0, 0,
- 56,196,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,193,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 200,194,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,106, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 40, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,192,103, 68, 0, 0,200, 65, 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,160, 2, 26, 0,160, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,159, 2, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 160, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,194,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 56,196,137, 3, 0, 0, 0, 0, 88,193,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 72, 67, 0, 64, 35,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,158, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3,
- 0, 0, 2, 4, 6, 0,200, 0,159, 2,200, 0,141, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,199, 0, 0, 0,167, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 0,159, 2, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,196,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,194,137, 3, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0, 0,194, 0, 0, 0, 0,
- 0, 0, 32,193, 0, 0,104, 68, 0, 64, 35,196, 0, 0, 0, 0,199, 1, 0, 0,216, 1, 0, 0, 18, 0, 0, 0,158, 2, 0, 0,
- 0, 0, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 1, 0, 0, 18, 0, 0, 0,158, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 4, 4, 0,216, 1,159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 0, 0, 0,159, 2, 0, 0,167, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 216, 1,159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,168,197,137, 3, 0, 0, 0, 0, 19, 1, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0, 56,199,137, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 104,192,137, 3, 0, 0, 0, 0, 40,117,137, 3, 0, 0, 0, 0,232, 8,116, 3, 0, 0, 0, 0, 56,180,116, 3, 0, 0, 0, 0,
- 152,117,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0,
- 1, 1, 74, 1,225, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,206,137, 3, 0, 0, 0, 0,
- 184,206,137, 3, 0, 0, 0, 0, 40,200,137, 3, 0, 0, 0, 0,152,201,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 40,200,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,152,201,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 64, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,128,164, 67, 0, 0,200, 65, 0,128,164, 67, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 74, 1, 24, 0, 74, 1, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0,101, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 152,201,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,200,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,203,137, 3, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,
- 8,203,137, 3, 0, 0, 0, 0,155, 0, 0, 0, 1, 0, 0, 0, 24,255, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 66, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0,
- 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0,
- 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0,
- 87,126,162,190,228,251,159, 62, 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,
- 110,101,239, 64,151, 62,208,192, 77,255,170, 64, 0, 0,128, 63, 3,201,194, 63, 34, 49,132,191,244,250, 39,191, 8,165, 39,191,
- 143,164,206, 63,124, 38,130, 63,180,164, 28, 63,149, 84, 28, 63,179,153,196,188, 42,119, 58, 64, 8,108,228,190, 50,247,227,190,
- 82, 21, 64,191,204,230,156,191,216, 49, 49, 65,152, 9, 52, 65,231, 70,158, 62, 23,234,167, 62,128,206,159,187, 0, 0,168,180,
- 59,189,199,189,147,167,196, 61,206,223,140, 62, 0, 0,248, 51,211,120, 21,194,145, 5, 2, 66, 10,136,213,193,193,214,159,192,
- 219, 38, 19, 66,197,173,255,193,158,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0,
- 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0,
- 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63, 3,201,194, 63, 34, 49,132,191,244,250, 39,191, 8,165, 39,191,
- 143,164,206, 63,124, 38,130, 63,180,164, 28, 63,149, 84, 28, 63,179,153,196,188, 42,119, 58, 64, 8,108,228,190, 50,247,227,190,
- 82, 21, 64,191,204,230,156,191,216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,
- 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,202, 4, 51, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,184,206,137, 3, 0, 0, 0, 0,
- 156, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,
- 248,209,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0,
- 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0,
- 192, 0, 0, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111,109,112,111,115,105,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,209,137, 3, 0, 0, 0, 0,168,215,137, 3, 0, 0, 0, 0,
- 24,216,137, 3, 0, 0, 0, 0, 72,225,137, 3, 0, 0, 0, 0,184,225,137, 3, 0, 0, 0, 0,184, 21,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,248,209,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104,210,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 104,210,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,210,137, 3, 0, 0, 0, 0,248,209,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,210,137, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0, 72,211,137, 3, 0, 0, 0, 0,104,210,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,211,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 184,211,137, 3, 0, 0, 0, 0,216,210,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,184,211,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40,212,137, 3, 0, 0, 0, 0,
- 72,211,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 40,212,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0,184,211,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0, 8,213,137, 3, 0, 0, 0, 0, 40,212,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 6,100, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,213,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 120,213,137, 3, 0, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,120,213,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,213,137, 3, 0, 0, 0, 0,
- 8,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 232,213,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,214,137, 3, 0, 0, 0, 0,120,213,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,214,137, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,200,214,137, 3, 0, 0, 0, 0,232,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 6,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,214,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 56,215,137, 3, 0, 0, 0, 0, 88,214,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 56,215,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168,215,137, 3, 0, 0, 0, 0,
- 200,214,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 168,215,137, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,215,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,216,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,136,216,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,210,137, 3, 0, 0, 0, 0,
- 216,210,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,216,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248,216,137, 3, 0, 0, 0, 0, 24,216,137, 3, 0, 0, 0, 0,104,210,137, 3, 0, 0, 0, 0,
- 184,211,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,216,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104,217,137, 3, 0, 0, 0, 0,136,216,137, 3, 0, 0, 0, 0,216,210,137, 3, 0, 0, 0, 0,
- 40,212,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,217,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216,217,137, 3, 0, 0, 0, 0,248,216,137, 3, 0, 0, 0, 0,184,211,137, 3, 0, 0, 0, 0,
- 40,212,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,217,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72,218,137, 3, 0, 0, 0, 0,104,217,137, 3, 0, 0, 0, 0, 72,211,137, 3, 0, 0, 0, 0,
- 8,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,218,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,184,218,137, 3, 0, 0, 0, 0,216,217,137, 3, 0, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0,
- 8,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,218,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 40,219,137, 3, 0, 0, 0, 0, 72,218,137, 3, 0, 0, 0, 0, 40,212,137, 3, 0, 0, 0, 0,
- 120,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,219,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,152,219,137, 3, 0, 0, 0, 0,184,218,137, 3, 0, 0, 0, 0,184,211,137, 3, 0, 0, 0, 0,
- 120,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,219,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 8,220,137, 3, 0, 0, 0, 0, 40,219,137, 3, 0, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0,
- 120,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,220,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,120,220,137, 3, 0, 0, 0, 0,152,219,137, 3, 0, 0, 0, 0, 40,212,137, 3, 0, 0, 0, 0,
- 8,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,220,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,232,220,137, 3, 0, 0, 0, 0, 8,220,137, 3, 0, 0, 0, 0,184,211,137, 3, 0, 0, 0, 0,
- 232,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,220,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 88,221,137, 3, 0, 0, 0, 0,120,220,137, 3, 0, 0, 0, 0,120,213,137, 3, 0, 0, 0, 0,
- 88,214,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,221,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,200,221,137, 3, 0, 0, 0, 0,232,220,137, 3, 0, 0, 0, 0,232,213,137, 3, 0, 0, 0, 0,
- 88,214,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,221,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 56,222,137, 3, 0, 0, 0, 0, 88,221,137, 3, 0, 0, 0, 0,232,213,137, 3, 0, 0, 0, 0,
- 200,214,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,222,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,168,222,137, 3, 0, 0, 0, 0,200,221,137, 3, 0, 0, 0, 0, 88,214,137, 3, 0, 0, 0, 0,
- 200,214,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,222,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 24,223,137, 3, 0, 0, 0, 0, 56,222,137, 3, 0, 0, 0, 0,248,209,137, 3, 0, 0, 0, 0,
- 56,215,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,223,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,136,223,137, 3, 0, 0, 0, 0,168,222,137, 3, 0, 0, 0, 0, 56,215,137, 3, 0, 0, 0, 0,
- 168,215,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,223,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248,223,137, 3, 0, 0, 0, 0, 24,223,137, 3, 0, 0, 0, 0, 72,211,137, 3, 0, 0, 0, 0,
- 168,215,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,223,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104,224,137, 3, 0, 0, 0, 0,136,223,137, 3, 0, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0,
- 168,215,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,224,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216,224,137, 3, 0, 0, 0, 0,248,223,137, 3, 0, 0, 0, 0,200,214,137, 3, 0, 0, 0, 0,
- 56,215,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,224,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72,225,137, 3, 0, 0, 0, 0,104,224,137, 3, 0, 0, 0, 0, 88,214,137, 3, 0, 0, 0, 0,
- 168,215,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,225,137, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,224,137, 3, 0, 0, 0, 0,248,209,137, 3, 0, 0, 0, 0,
- 232,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,225,137, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,136,229,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,211,137, 3, 0, 0, 0, 0,
- 104,210,137, 3, 0, 0, 0, 0,216,210,137, 3, 0, 0, 0, 0, 40,212,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104, 60,138, 3, 0, 0, 0, 0,104, 60,138, 3, 0, 0, 0, 0,168,226,137, 3, 0, 0, 0, 0,
- 24,228,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,226,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 24,228,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,228,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,168,226,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
- 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136,229,137, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 120,234,137, 3, 0, 0, 0, 0,184,225,137, 3, 0, 0, 0, 0,168,215,137, 3, 0, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0,
- 8,213,137, 3, 0, 0, 0, 0, 72,211,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0, 99, 0, 0, 0, 15, 15, 94, 1,100, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 88,233,137, 3, 0, 0, 0, 0, 88,233,137, 3, 0, 0, 0, 0,120,230,137, 3, 0, 0, 0, 0,232,231,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,120,230,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,232,231,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,110, 68, 0, 0, 0, 0, 0, 0,208, 65, 0,128,161, 67, 0, 64, 40, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65,
- 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 94, 1,
- 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,232,231,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 120,230,137, 3, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 50, 51, 74,193,154,209,131, 67,
- 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 73, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66,
- 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 94, 1,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0,
- 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 88,233,137, 3, 0, 0, 0, 0,172, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,234,137, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0, 8, 3,138, 3, 0, 0, 0, 0,136,229,137, 3, 0, 0, 0, 0,152,212,137, 3, 0, 0, 0, 0,
- 120,213,137, 3, 0, 0, 0, 0, 40,212,137, 3, 0, 0, 0, 0, 8,213,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 6, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 69, 4, 0, 0, 4, 4, 94, 1,225, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 1,138, 3, 0, 0, 0, 0,200, 1,138, 3, 0, 0, 0, 0,104,235,137, 3, 0, 0, 0, 0,
- 216,236,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,235,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 216,236,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0,175, 67, 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 94, 1, 31, 0, 94, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 6, 0, 0,118, 7, 0, 0, 39, 4, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 94, 1, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,236,137, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104,235,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0, 64,112,196, 0, 0, 0, 0,
- 0, 0, 0, 0,255,127,166, 67,254,127,112,196, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,193, 3, 0, 0,
- 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,193, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0, 94, 1,194, 3, 77, 1,194, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 6, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 38, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 94, 1,194, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,238,137, 3, 0, 0, 0, 0,
- 40, 0,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,238,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 232,239,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,220,255, 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 232,239,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,241,137, 3, 0, 0, 0, 0, 72,238,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,241,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40,243,137, 3, 0, 0, 0, 0,232,239,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,111,255, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 40,243,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,244,137, 3, 0, 0, 0, 0,136,241,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
- 105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
- 105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,244,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 104,246,137, 3, 0, 0, 0, 0, 40,243,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 58,254, 76, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 104,246,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,248,137, 3, 0, 0, 0, 0,200,244,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110,
- 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110,
- 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,117,108,108, 32, 83, 97,109,112,108,101, 32, 77,111,116,105,
- 111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,248,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 168,249,137, 3, 0, 0, 0, 0,104,246,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,164,253, 76, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 168,249,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,251,137, 3, 0, 0, 0, 0, 8,248,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253, 76, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,251,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 232,252,137, 3, 0, 0, 0, 0,168,249,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,242,252, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 232,252,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,254,137, 3, 0, 0, 0, 0, 72,251,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,
- 114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,
- 114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,254,137, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40, 0,138, 3, 0, 0, 0, 0,232,252,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,194,252, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 40, 0,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,254,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,200, 1,138, 3, 0, 0, 0, 0,161, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 8, 3,138, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,104, 16,138, 3, 0, 0, 0, 0,120,234,137, 3, 0, 0, 0, 0,
- 56,215,137, 3, 0, 0, 0, 0,200,214,137, 3, 0, 0, 0, 0, 88,214,137, 3, 0, 0, 0, 0,168,215,137, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0,171, 1, 0, 0, 1, 1, 23, 3,172, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 14,138, 3, 0, 0, 0, 0,216, 14,138, 3, 0, 0, 0, 0,
- 248, 3,138, 3, 0, 0, 0, 0,184, 9,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 3,138, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0,104, 5,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 69, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 3, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 23, 3, 26, 0, 23, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 5,138, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0,216, 6,138, 3, 0, 0, 0, 0,248, 3,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
- 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
- 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 3, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,146, 1, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 6,138, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 72, 8,138, 3, 0, 0, 0, 0,104, 5,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67,
- 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
- 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 8,138, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0,184, 9,138, 3, 0, 0, 0, 0,216, 6,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,
- 0,192,108,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0,
- 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 9,138, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 8,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 3,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 40, 11,138, 3, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0, 40, 11,138, 3, 0, 0, 0, 0,
- 155, 0, 0, 0, 1, 0, 0, 0, 36,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118,171, 98, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,
- 149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,
- 152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62,
- 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192,
- 77,255,170, 64, 0, 0,128, 63, 3, 6,158, 63, 92,224,143,191,244,250, 39,191, 8,165, 39,191,170,164,167, 63,132,167,141, 63,
- 180,164, 28, 63,149, 84, 28, 63, 0,127,159,188,126,242, 74, 64, 8,108,228,190, 50,247,227,190,221,212, 27,191, 39,197,170,191,
- 216, 49, 49, 65,152, 9, 52, 65, 25, 25,195, 62, 12,250,206, 62, 0,247,196,187, 0, 0,150,180,203,132,183,189, 61,175,180, 61,
- 245,110,129, 62, 0, 0,120, 51,211,120, 21,194,144, 5, 2, 66, 9,136,213,193,193,214,159,192,219, 38, 19, 66,196,173,255,193,
- 157,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,
- 149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,
- 152, 9, 52,193, 0, 0,128, 63, 3, 6,158, 63, 92,224,143,191,244,250, 39,191, 8,165, 39,191,170,164,167, 63,132,167,141, 63,
- 180,164, 28, 63,149, 84, 28, 63, 0,127,159,188,126,242, 74, 64, 8,108,228,190, 50,247,227,190,221,212, 27,191, 39,197,170,191,
- 216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,214,211,111, 65,214,211,111, 65,
- 0, 0, 0, 0, 0, 0, 0, 0,162, 30,184, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,216, 14,138, 3, 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,248,209,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, 8, 0, 0, 0, 0,
- 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104, 16,138, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 184, 21,138, 3, 0, 0, 0, 0, 8, 3,138, 3, 0, 0, 0, 0,232,213,137, 3, 0, 0, 0, 0,184,211,137, 3, 0, 0, 0, 0,
- 120,213,137, 3, 0, 0, 0, 0, 88,214,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0,
- 173, 1, 0, 0, 69, 4, 0, 0, 16, 16, 24, 6,153, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 20,138, 3, 0, 0, 0, 0, 56, 20,138, 3, 0, 0, 0, 0, 88, 17,138, 3, 0, 0, 0, 0,200, 18,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 88, 17,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,200, 18,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 41, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,195, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65,
- 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 24, 6,
- 26, 0, 24, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0,
- 173, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,200, 18,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 88, 17,138, 3, 0, 0, 0, 0, 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195,192,225,108, 68,
- 240,130,178,193, 24,148, 5, 68, 7, 6, 0, 0, 24, 6, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 24, 6,
- 127, 2, 7, 6,109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0,
- 199, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6,127, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 48, 1, 0, 0, 56, 20,138, 3, 0, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,123,246, 98, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184, 21,138, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104, 16,138, 3, 0, 0, 0, 0,248,209,137, 3, 0, 0, 0, 0,232,213,137, 3, 0, 0, 0, 0,
- 200,214,137, 3, 0, 0, 0, 0, 56,215,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0,
- 0, 0, 0, 0,171, 1, 0, 0, 6, 6, 0, 3,172, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 248, 26,138, 3, 0, 0, 0, 0,248, 26,138, 3, 0, 0, 0, 0,168, 22,138, 3, 0, 0, 0, 0,136, 25,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,168, 22,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 24, 24,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 64, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 63, 68, 0, 0,200, 65,
- 0,192, 63, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 0, 3,
- 26, 0, 0, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 24, 24,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,136, 25,138, 3, 0, 0, 0, 0,
- 168, 22,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0,
- 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,136, 25,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 24,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,128,191, 0, 0, 0, 64,
- 0, 0,146,190, 0,128,164, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0,
- 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 33, 0, 0,248, 26,138, 3, 0, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 83, 78, 0, 0,216, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0,
- 216,208,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101,102, 97,117,108,
- 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 62,138, 3, 0, 0, 0, 0,232, 66,138, 3, 0, 0, 0, 0, 88, 67,138, 3, 0, 0, 0, 0,200, 74,138, 3, 0, 0, 0, 0,
- 56, 75,138, 3, 0, 0, 0, 0,232,104,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 94,141, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 62,138, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,136, 62,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 62,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 248, 62,138, 3, 0, 0, 0, 0, 24, 62,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 4, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,248, 62,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104, 63,138, 3, 0, 0, 0, 0,
- 136, 62,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 16, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 104, 63,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0,248, 62,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0, 72, 64,138, 3, 0, 0, 0, 0,104, 63,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,245, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 64,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 184, 64,138, 3, 0, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7,245, 3, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,184, 64,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 65,138, 3, 0, 0, 0, 0,
- 72, 64,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 40, 65,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152, 65,138, 3, 0, 0, 0, 0,184, 64,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 6,245, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 65,138, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0, 8, 66,138, 3, 0, 0, 0, 0, 40, 65,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 6, 72, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 66,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 120, 66,138, 3, 0, 0, 0, 0,152, 65,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 72, 3, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,120, 66,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232, 66,138, 3, 0, 0, 0, 0,
- 8, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 232, 66,138, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 66,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 6,116, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 67,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,200, 67,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 62,138, 3, 0, 0, 0, 0,
- 248, 62,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 67,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 56, 68,138, 3, 0, 0, 0, 0, 88, 67,138, 3, 0, 0, 0, 0,136, 62,138, 3, 0, 0, 0, 0,
- 216, 63,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 68,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,168, 68,138, 3, 0, 0, 0, 0,200, 67,138, 3, 0, 0, 0, 0,248, 62,138, 3, 0, 0, 0, 0,
- 72, 64,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 68,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 24, 69,138, 3, 0, 0, 0, 0, 56, 68,138, 3, 0, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0,
- 72, 64,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 69,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,136, 69,138, 3, 0, 0, 0, 0,168, 68,138, 3, 0, 0, 0, 0, 24, 62,138, 3, 0, 0, 0, 0,
- 184, 64,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 69,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248, 69,138, 3, 0, 0, 0, 0, 24, 69,138, 3, 0, 0, 0, 0,104, 63,138, 3, 0, 0, 0, 0,
- 184, 64,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 69,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104, 70,138, 3, 0, 0, 0, 0,136, 69,138, 3, 0, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0,
- 40, 65,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 70,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216, 70,138, 3, 0, 0, 0, 0,248, 69,138, 3, 0, 0, 0, 0, 72, 64,138, 3, 0, 0, 0, 0,
- 40, 65,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 70,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72, 71,138, 3, 0, 0, 0, 0,104, 70,138, 3, 0, 0, 0, 0,184, 64,138, 3, 0, 0, 0, 0,
- 152, 65,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 71,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,184, 71,138, 3, 0, 0, 0, 0,216, 70,138, 3, 0, 0, 0, 0, 40, 65,138, 3, 0, 0, 0, 0,
- 152, 65,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 71,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 40, 72,138, 3, 0, 0, 0, 0, 72, 71,138, 3, 0, 0, 0, 0, 72, 64,138, 3, 0, 0, 0, 0,
- 8, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 72,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,152, 72,138, 3, 0, 0, 0, 0,184, 71,138, 3, 0, 0, 0, 0,104, 63,138, 3, 0, 0, 0, 0,
- 8, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 72,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 8, 73,138, 3, 0, 0, 0, 0, 40, 72,138, 3, 0, 0, 0, 0,152, 65,138, 3, 0, 0, 0, 0,
- 8, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 73,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,120, 73,138, 3, 0, 0, 0, 0,152, 72,138, 3, 0, 0, 0, 0, 24, 62,138, 3, 0, 0, 0, 0,
- 120, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 73,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,232, 73,138, 3, 0, 0, 0, 0, 8, 73,138, 3, 0, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0,
- 120, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 73,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 88, 74,138, 3, 0, 0, 0, 0,120, 73,138, 3, 0, 0, 0, 0, 40, 65,138, 3, 0, 0, 0, 0,
- 232, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 74,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,200, 74,138, 3, 0, 0, 0, 0,232, 73,138, 3, 0, 0, 0, 0,184, 64,138, 3, 0, 0, 0, 0,
- 232, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 74,138, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 74,138, 3, 0, 0, 0, 0,120, 66,138, 3, 0, 0, 0, 0,
- 232, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56, 75,138, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0, 8, 79,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0,
- 136, 62,138, 3, 0, 0, 0, 0,248, 62,138, 3, 0, 0, 0, 0, 72, 64,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120, 7, 0, 0,246, 3, 0, 0, 16, 4, 0, 0, 7, 7,121, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0,
- 24, 41, 88, 2, 0, 0, 0, 0, 8,154,139, 3, 0, 0, 0, 0, 8,154,139, 3, 0, 0, 0, 0, 40, 76,138, 3, 0, 0, 0, 0,
- 152, 77,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 25,137, 3, 0, 0, 0, 0,
- 152, 65,112, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40, 76,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 152, 77,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,159, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 32,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,121, 7, 26, 0,121, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120, 7, 0, 0,246, 3, 0, 0, 15, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 121, 7, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40, 43, 88, 2, 0, 0, 0, 0,104,143,106, 3, 0, 0, 0, 0,104,143,106, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,184, 96,145, 3, 0, 0, 0, 0,216, 74,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 77,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 40, 76,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0,237, 68, 0, 0, 0, 0, 0, 0, 0, 64,104, 7, 0, 0,121, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,103, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
- 2, 0, 0, 4, 10, 0,121, 7, 2, 0,104, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 4, 0, 0, 16, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 42, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 45,137, 3, 0, 0, 0, 0,200,220,132, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8, 79,138, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 216,171,138, 3, 0, 0, 0, 0, 56, 75,138, 3, 0, 0, 0, 0,184, 64,138, 3, 0, 0, 0, 0,152, 65,138, 3, 0, 0, 0, 0,
- 8, 66,138, 3, 0, 0, 0, 0,104, 63,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0,
- 0, 0, 0, 0, 71, 3, 0, 0, 4, 4, 60, 1, 72, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,184, 36, 88, 2, 0, 0, 0, 0,
- 152,170,138, 3, 0, 0, 0, 0,152,170,138, 3, 0, 0, 0, 0,248, 79,138, 3, 0, 0, 0, 0,104, 81,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 26,136, 3, 0, 0, 0, 0, 24, 93,106, 3, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,248, 79,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,104, 81,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,158, 67,
- 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65,
- 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 60, 1,
- 31, 0, 60, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0,
- 41, 3, 0, 0, 71, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 31, 0, 3, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 40, 88, 2, 0, 0, 0, 0,
- 232, 68,106, 3, 0, 0, 0, 0,232, 68,106, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,111,145, 3, 0, 0, 0, 0, 56, 80,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,104, 81,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 248, 79,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,158, 67, 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,149, 67,
- 0, 64, 74,196, 0, 0, 0, 0, 43, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 40, 3, 0, 0, 0, 0, 0, 0, 74, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 40, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 60, 1,
- 41, 3, 43, 1, 41, 3, 0, 0,184,204,131, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0,
- 0, 0, 0, 0, 40, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 41, 3, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 37, 88, 2, 0, 0, 0, 0,
- 72,187,132, 3, 0, 0, 0, 0,104, 80, 4, 3, 0, 0, 0, 0,216, 82,138, 3, 0, 0, 0, 0,248,168,138, 3, 0, 0, 0, 0,
- 120, 81,145, 3, 0, 0, 0, 0,232, 83,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216, 82,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120, 84,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 38, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 43, 1, 36, 0,
- 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 84,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24, 86,138, 3, 0, 0, 0, 0,216, 82,138, 3, 0, 0, 0, 0,184,248,246, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 43, 1, 61, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 43, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24, 86,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184, 87,138, 3, 0, 0, 0, 0,
- 120, 84,138, 3, 0, 0, 0, 0,152,251,246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 43, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 87,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88, 89,138, 3, 0, 0, 0, 0, 24, 86,138, 3, 0, 0, 0, 0,152, 25,247, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 43, 1,203, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88, 89,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248, 90,138, 3, 0, 0, 0, 0,
- 184, 87,138, 3, 0, 0, 0, 0,120, 13,247, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105,
- 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 43, 1, 58, 0,
- 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 90,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152, 92,138, 3, 0, 0, 0, 0, 88, 89,138, 3, 0, 0, 0, 0,168, 16,247, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,108,117,114, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 43, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 47, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152, 92,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56, 94,138, 3, 0, 0, 0, 0,
- 248, 90,138, 3, 0, 0, 0, 0,184,254,246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 43, 1,102, 0,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 94,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,216, 95,138, 3, 0, 0, 0, 0,152, 92,138, 3, 0, 0, 0, 0,168, 7,247, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253, 43, 1,130, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216, 95,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120, 97,138, 3, 0, 0, 0, 0,
- 56, 94,138, 3, 0, 0, 0, 0,152, 1,247, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,
- 110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,252, 43, 1,190, 0,
- 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 97,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24, 99,138, 3, 0, 0, 0, 0,216, 95,138, 3, 0, 0, 0, 0,248, 3,247, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24, 99,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,100,138, 3, 0, 0, 0, 0,
- 120, 97,138, 3, 0, 0, 0, 0, 72, 28,247, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252, 43, 1, 0, 0,
- 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,100,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88,102,138, 3, 0, 0, 0, 0, 24, 99,138, 3, 0, 0, 0, 0, 40, 31,247, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,102,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,103,138, 3, 0, 0, 0, 0,
- 184,100,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,255, 65, 1,179, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,103,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152,105,138, 3, 0, 0, 0, 0, 88,102,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,254, 65, 1,171, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152,105,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,107,138, 3, 0, 0, 0, 0,
- 248,103,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,110,102,108,117,101,110, 99,
- 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213,253, 65, 1, 36, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,107,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,216,108,138, 3, 0, 0, 0, 0,152,105,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,103,252, 65, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216,108,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,110,138, 3, 0, 0, 0, 0,
- 56,107,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,254, 65, 1,186, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,110,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24,112,138, 3, 0, 0, 0, 0,216,108,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 65, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24,112,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,113,138, 3, 0, 0, 0, 0,
- 120,110,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,105,109, 97,103,101, 95,115, 97,109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,105,109, 97,103,101, 95,115, 97,109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103,101, 32, 83, 97,
- 109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,253, 65, 1,212, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,113,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88,115,138, 3, 0, 0, 0, 0, 24,112,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 95,109, 97,112,112,105,110,103,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 95,109, 97,112,112,105,110,103,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103,101, 32, 77, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,211,253, 65, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,115,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,116,138, 3, 0, 0, 0, 0,
- 184,113,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108,111,114,115, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,254, 65, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,116,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152,118,138, 3, 0, 0, 0, 0, 88,115,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161,253, 7, 1,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152,118,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,120,138, 3, 0, 0, 0, 0,
- 248,116,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,119,111,111,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,119,111,111,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,111,111,100, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139,253, 7, 1,180, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,120,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,216,121,138, 3, 0, 0, 0, 0,152,118,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 7, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216,121,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,123,138, 3, 0, 0, 0, 0,
- 56,120,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,118,111,114,111,110,111,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,118,111,114,111,110,111,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,111,114,111,110,111,105, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,123,253, 7, 1,196, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,123,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24,125,138, 3, 0, 0, 0, 0,216,121,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,111,105,110,116, 32, 68,101,110,115,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,253, 7, 1,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24,125,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,126,138, 3, 0, 0, 0, 0,
- 120,123,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 95,116,117,114, 98,117,108,101,110, 99,101, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 95,116,117,114, 98,117,108,101,110, 99,101, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,117,114, 98,117,108,101,110,
- 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,253, 7, 1,102, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,126,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88,128,138, 3, 0, 0, 0, 0, 24,125,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109,117,115,103,114, 97,118,101, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109,117,115,103,114, 97,118,101, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77,117,115,103,114, 97,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139,253, 7, 1,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,128,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,129,138, 3, 0, 0, 0, 0,
- 184,126,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,109, 97,114, 98,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,109, 97,114, 98,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,114, 98,108,101, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,253, 7, 1,183, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,129,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152,131,138, 3, 0, 0, 0, 0, 88,128,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 7, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152,131,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,133,138, 3, 0, 0, 0, 0,
- 248,129,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,100,105,115,116,111,114,116,101,100,110,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,100,105,115,116,111,114,116,101,100,110,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,116,111,114,116,101,
- 100, 32, 78,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,211,253, 7, 1,108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,133,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,216,134,138, 3, 0, 0, 0, 0,152,131,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,254, 7, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216,134,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,136,138, 3, 0, 0, 0, 0,
- 56,133,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,115,116,117, 99, 99,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95,
- 80, 84, 95,115,116,117, 99, 99,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,117, 99, 99,105, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,253, 7, 1,136, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,136,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24,138,138, 3, 0, 0, 0, 0,216,134,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,111,100,105,102,105,101,114,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,111,100,105,102,105,101,114,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77,111,100,105,102,105,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,255,209, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24,138,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,139,138, 3, 0, 0, 0, 0,
- 120,136,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,209, 0, 36, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,139,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88,141,138, 3, 0, 0, 0, 0, 24,138,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115,
- 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115,
- 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,255,209, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,141,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,142,138, 3, 0, 0, 0, 0,
- 184,139,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,111,114,109, 97,108,115, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,255,209, 0, 58, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,142,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152,144,138, 3, 0, 0, 0, 0, 88,141,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,255,209, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152,144,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,146,138, 3, 0, 0, 0, 0,
- 248,142,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 71,
- 114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,174,254,209, 0, 76, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,146,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,216,147,138, 3, 0, 0, 0, 0,152,144,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,112,101, 32, 75,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,254,209, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216,147,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,149,138, 3, 0, 0, 0, 0,
- 56,146,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
- 117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 32, 84,101,120,116,117,
- 114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,237,253,209, 0, 69, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,149,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24,151,138, 3, 0, 0, 0, 0,216,147,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 67,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,253,209, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24,151,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,152,138, 3, 0, 0, 0, 0,
- 120,149,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,255, 47, 1,126, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,152,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88,154,138, 3, 0, 0, 0, 0, 24,151,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190,254, 47, 1,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,154,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,155,138, 3, 0, 0, 0, 0,
- 184,152,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,102,102,117,115,101, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,103,254, 47, 1, 63, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,155,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,152,157,138, 3, 0, 0, 0, 0, 88,154,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83,112,101, 99,117,108, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,253, 47, 1, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,152,157,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,159,138, 3, 0, 0, 0, 0,
- 248,155,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148,253, 47, 1, 80, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,159,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,216,160,138, 3, 0, 0, 0, 0,152,157,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,253, 47, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,216,160,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,162,138, 3, 0, 0, 0, 0,
- 56,159,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,105,114,114,111,114, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,253, 47, 1, 0, 0,
- 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,162,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 24,164,138, 3, 0, 0, 0, 0,216,160,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 97, 99,101, 32, 83, 99, 97,116,116,101,114,105,110,103, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,253, 47, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 24,164,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,165,138, 3, 0, 0, 0, 0,
- 120,162,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114, 97,110,100, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,253, 47, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,165,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 88,167,138, 3, 0, 0, 0, 0, 24,164,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,252, 47, 1,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 88,167,138, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,168,138, 3, 0, 0, 0, 0,
- 184,165,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,252, 47, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,168,138, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,167,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,252, 47, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,248, 0, 0, 0,152,170,138, 3, 0, 0, 0, 0,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0,136,213,129, 3, 0, 0, 0, 0,
- 255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,216,171,138, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,200,176,138, 3, 0, 0, 0, 0, 8, 79,138, 3, 0, 0, 0, 0, 24, 62,138, 3, 0, 0, 0, 0,
- 120, 66,138, 3, 0, 0, 0, 0,232, 66,138, 3, 0, 0, 0, 0,184, 64,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 6, 0, 0, 0, 0, 0, 0,115, 0, 0, 0, 15, 15, 60, 6,116, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 232,249, 87, 2, 0, 0, 0, 0,168,175,138, 3, 0, 0, 0, 0,168,175,138, 3, 0, 0, 0, 0,200,172,138, 3, 0, 0, 0, 0,
- 56,174,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 97,106, 3, 0, 0, 0, 0,
- 56, 2,136, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,172,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 56,174,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0,128,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 60, 6, 26, 0, 60, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 6, 26, 0, 5, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 248,251, 87, 2, 0, 0, 0, 0,168,121,106, 3, 0, 0, 0, 0,168,121,106, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,216, 86,145, 3, 0, 0, 0, 0, 72, 89,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,174,138, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,172,138, 3, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,
- 88,218,103,194, 40,147,141, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0, 18, 0, 0, 0, 89, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2,
- 4, 0, 0, 4, 8, 0, 60, 6, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 6, 0, 0, 26, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 6, 90, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,251, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,136, 90,145, 3, 0, 0, 0, 0,200, 93,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,175,138, 3, 0, 0, 0, 0,172, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 200,176,138, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,232,104,139, 3, 0, 0, 0, 0,216,171,138, 3, 0, 0, 0, 0,
- 152, 65,138, 3, 0, 0, 0, 0, 40, 65,138, 3, 0, 0, 0, 0, 72, 64,138, 3, 0, 0, 0, 0, 8, 66,138, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0, 73, 3, 0, 0,244, 3, 0, 0, 3, 3, 60, 1,172, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 8, 0,232,246, 87, 2, 0, 0, 0, 0,152,180,138, 3, 0, 0, 0, 0,152,180,138, 3, 0, 0, 0, 0,
- 184,177,138, 3, 0, 0, 0, 0, 40,179,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 136,251,135, 3, 0, 0, 0, 0,168, 36,136, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,177,138, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 40,179,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,158, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 66, 67, 0, 0,200, 65, 0, 0, 66, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 60, 1, 26, 0, 60, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0,219, 3, 0, 0,244, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 26, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248,248, 87, 2, 0, 0, 0, 0,216,231,135, 3, 0, 0, 0, 0,216,231,135, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 72,145, 3, 0, 0, 0, 0, 40, 99,145, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,179,138, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,177,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67,
- 0, 0,232,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,149, 67, 0, 0, 0,195, 0, 0, 0, 0, 43, 1, 0, 0, 60, 1, 0, 0,
- 18, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 42, 1, 0, 0,
- 18, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 60, 1,146, 0, 43, 1,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0, 73, 3, 0, 0,218, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 1,146, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8,248, 87, 2, 0, 0, 0, 0,104, 67,133, 3, 0, 0, 0, 0,104, 67,133, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,250,114, 3, 0, 0, 0, 0, 8,102,145, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,152,180,138, 3, 0, 0, 0, 0,
- 165, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,151,106, 3, 0, 0, 0, 0, 8,151,106, 3, 0, 0, 0, 0,
- 136,113, 86, 2, 0, 0, 0, 0, 0,115,101, 32, 83, 99,117,108,112,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 68, 65, 84, 65, 16, 0, 0, 0,136,113, 86, 2, 0, 0, 0, 0,219, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0,
- 248,181,138, 3, 0, 0, 0, 0, 68, 65, 84, 65,160,178, 0, 0,248,181,138, 3, 0, 0, 0, 0,218, 0, 0, 0, 42, 11, 0, 0,
- 0, 0, 0, 0, 2, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0,
- 20, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 88,207,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,216,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,104, 45,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,228,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,152,138,141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,120,222,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 56,203,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,209,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,104,202,140, 3, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 0, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 2, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 4, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 6, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 8, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 10, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 12, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 14, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 16, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 18, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 20, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 22, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 24, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 26, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 28, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 30, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 32, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 34, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 36, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 38, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 40, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 42, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 44, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 46, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 48, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 50, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 52, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 54, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 56, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 58, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 60, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 62, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 64, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 66, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 31, 0, 68, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,232, 54,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 30, 0,255,255, 3, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0,
- 30, 0,255,255, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0,104,202,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0,
- 31, 0, 0, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 2, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 4, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 6, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 8, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 10, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 12, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 14, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 16, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 18, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 20, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 22, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 24, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 26, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 28, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 30, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 32, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 34, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 36, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 38, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 40, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 42, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 44, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 46, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 48, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 50, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 52, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 54, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 56, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 58, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 60, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 62, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 64, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 66, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 68, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 70, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 72, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 74, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 76, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 78, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 80, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 82, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0,
- 31, 0, 0, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 2, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 4, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 6, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 8, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 10, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 12, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 14, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 16, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 18, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 20, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 22, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 24, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 26, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 28, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 30, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 32, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 34, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 36, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 38, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 40, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 42, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 44, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 46, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 48, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 50, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 31, 0, 0, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 2, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 4, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 6, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 8, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 10, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 12, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 14, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 16, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 18, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 20, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 22, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 24, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 26, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 28, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 30, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 32, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 34, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 36, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 38, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 40, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 42, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 44, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 46, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 48, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 50, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 52, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 54, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 56, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 58, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 60, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 62, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 64, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 66, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 68, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 70, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 72, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 74, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 76, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 78, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 80, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 82, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 84, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 86, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 88, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 90, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 92, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 94, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0,
- 31, 0, 96, 0, 1, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 21, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 23, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 25, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 27, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 29, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 31, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 33, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 35, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 37, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 39, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 41, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 43, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 45, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 47, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 49, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 51, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 53, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 55, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 57, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 59, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 61, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 63, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 65, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 67, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 69, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 71, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 73, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 75, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 77, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 79, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 81, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 83, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 85, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 87, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 89, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 91, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 93, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 95, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0,
- 31, 0, 0, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 2, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 4, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 6, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 8, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 10, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 12, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 14, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 16, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 18, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 20, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 22, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 24, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 26, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 28, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 30, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 32, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 34, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 36, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 38, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 40, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 42, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 44, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 46, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 48, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 50, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 52, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 54, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 56, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 58, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 60, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 62, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 64, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 66, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 68, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 70, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 72, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 74, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 76, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 78, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 80, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 82, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 84, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 86, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 88, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 90, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 92, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 94, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 31, 0, 96, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,152,115,137, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,216,208,137, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0,
- 31, 0, 0, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0,
- 31, 0, 2, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0,
- 31, 0, 4, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0,
- 31, 0, 6, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0,
- 31, 0, 8, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0,
- 31, 0, 10, 0, 1, 0, 0, 0, 8,113,137, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 1, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 3, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 5, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 7, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 9, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 11, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 13, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 15, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 17, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 31, 0, 19, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,232,104,139, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200,176,138, 3, 0, 0, 0, 0,120, 66,138, 3, 0, 0, 0, 0,216, 63,138, 3, 0, 0, 0, 0, 40, 65,138, 3, 0, 0, 0, 0,
- 232, 66,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,117, 0, 0, 0,244, 3, 0, 0,
- 1, 1, 60, 6,128, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,232,252, 87, 2, 0, 0, 0, 0,120,152,139, 3, 0, 0, 0, 0,
- 120,152,139, 3, 0, 0, 0, 0,216,105,139, 3, 0, 0, 0, 0, 88,147,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 35,136, 3, 0, 0, 0, 0, 88, 60,132, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 216,105,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72,107,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,199, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 60, 6, 26, 0, 60, 6, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,117, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 6, 26, 0, 9, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 7, 88, 2, 0, 0, 0, 0, 72, 63,106, 4, 0, 0, 0, 0,
- 72, 63,106, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,253,114, 3, 0, 0, 0, 0,
- 232,109,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 72,107,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120,131,139, 3, 0, 0, 0, 0,216,105,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 32, 67, 0,128, 35,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0,128, 35,196, 0, 0, 0, 0,
- 143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,141, 2, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,141, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,142, 2,143, 0,142, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,103, 1, 0, 0,244, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,142, 2, 10, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 160, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 4, 88, 2, 0, 0, 0, 0, 24,121,107, 3, 0, 0, 0, 0,
- 24,121,107, 3, 0, 0, 0, 0,184,108,139, 3, 0, 0, 0, 0,216,129,139, 3, 0, 0, 0, 0,200,181,131, 2, 0, 0, 0, 0,
- 152,113,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 184,108,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,110,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 104,233,250, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 39, 0,
- 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,110,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 248,111,139, 3, 0, 0, 0, 0,184,108,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,211,254,143, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 248,111,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,113,139, 3, 0, 0, 0, 0, 88,110,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,252,143, 0,213, 1, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,113,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56,115,139, 3, 0, 0, 0, 0,248,111,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 66,254,143, 0,121, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 56,115,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,116,139, 3, 0, 0, 0, 0,152,113,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 98,114,117,115,104, 95, 99,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 98,114,117,115,104, 95, 99,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253,143, 0,231, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,116,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 120,118,139, 3, 0, 0, 0, 0, 56,115,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 96,253,143, 0,133, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 120,118,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,120,139, 3, 0, 0, 0, 0,216,116,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 98,114,117,115,104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 98,114,117,115,104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,254,143, 0, 36, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,120,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 184,121,139, 3, 0, 0, 0, 0,120,118,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 52,253,143, 0,225, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 184,121,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,123,139, 3, 0, 0, 0, 0, 24,120,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116,
- 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116,
- 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,145,253,143, 0,132, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,123,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 248,124,139, 3, 0, 0, 0, 0,184,121,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 87,101,105,103,104,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 39,254,143, 0,124, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 248,124,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,126,139, 3, 0, 0, 0, 0, 88,123,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 119,101,105,103,104,116,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 119,101,105,103,104,116,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,181,253,143, 0,190, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,126,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56,128,139, 3, 0, 0, 0, 0,248,124,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,112,114,111,106,101, 99,116,112, 97,105,110,116, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,112,114,111,106,101, 99,116,112, 97,105,110,116, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80,114,111,106,101, 99,116, 32, 80, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,241,252,143, 0, 9, 1, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 56,128,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,129,139, 3, 0, 0, 0, 0,152,126,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 118,101,114,116,101,120,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
- 118,101,114,116,101,120,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197,253,143, 0,146, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,129,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56,128,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,105,109, 97,103,101,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,105,109, 97,103,101,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,146,253,143, 0, 80, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 120,131,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,136,134,139, 3, 0, 0, 0, 0, 72,107,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 67, 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,
- 143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,143, 0, 0, 0,102, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 11, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 4, 88, 2, 0, 0, 0, 0,104,136,132, 3, 0, 0, 0, 0,
- 104,136,132, 3, 0, 0, 0, 0,232,132,139, 3, 0, 0, 0, 0,232,132,139, 3, 0, 0, 0, 0, 56, 62,132, 3, 0, 0, 0, 0,
- 72,117,145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 232,132,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 232, 5, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,
- 112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,
- 112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,101,114, 97,116,111,114, 0,111,114, 32,116,111, 32, 83,
- 101,108,101, 99,116,101,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 39, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,134,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 88,147,139, 3, 0, 0, 0, 0,120,131,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 96,158,196, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 67, 0, 96,158,196, 0,128,142,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0,
- 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0,180, 0,214, 3,163, 0,214, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 59, 6, 0, 0, 59, 6, 0, 0,143, 0, 0, 0,244, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 248,254, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,135,139, 3, 0, 0, 0, 0,
- 184,145,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,135,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 152,137,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,122,254,163, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 152,137,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,139,139, 3, 0, 0, 0, 0,248,135,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,
- 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,
- 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,254,163, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,139,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 216,140,139, 3, 0, 0, 0, 0,152,137,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,212,252,163, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 216,140,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,142,139, 3, 0, 0, 0, 0, 56,139,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100,
- 95,110, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100,
- 95,110, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,116,101,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,252,163, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,142,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 24,144,139, 3, 0, 0, 0, 0,216,140,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 65,251,163, 0, 63, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
- 24,144,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,145,139, 3, 0, 0, 0, 0,120,142,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,
- 111,117,110,100, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,
- 111,117,110,100, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97, 99,107,103,114,111,117,110,100, 32, 73,109, 97,103,101,
- 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,252,163, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,145,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,144,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84,114, 97,110,115,102,111,114,109, 32, 79,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 80,252,163, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 88,147,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,134,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0, 59, 6, 0, 0,143, 0, 0, 0,244, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5,102, 3, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,254, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,126,131, 3, 0, 0, 0, 0,
- 200,125,131, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,148,139, 3, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,
- 200,148,139, 3, 0, 0, 0, 0,155, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,154, 20,231, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 6,128,191, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
- 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63, 68,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0,
- 52,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,
- 62, 95, 68, 65, 51,120,173,192,115,208,213, 64, 0, 0,128, 63,178,157,229, 62,115,171, 57,191,116,169, 81,191,184,158, 81,191,
- 117, 90,127, 63, 60,253,178, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,205,211,206, 63,218, 72,228,190, 42, 61,228,190,
- 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65,190,240,191, 62, 90,116, 85, 63, 0,179, 70,188, 0, 0,240, 50,
- 192,223, 99,190,200,172,219, 61, 59,215,253, 62, 0, 0, 32,178, 57,113,117,194, 25,209,216, 65, 27,159, 5,194, 52,252,159,192,
- 79, 55,114, 66,130,247,213,193,120,221, 3, 66,101, 4,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
- 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63,178,157,229, 62,115,171, 57,191,116,169, 81,191,184,158, 81,191,
- 117, 90,127, 63, 60,253,178, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,205,211,206, 63,218, 72,228,190, 42, 61,228,190,
- 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65,199, 58,183, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,199, 58,183, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 58,183, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,
- 33,210,111, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,126,231,166, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 32, 33, 12, 66, 85,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,120,152,139, 3, 0, 0, 0, 0,
- 156, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,
- 248,209,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0,
- 0, 0, 8, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 3, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0,
- 192, 0, 0, 0, 1, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,248, 60,138, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,155,139, 3, 0, 0, 0, 0,104,161,139, 3, 0, 0, 0, 0,
- 216,161,139, 3, 0, 0, 0, 0,152,170,139, 3, 0, 0, 0, 0, 8,171,139, 3, 0, 0, 0, 0, 88,238,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,184,155,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40,156,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 40,156,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,156,139, 3, 0, 0, 0, 0,184,155,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,156,139, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0, 8,157,139, 3, 0, 0, 0, 0, 40,156,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 7,128, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,157,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 120,157,139, 3, 0, 0, 0, 0,152,156,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,120,157,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,157,139, 3, 0, 0, 0, 0,
- 8,157,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 232,157,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,158,139, 3, 0, 0, 0, 0,120,157,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 7,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,158,139, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,200,158,139, 3, 0, 0, 0, 0,232,157,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,158,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 56,159,139, 3, 0, 0, 0, 0, 88,158,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,184, 1, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 56,159,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168,159,139, 3, 0, 0, 0, 0,
- 200,158,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 168,159,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,160,139, 3, 0, 0, 0, 0, 56,159,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 7,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,160,139, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,136,160,139, 3, 0, 0, 0, 0,168,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 5,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,160,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 248,160,139, 3, 0, 0, 0, 0, 24,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 5,100, 4, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,248,160,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104,161,139, 3, 0, 0, 0, 0,
- 136,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 104,161,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,160,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,161,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72,162,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,156,139, 3, 0, 0, 0, 0,
- 152,156,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,162,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,184,162,139, 3, 0, 0, 0, 0,216,161,139, 3, 0, 0, 0, 0, 40,156,139, 3, 0, 0, 0, 0,
- 120,157,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,162,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 40,163,139, 3, 0, 0, 0, 0, 72,162,139, 3, 0, 0, 0, 0,152,156,139, 3, 0, 0, 0, 0,
- 232,157,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,163,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,152,163,139, 3, 0, 0, 0, 0,184,162,139, 3, 0, 0, 0, 0,120,157,139, 3, 0, 0, 0, 0,
- 232,157,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,163,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 8,164,139, 3, 0, 0, 0, 0, 40,163,139, 3, 0, 0, 0, 0,120,157,139, 3, 0, 0, 0, 0,
- 88,158,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,164,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,120,164,139, 3, 0, 0, 0, 0,152,163,139, 3, 0, 0, 0, 0, 88,158,139, 3, 0, 0, 0, 0,
- 200,158,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,164,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,232,164,139, 3, 0, 0, 0, 0, 8,164,139, 3, 0, 0, 0, 0, 8,157,139, 3, 0, 0, 0, 0,
- 56,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,164,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 88,165,139, 3, 0, 0, 0, 0,120,164,139, 3, 0, 0, 0, 0,200,158,139, 3, 0, 0, 0, 0,
- 56,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,165,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,200,165,139, 3, 0, 0, 0, 0,232,164,139, 3, 0, 0, 0, 0,184,155,139, 3, 0, 0, 0, 0,
- 88,158,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,165,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 56,166,139, 3, 0, 0, 0, 0, 88,165,139, 3, 0, 0, 0, 0,184,155,139, 3, 0, 0, 0, 0,
- 56,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,166,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,168,166,139, 3, 0, 0, 0, 0,200,165,139, 3, 0, 0, 0, 0,232,157,139, 3, 0, 0, 0, 0,
- 168,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,166,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 24,167,139, 3, 0, 0, 0, 0, 56,166,139, 3, 0, 0, 0, 0, 8,157,139, 3, 0, 0, 0, 0,
- 168,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,167,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,136,167,139, 3, 0, 0, 0, 0,168,166,139, 3, 0, 0, 0, 0,200,158,139, 3, 0, 0, 0, 0,
- 168,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,167,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248,167,139, 3, 0, 0, 0, 0, 24,167,139, 3, 0, 0, 0, 0, 24,160,139, 3, 0, 0, 0, 0,
- 136,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,167,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104,168,139, 3, 0, 0, 0, 0,136,167,139, 3, 0, 0, 0, 0,232,157,139, 3, 0, 0, 0, 0,
- 136,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,168,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216,168,139, 3, 0, 0, 0, 0,248,167,139, 3, 0, 0, 0, 0,168,159,139, 3, 0, 0, 0, 0,
- 24,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,168,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72,169,139, 3, 0, 0, 0, 0,104,168,139, 3, 0, 0, 0, 0, 88,158,139, 3, 0, 0, 0, 0,
- 248,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,169,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,184,169,139, 3, 0, 0, 0, 0,216,168,139, 3, 0, 0, 0, 0, 24,160,139, 3, 0, 0, 0, 0,
- 248,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,169,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 40,170,139, 3, 0, 0, 0, 0, 72,169,139, 3, 0, 0, 0, 0,120,157,139, 3, 0, 0, 0, 0,
- 104,161,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,170,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,152,170,139, 3, 0, 0, 0, 0,184,169,139, 3, 0, 0, 0, 0,136,160,139, 3, 0, 0, 0, 0,
- 104,161,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,170,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,170,139, 3, 0, 0, 0, 0,248,160,139, 3, 0, 0, 0, 0,
- 104,161,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,171,139, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,216,174,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,157,139, 3, 0, 0, 0, 0,
- 40,156,139, 3, 0, 0, 0, 0,152,156,139, 3, 0, 0, 0, 0,232,157,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 7, 0, 0,101, 4, 0, 0,128, 4, 0, 0, 7, 7,129, 7, 28, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,184,244,139, 3, 0, 0, 0, 0,184,244,139, 3, 0, 0, 0, 0,248,171,139, 3, 0, 0, 0, 0,
- 104,173,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,171,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 104,173,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,133, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 32,240, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,129, 7, 26, 0,129, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 7, 0, 0,101, 4, 0, 0,126, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 129, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,173,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248,171,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,238, 68, 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
- 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 7, 0, 0,127, 4, 0, 0,128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 129, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,216,174,139, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 104,199,139, 3, 0, 0, 0, 0, 8,171,139, 3, 0, 0, 0, 0, 56,159,139, 3, 0, 0, 0, 0,200,158,139, 3, 0, 0, 0, 0,
- 168,159,139, 3, 0, 0, 0, 0, 8,157,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,128, 7, 0, 0,
- 0, 0, 0, 0,183, 1, 0, 0, 4, 4, 96, 1,184, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,198,139, 3, 0, 0, 0, 0, 40,198,139, 3, 0, 0, 0, 0,200,175,139, 3, 0, 0, 0, 0, 56,177,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,200,175,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 56,177,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,176, 67,
- 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65,
- 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 96, 1,
- 31, 0, 96, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,128, 7, 0, 0,
- 153, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 1, 31, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 56,177,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200,175,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,175, 67, 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0,255,127,167, 67,
- 255,127,204,195, 0, 0, 0, 0, 79, 1, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 96, 1,
- 153, 1, 79, 1,153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,128, 7, 0, 0,
- 0, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 1,153, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,178,139, 3, 0, 0, 0, 0,136,196,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,168,178,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,180,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 78, 1, 36, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,180,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,232,181,139, 3, 0, 0, 0, 0,168,178,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 78, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,232,181,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,183,139, 3, 0, 0, 0, 0,
- 72,180,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 78, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,183,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 40,185,139, 3, 0, 0, 0, 0,232,181,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 78, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 40,185,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,186,139, 3, 0, 0, 0, 0,
- 136,183,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105,
- 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 78, 1, 58, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,186,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,104,188,139, 3, 0, 0, 0, 0, 40,185,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,108,117,114, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 78, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,104,188,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,190,139, 3, 0, 0, 0, 0,
- 200,186,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 78, 1,102, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,190,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,168,191,139, 3, 0, 0, 0, 0,104,188,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253, 78, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,168,191,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,193,139, 3, 0, 0, 0, 0,
- 8,190,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,
- 110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,252, 78, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,193,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,232,194,139, 3, 0, 0, 0, 0,168,191,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252, 78, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,232,194,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,196,139, 3, 0, 0, 0, 0,
- 72,193,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252, 78, 1, 0, 0,
- 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,196,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,194,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 78, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,248, 0, 0, 0, 40,198,139, 3, 0, 0, 0, 0,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,199,139, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,216,206,139, 3, 0, 0, 0, 0,216,174,139, 3, 0, 0, 0, 0,184,155,139, 3, 0, 0, 0, 0,
- 88,158,139, 3, 0, 0, 0, 0,200,158,139, 3, 0, 0, 0, 0, 56,159,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,183, 1, 0, 0, 17, 17, 32, 6,184, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72,206,139, 3, 0, 0, 0, 0, 72,206,139, 3, 0, 0, 0, 0, 88,200,139, 3, 0, 0, 0, 0,
- 216,204,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,200,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 200,201,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,192, 63, 68, 0, 0,200, 65, 0,192, 63, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 32, 6, 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,201,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 216,204,139, 3, 0, 0, 0, 0, 88,200,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,207,195, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,207,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,157, 1, 0, 0,
- 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,157, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0,220, 0,158, 1,203, 0,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 220, 0,158, 1, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,203,139, 3, 0, 0, 0, 0,
- 56,203,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,203,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,196,255,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 216,204,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,201,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,188,159,235,194,239,231,178, 67,
- 51, 5, 0, 0, 68, 5, 0, 0, 18, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 50, 5, 0, 0, 18, 0, 0, 0,157, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70,
- 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 68, 5,158, 1, 51, 5,140, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,183, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,
- 72,206,139, 3, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 216,206,139, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,152,213,139, 3, 0, 0, 0, 0,104,199,139, 3, 0, 0, 0, 0,
- 24,160,139, 3, 0, 0, 0, 0,136,160,139, 3, 0, 0, 0, 0,232,157,139, 3, 0, 0, 0, 0,168,159,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,128, 7, 0, 0,185, 1, 0, 0, 99, 4, 0, 0, 9, 9, 64, 2,171, 2, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,210,139, 3, 0, 0, 0, 0,168,210,139, 3, 0, 0, 0, 0,
- 200,207,139, 3, 0, 0, 0, 0, 56,209,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,207,139, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 56,209,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 16, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 2, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128,181, 67, 0, 0,200, 65, 0,128,181, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 64, 2, 26, 0, 64, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,128, 7, 0, 0,185, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,209,139, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,207,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,181, 67,
- 0, 0, 0, 0, 0,128,218, 67, 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0,118, 63, 20, 68, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 2, 0, 0,
- 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68,
- 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0, 64, 2,145, 2, 64, 2,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,128, 7, 0, 0,211, 1, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64, 2,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0,168,210,139, 3, 0, 0, 0, 0,
- 168, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152,213,139, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 88,238,139, 3, 0, 0, 0, 0,216,206,139, 3, 0, 0, 0, 0,248,160,139, 3, 0, 0, 0, 0,104,161,139, 3, 0, 0, 0, 0,
- 136,160,139, 3, 0, 0, 0, 0, 24,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,
- 185, 1, 0, 0, 99, 4, 0, 0, 1, 1,251, 3,171, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200,236,139, 3, 0, 0, 0, 0,200,236,139, 3, 0, 0, 0, 0,136,214,139, 3, 0, 0, 0, 0,168,231,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,136,214,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248,215,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 98, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192,126, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65,
- 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,251, 3,
- 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,
- 185, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,248,215,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,104,217,139, 3, 0, 0, 0, 0,
- 136,214,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
- 255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,
- 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 69, 1, 0, 0,
- 211, 1, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,145, 2, 0, 0, 5, 0,
- 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,104,217,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,216,218,139, 3, 0, 0, 0, 0,
- 248,215,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67,
- 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,
- 120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,
- 211, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0,
- 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,216,218,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,168,231,139, 3, 0, 0, 0, 0,
- 104,217,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,
- 0, 0,109,196, 0,128,145,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,180, 0,
- 145, 2,163, 0,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 5, 0, 0, 63, 5, 0, 0,
- 211, 1, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0,
- 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,220,139, 3, 0, 0, 0, 0, 8,230,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 72,220,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,221,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,102,111,114,
- 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,254,163, 0,110, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232,221,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,136,223,139, 3, 0, 0, 0, 0, 72,220,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,254,163, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,136,223,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,225,139, 3, 0, 0, 0, 0,
- 232,221,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,105,101,119, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212,252,163, 0, 38, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40,225,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,200,226,139, 3, 0, 0, 0, 0,136,223,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,110, 97,109,101, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,110, 97,109,101, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 73,116,101,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,252,163, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,200,226,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,228,139, 3, 0, 0, 0, 0,
- 40,225,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,118,105,101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,118,105,101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,112,108, 97,121, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,252,163, 0, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104,228,139, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 8,230,139, 3, 0, 0, 0, 0,200,226,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97,
- 103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97,
- 103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 97, 99,107,103,114,111,117,110,100, 32, 73,109, 97,103,101,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,252,163, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 8,230,139, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 104,228,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80,
- 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,102,111,114,
- 109, 32, 79,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,252,163, 0, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,231,139, 3, 0, 0, 0, 0,
- 197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,218,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,211, 1, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,251, 3,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,233,139, 3, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0, 24,233,139, 3, 0, 0, 0, 0,
- 155, 0, 0, 0, 1, 0, 0, 0,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 69,117, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128,111, 18, 3,187, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 69,117, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,149, 53,207, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,153,133, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,249,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 69,117, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65,
- 0, 0, 0, 0, 0, 0, 0, 0,221, 57, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,200,236,139, 3, 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,248,209,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, 8, 0, 0, 0, 0,
- 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,238,139, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,152,213,139, 3, 0, 0, 0, 0, 88,158,139, 3, 0, 0, 0, 0,120,157,139, 3, 0, 0, 0, 0,
- 104,161,139, 3, 0, 0, 0, 0,248,160,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
- 185, 1, 0, 0, 99, 4, 0, 0, 3, 3, 68, 1,171, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,242,139, 3, 0, 0, 0, 0, 40,242,139, 3, 0, 0, 0, 0, 72,239,139, 3, 0, 0, 0, 0,184,240,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 72,239,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,184,240,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 83, 67, 0, 0,200, 65,
- 0, 0, 83, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 68, 1,
- 26, 0, 68, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
- 185, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,184,240,139, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72,239,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,232,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67,
- 0,192, 31,196, 0, 0, 0, 0, 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1,
- 145, 2, 51, 1,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
- 211, 1, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,145, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 1, 0, 0, 40,242,139, 3, 0, 0, 0, 0,165, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,179,118, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,120,179,118, 3, 0, 0, 0, 0,
- 219, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,136,243,139, 3, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,
- 136,243,139, 3, 0, 0, 0, 0,218, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0,
- 19, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0,
- 21, 0, 1, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,207,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 56,216,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,104, 45,142, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,184,228,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,152,138,141, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,120,222,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,203,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,248,209,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,104,202,140, 3, 0, 0, 0, 0,
- 21, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0,
- 192, 0, 0, 0, 1, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0,152,154,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,246,139, 3, 0, 0, 0, 0, 24,252,139, 3, 0, 0, 0, 0,
- 136,252,139, 3, 0, 0, 0, 0,184, 5,140, 3, 0, 0, 0, 0, 40, 6,140, 3, 0, 0, 0, 0, 88, 60,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,104,246,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,246,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 216,246,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72,247,139, 3, 0, 0, 0, 0,104,246,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,247,139, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,184,247,139, 3, 0, 0, 0, 0,216,246,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 7,128, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,247,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 40,248,139, 3, 0, 0, 0, 0, 72,247,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 40,248,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,248,139, 3, 0, 0, 0, 0,
- 184,247,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 152,248,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0, 40,248,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 20, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0,120,249,139, 3, 0, 0, 0, 0,152,248,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 240, 5, 20, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,249,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 232,249,139, 3, 0, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,232,249,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,250,139, 3, 0, 0, 0, 0,
- 120,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 88,250,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,200,250,139, 3, 0, 0, 0, 0,232,249,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,240, 5,144, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,250,139, 3, 0, 0, 0, 0,
- 193, 0, 0, 0, 1, 0, 0, 0, 56,251,139, 3, 0, 0, 0, 0, 88,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 248, 2,144, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,251,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
- 168,251,139, 3, 0, 0, 0, 0,200,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 68, 3, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,168,251,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,252,139, 3, 0, 0, 0, 0,
- 56,251,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 68, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 24,252,139, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,251,139, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 20, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,252,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248,252,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,246,139, 3, 0, 0, 0, 0,
- 72,247,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,252,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104,253,139, 3, 0, 0, 0, 0,136,252,139, 3, 0, 0, 0, 0,216,246,139, 3, 0, 0, 0, 0,
- 40,248,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,253,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216,253,139, 3, 0, 0, 0, 0,248,252,139, 3, 0, 0, 0, 0, 72,247,139, 3, 0, 0, 0, 0,
- 152,248,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,253,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72,254,139, 3, 0, 0, 0, 0,104,253,139, 3, 0, 0, 0, 0, 40,248,139, 3, 0, 0, 0, 0,
- 152,248,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,254,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,184,254,139, 3, 0, 0, 0, 0,216,253,139, 3, 0, 0, 0, 0,152,248,139, 3, 0, 0, 0, 0,
- 8,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,254,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 40,255,139, 3, 0, 0, 0, 0, 72,254,139, 3, 0, 0, 0, 0,184,247,139, 3, 0, 0, 0, 0,
- 120,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,255,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,152,255,139, 3, 0, 0, 0, 0,184,254,139, 3, 0, 0, 0, 0,104,246,139, 3, 0, 0, 0, 0,
- 232,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,255,139, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 8, 0,140, 3, 0, 0, 0, 0, 40,255,139, 3, 0, 0, 0, 0, 40,248,139, 3, 0, 0, 0, 0,
- 232,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 0,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,120, 0,140, 3, 0, 0, 0, 0,152,255,139, 3, 0, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0,
- 88,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 0,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,232, 0,140, 3, 0, 0, 0, 0, 8, 0,140, 3, 0, 0, 0, 0,120,249,139, 3, 0, 0, 0, 0,
- 88,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 0,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 88, 1,140, 3, 0, 0, 0, 0,120, 0,140, 3, 0, 0, 0, 0,232,249,139, 3, 0, 0, 0, 0,
- 200,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 1,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,200, 1,140, 3, 0, 0, 0, 0,232, 0,140, 3, 0, 0, 0, 0, 88,250,139, 3, 0, 0, 0, 0,
- 200,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 1,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 56, 2,140, 3, 0, 0, 0, 0, 88, 1,140, 3, 0, 0, 0, 0,120,249,139, 3, 0, 0, 0, 0,
- 56,251,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 2,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,168, 2,140, 3, 0, 0, 0, 0,200, 1,140, 3, 0, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0,
- 56,251,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 2,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 24, 3,140, 3, 0, 0, 0, 0, 56, 2,140, 3, 0, 0, 0, 0,152,248,139, 3, 0, 0, 0, 0,
- 168,251,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 3,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,136, 3,140, 3, 0, 0, 0, 0,168, 2,140, 3, 0, 0, 0, 0,184,247,139, 3, 0, 0, 0, 0,
- 168,251,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 3,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,248, 3,140, 3, 0, 0, 0, 0, 24, 3,140, 3, 0, 0, 0, 0, 56,251,139, 3, 0, 0, 0, 0,
- 168,251,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 3,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,104, 4,140, 3, 0, 0, 0, 0,136, 3,140, 3, 0, 0, 0, 0, 40,248,139, 3, 0, 0, 0, 0,
- 24,252,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 4,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,216, 4,140, 3, 0, 0, 0, 0,248, 3,140, 3, 0, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0,
- 24,252,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 4,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 72, 5,140, 3, 0, 0, 0, 0,104, 4,140, 3, 0, 0, 0, 0,200,250,139, 3, 0, 0, 0, 0,
- 24,252,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 5,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0,184, 5,140, 3, 0, 0, 0, 0,216, 4,140, 3, 0, 0, 0, 0,232,249,139, 3, 0, 0, 0, 0,
- 88,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 5,140, 3, 0, 0, 0, 0,
- 194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 5,140, 3, 0, 0, 0, 0,104,246,139, 3, 0, 0, 0, 0,
- 120,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 40, 6,140, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,248, 9,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,248,139, 3, 0, 0, 0, 0,
- 216,246,139, 3, 0, 0, 0, 0, 72,247,139, 3, 0, 0, 0, 0,152,248,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 7, 0, 0, 21, 4, 0, 0,128, 4, 0, 0, 7, 7,129, 7,108, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 67,140, 3, 0, 0, 0, 0, 24, 67,140, 3, 0, 0, 0, 0, 24, 7,140, 3, 0, 0, 0, 0,
- 136, 8,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 7,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 136, 8,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,133, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 32,240, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,129, 7, 26, 0,129, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 7, 0, 0,103, 4, 0, 0,128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 129, 7, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 8,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 7,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 68, 0, 0, 0, 0, 0, 0, 48, 65,
- 0, 0, 0, 0, 0, 0,238, 68, 0, 0, 0, 0, 0, 0,164, 66,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
- 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3,
- 2, 0, 0, 4, 10, 0,129, 7, 82, 0,112, 7, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 7, 0, 0, 21, 4, 0, 0,102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 129, 7, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 9,140, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
- 136, 34,140, 3, 0, 0, 0, 0, 40, 6,140, 3, 0, 0, 0, 0,120,249,139, 3, 0, 0, 0, 0, 56,251,139, 3, 0, 0, 0, 0,
- 168,251,139, 3, 0, 0, 0, 0,184,247,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0,
- 0, 0, 0, 0, 67, 3, 0, 0, 4, 4,144, 1, 68, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 33,140, 3, 0, 0, 0, 0, 72, 33,140, 3, 0, 0, 0, 0,232, 10,140, 3, 0, 0, 0, 0, 88, 12,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,232, 10,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 88, 12,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,200, 67,
- 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65,
- 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,144, 1,
- 31, 0,144, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0,
- 37, 3, 0, 0, 67, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 31, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 88, 12,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 232, 10,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,199, 67, 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0,254,127,191, 67,
- 254, 63, 73,196, 0, 0, 0, 0,127, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 36, 3, 0, 0, 0, 0, 0, 0,126, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 36, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,144, 1,
- 37, 3,127, 1, 37, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0,
- 0, 0, 0, 0, 36, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 37, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 13,140, 3, 0, 0, 0, 0,168, 31,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,200, 13,140, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104, 15,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
- 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,126, 1, 36, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 15,140, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 8, 17,140, 3, 0, 0, 0, 0,200, 13,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,126, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 8, 17,140, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168, 18,140, 3, 0, 0, 0, 0,
- 104, 15,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,126, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168, 18,140, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 72, 20,140, 3, 0, 0, 0, 0, 8, 17,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,126, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 72, 20,140, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232, 21,140, 3, 0, 0, 0, 0,
- 168, 18,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105,
- 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,126, 1, 58, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 21,140, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,136, 23,140, 3, 0, 0, 0, 0, 72, 20,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,108,117,114, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,126, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,136, 23,140, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40, 25,140, 3, 0, 0, 0, 0,
- 232, 21,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253,126, 1,102, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 25,140, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0,200, 26,140, 3, 0, 0, 0, 0,136, 23,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253,126, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0,200, 26,140, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104, 28,140, 3, 0, 0, 0, 0,
- 40, 25,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,
- 110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,252,126, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 28,140, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 8, 30,140, 3, 0, 0, 0, 0,200, 26,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252,126, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 1, 0, 0, 8, 30,140, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168, 31,140, 3, 0, 0, 0, 0,
- 104, 28,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252,126, 1, 0, 0,
- 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168, 31,140, 3, 0, 0, 0, 0,
- 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 30,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252,126, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,248, 0, 0, 0, 72, 33,140, 3, 0, 0, 0, 0,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136, 34,140, 3, 0, 0, 0, 0,
- 196, 0, 0, 0, 1, 0, 0, 0,232, 47,140, 3, 0, 0, 0, 0,248, 9,140, 3, 0, 0, 0, 0,200,250,139, 3, 0, 0, 0, 0,
- 24,252,139, 3, 0, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0, 88,250,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 249, 2, 0, 0,239, 5, 0, 0,145, 1, 0, 0, 19, 4, 0, 0, 1, 1,247, 2,131, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 46,140, 3, 0, 0, 0, 0, 88, 46,140, 3, 0, 0, 0, 0,120, 35,140, 3, 0, 0, 0, 0,
- 56, 41,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 35,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 232, 36,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 98, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0,192, 61, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,246, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0,247, 2, 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 249, 2, 0, 0,239, 5, 0, 0,145, 1, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 247, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 36,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 88, 38,140, 3, 0, 0, 0, 0,120, 35,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 249, 2, 0, 0,249, 2, 0, 0,171, 1, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0,105, 2, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 38,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 200, 39,140, 3, 0, 0, 0, 0,232, 36,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0,
- 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 249, 2, 0, 0,239, 5, 0, 0,171, 1, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 39,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 56, 41,140, 3, 0, 0, 0, 0, 88, 38,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0,
- 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 0, 6, 0,180, 0,122, 2,163, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 239, 5, 0, 0,239, 5, 0, 0,171, 1, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 41,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 39,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 249, 2, 0, 0,239, 5, 0, 0,171, 1, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 247, 2,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 168, 42,140, 3, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,168, 42,140, 3, 0, 0, 0, 0,155, 0, 0, 0, 1, 0, 0, 0,
- 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,109, 56,172, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, 0, 0,128,191, 0, 0, 0,128, 0, 0, 0,128,226,215,163,188, 0, 0, 0,128,
- 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,
- 162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,
- 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,
- 185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63,
- 178,157,229, 62,101, 96, 10,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63,205,101,133, 62, 9, 46,185, 62, 35, 44,185, 62,
- 145,180,109,188, 28, 37,154, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,
- 217,236,191, 62, 54,117, 85, 63, 0,247, 70,188, 0,192, 32,182,112,221,152,190,163, 93, 19, 62, 51, 77, 42, 63, 0, 32, 4, 54,
- 215,104, 25,196,133,132,135, 67, 37, 9,167,195,136,252, 71,194, 3, 54, 25, 68,158, 87,135,195,205,209,166, 67,151,254, 71, 66,
- 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,
- 162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,
- 178,157,229, 62,101, 96, 10,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63,205,101,133, 62, 9, 46,185, 62, 35, 44,185, 62,
- 145,180,109,188, 28, 37,154, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 72, 1, 0, 0, 88, 46,140, 3, 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,248,209,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,
- 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,232, 47,140, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 53,140, 3, 0, 0, 0, 0,
- 136, 34,140, 3, 0, 0, 0, 0,104,246,139, 3, 0, 0, 0, 0,232,249,139, 3, 0, 0, 0, 0, 88,250,139, 3, 0, 0, 0, 0,
- 120,249,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,143, 1, 0, 0,
- 18, 18,240, 5,144, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 52,140, 3, 0, 0, 0, 0,
- 40, 52,140, 3, 0, 0, 0, 0,216, 48,140, 3, 0, 0, 0, 0, 72, 50,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 216, 48,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72, 50,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,128,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,190, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,240, 5, 26, 0,240, 5, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 72, 50,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 48,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,192, 61, 68, 0, 0, 0, 0, 0, 0, 79, 67, 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,187, 67,
- 223, 5, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,222, 5, 0, 0, 0, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,240, 5,118, 1,223, 5,118, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 26, 0, 0, 0,143, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 184, 51,140, 3, 0, 0, 0, 0,176, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,232,202,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
- 232,202,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0, 40, 52,140, 3,
- 0, 0, 0, 0,177, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 51,140, 3,
- 0, 0, 0, 0,184, 51,140, 3, 0, 0, 0, 0, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 2, 0, 0, 42, 2, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 53,140, 3,
- 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 88, 60,140, 3, 0, 0, 0, 0,232, 47,140, 3, 0, 0, 0, 0, 56,251,139, 3,
- 0, 0, 0, 0, 8,249,139, 3, 0, 0, 0, 0,152,248,139, 3, 0, 0, 0, 0,168,251,139, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 69, 3, 0, 0, 19, 4, 0, 0, 3, 3,144, 1,207, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 57,140, 3, 0, 0, 0, 0,200, 57,140, 3, 0, 0, 0, 0,232, 54,140, 3,
- 0, 0, 0, 0, 88, 56,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 54,140, 3, 0, 0, 0, 0,197, 0, 0, 0,
- 1, 0, 0, 0, 88, 56,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0,200, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 1, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,128,149, 67, 0, 0,200, 65, 0,128,149, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,144, 1, 26, 0,144, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 69, 3, 0, 0, 94, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,144, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 56,140, 3, 0, 0, 0, 0,197, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 54,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,232,194,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191, 67, 0, 0, 35,195, 0, 0, 0, 0,127, 1, 0, 0,144, 1, 0, 0, 18, 0, 0, 0,
- 180, 0, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 18, 0, 0, 0,
- 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0,
- 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,144, 1,181, 0,127, 1,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 95, 3, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,144, 1,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,200, 57,140, 3, 0, 0, 0, 0,165, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 91, 86, 2,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,
- 16, 0, 0, 0, 8, 91, 86, 2, 0, 0, 0, 0,219, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 40, 59,140, 3,
- 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, 40, 59,140, 3, 0, 0, 0, 0,218, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 20, 0, 0, 0,
- 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 88,207,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,216,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,104, 45,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,228,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,152,138,141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,120,222,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 56,203,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,209,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,104,202,140, 3, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 24,188,140, 3, 0, 0, 0, 0, 68, 65, 84, 65,
- 160, 0, 0, 0, 88, 60,140, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 53,140, 3,
- 0, 0, 0, 0,232,249,139, 3, 0, 0, 0, 0, 40,248,139, 3, 0, 0, 0, 0, 24,252,139, 3, 0, 0, 0, 0,200,250,139, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,145, 1, 0, 0, 19, 4, 0, 0, 9, 9,248, 2,
- 131, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 64,140, 3, 0, 0, 0, 0, 40, 64,140, 3,
- 0, 0, 0, 0, 72, 61,140, 3, 0, 0, 0, 0,184, 62,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 61,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,184, 62,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 62, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 247, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,248, 2, 26, 0,248, 2, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,145, 1, 0, 0,170, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 62,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 61,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,224,189, 68, 0, 0, 0, 0, 0,192, 22, 68,248,150, 23, 68, 8, 41,100, 68,113, 44, 49, 67,200,233,212, 67, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 247, 2, 0, 0, 0, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60,
- 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,248, 2,105, 2,248, 2,105, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,171, 1, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0, 40, 64,140, 3,
- 0, 0, 0, 0,168, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,231, 1, 0, 0,243, 1, 0, 0,122, 1, 0, 0,
- 124, 1, 0, 0,231, 1, 0, 0,243, 1, 0, 0, 4, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0,192, 0, 0, 0,
- 1, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0, 72,245,139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 68,140, 3, 0, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0, 72, 72,140, 3,
- 0, 0, 0, 0,168, 76,140, 3, 0, 0, 0, 0, 24, 77,140, 3, 0, 0, 0, 0, 56,121,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,200, 68,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 56, 69,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 69,140, 3,
- 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168, 69,140, 3, 0, 0, 0, 0,200, 68,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 69,140, 3, 0, 0, 0, 0,193, 0, 0, 0,
- 1, 0, 0, 0, 24, 70,140, 3, 0, 0, 0, 0, 56, 69,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 70,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136, 70,140, 3,
- 0, 0, 0, 0,168, 69,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,248, 70,140, 3, 0, 0, 0, 0, 24, 70,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 70,140, 3,
- 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0,193, 0, 0, 0,
- 1, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0,248, 70,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 70, 4,
- 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 72, 72,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184, 72,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 69,140, 3, 0, 0, 0, 0,168, 69,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,184, 72,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40, 73,140, 3, 0, 0, 0, 0, 72, 72,140, 3,
- 0, 0, 0, 0, 56, 69,140, 3, 0, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 40, 73,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,152, 73,140, 3, 0, 0, 0, 0,184, 72,140, 3,
- 0, 0, 0, 0,168, 69,140, 3, 0, 0, 0, 0,248, 70,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,152, 73,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8, 74,140, 3, 0, 0, 0, 0, 40, 73,140, 3,
- 0, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0,248, 70,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 8, 74,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120, 74,140, 3, 0, 0, 0, 0,152, 73,140, 3,
- 0, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,120, 74,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,232, 74,140, 3, 0, 0, 0, 0, 8, 74,140, 3,
- 0, 0, 0, 0,200, 68,140, 3, 0, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,232, 74,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88, 75,140, 3, 0, 0, 0, 0,120, 74,140, 3,
- 0, 0, 0, 0,200, 68,140, 3, 0, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 88, 75,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200, 75,140, 3, 0, 0, 0, 0,232, 74,140, 3,
- 0, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,200, 75,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56, 76,140, 3, 0, 0, 0, 0, 88, 75,140, 3,
- 0, 0, 0, 0,248, 70,140, 3, 0, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 56, 76,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168, 76,140, 3, 0, 0, 0, 0,200, 75,140, 3,
- 0, 0, 0, 0, 24, 70,140, 3, 0, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,168, 76,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 76,140, 3,
- 0, 0, 0, 0, 24, 70,140, 3, 0, 0, 0, 0,248, 70,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 160, 0, 0, 0, 24, 77,140, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,232, 80,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0, 56, 69,140, 3, 0, 0, 0, 0,168, 69,140, 3, 0, 0, 0, 0,248, 70,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7,
- 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,137,140, 3, 0, 0, 0, 0,216,137,140, 3,
- 0, 0, 0, 0, 8, 78,140, 3, 0, 0, 0, 0,120, 79,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 78,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120, 79,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 79,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 78,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,
- 129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232, 80,140, 3,
- 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56,121,140, 3, 0, 0, 0, 0, 24, 77,140, 3, 0, 0, 0, 0,200, 68,140, 3,
- 0, 0, 0, 0,136, 70,140, 3, 0, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 69, 4, 0, 0, 6, 6,196, 3, 70, 4, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 87,140, 3, 0, 0, 0, 0,200, 87,140, 3, 0, 0, 0, 0,216, 81,140, 3,
- 0, 0, 0, 0, 88, 86,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 81,140, 3, 0, 0, 0, 0,197, 0, 0, 0,
- 1, 0, 0, 0, 72, 83,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,192, 41, 68, 0, 0,200, 65, 0,192, 41, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,196, 3, 26, 0,196, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,196, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 83,140, 3, 0, 0, 0, 0,197, 0, 0, 0,
- 1, 0, 0, 0, 88, 86,140, 3, 0, 0, 0, 0,216, 81,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 67, 0, 96,133,196,
- 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,127,133,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,
- 43, 4, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,
- 43, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0, 44, 4,203, 0, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,220, 0, 44, 4, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 84,140, 3,
- 0, 0, 0, 0,184, 84,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 84,140, 3, 0, 0, 0, 0,195, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,174,255,202, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 88, 86,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 83,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67,154,153, 41,191,205,204,212, 63,154,153,149,191,
- 205,204, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232, 2, 0, 0, 0, 0, 0, 0, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,195, 3, 0, 0, 26, 0, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 2, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 33, 0, 0,200, 87,140, 3, 0, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 160, 0, 0, 0, 56,121,140, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 80,140, 3,
- 0, 0, 0, 0,216, 71,140, 3, 0, 0, 0, 0,104, 71,140, 3, 0, 0, 0, 0,248, 70,140, 3, 0, 0, 0, 0, 24, 70,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 69, 4, 0, 0, 1, 1,178, 3,
- 70, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136,140, 3, 0, 0, 0, 0, 72,136,140, 3,
- 0, 0, 0, 0, 40,122,140, 3, 0, 0, 0, 0, 40,131,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,122,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,152,123,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,108, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 177, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,178, 3, 26, 0,178, 3, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,123,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,168,126,140, 3, 0, 0, 0, 0, 40,122,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 32, 67, 0, 0,109,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,109,196, 0, 0, 0, 0,143, 0, 0, 0,
- 160, 0, 0, 0, 0, 0, 0, 0,179, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 142, 0, 0, 0, 0, 0, 0, 0,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,180, 3,143, 0,180, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,100, 4, 0, 0,146, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,180, 3, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8,125,140, 3, 0, 0, 0, 0, 8,125,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,125,140, 3,
- 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101,
- 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101,
- 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,254,143, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,126,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,184,129,140, 3,
- 0, 0, 0, 0,152,123,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194, 0, 0, 0, 0, 0, 0, 0, 0,
- 231,102, 16, 67, 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,
- 142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4,
- 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,
- 100, 4, 0, 0, 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,120, 0,
- 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,128,140, 3, 0, 0, 0, 0, 24,128,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,128,140, 3, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87,
- 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87,
- 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,101,114,
- 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,
- 144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,129,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 40,131,140, 3, 0, 0, 0, 0,168,126,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 35, 67, 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0,163, 0, 0, 0,
- 180, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 162, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0, 13, 4,163, 0,251, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,131,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,129,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,101, 4, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 3, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,132,140, 3, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,152,132,140, 3,
- 0, 0, 0, 0,155, 0, 0, 0, 1, 0, 0, 0,161, 58,190, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,
- 143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,
- 142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,188,173, 54, 64,
- 136, 95,161,191,147,231,198, 63, 0, 0,128, 63,169,255, 27, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,254,123,173, 63,
- 140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,150,126,161,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0,
- 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64, 97, 66,141, 62,204, 23, 29, 63,192, 60, 18,188, 0, 0, 96,179,195, 15,188,190,
- 130, 75, 53, 62,216,125, 81, 63, 0, 0,192,179,115, 77,100,193, 16,173,201, 64,181,148,248,192,203,247,159,192,233, 74, 87, 65,
- 246, 46,190,192, 88,106,234, 64, 45, 8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,
- 143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63,169,255, 27, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,254,123,173, 63,
- 140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,150,126,161,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0,
- 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 0, 25, 95, 64,
- 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0, 18,106,224, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 72,136,140, 3, 0, 0, 0, 0,156, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,248,209,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, 8,
- 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,104,138,140, 3, 0, 0, 0, 0,192, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 67,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,139,140, 3, 0, 0, 0, 0, 88,144,140, 3, 0, 0, 0, 0,200,144,140, 3,
- 0, 0, 0, 0, 56,152,140, 3, 0, 0, 0, 0,168,152,140, 3, 0, 0, 0, 0,152,179,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,136,139,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,248,139,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,139,140, 3,
- 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104,140,140, 3, 0, 0, 0, 0,136,139,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,140,140, 3, 0, 0, 0, 0,193, 0, 0, 0,
- 1, 0, 0, 0,216,140,140, 3, 0, 0, 0, 0,248,139,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,140,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72,141,140, 3,
- 0, 0, 0, 0,104,140,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 72,141,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,184,141,140, 3, 0, 0, 0, 0,216,140,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,141,140, 3,
- 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0, 72,141,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0,193, 0, 0, 0,
- 1, 0, 0, 0,152,142,140, 3, 0, 0, 0, 0,184,141,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 16, 2,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,142,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,143,140, 3,
- 0, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 8,143,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0,152,142,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 3, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,143,140, 3,
- 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0, 8,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0,193, 0, 0, 0,
- 1, 0, 0, 0, 88,144,140, 3, 0, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 3, 16, 2,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,144,140, 3, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,200,144,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,145,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248,139,140, 3, 0, 0, 0, 0,104,140,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 56,145,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,145,140, 3, 0, 0, 0, 0,200,144,140, 3,
- 0, 0, 0, 0,248,139,140, 3, 0, 0, 0, 0, 72,141,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,168,145,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24,146,140, 3, 0, 0, 0, 0, 56,145,140, 3,
- 0, 0, 0, 0,104,140,140, 3, 0, 0, 0, 0,184,141,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 24,146,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,146,140, 3, 0, 0, 0, 0,168,145,140, 3,
- 0, 0, 0, 0, 72,141,140, 3, 0, 0, 0, 0,184,141,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,136,146,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248,146,140, 3, 0, 0, 0, 0, 24,146,140, 3,
- 0, 0, 0, 0,184,141,140, 3, 0, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,248,146,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,104,147,140, 3, 0, 0, 0, 0,136,146,140, 3,
- 0, 0, 0, 0,136,139,140, 3, 0, 0, 0, 0,152,142,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,104,147,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216,147,140, 3, 0, 0, 0, 0,248,146,140, 3,
- 0, 0, 0, 0, 72,141,140, 3, 0, 0, 0, 0, 8,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,216,147,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,148,140, 3, 0, 0, 0, 0,104,147,140, 3,
- 0, 0, 0, 0,152,142,140, 3, 0, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 72,148,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,148,140, 3, 0, 0, 0, 0,216,147,140, 3,
- 0, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,184,148,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,149,140, 3, 0, 0, 0, 0, 72,148,140, 3,
- 0, 0, 0, 0, 8,143,140, 3, 0, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 40,149,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,152,149,140, 3, 0, 0, 0, 0,184,148,140, 3,
- 0, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0, 88,144,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,152,149,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,150,140, 3, 0, 0, 0, 0, 40,149,140, 3,
- 0, 0, 0, 0,216,140,140, 3, 0, 0, 0, 0, 88,144,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 8,150,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120,150,140, 3, 0, 0, 0, 0,152,149,140, 3,
- 0, 0, 0, 0,152,142,140, 3, 0, 0, 0, 0, 88,144,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,120,150,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,232,150,140, 3, 0, 0, 0, 0, 8,150,140, 3,
- 0, 0, 0, 0,136,139,140, 3, 0, 0, 0, 0,216,140,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,232,150,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88,151,140, 3, 0, 0, 0, 0,120,150,140, 3,
- 0, 0, 0, 0,184,141,140, 3, 0, 0, 0, 0, 8,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 88,151,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,151,140, 3, 0, 0, 0, 0,232,150,140, 3,
- 0, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,200,151,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,152,140, 3, 0, 0, 0, 0, 88,151,140, 3,
- 0, 0, 0, 0, 72,141,140, 3, 0, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 56,152,140, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,151,140, 3,
- 0, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 160, 0, 0, 0,168,152,140, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120,156,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 72,141,140, 3, 0, 0, 0, 0,248,139,140, 3, 0, 0, 0, 0,104,140,140, 3, 0, 0, 0, 0,184,141,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7,
- 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,187,140, 3, 0, 0, 0, 0,136,187,140, 3,
- 0, 0, 0, 0,152,153,140, 3, 0, 0, 0, 0, 8,155,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,153,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 8,155,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,155,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,153,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,
- 129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,156,140, 3,
- 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,104,161,140, 3, 0, 0, 0, 0,168,152,140, 3, 0, 0, 0, 0,136,139,140, 3,
- 0, 0, 0, 0,152,142,140, 3, 0, 0, 0, 0, 88,144,140, 3, 0, 0, 0, 0,216,140,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 15, 15,119, 7,100, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,160,140, 3, 0, 0, 0, 0, 72,160,140, 3, 0, 0, 0, 0,104,157,140, 3,
- 0, 0, 0, 0,216,158,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,157,140, 3, 0, 0, 0, 0,197, 0, 0, 0,
- 1, 0, 0, 0,216,158,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,137, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,158,140, 3, 0, 0, 0, 0,197, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,157,140, 3, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0,
- 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 18, 0, 0, 0,
- 73, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0,
- 0, 0, 0, 2, 4, 0, 0, 4, 8, 0,119, 7, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,119, 7, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,160,140, 3, 0, 0, 0, 0,172, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,
- 160, 0, 0, 0,104,161,140, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248,170,140, 3, 0, 0, 0, 0,120,156,140, 3,
- 0, 0, 0, 0,152,142,140, 3, 0, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0, 88,144,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 15, 2, 0, 0, 8, 8,119, 7,
- 171, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,169,140, 3, 0, 0, 0, 0,184,169,140, 3,
- 0, 0, 0, 0, 88,162,140, 3, 0, 0, 0, 0, 72,168,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,162,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,200,163,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 96,191, 68, 0, 0,200, 65, 0, 96,191, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,101, 0, 0, 0,126, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,163,140, 3,
- 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,216,166,140, 3, 0, 0, 0, 0, 88,162,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 92, 67, 0,128,200,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0,128,200,195, 0, 0, 0, 0,203, 0, 0, 0,
- 220, 0, 0, 0, 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 202, 0, 0, 0, 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,145, 1,203, 0,145, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,155, 6, 0, 0,118, 7, 0, 0,127, 0, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,145, 1, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56,165,140, 3, 0, 0, 0, 0, 56,165,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,165,140, 3,
- 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 69, 81, 85, 69, 78, 67, 69, 82, 95, 80, 84, 95,112,114,101,118,105,101,119,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 69, 81, 85, 69, 78, 67, 69, 82, 95, 80, 84, 95,112,114,101,118,105,101,119,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110,101, 32, 80,114,101,118,105,101,119, 47, 82,101,110,100,101,114,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,255,203, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,166,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72,168,140, 3,
- 0, 0, 0, 0,200,163,140, 3, 0, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0,112,196,
- 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 154, 6, 0, 0, 15, 2, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,168,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,166,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0,
- 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,144, 1, 0, 0, 18, 0, 0, 0,
- 154, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,154, 6, 0, 0, 18, 0, 0, 0,144, 1, 0, 0, 0, 0, 32, 65,
- 0, 0,128, 64, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
- 8, 0,155, 6,145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 154, 6, 0, 0,127, 0, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,155, 6,145, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,184,169,140, 3, 0, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,170,140, 3, 0, 0, 0, 0,196, 0, 0, 0,
- 1, 0, 0, 0,152,179,140, 3, 0, 0, 0, 0,104,161,140, 3, 0, 0, 0, 0,120,143,140, 3, 0, 0, 0, 0, 72,141,140, 3,
- 0, 0, 0, 0, 8,143,140, 3, 0, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75, 3, 0, 0, 17, 2, 0, 0, 69, 4, 0, 0, 2, 2, 76, 3, 53, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,177,140, 3, 0, 0, 0, 0,168,177,140, 3, 0, 0, 0, 0,232,171,140, 3, 0, 0, 0, 0, 56,176,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,171,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 88,173,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,100, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0, 83, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,103, 68,
- 0, 0,200, 65, 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4,
- 10, 0, 76, 3, 26, 0, 76, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75, 3, 0, 0, 17, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 3, 26, 0,
- 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,173,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,200,174,140, 3,
- 0, 0, 0, 0,232,171,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 72, 67, 0, 64, 2,196, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,
- 199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4,
- 6, 0,217, 0, 27, 2,200, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 216, 0, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 27, 2,
- 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,174,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 56,176,140, 3,
- 0, 0, 0, 0, 88,173,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0,
- 75, 3, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,176,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,174,140, 3, 0, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0,
- 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, 18, 0, 0, 0,
- 114, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,114, 2, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0,111, 18,131, 58,
- 111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
- 0, 0,115, 2, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0,
- 75, 3, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 2, 27, 2,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,168,177,140, 3, 0, 0, 0, 0,160, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,178,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,232,178,140, 3, 0, 0, 0, 0, 18, 1, 0, 0,
- 1, 0, 0, 0, 24,188,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152,179,140, 3, 0, 0, 0, 0,196, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,170,140, 3, 0, 0, 0, 0,232,143,140, 3, 0, 0, 0, 0, 8,143,140, 3,
- 0, 0, 0, 0,184,141,140, 3, 0, 0, 0, 0, 40,142,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 3, 0, 0,
- 118, 7, 0, 0, 17, 2, 0, 0, 69, 4, 0, 0, 8, 8, 42, 4, 53, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 72,186,140, 3, 0, 0, 0, 0, 72,186,140, 3, 0, 0, 0, 0,136,180,140, 3, 0, 0, 0, 0,216,184,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,180,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248,181,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 64,133, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 50, 68,
- 0, 0,200, 65, 0, 64, 50, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4,
- 10, 0, 42, 4, 26, 0, 42, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 3, 0, 0,
- 118, 7, 0, 0, 17, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 4, 26, 0,
- 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,181,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,104,183,140, 3,
- 0, 0, 0, 0,136,180,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,
- 118, 7, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,183,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,216,184,140, 3,
- 0, 0, 0, 0,248,181,140, 3, 0, 0, 0, 0, 0, 0,240,195, 0, 0,240, 67, 0, 0,135,195, 0, 0,135, 67, 96,187,216,196,
- 96,187,216, 68,244, 43, 91,196,244, 43, 91, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 4, 0, 0, 0, 0, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 4,
- 0, 0, 42, 4, 27, 2, 42, 4, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 3, 0, 0,
- 118, 7, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 4, 27, 2,
- 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,184,140, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,183,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0,
- 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 18, 0, 0, 0,
- 201, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 32, 65,
- 0, 0,128, 64, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8, 0,202, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 72,186,140, 3, 0, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0, 16, 6, 0, 0, 24,188,140, 3, 0, 0, 0, 0,153, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,120,194,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,209,140, 3, 0, 0, 0, 0, 88,207,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,197,140, 3, 0, 0, 0, 0, 24,198,140, 3, 0, 0, 0, 0, 56,197,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,198,140, 3, 0, 0, 0, 0, 72, 78,137, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,
- 100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,
- 224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 0, 50, 0,141, 0,128, 7, 56, 4, 8, 0, 8, 0, 0, 0,
- 24, 0, 17, 0, 0, 0, 0, 0, 90, 0, 1, 0, 0, 0, 0, 0, 81, 0, 0, 0, 23, 0, 33, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,201,140, 3,
- 0, 0, 0, 0,200,201,140, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 98, 97, 99,107, 98,117,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 5, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,
- 180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 76, 69, 78, 68, 69, 82, 95, 82, 69, 78, 68,
- 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63,102,166,171, 67,
- 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,172,115, 2, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 32, 0, 32, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, 0, 60, 0, 5, 0,
- 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0,
- 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0,
- 128, 7, 56, 4,205,204,204, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,195,245, 28,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,120,194,140, 3,
- 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,195,140, 3, 0, 0, 0, 0,136,196,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 40,195,140, 3, 0, 0, 0, 0, 8, 0, 0, 0,
- 1, 0, 0, 0,136,196,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,110,101,116,119,111,114,107, 95,
- 114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,195,140, 3, 0, 0, 0, 0,216,195,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,216,195,140, 3, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115,101,114,118,101,114, 95, 97,100,100,114,101,115,115, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 25,126, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 68, 65, 84, 65,
- 12, 0, 0, 0, 56, 25,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 91,100,101,102, 97,117,108,116, 93, 0, 0, 0,
- 68, 65, 84, 65, 96, 0, 0, 0,136,196,140, 3, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,195,140, 3, 0, 0, 0, 0, 6, 0, 0, 0,112,111,115,101, 95,116,101,109,112,108, 97,116,101,115, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,197,140, 3, 0, 0, 0, 0,129, 0, 0, 0, 1, 0, 0, 0,168,197,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,206, 2,179, 1, 56,216,140, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 168,197,140, 3, 0, 0, 0, 0,129, 0, 0, 0, 1, 0, 0, 0, 24,198,140, 3, 0, 0, 0, 0, 56,197,140, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0,160, 3,244, 2,120,222,140, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,198,140, 3, 0, 0, 0, 0,129, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,197,140, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0,158, 0, 21, 2,248,209,140, 3, 0, 0, 0, 0, 68, 65, 84, 65,192, 1, 0, 0,
- 136,198,140, 3, 0, 0, 0, 0,149, 0, 0, 0, 1, 0, 0, 0,248,102,130, 3, 0, 0, 0, 0,152,200,140, 3, 0, 0, 0, 0,
- 24,201,140, 3, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 1, 0,205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,
- 111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0, 32, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 255,255,255,128, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 0, 5, 0, 5, 0,255,255, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 10,215, 35, 60,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,
- 205,204,204, 61,205,204,204, 61,102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 35, 0, 0, 0,204,197,121, 63, 0, 0, 0, 63, 68, 65, 84, 65, 56, 0, 0, 0,248,102,130, 3, 0, 0, 0, 0,
- 148, 0, 0, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 0, 0, 0,152,200,140, 3, 0, 0, 0, 0,148, 0, 0, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,200,255,128, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 24,201,140, 3, 0, 0, 0, 0,
- 147, 0, 0, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,100,100,128, 1, 0, 0, 0,
- 128, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,124, 7,231, 65,255, 74, 20, 65, 54, 86,123, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 0, 0, 0,200,201,140, 3, 0, 0, 0, 0,135, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 76, 97,121,101,114, 0,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 255,255, 15, 0, 0, 0, 0, 0,255,127, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0,
- 104,202,140, 3, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48,
- 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 0, 0, 0, 0, 63,205,204,204, 61, 0, 0,200, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0,
- 56,203,140, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 88,205,140, 3, 0, 0, 0, 0, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66,
- 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0,
- 0, 2, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 232,206,140, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 88,205,140, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
- 243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 24, 26,129, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0, 24, 26,129, 3, 0, 0, 0, 0, 76, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,206,140, 3, 0, 0, 0, 0,
- 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,224, 1, 0, 0, 88,207,140, 3, 0, 0, 0, 0,
- 128, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 114, 99, 80, 61,114, 99, 80, 61,114, 99, 80, 61,199, 54, 36, 60,199, 54, 36, 60,199, 54, 36, 60, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 205,204, 28, 65, 0, 0, 0, 0, 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64,
- 0, 0,200, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
- 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61,
- 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 136,209,140, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,209,140, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 16, 5, 0, 0,248,209,140, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
- 56,216,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 104,202,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,110,101,239, 64,150, 62,208,192,
- 78,255,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,254,141, 63,192, 57, 49, 60, 34,159, 80, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222,149, 47, 63, 53, 70, 58, 63,222, 56, 49,188, 0, 0, 0, 0, 86,126,162,190,
- 227,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,149, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,
- 150, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 1, 0,128, 51, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 51,
- 0, 0,128, 63, 1, 0,128, 51, 0, 0, 0, 0, 2, 0, 0,179, 2, 0, 0,167, 1, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 53,
- 1, 0, 0, 41, 1, 0,128,168, 0, 0,128, 63,221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,
- 225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,
- 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
- 0, 0,128, 63,187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,215,140, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 88,215,140, 3, 0, 0, 0, 0,
- 119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 79, 66, 0, 0, 16, 5, 0, 0, 56,216,140, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,120,222,140, 3, 0, 0, 0, 0,
- 248,209,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117, 98,101, 0,112,
- 104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,136, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 45,142, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 98,118, 3, 0, 0, 0, 0,
- 152,250,128, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 7, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
- 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,221,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56,255,129, 3, 0, 0, 0, 0, 40, 83,136, 3, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 56, 98,118, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,152,250,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,152,221,140, 3, 0, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 79, 66, 0, 0, 16, 5, 0, 0,120,222,140, 3,
- 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,216,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,203,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,
- 250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 229,123, 38, 63, 87, 43, 98, 61,229,229,238, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,236,148,190, 25,134,116, 63,
- 236, 13, 98,189, 0, 0, 0, 0,221,102, 69,191, 57,174, 76,190, 34,194, 26, 63, 0, 0, 0, 0, 37,255, 16, 63,241,161, 95, 62,
- 164,111, 75, 63, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 1, 0,128, 50,
- 0, 0, 0,179, 0, 0, 0, 0, 1, 0,128, 50, 1, 0,128, 63, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 39, 1, 0, 0, 52, 1, 0,128, 39, 0, 0,128, 63, 54,236,148,190,221,102, 69,191,
- 38,255, 16, 63, 0, 0, 0, 0, 24,134,116, 63, 57,174, 76,190,239,161, 95, 62, 0, 0, 0, 0,237, 13, 98,189, 35,194, 26, 63,
- 166,111, 75, 63, 0, 0, 0, 0,209, 19, 13, 63,241, 65,102,190, 10, 10,231,192, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,227,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 152, 0, 0, 0,216,227,140, 3, 0, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 77, 65, 0, 0, 32, 3, 0, 0,184,228,140, 3, 0, 0, 0, 0, 35, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,208, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,205,204, 76, 63,205,204, 76, 63,
- 205,204, 76, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62,
- 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59,
- 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 64, 3, 67, 0, 64, 3, 1, 0, 4, 0, 12, 0, 4, 0,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,
- 205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 40,232,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,233,140, 3, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 40,232,140, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,138,141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0,136,233,140, 3,
- 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0,
- 52, 0, 52, 0,248,233,140, 3, 0, 0, 0, 0, 72,250,140, 3, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,248,233,140, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 51,
- 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153, 4, 4, 4,102, 3, 3, 3,102, 2, 2, 2, 51, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204, 13, 13, 13,255,
- 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
- 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 10, 10, 10,153, 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 23, 23, 23,255,
- 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, 11, 11, 11,255, 10, 10, 10,255, 9, 9, 9,255,
- 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255, 33, 33, 33,255,
- 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 12, 12, 12,255,
- 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255, 41, 41, 41,255,
- 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255, 30, 30, 30,255, 27, 27, 27,255, 24, 24, 24,255, 20, 20, 20,255,
- 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102,
- 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255, 51, 51, 51,255, 51, 51, 51,255, 50, 50, 50,255, 49, 49, 49,255,
- 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255, 37, 37, 37,255, 34, 34, 34,255, 31, 31, 31,255, 28, 28, 28,255,
- 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255, 10, 10, 10,255, 11, 11, 11,255, 7, 7, 7,153, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 41, 41, 41,255,
- 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255, 59, 59, 59,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255,
- 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255, 45, 45, 45,255, 41, 41, 41,255, 38, 38, 38,255, 35, 35, 35,255,
- 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 5, 5, 5,102,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36,204, 53, 53, 53,255,
- 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255, 66, 66, 66,255, 66, 66, 66,255, 65, 65, 65,255, 64, 64, 64,255,
- 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255, 51, 51, 51,255, 48, 48, 48,255, 44, 44, 44,255, 41, 41, 41,255,
- 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255, 19, 19, 19,255, 13, 13, 13,255, 11, 11, 11,255, 12, 12, 12,255,
- 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19,102, 56, 56, 56,255, 64, 64, 64,255,
- 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255, 74, 74, 74,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255,
- 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255, 58, 58, 58,255, 54, 54, 54,255, 50, 50, 50,255, 47, 47, 47,255,
- 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255, 25, 25, 25,255, 19, 19, 19,255, 13, 13, 13,255, 12, 12, 12,255,
- 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,255, 66, 66, 66,255, 72, 72, 72,255,
- 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255, 81, 81, 81,255, 80, 80, 80,255, 79, 79, 79,255, 77, 77, 77,255,
- 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255, 63, 63, 63,255, 60, 60, 60,255, 56, 56, 56,255, 52, 52, 52,255,
- 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255, 30, 30, 30,255, 24, 24, 24,255, 18, 18, 18,255, 12, 12, 12,255,
- 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22,102, 67, 67, 67,255, 76, 76, 76,255, 81, 81, 81,255,
- 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255, 86, 86, 86,255, 84, 84, 84,255,
- 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255, 69, 69, 69,255, 65, 65, 65,255, 62, 62, 62,255, 58, 58, 58,255,
- 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255, 35, 35, 35,255, 29, 29, 29,255, 23, 23, 23,255, 16, 16, 16,255,
- 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,204, 76, 76, 76,255, 84, 84, 84,255, 89, 89, 89,255,
- 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255, 95, 95, 95,255, 94, 94, 94,255, 93, 93, 93,255, 91, 91, 91,255,
- 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255, 75, 75, 75,255, 71, 71, 71,255, 67, 67, 67,255, 63, 63, 63,255,
- 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255, 40, 40, 40,255, 34, 34, 34,255, 28, 28, 28,255, 21, 21, 21,255,
- 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102, 70, 70, 70,255, 85, 85, 85,255, 92, 92, 92,255, 97, 97, 97,255,
- 100,100,100,255,102,102,102,255,102,102,102,255,103,103,103,255,102,102,102,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255,
- 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 81, 81, 81,255, 77, 77, 77,255, 72, 72, 72,255, 68, 68, 68,255,
- 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 44, 44, 44,255, 39, 39, 39,255, 32, 32, 32,255, 25, 25, 25,255,
- 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102, 80, 80, 80,255, 93, 93, 93,255,100,100,100,255,104,104,104,255,
- 107,107,107,255,109,109,109,255,109,109,109,255,109,109,109,255,109,109,109,255,107,107,107,255,106,106,106,255,103,103,103,255,
- 100,100,100,255, 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255, 86, 86, 86,255, 82, 82, 82,255, 77, 77, 77,255, 73, 73, 73,255,
- 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 49, 49, 49,255, 43, 43, 43,255, 36, 36, 36,255, 29, 29, 29,255,
- 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102, 89, 89, 89,255,100,100,100,255,107,107,107,255,112,112,112,255,
- 114,114,114,255,116,116,116,255,116,116,116,255,116,116,116,255,115,115,115,255,114,114,114,255,112,112,112,255,110,110,110,255,
- 107,107,107,255,104,104,104,255,100,100,100,255, 96, 96, 96,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255,
- 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255, 52, 52, 52,255, 46, 46, 46,255, 40, 40, 40,255, 33, 33, 33,255,
- 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153, 95, 95, 95,255,107,107,107,255,114,114,114,255,118,118,118,255,
- 121,121,121,255,122,122,122,255,123,123,123,255,123,123,123,255,122,122,122,255,122,122,122,255,120,120,120,255,118,118,118,255,
- 114,114,114,255,110,110,110,255,106,106,106,255,101,101,101,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255,
- 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255, 56, 56, 56,255, 50, 50, 50,255, 44, 44, 44,255, 36, 36, 36,255,
- 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153,101,101,101,255,113,113,113,255,120,120,120,255,125,125,125,255,
- 127,127,127,255,129,129,129,255,130,130,130,255,130,130,130,255,131,131,131,255,131,131,131,255,131,131,131,255,129,129,129,255,
- 125,125,125,255,120,120,120,255,113,113,113,255,108,108,108,255,103,103,103,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255,
- 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255, 60, 60, 60,255, 54, 54, 54,255, 47, 47, 47,255, 39, 39, 39,255,
- 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153,106,106,106,255,118,118,118,255,126,126,126,255,131,131,131,255,
- 134,134,134,255,135,135,135,255,137,137,137,255,138,138,138,255,142,142,142,255,147,147,147,255,149,149,149,255,148,148,148,255,
- 142,142,142,255,133,133,133,255,124,124,124,255,115,115,115,255,108,108,108,255,102,102,102,255, 97, 97, 97,255, 92, 92, 92,255,
- 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255, 63, 63, 63,255, 57, 57, 57,255, 49, 49, 49,255, 42, 42, 42,255,
- 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102,109,109,109,255,123,123,123,255,131,131,131,255,136,136,136,255,
- 140,140,140,255,142,142,142,255,144,144,144,255,148,148,148,255,156,156,156,255,168,168,168,255,176,176,176,255,177,177,177,255,
- 168,168,168,255,153,153,153,255,137,137,137,255,124,124,124,255,114,114,114,255,107,107,107,255,101,101,101,255, 96, 96, 96,255,
- 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255, 66, 66, 66,255, 59, 59, 59,255, 52, 52, 52,255, 44, 44, 44,255,
- 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51,110,110,110,255,127,127,127,255,136,136,136,255,142,142,142,255,
- 145,145,145,255,148,148,148,255,151,151,151,255,159,159,159,255,174,174,174,255,195,195,195,255,212,212,212,255,216,216,216,255,
- 204,204,204,255,179,179,179,255,154,154,154,255,135,135,135,255,121,121,121,255,112,112,112,255,106,106,106,255, 99, 99, 99,255,
- 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255, 69, 69, 69,255, 62, 62, 62,255, 54, 54, 54,255, 46, 46, 46,255,
- 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0,107,107,107,255,130,130,130,255,140,140,140,255,146,146,146,255,
- 150,150,150,255,153,153,153,255,158,158,158,255,169,169,169,255,191,191,191,255,219,219,219,255,246,246,246,255,254,254,254,255,
- 237,237,237,255,204,204,204,255,170,170,170,255,145,145,145,255,127,127,127,255,117,117,117,255,110,110,110,255,103,103,103,255,
- 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255, 71, 71, 71,255, 64, 64, 64,255, 55, 55, 55,255, 47, 47, 47,255,
- 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0, 65, 65, 65,153,129,129,129,255,142,142,142,255,149,149,149,255,
- 154,154,154,255,158,158,158,255,163,163,163,255,176,176,176,255,199,199,199,255,232,232,232,255,255,255,255,255,255,255,255,255,
- 255,255,255,255,220,220,220,255,181,181,181,255,151,151,151,255,132,132,132,255,121,121,121,255,113,113,113,255,106,106,106,255,
- 100,100,100,255, 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255, 73, 73, 73,255, 65, 65, 65,255, 57, 57, 57,255, 48, 48, 48,255,
- 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 51,127,127,127,255,143,143,143,255,152,152,152,255,
- 157,157,157,255,161,161,161,255,165,165,165,255,177,177,177,255,198,198,198,255,227,227,227,255,253,253,253,255,255,255,255,255,
- 250,250,250,255,217,217,217,255,181,181,181,255,153,153,153,255,135,135,135,255,124,124,124,255,117,117,117,255,110,110,110,255,
- 103,103,103,255, 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255, 74, 74, 74,255, 66, 66, 66,255, 57, 57, 57,255, 48, 48, 48,255,
- 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93,204,141,141,141,255,153,153,153,255,
- 159,159,159,255,163,163,163,255,167,167,167,255,174,174,174,255,188,188,188,255,209,209,209,255,228,228,228,255,234,234,234,255,
- 224,224,224,255,200,200,200,255,173,173,173,255,151,151,151,255,136,136,136,255,127,127,127,255,119,119,119,255,112,112,112,255,
- 105,105,105,255, 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255, 75, 75, 75,255, 66, 66, 66,255, 57, 57, 57,255, 46, 46, 46,255,
- 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 51,134,134,134,255,151,151,151,255,
- 160,160,160,255,164,164,164,255,167,167,167,255,171,171,171,255,178,178,178,255,189,189,189,255,200,200,200,255,202,202,202,255,
- 195,195,195,255,180,180,180,255,163,163,163,255,148,148,148,255,137,137,137,255,129,129,129,255,121,121,121,255,114,114,114,255,
- 107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255, 74, 74, 74,255, 65, 65, 65,255, 55, 55, 55,255, 41, 41, 41,255,
- 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,102,145,145,145,255,
- 157,157,157,255,164,164,164,255,167,167,167,255,170,170,170,255,172,172,172,255,176,176,176,255,180,180,180,255,179,179,179,255,
- 174,174,174,255,165,165,165,255,155,155,155,255,145,145,145,255,137,137,137,255,130,130,130,255,122,122,122,255,115,115,115,255,
- 107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255, 73, 73, 73,255, 63, 63, 63,255, 50, 50, 50,255, 22, 22, 22,153,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,
- 149,149,149,255,160,160,160,255,166,166,166,255,168,168,168,255,169,169,169,255,170,170,170,255,169,169,169,255,167,167,167,255,
- 164,164,164,255,158,158,158,255,151,151,151,255,144,144,144,255,137,137,137,255,130,130,130,255,123,123,123,255,115,115,115,255,
- 106,106,106,255, 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255, 70, 70, 70,255, 58, 58, 58,255, 27, 27, 27,153, 3, 3, 3, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 80, 80,153,150,150,150,255,160,160,160,255,165,165,165,255,167,167,167,255,167,167,167,255,166,166,166,255,163,163,163,255,
- 160,160,160,255,155,155,155,255,149,149,149,255,143,143,143,255,137,137,137,255,129,129,129,255,121,121,121,255,113,113,113,255,
- 105,105,105,255, 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255, 63, 63, 63,255, 38, 38, 38,204, 7, 7, 7, 51, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,157,157,157,255,161,161,161,255,163,163,163,255,162,162,162,255,160,160,160,255,
- 157,157,157,255,152,152,152,255,147,147,147,255,141,141,141,255,135,135,135,255,127,127,127,255,119,119,119,255,110,110,110,255,
- 101,101,101,255, 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255, 32, 32, 32,153, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,148,148,148,255,154,154,154,255,155,155,155,255,154,154,154,255,
- 152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255,130,130,130,255,122,122,122,255,114,114,114,255,104,104,104,255,
- 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73,153,103,103,103,204,137,137,137,255,140,140,140,255,
- 140,140,140,255,137,137,137,255,133,133,133,255,127,127,127,255,120,120,120,255,113,113,113,255,102,102,102,255, 91, 91, 91,255,
- 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,102,
- 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204, 81, 81, 81,204, 54, 54, 54,153, 35, 35, 35,102, 16, 16, 16, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0, 72,250,140, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 69, 0, 0,112, 1, 0, 0,152,138,141, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 84,101,
- 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,140,141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,140,141, 3, 0, 0, 0, 0, 11, 0, 0, 0,
- 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0, 16, 0, 15, 0,200,140,141, 3,
- 0, 0, 0, 0, 24,157,141, 3, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,200,140,141, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0, 24,157,141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 0, 0,
- 152, 1, 0, 0,104, 45,142, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 0,112,104,101,114,101,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 84,118, 3,
- 0, 0, 0, 0, 40, 54,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 48,142, 3,
- 0, 0, 0, 0,152, 51,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 47,142, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 49,142, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 52,142, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63, 4, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 6, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 24, 84,118, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0,184,228,140, 3, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0, 72, 47,142, 3, 0, 0, 0, 0, 83, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248, 48,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 48,142, 3, 0, 0, 0, 0, 52, 0, 0, 0,
- 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,230, 73,230, 73, 26,182, 1, 0, 0, 0,128, 63, 0, 0,128,191,
- 0, 0,128,191,230, 73, 26,182, 26,182, 1, 0, 1, 0,128,191,253,255,127,191, 0, 0,128,191, 26,182, 26,182, 26,182, 1, 0,
- 250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182, 1, 0, 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,
- 230, 73,230, 73,230, 73, 1, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,230, 73, 26,182,230, 73, 1, 0, 3, 0,128,191,
- 250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 1, 0,255,255,127,191, 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,
- 230, 73, 1, 0, 68, 65, 84, 65,104, 1, 0, 0,232, 49,142, 3, 0, 0, 0, 0, 83, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 51,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,152, 51,142, 3, 0, 0, 0, 0, 49, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
- 5, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0,
- 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,120, 52,142, 3, 0, 0, 0, 0, 83, 1, 0, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 54,142, 3, 0, 0, 0, 0, 6, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 75,138,139,255,255,255,255, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 75,138,139,255,255,255,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0, 40, 54,142, 3, 0, 0, 0, 0, 48, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 7, 0, 0, 0,
- 6, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2,
- 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 2, 66, 82, 0, 0,
- 248, 2, 0, 0,232, 54,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 65,100,100, 0,104, 46, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,136, 59,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 80, 55,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,136, 59,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61, 24, 61,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 24, 61,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,152, 61,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,232, 66,142, 3, 0, 0, 0, 0,232, 54,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,216, 64,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 0, 62,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,216, 64,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,104, 66,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,104, 66,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,232, 66,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 56, 72,142, 3, 0, 0, 0, 0,152, 61,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,117,114, 0, 46, 48, 48, 52, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 40, 70,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 80, 67,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 40, 70,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,184, 71,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,184, 71,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 56, 72,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,136, 77,142, 3, 0, 0, 0, 0,232, 66,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,120, 75,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,160, 72,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,120, 75,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 8, 77,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 8, 77,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,136, 77,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 56, 72,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, 97,121, 0, 48, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,200, 80,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,240, 77,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,200, 80,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 88, 82,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 88, 82,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,216, 82,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 40, 88,142, 3, 0, 0, 0, 0,136, 77,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24, 86,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 64, 83,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24, 86,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,168, 87,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 87,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 40, 88,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,120, 93,142, 3, 0, 0, 0, 0,216, 82,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101, 0, 48, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104, 91,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,144, 88,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,104, 91,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,228, 97,175,190, 50,131,112, 63,218,243,127,191,
- 10,183,157,188,248, 92,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248, 92,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,120, 93,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 40, 88,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97,114,107,101,110, 0, 48, 54, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,184, 96,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,224, 93,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,184, 96,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61, 72, 98,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 72, 98,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,200, 98,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 24,104,142, 3, 0, 0, 0, 0,120, 93,142, 3,
- 0, 0, 0, 0, 0, 13,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 8,102,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 35, 0, 0, 0,
- 0, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 48, 99,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 8,102,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,152,103,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,103,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 24,104,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,104,109,142, 3, 0, 0, 0, 0,200, 98,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,
- 110, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88,107,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62,
- 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,128,104,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 88,107,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,232,108,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,108,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,104,109,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,184,114,142, 3, 0, 0, 0, 0, 24,104,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108, 97,116,116,101,110, 47, 67,111,
- 110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,112,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62,
- 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,208,109,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,168,112,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 56,114,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56,114,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,184,114,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 8,120,142, 3, 0, 0, 0, 0,104,109,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114, 97, 98, 0, 48, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,248,117,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 75, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 32,115,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,248,117,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,136,119,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,136,119,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 8,120,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 88,125,142, 3, 0, 0, 0, 0,184,114,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116,101, 47, 68,101,
- 102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 72,123,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63,
- 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 24, 1, 0, 0,112,120,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 72,123,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,216,124,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,124,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 88,125,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,168,130,142, 3, 0, 0, 0, 0, 8,120,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97,121,101,114, 0, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152,128,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,192,125,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,152,128,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 40,130,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,130,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,168,130,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,248,135,142, 3, 0, 0, 0, 0, 88,125,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,110, 0, 53, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,232,133,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 16,131,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,232,133,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,120,135,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,120,135,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,248,135,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 72,141,142, 3, 0, 0, 0, 0,168,130,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,120, 0,104, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 56,139,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 96,136,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 56,139,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,200,140,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,200,140,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 72,141,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,152,146,142, 3, 0, 0, 0, 0,248,135,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,117,108,116,105,112,108,121, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,136,144,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,176,141,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,136,144,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61, 24,146,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 24,146,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,152,146,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,232,151,142, 3, 0, 0, 0, 0, 72,141,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,216,149,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 0,147,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,216,149,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,104,151,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,104,151,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,232,151,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 56,157,142, 3, 0, 0, 0, 0,152,146,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,110, 99,104, 47, 77, 97,103,110,
- 105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 40,155,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63,
- 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 24, 1, 0, 0, 80,152,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 40,155,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,184,156,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,184,156,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 56,157,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,136,162,142, 3, 0, 0, 0, 0,232,151,142, 3,
- 0, 0, 0, 0, 0, 1,174,232,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,111,108,105,115,104, 0, 48, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,120,160,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62,
- 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,160,157,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,120,160,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 8,162,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 8,162,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,136,162,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,216,167,142, 3, 0, 0, 0, 0, 56,157,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101, 47, 80,101, 97,
- 107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,200,165,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62,
- 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,240,162,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,200,165,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 88,167,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 88,167,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,216,167,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 40,173,142, 3, 0, 0, 0, 0,136,162,142, 3,
- 0, 0, 0, 0, 0, 1,184,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,117,108,112,116, 68,114, 97,119,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24,171,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 64,168,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24,171,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,168,172,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,172,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 40,173,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,120,178,142, 3, 0, 0, 0, 0,216,167,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104,176,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,144,173,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,104,176,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,248,177,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248,177,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,120,178,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,200,183,142, 3, 0, 0, 0, 0, 40,173,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,111,111,116,104, 0, 48, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,184,181,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,224,178,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,184,181,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 72,183,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 72,183,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,200,183,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 24,189,142, 3, 0, 0, 0, 0,120,178,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,110, 97,107,101, 32, 72,111,111,107,
- 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 8,187,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 75, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 48,184,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 8,187,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,152,188,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,188,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 24,189,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,104,194,142, 3, 0, 0, 0, 0,200,183,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88,192,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,128,189,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 88,192,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,232,193,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,193,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,104,194,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0,184,199,142, 3, 0, 0, 0, 0, 24,189,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117, 98,116,114, 97, 99,116, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,197,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,208,194,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,168,197,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61, 56,199,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56,199,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0,184,199,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 8,205,142, 3, 0, 0, 0, 0,104,194,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,120, 68,114, 97,119, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,248,202,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0,
- 4, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 32,200,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,248,202,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,136,204,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,136,204,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 8,205,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 88,210,142, 3, 0, 0, 0, 0,184,199,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 72,208,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 75, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,112,205,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 72,208,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186,216,209,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,209,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 248, 2, 0, 0, 88,210,142, 3, 0, 0, 0, 0, 82, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,205,142, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119,105,115,116, 0, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152,213,142, 3, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 75, 0, 0, 0,
- 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,192,210,142, 3, 0, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,152,213,142, 3, 0, 0, 0, 0, 78, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
- 114, 97,255,186, 40,215,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,215,142, 3,
- 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82,
- 112, 13, 0, 0, 32,232,113, 1, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 33, 8, 17, 1, 63, 6, 0, 0, 5, 0, 0, 0,
- 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112, 47, 0, 45,112,111,119,101,114,112, 99, 47, 98,
- 105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,110,116,115, 47, 82,101,115,111,117,114, 99,101,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 35, 0, 0, 0, 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 56, 52, 39, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 0, 8, 0, 0, 2, 0, 0, 0, 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0,128, 0, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0,
- 5, 0, 2, 0,104,229,142, 3, 0, 0, 0, 0,104,229,142, 3, 0, 0, 0, 0,104,127,131, 3, 0, 0, 0, 0,104,127,131, 3,
- 0, 0, 0, 0, 8,191,131, 3, 0, 0, 0, 0, 8,191,131, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 58,142, 3, 0, 0, 0, 0,200, 7,143, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 1, 0,
- 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,154,153,153, 62,102,102,102, 63, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63, 0, 0, 0, 0,205,204, 76, 62,205,204, 76, 62,205,204, 76, 62,
- 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,195, 73, 76, 63,
- 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 16, 47, 93, 62,
- 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 0, 0, 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0,128, 0, 0, 0,
- 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0, 0, 0, 0, 0, 2, 0, 1, 0,
- 10, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 30, 0, 0,104,229,142, 3, 0, 0, 0, 0,188, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
- 255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
- 255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,
- 255,255,255,255, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255,
- 0, 0, 0,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,
- 255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
- 255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,
- 255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255,
- 255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255,
- 204,204,204,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255,
- 0, 0, 0,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255,
- 255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,255,255,255,255,255,255,255,255,
- 0, 0, 0,255, 1, 0, 38, 0, 0, 0, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
- 255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255,
- 255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,
- 255,255,255,255, 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255,
- 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255,
- 153, 0,230,255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
- 241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
- 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
- 240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
- 255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
- 219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255,
- 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, 0, 0, 0, 0,250,250,250,255, 15, 15, 15,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,
- 127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,130,130,130,255, 8, 48, 8,255,
- 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
- 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255,250,250,250,255,250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255,
- 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
- 219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
- 241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
- 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
- 240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
- 255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
- 219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,
- 112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,
- 135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,
- 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255,
- 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
- 219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,116,116,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
- 241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
- 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
- 240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255,
- 109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255,109,145,131,255,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, 0, 0, 0, 0, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
- 255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
- 219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,110,110,110,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,132,132,132,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255, 94, 94, 94,255,
- 172,172,172,255, 17, 27, 60,100, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,195,195,195,255, 8, 48, 8,255,
- 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
- 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255,
- 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
- 219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255,
- 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
- 241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
- 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
- 240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
- 255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
- 219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,
- 127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255,
- 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
- 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,155,155,155,160,100,100,100,255,
- 111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0,
- 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
- 219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
- 241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
- 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
- 240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,255,
- 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
- 255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
- 255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
- 219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, 3, 0, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,189, 17, 17,255,247, 10, 10,255, 0, 0, 0, 0,247, 64, 24,255,
- 246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, 89,183, 11,255,131,239, 29,255, 0, 0, 0, 0, 10, 54,148,255,
- 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,193, 65,106,255,240, 93,145,255, 0, 0, 0, 0, 67, 12,120,255,
- 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, 60,149,121,255,111,182,171,255, 0, 0, 0, 0, 75,112,124,255,
- 106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255,238,194, 54,255,243,255, 0,255, 0, 0, 0, 0, 30, 32, 36,255,
- 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255,152, 69,190,255,211, 48,214,255, 0, 0, 0, 0,108,142, 34,255,
- 127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255,222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,
- 139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 40, 58,142, 3,
- 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0,200, 58,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105,111, 95,115,
- 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 80, 0, 0, 0,200, 58,142, 3, 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0, 8, 4,143, 3, 0, 0, 0, 0, 40, 58,142, 3,
- 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 8, 4,143, 3, 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0,168, 4,143, 3,
- 0, 0, 0, 0,200, 58,142, 3, 0, 0, 0, 0,105,111, 95, 97,110,105,109, 95, 98,118,104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,168, 4,143, 3, 0, 0, 0, 0,189, 0, 0, 0,
- 1, 0, 0, 0, 72, 5,143, 3, 0, 0, 0, 0, 8, 4,143, 3, 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,112,108,121, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 72, 5,143, 3,
- 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0,232, 5,143, 3, 0, 0, 0, 0,168, 4,143, 3, 0, 0, 0, 0,105,111, 95,115,
- 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 80, 0, 0, 0,232, 5,143, 3, 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0,136, 6,143, 3, 0, 0, 0, 0, 72, 5,143, 3,
- 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,120, 51,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,136, 6,143, 3, 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0, 40, 7,143, 3,
- 0, 0, 0, 0,232, 5,143, 3, 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,115,116,108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 40, 7,143, 3, 0, 0, 0, 0,189, 0, 0, 0,
- 1, 0, 0, 0,200, 7,143, 3, 0, 0, 0, 0,136, 6,143, 3, 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,117,118, 95,108,
- 97,121,111,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,200, 7,143, 3,
- 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 7,143, 3, 0, 0, 0, 0,105,111, 95, 99,
- 117,114,118,101, 95,115,118,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 78, 65, 49,
- 148,230, 0, 0,152,100,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 12, 12, 0, 0,
- 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120,
- 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,
- 103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103,
- 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,
- 110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,111,110, 95,105,
- 100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100,
- 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,116,111,116, 0,
- 112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93,
- 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,
- 111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42,
- 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,
- 111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,
- 100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0,
- 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,114,101,
- 108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,115, 0,118,103,114,
- 111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,116,
- 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,108,
- 111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 42,108,105,
- 110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,116, 97,114,116, 0,101,110,100,
- 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0, 42,110, 97,109,
- 101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,117,114, 99, 0,
- 115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,112,111,115, 0,
- 117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,101, 0,115,101,
- 101,107, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116, 97, 0, 99,108,105,112,101,110,
- 100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115,105,122,101, 0,115,104,105,102,
- 116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98, 0, 42,115, 99,
- 101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,102,114, 97, 0,102,
- 105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,108, 97,121,101,114,
- 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0, 42, 97,110,105,109, 0, 42,114,
- 114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111,116, 0,108, 97,115,116, 95,114,
- 101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,116,112, 97,103,
- 101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,116, 97, 0,116,119,
- 101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,100,102,105,108,
- 101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97,115,116,117,115,101,100, 0, 97,
- 110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110, 95,116,121,112,101, 0, 97,115,
- 112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,111,110,101,103, 0, 98,108,101,
- 110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,109,101, 91, 51, 50, 93, 0,112,
- 114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, 0,111,102,115, 91, 51, 93, 0,
- 115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,114,109,111,100,101,108, 0,112,
- 109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, 97, 99,101, 0,119,104,105, 99,
- 104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,112, 97,100, 91, 55, 93, 0,114,
- 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,118, 97,114,102, 97, 99, 0,110,111,114,
- 102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0, 99,111,108,115,112,101, 99,102, 97, 99, 0,109,
- 105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,102, 97, 99, 0,115,112,101, 99,102, 97, 99, 0,
- 101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,105,114,114,102, 97, 99, 0,116,114, 97,110,115,
- 108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102, 97, 99, 0, 99,111,108,114,101,102,108,102, 97,
- 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97, 99, 0,115, 99, 97,116,116,101,114,102, 97, 99,
- 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,103,116,104,102, 97, 99, 0, 99,108,117,109,112,
- 102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,114,111,117,103,104,102, 97, 99, 0,112, 97,100,
- 101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,102,101,102, 97, 99, 0,115,105,122,101,102, 97,
- 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,104, 97,100,111,119,102, 97, 99, 0,122,101,110,
- 117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,110,100,102, 97, 99, 0,110, 97,109,101, 91, 49,
- 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, 97,109,101,115, 0,115,116,121,112,
- 101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, 0, 42, 99,102,114, 97, 0,100, 97,
- 116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, 97,110, 99,101, 95,105,110,105,116,
- 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,111,110, 0, 97, 0,105,112,111,116,
- 121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,
- 109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,115, 99, 97,108,101, 0,110,111,116,108, 97,121,
- 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108, 99, 0,108, 97,115,116,115,105,122,101, 0,102,
- 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,115,111,102,116,110,101,115,115, 0,114, 97,100,
- 105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,112,111,105,110,116,115, 0,112,100,112, 97,100,
- 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0,111, 98, 95, 99, 97, 99,104,101, 95,
- 115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,111,105,110,116, 95,100, 97,116, 97, 0,110,111,
- 105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104, 0,110,111,105,115,101, 95,105,110,102,108,117,
- 101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112, 97,100, 51, 91, 51, 93, 0,110,111,105,115,101,
- 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,108,108,111,102,102, 95,115,112,101,101,100, 95,115,
- 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,102, 97,108,108,111,102,102, 95, 99,117,114,118,101,
- 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,112,101, 0,102,105,108,101, 95,102,111,114,109, 97,
- 116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,101, 0,105,110,116, 95,109,117,108,116,105,112,108,
- 105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,114, 99,101, 95,112, 97,116,104, 91, 50, 52, 48, 93,
- 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,109,101, 0,110,111,105,115,101,115,105,122,101, 0,
- 116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114, 97,116,105,111,
- 110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103, 95, 72,
- 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111,102,102,
- 115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116,115, 99,
- 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,
- 101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100,101,112,
- 116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98, 97,115,
- 105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0, 99,114,
- 111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,109, 97,120, 0,
- 120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,110, 97, 98,108,
- 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,110,118, 0, 42,
- 112,100, 0, 42,118,100, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,116, 91, 51, 93, 0,109,
- 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,
- 120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,101,110,101,114,
- 103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104, 97,105,110,116,
- 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,112,111,116,115,
- 105,122,101, 0, 98,105, 97,115, 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104, 0,112, 97,100,
- 53, 91, 51, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,116,101,114,
- 116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112, 0,114, 97,
- 121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,112,101, 0,
- 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,101,121, 0,
- 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115, 97,109,112,
- 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,117,110, 95,
- 101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,122,111,110,
- 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,110,101,115,
- 115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,116, 0,115,
- 117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,
- 110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,116,105,111,
- 110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121,
- 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,121, 95, 99,111,108,111,114,115,
- 112, 97, 99,101, 0,112, 97,100, 52, 91, 54, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,116,101,120,116,117,114,
- 101, 0,112, 97,100, 54, 91, 54, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, 0,115, 99, 97,116,116,
- 101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93,
- 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, 99,116,105,111,110, 95,
- 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, 95, 99,117,116,111,102,
- 102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,115,104, 97,100,101,102,
- 108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,115,111,108,117,116,105,
- 111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,101,110,115,105,116,121,
- 0,109,115, 95,115,112,114,101, 97,100, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,114, 0,115,
- 112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,
- 109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, 0,114, 97,
- 121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, 0, 97,100,
- 100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,102,114,101,115,110,101,108, 95,109,105,114, 0,102,
- 114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, 0,102,114,101,115,110,101,108,
- 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,120, 95,102, 97,108,108,111,102,
- 102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, 97, 0,104, 97,114, 0,115,101,
- 101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,115, 95,116,114, 97, 0,115, 97,
- 109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,116,114, 97, 0, 97,100, 97,112,
- 116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,116,114, 97, 0, 97,110,
- 105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, 97,100,101,116,111, 95,109,105,
- 114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,101, 99, 0,115,116, 97,114, 99,
- 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,101,115,105,122,101, 0,115,117,
- 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,115,116, 97, 0,115,116,114, 97,
- 110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,100, 95,115,117,114,102,110,111,
- 114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,104,102, 97,100,101, 0,115,116,
- 114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115, 98,105, 97,115, 0,108, 98,105, 97,115, 0,115,104, 97,100,
- 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,116,121,112,101, 0,112,114, 95,
- 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,102, 95,115,104, 97,100,101,114,
- 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,101,102,114, 97, 99, 0,112, 97,
- 114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,112, 95, 99,111,108, 0, 42,114,
- 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,105,110, 95,115,112,101, 99, 0,
- 114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,115,112,101, 99, 0,114, 97,109,
- 112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,114, 97,109,112,102, 97, 99, 95,
- 115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,114,101,102,108,101, 99,116, 0,
- 102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,115,115,115, 95,114, 97,100,105,
- 117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,111,114, 0,115,115,115, 95,115,
- 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,115,115,115, 95,116,101,120,102,
- 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,115, 95,102,108, 97,103, 0,115,
- 115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, 0,115,104, 97,100,111,119,111,
- 110,108,121, 95,102,108, 97,103, 0,103,112,117,109, 97,116,101,114,105, 97,108, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0, 42,
- 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,107, 50, 0,115,101,108, 99,111,108, 49, 0,115,101,108,
- 99,111,108, 50, 0,122, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,101,120,112,121, 0,101,120,112,122, 0,114, 97,
- 100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,101,108,101,109,115, 0,100,105,115,112, 0, 42,
- 101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,108, 97,103, 50, 0,116,111,116, 99,111,108, 0,119,105,114,
- 101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,101,115,104, 0, 42,108, 97,115,116,101,108,101,
- 109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,103,104,116, 0,104, 49, 0,104, 50, 0,102, 49,
- 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,115,117, 0,
- 112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,111,114,100,101,114,117, 0,111,114,100,101,114,
- 118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,117, 0, 42,107,110,111,116,115,118, 0,116,105,
- 108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,100,120, 0,
- 107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,101,121,105,110,100,101,120, 0,115,104, 97,112,101,110,114,
- 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,111, 98,106, 0, 42,116, 97,112,101,114,111, 98,
- 106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, 0, 42,107,101,121, 0, 98,101,118, 0,100,114,
- 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101, 0,116,119,105,115,116, 95,115,109,111,111,116,104, 0,115,
- 109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,
- 119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,
- 118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,115,101,108, 0,115,112, 97, 99,101,109,111,100,101, 0,115,
- 112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,
- 115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,
- 101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,
- 102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,
- 105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,116,105,109,101, 0,116,111,116, 98,111,120, 0,
- 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,108,101,110,100, 0, 42,115,116,114,105,
- 110,102,111, 0, 99,117,114,105,110,102,111, 0, 42,109,102, 97, 99,101, 0, 42,109,116,102, 97, 99,101, 0, 42,116,102, 97, 99,
- 101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116, 0, 42,109, 99,111,108, 0, 42,109,115,
- 116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,101,108,101, 99,116, 0, 42,101,100,105,116, 95,
- 109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,116,
- 111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116, 95,102, 97, 99,101, 0,115,109,111,111,116,104,
- 114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0,
- 101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,112,118, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93,
- 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50,
- 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102,
- 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,117,118,
- 91, 50, 93, 0, 99,111, 91, 50, 93, 0,105,110,100,101,120, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,116,111,116,100,105,
- 115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91,
- 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,
- 115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,110,116, 0,110,101,119,
- 108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,114,101,110,100,101,114,108,118,108, 0,117,115,101,
- 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115, 0, 42,
- 118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0, 42,111,108,100, 95,102, 97, 99,101,115, 0, 42,111,
- 108,100, 95,101,100,103,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0, 42,101,114,114,111,114, 0,109,111,100,105,102,
- 105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108, 97,121,101,114,
- 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0,116,101,120,109, 97,112,112,105,110,103,
- 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109, 67, 97, 99,104,
- 101, 0, 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,
- 114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,
- 112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,
- 111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,
- 116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,
- 108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118,
- 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,
- 108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 51, 50, 93,
- 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111,108,108, 0,116,105,109,101, 0,112, 97,100, 49, 48, 0,
- 115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0, 42,112,114,111,
- 106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101, 99,116,111,114,
- 115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97,108,101,120, 0,115, 99, 97,108,101,121, 0,
- 112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,
- 106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97,114,116,121, 0,104,101,105,103,104,116, 0,
- 110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108,108,111,102,102, 0,116,105,109,101,111,102,
- 102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97,103, 0,109,117,108,116,105, 0, 42,112,114,
- 101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112, 97,114,101,110,116,105,110,118, 91, 52, 93,
- 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,120, 0,102,111,
- 114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0, 42, 99,111,108,
- 108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0,112,116, 99, 97, 99,104,101,115, 0, 42,120,
- 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42, 99,117,114,114,
- 101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,118,101,114,116,
- 115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109,101, 95,120,110,101,119, 0, 42, 98,118,104,
- 116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, 97,116,105,111,110, 0,118,101,114,116,101,
- 120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105,122,101, 0, 42, 98,105,110,100,105,110,102,
- 108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, 42, 98,105,110,100, 99, 97,103,101, 99,111,
- 115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,110,102,108,117,
- 101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,100,115,105,122,
- 101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104, 0, 98,105,110,
- 100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,100, 99,111,115,
- 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,114,116, 0,116,
- 111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111,115,105,116,105,111,110, 0,114, 97,110,100,
- 111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118,103,114,111,117,112, 0,112,114,111,116,101,
- 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,108,101, 0, 42,
- 102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,112, 95,110, 97,
- 109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,104,114,105,110,
- 107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115, 0, 42,111,114,
- 105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,112,116,115, 0,
- 111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115,101, 95,105,110,110,101,114, 0, 99,114,101, 97,115,101, 95,111,
- 117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, 95,111,102,115, 0,109, 97,116, 95,111,102,115, 95,
- 114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,114,101,110,100,101,114, 95,115,116,101,112,115, 0,
- 105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,101, 0, 42,111, 98,106,101, 99,116, 95,102,114,111,
- 109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102, 95,114, 97,100,105,117,115, 0, 42,108, 97,116,
- 116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111,112,110,116,115,119, 0,116,121,112,
- 101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,100,117, 0,100,118, 0,100,119,
- 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0,
- 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99,117,108,112,116, 0,112, 97,114,116,
- 121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117, 98,115,116,114, 91, 51, 50, 93,
- 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103,114,111,117,112, 0, 42,112,114,111,
- 120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, 98, 0, 42,112,111,115,101, 0, 42,
- 103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108,
- 115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105,101,114,115, 0,114,101,115,116,111,
- 114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,
- 111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52,
- 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116, 65,110,103,108,
- 101, 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118,
- 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0, 99,111,108, 98,105,116,
- 115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,
- 103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,105,112,111,119,105,110, 0,
- 115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0, 98,111,117,110,100,116,121,112,101, 0,100,117,112,
- 111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,
- 100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,
- 105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,
- 116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,114,111,116,109,111,100,101, 0,
- 100,116, 0,100,116,120, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112, 97,100, 49, 91, 51, 93, 0,101,109,
- 112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,
- 115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,
- 101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42,
- 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,
- 111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,
- 115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,
- 112, 0,102,108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,115,104, 97,112,
- 101,102,108, 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0, 42,102,108,117,105,100,115,105,
- 109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,
- 100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,
- 116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117,112,108,105,108,105,115,116, 0, 99,
- 117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0,110,111, 95,100,114, 97,119, 0, 97,
- 110,105,109, 97,116,101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,100,101,102,108,101,
- 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,
- 107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,100, 97,
- 109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,105,115,116,
- 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,100,
- 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102, 95,112,101,114,109, 0,
- 112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,102, 95,115,116,105, 99,
- 107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,
- 102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,
- 109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107,
- 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,102, 95,110,
- 111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,121, 0,114,
- 116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,116, 0,100, 97,116, 97,
- 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,100, 97,116,
- 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114,
- 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0, 99,111,109,112,114,101,115,
- 115,105,111,110, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111,
- 91, 54, 52, 93, 0,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115, 0,109,101,
- 109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,108,105,110,
- 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,110,
- 115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114, 97,
- 116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67, 76,
- 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80, 76,
- 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107, 68,
- 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,115,
- 105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,101,
- 108,100,105,110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,105,110,103,
- 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,110, 97,109,
- 101,100, 86, 71, 95, 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116, 0,114,107,
- 108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,103, 0,103,
- 111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,111, 97,108,
- 0,118,101,114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 51, 50, 93, 0,
- 102,117,122,122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,109,101,100,
- 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111,
- 99, 97,108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,
- 101,121, 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112,
- 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,
- 108,111,111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,
- 108, 97,115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,
- 101, 97,114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,101,102,102,
- 101, 99,116,111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93, 91, 51, 93,
- 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52, 93, 0, 42,102,109,100, 0,115,104,111,119, 95,
- 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,114,
- 101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,
- 111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86,
- 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,
- 110,101,110,116, 0,103,114, 97,118,120, 0,103,114, 97,118,121, 0,103,114, 97,118,122, 0, 97,110,105,109, 83,116, 97,114,116,
- 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,103,115,116, 97,114,
- 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,105, 86,101,
- 108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 83,117,114,102, 97, 99,101, 0, 42,109,101,115,104, 66, 66,
- 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104, 91, 50, 52, 48, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98,
- 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110,
- 0,118,111,108,117,109,101, 73,110,105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,
- 110,101,114, 97,116,101, 84,114, 97, 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,
- 115,117,114,102, 97, 99,101, 83,109,111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,
- 112, 97,114,116,105, 99,108,101, 73,110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97,
- 0,102, 97,114, 70,105,101,108,100, 83,105,122,101, 0, 42,109,101,115,104, 83,117,114,102, 78,111,114,109, 97,108,115, 0, 99,
- 112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,
- 121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,
- 114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,
- 118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,
- 101, 0,109,105,115,116,121,112,101, 0,104,111,114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,
- 110,103, 0,122,101,110, 98, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,
- 103,101, 0,108,105,110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,
- 121, 66,111,120, 82, 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,
- 112,104,121,115,105, 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,
- 101,112, 0,112,104,121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,
- 115,116,115,116, 97, 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,
- 103, 0,115,116, 97,114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,
- 115,116, 0,115,116, 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,
- 100,111,102,101,110,100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,
- 115,116,102, 97, 99, 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115,
- 97,109,112, 0, 97,111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,
- 104, 0, 97,111, 95, 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,
- 114,114,111,114, 0, 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,
- 105,114,101, 99,116, 95,101,110,101,114,103,121, 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,
- 100, 50, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111,
- 95,115, 97,109,112, 95,109,101,116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111,
- 95, 97,112,112,114,111,120, 95,112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,
- 101,115, 0,112, 97,100, 91, 51, 93, 0,115,101,108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116,
- 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,
- 112,101, 0,102, 99, 99, 72, 97,110,100,108,101,114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119,
- 81,117, 97,108,105,116,121, 0,100,119, 66,121,116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115,
- 0,100,119, 73,110,116,101,114,108,101, 97,118,101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91,
- 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101,
- 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,
- 108, 81,117, 97,108,105,116,121, 0, 99,111,100,101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,
- 101,112,116,104, 0, 99,111,100,101, 99, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,
- 116,105, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,
- 101,121, 70,114, 97,109,101, 82, 97,116,101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,
- 112,101, 0, 97,117,100,105,111, 83, 97,109,112,108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104,
- 0, 97,117,100,105,111, 67,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,
- 117,100,105,111, 66,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,
- 116,114, 97,116,101, 0, 97,117,100,105,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,
- 101, 0, 97,117,100,105,111, 95,118,111,108,117,109,101, 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114,
- 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,
- 117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101, 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,
- 109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,115,111,117,110,100, 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,
- 111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,100,101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0,
- 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,102,108, 97,
- 103, 0,112, 97,115,115,102,108, 97,103, 0,112, 97,115,115, 95,120,111,114, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116,
- 97, 0, 42,113,116, 99,111,100,101, 99,100, 97,116, 97, 0,113,116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,
- 102, 99,111,100,101, 99,100, 97,116, 97, 0,115,117, 98,102,114, 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,
- 105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,111, 0,116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110,
- 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82, 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115,
- 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105,
- 98, 0,102,114, 97,109,101, 95,115,116,101,112, 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,
- 110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,
- 114,116,115, 0,121,112, 97,114,116,115, 0,119,105,110,112,111,115, 0,112,108, 97,110,101,115, 0,105,109,116,121,112,101, 0,
- 115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,114,112,
- 97,100, 49, 0,114,112, 97,100, 50, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,116,105,111,
- 110,115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,114,101,110,100,101,114,101,114, 0,111,
- 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,
- 101,100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108,
- 97,121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112, 0,
- 121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,103,
- 116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,116,
- 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101, 95,
- 102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101, 95,
- 110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,107,
- 101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,100,
- 0, 98, 97, 99,107, 98,117,102, 91, 49, 54, 48, 93, 0,112,105, 99, 91, 49, 54, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,
- 109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97,109,112, 95,117,100, 97,116, 97, 91, 49, 54, 48, 93, 0,102,103, 95,115,
- 116, 97,109,112, 91, 52, 93, 0, 98,103, 95,115,116, 97,109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,
- 101, 0,115,101,113, 95,114,101,110,100, 95,116,121,112,101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93,
- 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103, 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,
- 115,105,109,112,108,105,102,121, 95,115,104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,
- 112, 97,114,116,105, 99,108,101,115, 0,115,105,109,112,108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,
- 104,105,116,101, 0, 99,105,110,101,111,110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50,
- 95,112,114,101,115,101,116, 0,106,112, 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,
- 100,111,109,101,109,111,100,101, 0,100,111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,
- 114,101,115, 98,117,102, 0, 42,100,111,109,101,116,101,120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,112, 97,114,116,
- 105, 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,
- 112,108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,
- 114,112,116,101,120,116, 0, 99,111,108, 91, 51, 93, 0,109, 97,116,109,111,100,101, 0,102,114, 97,109,105,110,103, 0,114,116,
- 49, 0,114,116, 50, 0,100,111,109,101, 0,115,116,101,114,101,111,102,108, 97,103, 0,101,121,101,115,101,112, 97,114, 97,116,
- 105,111,110, 0, 42, 99, 97,109,101,114, 97, 0, 42, 98,114,117,115,104, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114,
- 0,112, 97,105,110,116, 95, 99,117,114,115,111,114, 95, 99,111,108, 91, 52, 93, 0,112, 97,105,110,116, 0,115,101, 97,109, 95,
- 98,108,101,101,100, 0,110,111,114,109, 97,108, 95, 97,110,103,108,101, 0,115, 99,114,101,101,110, 95,103,114, 97, 98, 95,115,
- 105,122,101, 91, 50, 93, 0, 42,112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,101,
- 107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0, 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55, 93,
- 0,101,109,105,116,116,101,114,100,105,115,116, 0,115,101,108,101, 99,116,109,111,100,101, 0,101,100,105,116,116,121,112,101,
- 0,100,114, 97,119, 95,115,116,101,112, 0,102, 97,100,101, 95,102,114, 97,109,101,115, 0,110, 97,109,101, 91, 51, 54, 93, 0,
- 109, 97,116, 91, 51, 93, 91, 51, 93, 0,114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, 0,
- 108, 97,115,116, 95,121, 0,108, 97,115,116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, 0,
- 97,110, 99,104,111,114,101,100, 95,115,105,122,101, 0, 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, 91,
- 51, 93, 0, 97,110, 99,104,111,114,101,100, 95,105,110,105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, 97,
- 119, 95,112,114,101,115,115,117,114,101, 0,112,114,101,115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, 97,
- 108, 95,114,111,116, 97,116,105,111,110, 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, 95,
- 112,114,101,118, 0, 42,118,112, 97,105,110,116, 0, 42,119,112, 97,105,110,116, 0,118,103,114,111,117,112, 95,119,101,105,103,
- 104,116, 0, 99,111,114,110,101,114,116,121,112,101, 0,101,100,105,116, 98,117,116,102,108, 97,103, 0,106,111,105,110,116,114,
- 105,108,105,109,105,116, 0,100,101,103,114, 0,116,117,114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,
- 105,109,105,116, 0,110,111,114,109, 97,108,115,105,122,101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,
- 116,115, 0,114,105,110,103,115, 0,118,101,114,116,105, 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,
- 108, 99, 95,114, 97,100,105,117,115, 0,117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99,
- 95,109, 97,114,103,105,110, 0,117,118, 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112,
- 97,108,105,103,110, 0,117,118, 99, 97,108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,
- 101, 99,116,109,111,100,101, 0,117,118, 95,112, 97,100, 0,103,112,101,110, 99,105,108, 95,102,108, 97,103,115, 0, 97,117,116,
- 111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,109, 97,112, 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,
- 114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,122,101, 0,115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,
- 108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,116,111,107,101,121, 95,109,111,100,101, 0, 97,117,116,111,107,101,121,
- 95,102,108, 97,103, 0,114,101,116,111,112,111, 95,109,111,100,101, 0,114,101,116,111,112,111, 95,112, 97,105,110,116, 95,116,
- 111,111,108, 0,108,105,110,101, 95,100,105,118, 0,101,108,108,105,112,115,101, 95,100,105,118, 0,114,101,116,111,112,111, 95,
- 104,111,116,115,112,111,116, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,115,107,103,
- 101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,105,110,
- 116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,108, 0,
- 115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,
- 108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 99,111,
- 114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121, 95,108,
- 105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,104,116,
- 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,115,107,
- 103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,107,103,
- 101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110, 95,112,
- 111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110,115,
- 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,101,109,
- 112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116, 99,104,
- 105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,110,117,
- 109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,103,101,
- 110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,105,110,
- 103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,109,111,
- 100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,105,118,101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95,109,111,
- 100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111,114,116,
- 105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,111, 98,106,
- 101, 99,116,115, 0, 97,117,116,111, 95,110,111,114,109, 97,108,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116,
- 95,115,101,116,116,105,110,103,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,
- 105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101,
- 99,116,101,100, 95,114, 97,100,105,117,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100,
- 95, 97,108,112,104, 97, 0,116,111,116,111, 98,106, 0,116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,
- 116,111,116, 99,117,114,118,101, 0,116,111,116,109,101,115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0,115, 99, 97,
- 108,101, 95,108,101,110,103,116,104, 0,115,121,115,116,101,109, 0,115,121,115,116,101,109, 95,114,111,116, 97,116,105,111,110,
- 0,103,114, 97,118,105,116,121, 91, 51, 93, 0,113,117,105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,
- 114,108,100, 0, 42,115,101,116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,
- 114,115,111,114, 91, 51, 93, 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120,
- 91, 51, 93, 0,108, 97,121, 97, 99,116, 0,108, 97,121, 95,117,112,100, 97,116,101,100, 0, 99,117,115,116,111,109,100, 97,116,
- 97, 95,109, 97,115,107, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 42,101,100,
- 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111, 0,116,114, 97,110,
- 115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42,115,111,117,110,100,
- 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95,104, 97,110,100,108,
- 101, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100, 0,100,
- 97,103,102,108, 97,103,115, 0,112, 97,100, 54, 0,112, 97,100, 53, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,103,115,
- 101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,105, 99,115, 95,115,101,
- 116,116,105,110,103,115, 0, 98,108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,
- 105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109,
- 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98,
- 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116, 91, 52, 93, 91,
- 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,121, 0,
- 112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,116,119,100,114, 97,119,102,108, 97,103, 0,114,102,108, 97,103,
- 0,118,105,101,119,108,111, 99,107, 0,112,101,114,115,112, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,
- 108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105,
- 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116,105,109,101,114, 0,108,118,105,101,
- 119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,103,114,105,100,118,105,101,119, 0,116,
- 119, 97,110,103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,103,105,111,110, 98, 97,115,101, 0,115,112, 97, 99,101,116,
- 121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110,100,108,101,114, 91, 56, 93, 0,108,
- 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103,
- 112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50, 93, 0,100,114, 97,119,116,121,112,101, 0,
- 111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,110,
- 100, 0,112,105,118,111,116, 95,108, 97,115,116, 0,103,114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,103,114,105,100,108,
- 105,110,101,115, 0,103,114,105,100,102,108, 97,103, 0,103,114,105,100,115,117, 98,100,105,118, 0,109,111,100,101,115,101,108,
- 101, 99,116, 0,107,101,121,102,108, 97,103,115, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,
- 103, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,
- 121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,121,
- 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,101,114,116,105,101,115,
- 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109, 97,
- 120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,111,
- 108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0, 97,
- 108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0, 42,
- 116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,109,
- 97,115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,
- 112, 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,115,
- 101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,116,
- 101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0,114,101,110,
- 100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,105,
- 116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,
- 102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 56, 48, 93, 0,102,105,108,116,101,114, 95,103,
- 108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,101,
- 108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114, 91,
- 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115, 0,
- 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112, 0,
- 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,101,
- 110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, 0,116,114,101,101, 0, 42,116,
- 114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114, 99,
- 104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114, 99,
- 104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,110,
- 101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,114,
- 116,105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,105,
- 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,108,
- 105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,
- 114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,
- 114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,105,
- 116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,
- 111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,
- 110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,105,
- 110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121,
- 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,
- 108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115,
- 99,114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115,
- 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97,
- 99,104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0, 42,
- 99,117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101,
- 0,116,101,120,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,116,105,116,108,101, 91, 50, 52, 93, 0,109,101,110,117,
- 0,110,117,109,116,105,108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,115,101,108,115,116, 97,116,101, 0,118,105,
- 101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115, 0,115, 99,
- 114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0, 97, 99,116,
- 105,118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,116,117,114,
- 110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40, 41, 0, 40,
- 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,103, 50, 0,
- 42,109,101,110,117,112, 0, 42,112,117,112,109,101,110,117, 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,
- 117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116, 91,
- 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,101,108, 95,
- 101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0, 42, 97,114,101, 97, 0, 42,115,111,117,110,100, 0,115,110,100,110,
- 114, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105,100,
- 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98,111,
- 108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112,104,
- 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,108, 97,
- 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,111,109,
- 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99,111,
- 108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99,101,
- 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101,108,
- 115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,110,101, 91,
- 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91, 52, 93,
- 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104, 97,100,
- 101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,110,101,114,
- 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114,
- 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,
- 114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,119, 99,111,
- 108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,
- 111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101,
- 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,
- 110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,
- 119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,
- 111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,116,101,109,
- 0,119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107, 91, 52, 93,
- 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,104,
- 101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101,
- 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110,
- 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,
- 116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93,
- 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,
- 110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116,
- 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,
- 104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91,
- 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,
- 114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,
- 109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,
- 101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109,
- 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52,
- 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101, 95,115,101,
- 108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,101, 95,108,
- 101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,114, 97, 95,
- 102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52, 93, 0,118,
- 101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,
- 110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116,
- 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98,
- 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108,
- 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108, 97,115,116,
- 115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,
- 108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101,
- 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,
- 100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116, 91,
- 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,
- 108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,111,117,
- 116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101,
- 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,115,111,108,
- 101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,110,101, 95,
- 119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112, 97,100, 0,115,121,110,116, 97,120,108, 91,
- 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118,
- 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93,
- 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,
- 103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,
- 116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93,
- 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,
- 118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, 98, 97, 99,107,
- 91, 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,
- 101, 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113,
- 0,116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,
- 110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,116,
- 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101,
- 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,
- 109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114, 91, 49, 54, 48, 93, 0,114,101,110,100,101,114,100,105,
- 114, 91, 49, 54, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,116,101,120,100,105,114, 91,
- 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54, 48, 93, 0,112,121,116,104,111,110,100,105,114, 91, 49,
- 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, 50,
- 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114,
- 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,100,
- 101, 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101, 0,
- 103, 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103,
- 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,
- 117,102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,100,
- 105,111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,100,
- 105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,110,
- 117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,121,
- 108,101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102,105,103,115,116,114, 91,
- 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103,112, 95,109, 97,110,104,
- 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116, 0,103,112, 95,101,114,
- 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111,117,115,101, 0,116, 98,
- 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,111,116, 0,
- 116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115,105,122,101, 0,116,101,
- 120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,119,109,101,
- 116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,105,116,
- 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,116, 0,
- 112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,115,105,
- 122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,116,104,
- 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,100,111,102,
- 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,121,
- 112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,115,
- 116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,112, 97,100, 56, 0,118,101,114,115,101,109, 97,115,116,101,
- 114, 91, 49, 54, 48, 93, 0,118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,104, 97, 99,108,105,
- 112, 0,116,101,120,116, 95,114,101,110,100,101,114, 0,100,115,109, 95,109, 97,120,109,101,109, 0, 99,111, 98, 97, 95,119,101,
- 105,103,104,116, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93,
- 0,108,111,111,112, 99,117,116, 95,102,105,110,105,115,104, 95,111,110, 95,114,101,108,101, 97,115,101, 0, 97,117,116,104,111,
- 114, 91, 56, 48, 93, 0,118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101,
- 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,
- 112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114,
- 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,
- 111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97,
- 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,
- 114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,
- 101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91,
- 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,
- 102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,
- 116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,
- 116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110,
- 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0,
- 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,
- 114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,
- 111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,
- 110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,
- 117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,
- 111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,
- 115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111,110, 0, 42, 99,117,114,115,
- 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,
- 102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101,110, 97,109,101, 91, 50, 52, 48, 93, 0,110, 97,109,101, 91, 56, 48,
- 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, 0,
- 114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, 93,
- 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54, 48, 93, 0,100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,
- 108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,
- 110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,110, 99,101, 95,
- 112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100,
- 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101,
- 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,
- 105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99,
- 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,
- 115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98, 97,115,101, 0, 42,115, 99,101,110,101, 95,
- 115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110, 0,115, 99,101,110,101,110,114, 0,109,117,108,116,105, 99, 97,109,
- 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,
- 115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0,
- 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0,
- 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116,
- 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93,
- 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,
- 101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,
- 116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100,
- 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121,
- 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83, 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,
- 110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116, 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,
- 111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,
- 103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,
- 112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111,
- 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114,
- 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,
- 109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,
- 116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,
- 105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,
- 117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51, 50, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118,
- 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,
- 101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,
- 101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,
- 103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108,117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51,
- 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51,
- 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,
- 101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0, 99,
- 111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,
- 116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,
- 116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,
- 105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,
- 112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115,
- 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109,
- 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,
- 114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,
- 105,100,101,108,101,110,103,116,104, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,
- 114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,
- 111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101,
- 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0,112, 97,100,
- 51, 91, 50, 93, 0,112,105,116, 99,104, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,
- 105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99,
- 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93,
- 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,
- 110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110,
- 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93,
- 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93,
- 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95,
- 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,
- 116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101, 99,116,
- 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,
- 109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0, 42,115,117, 98,116, 97,114,
- 103,101,116, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,
- 110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,
- 108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93,
- 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,
- 105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93,
- 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,
- 111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,
- 100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,
- 115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,
- 115,107,101,116, 99,104, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,
- 100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,
- 116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,
- 116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116,
- 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,
- 101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,
- 103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,
- 112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,
- 101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,
- 116,104, 95, 97, 99, 0, 99,111,110,115,116,102,108, 97,103, 0,105,107,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,
- 103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101,
- 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,
- 109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101,
- 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,
- 105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,
- 104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, 99,104, 97,110, 98, 97,
- 115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,
- 111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,
- 112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97,
- 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 51, 50, 93, 0,110,117,109,
- 105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,
- 118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,
- 101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115,
- 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42,115,111,
- 117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93, 0,102,
- 105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,
- 101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,
- 104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,
- 114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,
- 114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101,
- 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,
- 114,103,101,116, 91, 51, 50, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,
- 103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110,
- 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50,
- 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,
- 108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,
- 108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0,
- 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,
- 101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112,
- 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93,
- 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,
- 110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116,
- 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,
- 116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101,
- 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115,
- 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116,
- 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101, 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,
- 109,105,116, 0,115,116, 97, 99,107, 95,116,121,112,101, 0, 42,115,116, 97, 99,107, 95,112,116,114, 0,115,116, 97, 99,107, 95,
- 105,110,100,101,120, 0,108,111, 99,120, 0,108,111, 99,121, 0,111,119,110, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,
- 115,111, 99,107, 0,116,111, 95,105,110,100,101,120, 0, 42,108,105,110,107, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,
- 121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0,111,117,116,112,117,116,115, 0, 42,115,
- 116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,104, 0,108, 97, 98,101,108, 91, 51, 50, 93, 0, 99,117,115,116,111,
- 109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,
- 101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,
- 112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0,
- 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,100,101,115, 0,
- 108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,
- 116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,100,101,120, 0, 97,108,108,116,121,112,101,115, 0,112, 97,100, 50,
- 91, 50, 93, 0, 40, 42,112,114,111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40,
- 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104,
- 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109, 97,120,115,112,101,101,100, 0,109,
- 105,110,115,112,101,101,100, 0, 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121,
- 0, 98,111,107,101,104, 0,103, 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,
- 101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,
- 105,110, 0,119,114, 97,112, 0,115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,
- 104,117,101, 0,116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,
- 121, 91, 52, 93, 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,
- 121, 50, 0,102, 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,
- 111,108,110, 97,109,101, 91, 51, 50, 93, 0, 98,107,116,121,112,101, 0,114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111,
- 0,110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,
- 100,105, 99,116, 0, 42,110,111,100,101, 0, 97,110,103,108,101, 95,111,102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,
- 116,104,114,101,115,104,111,108,100, 0,102, 97,100,101, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,
- 115,108,111,112,101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,
- 109,109, 97, 95,105,110,118, 91, 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99,
- 97,108,101, 0,117,115,112,105,108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,115,104,111,114,
- 116,121, 0,109,105,110,116, 97, 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,
- 120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116,
- 97, 98,108,101, 0,112,114,101,115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,
- 114,114, 0, 99,108,105,112,114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93,
- 0, 98,119,109,117,108, 91, 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110,
- 0,100, 97,116, 97, 95,114, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91,
- 50, 53, 54, 93, 0,100, 97,116, 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,
- 115, 97,109,112,108,101, 95,108,105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,
- 100,101, 0,119, 97,118,101,102,114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,
- 118,101,102,114,109, 95,104,101,105,103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115,
- 99,111,112,101, 95,104,101,105,103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119,
- 97,118,101,102,111,114,109, 95, 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95,
- 51, 0, 42,118,101, 99,115, 99,111,112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91,
- 50, 93, 0, 99,108,111,110,101, 0,109,116,101,120, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,
- 105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,
- 100,101, 0,106,105,116,116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,
- 109,111,111,116,104, 95,115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,
- 115, 99,117,108,112,116, 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116,
- 95,116,111,111,108, 0,118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,
- 116, 95,116,111,111,108, 0,112, 97,100, 51, 91, 53, 93, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114,
- 0, 99,114,101, 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,
- 116,101,120,116,117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,
- 108, 97,121, 95, 97,108,112,104, 97, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 97,100,100,
- 95, 99,111,108, 91, 51, 93, 0,115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,
- 116,105,118,101, 95, 99,108,111,110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,
- 111,116,108, 97,121,101,114, 0,109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,
- 101,120,116,101,114,110, 97,108, 0,118,101,108, 91, 51, 93, 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,
- 114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93, 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,
- 105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,
- 114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,114,
- 116, 91, 50, 93, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,101,116,
- 105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,118,101,
- 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,121,105,
- 101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,105,101,
- 108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115, 99,111,
- 115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,115, 95,
- 107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,114,105,
- 110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,112,104,
- 121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,
- 114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,
- 115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,104, 97,
- 105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100,
- 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95, 97,108,
- 105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,105,116,
- 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98, 98, 95,
- 111,102,102,115,101,116, 91, 50, 93, 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,102,121,
- 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,121, 95,
- 116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,105,109,
- 101,116,119,101, 97,107, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,110,100,
- 0,103,114,105,100, 95,114,101,115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,112, 97,114,116,102, 97,
- 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,118,101,
- 108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97, 99, 0,
- 114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,
- 103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110,
- 98,114, 0,114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,
- 122,101, 0, 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,
- 108, 97,116, 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,112, 95,
- 99,108,117,109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104, 50, 0,
- 114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104, 95,101,
- 110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,110,103,
- 116,104, 95,116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,105,110,
- 0,112, 97,114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119, 95,108,
- 105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,105,108,
- 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,115, 0,
- 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50, 0, 42,
- 112, 97,114,116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,
- 105,108,100, 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,
- 101, 98,117,102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,111,117,
- 116, 95,100,109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,102,114,
- 97,109,101, 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,111,116,
- 117,110,101,120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116, 99,104,
- 105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0, 98, 97,
- 107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51, 50, 93, 0,118,103,114,111,117,112, 91,
- 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,102,101,
- 99,116,111,114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,115,112,
- 114,105,110,103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101, 0, 42,
- 112,100,100, 0, 42,102,114, 97,110,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108, 0, 98,
- 101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120, 95,115,
- 104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,101,102,
- 102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,105,109,
- 95,116,105,109,101, 95,111,108,100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,105,100,
- 101,114, 95,102,114,105, 99,116,105,111,110, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,111,108,
- 108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,111,117,
- 112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, 99,116,
- 0,115,104, 97,112,101,107,101,121, 95,114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, 99,111,
- 108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,
- 111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,116, 97,
- 110, 99,101, 95,114,101,112,101,108, 0,115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, 95, 99,
- 111,117,110,116, 0,112,114,101,115,115,117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,115, 0,
- 102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, 49, 50,
- 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, 42,115,
- 98,117,102,102,101,114, 0,108,105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,
- 108, 0, 42,114,101,112,111,114,116,116,105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,105,110,
- 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,101, 95,
- 115, 97,118,101,100, 0,111,112, 95,117,110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,
- 101,117,101, 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,100,114,
- 97,103,115, 0,107,101,121, 99,111,110,102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0,116,105,109,101,
- 114,115, 0, 42, 97,117,116,111,115, 97,118,101,116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114, 97, 98,
- 99,117,114,115,111,114, 0, 42,115, 99,114,101,101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,
- 110, 97,109,101, 91, 51, 50, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,
- 111,110,105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0, 97,100,
- 100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0,
- 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,
- 100, 97,116, 97, 0,109,111,100, 97,108,104, 97,110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0,103,101,
- 115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105,102,116,
- 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97,112,116,
- 121,112,101, 0, 42,112,116,114, 0,105,116,101,109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105,100, 0,
- 107,109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0, 98, 97,
- 115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97,116, 97,
- 0, 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42,111,112,
- 109, 0, 42,101,100, 97,116, 97, 0,105,110,102,108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115,
- 0, 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,
- 112,104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,
- 108,117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,
- 116,101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,
- 108,101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101,112,
- 95,115,105,122,101, 0, 42,114,110, 97, 95,112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,116,
- 114, 97,110,115, 67,104, 97,110, 0,105,100,116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95,116,
- 97,114,103,101,116,115, 0,118, 97,114,105, 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93,
- 0, 42,101,120,112,114, 95, 99,111,109,112, 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105,110,
- 100,101,120, 0, 99,111,108,111,114, 95,109,111,100,101, 0, 99,111,108,111,114, 91, 51, 93, 0,102,114,111,109, 91, 49, 50, 56,
- 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, 97,112,
- 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,101,120,
- 116,101,110,100,109,111,100,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100,101, 0,107,101,121,
- 105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,
- 101, 95,112, 97,116,104, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,
- 114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,
- 111,100,101, 0, 97, 99,116, 95,101,120,116,101,110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, 99,101,
- 0,114,117,108,101, 0,111,112,116,105,111,110,115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, 97,108,
- 95,105,100, 0,108,111,111,107, 95, 97,104,101, 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,
- 101, 0,119, 97,110,100,101,114, 0,102,108,101,101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,115,116,
- 97,116,101, 95,105,100, 0,114,117,108,101,115, 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,
- 114,117,108,101,115,101,116, 95,116,121,112,101, 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,115,116,
- 95,115,116, 97,116,101, 95,105,100, 0,108, 97,110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, 97,110,
- 107,105,110,103, 0, 97,103,103,114,101,115,115,105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,
- 114, 95,109, 97,120, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95,
- 97,118,101, 0, 97,105,114, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112,
- 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97,
- 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95, 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,115,112,
- 97, 99,101, 0,108, 97,110,100, 95,115,116,105, 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,109,100,
- 0, 42,102,108,117,105,100, 95,103,114,111,117,112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,
- 101,120, 95,119,116, 0, 42,116,101,120, 95,115,104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,
- 112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91,
- 51, 93, 0, 97,109,112,108,105,102,121, 0,109, 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, 0,110,
- 111,105,115,101, 0,100,105,115,115, 95,112,101,114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,101,115,
- 95,119,116, 91, 51, 93, 0,100,120, 95,119,116, 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99,
- 97, 99,104,101, 95,104,105,103,104, 95, 99,111,109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,
- 116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,105,109,
- 101, 95,115, 99, 97,108,101, 0,118,111,114,116,105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,
- 108, 95,109,117,108,116,105, 0,118,103,114,112, 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,
- 112, 95,102,108,111,119, 0,118,103,114,111,117,112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,101, 97,
- 116, 0, 42,112,111,105,110,116,115, 95,111,108,100, 0, 42,118,101,108, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, 52, 93,
- 0, 0, 0, 0, 84, 89, 80, 69,204, 1, 0, 0, 99,104, 97,114, 0,117, 99,104, 97,114, 0,115,104,111,114,116, 0,117,115,104,
- 111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102,108,111, 97,116, 0,100,111,117, 98,108,101, 0,
- 118,111,105,100, 0, 76,105,110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,
- 115, 0,118,101, 99, 50,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97,
- 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0,
- 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,
- 111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66,
- 108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77,
- 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,
- 103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,
- 105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,
- 101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102,
- 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,120,101,108,
- 68, 97,116, 97, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,
- 111,108,117,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,
- 110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,
- 101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, 69,100,
- 105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,
- 100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0,
- 77, 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,
- 105, 99,107,121, 0, 77, 83,101,108,101, 99,116, 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97,
- 0, 77,117,108,116,105,114,101,115, 0, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102,
- 111,114,109, 87,101,105,103,104,116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112,
- 67,111,108, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0,
- 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,
- 105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101,
- 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,
- 114,101,115, 76,101,118,101,108, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,105,110,103, 73,110,102,
- 111, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100,105,102,
- 105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, 77,111,
- 100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,105,114,
- 114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102,105,101,
- 114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77,111,100,
- 105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,
- 101, 68,111,109, 97,105,110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105,110,103,
- 115, 0, 83,109,111,107,101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,
- 102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,
- 101, 99,105,109, 97,116,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,
- 101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,
- 102,105,101,114, 68, 97,116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,
- 111,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68,
- 97,116, 97, 0, 67,108,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,
- 104, 83,105,109, 83,101,116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,
- 111,105,110,116, 67, 97, 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,
- 118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,
- 111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,
- 108,108, 0, 77,101,115,104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,
- 108,101, 83,121,115,116,101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,
- 116,101,109, 0, 80, 97,114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
- 0, 69,120,112,108,111,100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,
- 105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,
- 108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,
- 101,114, 68, 97,116, 97, 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 83,104, 97,112,101, 75,101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77,111,100,
- 105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,114,112,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,
- 101,102,111,114,109, 71,114,111,117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110,
- 0, 98, 80,111,115,101, 0, 98, 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0,
- 98, 77,111,116,105,111,110, 80, 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,
- 101,102,108,101, 99,116, 0, 83,111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101,
- 99,116, 0, 82, 78, 71, 0, 69,102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,
- 116,114, 97, 0, 80, 84, 67, 97, 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,
- 116,101,120, 0, 66,111,100,121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116,
- 99,104, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,
- 116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 83,101,116,116,
- 105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83,
- 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,100,101,
- 114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 71, 97,
- 109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0, 66,114,117,115,104, 0, 73,109,
- 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 66,114,117,115,104, 68, 97,
- 116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0, 84,114, 97,110,115,102,111,114,
- 109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,111,111,108, 83,
- 101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103,115, 0, 80,104,121,115,
- 105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116,115, 0, 68,
- 97,103, 70,111,114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,101,110,100,
- 101,114, 73,110,102,111, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,111,116,104, 86,105,101,119, 83,116,111,114,
- 101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86,105,101,119, 50,
- 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104,101,101,116, 0,
- 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99,116, 80, 97,114,
- 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101,114, 97,116,111,
- 114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83,116,111,114,101,
- 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83, 99,111,112,101,115,
- 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,101, 84,101,120,116, 0, 83, 99,
- 114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 84,105,109,101, 67, 97, 99,104,101, 0,
- 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, 76,111,103,105, 99, 0, 83,
- 112, 97, 99,101, 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,
- 111,108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 83,111,117,110,100, 0, 83, 99,114,
- 65,114,101, 97, 0, 98, 83,111,117,110,100, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,
- 105, 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116,
- 97,116,101, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,
- 109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98, 65,100,100,111,110, 0, 83,111,108,105,100, 76,
- 105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110, 0, 83, 99,114, 86,101,114,116, 0, 83, 99,114,
- 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,117,116, 0, 83,112,
- 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70,105,108,101,
- 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112,
- 84,114, 97,110,115,102,111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,
- 112, 80,114,111,120,121, 0, 83,116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0,
- 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84,114, 97,110,
- 115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101,101,100, 67,111,
- 110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97,114,116, 69,102,
- 102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, 0, 98, 78,101,
- 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, 83,101,110,115,
- 111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, 83,101,110,115,
- 111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110,115,111,114, 0,
- 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111,114, 0, 98, 82,
- 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97,116,117,114,101,
- 83,101,110,115,111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,
- 111,110,116,114,111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,
- 115,115,105,111,110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0,
- 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,
- 111,114, 0, 83,111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79,
- 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,
- 111,112,101,114,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98,
- 73,112,111, 65, 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,
- 115,116,114, 97,105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98,
- 82, 97,110,100,111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0,
- 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,
- 114, 0, 98, 84,119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,
- 117, 97,116,111,114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 65, 99,
- 116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101, 0, 98, 65,114,109, 97,116,117,114,
- 101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115,101, 67,104, 97,110,110,101,108, 0, 98,
- 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110, 71,114,111,117,112, 0, 83,112, 97, 99,
- 101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,
- 110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,111,110,115,116,114, 97,105,110,
- 116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 75,105,110,101,109,
- 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101, 73, 75, 67,111,110,115,116,114, 97,105,
- 110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 97,116,101, 76,105,107,
- 101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,
- 116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83, 97,109,101, 86,111,108,117,109,
- 101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116,
- 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 67,111,110,115,116,114,
- 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68, 97,109,112, 84,
- 114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80, 97,116,104, 67,111,110,115,116,114,
- 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,105,103,105,100,
- 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108, 97,109,112, 84,111, 67,111,110,115,
- 116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115,
- 102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67,111,110,115,116,114, 97,105,110,116, 0,
- 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 76,105,109,105,116, 67,111,110,
- 115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68,105,
- 115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114,105,110,107,119,114, 97,112, 67,111,110,
- 115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,
- 116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,
- 101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,100,101, 0,117,105, 66,108,111, 99,107,
- 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109, 0, 78,111,100,101, 66,108,117,
- 114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97,116,101,114, 97,
- 108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97,103,101, 70,105,
- 108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,115, 0, 78,111,100,101, 84,119,111,
- 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,101, 86,101,114,116,101,120, 67,111,
- 108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,116, 68,105, 99,116, 0, 78,111,100,
- 101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, 76,101,110,115, 68,105,115,116, 0,
- 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,108,111,114,115,112,105,108,108, 0,
- 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67,117,114,118,
- 101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121,101,114, 0,
- 67,117,115,116,111,109, 68, 97,116, 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105,
- 99,108,101, 75,101,121, 0, 66,111,105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,
- 116,105, 99,108,101, 83,112,114,105,110,103, 0, 67,104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114,116,105, 99,
- 108,101, 84, 97,114,103,101,116, 0, 80, 97,114,116,105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, 80, 97,114,
- 116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105,
- 99,108,101, 83,101,116,116,105,110,103,115, 0, 66,111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,
- 101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, 68, 97,116,
- 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101,
- 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105,115,116, 0,
- 119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101,121, 67,111,
- 110,102,105,103, 0,119,109, 69,118,101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,
- 114,101, 0,119,109, 75,101,121, 77, 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121,
- 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100,105,102,105,101,114, 0, 70, 77,111,
- 100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105,111,110, 71,101,110,101,114, 97,116,
- 111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, 95, 69,110,118,101,108,111,112,
- 101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104,111,110, 0, 70, 77,111,100, 95, 76,
- 105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83,116,101,112,112,101,100, 0, 68,114,
- 105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104, 97,110,110,101,108, 68,114,105,118,
- 101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112, 80, 97,105,114, 0, 65,110,105,
- 109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,107, 0, 75, 83, 95, 80, 97,116,
- 104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101, 0, 73,100, 65,100,116, 84,101,
- 109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108,101, 71,111, 97,108, 65,118,111,105,
- 100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111,110, 0, 66,111,105,100, 82,117,108,
- 101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65,118,101,114, 97,103,101, 83,112,101,
- 101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116, 97,116,101, 0, 70, 76, 85, 73, 68,
- 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0,
- 4, 0, 4, 0, 8, 0, 0, 0, 16, 0, 24, 0, 16, 0, 4, 0, 8, 0, 16, 0, 16, 0, 32, 0, 96, 0, 72, 0, 72, 2, 0, 0,
- 40, 0,144, 0, 16, 5,112, 0, 36, 0, 56, 0,112, 0,128, 0,168, 0, 96, 0, 40, 0, 48, 0,176, 0, 16, 0,136, 0, 40, 0,
- 16, 6,240, 1, 0, 0, 0, 0, 0, 0, 24, 1,112, 1,120, 1, 24, 0, 8, 3,200, 0, 0, 0,104, 0, 64, 1, 40, 1, 8, 1,
- 136, 0,216, 1, 88, 0, 32, 3,104, 0, 88, 1, 0, 0,128, 0,104, 0,208, 0, 80, 0, 8, 0, 16, 0, 32, 0, 0, 0,216, 1,
- 0, 0, 0, 0, 0, 0,152, 1, 20, 0, 48, 0, 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0, 8, 0, 0, 0, 40, 0,128, 0,
- 48, 0, 8, 0, 16, 0, 8, 0, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 16, 0, 16, 0, 64, 0, 24, 0, 12, 0, 64, 0, 80, 0,
- 136, 0,104, 0,120, 0,128, 0, 96, 0,128, 0,160, 0, 96, 0, 88, 0,136, 0, 88, 0,112, 0, 16, 1, 56, 0,192, 0,184, 0,
- 232, 0, 88, 0,120, 0,136, 0,224, 0,136, 0,248, 0, 80, 0,136, 0, 0, 0,152, 0, 48, 0, 16, 2,160, 0, 0, 0,120, 0,
- 0, 0, 0, 0, 96, 0, 8, 0, 8, 0, 48, 1,112, 0, 16, 2,104, 0,128, 0, 88, 0, 96, 0,200, 1,144, 0,136, 0, 80, 0,
- 144, 0,112, 0,208, 0, 16, 0, 16, 1, 48, 0, 0, 0,152, 0,184, 0,104, 0, 48, 0, 24, 0,120, 0,152, 0,120, 1,224, 0,
- 192, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,224, 1, 40, 0,184, 0,152, 0, 64, 0, 64, 0,
- 24, 0, 88, 0, 0, 4, 64, 0, 24, 0, 16, 0,104, 0, 96, 0, 24, 0,248, 2, 48, 0, 16, 0,168, 0, 88, 0, 96, 0, 56, 0,
- 192, 1, 32, 0, 8, 0, 24, 0, 80, 2, 0, 0, 0, 0, 88, 0, 96, 3, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 56, 0,144, 0,
- 64, 0,240, 0,104, 0,248, 0,240, 0, 96, 2,104, 0, 0, 0,168, 0, 0, 0, 24, 1, 16, 0, 16, 0, 40, 33,128, 16, 24, 16,
- 216, 0,160, 2,120, 2, 64, 0, 24, 0,216, 0, 48, 1, 72, 0,200, 2, 40, 0,136, 1,104, 0,216, 0,160, 0,136, 1, 24, 1,
- 32, 0,232, 0, 32, 0, 32, 0,112, 2,120, 1, 16, 0, 88, 30, 80, 0, 56, 0,112, 13,216, 0, 32, 0, 40, 0, 88, 1, 0, 0,
- 0, 0, 0, 0, 40, 1, 0, 0, 32, 1, 88, 0, 16, 0, 8, 0, 44, 0, 0, 1,240, 0,200, 1, 32, 1, 32, 0, 12, 0, 24, 0,
- 52, 0, 16, 0, 24, 0, 24, 0, 32, 0, 72, 1, 0, 0, 64, 0, 64, 0, 48, 0, 8, 0, 48, 0, 72, 0,104, 0, 40, 0, 8, 0,
- 72, 0, 44, 0, 40, 0,108, 0, 72, 0, 72, 0, 96, 0,104, 0, 60, 0,128, 0, 80, 0, 80, 0, 16, 0, 96, 0, 32, 0, 72, 0,
- 88, 0, 24, 0, 80, 0,112, 0, 84, 0, 32, 0, 96, 0, 56, 0, 56, 0,112, 0,140, 0, 4, 0, 24, 0, 16, 0, 8, 0, 88, 0,
- 40, 0, 40, 1,200, 0, 16, 0,248, 1, 4, 0, 40, 0,120, 0, 64, 1, 88, 0, 56, 0, 88, 0,128, 0, 80, 0,120, 0, 24, 0,
- 56, 0, 48, 0, 48, 0, 48, 0, 8, 0, 40, 0, 72, 0, 72, 0, 48, 0, 48, 0, 24, 0, 56, 0,104, 0, 16, 0,112, 0, 96, 0,
- 56, 0, 28, 0, 28, 0, 28, 0, 56, 0, 24, 0, 72, 0,168, 0, 40, 0,152, 0, 56, 0, 16, 0, 8, 1, 0, 0, 0, 0, 16, 0,
- 40, 0, 28, 0, 12, 0, 12, 0, 16, 1, 44, 0, 24, 0, 8, 0, 64, 0, 32, 0, 24, 0, 16, 0, 24, 0, 32, 0, 8, 0, 96, 0,
- 20, 0, 32, 0, 12, 0, 56, 0, 24, 0, 72, 0,240, 0, 24, 0, 56, 0, 56, 0, 20, 0, 16, 0, 64, 0, 40, 0, 32, 0,192, 0,
- 60, 0,192, 2,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 32, 0, 40, 0,192, 0, 40, 0, 24, 1,224, 0,168, 0, 0, 0,
- 0, 0, 0, 0,120, 0, 0, 0,120, 0, 0, 0,104, 0, 24, 0, 24, 0, 16, 0, 24, 0, 8, 0, 16, 0, 24, 0, 20, 0, 20, 0,
- 56, 0, 24, 2, 40, 1, 16, 0,104, 0, 0, 1, 40, 0,200, 0,104, 0,112, 0,168, 0, 32, 0, 80, 0, 56, 0, 80, 0, 64, 0,
- 104, 0, 72, 0, 64, 0,128, 0, 0, 0, 0, 0, 83, 84, 82, 67,147, 1, 0, 0, 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0,
- 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0, 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0,
- 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0, 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, 0,
- 4, 0, 9, 0, 4, 0, 10, 0, 16, 0, 4, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, 0,
- 9, 0, 11, 0, 12, 0, 12, 0, 4, 0, 13, 0, 4, 0, 14, 0, 18, 0, 10, 0, 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, 0,
- 0, 0, 16, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 19, 0, 17, 0, 20, 0, 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, 0,
- 9, 0, 0, 0, 9, 0, 1, 0, 19, 0, 23, 0, 20, 0, 24, 0, 0, 0, 25, 0, 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, 0,
- 18, 0, 28, 0, 20, 0, 8, 0, 19, 0, 29, 0, 19, 0, 30, 0, 21, 0, 31, 0, 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, 0,
- 4, 0, 35, 0, 20, 0, 36, 0, 22, 0, 5, 0, 4, 0, 37, 0, 4, 0, 38, 0, 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, 0,
- 23, 0, 6, 0, 24, 0, 42, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, 0,
- 25, 0, 0, 0, 25, 0, 1, 0, 26, 0, 46, 0, 27, 0, 47, 0, 16, 0, 48, 0, 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, 0,
- 2, 0, 50, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 17, 0, 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, 0,
- 4, 0, 55, 0, 7, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 23, 0, 59, 0, 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, 0,
- 16, 0, 61, 0, 2, 0, 43, 0, 2, 0, 62, 0, 2, 0, 63, 0, 2, 0, 35, 0, 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, 0,
- 7, 0, 64, 0, 7, 0, 58, 0, 2, 0, 15, 0, 2, 0, 44, 0, 2, 0, 65, 0, 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, 0,
- 9, 0, 2, 0, 7, 0, 68, 0, 0, 0, 18, 0, 0, 0, 69, 0, 7, 0, 70, 0, 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, 0,
- 31, 0, 72, 0, 29, 0, 73, 0, 0, 0, 74, 0, 4, 0, 75, 0, 7, 0, 58, 0, 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, 0,
- 2, 0, 15, 0, 2, 0, 79, 0, 2, 0, 80, 0, 2, 0, 17, 0, 32, 0, 6, 0, 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, 0,
- 0, 0, 82, 0, 4, 0, 21, 0, 4, 0, 83, 0, 33, 0, 10, 0, 33, 0, 0, 0, 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, 0,
- 4, 0, 86, 0, 4, 0, 87, 0, 4, 0, 12, 0, 4, 0, 88, 0, 0, 0, 89, 0, 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, 0,
- 0, 0, 91, 0, 4, 0, 88, 0, 4, 0, 92, 0, 12, 0, 93, 0, 32, 0, 94, 0, 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, 0,
- 12, 0, 98, 0, 0, 0, 99, 0, 4, 0,100, 0, 4, 0,101, 0, 9, 0,102, 0, 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, 0,
- 4, 0,105, 0, 9, 0, 2, 0, 36, 0, 15, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,106, 0,
- 7, 0,107, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,110, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0,
- 28, 0, 77, 0, 24, 0,115, 0, 37, 0, 14, 0, 38, 0,116, 0, 4, 0,117, 0, 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0,
- 0, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0, 35, 0, 2, 0,124, 0, 2, 0,125, 0, 2, 0,126, 0, 2, 0, 17, 0,
- 4, 0, 67, 0, 39, 0, 32, 0, 19, 0, 29, 0, 0, 0, 32, 0, 12, 0,127, 0, 40, 0,128, 0, 41, 0,129, 0, 42, 0,130, 0,
- 42, 0,131, 0, 2, 0,132, 0, 2, 0,133, 0, 2, 0,123, 0, 2, 0, 17, 0, 2, 0,134, 0, 2, 0, 15, 0, 4, 0,135, 0,
- 2, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 2, 0,139, 0, 2, 0,140, 0, 2, 0,141, 0, 4, 0,142, 0, 4, 0,143, 0,
- 35, 0,144, 0, 22, 0,145, 0, 7, 0,146, 0, 4, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, 0,
- 7, 0,152, 0, 7, 0,153, 0, 43, 0, 65, 0, 2, 0,154, 0, 2, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0, 24, 0,158, 0,
- 44, 0,159, 0, 0, 0,160, 0, 0, 0,161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 7, 0,165, 0, 7, 0,166, 0,
- 7, 0,167, 0, 2, 0,168, 0, 2, 0,169, 0, 2, 0,170, 0, 2, 0,171, 0, 2, 0,172, 0, 2, 0,173, 0, 0, 0,174, 0,
- 0, 0,175, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0, 54, 0, 7, 0,181, 0,
- 7, 0,182, 0, 7, 0,183, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, 0,
- 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0,
- 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0, 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0,
- 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0, 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0,
- 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 45, 0, 15, 0, 0, 0,218, 0, 9, 0,219, 0, 0, 0,220, 0,
- 0, 0,221, 0, 4, 0,222, 0, 4, 0,223, 0, 9, 0,224, 0, 7, 0,225, 0, 7, 0,226, 0, 7, 0,227, 0, 4, 0,228, 0,
- 9, 0,229, 0, 9, 0,230, 0, 4, 0,231, 0, 4, 0, 35, 0, 46, 0, 6, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0,
- 7, 0,232, 0, 7, 0, 64, 0, 4, 0, 61, 0, 47, 0, 5, 0, 2, 0, 17, 0, 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,233, 0,
- 46, 0,227, 0, 48, 0, 17, 0, 24, 0,158, 0, 39, 0,234, 0, 49, 0,235, 0, 7, 0,236, 0, 7, 0,237, 0, 2, 0, 15, 0,
- 2, 0,238, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,239, 0, 4, 0,240, 0, 2, 0,241, 0, 2, 0,242, 0, 4, 0,123, 0,
- 4, 0,135, 0, 2, 0,243, 0, 2, 0,244, 0, 50, 0, 25, 0, 2, 0, 17, 0, 2, 0,245, 0, 7, 0,246, 0, 7, 0,247, 0,
- 2, 0,134, 0, 2, 0,248, 0, 4, 0,249, 0, 4, 0,250, 0, 24, 0,158, 0, 4, 0,251, 0, 2, 0,252, 0, 2, 0,253, 0,
- 9, 0,254, 0, 7, 0,255, 0, 7, 0, 0, 1, 2, 0, 1, 1, 2, 0, 2, 1, 2, 0, 3, 1, 2, 0, 4, 1, 7, 0, 5, 1,
- 7, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 47, 0, 9, 1, 51, 0, 10, 1, 52, 0, 13, 0, 4, 0, 11, 1, 4, 0, 12, 1,
- 2, 0, 13, 1, 2, 0, 17, 0, 2, 0, 14, 1, 2, 0, 15, 1, 24, 0,158, 0, 7, 0, 16, 1, 4, 0, 17, 1, 0, 0, 18, 1,
- 7, 0, 19, 1, 4, 0, 20, 1, 4, 0,123, 0, 44, 0, 63, 0, 19, 0, 29, 0, 31, 0, 72, 0, 7, 0, 21, 1, 7, 0, 22, 1,
- 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1, 7, 0, 27, 1, 7, 0, 28, 1, 7, 0, 29, 1, 7, 0, 67, 0,
- 7, 0, 30, 1, 7, 0, 31, 1, 7, 0, 32, 1, 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1,
- 7, 0, 38, 1, 7, 0, 39, 1, 7, 0, 40, 1, 7, 0, 41, 1, 2, 0, 42, 1, 2, 0, 43, 1, 2, 0, 44, 1, 2, 0, 45, 1,
- 2, 0, 46, 1, 2, 0, 47, 1, 2, 0, 48, 1, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,238, 0, 7, 0, 49, 1, 7, 0, 50, 1,
- 7, 0, 51, 1, 7, 0, 52, 1, 4, 0, 53, 1, 4, 0, 54, 1, 2, 0, 55, 1, 2, 0, 56, 1, 2, 0, 14, 1, 2, 0,121, 0,
- 4, 0, 21, 0, 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 7, 0, 57, 1, 7, 0, 58, 1, 7, 0, 87, 0, 37, 0, 59, 1,
- 53, 0, 60, 1, 28, 0, 77, 0, 39, 0,234, 0, 45, 0, 61, 1, 47, 0, 9, 1, 48, 0, 62, 1, 22, 0,145, 0, 50, 0, 63, 1,
- 52, 0, 64, 1, 0, 0, 65, 1, 0, 0,175, 0, 54, 0, 8, 0, 7, 0, 66, 1, 7, 0, 67, 1, 7, 0,166, 0, 4, 0, 17, 0,
- 7, 0, 68, 1, 7, 0, 69, 1, 7, 0, 70, 1, 24, 0, 42, 0, 55, 0, 72, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 4, 0, 71, 1, 2, 0,169, 0, 2, 0, 72, 1, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0,
- 7, 0, 73, 1, 7, 0, 74, 1, 7, 0, 75, 1, 7, 0, 76, 1, 7, 0, 77, 1, 7, 0, 78, 1, 7, 0, 79, 1, 7, 0, 80, 1,
- 7, 0, 81, 1, 7, 0, 82, 1, 7, 0, 83, 1, 51, 0, 84, 1, 2, 0,245, 0, 2, 0, 67, 0, 7, 0,107, 0, 7, 0,108, 0,
- 7, 0, 85, 1, 7, 0, 86, 1, 7, 0, 87, 1, 7, 0, 88, 1, 7, 0, 89, 1, 2, 0, 90, 1, 2, 0, 91, 1, 2, 0, 92, 1,
- 2, 0, 93, 1, 0, 0, 94, 1, 0, 0, 95, 1, 2, 0, 96, 1, 2, 0, 97, 1, 2, 0, 98, 1, 2, 0, 99, 1, 2, 0,100, 1,
- 7, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1, 2, 0,105, 1, 2, 0, 87, 0, 2, 0,106, 1, 2, 0,107, 1,
- 2, 0,108, 1, 2, 0,109, 1, 7, 0,110, 1, 7, 0,111, 1, 7, 0,112, 1, 7, 0,113, 1, 7, 0,114, 1, 7, 0,115, 1,
- 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 7, 0,120, 1, 7, 0,121, 1, 2, 0,122, 1, 0, 0,123, 1,
- 28, 0, 77, 0, 43, 0,124, 1, 2, 0,125, 1, 0, 0,126, 1, 22, 0,145, 0, 56, 0, 18, 0, 7, 0,127, 1, 7, 0,128, 1,
- 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1, 7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1,
- 2, 0,137, 1, 2, 0,138, 1, 2, 0,139, 1, 2, 0,140, 1, 7, 0,141, 1, 7, 0,142, 1, 7, 0,143, 1, 7, 0,144, 1,
- 57, 0,125, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,145, 1, 2, 0, 17, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0,
- 7, 0,146, 1, 7, 0,147, 1, 7, 0,148, 1, 7, 0,149, 1, 7, 0,150, 1, 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1,
- 7, 0,154, 1, 7, 0,155, 1, 7, 0,156, 1, 7, 0,157, 1, 7, 0,158, 1, 7, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1,
- 7, 0,162, 1, 7, 0,163, 1, 7, 0,164, 1, 7, 0,165, 1, 56, 0,166, 1, 7, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1,
- 7, 0,170, 1, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, 2, 0,174, 1, 2, 0,175, 1, 2, 0,176, 1, 0, 0,177, 1,
- 0, 0,178, 1, 7, 0,179, 1, 7, 0,180, 1, 2, 0,181, 1, 2, 0,182, 1, 7, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1,
- 7, 0,186, 1, 2, 0,187, 1, 2, 0,188, 1, 4, 0, 71, 1, 4, 0,189, 1, 2, 0,190, 1, 2, 0,191, 1, 2, 0,192, 1,
- 2, 0,193, 1, 7, 0,194, 1, 7, 0,195, 1, 7, 0,196, 1, 7, 0,197, 1, 7, 0,198, 1, 7, 0,199, 1, 7, 0,200, 1,
- 7, 0,201, 1, 7, 0,202, 1, 7, 0,203, 1, 0, 0,204, 1, 7, 0,205, 1, 7, 0,206, 1, 7, 0,207, 1, 4, 0,208, 1,
- 0, 0,209, 1, 0, 0,106, 1, 0, 0,210, 1, 0, 0, 65, 1, 2, 0,211, 1, 2, 0,212, 1, 2, 0,125, 1, 2, 0,213, 1,
- 2, 0,214, 1, 2, 0,215, 1, 7, 0,216, 1, 7, 0,217, 1, 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, 2, 0,154, 0,
- 2, 0,155, 0, 47, 0,221, 1, 47, 0,222, 1, 0, 0,223, 1, 0, 0,224, 1, 0, 0,225, 1, 0, 0,226, 1, 2, 0,227, 1,
- 2, 0,228, 1, 7, 0,229, 1, 7, 0,230, 1, 43, 0,124, 1, 53, 0, 60, 1, 28, 0, 77, 0, 58, 0,231, 1, 22, 0,145, 0,
- 7, 0,232, 1, 7, 0,233, 1, 7, 0,234, 1, 7, 0,235, 1, 7, 0,236, 1, 2, 0,237, 1, 2, 0, 67, 0, 7, 0,238, 1,
- 7, 0,239, 1, 7, 0,240, 1, 7, 0,241, 1, 7, 0,242, 1, 7, 0,243, 1, 7, 0,244, 1, 7, 0,245, 1, 7, 0,246, 1,
- 2, 0,247, 1, 2, 0,248, 1, 4, 0,249, 1, 2, 0,250, 1, 2, 0, 35, 0, 12, 0,251, 1, 59, 0, 4, 0, 19, 0, 29, 0,
- 0, 0,252, 1, 60, 0, 2, 0, 35, 0,144, 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, 62, 0,253, 1, 4, 0,254, 1,
- 4, 0,255, 1, 4, 0, 0, 2, 4, 0, 1, 2, 4, 0, 2, 2, 4, 0, 3, 2, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 4, 2,
- 2, 0, 5, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 6, 2, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2,
- 7, 0, 11, 2, 7, 0, 12, 2, 7, 0, 13, 2, 7, 0, 21, 0, 7, 0, 14, 2, 7, 0, 15, 2, 63, 0, 20, 0, 19, 0, 29, 0,
- 31, 0, 72, 0, 62, 0,253, 1, 12, 0, 16, 2, 12, 0, 17, 2, 12, 0, 18, 2, 28, 0, 77, 0, 57, 0, 19, 2, 0, 0, 17, 0,
- 0, 0, 20, 2, 2, 0, 21, 2, 2, 0,168, 0, 2, 0, 35, 0, 7, 0, 66, 1, 7, 0,166, 0, 7, 0, 67, 1, 7, 0, 22, 2,
- 7, 0, 23, 2, 7, 0, 24, 2, 61, 0, 25, 2, 27, 0, 11, 0, 7, 0, 26, 2, 7, 0, 27, 2, 7, 0, 28, 2, 7, 0,247, 0,
- 2, 0, 52, 0, 0, 0, 29, 2, 0, 0, 30, 2, 0, 0, 31, 2, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 34, 2, 26, 0, 7, 0,
- 7, 0, 35, 2, 7, 0, 27, 2, 7, 0, 28, 2, 2, 0, 31, 2, 2, 0, 34, 2, 7, 0,247, 0, 7, 0, 35, 0, 64, 0, 21, 0,
- 64, 0, 0, 0, 64, 0, 1, 0, 2, 0, 15, 0, 2, 0, 36, 2, 2, 0, 34, 2, 2, 0, 17, 0, 2, 0, 37, 2, 2, 0, 38, 2,
- 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 43, 2, 2, 0, 44, 2, 7, 0, 45, 2, 7, 0, 46, 2,
- 26, 0, 46, 0, 27, 0, 47, 0, 2, 0, 47, 2, 2, 0, 48, 2, 4, 0, 49, 2, 65, 0, 5, 0, 2, 0, 50, 2, 2, 0, 36, 2,
- 0, 0, 17, 0, 0, 0, 35, 0, 2, 0, 67, 0, 66, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 51, 2, 7, 0, 52, 2,
- 67, 0, 4, 0, 12, 0, 53, 2, 68, 0, 54, 2, 4, 0, 55, 2, 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0,
- 62, 0,253, 1, 12, 0, 56, 2, 12, 0, 17, 2, 67, 0, 57, 2, 24, 0, 58, 2, 24, 0, 59, 2, 24, 0, 60, 2, 28, 0, 77, 0,
- 70, 0, 61, 2, 30, 0, 62, 2, 57, 0, 19, 2, 12, 0, 63, 2, 7, 0, 66, 1, 7, 0,166, 0, 7, 0, 67, 1, 2, 0,168, 0,
- 2, 0, 87, 0, 2, 0, 64, 2, 2, 0, 65, 2, 7, 0, 66, 2, 7, 0, 67, 2, 4, 0, 68, 2, 2, 0, 35, 0, 2, 0, 21, 2,
- 2, 0, 17, 0, 2, 0, 69, 2, 7, 0, 70, 2, 7, 0, 71, 2, 7, 0, 72, 2, 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 73, 2,
- 2, 0, 74, 2, 4, 0, 75, 2, 9, 0, 76, 2, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, 2, 0, 77, 2, 7, 0, 78, 2,
- 7, 0, 79, 2, 7, 0, 80, 2, 7, 0, 81, 2, 7, 0, 82, 2, 7, 0, 83, 2, 7, 0, 84, 2, 7, 0, 85, 2, 7, 0, 86, 2,
- 7, 0, 87, 2, 0, 0, 88, 2, 71, 0, 89, 2, 72, 0, 90, 2, 0, 0, 91, 2, 59, 0, 92, 2, 59, 0, 93, 2, 59, 0, 94, 2,
- 59, 0, 95, 2, 4, 0, 96, 2, 7, 0, 97, 2, 4, 0, 98, 2, 4, 0, 99, 2, 66, 0,100, 2, 4, 0,101, 2, 4, 0,102, 2,
- 65, 0,103, 2, 65, 0,104, 2, 73, 0, 39, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,253, 1, 28, 0, 77, 0, 30, 0, 62, 2,
- 57, 0, 19, 2, 74, 0,105, 2, 75, 0,106, 2, 76, 0,107, 2, 77, 0,108, 2, 78, 0,109, 2, 79, 0,110, 2, 80, 0,111, 2,
- 81, 0,112, 2, 73, 0,113, 2, 82, 0,114, 2, 83, 0,115, 2, 84, 0,116, 2, 84, 0,117, 2, 84, 0,118, 2, 4, 0, 51, 0,
- 4, 0,119, 2, 4, 0,120, 2, 4, 0,121, 2, 4, 0,122, 2, 7, 0, 66, 1, 7, 0,166, 0, 7, 0, 67, 1, 2, 0,168, 0,
- 2, 0, 64, 2, 2, 0,123, 2, 2, 0, 17, 0, 2, 0,124, 2, 2, 0,125, 2, 0, 0,126, 2, 0, 0,127, 2, 2, 0, 21, 2,
- 85, 0,128, 2, 86, 0,129, 2, 76, 0, 8, 0, 9, 0,130, 2, 7, 0,131, 2, 4, 0,132, 2, 0, 0, 17, 0, 0, 0,133, 2,
- 2, 0, 71, 1, 2, 0,134, 2, 2, 0,135, 2, 74, 0, 7, 0, 4, 0,136, 2, 4, 0,137, 2, 4, 0,138, 2, 4, 0,139, 2,
- 2, 0, 36, 2, 0, 0,140, 2, 0, 0, 17, 0, 78, 0, 5, 0, 4, 0,136, 2, 4, 0,137, 2, 0, 0,141, 2, 0, 0,142, 2,
- 2, 0, 17, 0, 87, 0, 2, 0, 4, 0,143, 2, 7, 0, 28, 2, 79, 0, 3, 0, 87, 0,144, 2, 4, 0,145, 2, 4, 0, 17, 0,
- 77, 0, 4, 0, 7, 0,146, 2, 2, 0,147, 2, 0, 0, 17, 0, 0, 0,142, 2, 80, 0, 4, 0, 0, 0,232, 0, 0, 0,176, 0,
- 0, 0,177, 0, 0, 0,178, 0, 88, 0, 6, 0, 39, 0,130, 2, 0, 0, 17, 0, 0, 0,133, 2, 2, 0, 71, 1, 2, 0,134, 2,
- 2, 0,135, 2, 89, 0, 1, 0, 7, 0,148, 2, 90, 0, 5, 0, 0, 0,232, 0, 0, 0,176, 0, 0, 0,177, 0, 0, 0,178, 0,
- 4, 0, 35, 0, 81, 0, 1, 0, 7, 0,149, 2, 82, 0, 2, 0, 4, 0,150, 2, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,131, 2,
- 39, 0,130, 2, 0, 0, 17, 0, 0, 0,133, 2, 2, 0, 71, 1, 2, 0,134, 2, 2, 0,135, 2, 91, 0, 1, 0, 7, 0,151, 2,
- 92, 0, 1, 0, 4, 0,152, 2, 93, 0, 1, 0, 0, 0,153, 2, 94, 0, 1, 0, 7, 0,131, 2, 95, 0, 3, 0, 4, 0,154, 2,
- 0, 0, 90, 0, 7, 0,155, 2, 96, 0, 4, 0, 7, 0,232, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 97, 0, 1, 0,
- 96, 0,132, 2, 98, 0, 5, 0, 4, 0,156, 2, 4, 0,157, 2, 0, 0, 17, 0, 0, 0, 36, 2, 0, 0,158, 2, 99, 0, 2, 0,
- 4, 0,159, 2, 4, 0,157, 2,100, 0, 10, 0,100, 0, 0, 0,100, 0, 1, 0, 98, 0,160, 2, 97, 0,161, 2, 99, 0,162, 2,
- 4, 0, 51, 0, 4, 0,120, 2, 4, 0,119, 2, 4, 0, 35, 0, 77, 0,163, 2, 85, 0, 14, 0, 12, 0,164, 2, 77, 0,163, 2,
- 0, 0,165, 2, 0, 0,166, 2, 0, 0,167, 2, 0, 0,168, 2, 0, 0,169, 2, 0, 0,170, 2, 0, 0,171, 2, 0, 0, 17, 0,
- 84, 0,116, 2, 84, 0,118, 2, 2, 0,172, 2, 0, 0,173, 2, 86, 0, 8, 0, 4, 0,174, 2, 4, 0,175, 2, 74, 0,176, 2,
- 78, 0,177, 2, 4, 0,120, 2, 4, 0,119, 2, 4, 0, 51, 0, 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0,
- 4, 0, 15, 0, 4, 0, 71, 1, 4, 0,178, 2, 4, 0, 35, 0, 0, 0, 18, 0, 38, 0,116, 0, 0, 0,179, 2,102, 0, 6, 0,
- 101, 0,180, 2, 44, 0,181, 2, 24, 0,182, 2, 0, 0,183, 2, 4, 0,184, 2, 4, 0,185, 2,103, 0, 7, 0,101, 0,180, 2,
- 2, 0,186, 2, 2, 0,164, 2, 2, 0,187, 2, 2, 0, 88, 0, 9, 0,188, 2, 9, 0,189, 2,104, 0, 3, 0,101, 0,180, 2,
- 24, 0,158, 0, 0, 0, 18, 0,105, 0, 5, 0,101, 0,180, 2, 24, 0,158, 0, 0, 0, 18, 0, 2, 0,190, 2, 0, 0,191, 2,
- 106, 0, 5, 0,101, 0,180, 2, 7, 0, 85, 0, 7, 0,192, 2, 4, 0,193, 2, 4, 0,194, 2,107, 0, 5, 0,101, 0,180, 2,
- 24, 0,195, 2, 0, 0, 69, 0, 4, 0, 71, 1, 4, 0, 17, 0,108, 0, 13, 0,101, 0,180, 2, 24, 0,196, 2, 24, 0,197, 2,
- 24, 0,198, 2, 24, 0,199, 2, 7, 0,200, 2, 7, 0,201, 2, 7, 0,192, 2, 7, 0,202, 2, 4, 0,203, 2, 4, 0,204, 2,
- 4, 0, 88, 0, 4, 0,205, 2,109, 0, 5, 0,101, 0,180, 2, 2, 0,206, 2, 2, 0, 17, 0, 7, 0,207, 2, 24, 0,208, 2,
- 110, 0, 3, 0,101, 0,180, 2, 7, 0,209, 2, 4, 0, 88, 0,111, 0, 10, 0,101, 0,180, 2, 7, 0,210, 2, 4, 0,211, 2,
- 4, 0, 35, 0, 2, 0, 88, 0, 2, 0,212, 2, 2, 0,213, 2, 2, 0,214, 2, 7, 0,215, 2, 0, 0,216, 2,112, 0, 3, 0,
- 101, 0,180, 2, 7, 0, 35, 0, 4, 0, 15, 0,113, 0, 6, 0,101, 0,180, 2,114, 0,217, 2,115, 0,218, 2,116, 0,219, 2,
- 7, 0,220, 2, 4, 0, 15, 0,117, 0, 11, 0,101, 0,180, 2, 44, 0,181, 2, 24, 0,182, 2, 0, 0,183, 2, 4, 0,184, 2,
- 4, 0,185, 2, 4, 0,221, 2, 7, 0,222, 2, 4, 0,223, 2, 0, 0,216, 2, 7, 0,224, 2,118, 0, 12, 0,101, 0,180, 2,
- 24, 0,225, 2, 39, 0,226, 2, 4, 0, 88, 0, 4, 0,227, 2, 7, 0,228, 2, 7, 0,229, 2, 7, 0,230, 2, 7, 0,231, 2,
- 0, 0,183, 2, 4, 0,184, 2, 4, 0, 35, 0,119, 0, 3, 0,101, 0,180, 2, 7, 0,232, 2, 4, 0,233, 2,120, 0, 5, 0,
- 101, 0,180, 2, 7, 0,234, 2, 0, 0,216, 2, 2, 0, 17, 0, 2, 0,235, 2,121, 0, 8, 0,101, 0,180, 2, 24, 0,158, 0,
- 7, 0,234, 2, 7, 0,247, 0, 7, 0,104, 0, 0, 0,216, 2, 2, 0, 17, 0, 2, 0, 15, 0,122, 0, 21, 0,101, 0,180, 2,
- 24, 0,236, 2, 0, 0,216, 2, 44, 0,181, 2, 24, 0,182, 2, 2, 0, 17, 0, 2, 0, 35, 0, 7, 0,237, 2, 7, 0,238, 2,
- 7, 0,239, 2, 7, 0, 70, 2, 7, 0,240, 2, 7, 0,241, 2, 7, 0,242, 2, 7, 0,243, 2, 4, 0,185, 2, 4, 0,184, 2,
- 0, 0,183, 2, 7, 0,244, 2, 7, 0,245, 2, 7, 0, 87, 0,123, 0, 7, 0,101, 0,180, 2, 2, 0,246, 2, 2, 0,247, 2,
- 4, 0, 67, 0, 24, 0,158, 0, 7, 0,248, 2, 0, 0,216, 2,124, 0, 10, 0,101, 0,180, 2, 24, 0,158, 0, 0, 0,249, 2,
- 7, 0,250, 2, 7, 0,251, 2, 7, 0,243, 2, 4, 0,252, 2, 4, 0,253, 2, 7, 0,254, 2, 0, 0, 18, 0,125, 0, 1, 0,
- 101, 0,180, 2,126, 0, 7, 0,101, 0,180, 2, 38, 0,116, 0,127, 0,255, 2,128, 0, 0, 3,129, 0, 1, 3,130, 0, 2, 3,
- 12, 0, 3, 3,131, 0, 13, 0,101, 0,180, 2, 77, 0, 4, 3, 77, 0, 5, 3, 77, 0, 6, 3, 77, 0, 7, 3, 77, 0, 8, 3,
- 77, 0, 9, 3, 74, 0, 10, 3, 4, 0, 11, 3, 4, 0, 12, 3, 7, 0, 13, 3, 7, 0, 14, 3,132, 0, 15, 3,133, 0, 7, 0,
- 101, 0,180, 2, 77, 0, 4, 3, 77, 0, 16, 3,134, 0, 17, 3,135, 0, 15, 3, 4, 0, 18, 3, 4, 0, 11, 3,136, 0, 4, 0,
- 101, 0,180, 2, 24, 0,158, 0, 4, 0, 19, 3, 4, 0, 35, 0,137, 0, 2, 0, 4, 0, 20, 3, 7, 0, 28, 2,138, 0, 2, 0,
- 4, 0,119, 0, 4, 0, 21, 3,139, 0, 24, 0,101, 0,180, 2, 24, 0,158, 0, 0, 0,216, 2, 2, 0, 22, 3, 2, 0, 17, 0,
- 2, 0, 71, 1, 2, 0, 35, 0,137, 0, 23, 3, 4, 0, 24, 3, 7, 0, 25, 3, 4, 0, 51, 0, 4, 0, 26, 3,138, 0, 27, 3,
- 137, 0, 28, 3, 4, 0, 29, 3, 4, 0, 30, 3, 4, 0, 31, 3, 4, 0, 21, 3, 7, 0, 32, 3, 7, 0, 33, 3, 7, 0, 34, 3,
- 7, 0, 35, 3, 7, 0, 36, 3, 9, 0, 37, 3,140, 0, 8, 0,101, 0,180, 2,141, 0, 38, 3,134, 0, 17, 3, 4, 0, 39, 3,
- 4, 0, 40, 3, 4, 0, 41, 3, 2, 0, 17, 0, 2, 0, 54, 0,142, 0, 8, 0,101, 0,180, 2, 24, 0, 42, 0, 2, 0,251, 0,
- 2, 0, 17, 0, 2, 0,206, 2, 2, 0, 54, 0, 7, 0, 42, 3, 7, 0, 43, 3,143, 0, 6, 0,101, 0,180, 2, 4, 0, 44, 3,
- 2, 0, 17, 0, 2, 0, 45, 3, 7, 0, 46, 3, 0, 0,160, 0,144, 0, 8, 0,101, 0,180, 2, 0, 0, 47, 3, 0, 0, 48, 3,
- 0, 0,170, 2, 0, 0, 49, 3, 0, 0, 50, 3, 0, 0, 88, 0, 0, 0,158, 2,145, 0, 3, 0,101, 0,180, 2,146, 0, 51, 3,
- 130, 0, 2, 3,147, 0, 10, 0,101, 0,180, 2, 24, 0, 52, 3, 24, 0, 53, 3, 0, 0, 54, 3, 7, 0, 55, 3, 2, 0, 56, 3,
- 2, 0, 57, 3, 0, 0, 58, 3, 0, 0, 59, 3, 0, 0,191, 2,148, 0, 9, 0,101, 0,180, 2, 24, 0, 60, 3, 0, 0, 54, 3,
- 7, 0, 61, 3, 7, 0, 62, 3, 0, 0, 71, 1, 0, 0,206, 2, 0, 0, 63, 3, 0, 0, 35, 0,149, 0, 1, 0,101, 0,180, 2,
- 150, 0, 11, 0,101, 0,180, 2, 0, 0,216, 2, 7, 0,119, 0, 7, 0, 64, 3, 7, 0, 65, 3, 7, 0, 66, 3, 7, 0, 67, 3,
- 4, 0, 17, 0, 2, 0, 68, 3, 2, 0, 69, 3, 4, 0, 35, 0,151, 0, 9, 0,101, 0,180, 2, 24, 0, 70, 3, 4, 0, 71, 3,
- 4, 0, 72, 3, 4, 0, 73, 3, 7, 0, 74, 3, 7, 0, 75, 3, 2, 0,206, 2, 2, 0, 17, 0,152, 0, 16, 0,101, 0,180, 2,
- 44, 0,181, 2, 24, 0,182, 2, 0, 0,183, 2, 4, 0,184, 2, 4, 0,185, 2, 4, 0,221, 2, 7, 0,222, 2, 24, 0, 76, 3,
- 24, 0, 77, 3, 51, 0, 84, 1, 0, 0,216, 2, 7, 0, 78, 3, 0, 0, 17, 0, 0, 0,245, 0, 0, 0,158, 2,153, 0, 3, 0,
- 154, 0, 79, 3, 4, 0, 55, 2, 0, 0, 90, 0,154, 0, 29, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 37, 2, 2, 0, 38, 2,
- 2, 0, 80, 3, 2, 0, 17, 0, 2, 0, 81, 3, 2, 0, 82, 3, 2, 0, 83, 3, 2, 0, 67, 0, 0, 0, 84, 3, 0, 0, 85, 3,
- 0, 0, 86, 3, 0, 0,228, 1, 4, 0, 35, 0, 7, 0, 87, 3, 7, 0, 88, 3, 7, 0, 89, 3, 7, 0, 90, 3, 7, 0, 91, 3,
- 7, 0, 92, 3, 26, 0, 93, 3, 28, 0, 77, 0, 30, 0, 62, 2, 79, 0,110, 2, 0, 0, 69, 0, 7, 0, 94, 3, 7, 0, 95, 3,
- 153, 0, 96, 3,155, 0, 3, 0,155, 0, 0, 0,155, 0, 1, 0, 0, 0, 18, 0, 62, 0, 3, 0, 7, 0, 97, 3, 4, 0, 17, 0,
- 4, 0, 35, 0, 24, 0,127, 0, 19, 0, 29, 0, 31, 0, 72, 0,156, 0, 98, 3, 2, 0, 15, 0, 2, 0, 99, 3, 4, 0,100, 3,
- 4, 0,101, 3, 4, 0,102, 3, 0, 0,103, 3, 24, 0, 36, 0, 24, 0,104, 3, 24, 0,105, 3, 24, 0,106, 3, 24, 0,107, 3,
- 28, 0, 77, 0, 70, 0, 61, 2, 62, 0,253, 1,157, 0,108, 3,157, 0,109, 3,158, 0,110, 3, 9, 0, 2, 0,159, 0,111, 3,
- 160, 0,112, 3,161, 0,113, 3, 12, 0,114, 3, 12, 0,115, 3, 12, 0, 17, 2, 12, 0,116, 3, 12, 0,117, 3, 4, 0, 71, 1,
- 4, 0,118, 3, 57, 0, 19, 2, 0, 0,119, 3, 4, 0, 21, 2, 4, 0,120, 3, 7, 0, 66, 1, 7, 0,121, 3, 7, 0,122, 3,
- 7, 0,166, 0, 7, 0,123, 3, 7, 0, 67, 1, 7, 0,124, 3, 7, 0, 7, 2, 7, 0,125, 3, 7, 0,126, 3, 7, 0,127, 3,
- 7, 0,128, 3, 7, 0,129, 3, 7, 0,130, 3, 7, 0,250, 2, 7, 0,131, 3, 7, 0,236, 0, 7, 0,132, 3, 4, 0,133, 3,
- 2, 0, 17, 0, 2, 0,134, 3, 2, 0,135, 3, 2, 0,136, 3, 2, 0,137, 3, 2, 0,138, 3, 2, 0,139, 3, 2, 0,140, 3,
- 2, 0,141, 3, 2, 0,142, 3, 2, 0,143, 3, 2, 0,144, 3, 4, 0,145, 3, 4, 0,146, 3, 4, 0,147, 3, 4, 0,148, 3,
- 7, 0,149, 3, 7, 0, 97, 2, 7, 0,150, 3, 7, 0,151, 3, 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 7, 0,211, 0,
- 7, 0,155, 3, 7, 0,156, 3, 7, 0,157, 3, 7, 0,158, 3, 2, 0,159, 3, 0, 0,160, 3, 0, 0,161, 3, 0, 0,162, 3,
- 0, 0,163, 3, 7, 0,164, 3, 7, 0,165, 3, 12, 0,166, 3, 12, 0,167, 3, 12, 0,168, 3, 12, 0,169, 3, 7, 0,170, 3,
- 2, 0,150, 2, 2, 0,171, 3, 7, 0,132, 2, 4, 0,172, 3, 4, 0,173, 3,162, 0,174, 3, 2, 0,175, 3, 2, 0,243, 0,
- 7, 0,176, 3, 12, 0,177, 3, 12, 0,178, 3, 12, 0,179, 3, 12, 0,180, 3,163, 0, 63, 1,164, 0,181, 3, 58, 0,182, 3,
- 2, 0,183, 3, 2, 0,184, 3, 2, 0, 55, 2, 2, 0,185, 3, 7, 0,123, 2, 2, 0,186, 3, 2, 0,187, 3,146, 0,188, 3,
- 134, 0,189, 3,134, 0,190, 3, 4, 0,191, 3, 4, 0,192, 3, 4, 0,193, 3, 4, 0, 67, 0, 12, 0,194, 3, 12, 0,195, 3,
- 12, 0,196, 3,165, 0, 14, 0,165, 0, 0, 0,165, 0, 1, 0, 24, 0, 36, 0, 7, 0,250, 2, 7, 0, 68, 1, 7, 0,251, 2,
- 7, 0,243, 2, 0, 0, 18, 0, 4, 0,252, 2, 4, 0,253, 2, 4, 0,197, 3, 2, 0, 15, 0, 2, 0,198, 3, 7, 0,254, 2,
- 166, 0, 12, 0,166, 0, 0, 0,166, 0, 1, 0, 24, 0, 42, 0, 4, 0,199, 3, 4, 0,150, 2, 4, 0,200, 3, 4, 0, 15, 0,
- 4, 0,201, 3, 7, 0, 68, 1, 7, 0,202, 3, 7, 0,203, 3, 7, 0,148, 2,163, 0, 40, 0, 4, 0, 17, 0, 2, 0,204, 3,
- 2, 0,205, 3, 2, 0,243, 2, 2, 0,206, 3, 2, 0,207, 3, 2, 0,208, 3, 2, 0,209, 3, 2, 0,210, 3, 7, 0,211, 3,
- 7, 0,212, 3, 7, 0,213, 3, 7, 0,214, 3, 7, 0,215, 3, 7, 0,216, 3, 7, 0,217, 3, 7, 0,218, 3, 7, 0,219, 3,
- 7, 0,220, 3, 7, 0,221, 3, 7, 0,222, 3, 7, 0,223, 3, 7, 0,224, 3, 7, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3,
- 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3, 7, 0,231, 3, 7, 0,232, 3, 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3,
- 7, 0,236, 3, 7, 0,237, 3, 44, 0,159, 0,167, 0,238, 3, 7, 0,239, 3, 4, 0,194, 2,168, 0, 5, 0, 58, 0,231, 1,
- 7, 0,240, 3, 7, 0,241, 3, 2, 0, 17, 0, 2, 0,242, 3,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0, 4, 0, 15, 0,
- 4, 0,243, 3, 9, 0, 2, 0,170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 0,244, 3, 4, 0,245, 3, 4, 0,246, 3,
- 4, 0, 17, 0, 9, 0,247, 3, 9, 0,248, 3, 12, 0,249, 3,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0, 4, 0, 17, 0,
- 4, 0,250, 3, 4, 0,251, 3, 4, 0,252, 3, 4, 0,253, 3, 4, 0,254, 3, 4, 0,255, 3, 4, 0,245, 3, 4, 0,150, 2,
- 2, 0, 0, 4, 2, 0, 54, 0, 0, 0, 1, 4, 0, 0, 2, 4, 0, 0, 3, 4, 0, 0, 4, 4, 0, 0, 5, 4, 12, 0, 6, 4,
- 171, 0, 7, 4, 9, 0, 8, 4,172, 0, 1, 0, 7, 0, 35, 2,162, 0, 30, 0, 4, 0, 17, 0, 7, 0, 9, 4, 7, 0, 10, 4,
- 7, 0, 11, 4, 4, 0, 12, 4, 4, 0, 13, 4, 4, 0, 14, 4, 4, 0, 15, 4, 7, 0, 16, 4, 7, 0, 17, 4, 7, 0, 18, 4,
- 7, 0, 19, 4, 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4, 7, 0, 23, 4, 7, 0, 24, 4, 7, 0, 25, 4, 7, 0, 26, 4,
- 7, 0, 27, 4, 7, 0, 28, 4, 7, 0, 29, 4, 7, 0, 30, 4, 7, 0, 31, 4, 7, 0, 32, 4, 7, 0, 33, 4, 4, 0, 34, 4,
- 4, 0, 35, 4, 7, 0, 36, 4, 7, 0,155, 3,164, 0, 54, 0, 4, 0,245, 3, 4, 0, 37, 4,173, 0, 38, 4,174, 0, 39, 4,
- 0, 0, 35, 0, 0, 0, 40, 4, 2, 0, 41, 4, 7, 0, 42, 4, 0, 0, 43, 4, 7, 0, 44, 4, 7, 0, 45, 4, 7, 0, 46, 4,
- 7, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4, 7, 0, 52, 4, 2, 0, 53, 4, 0, 0, 54, 4,
- 2, 0, 55, 4, 7, 0, 56, 4, 7, 0, 57, 4, 0, 0, 58, 4, 4, 0,120, 0, 4, 0, 59, 4, 4, 0, 60, 4, 2, 0, 61, 4,
- 2, 0, 62, 4,172, 0, 63, 4, 4, 0, 64, 4, 4, 0, 79, 0, 7, 0, 65, 4, 7, 0, 66, 4, 7, 0, 67, 4, 7, 0, 68, 4,
- 2, 0, 69, 4, 2, 0, 70, 4, 2, 0, 71, 4, 2, 0, 72, 4, 2, 0, 73, 4, 2, 0, 74, 4, 2, 0, 75, 4, 2, 0, 76, 4,
- 175, 0, 77, 4, 7, 0, 78, 4, 7, 0, 79, 4,130, 0, 80, 4, 12, 0, 3, 3,168, 0, 81, 4, 7, 0, 82, 4, 7, 0, 83, 4,
- 7, 0, 84, 4, 0, 0, 85, 4,146, 0, 51, 0,145, 0, 86, 4, 2, 0, 15, 0, 2, 0, 87, 4, 2, 0, 88, 4, 2, 0, 89, 4,
- 7, 0, 90, 4, 2, 0, 91, 4, 2, 0, 92, 4, 7, 0, 93, 4, 2, 0, 94, 4, 2, 0, 95, 4, 7, 0, 96, 4, 7, 0, 97, 4,
- 7, 0, 98, 4, 7, 0, 99, 4, 7, 0,100, 4, 4, 0,101, 4, 4, 0,102, 4, 7, 0,103, 4, 4, 0,104, 4, 7, 0,105, 4,
- 7, 0,106, 4, 7, 0,107, 4, 73, 0,108, 4, 73, 0,109, 4, 73, 0,110, 4, 0, 0,111, 4, 7, 0,112, 4, 7, 0,113, 4,
- 28, 0, 77, 0, 2, 0,114, 4, 0, 0,115, 4, 0, 0,116, 4, 7, 0,117, 4, 4, 0,118, 4, 7, 0,119, 4, 7, 0,120, 4,
- 4, 0,121, 4, 4, 0, 17, 0, 7, 0,122, 4, 7, 0,123, 4, 7, 0,124, 4, 77, 0,125, 4, 7, 0,126, 4, 7, 0,127, 4,
- 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4, 7, 0,131, 4, 7, 0,132, 4, 4, 0,133, 4,176, 0, 76, 0, 19, 0, 29, 0,
- 31, 0, 72, 0, 2, 0,169, 0, 2, 0, 72, 1, 2, 0,106, 1, 2, 0,134, 4, 7, 0,135, 4, 7, 0,136, 4, 7, 0,137, 4,
- 7, 0,138, 4, 7, 0,139, 4, 7, 0,140, 4, 7, 0,152, 1, 7, 0,154, 1, 7, 0,153, 1, 7, 0, 67, 0, 4, 0,141, 4,
- 7, 0,142, 4, 7, 0,143, 4, 7, 0,144, 4, 7, 0,145, 4, 7, 0,146, 4, 7, 0,147, 4, 7, 0,148, 4, 2, 0,149, 4,
- 2, 0, 71, 1, 2, 0,150, 4, 2, 0,151, 4, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 7, 0,156, 4,
- 7, 0,157, 4, 7, 0,158, 4, 7, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4, 7, 0,163, 4, 7, 0,164, 4,
- 7, 0,165, 4, 7, 0,166, 4, 7, 0,167, 4, 2, 0,168, 4, 2, 0,169, 4, 2, 0,170, 4, 2, 0,171, 4, 7, 0,172, 4,
- 7, 0,173, 4, 7, 0,174, 4, 7, 0,175, 4, 2, 0,176, 4, 2, 0,177, 4, 2, 0,178, 4, 2, 0,179, 4, 7, 0,180, 4,
- 7, 0,181, 4, 7, 0,182, 4, 7, 0,183, 4, 7, 0,184, 4, 7, 0,185, 4, 7, 0,186, 4, 2, 0,187, 4, 2, 0,188, 4,
- 2, 0,189, 4, 2, 0,190, 4, 2, 0,191, 4, 2, 0, 17, 0, 7, 0,192, 4, 7, 0,193, 4, 28, 0, 77, 0, 43, 0,124, 1,
- 2, 0,125, 1, 2, 0,194, 4, 22, 0,145, 0,177, 0, 8, 0,177, 0, 0, 0,177, 0, 1, 0, 4, 0,133, 3, 4, 0,195, 4,
- 4, 0, 17, 0, 2, 0,196, 4, 2, 0,197, 4, 24, 0,158, 0,178, 0, 13, 0, 9, 0,198, 4, 9, 0,199, 4, 4, 0,200, 4,
- 4, 0,201, 4, 4, 0,202, 4, 4, 0,203, 4, 4, 0,204, 4, 4, 0,205, 4, 4, 0,206, 4, 4, 0,207, 4, 4, 0,208, 4,
- 4, 0, 35, 0, 0, 0,209, 4,179, 0, 5, 0, 9, 0,210, 4, 9, 0,211, 4, 4, 0,212, 4, 4, 0, 67, 0, 0, 0,213, 4,
- 180, 0, 17, 0, 4, 0,214, 4, 4, 0,215, 4, 4, 0,216, 4, 4, 0,217, 4, 4, 0,218, 4, 4, 0,219, 4, 4, 0,220, 4,
- 4, 0,221, 4, 4, 0,222, 4, 4, 0,223, 4, 4, 0,224, 4, 4, 0,225, 4, 2, 0,226, 4, 2, 0,227, 4, 4, 0,228, 4,
- 4, 0,229, 4, 4, 0, 87, 0,181, 0, 15, 0, 4, 0, 15, 0, 4, 0,216, 4, 4, 0,230, 4, 4, 0,231, 4, 4, 0,232, 4,
- 4, 0,233, 4, 7, 0,234, 4, 4, 0,235, 4, 4, 0, 88, 0, 4, 0,236, 4, 4, 0,237, 4, 4, 0,238, 4, 4, 0,239, 4,
- 4, 0,240, 4, 18, 0, 28, 0,182, 0, 7, 0, 4, 0,241, 4, 7, 0,242, 4, 7, 0,243, 4, 7, 0,244, 4, 4, 0,245, 4,
- 2, 0, 17, 0, 2, 0, 35, 0,183, 0, 11, 0,183, 0, 0, 0,183, 0, 1, 0, 0, 0, 18, 0, 57, 0,246, 4, 58, 0,247, 4,
- 4, 0,133, 3, 4, 0,248, 4, 4, 0,249, 4, 4, 0, 35, 0, 4, 0,250, 4, 4, 0,251, 4,184, 0,110, 0,178, 0,252, 4,
- 179, 0,253, 4,180, 0,254, 4,181, 0,255, 4, 4, 0, 18, 3, 4, 0,120, 0, 4, 0, 59, 4, 7, 0, 0, 5, 4, 0, 1, 5,
- 4, 0, 2, 5, 4, 0, 3, 5, 4, 0, 4, 5, 2, 0, 17, 0, 2, 0, 5, 5, 7, 0, 6, 5, 7, 0, 7, 5, 7, 0, 8, 5,
- 7, 0, 9, 5, 7, 0, 10, 5, 2, 0, 11, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5, 2, 0,242, 0, 2, 0, 15, 5,
- 4, 0, 16, 5, 2, 0, 17, 5, 2, 0, 18, 5, 2, 0, 93, 1, 2, 0,104, 0, 2, 0, 19, 5, 2, 0, 20, 5, 2, 0, 21, 5,
- 2, 0, 22, 5, 2, 0, 23, 5, 2, 0, 24, 5, 2, 0, 25, 5, 2, 0, 26, 5, 2, 0, 27, 5, 2, 0, 94, 1, 2, 0, 28, 5,
- 2, 0, 29, 5, 2, 0, 30, 5, 2, 0, 31, 5, 4, 0, 32, 5, 4, 0, 71, 1, 4, 0, 33, 5, 2, 0, 34, 5, 2, 0, 35, 5,
- 2, 0, 36, 5, 2, 0, 37, 5, 2, 0, 38, 5, 2, 0, 39, 5, 2, 0, 40, 5, 2, 0, 41, 5, 16, 0, 42, 5, 16, 0, 43, 5,
- 15, 0, 44, 5, 12, 0, 45, 5, 2, 0, 46, 5, 2, 0, 47, 5, 7, 0, 48, 5, 7, 0, 49, 5, 7, 0, 50, 5, 7, 0, 51, 5,
- 4, 0, 52, 5, 7, 0, 53, 5, 7, 0, 54, 5, 7, 0, 55, 5, 7, 0, 56, 5, 2, 0, 57, 5, 2, 0, 58, 5, 2, 0, 59, 5,
- 2, 0, 60, 5, 2, 0, 61, 5, 2, 0, 62, 5, 7, 0, 63, 5, 7, 0, 64, 5, 7, 0, 65, 5, 0, 0, 66, 5, 0, 0, 67, 5,
- 4, 0, 68, 5, 2, 0, 69, 5, 2, 0,228, 1, 0, 0, 70, 5, 7, 0, 71, 5, 7, 0, 72, 5, 0, 0, 73, 5, 0, 0, 74, 5,
- 0, 0, 75, 5, 0, 0, 76, 5, 4, 0, 77, 5, 2, 0, 78, 5, 2, 0, 79, 5, 7, 0, 80, 5, 7, 0, 81, 5, 2, 0, 82, 5,
- 2, 0, 83, 5, 7, 0, 84, 5, 2, 0, 85, 5, 2, 0, 86, 5, 4, 0, 87, 5, 2, 0, 88, 5, 2, 0, 89, 5, 2, 0, 90, 5,
- 2, 0, 91, 5, 7, 0, 92, 5, 7, 0, 67, 0, 34, 0, 93, 5, 0, 0, 94, 5,185, 0, 9, 0,185, 0, 0, 0,185, 0, 1, 0,
- 0, 0, 18, 0, 2, 0, 95, 5, 2, 0, 96, 5, 2, 0, 97, 5, 2, 0, 87, 0, 7, 0, 98, 5, 7, 0, 67, 0,186, 0, 7, 0,
- 2, 0,211, 2, 2, 0, 71, 1, 2, 0, 75, 3, 2, 0, 99, 5, 7, 0,100, 5, 7, 0, 67, 0, 34, 0,101, 5,187, 0, 5, 0,
- 7, 0,102, 5, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 67, 0, 0, 0,228, 1,188, 0, 28, 0, 7, 0,147, 4, 7, 0,148, 4,
- 2, 0, 71, 1, 2, 0, 17, 0, 2, 0,103, 5, 2, 0,194, 4, 2, 0,150, 4, 2, 0,151, 4, 2, 0,152, 4, 2, 0,153, 4,
- 2, 0,154, 4, 2, 0,155, 4,187, 0,104, 5, 2, 0, 11, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5, 2, 0,242, 0,
- 2, 0, 15, 5, 2, 0,105, 5, 2, 0,106, 5,186, 0,107, 5, 2, 0,108, 5, 2, 0, 17, 5, 2, 0, 20, 5, 2, 0, 21, 5,
- 7, 0,109, 5, 7, 0, 87, 0,189, 0, 6, 0,189, 0, 0, 0,189, 0, 1, 0, 4, 0,244, 3, 0, 0, 1, 4, 4, 0, 17, 0,
- 24, 0,110, 5,190, 0, 4, 0,191, 0,111, 5, 9, 0,112, 5, 0, 0,113, 5, 4, 0, 88, 0,192, 0, 8, 0,190, 0,114, 5,
- 2, 0, 17, 0, 2, 0, 35, 0, 2, 0,115, 5, 2, 0,116, 5, 2, 0,117, 5, 4, 0, 87, 0, 9, 0,118, 5,193, 0, 6, 0,
- 2, 0,104, 0, 2, 0,250, 3, 2, 0,119, 5, 2, 0,205, 2, 4, 0, 17, 0, 7, 0,222, 2,194, 0, 14, 0, 2, 0, 17, 0,
- 2, 0,120, 5, 2, 0,121, 5, 2, 0,122, 5,193, 0,123, 5, 9, 0,118, 5, 7, 0,124, 5, 7, 0, 54, 0, 4, 0,125, 5,
- 4, 0,126, 5, 4, 0,127, 5, 4, 0,128, 5, 38, 0,116, 0, 24, 0,158, 0,195, 0, 4, 0,195, 0, 0, 0,195, 0, 1, 0,
- 0, 0,129, 5, 7, 0,130, 5,196, 0, 14, 0,190, 0,114, 5, 4, 0, 88, 0, 4, 0,131, 5, 7, 0,132, 5, 7, 0,133, 5,
- 7, 0,134, 5, 4, 0,135, 5, 4, 0,136, 5, 7, 0,137, 5, 7, 0,138, 5, 4, 0,139, 5, 7, 0,140, 5, 7, 0,141, 5,
- 4, 0, 35, 0,197, 0, 7, 0,190, 0,114, 5, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 34, 0, 4, 0,142, 5, 79, 0,143, 5,
- 9, 0,118, 5,198, 0, 82, 0,197, 0,144, 5,197, 0,145, 5,196, 0, 98, 3, 7, 0,146, 5, 2, 0,147, 5, 2, 0,148, 5,
- 7, 0,149, 5, 7, 0,150, 5, 2, 0,250, 3, 2, 0,151, 5, 7, 0,152, 5, 7, 0,153, 5, 7, 0,154, 5, 2, 0,155, 5,
- 2, 0,125, 5, 2, 0,156, 5, 2, 0,157, 5, 2, 0,158, 5, 2, 0,159, 5, 7, 0,160, 5, 7, 0,161, 5, 7, 0,162, 5,
- 2, 0,163, 5, 2, 0,164, 5, 2, 0,165, 5, 2, 0,166, 5, 2, 0,167, 5, 2, 0,168, 5, 2, 0,169, 5, 2, 0,170, 5,
- 192, 0,171, 5,194, 0,172, 5, 7, 0,173, 5, 7, 0,174, 5, 7, 0,175, 5, 2, 0,176, 5, 2, 0,177, 5, 0, 0,178, 5,
- 0, 0,179, 5, 0, 0,180, 5, 0, 0,181, 5, 0, 0,182, 5, 0, 0,183, 5, 2, 0,184, 5, 7, 0,185, 5, 7, 0,186, 5,
- 7, 0,187, 5, 7, 0,188, 5, 7, 0,189, 5, 7, 0,190, 5, 7, 0,191, 5, 7, 0,192, 5, 7, 0,193, 5, 7, 0,194, 5,
- 2, 0,195, 5, 0, 0,196, 5, 0, 0,197, 5, 0, 0,198, 5, 0, 0,199, 5, 24, 0,200, 5, 0, 0,201, 5, 0, 0,202, 5,
- 0, 0,203, 5, 0, 0,204, 5, 0, 0,205, 5, 0, 0,206, 5, 0, 0,207, 5, 0, 0,208, 5, 0, 0,209, 5, 0, 0,210, 5,
- 2, 0,211, 5, 2, 0,212, 5, 2, 0,213, 5, 2, 0,214, 5, 0, 0,215, 5, 0, 0,194, 4, 4, 0,216, 5, 2, 0,217, 5,
- 2, 0, 87, 0, 4, 0,218, 5, 7, 0,219, 5, 7, 0,220, 5,199, 0, 8, 0, 4, 0,221, 5, 4, 0,222, 5, 4, 0,223, 5,
- 4, 0,224, 5, 4, 0,225, 5, 4, 0,226, 5, 4, 0, 51, 0, 4, 0,120, 2,200, 0, 4, 0, 7, 0,227, 5, 0, 0,228, 5,
- 0, 0,229, 5, 2, 0, 17, 0,201, 0, 4, 0, 7, 0,230, 5, 4, 0, 17, 0, 4, 0,231, 5, 4, 0, 54, 0, 38, 0, 44, 0,
- 19, 0, 29, 0, 31, 0, 72, 0, 24, 0,110, 5,176, 0,232, 5, 38, 0,233, 5, 12, 0,234, 5,177, 0,235, 5, 24, 0,236, 5,
- 7, 0,237, 5, 7, 0,238, 5, 7, 0,239, 5, 7, 0,240, 5, 4, 0,133, 3, 4, 0,241, 5, 4, 0,242, 5, 4, 0,243, 5,
- 4, 0,244, 5, 2, 0, 17, 0, 2, 0, 65, 1, 53, 0, 60, 1,202, 0,245, 5,198, 0,246, 5,203, 0,247, 5,184, 0,176, 0,
- 182, 0,248, 5, 12, 0, 98, 0, 12, 0,249, 5, 9, 0,250, 5, 9, 0,251, 5, 9, 0,252, 5, 9, 0,253, 5,204, 0,254, 5,
- 2, 0,255, 5, 2, 0, 0, 6, 2, 0,243, 0, 2, 0, 1, 6, 4, 0, 2, 6, 4, 0, 3, 6, 12, 0, 4, 6,187, 0,104, 5,
- 188, 0, 5, 6,200, 0, 6, 6,159, 0,111, 3,201, 0, 7, 6,205, 0, 11, 0,205, 0, 0, 0,205, 0, 1, 0, 39, 0,234, 0,
- 37, 0, 59, 1, 7, 0, 85, 2, 7, 0, 86, 2, 7, 0,104, 0, 7, 0, 8, 6, 2, 0, 9, 6, 2, 0, 17, 0, 7, 0, 67, 0,
- 206, 0, 37, 0, 7, 0, 10, 6, 7, 0, 11, 6, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6, 7, 0, 15, 6, 7, 0, 16, 6,
- 7, 0, 17, 6, 7, 0, 18, 6, 7, 0, 78, 1, 7, 0, 19, 6, 7, 0, 20, 6, 7, 0, 21, 6, 7, 0, 22, 6, 7, 0,165, 0,
- 2, 0, 23, 6, 2, 0, 24, 6, 4, 0, 35, 0, 2, 0, 25, 6, 2, 0, 26, 6, 2, 0, 27, 6, 2, 0, 9, 6, 7, 0, 28, 6,
- 7, 0, 29, 6, 62, 0, 30, 6,159, 0,111, 3,206, 0, 31, 6,207, 0, 32, 6,208, 0, 33, 6,209, 0, 34, 6,210, 0, 35, 6,
- 7, 0, 36, 6, 2, 0, 37, 6, 2, 0, 38, 6, 7, 0, 39, 6, 7, 0, 40, 6, 7, 0, 41, 6,211, 0, 55, 0,212, 0, 0, 0,
- 212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 7, 0, 18, 6, 7, 0, 78, 1, 7, 0, 87, 0,
- 4, 0, 46, 6, 2, 0, 27, 6, 2, 0, 9, 6, 24, 0,110, 5, 24, 0, 47, 6, 12, 0, 48, 6,205, 0, 49, 6,211, 0, 31, 6,
- 0, 0, 50, 6, 4, 0,133, 3, 4, 0,241, 5, 2, 0, 51, 6, 2, 0, 52, 6, 2, 0, 53, 6, 2, 0, 54, 6, 2, 0,228, 1,
- 2, 0, 17, 0, 2, 0, 20, 2, 2, 0, 55, 6, 7, 0,109, 0, 7, 0, 56, 6, 7, 0, 39, 6, 7, 0, 57, 6, 7, 0, 58, 6,
- 7, 0,165, 0, 7, 0,237, 5, 2, 0, 59, 6, 2, 0, 37, 5, 2, 0, 60, 6, 2, 0, 61, 6, 2, 0, 62, 6, 2, 0, 63, 6,
- 2, 0, 64, 6, 2, 0, 65, 6, 2, 0, 66, 6, 2, 0, 24, 6, 12, 0, 67, 6, 12, 0, 68, 6, 12, 0, 69, 6, 2, 0, 70, 6,
- 2, 0,133, 2, 2, 0, 71, 6, 0, 0, 72, 6, 0, 0, 73, 6, 9, 0, 74, 6,159, 0,111, 3,213, 0, 24, 0, 16, 0, 34, 0,
- 16, 0, 61, 0, 15, 0, 75, 6, 15, 0, 76, 6, 15, 0, 77, 6, 7, 0, 78, 6, 7, 0, 79, 6, 7, 0, 80, 6, 7, 0, 81, 6,
- 2, 0, 82, 6, 2, 0, 83, 6, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 86, 6, 2, 0, 17, 0, 2, 0, 87, 6, 2, 0, 88, 6,
- 2, 0, 89, 6, 2, 0, 90, 6, 2, 0, 91, 6, 2, 0, 54, 6, 7, 0, 92, 6, 4, 0, 93, 6, 4, 0, 94, 6,212, 0, 6, 0,
- 212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 8, 0,212, 0, 0, 0,
- 212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 0, 0, 95, 6, 0, 0,175, 0,215, 0, 14, 0,
- 212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,213, 0, 96, 6,216, 0, 97, 6,
- 12, 0, 98, 6, 2, 0, 71, 1, 2, 0, 99, 6, 4, 0, 17, 0, 7, 0,100, 6, 4, 0, 54, 6,217, 0, 21, 0,212, 0, 0, 0,
- 212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,207, 0, 32, 6,213, 0, 96, 6, 2, 0,101, 6,
- 2, 0,102, 6, 2, 0,103, 6, 2, 0,104, 6, 2, 0, 87, 6, 2, 0,105, 6, 2, 0,106, 6, 0, 0, 17, 0, 0, 0, 35, 0,
- 9, 0, 61, 2, 4, 0,107, 6, 4, 0,108, 6, 19, 0,109, 6,218, 0, 18, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6,
- 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,213, 0, 96, 6, 7, 0, 85, 2, 7, 0, 86, 2, 2, 0,101, 6, 2, 0,110, 6,
- 2, 0,111, 6, 2, 0,112, 6, 4, 0, 17, 0, 7, 0,113, 6, 4, 0, 9, 6, 4, 0, 35, 0,159, 0,111, 3,219, 0, 16, 0,
- 0, 0,114, 6, 0, 0,115, 6, 0, 0,116, 6, 0, 0,117, 6, 0, 0,118, 6, 0, 0,119, 6, 4, 0,120, 6, 4, 0,121, 6,
- 4, 0,122, 6, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,123, 6, 2, 0,124, 6, 2, 0,171, 1, 2, 0,125, 6, 0, 0,126, 6,
- 220, 0, 16, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 4, 0,127, 6,219, 0,128, 6,221, 0,129, 6,
- 12, 0,130, 6, 12, 0,131, 6,222, 0,132, 6,210, 0,133, 6,223, 0,134, 6, 2, 0,135, 6, 2, 0,136, 6, 2, 0,137, 6,
- 2, 0, 67, 0,224, 0, 15, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,
- 213, 0, 96, 6, 12, 0,138, 6,225, 0,139, 6, 0, 0,140, 6,226, 0,141, 6, 2, 0, 17, 0, 2, 0,142, 6, 2, 0,143, 6,
- 2, 0,144, 6,227, 0, 25, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 4, 0, 17, 0, 39, 0,226, 2,
- 37, 0, 59, 1, 51, 0,145, 6,228, 0,146, 6,229, 0,147, 6,159, 0,111, 3, 7, 0,148, 6, 7, 0, 85, 2, 7, 0, 86, 2,
- 7, 0,113, 6, 7, 0,149, 6, 7, 0,150, 6, 2, 0,151, 6, 2, 0,152, 6, 2, 0,153, 6, 2, 0,154, 6, 0, 0,155, 6,
- 0, 0,156, 6, 0, 0,157, 6, 0, 0, 54, 6,230, 0, 11, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
- 7, 0, 44, 6, 2, 0, 45, 6, 2, 0, 99, 6, 2, 0, 17, 0, 4, 0, 35, 0,216, 0, 97, 6,213, 0, 96, 6,231, 0, 31, 0,
- 212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 34, 0,158, 6, 4, 0,159, 6,
- 4, 0,160, 6, 2, 0, 88, 0, 2, 0,161, 6, 2, 0,162, 6, 0, 0,163, 6, 0, 0,164, 6, 4, 0,165, 6, 4, 0,166, 6,
- 4, 0,167, 6, 2, 0,168, 6, 2, 0,169, 6, 2, 0,170, 6, 2, 0,171, 6, 7, 0,172, 6, 15, 0,173, 6, 15, 0,174, 6,
- 4, 0,175, 6, 4, 0,176, 6, 0, 0,177, 6, 0, 0,178, 6, 2, 0,179, 6, 0, 0,191, 2, 9, 0,180, 6,232, 0, 10, 0,
- 19, 0, 29, 0, 9, 0,181, 6, 9, 0,182, 6, 9, 0,183, 6, 9, 0,184, 6, 9, 0,185, 6, 4, 0, 88, 0, 4, 0,186, 6,
- 0, 0,187, 6, 0, 0,188, 6,233, 0, 10, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6,
- 232, 0,189, 6, 2, 0, 88, 0, 2, 0,161, 6, 4, 0, 87, 0, 9, 0,190, 6,234, 0, 3, 0,234, 0, 0, 0,234, 0, 1, 0,
- 7, 0,191, 6,235, 0, 11, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6,213, 0, 96, 6,
- 12, 0,192, 6, 4, 0,193, 6, 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,194, 6,236, 0, 26, 0,212, 0, 0, 0,212, 0, 1, 0,
- 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,213, 0, 96, 6, 19, 0,195, 6, 19, 0, 78, 0, 2, 0, 17, 0,
- 2, 0,161, 6, 7, 0,196, 6, 9, 0,197, 6, 7, 0, 85, 2, 7, 0, 86, 2, 7, 0,113, 6, 7, 0, 41, 6, 7, 0,198, 6,
- 7, 0,199, 6, 53, 0, 60, 1, 53, 0,200, 6, 4, 0,201, 6, 2, 0,202, 6, 2, 0,243, 0, 12, 0,203, 6,159, 0,111, 3,
- 237, 0, 10, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 2, 0, 17, 0,
- 2, 0,142, 3, 4, 0, 35, 0,159, 0,111, 3,238, 0, 42, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
- 7, 0, 44, 6, 2, 0, 45, 6,213, 0, 96, 6,221, 0,129, 6, 0, 0,204, 6, 0, 0,115, 6, 0, 0,116, 6, 2, 0, 15, 0,
- 2, 0,205, 6, 2, 0, 17, 0, 2, 0,123, 6, 9, 0,197, 6, 4, 0,120, 6, 4, 0,206, 6, 4, 0,207, 6, 4, 0,208, 6,
- 15, 0,209, 6, 15, 0,210, 6, 7, 0,211, 6, 7, 0,212, 6, 7, 0,213, 6, 7, 0,196, 6, 2, 0,214, 6, 2, 0,233, 0,
- 2, 0,171, 1, 2, 0,215, 6, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,216, 6, 2, 0,217, 6, 9, 0,218, 6, 9, 0,219, 6,
- 9, 0,220, 6, 9, 0,221, 6, 9, 0,222, 6, 2, 0,223, 6, 0, 0,224, 6, 49, 0,225, 6,239, 0, 7, 0,239, 0, 0, 0,
- 239, 0, 1, 0, 4, 0,226, 6, 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,227, 6, 4, 0, 15, 0,240, 0, 14, 0,212, 0, 0, 0,
- 212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 4, 0,162, 6, 4, 0, 35, 0, 12, 0,228, 6,
- 12, 0,229, 6, 0, 0,230, 6, 0, 0,231, 6, 4, 0,232, 6, 4, 0,233, 6,241, 0, 6, 0,212, 0, 0, 0,212, 0, 1, 0,
- 12, 0, 42, 6, 4, 0, 43, 6, 4, 0, 35, 0, 0, 0,234, 6,242, 0, 15, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6,
- 4, 0, 43, 6, 7, 0, 44, 6,243, 0,235, 6,213, 0, 96, 6,244, 0,236, 6, 2, 0, 71, 1, 2, 0,237, 6, 2, 0, 85, 2,
- 2, 0, 86, 2, 2, 0, 17, 0, 2, 0,153, 6, 4, 0, 67, 0,245, 0, 7, 0,245, 0, 0, 0,245, 0, 1, 0, 0, 0,238, 6,
- 2, 0,239, 6, 2, 0,240, 6, 2, 0,241, 6, 2, 0, 35, 0,246, 0, 12, 0, 2, 0,240, 6, 2, 0,242, 6, 2, 0,243, 6,
- 0, 0,191, 2, 2, 0,244, 6, 2, 0,245, 6, 2, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0, 87, 6, 7, 0,249, 6,
- 7, 0,250, 6,247, 0, 18, 0,247, 0, 0, 0,247, 0, 1, 0, 0, 0, 1, 4,246, 0,251, 6,246, 0,252, 6,246, 0,253, 6,
- 246, 0,254, 6, 7, 0,255, 6, 2, 0, 0, 7, 2, 0, 1, 7, 2, 0, 2, 7, 2, 0, 3, 7, 2, 0, 4, 7, 2, 0, 5, 7,
- 2, 0, 6, 7, 2, 0, 7, 7, 2, 0, 8, 7, 2, 0, 9, 7,248, 0, 10, 0, 0, 0, 10, 7, 0, 0, 11, 7, 0, 0, 12, 7,
- 0, 0, 13, 7, 0, 0, 14, 7, 0, 0, 15, 7, 2, 0, 16, 7, 2, 0, 17, 7, 2, 0, 18, 7, 2, 0, 19, 7,249, 0, 8, 0,
- 0, 0, 20, 7, 0, 0, 21, 7, 0, 0, 22, 7, 0, 0, 23, 7, 0, 0, 24, 7, 0, 0, 25, 7, 7, 0, 8, 6, 7, 0, 35, 0,
- 250, 0, 18, 0,248, 0, 26, 7,248, 0, 27, 7,248, 0, 28, 7,248, 0, 29, 7,248, 0, 30, 7,248, 0, 31, 7,248, 0, 32, 7,
- 248, 0, 33, 7,248, 0, 34, 7,248, 0, 35, 7,248, 0, 36, 7,248, 0, 37, 7,248, 0, 38, 7,248, 0, 39, 7,248, 0, 40, 7,
- 248, 0, 41, 7,249, 0, 42, 7, 0, 0, 43, 7,251, 0, 97, 0, 0, 0, 44, 7, 0, 0, 45, 7, 0, 0, 14, 7, 0, 0, 46, 7,
- 0, 0, 47, 7, 0, 0, 48, 7, 0, 0, 49, 7, 0, 0, 50, 7, 0, 0, 51, 7, 0, 0, 52, 7, 0, 0, 53, 7, 0, 0, 54, 7,
- 0, 0, 55, 7, 0, 0, 56, 7, 0, 0, 57, 7, 0, 0, 58, 7, 0, 0, 59, 7, 0, 0, 60, 7, 0, 0, 61, 7, 0, 0, 62, 7,
- 0, 0, 63, 7, 0, 0, 64, 7, 0, 0, 65, 7, 0, 0, 66, 7, 0, 0, 67, 7, 0, 0, 68, 7, 0, 0, 69, 7, 0, 0, 70, 7,
- 0, 0, 71, 7, 0, 0, 72, 7, 0, 0, 73, 7, 0, 0, 74, 7, 0, 0, 75, 7, 0, 0, 76, 7, 0, 0, 77, 7, 0, 0, 78, 7,
- 0, 0, 79, 7, 0, 0, 80, 7, 0, 0, 81, 7, 0, 0, 82, 7, 0, 0, 83, 7, 0, 0, 84, 7, 0, 0, 85, 7, 0, 0, 86, 7,
- 0, 0, 87, 7, 0, 0, 88, 7, 0, 0, 89, 7, 0, 0, 90, 7, 0, 0, 91, 7, 0, 0, 92, 7, 0, 0, 93, 7, 0, 0, 94, 7,
- 0, 0, 95, 7, 0, 0, 96, 7, 0, 0, 97, 7, 0, 0, 98, 7, 0, 0, 99, 7, 0, 0,100, 7, 0, 0,101, 7, 0, 0,102, 7,
- 0, 0,103, 7, 0, 0,104, 7, 0, 0,105, 7, 0, 0,106, 7, 0, 0,107, 7, 0, 0,108, 7, 0, 0,109, 7, 0, 0,110, 7,
- 0, 0,111, 7, 0, 0,112, 7, 0, 0,113, 7, 0, 0,114, 7, 0, 0,115, 7, 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7,
- 0, 0,119, 7, 0, 0,120, 7, 0, 0,121, 7, 0, 0,122, 7, 0, 0,123, 7, 0, 0,124, 7, 0, 0,125, 7, 0, 0,126, 7,
- 0, 0,127, 7, 0, 0,128, 7, 0, 0,129, 7, 0, 0,130, 7, 0, 0,131, 7, 0, 0,132, 7, 0, 0,133, 7, 0, 0,134, 7,
- 0, 0,135, 7, 0, 0,136, 7, 0, 0,137, 7, 0, 0,138, 7, 0, 0,139, 7,252, 0, 5, 0, 0, 0,140, 7, 0, 0, 68, 7,
- 0, 0, 70, 7, 2, 0, 17, 0, 2, 0, 35, 0,253, 0, 25, 0,253, 0, 0, 0,253, 0, 1, 0, 0, 0, 18, 0,250, 0,141, 7,
- 251, 0,142, 7,251, 0,143, 7,251, 0,144, 7,251, 0,145, 7,251, 0,146, 7,251, 0,147, 7,251, 0,148, 7,251, 0,149, 7,
- 251, 0,150, 7,251, 0,151, 7,251, 0,152, 7,251, 0,153, 7,251, 0,154, 7,251, 0,155, 7,251, 0,156, 7,251, 0,157, 7,
- 251, 0,158, 7,251, 0,159, 7,252, 0,160, 7, 4, 0,161, 7, 4, 0, 35, 0,254, 0, 3, 0,254, 0, 0, 0,254, 0, 1, 0,
- 0, 0,162, 7,255, 0, 5, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,132, 2, 7, 0,163, 7, 7, 0, 35, 2, 0, 1, 90, 0,
- 4, 0, 17, 0, 4, 0,164, 7, 4, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7, 0, 0,168, 7, 0, 0,169, 7, 0, 0,170, 7,
- 0, 0,171, 7, 0, 0,172, 7, 0, 0,173, 7, 0, 0,174, 7, 0, 0,175, 7, 4, 0,176, 7, 2, 0,177, 7, 2, 0,178, 7,
- 2, 0,179, 7, 2, 0,180, 7, 4, 0,181, 7, 4, 0,182, 7, 4, 0,183, 7, 4, 0,184, 7, 2, 0,185, 7, 2, 0,186, 7,
- 4, 0,187, 7, 4, 0,188, 7, 4, 0,189, 7, 4, 0,190, 7, 4, 0,191, 7, 4, 0,228, 6, 4, 0,192, 7, 2, 0,193, 7,
- 2, 0,194, 7, 2, 0,195, 7, 2, 0,196, 7, 12, 0,197, 7, 12, 0,198, 7, 12, 0,199, 7, 12, 0,200, 7, 12, 0,201, 7,
- 0, 0,202, 7, 2, 0,203, 7, 2, 0,204, 7, 2, 0,205, 7, 2, 0,206, 7, 2, 0,207, 7, 2, 0,208, 7, 2, 0,209, 7,
- 2, 0,210, 7,255, 0,211, 7, 2, 0,212, 7, 2, 0,213, 7, 2, 0,214, 7, 2, 0,215, 7, 2, 0,216, 7, 2, 0,217, 7,
- 2, 0,218, 7, 2, 0,219, 7, 4, 0,220, 7, 4, 0,221, 7, 2, 0,222, 7, 2, 0,223, 7, 2, 0,224, 7, 2, 0,225, 7,
- 2, 0,226, 7, 2, 0,227, 7, 2, 0,228, 7, 2, 0,229, 7, 2, 0,230, 7, 2, 0,231, 7, 2, 0,232, 7, 2, 0,233, 7,
- 2, 0,234, 7, 2, 0,235, 7, 2, 0,236, 7, 2, 0,237, 7, 2, 0,238, 7, 2, 0,194, 4, 0, 0,239, 7, 0, 0,240, 7,
- 7, 0,241, 7, 2, 0,176, 5, 2, 0,177, 5, 2, 0,242, 7, 2, 0,243, 7, 7, 0,221, 2, 47, 0,244, 7, 7, 0,245, 7,
- 4, 0,246, 7, 0, 0,247, 7, 1, 1, 24, 0, 19, 0, 29, 0, 12, 0,248, 7, 12, 0,249, 7, 12, 0,250, 7, 12, 0, 42, 6,
- 38, 0,116, 0, 38, 0,251, 7, 4, 0,252, 7, 4, 0, 87, 0, 2, 0,253, 7, 2, 0,254, 7, 2, 0,255, 7, 2, 0, 0, 8,
- 2, 0, 1, 8, 2, 0, 2, 8, 2, 0, 3, 8, 2, 0, 4, 8, 2, 0, 5, 8, 2, 0, 6, 8, 2, 0, 7, 8, 2, 0, 35, 0,
- 210, 0, 8, 8, 9, 0, 9, 8, 2, 0, 10, 8, 2, 1, 5, 0, 2, 1, 0, 0, 2, 1, 1, 0, 2, 1, 11, 8, 13, 0, 12, 8,
- 4, 0, 17, 0, 3, 1, 7, 0, 3, 1, 0, 0, 3, 1, 1, 0, 2, 1, 13, 8, 2, 1, 14, 8, 2, 0, 43, 5, 2, 0, 17, 0,
- 4, 0, 35, 0, 4, 1, 25, 0, 4, 1, 0, 0, 4, 1, 1, 0, 5, 1, 15, 8, 6, 1,134, 6, 0, 0, 16, 8, 0, 0, 17, 8,
- 0, 0, 18, 8, 2, 0, 19, 8, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0, 22, 8, 2, 0, 23, 8, 2, 0, 35, 0, 2, 0, 17, 0,
- 2, 0, 24, 8, 2, 0, 25, 8, 2, 0, 26, 8, 4, 0, 27, 8, 4, 1, 28, 8, 9, 0, 29, 8, 4, 0, 30, 8, 4, 0, 31, 8,
- 4, 0, 32, 8, 4, 0, 33, 8, 0, 0, 34, 8,243, 0, 22, 0,243, 0, 0, 0,243, 0, 1, 0, 2, 1, 13, 8, 2, 1, 14, 8,
- 2, 1, 35, 8, 2, 1, 36, 8, 1, 1, 37, 8, 15, 0, 49, 0, 0, 0, 43, 6, 0, 0, 38, 8, 2, 0, 88, 6, 2, 0, 89, 6,
- 2, 0, 39, 8, 2, 0, 35, 0, 2, 0, 1, 8, 2, 0,227, 6, 2, 0, 17, 0, 7, 1, 15, 8, 12, 0, 40, 8, 12, 0, 42, 6,
- 12, 0, 41, 8, 12, 0, 42, 8, 8, 1, 24, 0, 8, 1, 0, 0, 8, 1, 1, 0,213, 0, 96, 6, 15, 0, 43, 8, 15, 0, 44, 8,
- 2, 0, 88, 6, 2, 0, 89, 6, 2, 0, 45, 8, 2, 0, 46, 8, 2, 0, 47, 8, 2, 0, 17, 0, 7, 0, 81, 2, 2, 0, 21, 8,
- 2, 0, 22, 8, 2, 0, 0, 8, 2, 0, 48, 8, 2, 0, 5, 8, 2, 0,194, 4, 9, 1, 15, 8, 12, 0, 49, 8, 12, 0, 50, 8,
- 12, 0, 41, 8, 0, 0, 51, 8, 9, 0, 52, 8, 10, 1, 14, 0, 0, 0, 53, 8, 2, 0, 54, 8, 2, 0, 55, 8, 2, 0, 56, 8,
- 2, 0, 57, 8, 2, 0, 29, 5, 2, 0, 24, 5, 1, 1, 58, 8, 38, 0, 59, 8, 4, 0, 60, 8, 4, 0, 61, 8, 4, 0, 62, 8,
- 4, 0, 35, 0, 0, 0, 63, 8, 11, 1, 3, 0, 0, 0, 64, 8, 4, 0, 65, 8, 4, 0, 66, 8, 12, 1, 4, 0, 4, 0,159, 6,
- 4, 0, 67, 8, 4, 0,165, 6, 4, 0, 68, 8, 13, 1, 2, 0, 4, 0, 69, 8, 4, 0, 70, 8, 14, 1, 5, 0, 7, 0, 71, 8,
- 7, 0, 72, 8, 7, 0, 73, 8, 4, 0, 17, 0, 4, 0, 35, 0, 15, 1, 6, 0, 0, 0, 74, 8, 0, 0,116, 6, 41, 0,129, 0,
- 2, 0,104, 0, 2, 0, 28, 5, 4, 0, 35, 0, 16, 1, 14, 0, 16, 1, 0, 0, 16, 1, 1, 0, 4, 0, 54, 0, 4, 0, 21, 0,
- 4, 0, 26, 0, 4, 0, 75, 8, 4, 0, 76, 8, 4, 0, 77, 8, 11, 1, 78, 8, 0, 0, 74, 8, 15, 1,105, 3, 12, 1, 79, 8,
- 13, 1, 80, 8, 14, 1, 81, 8, 17, 1, 12, 0, 0, 0,252, 1, 9, 0,219, 0, 0, 0,220, 0, 4, 0,223, 0, 4, 0,231, 0,
- 9, 0,224, 0, 7, 0,226, 0, 7, 0,227, 0, 9, 0, 82, 8, 9, 0, 83, 8, 9, 0,228, 0, 9, 0,230, 0, 18, 1, 48, 0,
- 18, 1, 0, 0, 18, 1, 1, 0, 9, 0, 84, 8, 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0, 4, 0, 21, 0,
- 4, 0, 85, 0, 4, 0, 85, 8, 4, 0, 86, 8, 4, 0, 76, 8, 4, 0, 77, 8, 4, 0, 87, 8, 4, 0,242, 0, 4, 0, 88, 8,
- 4, 0, 89, 8, 7, 0, 90, 8, 7, 0, 35, 0, 7, 0, 91, 8, 7, 0, 92, 8, 4, 0,120, 0, 4, 0, 93, 8, 16, 1, 94, 8,
- 28, 0, 77, 0, 38, 0,116, 0, 24, 0, 95, 8, 41, 0,129, 0, 7, 0, 96, 8, 7, 0, 97, 8, 17, 1, 61, 1, 18, 1, 98, 8,
- 18, 1, 99, 8, 18, 1,100, 8, 12, 0,101, 8,244, 0,236, 6, 9, 0,102, 8, 7, 0, 11, 4, 7, 0,103, 8, 7, 0,104, 8,
- 4, 0,105, 8, 4, 0,106, 8, 7, 0,107, 8, 9, 0,108, 8, 4, 0,109, 8, 4, 0,110, 8, 4, 0,111, 8, 7, 0,112, 8,
- 19, 1, 4, 0, 19, 1, 0, 0, 19, 1, 1, 0, 12, 0,113, 8, 18, 1,114, 8,202, 0, 11, 0, 12, 0,115, 8, 12, 0,101, 8,
- 12, 0,116, 8, 18, 1,117, 8, 0, 0,118, 8, 0, 0,119, 8, 4, 0,120, 8, 4, 0,121, 8, 4, 0,122, 8, 4, 0, 35, 0,
- 16, 0,123, 8, 20, 1, 4, 0, 7, 0,124, 8, 7, 0, 75, 3, 2, 0,125, 8, 2, 0,126, 8, 21, 1, 6, 0, 7, 0,127, 8,
- 7, 0,128, 8, 7, 0,129, 8, 7, 0,130, 8, 4, 0,131, 8, 4, 0,132, 8, 22, 1, 13, 0, 7, 0,133, 8, 7, 0,134, 8,
- 7, 0,135, 8, 7, 0,136, 8, 7, 0,137, 8, 7, 0,138, 8, 7, 0,139, 8, 7, 0,140, 8, 7, 0,141, 8, 7, 0,142, 8,
- 4, 0,232, 2, 4, 0,143, 8, 4, 0,144, 8, 23, 1, 2, 0, 7, 0,102, 5, 7, 0, 35, 0, 24, 1, 5, 0, 7, 0,145, 8,
- 7, 0,146, 8, 4, 0, 88, 0, 4, 0,192, 2, 4, 0,147, 8, 25, 1, 6, 0, 25, 1, 0, 0, 25, 1, 1, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,148, 8, 2, 0, 54, 0, 26, 1, 8, 0, 26, 1, 0, 0, 26, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0,
- 2, 0,148, 8, 2, 0, 54, 0, 7, 0, 21, 0, 7, 0,120, 0, 27, 1, 45, 0, 27, 1, 0, 0, 27, 1, 1, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,148, 8, 2, 0,238, 0, 2, 0, 53, 4, 2, 0,149, 8, 7, 0,150, 8, 7, 0, 86, 0, 7, 0,245, 2,
- 4, 0,151, 8, 4, 0, 79, 0, 4, 0,194, 2, 7, 0,152, 8, 7, 0,153, 8, 7, 0,154, 8, 7, 0,155, 8, 7, 0,156, 8,
- 7, 0,157, 8, 7, 0,242, 2, 7, 0, 58, 1, 7, 0,158, 8, 7, 0,159, 8, 7, 0, 35, 0, 7, 0,160, 8, 7, 0,161, 8,
- 7, 0,162, 8, 2, 0,163, 8, 2, 0,164, 8, 2, 0,165, 8, 2, 0,166, 8, 2, 0,167, 8, 2, 0,168, 8, 2, 0,169, 8,
- 2, 0,170, 8, 2, 0, 20, 2, 2, 0,171, 8, 2, 0, 17, 2, 2, 0,172, 8, 0, 0,173, 8, 0, 0,174, 8, 7, 0,236, 0,
- 28, 1,175, 8, 58, 0,231, 1, 29, 1, 16, 0, 29, 1, 0, 0, 29, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,148, 8,
- 2, 0,238, 0, 7, 0,237, 2, 7, 0,238, 2, 7, 0,239, 2, 7, 0, 70, 2, 7, 0,240, 2, 7, 0,241, 2, 7, 0,176, 8,
- 7, 0,242, 2, 7, 0,244, 2, 7, 0,245, 2,226, 0, 5, 0, 2, 0, 15, 0, 2, 0,177, 8, 2, 0, 17, 0, 2, 0,178, 8,
- 19, 0,195, 6,225, 0, 3, 0, 4, 0, 66, 0, 4, 0,179, 8,226, 0, 2, 0, 30, 1, 7, 0, 30, 1, 0, 0, 30, 1, 1, 0,
- 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 20, 0, 9, 0,180, 8, 31, 1, 5, 0, 0, 0, 18, 0, 7, 0, 78, 1,
- 7, 0,181, 8, 4, 0,182, 8, 4, 0, 35, 0, 32, 1, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 0,
- 33, 1, 4, 0, 0, 0, 18, 0, 57, 0,183, 8, 7, 0, 78, 1, 7, 0, 35, 0, 34, 1, 6, 0, 2, 0,184, 8, 2, 0,185, 8,
- 2, 0, 15, 0, 2, 0,186, 8, 0, 0,187, 8, 0, 0,188, 8, 35, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0,
- 0, 0,189, 8, 0, 0,190, 8, 36, 1, 3, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 37, 1, 4, 0, 2, 0,191, 8,
- 2, 0,192, 8, 2, 0, 17, 0, 2, 0, 35, 0, 38, 1, 6, 0, 0, 0, 18, 0, 0, 0,193, 8, 2, 0,194, 8, 2, 0,242, 2,
- 2, 0, 71, 1, 2, 0, 67, 0, 39, 1, 5, 0, 0, 0, 18, 0, 7, 0, 75, 3, 7, 0,144, 4, 2, 0, 17, 0, 2, 0,206, 2,
- 40, 1, 3, 0, 0, 0, 18, 0, 4, 0,194, 2, 4, 0,191, 8, 41, 1, 7, 0, 0, 0, 18, 0, 7, 0,144, 4, 0, 0,195, 8,
- 0, 0,196, 8, 2, 0, 71, 1, 2, 0, 87, 0, 4, 0,197, 8, 42, 1, 4, 0, 0, 0,198, 8, 0, 0,199, 8, 4, 0, 15, 0,
- 7, 0,210, 2, 43, 1, 3, 0, 24, 0,200, 8, 0, 0,201, 8, 0, 0,202, 8, 44, 1, 18, 0, 44, 1, 0, 0, 44, 1, 1, 0,
- 2, 0, 15, 0, 2, 0,203, 8, 2, 0, 17, 0, 2, 0,204, 8, 2, 0,205, 8, 2, 0,206, 8, 2, 0, 87, 0, 2, 0, 67, 0,
- 0, 0, 18, 0, 9, 0, 2, 0, 45, 1,207, 8, 24, 0, 42, 0, 2, 0,119, 5, 2, 0,103, 8, 2, 0,208, 8, 2, 0, 35, 0,
- 46, 1, 11, 0, 0, 0, 18, 0, 0, 0, 15, 0, 0, 0,209, 8, 2, 0, 17, 0, 2, 0,206, 2, 2, 0,210, 8, 4, 0,211, 8,
- 4, 0,212, 8, 4, 0,213, 8, 4, 0,214, 8, 4, 0,215, 8, 47, 1, 1, 0, 0, 0,216, 8, 48, 1, 4, 0, 34, 0,158, 6,
- 0, 0,162, 7, 4, 0, 71, 1, 4, 0, 17, 0, 45, 1, 18, 0, 45, 1, 0, 0, 45, 1, 1, 0, 45, 1,217, 8, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,218, 8, 2, 0,206, 8, 2, 0,203, 8, 2, 0,219, 8, 2, 0, 67, 0, 2, 0,228, 1, 0, 0, 18, 0,
- 9, 0, 2, 0, 49, 1,207, 8, 44, 1,220, 8, 2, 0, 13, 0, 2, 0,221, 8, 4, 0,222, 8, 50, 1, 3, 0, 4, 0,220, 2,
- 4, 0, 35, 0, 24, 0, 42, 0, 51, 1, 12, 0,157, 0,223, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,150, 8, 7, 0, 86, 0,
- 0, 0, 18, 0, 0, 0,224, 8, 2, 0,225, 8, 2, 0,226, 8, 2, 0,227, 8, 2, 0,228, 8, 7, 0,229, 8, 52, 1, 8, 0,
- 7, 0,230, 8, 7, 0,231, 8, 7, 0,232, 8, 7, 0,233, 8, 7, 0,234, 8, 7, 0,235, 8, 7, 0,236, 8, 7, 0,237, 8,
- 53, 1, 13, 0, 2, 0, 17, 0, 2, 0,237, 6, 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,238, 8, 7, 0, 11, 4, 7, 0,239, 8,
- 244, 0,236, 6, 52, 1,240, 8, 2, 0, 15, 0, 2, 0, 37, 5, 2, 0, 2, 6, 2, 0,241, 8, 54, 1, 11, 0, 4, 0,220, 2,
- 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0, 73, 0,242, 8, 0, 0, 18, 0, 7, 0,243, 8, 7, 0,244, 8, 7, 0,150, 3,
- 2, 0,245, 8, 2, 0,246, 8, 55, 1, 5, 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,116, 0, 24, 0,110, 5,
- 56, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0,189, 8, 24, 0, 42, 0, 57, 1, 13, 0, 2, 0, 17, 0,
- 2, 0, 15, 0, 2, 0,203, 8, 2, 0,151, 3, 7, 0,247, 8, 7, 0,248, 8, 7, 0,194, 4, 7, 0,163, 3, 7, 0,121, 3,
- 7, 0,124, 3, 7, 0,249, 8, 7, 0,250, 8, 24, 0,251, 8, 58, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, 7, 0,150, 8,
- 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,224, 8, 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,228, 1, 2, 0, 37, 5, 59, 1, 8, 0,
- 24, 0, 42, 0, 7, 0,239, 2, 7, 0,252, 8, 7, 0,253, 8, 7, 0, 35, 0, 2, 0, 87, 0, 2, 0,206, 2, 7, 0, 67, 0,
- 60, 1, 12, 0, 2, 0, 15, 0, 2, 0, 71, 1, 2, 0, 17, 0, 2, 0,242, 2, 2, 0,220, 2, 2, 0,254, 8, 4, 0, 35, 0,
- 7, 0,255, 8, 7, 0, 0, 9, 7, 0, 1, 9, 7, 0, 2, 9, 0, 0, 3, 9, 61, 1, 9, 0, 2, 0, 17, 0, 2, 0, 15, 0,
- 4, 0,150, 8, 4, 0, 86, 0, 0, 0, 18, 0, 2, 0,194, 4, 2, 0, 61, 0, 2, 0, 4, 9, 2, 0, 5, 9, 62, 1, 7, 0,
- 4, 0,194, 2, 4, 0, 6, 9, 4, 0, 7, 9, 4, 0, 8, 9, 7, 0, 9, 9, 7, 0, 10, 9, 0, 0,195, 8, 63, 1, 7, 0,
- 0, 0, 11, 9, 24, 0, 12, 9, 0, 0,201, 8, 2, 0, 13, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,202, 8, 64, 1, 6, 0,
- 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,150, 8, 4, 0, 86, 0, 0, 0, 14, 9, 0, 0, 15, 9, 65, 1, 1, 0, 4, 0, 17, 0,
- 66, 1, 6, 0, 0, 0, 90, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 16, 9, 7, 0, 17, 9, 34, 0,158, 6, 67, 1, 4, 0,
- 0, 0,158, 2, 2, 0, 17, 0, 4, 0, 15, 0, 24, 0, 42, 0, 68, 1, 2, 0, 4, 0, 15, 0, 4, 0, 77, 6, 69, 1, 6, 0,
- 0, 0,198, 8, 0, 0,199, 8, 4, 0, 15, 0, 7, 0, 28, 2, 24, 0, 52, 3, 24, 0, 18, 9, 49, 1, 10, 0, 49, 1, 0, 0,
- 49, 1, 1, 0, 49, 1,217, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,203, 8, 2, 0, 19, 9, 0, 0, 18, 0, 9, 0, 2, 0,
- 24, 0, 42, 0,244, 0, 16, 0, 19, 0, 29, 0, 0, 0, 32, 0, 35, 0,144, 0, 9, 0,219, 0, 35, 0, 20, 9, 28, 0, 77, 0,
- 7, 0, 11, 4, 7, 0, 21, 9, 7, 0,239, 8, 7, 0,230, 8, 7, 0,231, 8, 7, 0, 22, 9, 4, 0, 88, 0, 4, 0, 35, 0,
- 9, 0, 23, 9, 9, 0, 24, 9, 70, 1, 6, 0, 70, 1, 0, 0, 70, 1, 1, 0, 24, 0, 42, 0, 9, 0, 25, 9, 2, 0,243, 0,
- 0, 0,191, 2, 58, 0, 4, 0, 19, 0, 29, 0, 12, 0, 26, 9, 4, 0,125, 0, 7, 0, 27, 9, 71, 1, 28, 0, 71, 1, 0, 0,
- 71, 1, 1, 0, 18, 0, 28, 9, 71, 1, 36, 0, 12, 0, 29, 9, 0, 0, 18, 0, 7, 0, 30, 9, 7, 0, 31, 9, 7, 0, 32, 9,
- 7, 0, 33, 9, 4, 0, 17, 0, 7, 0, 34, 9, 7, 0, 35, 9, 7, 0, 36, 9, 7, 0, 37, 9, 7, 0, 78, 1, 7, 0, 28, 2,
- 7, 0, 38, 9, 7, 0,192, 2, 7, 0, 39, 9, 7, 0, 40, 9, 7, 0, 41, 9, 7, 0, 42, 9, 7, 0, 43, 9, 7, 0,166, 0,
- 4, 0,125, 0, 2, 0,156, 5, 2, 0, 9, 7, 72, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 44, 9, 12, 0, 45, 9,
- 12, 0, 46, 9, 71, 1, 47, 9, 9, 0, 48, 9, 9, 0, 49, 9, 4, 0, 17, 0, 4, 0, 51, 6, 2, 0,246, 2, 2, 0,107, 6,
- 4, 0, 50, 9, 4, 0,125, 0, 4, 0, 51, 9, 2, 0, 52, 9, 2, 0, 53, 9, 2, 0, 54, 9, 2, 0, 55, 9, 4, 0, 56, 9,
- 4, 0, 57, 9, 4, 0, 58, 9, 4, 0, 59, 9, 4, 0, 60, 9, 4, 0, 61, 9, 73, 1, 2, 0, 7, 0,146, 2, 4, 0, 17, 0,
- 161, 0, 5, 0, 73, 1, 62, 9, 4, 0,192, 2, 4, 0, 63, 9, 4, 0, 64, 9, 4, 0, 17, 0,160, 0, 16, 0, 4, 0, 65, 9,
- 4, 0, 66, 9, 4, 0, 67, 9, 4, 0, 68, 9, 2, 0, 69, 9, 2, 0, 70, 9, 2, 0, 71, 9, 2, 0,243, 0, 2, 0, 72, 9,
- 2, 0, 73, 9, 2, 0, 74, 9, 2, 0, 75, 9, 4, 0, 76, 9, 4, 0, 77, 9, 4, 0, 78, 9, 4, 0, 79, 9, 74, 1, 41, 0,
- 74, 1, 0, 0, 74, 1, 1, 0, 18, 0, 28, 9, 12, 0,177, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 80, 9, 2, 0, 81, 9,
- 2, 0, 82, 9, 2, 0,136, 3, 2, 0, 83, 9, 4, 0, 68, 2, 4, 0, 58, 9, 4, 0, 59, 9, 71, 1, 84, 9, 74, 1, 36, 0,
- 74, 1, 85, 9, 12, 0, 86, 9,161, 0,113, 3, 24, 0, 87, 9, 74, 1, 88, 9, 7, 0, 66, 1, 7, 0,166, 0, 7, 0, 89, 9,
- 7, 0, 7, 2, 7, 0,126, 3, 7, 0,128, 3, 2, 0,159, 3, 2, 0, 35, 0, 7, 0, 90, 9, 7, 0, 91, 9, 7, 0,131, 3,
- 7, 0, 92, 9, 7, 0, 93, 9, 7, 0, 94, 9, 7, 0, 95, 9, 7, 0, 96, 9, 7, 0, 97, 9, 7, 0, 98, 9, 7, 0, 99, 9,
- 7, 0, 61, 2,158, 0, 16, 0, 12, 0,100, 9, 68, 0,101, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0,102, 9, 4, 0, 87, 0,
- 7, 0, 97, 2, 7, 0,103, 9, 7, 0,104, 9, 12, 0,105, 9, 4, 0,106, 9, 4, 0,107, 9, 9, 0,108, 9, 9, 0,109, 9,
- 160, 0,112, 3, 0, 0,110, 9, 75, 1, 1, 0, 4, 0,107, 9, 76, 1, 12, 0, 4, 0,107, 9, 7, 0,215, 8, 2, 0,111, 9,
- 2, 0,112, 9, 7, 0,113, 9, 7, 0,114, 9, 2, 0,115, 9, 2, 0, 17, 0, 7, 0,116, 9, 7, 0,117, 9, 7, 0,118, 9,
- 7, 0,119, 9, 77, 1, 7, 0, 77, 1, 0, 0, 77, 1, 1, 0, 12, 0,120, 9, 4, 0, 17, 0, 4, 0,121, 9, 0, 0, 1, 4,
- 252, 0,122, 9,157, 0, 9, 0, 19, 0, 29, 0, 12, 0,123, 9, 12, 0,100, 9, 12, 0,124, 9, 12, 0, 98, 0, 4, 0, 17, 0,
- 4, 0,125, 9, 4, 0,126, 9, 4, 0, 35, 0,216, 0, 6, 0, 19, 0,127, 9, 12, 0,100, 9, 58, 0,128, 9, 0, 0,129, 9,
- 4, 0,130, 9, 4, 0, 17, 0, 78, 1, 13, 0,212, 0, 0, 0,212, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6,
- 2, 0, 45, 6,213, 0, 96, 6,157, 0,108, 3,216, 0,131, 9, 0, 0, 71, 1, 0, 0, 99, 6, 2, 0, 17, 0, 7, 0,132, 9,
- 79, 1, 8, 0, 79, 1, 0, 0, 79, 1, 1, 0, 77, 1,133, 9, 28, 0, 77, 0, 12, 0,114, 3, 4, 0, 17, 0, 0, 0, 18, 0,
- 4, 0,254, 7, 80, 1, 5, 0, 80, 1, 0, 0, 80, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,134, 9, 81, 1, 14, 0,
- 81, 1, 0, 0, 81, 1, 1, 0, 9, 0, 2, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,135, 9, 0, 0,136, 9, 0, 0,134, 9,
- 7, 0,137, 9, 7, 0,138, 9, 4, 0, 35, 0, 28, 0, 77, 0, 7, 0,139, 9, 7, 0,140, 9, 82, 1, 9, 0, 82, 1, 0, 0,
- 82, 1, 1, 0, 24, 0,141, 9, 0, 0,249, 2, 7, 0,142, 9, 2, 0,143, 9, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,144, 9,
- 83, 1, 7, 0, 34, 0,158, 6, 18, 0, 28, 9, 4, 0, 17, 0, 4, 0,145, 9, 12, 0,146, 9, 24, 0,141, 9, 0, 0,249, 2,
- 84, 1, 15, 0, 24, 0,141, 9, 2, 0,147, 9, 2, 0, 17, 0, 2, 0,148, 9, 2, 0,149, 9, 0, 0,249, 2, 24, 0,150, 9,
- 0, 0,151, 9, 7, 0,152, 9, 7, 0, 28, 2, 7, 0,153, 9, 7, 0,154, 9, 2, 0, 15, 0, 2, 0, 71, 1, 7, 0, 78, 1,
- 85, 1, 6, 0, 24, 0,141, 9, 7, 0, 62, 9, 2, 0,155, 9, 2, 0,156, 9, 2, 0, 17, 0, 2, 0,157, 9, 86, 1, 6, 0,
- 24, 0,141, 9, 4, 0,158, 9, 4, 0,159, 9, 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,249, 2, 87, 1, 4, 0, 24, 0,141, 9,
- 4, 0, 17, 0, 4, 0,158, 9, 0, 0,249, 2, 88, 1, 4, 0, 24, 0,141, 9, 4, 0, 17, 0, 4, 0,158, 9, 0, 0,249, 2,
- 89, 1, 4, 0, 24, 0,141, 9, 4, 0, 17, 0, 4, 0,158, 9, 0, 0,249, 2, 90, 1, 2, 0, 4, 0, 17, 0, 7, 0, 11, 4,
- 91, 1, 2, 0, 24, 0,141, 9, 0, 0,249, 2, 92, 1, 10, 0, 24, 0,141, 9, 4, 0,160, 9, 7, 0,119, 0, 4, 0, 17, 0,
- 2, 0,156, 6, 2, 0,161, 9, 2, 0, 87, 0, 2, 0, 67, 0, 7, 0,162, 9, 0, 0,249, 2, 93, 1, 10, 0, 24, 0,141, 9,
- 2, 0, 15, 0, 2, 0, 61, 4, 4, 0, 85, 0, 4, 0, 86, 0, 7, 0,252, 8, 7, 0,253, 8, 4, 0, 35, 0,157, 0,223, 8,
- 0, 0,249, 2, 94, 1, 4, 0, 24, 0,141, 9, 4, 0,137, 3, 4, 0,163, 9, 0, 0,249, 2, 95, 1, 4, 0, 24, 0,141, 9,
- 4, 0,137, 3, 4, 0, 35, 0, 0, 0,249, 2, 96, 1, 6, 0, 24, 0,141, 9, 7, 0,119, 0, 7, 0, 64, 3, 4, 0,164, 9,
- 2, 0,137, 3, 2, 0,138, 3, 97, 1, 6, 0, 24, 0,141, 9, 4, 0,165, 9, 4, 0,166, 9, 7, 0,167, 9, 7, 0,168, 9,
- 0, 0,249, 2, 98, 1, 16, 0, 24, 0,141, 9, 24, 0, 85, 9, 4, 0, 15, 0, 7, 0,169, 9, 7, 0,170, 9, 7, 0,171, 9,
- 7, 0,172, 9, 7, 0,173, 9, 7, 0,174, 9, 7, 0,175, 9, 7, 0,176, 9, 7, 0,177, 9, 2, 0, 17, 0, 2, 0, 35, 0,
- 2, 0, 87, 0, 2, 0, 67, 0, 99, 1, 3, 0, 24, 0,141, 9, 4, 0, 17, 0, 4, 0, 20, 2,100, 1, 5, 0, 24, 0,141, 9,
- 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,178, 9, 0, 0,249, 2,101, 1, 10, 0, 24, 0,141, 9, 0, 0,249, 2, 2, 0,179, 9,
- 2, 0,180, 9, 0, 0,181, 9, 0, 0,182, 9, 7, 0,183, 9, 7, 0,184, 9, 7, 0,185, 9, 7, 0,186, 9,102, 1, 5, 0,
- 24, 0,141, 9, 0, 0,249, 2, 7, 0,200, 2, 2, 0,187, 9, 2, 0, 17, 0,103, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0,
- 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,188, 9, 7, 0,189, 9, 2, 0, 17, 0, 2, 0, 20, 2,104, 1, 8, 0, 7, 0, 7, 0,
- 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,188, 9, 7, 0,189, 9, 2, 0, 17, 0, 2, 0, 20, 2,105, 1, 8, 0,
- 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,188, 9, 7, 0,189, 9, 2, 0, 17, 0, 2, 0, 20, 2,
- 106, 1, 7, 0, 24, 0,141, 9, 0, 0,249, 2, 7, 0, 78, 1, 7, 0, 87, 1, 2, 0, 17, 0, 2, 0, 71, 1, 4, 0, 35, 0,
- 107, 1, 5, 0, 24, 0, 52, 3, 7, 0, 78, 1, 2, 0, 56, 3, 0, 0, 58, 3, 0, 0,190, 9,108, 1, 10, 0,108, 1, 0, 0,
- 108, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,191, 9, 7, 0, 21, 1, 7, 0, 22, 1, 2, 0,120, 9, 2, 0,192, 9,
- 24, 0, 42, 0,109, 1, 22, 0,109, 1, 0, 0,109, 1, 1, 0, 2, 0, 17, 0, 2, 0, 71, 1, 2, 0,193, 9, 2, 0,194, 9,
- 28, 0, 77, 0,157, 0,223, 8, 24, 0,158, 0, 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,195, 9, 7, 0,196, 9, 7, 0,197, 9,
- 7, 0,198, 9, 7, 0,235, 2, 7, 0,199, 9, 7, 0,225, 8, 7, 0,200, 9, 0, 0,201, 9, 0, 0,202, 9, 12, 0,117, 3,
- 110, 1, 8, 0, 7, 0, 35, 2, 7, 0,252, 8, 7, 0,253, 8, 9, 0, 2, 0, 2, 0,203, 9, 2, 0,204, 9, 2, 0,205, 9,
- 2, 0,206, 9,111, 1, 19, 0,111, 1, 0, 0,111, 1, 1, 0,111, 1,207, 9, 0, 0, 18, 0,110, 1,208, 9, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,209, 9, 2, 0,210, 9,110, 1,211, 9, 2, 0,212, 9, 2, 0, 87, 0, 7, 0,213, 9, 7, 0,214, 9,
- 4, 0,215, 9,111, 1,216, 9, 4, 0,217, 9, 4, 0, 67, 0,112, 1,218, 9,113, 1, 4, 0, 0, 0,219, 9, 2, 0,220, 9,
- 2, 0,221, 9, 4, 0, 35, 0,114, 1, 34, 0,114, 1, 0, 0,114, 1, 1, 0,114, 1,222, 9, 0, 0, 18, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0, 75, 8, 2, 0,103, 8, 2, 0,223, 9, 2, 0,161, 6, 2, 0,212, 9, 2, 0,177, 8, 12, 0,218, 8,
- 12, 0,224, 9, 19, 0,195, 6, 9, 0,225, 9, 7, 0,213, 9, 7, 0,214, 9, 7, 0, 70, 2, 7, 0,226, 9, 0, 0,227, 9,
- 2, 0,228, 9, 2, 0,229, 9, 7, 0,230, 9, 7, 0,231, 9, 2, 0,232, 9, 2, 0,233, 9, 9, 0,234, 9, 16, 0,235, 9,
- 16, 0,236, 9, 16, 0,237, 9,113, 1,145, 0,115, 1,238, 9,116, 1,239, 9,112, 1, 8, 0,112, 1, 0, 0,112, 1, 1, 0,
- 114, 1,240, 9,114, 1,241, 9,111, 1,242, 9,111, 1,243, 9, 4, 0, 17, 0, 4, 0, 35, 0, 53, 0, 23, 0, 19, 0, 29, 0,
- 31, 0, 72, 0,159, 0,111, 3, 12, 0,244, 9, 12, 0,245, 9,110, 1,246, 9, 12, 0,247, 9, 4, 0, 15, 0, 4, 0,248, 9,
- 4, 0,249, 9, 4, 0,250, 9, 4, 0, 17, 0, 4, 0, 35, 0, 12, 0,251, 9, 12, 0,218, 8, 12, 0,224, 9, 4, 0,252, 9,
- 9, 0,253, 9, 9, 0,254, 9, 4, 0,255, 9, 9, 0, 0, 10, 9, 0, 1, 10, 9, 0, 2, 10,117, 1, 6, 0, 4, 0,118, 0,
- 4, 0,120, 0, 4, 0,177, 8, 0, 0, 3, 10, 0, 0, 4, 10, 2, 0, 35, 0,118, 1, 16, 0, 2, 0, 21, 8, 2, 0, 22, 8,
- 2, 0, 5, 10, 2, 0, 6, 10, 2, 0, 7, 10, 2, 0, 65, 0, 2, 0,196, 6, 2, 0, 8, 10, 7, 0,234, 2, 7, 0, 9, 10,
- 7, 0, 10, 10, 2, 0, 93, 1, 0, 0, 11, 10, 0, 0, 12, 10, 4, 0, 13, 10, 4, 0, 14, 10,119, 1, 9, 0, 7, 0, 15, 10,
- 7, 0, 16, 10, 7, 0, 22, 9, 7, 0, 75, 3, 7, 0, 17, 10, 7, 0,113, 6, 2, 0, 73, 3, 0, 0, 18, 10, 0, 0, 35, 0,
- 120, 1, 4, 0, 7, 0, 19, 10, 7, 0, 20, 10, 2, 0, 73, 3, 2, 0, 35, 0,121, 1, 3, 0, 7, 0, 21, 10, 7, 0, 90, 8,
- 7, 0, 13, 0,122, 1, 7, 0, 0, 0,252, 1, 2, 0, 26, 5, 2, 0, 27, 5, 2, 0, 28, 5, 2, 0,216, 4, 4, 0,120, 0,
- 4, 0, 59, 4,123, 1, 9, 0, 7, 0, 22, 10, 7, 0, 23, 10, 7, 0, 24, 10, 7, 0, 81, 2, 7, 0, 25, 10, 7, 0, 26, 10,
- 7, 0, 27, 10, 2, 0, 28, 10, 2, 0, 29, 10,124, 1, 8, 0, 2, 0, 30, 10, 2, 0, 31, 10, 2, 0, 32, 10, 2, 0, 33, 10,
- 7, 0, 34, 10, 7, 0, 35, 10, 7, 0, 36, 10, 7, 0, 37, 10,125, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,126, 1, 2, 0,
- 0, 0,160, 0, 0, 0, 38, 10,127, 1, 1, 0, 0, 0, 18, 0,128, 1, 10, 0, 0, 0, 39, 10, 0, 0, 40, 10, 0, 0,105, 6,
- 0, 0, 41, 10, 2, 0, 5, 10, 2, 0, 42, 10, 7, 0, 43, 10, 7, 0, 44, 10, 7, 0, 45, 10, 7, 0,199, 9,129, 1, 2, 0,
- 9, 0, 46, 10, 9, 0, 47, 10,130, 1, 11, 0, 0, 0, 28, 5, 0, 0, 15, 0, 0, 0, 73, 3, 0, 0, 75, 3, 0, 0, 48, 10,
- 0, 0,104, 0, 0, 0,158, 2, 7, 0, 49, 10, 7, 0, 50, 10, 7, 0, 51, 10, 7, 0, 52, 10,131, 1, 8, 0, 7, 0,184, 8,
- 7, 0,119, 0, 7, 0, 12, 10, 7, 0,151, 2, 7, 0, 53, 10, 7, 0,232, 0, 7, 0, 54, 10, 4, 0, 15, 0,132, 1, 4, 0,
- 2, 0, 55, 10, 2, 0, 56, 10, 2, 0, 57, 10, 2, 0, 35, 0,133, 1, 8, 0, 7, 0, 58, 10, 7, 0,200, 2, 7, 0, 59, 10,
- 7, 0, 71, 8, 7, 0, 72, 8, 7, 0, 73, 8, 7, 0, 60, 10, 7, 0, 61, 10,134, 1, 6, 0, 2, 0, 62, 10, 2, 0, 63, 10,
- 7, 0, 64, 10, 7, 0, 65, 10, 7, 0, 66, 10, 7, 0, 67, 10,135, 1, 1, 0, 0, 0, 18, 0,136, 1, 4, 0, 7, 0, 5, 0,
- 7, 0, 6, 0, 2, 0, 17, 0, 2, 0, 68, 10,137, 1, 10, 0, 2, 0,245, 3, 2, 0, 17, 0, 7, 0,144, 4, 7, 0, 69, 10,
- 7, 0, 70, 10, 7, 0, 71, 10, 7, 0, 72, 10,136, 1, 73, 10,136, 1, 74, 10,136, 1, 75, 10, 51, 0, 11, 0, 4, 0, 17, 0,
- 4, 0, 61, 0, 4, 0, 76, 10, 4, 0, 77, 10, 16, 0, 78, 10, 16, 0, 79, 10,137, 1, 80, 10, 7, 0, 81, 10, 7, 0, 82, 10,
- 7, 0, 83, 10, 7, 0, 84, 10,229, 0, 10, 0, 4, 0,120, 9, 4, 0, 85, 10, 7, 0, 86, 10, 7, 0, 87, 10, 7, 0, 88, 10,
- 7, 0, 89, 10, 7, 0, 8, 0, 7, 0, 10, 0, 4, 0, 71, 1, 4, 0,239, 2,228, 0, 18, 0, 4, 0,123, 0, 4, 0, 90, 10,
- 4, 0, 91, 10, 7, 0, 92, 10, 4, 0, 93, 10, 7, 0, 94, 10, 7, 0, 95, 10, 4, 0, 96, 10, 7, 0, 97, 10, 4, 0, 98, 10,
- 7, 0, 99, 10,229, 0,100, 10, 7, 0,101, 10, 7, 0,102, 10, 7, 0,103, 10, 7, 0,104, 10, 4, 0,105, 10, 4, 0, 35, 0,
- 138, 1, 4, 0, 39, 0,226, 2, 7, 0,106, 10, 7, 0,160, 1, 7, 0, 35, 0,191, 0, 34, 0, 19, 0, 29, 0,138, 1,107, 10,
- 51, 0, 73, 10, 43, 0,108, 10, 49, 0,109, 10, 22, 0,145, 0, 0, 0,110, 10, 7, 0,111, 10, 2, 0, 8, 6, 2, 0,112, 10,
- 4, 0,104, 0, 4, 0, 17, 0, 7, 0,113, 10, 4, 0, 78, 2, 4, 0,114, 10, 7, 0,115, 10, 7, 0,116, 10, 7, 0,117, 10,
- 7, 0,160, 1, 4, 0,118, 10, 7, 0,119, 10, 0, 0,120, 10, 0, 0,121, 10, 0, 0,122, 10, 0, 0,123, 10, 7, 0,124, 10,
- 7, 0,125, 10, 7, 0,126, 10, 7, 0,239, 2, 7, 0,127, 10, 4, 0,128, 10, 7, 0,129, 10, 7, 0,130, 10, 7, 0,131, 10,
- 139, 1, 10, 0, 4, 0, 15, 0, 4, 0,119, 0, 4, 0, 17, 0, 4, 0,198, 3, 4, 0,132, 10, 4, 0,133, 10, 4, 0,134, 10,
- 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 0,140, 1, 1, 0, 0, 0, 63, 8, 84, 0, 7, 0,139, 1,135, 10, 4, 0,136, 10,
- 4, 0,137, 10, 4, 0,138, 10, 4, 0, 35, 0, 9, 0,139, 10,140, 1,140, 10,141, 1, 5, 0, 7, 0,146, 2, 7, 0,220, 2,
- 7, 0, 28, 2, 2, 0,127, 2, 2, 0, 35, 0,142, 1, 5, 0, 7, 0,146, 2, 7, 0,141, 10, 7, 0,142, 10, 7, 0,143, 10,
- 7, 0,220, 2,143, 1, 5, 0, 24, 0,144, 10,144, 1, 20, 0, 7, 0,230, 5, 7, 0,145, 10, 7, 0, 54, 0,145, 1, 3, 0,
- 7, 0,146, 10, 4, 0,147, 10, 4, 0,148, 10,146, 1, 7, 0, 4, 0,149, 10, 4, 0,150, 10, 4, 0,151, 10, 7, 0,152, 10,
- 7, 0,153, 10, 7, 0,154, 10, 7, 0, 54, 0,147, 1, 8, 0,147, 1, 0, 0,147, 1, 1, 0, 24, 0, 42, 0, 4, 0,251, 0,
- 2, 0, 17, 0, 2, 0, 71, 1, 7, 0,220, 2, 7, 0,192, 8,148, 1, 6, 0,148, 1, 0, 0,148, 1, 1, 0, 24, 0, 42, 0,
- 2, 0,205, 2, 2, 0, 17, 0, 2, 0,155, 10,149, 1, 17, 0,142, 1,192, 3,142, 1,156, 10,141, 1,157, 10,142, 1,175, 8,
- 143, 1,158, 10, 4, 0, 79, 0, 7, 0,220, 2, 7, 0,245, 2, 7, 0,159, 10, 4, 0,149, 10, 4, 0,160, 10, 7, 0,153, 10,
- 7, 0,154, 10, 7, 0,104, 0, 4, 0,161, 10, 2, 0, 17, 0, 2, 0,162, 10,150, 1, 15, 0, 7, 0,247, 0, 7, 0,163, 10,
- 7, 0,146, 10, 7, 0,164, 10, 7, 0,165, 10, 7, 0,166, 10, 7, 0,167, 10, 7, 0,168, 10, 7, 0,169, 10, 7, 0,170, 10,
- 7, 0,171, 10, 7, 0,172, 10, 7, 0,173, 10, 4, 0, 17, 0, 4, 0,174, 10,151, 1,121, 0, 19, 0, 29, 0, 31, 0, 72, 0,
- 152, 1,175, 10,150, 1,176, 10,168, 0, 81, 4, 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0, 2, 0,179, 9, 2, 0,177, 10,
- 2, 0,106, 1, 2, 0,178, 10, 2, 0,159, 3, 2, 0,179, 10, 2, 0,180, 10, 2, 0,181, 10, 2, 0,182, 10, 2, 0,183, 10,
- 2, 0,184, 10, 2, 0,185, 10, 2, 0,186, 10, 2, 0,187, 10, 2, 0,127, 5, 2, 0,188, 10, 2, 0,189, 10, 2, 0,190, 10,
- 2, 0,191, 10, 2, 0,192, 10, 2, 0, 17, 2, 2, 0,168, 8, 2, 0,143, 8, 2, 0,193, 10, 2, 0,194, 10, 2, 0,208, 3,
- 2, 0,209, 3, 2, 0,195, 10, 2, 0,196, 10, 2, 0,197, 10, 2, 0,198, 10, 7, 0,199, 10, 7, 0,200, 10, 7, 0,201, 10,
- 7, 0,202, 10, 2, 0, 77, 5, 2, 0,203, 10, 7, 0,204, 10, 7, 0,205, 10, 7, 0,206, 10, 7, 0,150, 8, 7, 0, 86, 0,
- 7, 0,245, 2, 7, 0,156, 8, 7, 0,207, 10, 7, 0,208, 10, 7, 0,209, 10, 7, 0,210, 10, 4, 0,151, 8, 4, 0,149, 8,
- 4, 0,211, 10, 4, 0,212, 10, 7, 0,152, 8, 7, 0,153, 8, 7, 0,154, 8, 7, 0,213, 10, 7, 0,214, 10, 7, 0,215, 10,
- 7, 0,216, 10, 7, 0,217, 10, 7, 0,218, 10, 7, 0,219, 10, 7, 0,220, 10, 7, 0,221, 10, 7, 0,150, 3, 7, 0,104, 0,
- 7, 0,222, 10, 7, 0,223, 10, 7, 0,224, 10, 7, 0,225, 10, 7, 0,205, 0, 7, 0,226, 10, 4, 0,227, 10, 4, 0,228, 10,
- 7, 0,229, 10, 7, 0,230, 10, 7, 0,231, 10, 7, 0,232, 10, 7, 0,233, 10, 7, 0,204, 0, 7, 0,234, 10, 7, 0,235, 3,
- 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 10, 7, 0,236, 10, 7, 0,237, 10, 7, 0,238, 10, 7, 0,239, 10, 7, 0,240, 10,
- 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10, 7, 0,244, 10, 7, 0,245, 10, 7, 0,246, 10, 7, 0,247, 10, 7, 0,248, 10,
- 7, 0,249, 10, 7, 0,250, 10, 7, 0,251, 10, 7, 0,252, 10, 4, 0,253, 10, 4, 0,254, 10, 43, 0,124, 1, 58, 0,182, 3,
- 12, 0,255, 10, 58, 0, 0, 11, 24, 0, 1, 11, 24, 0, 2, 11, 28, 0, 77, 0,163, 0, 63, 1,163, 0, 3, 11,141, 0, 50, 0,
- 141, 0, 0, 0,141, 0, 1, 0,151, 1, 4, 11,149, 1, 5, 11,146, 1, 85, 9,171, 0, 7, 4, 9, 0, 8, 4,153, 1, 6, 11,
- 153, 1, 7, 11, 12, 0, 8, 11, 12, 0, 9, 11,126, 0, 10, 11,134, 0, 11, 11,134, 0, 12, 11, 24, 0, 13, 11, 24, 0, 14, 11,
- 24, 0, 36, 0, 12, 0,146, 9, 0, 0, 18, 0, 7, 0,236, 0, 7, 0, 18, 3, 7, 0, 15, 11, 7, 0, 16, 11, 4, 0,194, 2,
- 4, 0, 17, 11, 4, 0, 17, 0, 4, 0,151, 8, 4, 0, 18, 11, 4, 0, 19, 11, 4, 0, 20, 11, 4, 0, 21, 11, 2, 0,243, 0,
- 2, 0, 22, 11, 2, 0, 23, 11, 2, 0, 24, 11, 0, 0, 25, 11, 2, 0, 26, 11, 2, 0, 27, 11, 2, 0, 28, 11, 9, 0, 29, 11,
- 130, 0, 80, 4, 12, 0, 3, 3, 12, 0, 30, 11,145, 1, 31, 11, 4, 0, 32, 11, 4, 0, 33, 11,154, 1, 34, 11,132, 0, 15, 3,
- 155, 1, 35, 11, 7, 0, 36, 11,128, 0, 37, 0,156, 1, 23, 9, 7, 0, 50, 4, 7, 0, 37, 11, 7, 0, 38, 11, 7, 0,230, 5,
- 7, 0,160, 3, 7, 0,150, 3, 7, 0, 39, 11, 7, 0, 80, 2, 7, 0, 40, 11, 7, 0, 41, 11, 7, 0, 42, 11, 7, 0, 43, 11,
- 7, 0, 44, 11, 7, 0, 45, 11, 7, 0, 51, 4, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 48, 11, 7, 0, 52, 4, 7, 0, 48, 4,
- 7, 0, 49, 4, 7, 0, 49, 11, 7, 0, 50, 11, 4, 0, 51, 11, 4, 0, 88, 0, 4, 0, 52, 11, 4, 0, 53, 11, 2, 0, 54, 11,
- 2, 0, 55, 11, 2, 0, 56, 11, 2, 0, 57, 11, 2, 0, 58, 11, 2, 0, 59, 11, 2, 0, 60, 11, 2, 0,194, 4,168, 0, 81, 4,
- 129, 0, 11, 0,156, 1, 61, 11, 7, 0, 62, 11, 7, 0, 63, 11, 7, 0,232, 1, 7, 0, 64, 11, 7, 0, 65, 11, 7, 0, 66, 11,
- 4, 0, 88, 0, 2, 0, 67, 11, 2, 0, 68, 11, 58, 0,231, 1,157, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 6, 2,
- 7, 0, 69, 11,158, 1, 6, 0,158, 1, 0, 0,158, 1, 1, 0,157, 1, 62, 9, 4, 0,249, 0, 2, 0, 70, 11, 2, 0, 17, 0,
- 159, 1, 5, 0,159, 1, 0, 0,159, 1, 1, 0, 12, 0, 71, 11, 4, 0, 72, 11, 4, 0, 17, 0,160, 1, 9, 0,160, 1, 0, 0,
- 160, 1, 1, 0, 12, 0,118, 0,159, 1, 73, 11, 4, 0, 17, 0, 2, 0, 70, 11, 2, 0, 74, 11, 7, 0, 89, 0, 0, 0, 75, 11,
- 159, 0, 6, 0, 19, 0, 29, 0, 12, 0, 45, 5, 4, 0, 17, 0, 2, 0, 76, 11, 2, 0, 77, 11, 9, 0, 78, 11,161, 1, 6, 0,
- 12, 0, 79, 11, 4, 0, 80, 11, 4, 0, 81, 11, 4, 0, 17, 0, 4, 0, 35, 0,210, 0, 82, 11,162, 1, 17, 0, 19, 0, 29, 0,
- 163, 1, 83, 11,163, 1, 84, 11, 12, 0, 85, 11, 4, 0, 86, 11, 2, 0, 87, 11, 2, 0, 88, 11, 12, 0, 89, 11, 12, 0, 90, 11,
- 161, 1, 91, 11, 12, 0, 92, 11, 12, 0, 93, 11, 12, 0, 94, 11, 12, 0, 95, 11,164, 1, 96, 11, 12, 0, 97, 11,210, 0, 98, 11,
- 163, 1, 32, 0,163, 1, 0, 0,163, 1, 1, 0, 9, 0, 99, 11, 4, 0,255, 7, 2, 0,100, 11, 2, 0, 35, 0, 1, 1,101, 11,
- 1, 1,102, 11, 0, 0,103, 11, 2, 0,104, 11, 2, 0,105, 11, 2, 0, 21, 8, 2, 0, 22, 8, 2, 0,106, 11, 2, 0,107, 11,
- 2, 0,198, 3, 2, 0,227, 6, 2, 0,108, 11, 2, 0,109, 11, 2, 0,110, 11, 2, 0, 67, 0,165, 1,111, 11,166, 1,112, 11,
- 167, 1,113, 11, 4, 0,114, 11, 4, 0,115, 11, 9, 0,116, 11, 12, 0, 90, 11, 12, 0, 41, 8, 12, 0,117, 11, 12, 0,118, 11,
- 12, 0,119, 11,168, 1, 17, 0,168, 1, 0, 0,168, 1, 1, 0, 0, 0,120, 11, 18, 0, 28, 0, 2, 0,121, 11, 2, 0, 15, 0,
- 2, 0, 13, 0, 2, 0,122, 11, 2, 0,123, 11, 2, 0,124, 11, 2, 0,125, 11, 2, 0,126, 11, 2, 0, 17, 0, 2, 0,127, 11,
- 2, 0, 29, 0, 2, 0, 35, 0,169, 1,128, 11,170, 1, 10, 0,170, 1, 0, 0,170, 1, 1, 0, 12, 0,129, 11, 0, 0,120, 11,
- 2, 0,130, 11, 2, 0,131, 11, 2, 0, 17, 0, 2, 0,132, 11, 4, 0,133, 11, 9, 0,134, 11,164, 1, 7, 0,164, 1, 0, 0,
- 164, 1, 1, 0, 0, 0,120, 11, 0, 0,135, 11, 12, 0,200, 7, 4, 0,136, 11, 4, 0, 17, 0,222, 0, 14, 0,222, 0, 0, 0,
- 222, 0, 1, 0, 0, 0,120, 11, 18, 0, 28, 0,171, 1, 15, 8, 9, 0,137, 11, 9, 0,138, 11,169, 1,128, 11,161, 1,139, 11,
- 12, 0,140, 11,222, 0,141, 11, 6, 1,134, 6, 2, 0, 17, 0, 2, 0,194, 4,172, 1, 8, 0,172, 1, 0, 0,172, 1, 1, 0,
- 9, 0, 2, 0, 9, 0,142, 11, 0, 0, 1, 4, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,143, 11,173, 1, 5, 0, 7, 0,144, 11,
- 4, 0,145, 11, 4, 0,146, 11, 4, 0, 71, 1, 4, 0, 17, 0,174, 1, 6, 0, 7, 0,147, 11, 7, 0,148, 11, 7, 0,149, 11,
- 7, 0,150, 11, 4, 0, 15, 0, 4, 0, 17, 0,175, 1, 5, 0, 7, 0,252, 8, 7, 0,253, 8, 7, 0,220, 2, 2, 0, 31, 2,
- 2, 0, 32, 2,176, 1, 5, 0,175, 1, 2, 0, 4, 0, 51, 0, 7, 0,151, 11, 7, 0,252, 8, 7, 0,253, 8,177, 1, 4, 0,
- 2, 0,152, 11, 2, 0,153, 11, 2, 0,154, 11, 2, 0,155, 11,178, 1, 2, 0, 34, 0,189, 6, 18, 0, 28, 9,179, 1, 3, 0,
- 16, 0,156, 11, 4, 0, 17, 0, 4, 0, 35, 0,180, 1, 6, 0, 7, 0,104, 0, 7, 0,222, 2, 7, 0,157, 11, 7, 0, 35, 0,
- 2, 0,242, 0, 2, 0,158, 11,181, 1, 5, 0, 7, 0,159, 11, 7, 0,119, 0, 7, 0, 63, 9, 7, 0, 64, 9, 4, 0, 17, 0,
- 182, 1, 6, 0, 19, 0,195, 6, 0, 0,160, 11, 0, 0,161, 11, 2, 0,162, 11, 2, 0, 17, 0, 4, 0,163, 11,183, 1, 7, 0,
- 183, 1, 0, 0,183, 1, 1, 0, 0, 0, 1, 4,182, 1,164, 11, 2, 0,165, 11, 2, 0, 15, 0, 7, 0, 58, 0,184, 1, 7, 0,
- 12, 0,166, 11, 0, 0,167, 11, 9, 0,168, 11, 7, 0, 58, 0, 7, 0,143, 11, 4, 0, 15, 0, 4, 0, 17, 0,185, 1, 3, 0,
- 7, 0,169, 11, 4, 0, 17, 0, 4, 0, 35, 0,186, 1, 15, 0,186, 1, 0, 0,186, 1, 1, 0, 77, 1,133, 9,184, 1, 59, 0,
- 12, 0,117, 3, 27, 0, 47, 0,185, 1,170, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 14, 1, 4, 0,171, 11,
- 0, 0,160, 11, 4, 0,172, 11, 7, 0,173, 11,187, 1, 2, 0, 0, 0,174, 11, 0, 0,175, 11,188, 1, 4, 0,188, 1, 0, 0,
- 188, 1, 1, 0,157, 0, 52, 3, 12, 0,176, 11,189, 1, 24, 0,189, 1, 0, 0,189, 1, 1, 0, 12, 0,177, 11,157, 0,223, 8,
- 188, 1,178, 11, 12, 0,179, 11, 12, 0,117, 3, 0, 0, 1, 4, 7, 0,143, 11, 7, 0,180, 11, 7, 0, 85, 0, 7, 0, 86, 0,
- 7, 0,195, 9, 7, 0,196, 9, 7, 0,235, 2, 7, 0,199, 9, 7, 0,225, 8, 7, 0,200, 9, 2, 0,181, 11, 2, 0,182, 11,
- 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 0,190, 1, 6, 0,190, 1, 0, 0,190, 1, 1, 0, 12, 0,177, 11,
- 4, 0, 17, 0, 4, 0,150, 2, 0, 0, 1, 4,191, 1, 11, 0,191, 1, 0, 0,191, 1, 1, 0, 19, 0,195, 6, 0, 0,183, 11,
- 4, 0,163, 11, 2, 0,184, 11, 2, 0, 35, 0, 0, 0,160, 11, 4, 0,171, 11, 2, 0, 17, 0, 2, 0,185, 11,192, 1, 8, 0,
- 192, 1, 0, 0,192, 1, 1, 0, 12, 0,186, 11, 0, 0, 1, 4, 0, 0,187, 11, 2, 0, 17, 0, 2, 0,185, 11, 4, 0,188, 11,
- 193, 1, 5, 0,193, 1, 0, 0,193, 1, 1, 0, 0, 0,160, 11, 4, 0,171, 11, 7, 0,210, 2, 31, 0, 12, 0,157, 0,108, 3,
- 157, 0,189, 11,188, 1,178, 11, 12, 0,190, 11,189, 1,191, 11, 12, 0,192, 11, 12, 0,193, 11, 4, 0, 17, 0, 4, 0,243, 0,
- 2, 0,194, 11, 2, 0,195, 11, 7, 0,196, 11,194, 1, 2, 0, 19, 0, 29, 0, 31, 0, 72, 0,195, 1, 5, 0,195, 1, 0, 0,
- 195, 1, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 0,196, 1, 6, 0,195, 1,197, 11, 24, 0, 42, 0, 4, 0,198, 11,
- 7, 0,199, 11, 4, 0,200, 11, 4, 0,120, 9,197, 1, 3, 0,195, 1,197, 11, 4, 0,198, 11, 7, 0,201, 11,198, 1, 8, 0,
- 195, 1,197, 11, 24, 0, 42, 0, 7, 0, 66, 1, 7, 0,202, 11, 7, 0, 18, 3, 7, 0, 22, 9, 4, 0,198, 11, 4, 0,203, 11,
- 199, 1, 5, 0,195, 1,197, 11, 7, 0,204, 11, 7, 0,103, 8, 7, 0,241, 2, 7, 0, 54, 0,200, 1, 3, 0,195, 1,197, 11,
- 7, 0, 22, 9, 7, 0,205, 11,144, 1, 4, 0, 7, 0,206, 11, 7, 0,223, 10, 2, 0,207, 11, 2, 0, 71, 1,201, 1, 14, 0,
- 201, 1, 0, 0,201, 1, 1, 0, 12, 0,208, 11, 12, 0,209, 11, 12, 0,210, 11, 0, 0, 18, 0, 4, 0, 29, 0, 4, 0, 17, 0,
- 4, 0,211, 11, 7, 0,212, 11, 4, 0,200, 11, 4, 0,120, 9, 7, 0, 11, 4, 7, 0,243, 2,152, 1, 23, 0, 4, 0,198, 11,
- 4, 0,213, 11, 7, 0,214, 11, 7, 0,239, 2, 7, 0,215, 11, 7, 0,239, 8, 7, 0,206, 11, 7, 0,216, 11, 7, 0,222, 2,
- 7, 0, 92, 10, 7, 0,144, 4, 7, 0,217, 11, 7, 0,218, 11, 7, 0,219, 11, 7, 0,220, 11, 7, 0,221, 11, 7, 0,222, 11,
- 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 7, 0,226, 11, 7, 0,227, 11, 12, 0,228, 11,114, 0, 40, 0,113, 0,229, 11,
- 202, 1,176, 10, 58, 0,230, 11, 58, 0, 0, 11, 58, 0,231, 11,203, 1,232, 11, 40, 0,159, 0, 40, 0,233, 11, 40, 0,234, 11,
- 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, 7, 0,238, 11, 7, 0,239, 11, 7, 0,254, 7, 7, 0,240, 11, 7, 0,160, 1,
- 7, 0,241, 11, 4, 0,242, 11, 4, 0,243, 11, 4, 0,244, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,245, 11, 2, 0,246, 11,
- 2, 0,247, 11, 4, 0,248, 11, 7, 0,222, 2, 4, 0,249, 11, 7, 0,250, 11, 4, 0,251, 11, 4, 0,252, 11, 4, 0,253, 11,
- 130, 0,254, 11, 12, 0,255, 11,168, 0, 81, 4, 4, 0, 0, 12, 7, 0, 1, 12, 7, 0, 2, 12, 4, 0, 67, 0,115, 0, 12, 0,
- 113, 0,229, 11,141, 0, 38, 3, 7, 0,127, 1, 7, 0,254, 7, 7, 0, 3, 12, 7, 0, 4, 12, 7, 0, 5, 12, 2, 0, 6, 12,
- 2, 0, 7, 12, 2, 0, 8, 12, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 0,229, 11,132, 0, 15, 3,134, 0, 17, 3,
- 7, 0, 62, 9, 7, 0, 9, 12, 7, 0, 10, 12, 7, 0, 68, 1, 7, 0, 11, 12, 4, 0,155, 9, 4, 0, 11, 3, 2, 0, 15, 0,
- 2, 0, 35, 0, 4, 0, 67, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0};
+ 66, 76, 69, 78,
+ 68, 69, 82, 95, 86, 50, 53, 56, 82, 69, 78, 68, 0, 0, 0, 32,191,255,232, 80, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,
+ 0, 0, 0,250, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66,
+ 0, 0, 1, 24,191,255,231, 72, 0, 0, 0,199, 0, 0, 0, 1, 32, 32, 32, 49, 0, 1, 0, 0, 0,250, 0, 0, 0, 1, 1, 0,
+ 11, 29,167, 48, 2,154,244, 32, 0, 0, 16, 0, 0, 4, 32,128, 0, 0,147,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 0,168, 9,244,203, 64, 0, 0, 1,106, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244,204, 16, 9,244,204, 16,
+ 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 21,221, 16, 11, 21,221, 16, 11, 21,221, 16, 9,244, 44,224, 9,244, 44,224,
+ 9,244, 44,224, 68, 65, 84, 65, 0, 0, 0,148, 9,244,204, 16, 0, 0, 1,107, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4,209, 70, 96, 0, 0, 0, 1, 0, 0, 0, 0, 11, 29,167, 48, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 96, 7,128, 4,128, 0, 0, 0, 0,
+ 0, 0, 3,238, 0, 0, 0, 0, 0, 0, 0, 0, 4,209,201,176, 9,244, 47,144, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
+ 9,253,196,128, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 46,160, 9,244, 45,192, 9,244, 46, 48, 9,244, 46, 48, 9,244, 47,144,
+ 9,244, 76,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 9,244,204,208, 0, 0, 0,193, 0, 0, 0, 1,
+ 9,245, 11, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116,105,111,110, 0, 46, 48, 48, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,242,109,144, 4,211,174, 48, 11, 31,150, 32,
+ 9,244,210,208, 9,244,211, 16, 9,245, 6,192, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242,109,144,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 30, 31,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 30, 31,240, 0, 0, 0,194, 0, 0, 0, 1, 11, 22,202, 48, 9,242,109,144, 0, 0, 0, 0, 0, 0, 4, 5,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 22,202, 48, 0, 0, 0,194, 0, 0, 0, 1, 11, 23, 73,224, 11, 30, 31,240,
+ 0, 0, 0, 0, 7,126, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 23, 73,224, 0, 0, 0,194, 0, 0, 0, 1,
+ 9,253,198, 16, 11, 22,202, 48, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,253,198, 16,
+ 0, 0, 0,194, 0, 0, 0, 1, 9,249, 51, 0, 11, 23, 73,224, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1, 68, 65, 84, 65,
+ 0, 0, 0, 20, 9,249, 51, 0, 0, 0, 0,194, 0, 0, 0, 1, 4,211,186, 80, 9,253,198, 16, 0, 0, 0, 0, 7,126, 3,234,
+ 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,186, 80, 0, 0, 0,194, 0, 0, 0, 1, 12, 96, 12, 32, 9,249, 51, 0,
+ 0, 0, 0, 0, 6, 52, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 12, 96, 12, 32, 0, 0, 0,194, 0, 0, 0, 1,
+ 9,202,233,240, 4,211,186, 80, 0, 0, 0, 0, 6, 52, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 9,202,233,240,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 29,185,144, 12, 96, 12, 32, 0, 0, 0, 0, 6, 52, 1,184, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 29,185,144, 0, 0, 0,194, 0, 0, 0, 1, 9,254, 80, 80, 9,202,233,240, 0, 0, 0, 0, 7,126, 1,184,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,254, 80, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,203, 26,208, 11, 29,185,144,
+ 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,203, 26,208, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 21,219,240, 9,254, 80, 80, 0, 0, 0, 0, 6, 52, 0,124, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 21,219,240,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 29,143, 96, 9,203, 26,208, 0, 0, 0, 0, 2,164, 0,124, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 29,143, 96, 0, 0, 0,194, 0, 0, 0, 1, 9,251,242,176, 11, 21,219,240, 0, 0, 0, 0, 2,164, 3,234,
+ 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 9,251,242,176, 0, 0, 0,194, 0, 0, 0, 1, 9,253,135, 0, 11, 29,143, 96,
+ 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,253,135, 0, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 21,225, 32, 9,251,242,176, 0, 0, 0, 0, 2,164, 1,108, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 21,225, 32,
+ 0, 0, 0,194, 0, 0, 0, 1, 4,211,174, 48, 9,253,135, 0, 0, 0, 0, 0, 6, 52, 3, 32, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 4,211,174, 48, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 11, 21,225, 32, 0, 0, 0, 0, 7,126, 3, 32,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 31,150, 32, 0, 0, 0,195, 0, 0, 0, 1, 11, 21,228, 64, 0, 0, 0, 0,
+ 11, 22,202, 48, 11, 30, 31,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 21,228, 64, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 31,155,192, 11, 31,150, 32, 9,253,198, 16, 11, 30, 31,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 31,155,192, 0, 0, 0,195, 0, 0, 0, 1, 11, 21,220,128, 11, 21,228, 64, 9,249, 51, 0, 11, 22,202, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 21,220,128, 0, 0, 0,195, 0, 0, 0, 1, 9,254, 98,224,
+ 11, 31,155,192, 9,249, 51, 0, 9,253,198, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,254, 98,224,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 21,221,208, 11, 21,220,128, 4,211,186, 80, 9,242,109,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 21,221,208, 0, 0, 0,195, 0, 0, 0, 1, 9,254, 86,192, 9,254, 98,224, 4,211,186, 80,
+ 11, 23, 73,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,254, 86,192, 0, 0, 0,195, 0, 0, 0, 1,
+ 9,244,205,144, 11, 21,221,208, 9,249, 51, 0, 12, 96, 12, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 9,244,205,144, 0, 0, 0,195, 0, 0, 0, 1, 9,244,205,208, 9,254, 86,192, 4,211,186, 80, 9,202,233,240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,205,208, 0, 0, 0,195, 0, 0, 0, 1, 9,244,206, 16, 9,244,205,144,
+ 11, 23, 73,224, 11, 29,185,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,206, 16, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,244,206, 80, 9,244,205,208, 9,202,233,240, 11, 29,185,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,244,206, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,244,206,144, 9,244,206, 16, 9,242,109,144, 9,254, 80, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,206,144, 0, 0, 0,195, 0, 0, 0, 1, 9,244,206,208,
+ 9,244,206, 80, 9,203, 26,208, 12, 96, 12, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,206,208,
+ 0, 0, 0,195, 0, 0, 0, 1, 9,244,207, 16, 9,244,206,144, 4,211,186, 80, 9,203, 26,208, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 9,244,207, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,244,207, 80, 9,244,206,208, 9,203, 26,208,
+ 9,254, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,207, 80, 0, 0, 0,195, 0, 0, 0, 1,
+ 9,244,207,144, 9,244,207, 16, 9,254, 80, 80, 11, 21,219,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 9,244,207,144, 0, 0, 0,195, 0, 0, 0, 1, 9,244,207,208, 9,244,207, 80, 9,203, 26,208, 11, 21,219,240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,207,208, 0, 0, 0,195, 0, 0, 0, 1, 9,244,208, 16, 9,244,207,144,
+ 9,253,198, 16, 11, 29,143, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,208, 16, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,244,208, 80, 9,244,207,208, 11, 29,143, 96, 12, 96, 12, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,244,208, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,244,208,144, 9,244,208, 16, 11, 21,219,240, 11, 29,143, 96,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,208,144, 0, 0, 0,195, 0, 0, 0, 1, 9,244,208,208,
+ 9,244,208, 80, 9,251,242,176, 9,254, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,208,208,
+ 0, 0, 0,195, 0, 0, 0, 1, 9,244,209, 16, 9,244,208,144, 9,253,135, 0, 11, 21,219,240, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 9,244,209, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,244,209, 80, 9,244,208,208, 9,251,242,176,
+ 9,253,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,209, 80, 0, 0, 0,195, 0, 0, 0, 1,
+ 9,244,209,144, 9,244,209, 16, 9,202,233,240, 11, 21,225, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 9,244,209,144, 0, 0, 0,195, 0, 0, 0, 1, 9,244,209,208, 9,244,209, 80, 11, 21,225, 32, 12, 96, 12, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,209,208, 0, 0, 0,195, 0, 0, 0, 1, 9,244,210, 16, 9,244,209,144,
+ 4,211,174, 48, 9,249, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,210, 16, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,244,210, 80, 9,244,209,208, 4,211,174, 48, 11, 29,185,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,244,210, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,244,210,144, 9,244,210, 16, 4,211,174, 48, 11, 21,225, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,210,144, 0, 0, 0,195, 0, 0, 0, 1, 9,244,210,208,
+ 9,244,210, 80, 9,251,242,176, 9,253,198, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,244,210,208,
+ 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 9,244,210,144, 9,253,135, 0, 11, 29,143, 96, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 96, 9,244,211, 16, 0, 0, 0,197, 0, 0, 0, 1, 9,244,213,224, 0, 0, 0, 0, 9,253,198, 16,
+ 11, 30, 31,240, 11, 22,202, 48, 9,249, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5,
+ 7, 7, 7,127, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 9,245, 10,176, 9,245, 10,176, 9,244,211,160,
+ 9,244,212,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,211,160,
+ 0, 0, 0,198, 0, 0, 0, 1, 9,244,212,192, 0, 0, 0, 0, 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 68,239,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25,
+ 68,239,192, 0, 65,200, 0, 0, 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3,
+ 0, 4, 0, 12, 0, 10, 7,127, 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26,
+ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 9,244,212,192, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,244,211,160, 0, 0, 0, 0,
+ 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112,
+ 0, 0, 7,129, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 7,111, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,244,213,224, 0, 0, 0,197, 0, 0, 0, 1,
+ 9,244,234,240, 9,244,211, 16, 4,211,186, 80, 9,202,233,240, 11, 29,185,144, 11, 23, 73,224, 0, 0, 0, 0, 0, 0, 6, 53,
+ 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 1,183, 4, 4, 1, 74, 1,184, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 9,244,233,240, 9,244,233,240, 9,244,214,112, 9,244,215,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 9,244,214,112, 0, 0, 0,198, 0, 0, 0, 1, 9,244,215,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,148, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,165, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 73, 0, 0, 0, 0, 0, 0, 0, 25, 67,164,128, 0, 65,200, 0, 0, 67,164,128, 0, 65,200, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 74, 0, 26, 1, 74, 0, 26, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 1,158, 0, 0, 1,183, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,215,144, 0, 0, 0,198, 0, 0, 0, 1,
+ 0, 0, 0, 0, 9,244,214,112, 0, 0, 0, 0, 67,165, 0, 0,196, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,156,128, 1,
+195,207, 0, 1, 0, 0, 0, 0, 0, 0, 1, 57, 0, 0, 1, 74, 0, 0, 0, 0, 0, 0, 1,157, 0, 0, 0, 0, 0, 0, 1, 62,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 0, 0, 0, 1,157, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 1, 74,
+ 1,158, 1, 57, 1,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 0, 0,
+ 0, 0, 1,157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 1,158, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 9,244,216,176, 9,244,232,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 9,244,216,176, 0, 0, 0,196, 0, 0, 0, 1, 9,244,218, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84,
+ 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84,
+ 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,
+101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,220,
+ 1, 57, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,218, 32, 0, 0, 0,196, 0, 0, 0, 1,
+ 9,244,219,144, 9,244,216,176, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 57, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 9,244,219,144, 0, 0, 0,196, 0, 0, 0, 1, 9,244,221, 0, 9,244,218, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,255,111, 1, 57, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,221, 0,
+ 0, 0, 0,196, 0, 0, 0, 1, 9,244,222,112, 9,244,219,144, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,
+110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,140, 1, 57, 0,203,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,222,112, 0, 0, 0,196, 0, 0, 0, 1, 9,244,223,224,
+ 9,244,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,
+110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,
+110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 58, 1, 57, 0, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 9,244,223,224, 0, 0, 0,196, 0, 0, 0, 1, 9,244,225, 80, 9,244,222,112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,254, 34, 1, 57, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,225, 80, 0, 0, 0,196,
+ 0, 0, 0, 1, 9,244,226,192, 9,244,223,224, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104,
+ 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104,
+ 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 10, 1, 57, 0, 0, 0, 0, 0, 0,
+ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,226,192, 0, 0, 0,196, 0, 0, 0, 1, 9,244,228, 48, 9,244,225, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,242, 1, 57, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 9,244,228, 48, 0, 0, 0,196, 0, 0, 0, 1, 9,244,229,160, 9,244,226,192, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116,
+ 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,218,
+ 1, 57, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,229,160, 0, 0, 0,196, 0, 0, 0, 1,
+ 9,244,231, 16, 9,244,228, 48, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,194, 1, 57, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 9,244,231, 16, 0, 0, 0,196, 0, 0, 0, 1, 9,244,232,128, 9,244,229,160, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,253, 40, 1, 57, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,232,128,
+ 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 9,244,231, 16, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 16, 1, 57, 0, 0,
+ 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 9,244,233,240, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,244,234,240,
+ 0, 0, 0,197, 0, 0, 0, 1, 9,244,238,176, 9,244,213,224, 9,242,109,144, 9,254, 80, 80, 9,203, 26,208, 4,211,186, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 51, 0, 0, 0, 0, 0, 0, 0,123, 15, 15, 6, 52, 0,124, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 9,244,237,192, 9,244,237,192, 9,244,235,128, 9,244,236,160, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,235,128, 0, 0, 0,198, 0, 0, 0, 1, 9,244,236,160,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68,140, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,198,128, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 51, 0, 0, 0, 0, 0, 0, 0, 25, 68,198, 96, 0, 65,200, 0, 0, 68,198, 96, 0,
+ 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 6, 52, 0, 26, 6, 52,
+ 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 51, 0, 0, 0, 0, 0, 0, 0, 25,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 52, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,236,160,
+ 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,244,235,128,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0,
+192, 17,189,112, 67,125, 70,246, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 6, 51, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 6, 51, 0, 0, 0, 18, 0, 0, 0, 97,
+ 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, 0, 0, 2, 0,
+ 0, 4, 4, 0, 0, 8, 6, 52, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 51, 0, 0, 0, 26, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 52, 0, 98,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,188, 9,244,237,192, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96, 9,244,238,176, 0, 0, 0,197,
+ 0, 0, 0, 1, 9,244,243,176, 9,244,234,240, 9,202,233,240, 11, 21,225, 32, 4,211,174, 48, 11, 29,185,144, 0, 0, 0, 0,
+ 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 1,185, 0, 0, 3, 31, 3, 3, 1, 74, 1,103, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 9,244,241,128, 9,244,241,128, 9,244,239, 64, 9,244,240, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,239, 64, 0, 0, 0,198, 0, 0, 0, 1, 9,244,240, 96, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,165, 0, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 0, 0, 0, 0, 25, 67,164,128, 0, 65,200, 0, 0, 67,164,128, 0, 65,200, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 74, 0, 26, 1, 74, 0, 26, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 3, 6, 0, 0, 3, 31, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,240, 96, 0, 0, 0,198,
+ 0, 0, 0, 1, 0, 0, 0, 0, 9,244,239, 64, 0, 0, 0, 0, 67,141,128, 0,194,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,156,128, 0,195,157,128, 0, 0, 0, 0, 0, 0, 0, 1, 57, 0, 0, 1, 74, 0, 0, 0, 18, 0, 0, 1, 76, 0, 0, 0, 0,
+ 0, 0, 1, 56, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 18, 0, 0, 1, 76, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3, 0, 0, 4, 12,
+ 0, 6, 1, 74, 1, 77, 1, 57, 1, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126,
+ 0, 0, 1,185, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 1, 77, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,244, 9,244,241,128, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244,242,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 68, 65, 84, 65, 0, 0, 0, 12, 9,244,242,160, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14,
+ 9,244,242,224, 68, 65, 84, 65, 0, 0, 0,168, 9,244,242,224, 0, 0, 0,219, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 1,
+ 2,154,244, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,154,244, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,154,244, 32, 0, 21, 0, 1,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 31,176, 0, 0, 0, 0, 0, 1, 0, 1, 2,174, 10, 32,
+ 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 39, 32, 0, 0, 0, 0, 0, 1, 0, 1, 2,187,108, 32, 0, 0, 0, 0, 0, 1, 0, 1,
+ 11, 28, 37,112, 0, 0, 0, 0, 0, 1, 0, 1, 2,206,150, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 28, 64, 0, 0, 0, 0,
+ 0, 1, 0, 1, 2,212,100, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 27,176, 0, 21, 0, 0, 0, 1, 0, 1, 2,154,244, 32,
+ 68, 65, 84, 65, 0, 0, 0, 96, 9,244,243,176, 0, 0, 0,197, 0, 0, 0, 1, 9,244,251, 0, 9,244,238,176, 11, 21,219,240,
+ 11, 29,143, 96, 12, 96, 12, 32, 9,203, 26,208, 0, 0, 0, 0, 0, 0, 2,165, 0, 0, 6, 51, 0, 0, 0,125, 0, 0, 3,233,
+ 1, 1, 3,143, 3,109, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244,249,224, 9,244,249,224, 9,244,244, 64,
+ 9,244,248,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,244, 64,
+ 0, 0, 0,198, 0, 0, 0, 1, 9,244,245, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68,113, 64, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 68, 99,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 0, 0, 0, 0, 0, 0, 0, 25,
+ 68, 99,128, 0, 65,200, 0, 0, 68, 99,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3,
+ 0, 4, 0, 12, 0, 10, 3,143, 0, 26, 3,143, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,165,
+ 0, 0, 6, 51, 0, 0, 0,125, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 0, 26,
+ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 9,244,245, 96, 0, 0, 0,198, 0, 0, 0, 1, 9,244,246,128, 9,244,244, 64, 0, 0, 0, 0,
+ 67, 15, 0, 0,196, 70, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255, 0, 0, 0, 0, 0, 0, 0,143,
+ 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143, 3, 26, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,165, 0, 0, 2,165, 0, 0, 0,151, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 83, 0, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,246,128, 0, 0, 0,198, 0, 0, 0, 1,
+ 9,244,247,160, 9,244,245, 96, 0, 0, 0, 0, 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231,
+194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160,
+ 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,165, 0, 0, 6, 51, 0, 0, 0,151,
+ 0, 0, 0,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 9,244,247,160, 0, 0, 0,198, 0, 0, 0, 1, 9,244,248,192, 9,244,246,128, 0, 0, 0, 0, 67, 35, 0, 0,196, 96,128, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196, 96,128, 0, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18,
+ 0, 0, 3,147, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18,
+ 0, 0, 3,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0,
+ 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 3,148, 0,163, 3,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 51, 0, 0, 6, 51, 0, 0, 0,151, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,248,192, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,244,247,160,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,165, 0, 0, 6, 51, 0, 0, 0,151, 0, 0, 3,233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 3, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,199,250, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,199,250, 32, 0, 0, 0,156,
+ 0, 0, 0, 1, 63,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,149,222,233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 13, 28,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 76,215, 74,
+ 0, 0, 0, 0, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35,
+ 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214,
+ 63,128, 0, 0, 62,209,239, 69, 63,105,119, 70,188, 89, 84,176, 0, 0, 0, 0,190,205,177, 53, 62, 70, 74,142, 63,101, 33,166,
+ 0, 0, 0, 0, 63, 81,158,185,190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 96,164,192,173,121,111, 64,213,209,248,
+ 63,128, 0, 0, 62,229,157,178,190,240,214,123,191, 81,180, 48,191, 81,158,184, 63,127, 90,117, 62,104, 44, 29, 62,185, 63, 26,
+ 62,185, 44, 35,188,109,180,145, 63,134, 36, 25,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,185, 9,
+ 65,111,211,214, 62,191,240, 8, 63, 85,116,130,188, 70,191,112,180,224, 0, 0,190,175,172,179, 62, 41, 90,143, 63, 67,177,193,
+ 52, 8, 0, 0,194,117,107,207, 65,216,204, 80,194, 5,156, 41,192,159,247,136, 66,114, 62,121,193,213,253,213, 66, 3,225, 95,
+ 64,160, 7,236, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35,
+ 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214,
+ 63,128, 0, 0, 62,229,157,178,190,240,214,123,191, 81,180, 48,191, 81,158,184, 63,127, 90,117, 62,104, 44, 29, 62,185, 63, 26,
+ 62,185, 44, 35,188,109,180,145, 63,134, 36, 25,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,185, 9,
+ 65,111,211,214, 64, 16,106, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 16,106, 93, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 16,106, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237,190,234,236, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0,
+ 0, 0, 0, 0, 59, 3,139,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 66, 12, 33, 30, 66,137,152, 86,
+ 66,126, 27,116, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,240, 9,244,249,224, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 1, 0, 7, 2,212,100, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 8, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 61,204,204,205, 67,250, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 7, 1,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,244,251, 0, 0, 0, 0,197, 0, 0, 0, 1,
+ 9,245, 1,144, 9,244,243,176, 9,254, 80, 80, 9,251,242,176, 9,253,135, 0, 11, 21,219,240, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2,163, 0, 0, 0,125, 0, 0, 1,107, 2, 2, 2,164, 0,239, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 9,245, 0, 16, 9,245, 0, 16, 9,244,251,144, 9,244,254,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 9,244,251,144, 0, 0, 0,198, 0, 0, 0, 1, 9,244,252,176, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68,119, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 41, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2,163, 0, 0, 0, 0, 0, 0, 0, 25, 68, 40,192, 0, 65,200, 0, 0, 68, 40,192, 0, 65,200, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 2,164, 0, 26, 2,164, 0, 26, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,163, 0, 0, 0,125, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2,164, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,252,176, 0, 0, 0,198, 0, 0, 0, 1,
+ 9,244,253,208, 9,244,251,144, 0, 0, 0, 0, 67, 72, 0, 0,193,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 72, 0, 0,
+195, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0,199,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 10, 0, 0, 0, 2, 3, 3, 0, 0, 4, 0, 0, 6, 0,217,
+ 0,213, 0,200, 0,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,151,
+ 0, 0, 1,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0,213, 0, 0, 0, 2, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 9,244,253,208, 0, 0, 0,198, 0, 0, 0, 1, 9,244,254,240, 9,244,252,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2,163, 0, 0, 2,163, 0, 0, 0,151, 0, 0, 1,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,244,254,240, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,244,253,208,
+193, 16, 0, 0, 67,130, 0, 0,192,160, 0, 0, 64,160, 0, 0, 0, 0, 0, 0, 67,122, 0, 0,193, 16, 0, 0, 65, 32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,212, 0, 0, 0, 18, 0, 0, 1,202, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 18, 0, 0, 1,202, 0, 0, 0, 18, 0, 0, 0,212, 58,131, 18,111, 58,131, 18,111, 72,146,124, 0, 71, 67, 80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1,203, 0,213, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 2,163, 0, 0, 0,151, 0, 0, 1,107, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,203, 0,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,208, 9,245, 0, 16, 0, 0, 0,161,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 1, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 88, 9,245, 1, 16,
+ 0, 0, 1, 19, 0, 0, 0, 1, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 96, 9,245, 1,144, 0, 0, 0,197, 0, 0, 0, 1, 9,245, 6,192, 9,244,251, 0, 9,251,242,176,
+ 9,253,198, 16, 11, 29,143, 96, 9,253,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,163, 0, 0, 1,109, 0, 0, 3,233,
+ 12, 12, 2,164, 2,125, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 5,128, 9,245, 5,128, 9,245, 2, 32,
+ 9,245, 4, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 2, 32,
+ 0, 0, 0,198, 0, 0, 0, 1, 9,245, 3, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68,124,192, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 68, 41, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,163, 0, 0, 0, 0, 0, 0, 0, 25,
+ 68, 40,192, 0, 65,200, 0, 0, 68, 40,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3,
+ 0, 4, 0, 12, 0, 10, 2,164, 0, 26, 2,164, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2,163, 0, 0, 1,109, 0, 0, 1,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,164, 0, 26,
+ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 9,245, 3, 64, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 4, 96, 9,245, 2, 32, 0, 0, 0, 0,
+ 67, 55, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 72, 0, 0,196, 20, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 2, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 4, 8, 0, 0, 0, 2, 3, 3, 0, 0, 4, 2, 0, 6, 0,200, 2, 99, 0,200, 2, 81, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 1,135, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 2, 99, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 4, 96, 0, 0, 0,198, 0, 0, 0, 1,
+ 0, 0, 0, 0, 9,245, 3, 64,193, 32, 0, 0, 68,104, 0, 0,194, 0, 0, 0, 0, 0, 0, 0,193, 32, 0, 0, 68,104, 0, 0,
+196, 20, 64, 0, 0, 0, 0, 0, 0, 0, 1,203, 0, 0, 1,220, 0, 0, 0, 18, 0, 0, 2, 98, 0, 0, 0, 0, 0, 0, 1,202,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1,202, 0, 0, 0, 18, 0, 0, 2, 98, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72,146,124, 0, 70, 28, 64, 0, 60, 35,215, 10, 66, 72, 0, 0, 0, 74, 0, 0, 0, 0, 2, 0, 0, 0, 4, 2, 0, 4, 1,220,
+ 2, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 2,163, 0, 0, 1,135,
+ 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,220, 2, 99, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 24,
+ 9,245, 5,128, 0, 0, 1, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,245, 6,192, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 1,144,
+ 11, 21,225, 32, 12, 96, 12, 32, 9,249, 51, 0, 4,211,174, 48, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 3, 33,
+ 0, 0, 3,233, 1, 1, 1, 74, 0,201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 9,144, 9,245, 9,144,
+ 9,245, 7, 80, 9,245, 8,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 9,245, 7, 80, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 8,112, 0, 0, 0, 0, 0, 0, 0, 0, 68,102, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 67,165, 0, 0, 64, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 0,
+ 0, 0, 0, 23, 67,164,128, 0, 65,200, 0, 0, 67,164,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 74, 0, 24, 1, 74, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 3, 33, 0, 0, 3, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 8,112, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 7, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 3, 33, 0, 0, 3,233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,199,254, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,199,254, 32, 0, 0, 0,156,
+ 0, 0, 0, 1, 64, 13,255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,105, 33, 29, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 65,154,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 77, 1, 72,
+ 0, 0, 0, 0, 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149,
+ 0, 0, 0, 0,188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152,
+ 63,128, 0, 0, 63, 47,149,223, 63, 58, 70, 55,188, 49, 56,192, 0, 0, 0, 0,190,162,126, 87, 62,159,251,228, 63,101, 53, 56,
+ 0, 0, 0, 0, 63, 39,165, 7,191, 28, 84,150, 62,227,247, 50, 0, 0, 0, 0, 64,239,101,110,192,208, 62,151, 64,170,255, 77,
+ 63,128, 0, 0, 63,194,201, 48,191,147,250, 0,191, 39,250,244,191, 39,165, 8, 63,206,164,191, 63,145,176,241, 63, 28,164,180,
+ 63, 28, 84,149,188,196,153,224, 64, 80,187, 20,190,228,108, 8,190,227,247, 50,191, 64, 21,127,191,175,162,255, 65, 49, 49,216,
+ 65, 52, 9,152, 62,158, 70,194, 62,167,233,240,187,159,206, 32,180,168, 0, 0,189,178,111, 34, 61,175,173,170, 62,123,177,170,
+ 51, 8, 0, 0,194, 21,120,211, 66, 2, 5,144,193,213,136, 9,192,159,214,193, 66, 19, 38,219,193,255,173,196, 65,210,101,157,
+ 64,160, 40,173, 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149,
+ 0, 0, 0, 0,188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152,
+ 63,128, 0, 0, 63,194,201, 48,191,147,250, 0,191, 39,250,244,191, 39,165, 8, 63,206,164,191, 63,145,176,241, 63, 28,164,180,
+ 63, 28, 84,149,188,196,153,224, 64, 80,187, 20,190,228,108, 8,190,227,247, 50,191, 64, 21,127,191,175,162,255, 65, 49, 49,216,
+ 65, 52, 9,152, 64, 19,137,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 19,137,126, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 19,137,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63, 72, 22,241,190,246,162, 78,190, 90, 8, 44,190,171, 35, 3, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 59, 51, 4,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,255,255, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 63,128, 0, 0, 66, 65,133,190, 66, 90,212,100,
+ 66,118,183, 31, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,240, 9,245, 9,144, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 1, 0, 7, 2,212,100, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 3, 0, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 60, 35,215, 10, 67,250, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 7, 1,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 9,245, 11, 16, 0, 0, 0,193, 0, 0, 0, 1,
+ 11, 29,167, 48, 9,244,204,208, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111,109,112,111,115,105,116,105,110,103, 0,103, 46,
+ 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 11,208, 9,245, 15, 16, 9,245, 15, 80,
+ 9,245, 20,144, 9,245, 20,208, 11, 30, 87,176, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 11,208,
+ 0, 0, 0,194, 0, 0, 0, 1, 9,245, 12, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 9,245, 12, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 12, 80, 9,245, 11,208, 0, 0, 0, 0, 0, 0, 4, 5,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 12, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 12,144, 9,245, 12, 16,
+ 0, 0, 0, 0, 7,126, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 12,144, 0, 0, 0,194, 0, 0, 0, 1,
+ 9,245, 12,208, 9,245, 12, 80, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 12,208,
+ 0, 0, 0,194, 0, 0, 0, 1, 9,245, 13, 16, 9,245, 12,144, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1, 68, 65, 84, 65,
+ 0, 0, 0, 20, 9,245, 13, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 13, 80, 9,245, 12,208, 0, 0, 0, 0, 7,126, 3,234,
+ 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 13, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 13,144, 9,245, 13, 16,
+ 0, 0, 0, 0, 6, 32, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 13,144, 0, 0, 0,194, 0, 0, 0, 1,
+ 9,245, 13,208, 9,245, 13, 80, 0, 0, 0, 0, 7,126, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 13,208,
+ 0, 0, 0,194, 0, 0, 0, 1, 9,245, 14, 16, 9,245, 13,144, 0, 0, 0, 0, 6, 32, 3,234, 0, 0, 0, 1, 68, 65, 84, 65,
+ 0, 0, 0, 20, 9,245, 14, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 14, 80, 9,245, 13,208, 0, 0, 0, 0, 0, 0, 1,140,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 14, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 14,144, 9,245, 14, 16,
+ 0, 0, 0, 0, 6, 32, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 14,144, 0, 0, 0,194, 0, 0, 0, 1,
+ 9,245, 14,208, 9,245, 14, 80, 0, 0, 0, 0, 3, 4, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 14,208,
+ 0, 0, 0,194, 0, 0, 0, 1, 9,245, 15, 16, 9,245, 14,144, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 9,245, 15, 16, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 14,208, 0, 0, 0, 0, 6, 32, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 15, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 15,144, 0, 0, 0, 0,
+ 9,245, 12, 16, 9,245, 12, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 15,144, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,245, 15,208, 9,245, 15, 80, 9,245, 12, 16, 9,245, 12,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,245, 15,208, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16, 16, 9,245, 15,144, 9,245, 12, 80, 9,245, 13, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16, 80,
+ 9,245, 15,208, 9,245, 12,208, 9,245, 13, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16, 80,
+ 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16,144, 9,245, 16, 16, 9,245, 12,144, 9,245, 13,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16,144, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16,208, 9,245, 16, 80, 9,245, 13, 80,
+ 9,245, 13,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16,208, 0, 0, 0,195, 0, 0, 0, 1,
+ 9,245, 17, 16, 9,245, 16,144, 9,245, 13, 16, 9,245, 13,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 9,245, 17, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 17, 80, 9,245, 16,208, 9,245, 12,208, 9,245, 13,208, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 17, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 17,144, 9,245, 17, 16,
+ 9,245, 13, 80, 9,245, 13,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 17,144, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,245, 17,208, 9,245, 17, 80, 9,245, 13, 16, 9,245, 13,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,245, 17,208, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18, 16, 9,245, 17,144, 9,245, 12,208, 9,245, 14, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18, 80,
+ 9,245, 17,208, 9,245, 13,208, 9,245, 14, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18, 80,
+ 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18,144, 9,245, 18, 16, 9,245, 14, 16, 9,245, 14, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18,144, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18,208, 9,245, 18, 80, 9,245, 14, 16,
+ 9,245, 14,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18,208, 0, 0, 0,195, 0, 0, 0, 1,
+ 9,245, 19, 16, 9,245, 18,144, 9,245, 14, 80, 9,245, 14,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 9,245, 19, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 19, 80, 9,245, 18,208, 9,245, 11,208, 9,245, 14,208, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 19, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 19,144, 9,245, 19, 16,
+ 9,245, 14,208, 9,245, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 19,144, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,245, 19,208, 9,245, 19, 80, 9,245, 12,144, 9,245, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,245, 19,208, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 20, 16, 9,245, 19,144, 9,245, 13, 80, 9,245, 15, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 20, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 20, 80,
+ 9,245, 19,208, 9,245, 14,144, 9,245, 14,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 20, 80,
+ 0, 0, 0,195, 0, 0, 0, 1, 9,245, 20,144, 9,245, 20, 16, 9,245, 14, 80, 9,245, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 20,144, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 20, 80, 9,245, 11,208,
+ 9,245, 14, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,245, 20,208, 0, 0, 0,197, 0, 0, 0, 1,
+ 9,245, 23,160, 0, 0, 0, 0, 9,245, 12,208, 9,245, 12, 16, 9,245, 12, 80, 9,245, 13, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5, 7, 7, 7,127, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0,
+ 9,245, 55,192, 9,245, 55,192, 9,245, 21, 96, 9,245, 22,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 9,245, 21, 96, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 22,128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25, 68,239,192, 0, 65,200, 0, 0, 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,127, 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 22,128, 0, 0, 0,198, 0, 0, 0, 1,
+ 0, 0, 0, 0, 9,245, 21, 96, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255,
+192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129,
+ 0, 2, 7,112, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5,
+ 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96,
+ 9,245, 23,160, 0, 0, 0,197, 0, 0, 0, 1, 9,245, 27, 96, 9,245, 20,208, 9,245, 15, 16, 9,245, 13, 80, 9,245, 13,144,
+ 9,245, 12,144, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 91, 15, 15, 1, 94, 0, 92, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 26,112, 9,245, 26,112, 9,245, 24, 48, 9,245, 25, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 24, 48, 0, 0, 0,198, 0, 0, 0, 1,
+ 9,245, 25, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68,115,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,175, 0, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0, 0, 0, 0, 25, 67,174,128, 0, 65,200, 0, 0,
+ 67,174,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 94,
+ 0, 26, 1, 94, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 0,
+ 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 9,245, 25, 80, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 24, 48,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0,
+ 66, 72, 0, 0,193, 74, 51, 50, 67,131,209,154, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 18,
+ 0, 0, 0, 65, 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0,
+ 0, 0, 2, 0, 0, 4, 4, 0, 0, 8, 1, 94, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 26, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 94, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,188, 9,245, 26,112, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96, 9,245, 27, 96,
+ 0, 0, 0,197, 0, 0, 0, 1, 9,245, 48,112, 9,245, 23,160, 9,245, 13, 80, 9,245, 13,208, 9,245, 13, 16, 9,245, 13,144,
+ 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 93, 0, 0, 3,233, 4, 4, 1, 94, 3,141, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 47,112, 9,245, 47,112, 9,245, 27,240, 9,245, 29, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 27,240, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 29, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,148, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,175, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0, 0, 0, 0, 25, 67,174,128, 0, 65,200, 0, 0, 67,174,128, 0,
+ 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 94, 0, 26, 1, 94,
+ 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 3,208, 0, 0, 3,233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 29, 16,
+ 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 27,240, 0, 0, 0, 0, 67,174,128, 0,196, 92,128, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,166,127,255,196, 92,191,255, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 1, 94, 0, 0, 0, 0, 0, 0, 3,114,
+ 0, 0, 0, 0, 0, 0, 1, 82, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 76, 0, 0, 0, 0, 0, 0, 3,114,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7,
+ 0, 18, 4, 0, 0, 6, 1, 94, 3,115, 1, 77, 3,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 33,
+ 0, 0, 7,126, 0, 0, 0, 93, 0, 0, 3,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 3,115,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 30, 48, 9,245, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 30, 48, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 31,160, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,255,220, 1, 76, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 31,160,
+ 0, 0, 0,196, 0, 0, 0, 1, 9,245, 33, 16, 9,245, 30, 48, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 76, 0, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 33, 16, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 34,128,
+ 9,245, 31,160, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,111, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 9,245, 34,128, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 35,240, 9,245, 33, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,254,140, 1, 76, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 35,240, 0, 0, 0,196,
+ 0, 0, 0, 1, 9,245, 37, 96, 9,245, 34,128, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,
+116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,
+116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,
+103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 58, 1, 76, 0, 58, 0, 20, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 37, 96, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 38,208, 9,245, 35,240,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 34, 1, 76, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 9,245, 38,208, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 40, 64, 9,245, 37, 96, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,
+105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 10,
+ 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 40, 64, 0, 0, 0,196, 0, 0, 0, 1,
+ 9,245, 41,176, 9,245, 38,208, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,
+109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,
+109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,242, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 41,176, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 43, 32, 9,245, 40, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,253,218, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 43, 32,
+ 0, 0, 0,196, 0, 0, 0, 1, 9,245, 44,144, 9,245, 41,176, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,194, 1, 76, 0, 0,
+ 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 44,144, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 46, 0,
+ 9,245, 43, 32, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 40, 1, 76, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 9,245, 46, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 44,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,253, 16, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 9,245, 47,112, 0, 0, 0,162,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 96, 9,245, 48,112, 0, 0, 0,197, 0, 0, 0, 1, 11, 30, 86, 0, 9,245, 27, 96, 9,245, 14,208, 9,245, 14,144,
+ 9,245, 14, 80, 9,245, 15, 16, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 6, 31, 0, 0, 0, 0, 0, 0, 1,139, 1, 1, 3, 27,
+ 1,140, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 54,160, 9,245, 54,160, 9,245, 49, 0, 9,245, 53,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 49, 0, 0, 0, 0,198,
+ 0, 0, 0, 1, 9,245, 50, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68,113, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 68, 70,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 0, 0, 0, 0, 25, 68, 70,128, 0,
+ 65,200, 0, 0, 68, 70,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12,
+ 0, 10, 3, 27, 0, 26, 3, 27, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 6, 31,
+ 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 0, 26, 0, 0, 0, 1,
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 9,245, 50, 32, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 51, 64, 9,245, 49, 0, 0, 0, 0, 0, 67, 15, 0, 0,
+196, 70, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160,
+ 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142,
+ 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 3, 5, 0, 0, 0, 26, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 1,114, 0, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 51, 64, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 52, 96,
+ 9,245, 50, 32, 0, 0, 0, 0, 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231,194,206, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143,
+ 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 6, 31, 0, 0, 0, 26, 0, 0, 0, 26,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 52, 96,
+ 0, 0, 0,198, 0, 0, 0, 1, 9,245, 53,128, 9,245, 51, 64, 0, 0, 0, 0, 67, 35, 0, 0,196,108,192, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67, 35, 0, 0,195,184, 0, 0, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 1,129,
+ 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 1,129,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7,
+ 0, 18, 0, 0, 0, 6, 0,180, 1,130, 0,163, 1,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 31,
+ 0, 0, 6, 31, 0, 0, 0, 26, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+ 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 9,245, 53,128, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 52, 96, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 6, 31, 0, 0, 0, 26, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 1,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2,205,220, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,205,220, 32, 0, 0, 0,156, 0, 0, 0, 1,
+ 63,230,101, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,119,133, 30, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,191,128, 65,154,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 77, 1, 72, 0, 0, 0, 0,
+ 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0,
+188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152, 63,128, 0, 0,
+ 63, 47,149,223, 63, 58, 70, 55,188, 49, 56,192, 0, 0, 0, 0,190,162,126, 87, 62,159,251,228, 63,101, 53, 56, 0, 0, 0, 0,
+ 63, 39,165, 7,191, 28, 84,150, 62,227,247, 50, 0, 0, 0, 0, 64,239,101,110,192,208, 62,151, 64,170,255, 77, 63,128, 0, 0,
+ 63,158, 6, 42,191,157, 28, 99,191, 39,250,244,191, 39,165, 8, 63,167,164,211, 63,154,175, 55, 63, 28,164,180, 63, 28, 84,149,
+188,159,127, 39, 64, 93,157,135,190,228,108, 8,190,227,247, 50,191, 27,213, 4,191,186,122,122, 65, 49, 49,216, 65, 52, 9,152,
+ 62,195, 25, 25, 62,206,249,176,187,196,238,128,179,192, 0, 0,189,168, 15, 55, 61,165,118,201, 62,109, 15,152, 51,152, 0, 0,
+194, 21,120,211, 66, 2, 5,144,193,213,136, 6,192,159,214,193, 66, 19, 38,219,193,255,173,196, 65,210,101,154, 64,160, 40,173,
+ 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0,
+188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152, 63,128, 0, 0,
+ 63,158, 6, 42,191,157, 28, 99,191, 39,250,244,191, 39,165, 8, 63,167,164,211, 63,154,175, 55, 63, 28,164,180, 63, 28, 84,149,
+188,159,127, 39, 64, 93,157,135,190,228,108, 8,190,227,247, 50,191, 27,213, 4,191,186,122,122, 65, 49, 49,216, 65, 52, 9,152,
+ 63,150,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,150,250, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,150,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63, 72, 22,241,190,246,162, 78,190, 90, 8, 44,190,171, 35, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0,
+ 58,183, 49, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 55, 62, 92,
+190,224,186, 56,190,148,203,237,190,234,236, 3, 0, 1, 0, 0, 63,128, 0, 0, 66, 65,133,190, 66, 90,212,100, 66,118,183, 31,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,240, 9,245, 54,160, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7,
+ 2,212,100, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,
+ 0, 3, 0, 0, 0, 1, 0, 3, 8, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 61,204,204,205, 67,250, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 7, 1, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 30, 86, 0, 0, 0, 0,197, 0, 0, 0, 1, 11, 30, 87,176,
+ 9,245, 48,112, 9,245, 14, 16, 9,245, 12,208, 9,245, 13,208, 9,245, 14, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 31,
+ 0, 0, 1,141, 0, 0, 3,233, 16, 16, 6, 32, 2, 93, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 29,189, 64,
+ 11, 29,189, 64, 11, 30, 86,144, 11, 29,188, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 30, 86,144, 0, 0, 0,198, 0, 0, 0, 1, 11, 29,188, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68, 66,128, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,196, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 31,
+ 0, 0, 0, 0, 0, 0, 0, 25, 68,195,224, 0, 65,200, 0, 0, 68,195,224, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 6, 32, 0, 26, 6, 32, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 31, 0, 0, 1,141, 0, 0, 1,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 32, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29,188, 32, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0,
+ 11, 30, 86,144,193, 32, 0, 0, 68, 0, 0, 0,193, 32, 0, 0, 68, 0, 0, 0,195,217,195,128, 68,108,225,192, 64,187,240, 96,
+ 67,253, 16, 62, 0, 0, 6, 15, 0, 0, 6, 32, 0, 0, 0, 18, 0, 0, 2, 66, 0, 0, 0, 0, 0, 0, 6, 14, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 6, 14, 0, 0, 0, 18, 0, 0, 2, 66, 63,128, 0, 0, 63,128, 0, 0, 70,250, 0, 0,
+ 70,250, 0, 0, 61,184, 81,236, 64, 19,215, 10, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 6, 32, 2, 67, 6, 15,
+ 2, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 31, 0, 0, 1,167, 0, 0, 3,233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 32, 2, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,252, 11, 29,189, 64,
+ 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 19,215, 10, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 97,206, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 30, 87,176, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 11, 30, 86, 0,
+ 9,245, 11,208, 9,245, 14, 16, 9,245, 14,144, 9,245, 14,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
+ 0, 0, 1,139, 6, 6, 3, 4, 1,140, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,217,154, 32, 2,217,154, 32,
+ 11, 29,190,112, 11, 29,166, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 29,190,112, 0, 0, 0,198, 0, 0, 0, 1, 11, 29,164,240, 0, 0, 0, 0, 0, 0, 0, 0, 67,215, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 68, 65, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
+ 0, 0, 0, 25, 68, 64,192, 0, 65,200, 0, 0, 68, 64,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 3, 4, 0, 26, 3, 4, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 4, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29,164,240, 0, 0, 0,198, 0, 0, 0, 1, 11, 29,166, 16, 11, 29,190,112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 1,139, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29,166, 16, 0, 0, 0,198,
+ 0, 0, 0, 1, 0, 0, 0, 0, 11, 29,164,240, 0, 0, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 67,128, 0, 0,191,129, 0, 0,
+ 64, 0,128, 0,190,100, 0, 0, 63,156,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 1,114, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3,
+ 0, 0, 0, 26, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 1,114, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 32,248, 2,217,154, 32, 0, 0, 0,167, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 65,240, 0, 0, 0, 0, 0, 0, 62,153,153,154, 0, 0, 0, 0, 0, 0, 0,100, 62,153,153,154, 0, 0, 0,100, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 11, 29,167, 48, 0, 0, 0,193, 0, 0, 0, 1, 9,253,180,224,
+ 9,245, 11, 16, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 29,191,144, 9,242, 80,144, 9,242, 80,208, 9,242, 85, 16,
+ 9,242, 85, 80, 10,122, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 13, 0, 0, 0, 0, 0, 0, 0, 54,192,152,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,191,144, 0, 0, 0,194,
+ 0, 0, 0, 1, 9,242, 78, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20,
+ 9,242, 78, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 78, 80, 11, 29,191,144, 0, 0, 0, 0, 0, 0, 4,128, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 78, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 78,144, 9,242, 78, 16, 0, 0, 0, 0,
+ 7,128, 4,128, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 78,144, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 78,208,
+ 9,242, 78, 80, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 78,208, 0, 0, 0,194,
+ 0, 0, 0, 1, 9,242, 79, 16, 9,242, 78,144, 0, 0, 0, 0, 0, 0, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20,
+ 9,242, 79, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 79, 80, 9,242, 78,208, 0, 0, 0, 0, 7,128, 4,100, 0, 0, 0, 1,
+ 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 79, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 79,144, 9,242, 79, 16, 0, 0, 0, 0,
+ 6, 72, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 79,144, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 79,208,
+ 9,242, 79, 80, 0, 0, 0, 0, 6, 72, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 79,208, 0, 0, 0,194,
+ 0, 0, 0, 1, 9,242, 80, 16, 9,242, 79,144, 0, 0, 0, 0, 6, 72, 3,164, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20,
+ 9,242, 80, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 80, 80, 9,242, 79,208, 0, 0, 0, 0, 7,128, 3,164, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 80, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 80,144, 9,242, 80, 16, 0, 0, 0, 0,
+ 0, 0, 0,132, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 80,144, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0,
+ 9,242, 80, 80, 0, 0, 0, 0, 6, 72, 0,132, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 80,208, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,242, 81, 16, 0, 0, 0, 0, 9,242, 78, 16, 9,242, 78, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,242, 81, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 81, 80, 9,242, 80,208, 9,242, 78, 16, 9,242, 78,208,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 81, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 81,144,
+ 9,242, 81, 16, 9,242, 78, 80, 9,242, 79, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 81,144,
+ 0, 0, 0,195, 0, 0, 0, 1, 9,242, 81,208, 9,242, 81, 80, 9,242, 78,208, 9,242, 79, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 81,208, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 82, 16, 9,242, 81,144, 9,242, 79, 80,
+ 11, 29,191,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 82, 16, 0, 0, 0,195, 0, 0, 0, 1,
+ 9,242, 82, 80, 9,242, 81,208, 9,242, 78,144, 9,242, 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 9,242, 82, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 82,144, 9,242, 82, 16, 9,242, 78,208, 9,242, 79,144, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 82,144, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 82,208, 9,242, 82, 80,
+ 9,242, 79, 16, 9,242, 79,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 82,208, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,242, 83, 16, 9,242, 82,144, 9,242, 79, 80, 9,242, 79,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,242, 83, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 83, 80, 9,242, 82,208, 9,242, 79,144, 9,242, 79,208,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 83, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 83,144,
+ 9,242, 83, 16, 9,242, 79, 16, 9,242, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 83,144,
+ 0, 0, 0,195, 0, 0, 0, 1, 9,242, 83,208, 9,242, 83, 80, 9,242, 78,144, 9,242, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 83,208, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 84, 16, 9,242, 83,144, 9,242, 79,208,
+ 9,242, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 84, 16, 0, 0, 0,195, 0, 0, 0, 1,
+ 9,242, 84, 80, 9,242, 83,208, 9,242, 80, 80, 11, 29,191,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 9,242, 84, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 84,144, 9,242, 84, 16, 9,242, 78,208, 9,242, 80, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 84,144, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 84,208, 9,242, 84, 80,
+ 9,242, 79,144, 9,242, 80,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 84,208, 0, 0, 0,195,
+ 0, 0, 0, 1, 9,242, 85, 16, 9,242, 84,144, 9,242, 79, 80, 9,242, 80,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 9,242, 85, 16, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 9,242, 84,208, 9,242, 80, 80, 9,242, 80,144,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,242, 85, 80, 0, 0, 0,197, 0, 0, 0, 1, 9,242, 88, 32,
+ 0, 0, 0, 0, 9,242, 78,208, 9,242, 78, 16, 9,242, 78, 80, 9,242, 79, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128,
+ 0, 0, 4,101, 0, 0, 4,128, 7, 7, 7,129, 0, 28, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 2, 23,166,224, 10,122, 9,112,
+ 10,122, 9,112, 9,242, 85,224, 9,242, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 47,224, 9,244, 48, 64, 68, 65, 84, 65,
+ 0, 0, 0,248, 9,242, 85,224, 0, 0, 0,198, 0, 0, 0, 1, 9,242, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,134,128, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,240, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128,
+ 0, 0, 0, 0, 0, 0, 0, 25, 68,240, 0, 0, 65,200, 0, 0, 68,240, 0, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,129, 0, 26, 7,129, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,101, 0, 0, 4,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 7,129, 0, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 23,168, 48, 11, 30, 71, 96, 11, 30, 71, 96, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 48,240, 9,244, 50, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,242, 87, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0,
+ 9,242, 85,224, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,237,255,255, 0, 0, 0, 0,
+ 64, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112,
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,127, 0, 0, 4,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,129, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,167,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 9,244, 51, 0, 9,244, 51,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,242, 88, 32,
+ 0, 0, 0,197, 0, 0, 0, 1, 9,242,106,192, 9,242, 85, 80, 9,242, 79, 80, 9,242, 79,208, 9,242, 80, 16, 9,242, 78,144,
+ 0, 0, 0, 0, 0, 0, 6, 73, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 3,163, 4, 4, 1, 56, 3,164, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 8, 2, 23,163,224, 11, 29, 3,128, 11, 29, 3,128, 9,242, 88,176, 9,242, 89,208, 0, 0, 0, 0, 0, 0, 0, 0,
+ 9,244, 94, 64, 9,244, 53, 16, 68, 65, 84, 65, 0, 0, 0,248, 9,242, 88,176, 0, 0, 0,198, 0, 0, 0, 1, 9,242, 89,208,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,148, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,156, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 0, 0, 0, 0, 0, 0, 0, 25, 67,155,128, 0, 65,200, 0, 0, 67,155,128, 0,
+ 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 56, 0, 26, 1, 56,
+ 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 73, 0, 0, 7,128, 0, 0, 3,138, 0, 0, 3,163,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 0, 26, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,166, 80, 11, 31,157,208, 11, 31,157,208, 0, 0, 0, 0,
+ 0, 0, 0, 0, 9,244, 53,192, 9,244, 55, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,242, 89,208,
+ 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,242, 88,176, 0, 0, 0, 0, 67,156, 0, 0,196, 98,128, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,147,128, 0,196, 98,128, 0, 0, 0, 0, 0, 0, 0, 1, 39, 0, 0, 1, 56, 0, 0, 0, 0, 0, 0, 3,137,
+ 0, 0, 0, 0, 0, 0, 1, 74, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 0, 0, 0, 3,137,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7,
+ 0, 18, 4, 0, 0, 6, 1, 56, 3,138, 1, 39, 3,138, 0, 0, 11, 29,248, 64, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 6, 73,
+ 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 3,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 3,138,
+ 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,164,160,
+ 9,254, 77,160, 10,117,132,112, 9,242, 90,240, 11, 29, 2, 16, 9,244, 55,208, 9,244, 57, 32, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 90,240, 0, 0, 0,196, 0, 0, 0, 1, 9,242, 92, 96, 0, 0, 0, 0, 2, 23,165, 48,
+ 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,255,220, 1, 39, 0, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 92, 96,
+ 0, 0, 0,196, 0, 0, 0, 1, 9,242, 93,208, 9,242, 90,240, 9,152,130,240, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 39, 0, 61,
+ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 93,208, 0, 0, 0,196, 0, 0, 0, 1, 9,242, 95, 64,
+ 9,242, 92, 96, 9,152,132,160, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,111, 1, 39, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0,
+ 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 9,242, 95, 64, 0, 0, 0,196, 0, 0, 0, 1, 9,242, 96,176, 9,242, 93,208, 9,152,134, 80, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,254,140, 1, 39, 0,203, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 96,176, 0, 0, 0,196,
+ 0, 0, 0, 1, 9,242, 98, 32, 9,242, 95, 64, 9,152,136, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,
+116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,
+116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,
+103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 58, 1, 39, 0, 58, 0, 20, 0, 0,
+ 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 98, 32, 0, 0, 0,196, 0, 0, 0, 1, 9,242, 99,144, 9,242, 96,176,
+ 9,152,137,176, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 34, 1, 39, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 11,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 9,242, 99,144, 0, 0, 0,196, 0, 0, 0, 1, 9,242,101, 0, 9,242, 98, 32, 9,152,139, 96, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,
+105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 10,
+ 1, 39, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242,101, 0, 0, 0, 0,196, 0, 0, 0, 1,
+ 9,242,102,112, 9,242, 99,144, 9,152,140,128, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,
+109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,
+109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,242, 1, 39, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6,
+ 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 9,242,102,112, 0, 0, 0,196, 0, 0, 0, 1, 9,242,103,224, 9,242,101, 0, 9,152,142, 48,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,253,218, 1, 39, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242,103,224,
+ 0, 0, 0,196, 0, 0, 0, 1, 9,242,105, 80, 9,242,102,112, 9,152,143,224, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,194, 1, 39, 0, 0,
+ 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242,105, 80, 0, 0, 0,196, 0, 0, 0, 1, 11, 28,249,112,
+ 9,242,103,224, 9,152,145,144, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 40, 1, 39, 0,130, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
+ 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 11, 28,249,112, 0, 0, 0,196, 0, 0, 0, 1, 11, 28,250,224, 9,242,105, 80, 9,152,148,240, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,253, 16, 1, 39, 0, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 28,250,224, 0, 0, 0,196,
+ 0, 0, 0, 1, 11, 28,252, 80, 11, 28,249,112, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,
+110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,
+110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 41, 0, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 28,252, 80, 0, 0, 0,196, 0, 0, 0, 1, 11, 28,253,192, 11, 28,250,224,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85,110,105,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 28, 1, 41, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 11, 28,253,192, 0, 0, 0,196, 0, 0, 0, 1, 11, 28,255, 48, 11, 28,252, 80, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78,
+ 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78,
+ 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,101,121,105,
+110,103, 32, 83,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,191,
+ 1, 41, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 28,255, 48, 0, 0, 0,196, 0, 0, 0, 1,
+ 11, 29, 0,160, 11, 28,253,192, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114, 97,118,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,131, 1, 41, 0, 36, 0, 20, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 11, 29, 0,160, 0, 0, 0,196, 0, 0, 0, 1, 11, 29, 2, 16, 11, 28,255, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,254, 27, 1, 41, 0, 80, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 29, 2, 16,
+ 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 11, 29, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84,
+ 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84,
+ 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,
+114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,223, 1, 41, 0, 36,
+ 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 11, 29, 3,128, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1,
+ 0, 0, 0, 0, 9,254, 87, 0, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,242,106,192,
+ 0, 0, 0,197, 0, 0, 0, 1, 11, 29, 7,176, 9,242, 88, 32, 11, 29,191,144, 9,242, 80, 80, 9,242, 80,144, 9,242, 79, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0,131, 15, 15, 6, 72, 0,132, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 23,133,112, 11, 29, 6,192, 11, 29, 6,192, 11, 29, 4,128, 11, 29, 5,160, 0, 0, 0, 0, 0, 0, 0, 0,
+ 9,244,136,240, 9,244, 58, 80, 68, 65, 84, 65, 0, 0, 0,248, 11, 29, 4,128, 0, 0, 0,198, 0, 0, 0, 1, 11, 29, 5,160,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68,140, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,201, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0, 25, 68,200,224, 0, 65,200, 0, 0, 68,200,224, 0,
+ 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 6, 72, 0, 26, 6, 72,
+ 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0, 25,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 72, 0, 26, 0, 6, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,134,192, 9,254, 82,208, 9,254, 82,208, 0, 0, 0, 0,
+ 0, 0, 0, 0, 9,244, 59, 0, 9,244, 60, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29, 5,160,
+ 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 29, 4,128,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0,
+194,103,218, 88, 67,141,147, 40, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 18, 0, 0, 0,105,
+ 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, 0, 0, 2, 0,
+ 0, 4, 4, 0, 0, 8, 6, 72, 0,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 71, 0, 0, 0, 26, 0, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 72, 0,106,
+ 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,134, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 61, 16, 9,244, 62,208, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,188, 11, 29, 6,192, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96, 11, 29, 7,176, 0, 0, 0,197,
+ 0, 0, 0, 1, 10,122, 0, 96, 9,242,106,192, 9,242, 79,208, 9,242, 79,144, 9,242, 79, 16, 9,242, 80, 16, 0, 0, 0, 0,
+ 0, 0, 6, 73, 0, 0, 7,128, 0, 0, 3,165, 0, 0, 4, 99, 3, 3, 1, 56, 0,191, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8,
+ 2, 23,131,144, 10,121,255, 64, 10,121,255, 64, 9,242,145, 80, 9,242,146,112, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 63,160,
+ 9,244, 64, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,242,145, 80, 0, 0, 0,198, 0, 0, 0, 1, 9,242,146,112, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,156, 0, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 55, 0, 0, 0, 0, 0, 0, 0, 25, 67,155,128, 0, 65,200, 0, 0, 67,155,128, 0, 65,200, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 56, 0, 26, 1, 56, 0, 26, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 73, 0, 0, 7,128, 0, 0, 4, 74, 0, 0, 4, 99, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 0, 26, 0, 8, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,132,224, 9,202,234, 48, 9,202,234, 48, 0, 0, 0, 0, 0, 0, 0, 0,
+ 9,244, 64,176, 9,244, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,242,146,112, 0, 0, 0,198,
+ 0, 0, 0, 1, 0, 0, 0, 0, 9,242,145, 80, 0, 0, 0, 0, 67,141,128, 0,194,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,147,128, 0,195, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 39, 0, 0, 1, 56, 0, 0, 0, 18, 0, 0, 0,164, 0, 0, 0, 0,
+ 0, 0, 1, 38, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 18, 0, 0, 0,164, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3, 0, 0, 4, 12,
+ 0, 6, 1, 56, 0,165, 1, 39, 0,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 73, 0, 0, 7,128,
+ 0, 0, 3,165, 0, 0, 4, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 0,165, 0, 9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,132, 80, 9,203, 36, 80,
+ 9,203, 36, 80, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 66,192, 9,244, 67,160, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,244, 10,121,255, 64, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 31, 70, 96, 11, 31, 70, 96, 11, 29, 8, 64, 0,115,101, 32, 83, 99,117,108,112,116, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 68, 65, 84, 65, 0, 0, 0, 12, 11, 29, 8, 64, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 11, 42, 0, 0, 11, 42,
+ 8,212, 32, 32, 68, 65, 84, 65, 0, 0,133,248, 8,212, 32, 32, 0, 0, 0,219, 0, 0, 11, 42, 0, 0, 0, 0, 0, 2, 0, 1,
+ 2,154,244, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,154,244, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,154,244, 32, 0, 21, 0, 1,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 31,176, 0, 0, 0, 0, 0, 1, 0, 1, 2,174, 10, 32,
+ 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 39, 32, 0, 0, 0, 0, 0, 1, 0, 1, 2,187,108, 32, 0, 0, 0, 0, 0, 1, 0, 1,
+ 11, 28, 37,112, 0, 0, 0, 0, 0, 1, 0, 1, 2,206,150, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 28, 64, 0, 0, 0, 0,
+ 0, 1, 0, 1, 2,212,100, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 27,176, 0, 21, 0, 0, 0, 1, 0, 1, 2,154,244, 32,
+ 0, 30,255,255, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,154,244, 32, 0, 30,255,255, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,154,244, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,154,244, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,154,244, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,154,244, 32, 0, 30,255,255, 0, 1, 0, 0, 2,216,154, 32, 0, 30,255,255,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 30,255,255, 0, 1, 0, 0, 2,195, 38, 32, 0, 30,255,255, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 30,255,255, 0, 1, 0, 0, 2,153, 66, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 70, 32, 0, 30,255,255, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 30,255,255, 0, 1, 0, 0, 2,197,126, 32, 0, 30,255,255, 0, 1, 0, 0, 2,199, 36, 32, 0, 30,255,255,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 30,255,255, 0, 1, 0, 0, 2,211,232, 32, 0, 30,255,255, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 30,255,255, 0, 1, 0, 0, 2,196,250, 32, 0, 30,255,255, 0, 1, 0, 0, 2,196,254, 32, 0, 30,255,255, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 30,255,255, 0, 1, 0, 0, 2,158, 68, 32, 0, 30,255,255, 0, 1, 0, 0, 2,207, 10, 32, 0, 30,255,255,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 30,255,255, 0, 1, 0, 0, 2,205,210, 32, 0, 30,255,255, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 30,255,255, 0, 1, 0, 0, 2,209, 44, 32, 0, 30,255,255, 0, 1, 0, 0, 2,209, 48, 32, 0, 30,255,255, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 30,255,255, 0, 1, 0, 0, 2,199,166, 32, 0, 30,255,255, 0, 1, 0, 0, 2,198,174, 32, 0, 30,255,255,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 30,255,255, 0, 1, 0, 0, 2,212, 20, 32, 0, 30,255,255, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 30,255,255, 0, 1, 0, 0, 2,215,240, 32, 0, 30,255,255, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 0, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 3,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 6, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 8, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 11,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 14, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 16, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 19,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 22, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 24, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 27,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 30, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 32, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 35,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 38, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 40, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 43,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 46, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 48, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 51,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 54, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 56, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 59,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 31, 0, 62, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 64, 0, 1, 0, 0,
+ 2,216,154, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 67,
+ 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,216,154, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,216,154, 32,
+ 0, 30,255,255, 0, 1, 0, 0, 11, 28, 27,176, 0, 30,255,255, 0, 1, 0, 0, 11, 28, 28, 64, 0, 30,255,255, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 30,255,255, 0, 1, 0, 0, 11, 28, 39, 32, 0, 30,255,255, 0, 3, 0, 0, 2,212,100, 32, 0, 30,255,255,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 30,255,255, 0, 1, 0, 0, 2,206,150, 32, 0, 30,255,255, 0, 1, 0, 0, 9,244,204,208,
+ 0, 30,255,255, 0, 1, 0, 0, 9,245, 11, 16, 0, 30,255,255, 0, 1, 0, 0, 11, 29,167, 48, 0, 30,255,255, 0, 1, 0, 0,
+ 9,253,180,224, 0, 30,255,255, 0, 1, 0, 0, 11, 27,167, 64, 0, 30,255,255, 0, 1, 0, 0, 11, 27,220,208, 0, 30,255,255,
+ 0, 1, 0, 0, 11, 27,245, 16, 0, 30,255,255, 0, 1, 0, 0, 11, 28, 37,112, 0, 30,255,255, 0, 1, 0, 0, 9,244,203, 64,
+ 0, 30,255,255, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 0, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,216,158, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,216,158, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,216,158, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 1, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 3, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 6,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 9, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 11, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 14,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 17, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 19, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 22,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 25, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 27, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 30,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 33, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 35, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 38,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 41, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 43, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 46,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 49, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 51, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 54,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 57, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 59, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 62,
+ 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,195, 38, 32,
+ 0, 31, 0, 65, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 67, 0, 1, 0, 0,
+ 2,195, 38, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,195, 38, 32, 0, 31, 0, 0,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 3, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 5, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 8,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 11, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 13, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 16,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 19, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 21, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 24,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 27, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 29, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 32,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 35, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 37, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 40,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 43, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 45, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 48,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 51, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 53, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 56,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 59, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 61, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 64,
+ 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,195, 42, 32,
+ 0, 31, 0, 67, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,195, 42, 32, 0, 31, 0, 69, 0, 1, 0, 0,
+ 2,195, 42, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 42,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 47, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 50,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 55, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 58,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 63, 0, 1, 0, 0,
+ 2,153, 66, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 66,
+ 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 66, 32,
+ 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 70, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,153, 70, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 1, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 3, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 6,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 9, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 11, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 14,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 17, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 19, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 22,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 25, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 27, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 30,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 33, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 35, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 38,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 41, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 43, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 46,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 49, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 51, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 54,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 57, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 59, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 62,
+ 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,197,122, 32,
+ 0, 31, 0, 65, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 67, 0, 1, 0, 0,
+ 2,197,122, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,197,122, 32, 0, 31, 0, 0,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 3, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 5, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 8,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 11, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 13, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 16,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 19, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 21, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 24,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 27, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 29, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 32,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 35, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 37, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 40,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 43, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 45, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 48,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 51, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 53, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 56,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 59, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 61, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 64,
+ 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,197,126, 32,
+ 0, 31, 0, 67, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,197,126, 32, 0, 31, 0, 69, 0, 1, 0, 0,
+ 2,197,126, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 42,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 45, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 47, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 50,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 53, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 55, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 58,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 61, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 63, 0, 1, 0, 0,
+ 2,199, 36, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 66,
+ 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,199, 36, 32,
+ 0, 31, 0, 69, 0, 1, 0, 0, 2,199, 36, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,199, 40, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,199, 40, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,199, 40, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 1, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 3, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 6,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 9, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 11, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 14,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 17, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 19, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 22,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 25, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 27, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 30,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 33, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 35, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 38,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 41, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 43, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 46,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 49, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 51, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 54,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 57, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 59, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 62,
+ 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,211,232, 32,
+ 0, 31, 0, 65, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 67, 0, 1, 0, 0,
+ 2,211,232, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,211,232, 32, 0, 31, 0, 0,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 3, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 5, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 8,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 11, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 13, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 16,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 19, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 21, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 24,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 27, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 29, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 32,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 35, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 37, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 40,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 43, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 45, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 48,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 51, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 53, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 56,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 59, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 61, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 64,
+ 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,211,236, 32,
+ 0, 31, 0, 67, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,211,236, 32, 0, 31, 0, 69, 0, 1, 0, 0,
+ 2,211,236, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 42,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 45, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 47, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 50,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 53, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 55, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 58,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 61, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 63, 0, 1, 0, 0,
+ 2,196,250, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 66,
+ 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,196,250, 32,
+ 0, 31, 0, 69, 0, 1, 0, 0, 2,196,250, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,196,254, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,196,254, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,196,254, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 1, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 3, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 6,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 9, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 11, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 14,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 17, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 19, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 22,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 25, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 27, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 30,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 33, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 35, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 38,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 41, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 43, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 46,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 49, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 51, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 54,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 57, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 59, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 62,
+ 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,158, 64, 32,
+ 0, 31, 0, 65, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 67, 0, 1, 0, 0,
+ 2,158, 64, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,158, 64, 32, 0, 31, 0, 0,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 3, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 5, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 8,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 11, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 13, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 16,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 19, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 21, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 24,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 27, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 29, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 32,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 35, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 37, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 40,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 43, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 45, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 48,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 51, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 53, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 56,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 59, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 61, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 64,
+ 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,158, 68, 32,
+ 0, 31, 0, 67, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,158, 68, 32, 0, 31, 0, 69, 0, 1, 0, 0,
+ 2,158, 68, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 42,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 45, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 47, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 50,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 53, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 55, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 58,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 61, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 63, 0, 1, 0, 0,
+ 2,207, 10, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 66,
+ 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,207, 10, 32,
+ 0, 31, 0, 69, 0, 1, 0, 0, 2,207, 10, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,207, 14, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,207, 14, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,207, 14, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 1, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 3, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 6,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 9, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 11, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 14,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 17, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 19, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 22,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 25, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 27, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 30,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 33, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 35, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 38,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 41, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 43, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 46,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 49, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 51, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 54,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 57, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 59, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 62,
+ 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,205,210, 32,
+ 0, 31, 0, 65, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 67, 0, 1, 0, 0,
+ 2,205,210, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,205,210, 32, 0, 31, 0, 0,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 3, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 5, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 8,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 11, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 13, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 16,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 19, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 21, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 24,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 27, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 29, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 32,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 35, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 37, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 40,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 43, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 45, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 48,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 51, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 53, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 56,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 59, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 61, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 64,
+ 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,205,214, 32,
+ 0, 31, 0, 67, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,205,214, 32, 0, 31, 0, 69, 0, 1, 0, 0,
+ 2,205,214, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 42,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 45, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 47, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 50,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 53, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 55, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 58,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 61, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 63, 0, 1, 0, 0,
+ 2,209, 44, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 66,
+ 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,209, 44, 32,
+ 0, 31, 0, 69, 0, 1, 0, 0, 2,209, 44, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,209, 48, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,209, 48, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,209, 48, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 1, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 3, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 6,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 9, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 11, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 14,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 17, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 19, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 22,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 25, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 27, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 30,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 33, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 35, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 38,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 41, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 43, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 46,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 49, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 51, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 54,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 57, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 59, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 62,
+ 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,199,162, 32,
+ 0, 31, 0, 65, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 67, 0, 1, 0, 0,
+ 2,199,162, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,199,162, 32, 0, 31, 0, 0,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 3, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 5, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 8,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 11, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 13, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 16,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 19, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 21, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 24,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 27, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 29, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 32,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 35, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 37, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 40,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 43, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 45, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 48,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 51, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 53, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 56,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 59, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 61, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 64,
+ 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,199,166, 32,
+ 0, 31, 0, 67, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,199,166, 32, 0, 31, 0, 69, 0, 1, 0, 0,
+ 2,199,166, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 42,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 45, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 47, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 50,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 53, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 55, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 58,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 61, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 63, 0, 1, 0, 0,
+ 2,198,174, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 66,
+ 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,198,174, 32,
+ 0, 31, 0, 69, 0, 1, 0, 0, 2,198,174, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,198,178, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,198,178, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,198,178, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 1, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 3, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 6,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 9, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 11, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 14,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 17, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 19, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 22,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 25, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 27, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 30,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 33, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 35, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 38,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 41, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 43, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 46,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 49, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 51, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 54,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 57, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 59, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 62,
+ 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,212, 20, 32,
+ 0, 31, 0, 65, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 67, 0, 1, 0, 0,
+ 2,212, 20, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,212, 20, 32, 0, 31, 0, 0,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 3, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 5, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 8,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 11, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 13, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 16,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 19, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 21, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 24,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 27, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 29, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 32,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 35, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 37, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 40,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 43, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 45, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 48,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 51, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 53, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 56,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 59, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 61, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 64,
+ 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,212, 24, 32,
+ 0, 31, 0, 67, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,212, 24, 32, 0, 31, 0, 69, 0, 1, 0, 0,
+ 2,212, 24, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 2,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 5, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 7, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 10,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 13, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 15, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 18,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 21, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 23, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 26,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 29, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 31, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 34,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 37, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 39, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 42,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 45, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 47, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 50,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 53, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 55, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 58,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 61, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 63, 0, 1, 0, 0,
+ 2,215,240, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 66,
+ 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,215,240, 32,
+ 0, 31, 0, 69, 0, 1, 0, 0, 2,215,240, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,215,244, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,215,244, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,215,244, 32, 0, 31, 0, 0, 0, 1, 0, 0, 11, 28, 27,176,
+ 0, 31, 0, 1, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 2, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 3, 0, 1, 0, 0,
+ 11, 28, 27,176, 0, 31, 0, 4, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 5, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 6,
+ 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 7, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 8, 0, 1, 0, 0, 11, 28, 27,176,
+ 0, 31, 0, 9, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 10, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 11, 0, 1, 0, 0,
+ 11, 28, 27,176, 0, 31, 0, 12, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 13, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 14,
+ 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 15, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 16, 0, 1, 0, 0, 11, 28, 27,176,
+ 0, 31, 0, 17, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 18, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 19, 0, 1, 0, 0,
+ 11, 28, 27,176, 0, 31, 0, 20, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 21, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 22,
+ 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 23, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 24, 0, 1, 0, 0, 11, 28, 27,176,
+ 0, 31, 0, 25, 0, 1, 0, 0, 11, 28, 27,176, 0, 31, 0, 0, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 1, 0, 1, 0, 0,
+ 11, 28, 28, 64, 0, 31, 0, 2, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 3, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 4,
+ 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 5, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 6, 0, 1, 0, 0, 11, 28, 28, 64,
+ 0, 31, 0, 7, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 8, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 9, 0, 1, 0, 0,
+ 11, 28, 28, 64, 0, 31, 0, 10, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 11, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 12,
+ 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 13, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 14, 0, 1, 0, 0, 11, 28, 28, 64,
+ 0, 31, 0, 15, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 16, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 17, 0, 1, 0, 0,
+ 11, 28, 28, 64, 0, 31, 0, 18, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 19, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 20,
+ 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 21, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 22, 0, 1, 0, 0, 11, 28, 28, 64,
+ 0, 31, 0, 23, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 24, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 25, 0, 1, 0, 0,
+ 11, 28, 28, 64, 0, 31, 0, 26, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 27, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 28,
+ 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 29, 0, 1, 0, 0, 11, 28, 28, 64, 0, 31, 0, 30, 0, 1, 0, 0, 11, 28, 28, 64,
+ 0, 31, 0, 0, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 2, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 5,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 8, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 10, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 13,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 16, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 18, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 21,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 24, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 26, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 29,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 32, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 34, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 37,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 40, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 42, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 45,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 48, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 50, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 53,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 56, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 58, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 61,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 64, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 66, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 69,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 70, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 71, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 72, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 73, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 74, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 75, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 76, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 77,
+ 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 78, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 79, 0, 1, 0, 0, 2,187,108, 32,
+ 0, 31, 0, 80, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 81, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 82, 0, 1, 0, 0,
+ 2,187,108, 32, 0, 31, 0, 83, 0, 1, 0, 0, 2,187,108, 32, 0, 31, 0, 0, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 1,
+ 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 2, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 3, 0, 1, 0, 0, 11, 28, 39, 32,
+ 0, 31, 0, 4, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 5, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 6, 0, 1, 0, 0,
+ 11, 28, 39, 32, 0, 31, 0, 7, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 8, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 9,
+ 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 10, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 11, 0, 1, 0, 0, 11, 28, 39, 32,
+ 0, 31, 0, 12, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 13, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 14, 0, 1, 0, 0,
+ 11, 28, 39, 32, 0, 31, 0, 15, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 16, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 17,
+ 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 18, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 19, 0, 1, 0, 0, 11, 28, 39, 32,
+ 0, 31, 0, 20, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 21, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 22, 0, 1, 0, 0,
+ 11, 28, 39, 32, 0, 31, 0, 23, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 24, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 25,
+ 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 26, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 27, 0, 1, 0, 0, 11, 28, 39, 32,
+ 0, 31, 0, 28, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 29, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 30, 0, 1, 0, 0,
+ 11, 28, 39, 32, 0, 31, 0, 31, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 32, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 33,
+ 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 34, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 35, 0, 1, 0, 0, 11, 28, 39, 32,
+ 0, 31, 0, 36, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 37, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 38, 0, 1, 0, 0,
+ 11, 28, 39, 32, 0, 31, 0, 39, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 40, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 41,
+ 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 42, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 43, 0, 1, 0, 0, 11, 28, 39, 32,
+ 0, 31, 0, 44, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 45, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 46, 0, 1, 0, 0,
+ 11, 28, 39, 32, 0, 31, 0, 47, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 48, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 49,
+ 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 50, 0, 1, 0, 0, 11, 28, 39, 32, 0, 31, 0, 51, 0, 1, 0, 0, 11, 28, 39, 32,
+ 0, 31, 0, 0, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 2, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 5,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 8, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 10, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 13,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 16, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 18, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 21,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 24, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 26, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 29,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 32, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 34, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 37,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 40, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 42, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 45,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 48, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 50, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 53,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 56, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 58, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 61,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 64, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 66, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 69,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 70, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 71, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 72, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 73, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 74, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 75, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 76, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 77,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 78, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 79, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 80, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 81, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 82, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 83, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 84, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 85,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 86, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 87, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 88, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 89, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 90, 0, 1, 0, 0,
+ 2,212,100, 32, 0, 31, 0, 91, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 92, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 93,
+ 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 94, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 95, 0, 1, 0, 0, 2,212,100, 32,
+ 0, 31, 0, 96, 0, 1, 0, 0, 2,212,100, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 1, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 4,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 7, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 9, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 12,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 15, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 17, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 20,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 23, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 25, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 28,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 31, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 33, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 36,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 39, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 41, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 44,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 47, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 49, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 52,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 55, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 57, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 60,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 63, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 65, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 68,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 70, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 71, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 72, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 73, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 74, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 75, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 76,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 77, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 78, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 79, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 80, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 81, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 82, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 83, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 84,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 85, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 86, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 87, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 88, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 89, 0, 1, 0, 0,
+ 2,174, 10, 32, 0, 31, 0, 90, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 91, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 92,
+ 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 93, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 94, 0, 1, 0, 0, 2,174, 10, 32,
+ 0, 31, 0, 95, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 96, 0, 1, 0, 0, 2,174, 10, 32, 0, 31, 0, 0, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 3,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 6, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 8, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 11,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 14, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 16, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 19,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 22, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 24, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 27,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 30, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 32, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 35,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 38, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 40, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 43,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 46, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 48, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 51,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 54, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 56, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 59,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 62, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 64, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 67,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 70, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 71, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 72, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 73, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 74, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 75,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 76, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 77, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 78, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 79, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 80, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 81, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 82, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 83,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 84, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 85, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 86, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 87, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 88, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 89, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 90, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 91,
+ 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 92, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 93, 0, 1, 0, 0, 2,206,150, 32,
+ 0, 31, 0, 94, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 95, 0, 1, 0, 0, 2,206,150, 32, 0, 31, 0, 96, 0, 1, 0, 0,
+ 2,206,150, 32, 0, 31, 0, 0, 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 1, 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 2,
+ 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 3, 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 4, 0, 1, 0, 0, 9,244,204,208,
+ 0, 31, 0, 5, 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 6, 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 7, 0, 1, 0, 0,
+ 9,244,204,208, 0, 31, 0, 8, 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 9, 0, 1, 0, 0, 9,244,204,208, 0, 31, 0, 0,
+ 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 1, 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 2, 0, 1, 0, 0, 9,245, 11, 16,
+ 0, 31, 0, 3, 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 4, 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 5, 0, 1, 0, 0,
+ 9,245, 11, 16, 0, 31, 0, 6, 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 7, 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 8,
+ 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 9, 0, 1, 0, 0, 9,245, 11, 16, 0, 31, 0, 0, 0, 1, 0, 0, 11, 29,167, 48,
+ 0, 31, 0, 1, 0, 1, 0, 0, 11, 29,167, 48, 0, 31, 0, 2, 0, 1, 0, 0, 11, 29,167, 48, 0, 31, 0, 3, 0, 1, 0, 0,
+ 11, 29,167, 48, 0, 31, 0, 4, 0, 1, 0, 0, 11, 29,167, 48, 0, 31, 0, 5, 0, 1, 0, 0, 11, 29,167, 48, 0, 31, 0, 6,
+ 0, 1, 0, 0, 11, 29,167, 48, 0, 31, 0, 7, 0, 1, 0, 0, 11, 29,167, 48, 0, 31, 0, 8, 0, 1, 0, 0, 11, 29,167, 48,
+ 0, 31, 0, 9, 0, 1, 0, 0, 11, 29,167, 48, 0, 31, 0, 0, 0, 1, 0, 0, 9,253,180,224, 0, 31, 0, 1, 0, 1, 0, 0,
+ 9,253,180,224, 0, 31, 0, 2, 0, 1, 0, 0, 9,253,180,224, 0, 31, 0, 3, 0, 1, 0, 0, 9,253,180,224, 0, 31, 0, 4,
+ 0, 1, 0, 0, 9,253,180,224, 0, 31, 0, 5, 0, 1, 0, 0, 9,253,180,224, 0, 31, 0, 6, 0, 1, 0, 0, 9,253,180,224,
+ 0, 31, 0, 7, 0, 1, 0, 0, 9,253,180,224, 0, 31, 0, 8, 0, 1, 0, 0, 9,253,180,224, 0, 31, 0, 9, 0, 1, 0, 0,
+ 9,253,180,224, 0, 31, 0, 0, 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 1, 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 2,
+ 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 3, 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 4, 0, 1, 0, 0, 11, 27,167, 64,
+ 0, 31, 0, 5, 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 6, 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 7, 0, 1, 0, 0,
+ 11, 27,167, 64, 0, 31, 0, 8, 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 9, 0, 1, 0, 0, 11, 27,167, 64, 0, 31, 0, 0,
+ 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 1, 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 2, 0, 1, 0, 0, 11, 27,220,208,
+ 0, 31, 0, 3, 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 4, 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 5, 0, 1, 0, 0,
+ 11, 27,220,208, 0, 31, 0, 6, 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 7, 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 8,
+ 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 9, 0, 1, 0, 0, 11, 27,220,208, 0, 31, 0, 0, 0, 1, 0, 0, 11, 27,245, 16,
+ 0, 31, 0, 1, 0, 1, 0, 0, 11, 27,245, 16, 0, 31, 0, 2, 0, 1, 0, 0, 11, 27,245, 16, 0, 31, 0, 3, 0, 1, 0, 0,
+ 11, 27,245, 16, 0, 31, 0, 4, 0, 1, 0, 0, 11, 27,245, 16, 0, 31, 0, 5, 0, 1, 0, 0, 11, 27,245, 16, 0, 31, 0, 6,
+ 0, 1, 0, 0, 11, 27,245, 16, 0, 31, 0, 7, 0, 1, 0, 0, 11, 27,245, 16, 0, 31, 0, 8, 0, 1, 0, 0, 11, 27,245, 16,
+ 0, 31, 0, 9, 0, 1, 0, 0, 11, 27,245, 16, 0, 31, 0, 0, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 1, 0, 1, 0, 0,
+ 11, 28, 37,112, 0, 31, 0, 2, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 3, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 4,
+ 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 5, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 6, 0, 1, 0, 0, 11, 28, 37,112,
+ 0, 31, 0, 7, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 8, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 9, 0, 1, 0, 0,
+ 11, 28, 37,112, 0, 31, 0, 10, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 11, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 12,
+ 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 13, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 14, 0, 1, 0, 0, 11, 28, 37,112,
+ 0, 31, 0, 15, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 16, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 17, 0, 1, 0, 0,
+ 11, 28, 37,112, 0, 31, 0, 18, 0, 1, 0, 0, 11, 28, 37,112, 0, 31, 0, 0, 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 1,
+ 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 2, 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 3, 0, 1, 0, 0, 9,244,203, 64,
+ 0, 31, 0, 4, 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 5, 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 6, 0, 1, 0, 0,
+ 9,244,203, 64, 0, 31, 0, 7, 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 8, 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 9,
+ 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 10, 0, 1, 0, 0, 9,244,203, 64, 0, 31, 0, 0, 0, 1, 0, 0, 11, 28, 31,176,
+ 0, 31, 0, 1, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 2, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 3, 0, 1, 0, 0,
+ 11, 28, 31,176, 0, 31, 0, 4, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 5, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 6,
+ 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 7, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 8, 0, 1, 0, 0, 11, 28, 31,176,
+ 0, 31, 0, 9, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 10, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 11, 0, 1, 0, 0,
+ 11, 28, 31,176, 0, 31, 0, 12, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 13, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 14,
+ 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 15, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 16, 0, 1, 0, 0, 11, 28, 31,176,
+ 0, 31, 0, 17, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 18, 0, 1, 0, 0, 11, 28, 31,176, 0, 31, 0, 19, 0, 1, 0, 0,
+ 11, 28, 31,176, 0, 31, 0, 20, 0, 1, 0, 0, 11, 28, 31,176, 68, 65, 84, 65, 0, 0, 0, 96, 10,122, 0, 96, 0, 0, 0,197,
+ 0, 0, 0, 1, 0, 0, 0, 0, 11, 29, 7,176, 9,242, 80, 80, 9,242, 78,208, 9,242, 79,144, 9,242, 80,144, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0,133, 0, 0, 4, 99, 1, 1, 6, 72, 3,223, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8,
+ 2, 23,135, 80, 9,253,179,192, 9,253,179,192, 10,122, 0,240, 10,122, 8, 80, 0, 0, 0, 0, 0, 0, 0, 0, 11, 31,173, 80,
+ 9,244, 69,224, 68, 65, 84, 65, 0, 0, 0,248, 10,122, 0,240, 0, 0, 0,198, 0, 0, 0, 1, 10,122, 2, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68,113, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,201, 0, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0, 25, 68,200,224, 0, 65,200, 0, 0, 68,200,224, 0, 65,200, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 6, 72, 0, 26, 6, 72, 0, 26, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0,133, 0, 0, 0,158, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 72, 0, 26, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,142,208, 11, 30, 10,128, 11, 30, 10,128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 9,244, 70,160, 9,244, 72, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 10,122, 2, 16, 0, 0, 0,198,
+ 0, 0, 0, 1, 10,122, 4,160, 10,122, 0,240, 0, 0, 0, 0, 67, 32, 0, 0,196, 59, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67, 15, 0, 0,196, 59, 64, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 2,236, 0, 0, 0, 0,
+ 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 2,236, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0,
+ 0, 6, 0,160, 2,237, 0,143, 2,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159,
+ 0, 0, 1,119, 0, 0, 4, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2,237, 0, 11, 0, 5,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0,160, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,140,144, 11, 31, 75,208,
+ 11, 31, 75,208, 10,122, 3, 48, 10,122, 3, 48, 9,244, 73, 32, 9,244, 74,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 10,122, 3, 48, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9,154, 95, 32, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,253,233, 0,143, 1,255, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 10,122, 4,160, 0, 0, 0,198,
+ 0, 0, 0, 1, 10,122, 7, 48, 10,122, 2, 16, 0, 0, 0, 0, 67, 33, 0, 0,195, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67, 16,102,227,195, 90, 30, 24, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0,
+ 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0,
+ 0, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159,
+ 0, 0, 0,159, 0, 0, 1,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 12, 0, 6,
+ 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,141, 32, 9,244, 94,160,
+ 9,244, 94,160, 10,122, 5,192, 10,122, 5,192, 9,244, 75, 48, 9,244, 76,128, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 10,122, 5,192, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,141,176, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,255,216, 0,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 10,122, 7, 48, 0, 0, 0,198,
+ 0, 0, 0, 1, 10,122, 8, 80, 10,122, 4,160, 0, 0, 0, 0, 67, 52, 0, 0,196,158, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67, 35, 0, 0,196,158, 96, 0,195,142,128, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0, 0,
+ 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0,
+ 0, 6, 0,180, 3,214, 0,163, 3,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 6, 71,
+ 0, 0, 0,159, 0, 0, 4, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4,
+ 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,136,160, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 10,122, 8, 80, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 10,122, 7, 48, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 6, 71, 0, 0, 0,159, 0, 0, 4, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5,168, 3,197, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 23,136, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 86,144, 9,244, 86, 32,
+ 0, 0, 0, 0, 2,205,224, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,205,224, 32, 0, 0, 0,156, 0, 0, 0, 1, 63,140, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,210, 18,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,191,128, 6,141,191,128, 0, 0,128, 0, 0, 0,128, 0, 0, 0,190, 76,210, 10,128, 0, 0, 0, 62,209,239, 68,
+190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162,
+ 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,210, 33, 63,128, 0, 0, 62,209,239, 68,
+ 63,105,119, 70,188, 89, 84,176, 0, 0, 0, 0,190,205,177, 52, 62, 70, 74,142, 63,101, 33,166, 0, 0, 0, 0, 63, 81,158,185,
+190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 95, 62,192,173,120, 51, 64,213,208,115, 63,128, 0, 0, 62,229,157,178,
+191, 40,202, 72,191, 81,169,114,191, 81,158,184, 63,127, 90,117, 62,162,183,140, 62,185, 53,157, 62,185, 44, 35,188,109,180,145,
+ 63,188, 6, 57,190,228, 72,216,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,171, 31, 65,111,210, 33, 62,191,241, 25,
+ 63, 85,116, 70,188, 70,172,224, 52,133, 0, 0,190,122,169,195, 61,241,164,220, 63, 11,156,217,179,200, 0, 0,194,117,112,201,
+ 65,216,208,182,194, 5,158,222,192,159,251,235, 66,114, 54,221,193,213,247, 29, 66, 3,221, 58, 64,160, 4, 26, 62,209,239, 68,
+190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162,
+ 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,210, 33, 63,128, 0, 0, 62,229,157,178,
+191, 40,202, 72,191, 81,169,114,191, 81,158,184, 63,127, 90,117, 62,162,183,140, 62,185, 53,157, 62,185, 44, 35,188,109,180,145,
+ 63,188, 6, 57,190,228, 72,216,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,171, 31, 65,111,210, 33, 63,181,182, 12,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,181,182, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,181,182, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63, 55, 62, 92,
+190,224,186, 56,190,148,203,237,190,234,236, 3, 65,111,210, 33, 65,111,210, 33, 0, 0, 0, 0, 0, 0, 0, 0, 58,165,133,101,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 66, 12, 33, 32, 66,137,152, 85, 66,126, 27,113, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,240, 9,253,179,192, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,212,100, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0,
+ 0, 1, 0, 3, 24, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 61,204,204,205, 68,122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 9,253,180,224, 0, 0, 0,193, 0, 0, 0, 1, 11, 27,167, 64, 11, 29,167, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,253,181,160, 11, 29,252, 48, 11, 29,177, 48, 11, 31,174, 80, 11, 31,174,144,
+ 11, 27,162, 32, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,253,181,160, 0, 0, 0,194, 0, 0, 0, 1,
+ 9,253,181,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,253,181,224,
+ 0, 0, 0,194, 0, 0, 0, 1, 10,122, 9,208, 9,253,181,160, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 10,122, 9,208, 0, 0, 0,194, 0, 0, 0, 1, 10,122, 10, 16, 9,253,181,224, 0, 0, 0, 0, 7,126, 4, 5,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 10,122, 10, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 29,249,240, 10,122, 9,208,
+ 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,249,240, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 29,250, 48, 10,122, 10, 16, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,250, 48,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 29,250,112, 11, 29,249,240, 0, 0, 0, 0, 7,126, 3,234, 0, 0, 0, 1, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 29,250,112, 0, 0, 0,194, 0, 0, 0, 1, 11, 29,250,176, 11, 29,250, 48, 0, 0, 0, 0, 0, 0, 1,140,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,250,176, 0, 0, 0,194, 0, 0, 0, 1, 11, 29,250,240, 11, 29,250,112,
+ 0, 0, 0, 0, 6, 32, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,250,240, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 29,251, 48, 11, 29,250,176, 0, 0, 0, 0, 6, 32, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,251, 48,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 29,251,112, 11, 29,250,240, 0, 0, 0, 0, 7,126, 1,140, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 29,251,112, 0, 0, 0,194, 0, 0, 0, 1, 11, 29,251,176, 11, 29,251, 48, 0, 0, 0, 0, 5, 64, 1,140,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,251,176, 0, 0, 0,194, 0, 0, 0, 1, 11, 29,251,240, 11, 29,251,112,
+ 0, 0, 0, 0, 5, 64, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,251,240, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 29,252, 48, 11, 29,251,176, 0, 0, 0, 0, 1, 68, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,252, 48,
+ 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 11, 29,251,240, 0, 0, 0, 0, 1, 68, 3,234, 0, 0, 0, 1, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 29,177, 48, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,177,112, 0, 0, 0, 0, 9,253,181,224, 10,122, 9,208,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,177,112, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,177,176,
+ 11, 29,177, 48, 9,253,181,224, 11, 29,249,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,177,176,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 29,177,240, 11, 29,177,112, 10,122, 9,208, 11, 29,250, 48, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,177,240, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,178, 48, 11, 29,177,176, 11, 29,249,240,
+ 11, 29,250, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,178, 48, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 29,178,112, 11, 29,177,240, 11, 29,249,240, 11, 29,250,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 29,178,112, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,178,176, 11, 29,178, 48, 11, 29,250,112, 11, 29,250,176, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,178,176, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,178,240, 11, 29,178,112,
+ 10,122, 10, 16, 11, 29,250,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,178,240, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 29,179, 48, 11, 29,178,176, 11, 29,250,176, 11, 29,250,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 29,179, 48, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,179,112, 11, 29,178,240, 9,253,181,160, 11, 29,250,112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,179,112, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,179,176,
+ 11, 29,179, 48, 9,253,181,160, 11, 29,250,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,179,176,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 29,179,240, 11, 29,179,112, 11, 29,250, 48, 11, 29,251, 48, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,179,240, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,180, 48, 11, 29,179,176, 10,122, 10, 16,
+ 11, 29,251, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,180, 48, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 29,180,112, 11, 29,179,240, 11, 29,250,176, 11, 29,251, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 29,180,112, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,180,176, 11, 29,180, 48, 11, 29,251,112, 11, 29,251,176, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,180,176, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,180,240, 11, 29,180,112,
+ 11, 29,250, 48, 11, 29,251,176, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,180,240, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 29,181, 48, 11, 29,180,176, 11, 29,251, 48, 11, 29,251,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 29,181, 48, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,181,112, 11, 29,180,240, 11, 29,250,112, 11, 29,251,240,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,181,112, 0, 0, 0,195, 0, 0, 0, 1, 11, 29,181,176,
+ 11, 29,181, 48, 11, 29,251,112, 11, 29,251,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,181,176,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 29,181,240, 11, 29,181,112, 11, 29,249,240, 11, 29,252, 48, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 29,181,240, 0, 0, 0,195, 0, 0, 0, 1, 11, 31,174, 80, 11, 29,181,176, 11, 29,251,176,
+ 11, 29,252, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 31,174, 80, 0, 0, 0,195, 0, 0, 0, 1,
+ 0, 0, 0, 0, 11, 29,181,240, 11, 29,251,240, 11, 29,252, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96,
+ 11, 31,174,144, 0, 0, 0,197, 0, 0, 0, 1, 11, 29,202, 96, 0, 0, 0, 0, 11, 29,249,240, 9,253,181,224, 10,122, 9,208,
+ 11, 29,250, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5, 7, 7, 7,127, 0, 27, 0, 1,
+ 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 11, 27,166,224, 11, 27,166,224, 11, 31,175, 32, 11, 31,176, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 31,175, 32, 0, 0, 0,198, 0, 0, 0, 1,
+ 11, 31,176, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25, 68,239,192, 0, 65,200, 0, 0,
+ 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,127,
+ 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235,
+ 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 31,176, 64, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 31,175, 32, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68,238, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0,
+ 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 29,202, 96, 0, 0, 0,197, 0, 0, 0, 1, 11, 23, 81, 96, 11, 31,174,144,
+ 11, 29,250,240, 11, 29,250,176, 11, 29,251, 48, 10,122, 10, 16, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 0,
+ 0, 0, 1,139, 4, 4, 1, 94, 1,140, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,146, 48, 11, 27,146, 48,
+ 11, 29,202,240, 11, 29,204, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 29,202,240, 0, 0, 0,198, 0, 0, 0, 1, 11, 29,204, 16, 0, 0, 0, 0, 0, 0, 0, 0, 67,148, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 67,175, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0,
+ 0, 0, 0, 25, 67,174,128, 0, 65,200, 0, 0, 67,174,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 94, 0, 26, 1, 94, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 1,114, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 94, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29,204, 16, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 29,202,240,
+ 0, 0, 0, 0, 67,174,128, 0,196, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,166,127,255,195,184,255,255, 0, 0, 0, 0,
+ 0, 0, 1, 77, 0, 0, 1, 94, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0, 0, 0, 0, 1, 78, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 1, 76, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 1, 94, 1,114, 1, 77, 1,114, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 1,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 23, 78,128, 11, 27,144,192,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 23, 78,128, 0, 0, 0,196,
+ 0, 0, 0, 1, 11, 23, 79,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,
+111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,
+111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,220, 1, 76, 0, 36, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 23, 79,240, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,131,208, 11, 23, 78,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 76, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 11, 27,131,208, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,133, 64, 11, 23, 79,240, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,
+114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,111,
+ 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,133, 64, 0, 0, 0,196, 0, 0, 0, 1,
+ 11, 27,134,176, 11, 27,131,208, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
+105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
+105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,140, 1, 76, 0,203, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,134,176, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,136, 32, 11, 27,133, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,254, 58, 1, 76, 0, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,136, 32,
+ 0, 0, 0,196, 0, 0, 0, 1, 11, 27,137,144, 11, 27,134,176, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32,
+ 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 34, 1, 76, 0, 0,
+ 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,137,144, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,139, 0,
+ 11, 27,136, 32, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 10, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 11, 27,139, 0, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,140,112, 11, 27,137,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,253,242, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,140,112, 0, 0, 0,196,
+ 0, 0, 0, 1, 11, 27,141,224, 11, 27,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
+115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
+115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,
+105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,218, 1, 76, 0, 0, 0, 0, 0, 0,
+ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,141,224, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,143, 80, 11, 27,140,112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,194, 1, 76, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 11, 27,143, 80, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,144,192, 11, 27,141,224, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,
+117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 40,
+ 1, 76, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,144,192, 0, 0, 0,196, 0, 0, 0, 1,
+ 0, 0, 0, 0, 11, 27,143, 80, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 16, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,216, 11, 27,146, 48, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 23, 81, 96, 0, 0, 0,197, 0, 0, 0, 1,
+ 11, 27,152, 0, 11, 29,202, 96, 9,253,181,160, 11, 29,250,112, 11, 29,250,176, 11, 29,250,240, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 31, 0, 0, 0, 0, 0, 0, 1,139, 17, 17, 6, 32, 1,140, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 29,205, 48, 11, 29,205, 48, 11, 27,147, 48, 11, 27,150,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 11, 27,147, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,148, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67, 74, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,196, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 31, 0, 0, 0, 0, 0, 0, 0, 25, 68,195,224, 0, 65,200, 0, 0, 68,195,224, 0, 65,200, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 6, 32, 0, 26, 6, 32, 0, 26, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 31, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 6, 32, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,148, 80, 0, 0, 0,198, 0, 0, 0, 1,
+ 11, 27,150,224, 11, 27,147, 48, 0, 0, 0, 0, 67, 92, 0, 0,195,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 75, 0, 0,
+195,185, 0, 0, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0, 0, 0, 0, 0,202,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,220,
+ 1,114, 0,203, 1,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26,
+ 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 1,114, 0, 0, 0, 4, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 27,149,112, 11, 27,149,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 11, 27,149,112, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73,
+ 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73,
+ 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,111,112,
+101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,196,
+ 0,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,150,224, 0, 0, 0,198, 0, 0, 0, 1,
+ 0, 0, 0, 0, 11, 27,148, 80, 0, 0, 0, 0, 68,160, 0, 0, 0, 0, 0, 0, 67,112, 0, 0,195, 31, 80, 0, 68,179,234, 0,
+194,182,198,224, 67,165,177,184, 0, 0, 5, 51, 0, 0, 5, 68, 0, 0, 0, 18, 0, 0, 1,113, 0, 0, 0, 0, 0, 0, 5, 50,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 5, 50, 0, 0, 0, 18, 0, 0, 1,113, 63,128, 0, 0, 63,128, 0, 0,
+ 70,250, 0, 0, 70,250, 0, 0, 63, 0, 0, 0, 63,154,225, 72, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 5, 68,
+ 1,114, 5, 51, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 6, 31, 0, 0, 0, 26,
+ 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 68, 1,114, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 52,
+ 11, 29,205, 48, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,152, 0, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,154,208, 11, 23, 81, 96, 11, 29,251,112,
+ 11, 29,251,176, 11, 29,250, 48, 11, 29,251, 48, 0, 0, 0, 0, 0, 0, 5, 65, 0, 0, 7,126, 0, 0, 1,141, 0, 0, 3,233,
+ 9, 9, 2, 62, 2, 93, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,217,188, 32, 2,217,188, 32, 11, 27,152,144,
+ 11, 27,153,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,152,144,
+ 0, 0, 0,198, 0, 0, 0, 1, 11, 27,153,176, 0, 0, 0, 0, 0, 0, 0, 0, 67,230, 0, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 68, 15,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 61, 0, 0, 0, 0, 0, 0, 0, 25,
+ 68, 15, 64, 0, 65,200, 0, 0, 68, 15, 64, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3,
+ 0, 4, 0, 12, 0, 10, 2, 62, 0, 26, 2, 62, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 65,
+ 0, 0, 7,126, 0, 0, 1,141, 0, 0, 1,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 62, 0, 26,
+ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 11, 27,153,176, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,152,144, 0, 0, 0, 0,
+ 67,181,128, 0, 0, 0, 0, 0, 67,218,128, 0, 0, 0, 0, 0, 68, 1,248,131, 0, 0, 0, 0, 68, 3, 26, 86, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2, 61, 0, 0, 0, 0, 0, 0, 2, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 35,215, 10,
+ 68,122, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 10, 2, 62, 2, 67, 2, 62, 2, 67, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 65, 0, 0, 7,126, 0, 0, 1,167, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 62, 2, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 2,136, 2,217,188, 32, 0, 0, 0,169, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,154,208, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,162, 32,
+ 11, 27,152, 0, 11, 29,251,240, 11, 29,252, 48, 11, 29,251,176, 11, 29,251,112, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 5, 63,
+ 0, 0, 1,141, 0, 0, 3,233, 1, 1, 3,251, 2, 93, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,161, 0,
+ 11, 27,161, 0, 11, 27,155, 96, 11, 27,159,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 27,155, 96, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,156,128, 0, 0, 0, 0, 0, 0, 0, 0, 68,113, 64, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,126,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250,
+ 0, 0, 0, 0, 0, 0, 0, 25, 68,126,128, 0, 65,200, 0, 0, 68,126,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 3,251, 0, 26, 3,251, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 5, 63, 0, 0, 1,141, 0, 0, 1,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3,251, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,156,128, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,157,160,
+ 11, 27,155, 96, 0, 0, 0, 0, 67, 15, 0, 0,196, 70, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255,
+ 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143,
+ 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 1, 69, 0, 0, 1,167, 0, 0, 3,233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 67, 0, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,157,160,
+ 0, 0, 0,198, 0, 0, 0, 1, 11, 27,158,192, 11, 27,156,128, 0, 0, 0, 0, 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67, 16,102,231,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119,
+ 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7,
+ 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 69,
+ 0, 0, 5, 63, 0, 0, 1,167, 0, 0, 1,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+ 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 11, 27,158,192, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,159,224, 11, 27,157,160, 0, 0, 0, 0,
+ 67, 52, 0, 0,196,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196,109, 0, 0,195,145,128, 0, 0, 0, 0,163,
+ 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 2,144, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 2,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,180, 2,145, 0,163, 2,145, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 63, 0, 0, 5, 63, 0, 0, 1,167, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,159,224, 0, 0, 0,198, 0, 0, 0, 1,
+ 0, 0, 0, 0, 11, 27,158,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 5, 63, 0, 0, 1,167,
+ 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 2, 67, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,217,192, 32, 68, 65, 84, 65, 0, 0, 3, 68,
+ 2,217,192, 32, 0, 0, 0,156, 0, 0, 0, 1, 61, 30, 35,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 61,139, 40, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,187, 3, 18,111, 0, 0, 0, 0,128, 0, 0, 0,
+128, 0, 0, 0,128, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 61, 30, 35,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 61,139, 40, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,187, 3, 18,111, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 65,207, 53,149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 65,107,121,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,249,255,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 61, 30, 35,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 61,139, 40, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,187, 3, 18,111, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 64,116, 3,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64,116, 3,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,116, 3,207, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,207, 53,149,
+ 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0, 61, 80, 57,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,251,251,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237,190,234,236, 3, 0, 1, 0, 0, 63,128, 0, 0,
+ 66,180, 0, 0, 66,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,240, 11, 27,161, 0, 0, 0, 0,157,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,212,100, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 8, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0,
+ 61,204,204,205, 68,122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 0, 10, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,162, 32,
+ 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,154,208, 11, 29,250,112, 11, 29,249,240, 11, 29,252, 48, 11, 29,251,240,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 67, 0, 0, 1,141, 0, 0, 3,233, 3, 3, 1, 68, 2, 93, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,164,240, 11, 27,164,240, 11, 27,162,176, 11, 27,163,208, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,162,176, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,163,208,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,162, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 67, 0, 0, 0, 0, 0, 0, 0, 25, 67,161,128, 0, 65,200, 0, 0, 67,161,128, 0,
+ 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 68, 0, 26, 1, 68,
+ 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 67, 0, 0, 1,141, 0, 0, 1,166,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 68, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,163,208,
+ 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,162,176, 0, 0, 0, 0, 67,141,128, 0,194,244, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,153,128, 0,196, 12, 64, 0, 0, 0, 0, 0, 0, 0, 1, 51, 0, 0, 1, 68, 0, 0, 0, 18, 0, 0, 2, 66,
+ 0, 0, 0, 0, 0, 0, 1, 50, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 50, 0, 0, 0, 18, 0, 0, 2, 66,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3,
+ 0, 0, 4, 12, 0, 6, 1, 68, 2, 67, 1, 51, 2, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 67, 0, 0, 1,167, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 68, 2, 67,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,244, 11, 27,164,240, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 29,205,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 68, 65, 84, 65, 0, 0, 0, 12, 11, 29,205,144, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 14,
+ 0, 0, 0, 14, 11, 27,166, 16, 68, 65, 84, 65, 0, 0, 0,168, 11, 27,166, 16, 0, 0, 0,219, 0, 0, 0, 14, 0, 0, 0, 0,
+ 0, 0, 0, 1, 2,154,244, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,154,244, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,154,244, 32,
+ 0, 21, 0, 1, 0, 1, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 31,176, 0, 0, 0, 0, 0, 1, 0, 1,
+ 2,174, 10, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 39, 32, 0, 0, 0, 0, 0, 1, 0, 1, 2,187,108, 32, 0, 0, 0, 0,
+ 0, 1, 0, 1, 11, 28, 37,112, 0, 0, 0, 0, 0, 1, 0, 1, 2,206,150, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 28, 64,
+ 0, 0, 0, 0, 0, 1, 0, 1, 2,212,100, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 27,176, 0, 21, 0, 0, 0, 1, 0, 1,
+ 2,154,244, 32, 0, 0, 83, 78, 0, 0, 0,148, 11, 27,167, 64, 0, 0, 0,193, 0, 0, 0, 1, 11, 27,220,208, 9,253,180,224,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 31,177, 96, 11, 27,171, 0, 11, 27,171, 64, 11, 27,176,128, 11, 27,176,192,
+ 11, 27,217,160, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 31,177, 96, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 27,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,168, 0,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 27,168, 64, 11, 31,177, 96, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 27,168, 64, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,168,128, 11, 27,168, 0, 0, 0, 0, 0, 7,126, 4, 5,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,168,128, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,168,192, 11, 27,168, 64,
+ 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,168,192, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 27,169, 0, 11, 27,168,128, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,169, 0,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 27,169, 64, 11, 27,168,192, 0, 0, 0, 0, 7,126, 3,168, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 27,169, 64, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,169,128, 11, 27,169, 0, 0, 0, 0, 0, 5,240, 3,168,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,169,128, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,169,192, 11, 27,169, 64,
+ 0, 0, 0, 0, 5,240, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,169,192, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 27,170, 0, 11, 27,169,128, 0, 0, 0, 0, 0, 0, 1,104, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,170, 0,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 27,170, 64, 11, 27,169,192, 0, 0, 0, 0, 5,240, 1,104, 0, 0, 0, 1, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 27,170, 64, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,170,128, 11, 27,170, 0, 0, 0, 0, 0, 2,248, 1,104,
+ 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,170,128, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,170,192, 11, 27,170, 64,
+ 0, 0, 0, 0, 5,240, 2,236, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,170,192, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 27,171, 0, 11, 27,170,128, 0, 0, 0, 0, 7,126, 2,236, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,171, 0,
+ 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,170,192, 0, 0, 0, 0, 2,248, 3,168, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 27,171, 64, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,171,128, 0, 0, 0, 0, 11, 27,168, 0, 11, 27,168, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,171,128, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,171,192,
+ 11, 27,171, 64, 11, 27,168, 0, 11, 27,168,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,171,192,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 27,172, 0, 11, 27,171,128, 11, 27,168, 64, 11, 27,169, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,172, 0, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,172, 64, 11, 27,171,192, 11, 27,168,192,
+ 11, 27,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,172, 64, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 27,172,128, 11, 27,172, 0, 11, 27,169, 0, 11, 27,169, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 27,172,128, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,172,192, 11, 27,172, 64, 11, 27,168,128, 11, 27,169,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,172,192, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,173, 0, 11, 27,172,128,
+ 11, 27,169,192, 11, 31,177, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,173, 0, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 27,173, 64, 11, 27,172,192, 11, 27,168,192, 11, 27,169,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 27,173, 64, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,173,128, 11, 27,173, 0, 11, 27,169, 64, 11, 27,170, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,173,128, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,173,192,
+ 11, 27,173, 64, 11, 27,169,128, 11, 27,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,173,192,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 27,174, 0, 11, 27,173,128, 11, 27,169,192, 11, 27,170, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,174, 0, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,174, 64, 11, 27,173,192, 11, 27,170, 0,
+ 11, 27,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,174, 64, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 27,174,128, 11, 27,174, 0, 11, 27,169,128, 11, 27,170,128, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 27,174,128, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,174,192, 11, 27,174, 64, 11, 27,169, 64, 11, 27,170,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,174,192, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,175, 0, 11, 27,174,128,
+ 11, 27,169, 0, 11, 27,170,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,175, 0, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 27,175, 64, 11, 27,174,192, 11, 27,168,128, 11, 27,170,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 27,175, 64, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,175,128, 11, 27,175, 0, 11, 27,170,128, 11, 27,170,192,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,175,128, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,175,192,
+ 11, 27,175, 64, 11, 27,168,192, 11, 27,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,175,192,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 27,176, 0, 11, 27,175,128, 11, 27,169, 64, 11, 27,171, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,176, 0, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,176, 64, 11, 27,175,192, 11, 27,170, 64,
+ 11, 27,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,176, 64, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 27,176,128, 11, 27,176, 0, 11, 27,169,192, 11, 27,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 27,176,128, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,176, 64, 11, 27,169,128, 11, 31,177, 96, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,176,192, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,179,144, 0, 0, 0, 0,
+ 11, 27,168,192, 11, 27,168, 0, 11, 27,168, 64, 11, 27,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,169,
+ 0, 0, 4, 5, 7, 7, 7,127, 0, 93, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 11, 27,220,112, 11, 27,220,112,
+ 11, 27,177, 80, 11, 27,178,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 27,177, 80, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,178,112, 0, 0, 0, 0, 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0,
+ 0, 0, 0, 25, 68,239,192, 0, 65,200, 0, 0, 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,127, 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,236, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 7,127, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,178,112, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,177, 80,
+ 0, 0, 0, 0, 68,239,192, 0, 0, 0, 0, 0, 66, 28, 0, 0, 0, 0, 0, 0, 68,237,192, 0, 0, 0, 0, 0, 66,134, 0, 0,
+ 0, 0, 7,110, 0, 0, 7,127, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 7,109, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 2, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,127, 0, 67, 7,110, 0, 67, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,169, 0, 0, 3,235, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,179,144, 0, 0, 0,197,
+ 0, 0, 0, 1, 11, 27,200,160, 11, 27,176,192, 11, 27,169,128, 11, 27,170,128, 11, 27,170,192, 11, 27,168,128, 0, 0, 0, 0,
+ 0, 0, 5,241, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 2,235, 4, 4, 1,142, 2,236, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 27,199,160, 11, 27,199,160, 11, 27,180, 32, 11, 27,181, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,180, 32, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,181, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,148, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,199, 0, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0, 0, 0, 0, 0, 25, 67,198,128, 0, 65,200, 0, 0, 67,198,128, 0, 65,200, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1,142, 0, 26, 1,142, 0, 26, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,126, 0, 0, 2,210, 0, 0, 2,235, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,142, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,181, 64, 0, 0, 0,198,
+ 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,180, 32, 0, 0, 0, 0, 67,198,128, 0,196, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,190,127,254,196, 52,127,254, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 1,142, 0, 0, 0, 0, 0, 0, 2,209, 0, 0, 0, 0,
+ 0, 0, 1,126, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1,124, 0, 0, 0, 0, 0, 0, 2,209, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0,
+ 0, 6, 1,142, 2,210, 1,125, 2,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,126,
+ 0, 0, 0, 0, 0, 0, 2,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,142, 2,210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 27,182, 96, 11, 27,198, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 11, 27,182, 96, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,183,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,255,220, 1,124, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,183,208, 0, 0, 0,196,
+ 0, 0, 0, 1, 11, 27,185, 64, 11, 27,182, 96, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,
+110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,
+110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1,124, 0, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,185, 64, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,186,176, 11, 27,183,208,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,111, 1,124, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 11, 27,186,176, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,188, 32, 11, 27,185, 64, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,
+110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,140,
+ 1,124, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,188, 32, 0, 0, 0,196, 0, 0, 0, 1,
+ 11, 27,189,144, 11, 27,186,176, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,
+105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,
+105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 58, 1,124, 0, 58, 0, 20, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,189,144, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,191, 0, 11, 27,188, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,254, 34, 1,124, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,191, 0,
+ 0, 0, 0,196, 0, 0, 0, 1, 11, 27,192,112, 11, 27,189,144, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 10, 1,124, 0, 0,
+ 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,192,112, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,193,224,
+ 11, 27,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,
+101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,
+101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,242, 1,124, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 64, 11, 27,193,224, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,195, 80, 11, 27,192,112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,253,218, 1,124, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,195, 80, 0, 0, 0,196,
+ 0, 0, 0, 1, 11, 27,196,192, 11, 27,193,224, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116,
+ 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116,
+ 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,194, 1,124, 0, 0, 0, 20, 0, 0,
+ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,196,192, 0, 0, 0,196, 0, 0, 0, 1, 11, 27,198, 48, 11, 27,195, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 40, 1,124, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64,
+ 11, 27,198, 48, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,196,192, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 16,
+ 1,124, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 11, 27,199,160, 0, 0, 0,162, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96,
+ 11, 27,200,160, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,207,240, 11, 27,179,144, 11, 27,170, 64, 11, 27,171, 0, 11, 27,169, 64,
+ 11, 27,170, 0, 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,105, 0, 0, 3,167, 1, 1, 2,247, 2, 63, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,206,208, 11, 27,206,208, 11, 27,201, 48, 11, 27,205,176, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,201, 48, 0, 0, 0,198, 0, 0, 0, 1,
+ 11, 27,202, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68,113, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 61,192, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,246, 0, 0, 0, 0, 0, 0, 0, 25, 68, 61,128, 0, 65,200, 0, 0,
+ 68, 61,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 2,247,
+ 0, 26, 2,247, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,105,
+ 0, 0, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 27,202, 80, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,203,112, 11, 27,201, 48, 0, 0, 0, 0, 67, 15, 0, 0,196, 70, 64, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18,
+ 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18,
+ 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0,
+ 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2,249, 0, 0, 2,249, 0, 0, 1,131, 0, 0, 3,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 2, 37, 0, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,203,112, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,204,144, 11, 27,202, 80,
+ 0, 0, 0, 0, 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231,194,206, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143, 0,102, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,131, 0, 0, 1,131, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,204,144, 0, 0, 0,198,
+ 0, 0, 0, 1, 11, 27,205,176, 11, 27,203,112, 0, 0, 0, 0, 67, 35, 0, 0,196,142,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67, 35, 0, 0,196, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 2,121, 0, 0, 0, 0,
+ 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 2,121, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0,
+ 0, 6, 0,180, 2,122, 0,163, 2,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 5,239,
+ 0, 0, 1,131, 0, 0, 3,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4,
+ 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 27,205,176, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,204,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,131, 0, 0, 3,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2,247, 2, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2,196,226, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,196,226, 32, 0, 0, 0,156, 0, 0, 0, 1, 63,140, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,193,141, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,191,128, 1, 80,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188,163,215,225, 0, 0, 0, 0, 62,209,239, 68,
+190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162,
+ 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, 63,128, 0, 0, 62,209,239, 69,
+ 63,105,119, 70,188, 89, 84,176, 0, 0, 0, 0,190,205,177, 53, 62, 70, 74,142, 63,101, 33,166, 0, 0, 0, 0, 63, 81,158,185,
+190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 96,164,192,173,121,111, 64,213,209,248, 63,128, 0, 0, 62,229,157,178,
+191, 27,132, 30,191, 81,160,222,191, 81,158,184, 63,127, 90,117, 62,149,235,166, 62,185, 46, 9, 62,185, 44, 35,188,109,180,145,
+ 63,173, 60,212,190,228, 63,129,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,111,132, 96, 65,111,211,214, 62,191,236,217,
+ 63, 85,117, 54,188, 70,246,224,182, 32,160, 0,190,136, 5,252, 62, 3, 33, 43, 63, 23,135,235, 53, 96, 0, 0,196, 25,104,215,
+ 67,135,132,133,195,167, 9, 37,194, 71,252,136, 68, 25, 54, 3,195,135, 87,158, 67,166,209,205, 66, 71,254,151, 62,209,239, 68,
+190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162,
+ 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, 63,128, 0, 0, 62,229,157,178,
+191, 27,132, 30,191, 81,160,222,191, 81,158,184, 63,127, 90,117, 62,149,235,166, 62,185, 46, 9, 62,185, 44, 35,188,109,180,145,
+ 63,173, 60,212,190,228, 63,129,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,111,132, 96, 65,111,211,214, 64, 45, 86, 46,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 45, 86, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 45, 86, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63, 55, 62, 92,
+190,224,186, 56,190,148,203,237,190,234,236, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0, 59, 29,227,107,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 66, 12, 33, 30, 66,137,152, 86, 66,126, 27,116, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,240, 11, 27,206,208, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,212,100, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0,
+ 0, 1, 0, 3, 8, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 60, 35,215, 10, 67,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,207,240, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,212,160, 11, 27,200,160,
+ 11, 31,177, 96, 11, 27,169,192, 11, 27,170, 0, 11, 27,169,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0,
+ 0, 0, 1,103, 18, 18, 5,240, 1,104, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,211, 16, 11, 27,211, 16,
+ 11, 27,208,128, 11, 27,209,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 27,208,128, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,209,160, 0, 0, 0, 0, 0, 0, 0, 0, 67,160,128, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 68,190, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0,
+ 0, 0, 0, 25, 68,189,224, 0, 65,200, 0, 0, 68,189,224, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 5,240, 0, 26, 5,240, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 5,240, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,209,160, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,208,128,
+ 0, 0, 0, 0, 68,189,224, 0, 0, 0, 0, 0, 67, 51, 0, 0, 0, 0, 0, 0, 68,187,224, 0, 0, 0, 0, 0, 67,167, 0, 0,
+ 0, 0, 5,223, 0, 0, 5,240, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5,222, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 2, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 5,240, 1, 78, 5,223, 1, 78, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 26, 0, 0, 1,103, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,240, 1, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 28, 11, 27,210,192, 0, 0, 0,177,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9,203,102, 96, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 4, 9,203,102, 96, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1,104,
+ 11, 27,211, 16, 0, 0, 0,178, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 27,210,192, 11, 27,210,192, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 0, 0, 4, 8, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,212,160,
+ 0, 0, 0,197, 0, 0, 0, 1, 11, 27,217,160, 11, 27,207,240, 11, 27,170,128, 11, 27,169, 64, 11, 27,169, 0, 11, 27,170,192,
+ 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,126, 0, 0, 2,237, 0, 0, 3,167, 3, 3, 1,142, 0,187, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,215,112, 11, 27,215,112, 11, 27,213, 48, 11, 27,214, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,213, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,214, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,199, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0, 0, 0, 0, 0, 25, 67,198,128, 0, 65,200, 0, 0, 67,198,128, 0,
+ 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1,142, 0, 26, 1,142,
+ 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,126, 0, 0, 2,237, 0, 0, 3, 6,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,142, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,214, 80,
+ 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,213, 48, 0, 0, 0, 0, 67,141,128, 0,194,244, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,190,128, 0,195, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 1,142, 0, 0, 0, 18, 0, 0, 0,160,
+ 0, 0, 0, 0, 0, 0, 1,124, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1,124, 0, 0, 0, 18, 0, 0, 0,160,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3,
+ 0, 0, 4, 12, 0, 6, 1,142, 0,161, 1,125, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241,
+ 0, 0, 7,126, 0, 0, 3, 7, 0, 0, 3,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,142, 0,161,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,244, 11, 27,215,112, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,216,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 68, 65, 84, 65, 0, 0, 0, 12, 11, 27,216,144, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 14,
+ 0, 0, 0, 14, 11, 27,216,208, 68, 65, 84, 65, 0, 0, 0,168, 11, 27,216,208, 0, 0, 0,219, 0, 0, 0, 14, 0, 0, 0, 0,
+ 0, 0, 0, 1, 2,154,244, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,154,244, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,154,244, 32,
+ 0, 21, 0, 1, 0, 1, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 31,176, 0, 0, 0, 0, 0, 1, 0, 1,
+ 2,174, 10, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 39, 32, 0, 0, 0, 0, 0, 1, 0, 1, 2,187,108, 32, 0, 0, 0, 0,
+ 0, 1, 0, 1, 11, 28, 37,112, 0, 0, 0, 0, 0, 1, 0, 1, 2,206,150, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 28, 64,
+ 0, 0, 0, 0, 0, 1, 0, 1, 2,212,100, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 27,176, 0, 21, 0, 0, 0, 1, 0, 1,
+ 2,154,244, 32, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,217,160, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,212,160,
+ 11, 27,169,192, 11, 27,168,192, 11, 27,171, 0, 11, 27,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,105,
+ 0, 0, 3,167, 9, 9, 2,248, 2, 63, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,196,230, 32, 2,196,230, 32,
+ 11, 27,218, 48, 11, 27,219, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 27,218, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,219, 80, 0, 0, 0, 0, 0, 0, 0, 0, 67,230, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 68, 62, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 0, 0,
+ 0, 0, 0, 25, 68, 61,192, 0, 65,200, 0, 0, 68, 61,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 2,248, 0, 26, 2,248, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,105, 0, 0, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2,248, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,219, 80, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,218, 48,
+ 0, 0, 0, 0, 68,189,224, 0, 0, 0, 0, 0, 68, 22,192, 0, 68, 23,150,248, 68,100, 41, 8, 67, 62,224, 46, 67,206, 15,233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 0, 0, 0, 0, 2, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 35,215, 10, 68,122, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 10, 2,248, 2, 37, 2,248, 2, 37, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,131, 0, 0, 3,167, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,248, 2, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 2,136, 2,196,230, 32, 0, 0, 0,169,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 12, 7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 61,204,204,205, 0, 0, 1,231, 0, 0, 1,243,
+ 0, 0, 1,122, 0, 0, 1,124, 0, 0, 1,231, 0, 0, 1,243, 0, 0, 0, 4, 0, 0, 1,124, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 11, 27,220,208, 0, 0, 0,193, 0, 0, 0, 1,
+ 11, 27,245, 16, 11, 27,167, 64, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,221,144, 11, 27,223, 80, 11, 27,223,144,
+ 11, 27,226, 16, 11, 27,226, 80, 11, 27,234,128, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,221,144,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 27,221,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 27,221,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,222, 16, 11, 27,221,144, 0, 0, 0, 0, 0, 0, 4, 5,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,222, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,222, 80, 11, 27,221,208,
+ 0, 0, 0, 0, 7,126, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,222, 80, 0, 0, 0,194, 0, 0, 0, 1,
+ 11, 27,222,144, 11, 27,222, 16, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,222,144,
+ 0, 0, 0,194, 0, 0, 0, 1, 11, 27,222,208, 11, 27,222, 80, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1, 68, 65, 84, 65,
+ 0, 0, 0, 20, 11, 27,222,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,223, 16, 11, 27,222,144, 0, 0, 0, 0, 7,126, 3,234,
+ 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,223, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,223, 80, 11, 27,222,208,
+ 0, 0, 0, 0, 3,200, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,223, 80, 0, 0, 0,194, 0, 0, 0, 1,
+ 0, 0, 0, 0, 11, 27,223, 16, 0, 0, 0, 0, 3,200, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,223,144,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 27,223,208, 0, 0, 0, 0, 11, 27,221,208, 11, 27,222, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,223,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,224, 16, 11, 27,223,144, 11, 27,221,208,
+ 11, 27,222,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,224, 16, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 27,224, 80, 11, 27,223,208, 11, 27,222, 16, 11, 27,222,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 27,224, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,224,144, 11, 27,224, 16, 11, 27,222,144, 11, 27,222,208, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,224,144, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,224,208, 11, 27,224, 80,
+ 11, 27,222,144, 11, 27,223, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,224,208, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 27,225, 16, 11, 27,224,144, 11, 27,221,144, 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 27,225, 16, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,225, 80, 11, 27,224,208, 11, 27,221,144, 11, 27,222,144,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,225, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,225,144,
+ 11, 27,225, 16, 11, 27,223, 16, 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,225,144,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 27,225,208, 11, 27,225, 80, 11, 27,222,208, 11, 27,223, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,225,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,226, 16, 11, 27,225,144, 11, 27,222, 80,
+ 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,226, 16, 0, 0, 0,195, 0, 0, 0, 1,
+ 0, 0, 0, 0, 11, 27,225,208, 11, 27,222, 80, 11, 27,222,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96,
+ 11, 27,226, 80, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,229, 32, 0, 0, 0, 0, 11, 27,222,144, 11, 27,221,208, 11, 27,222, 16,
+ 11, 27,222,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5, 7, 7, 7,127, 0, 27, 0, 1,
+ 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 11, 27,244,176, 11, 27,244,176, 11, 27,226,224, 11, 27,228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,226,224, 0, 0, 0,198, 0, 0, 0, 1,
+ 11, 27,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25, 68,239,192, 0, 65,200, 0, 0,
+ 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,127,
+ 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235,
+ 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 27,228, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,226,224, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 18,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 18,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0,
+ 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,229, 32, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,234,128, 11, 27,226, 80,
+ 11, 27,221,144, 11, 27,222,144, 11, 27,223, 16, 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0, 0,
+ 0, 0, 3,233, 6, 6, 3,200, 3,234, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,234,114, 32, 2,234,114, 32,
+ 11, 27,229,176, 11, 27,233, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 27,229,176, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,230,208, 0, 0, 0, 0, 0, 0, 0, 0, 67,215, 0, 0, 0, 0, 0, 0,
+ 65,208, 0, 0, 0, 0, 0, 0, 68,114, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0, 0,
+ 0, 0, 0, 25, 68,113,192, 0, 65,200, 0, 0, 68,113,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 3,200, 0, 26, 3,200, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3,200, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,230,208, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,233, 96, 11, 27,229,176,
+ 0, 0, 0, 0, 67, 91, 0, 0,196,115,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 74,255,254,196,115,255,254, 0, 0, 0, 0,
+ 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,220, 3,208, 0,203, 3,208, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 3,233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 3,208, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,231,240, 11, 27,231,240,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,231,240, 0, 0, 0,196,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,
+110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,
+110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,
+108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,152, 0,202, 0, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,233, 96, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,230,208,
+ 0, 0, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 67,128, 0, 0,191, 43, 51, 51, 63,213,153,154,191,131, 51, 51, 64, 1,153,154,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2,236, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 3,199, 0, 0, 0, 26, 0, 0, 3,233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,236, 3,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 32,248, 2,234,114, 32, 0, 0, 0,167,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,240, 0, 0, 0, 0, 0, 0, 62,153,153,154,
+ 0, 0, 0, 0, 0, 0, 0,100, 62,153,153,154, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 96, 11, 27,234,128, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,229, 32, 11, 27,223, 80, 11, 27,223, 16,
+ 11, 27,222,208, 11, 27,222, 80, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 3,233, 1, 1, 3,182,
+ 3,234, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,243,144, 11, 27,243,144, 11, 27,235, 16, 11, 27,242,112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,235, 16, 0, 0, 0,198,
+ 0, 0, 0, 1, 11, 27,236, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68,113, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 68,109,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 0, 0, 0, 0, 0, 0, 0, 25, 68,109, 64, 0,
+ 65,200, 0, 0, 68,109, 64, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12,
+ 0, 10, 3,182, 0, 26, 3,182, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 7,126,
+ 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 26, 0, 0, 0, 1,
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 27,236, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,238,192, 11, 27,235, 16, 0, 0, 0, 0, 67, 32, 0, 0,
+196, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160,
+ 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142,
+ 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 3, 88, 0,143, 3, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 4,104, 0, 0, 0,146, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,160, 3, 88, 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,237, 80, 11, 27,237, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,237, 80, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101,
+ 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101,
+ 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,233, 0,143, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 27,238,192, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,241, 80, 11, 27,236, 48, 0, 0, 0, 0, 67, 33, 0, 0,
+194,242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231,194,242, 90, 91, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160,
+ 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142,
+ 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 4,104, 0, 0, 0, 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,239,224, 11, 27,239,224, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,239,224, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,
+116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,
+116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,216, 0,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 27,241, 80, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,242,112, 11, 27,238,192, 0, 0, 0, 0, 67, 35, 0, 0,
+196,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196,126,191,255, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180,
+ 0, 0, 0, 18, 0, 0, 4, 12, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162,
+ 0, 0, 0, 18, 0, 0, 4, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 4, 13, 0,163, 3,251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 7,126, 0, 0, 0, 26, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,242,112, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0,
+ 11, 27,241, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,105, 0, 0, 7,126, 0, 0, 0, 26, 0, 0, 3,233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 3,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,187,104, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,187,104, 32,
+ 0, 0, 0,156, 0, 0, 0, 1, 63,172,246, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,140, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 13, 28,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+190, 76,215, 74, 0, 0, 0, 0, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,
+190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+192, 95, 25, 0, 63,128, 0, 0, 62,209,239, 69, 63,105,119, 70,188, 89, 84,160, 0, 0, 0, 0,190,205,177, 52, 62, 70, 74,142,
+ 63,101, 33,166, 0, 0, 0, 0, 63, 81,158,185,190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 64, 54,173,188,191,161, 95,136,
+ 63,198,231,147, 63,128, 0, 0, 63, 13,214,185,190,224,249,208,191, 81,180, 48,191, 81,158,184, 63,157,188,189, 62, 88,225,140,
+ 62,185, 63, 26, 62,185, 44, 35,188,146,213,241, 63,122,156,206,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 82, 98,100, 64, 95, 25, 0, 62,155, 92,121, 63, 44,198,151,188, 32,214,192,180, 40, 0, 0,190,188, 15,195, 62, 53, 75,132,
+ 63, 81,125,216,179,192, 0, 0,193,100, 77,115, 64,201,173, 17,192,248,148,181,192,159,247,203, 65, 87, 74,233,192,190, 46,247,
+ 64,234,106, 88, 64,160, 8, 45, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,
+190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+192, 95, 25, 0, 63,128, 0, 0, 63, 13,214,185,190,224,249,208,191, 81,180, 48,191, 81,158,184, 63,157,188,189, 62, 88,225,140,
+ 62,185, 63, 26, 62,185, 44, 35,188,146,213,241, 63,122,156,206,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 82, 98,100, 64, 95, 25, 0, 62,250,201,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,201,248,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,201,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237,190,234,236, 3, 64, 95, 25, 0, 64, 95, 25, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 58,245,145,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 66, 12, 33, 30,
+ 66,137,152, 85, 66,126, 27,116, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,240, 11, 27,243,144, 0, 0, 0,157, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 1, 0, 7, 2,212,100, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 8, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 61,204,204,205,
+ 67,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 10, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 11, 27,245, 16, 0, 0, 0,193,
+ 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,220,208, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,
+105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,245,208, 11, 27,248,144,
+ 11, 27,248,208, 11, 27,253, 16, 11, 27,253, 80, 11, 28, 16,128, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0,
+ 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20,
+ 11, 27,245,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,246, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,246, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,246, 80, 11, 27,245,208, 0, 0, 0, 0,
+ 0, 0, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,246, 80, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,246,144,
+ 11, 27,246, 16, 0, 0, 0, 0, 7,126, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,246,144, 0, 0, 0,194,
+ 0, 0, 0, 1, 11, 27,246,208, 11, 27,246, 80, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20,
+ 11, 27,246,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,247, 16, 11, 27,246,144, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1,
+ 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,247, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,247, 80, 11, 27,246,208, 0, 0, 0, 0,
+ 7,126, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,247, 80, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,247,144,
+ 11, 27,247, 16, 0, 0, 0, 0, 7,126, 1,232, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,247,144, 0, 0, 0,194,
+ 0, 0, 0, 1, 11, 27,247,208, 11, 27,247, 80, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20,
+ 11, 27,247,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,248, 16, 11, 27,247,144, 0, 0, 0, 0, 3, 80, 3,234, 0, 0, 0, 1,
+ 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,248, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,248, 80, 11, 27,247,208, 0, 0, 0, 0,
+ 0, 0, 1,232, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,248, 80, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,248,144,
+ 11, 27,248, 16, 0, 0, 0, 0, 3, 80, 1,232, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,248,144, 0, 0, 0,194,
+ 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,248, 80, 0, 0, 0, 0, 7,126, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 27,248,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,249, 16, 0, 0, 0, 0, 11, 27,246, 16, 11, 27,246, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,249, 16, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,249, 80, 11, 27,248,208,
+ 11, 27,246, 16, 11, 27,246,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,249, 80, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 27,249,144, 11, 27,249, 16, 11, 27,246, 80, 11, 27,247, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 27,249,144, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,249,208, 11, 27,249, 80, 11, 27,246,208, 11, 27,247, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,249,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,250, 16,
+ 11, 27,249,144, 11, 27,247, 16, 11, 27,247, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,250, 16,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 27,250, 80, 11, 27,249,208, 11, 27,245,208, 11, 27,247,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,250, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,250,144, 11, 27,250, 16, 11, 27,246,208,
+ 11, 27,247,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,250,144, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 27,250,208, 11, 27,250, 80, 11, 27,247,144, 11, 27,248, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 27,250,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,251, 16, 11, 27,250,144, 11, 27,248, 16, 11, 27,248, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,251, 16, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,251, 80, 11, 27,250,208,
+ 11, 27,247,208, 11, 27,248, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,251, 80, 0, 0, 0,195,
+ 0, 0, 0, 1, 11, 27,251,144, 11, 27,251, 16, 11, 27,247, 80, 11, 27,248,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 27,251,144, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,251,208, 11, 27,251, 80, 11, 27,246,144, 11, 27,248,144,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,251,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,252, 16,
+ 11, 27,251,144, 11, 27,247,144, 11, 27,248,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,252, 16,
+ 0, 0, 0,195, 0, 0, 0, 1, 11, 27,252, 80, 11, 27,251,208, 11, 27,245,208, 11, 27,246,144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,252, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,252,144, 11, 27,252, 16, 11, 27,247, 16,
+ 11, 27,247,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,252,144, 0, 0, 0,195, 0, 0, 0, 1,
+ 11, 27,252,208, 11, 27,252, 80, 11, 27,247, 80, 11, 27,248, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24,
+ 11, 27,252,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,253, 16, 11, 27,252,144, 11, 27,246,208, 11, 27,248, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,253, 16, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,252,208,
+ 11, 27,247, 80, 11, 27,248, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,253, 80, 0, 0, 0,197,
+ 0, 0, 0, 1, 11, 28, 0, 32, 0, 0, 0, 0, 11, 27,246,208, 11, 27,246, 16, 11, 27,246, 80, 11, 27,247, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5, 7, 7, 7,127, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0,
+ 0, 0, 0, 0, 11, 28, 22,144, 11, 28, 22,144, 11, 27,253,224, 11, 27,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,253,224, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,255, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0, 0, 0, 0, 0, 65,208, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25, 68,239,192, 0, 65,200, 0, 0, 68,239,192, 0, 65,200, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,127, 0, 26, 7,127, 0, 26, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,255, 0, 0, 0, 0,198,
+ 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,253,224, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 69,109,255,255,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0,
+ 0, 10, 7,129, 0, 2, 7,112, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4, 5, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 96, 11, 28, 0, 32, 0, 0, 0,197, 0, 0, 0, 1, 11, 28, 3,224, 11, 27,253, 80, 11, 27,245,208, 11, 27,247,144,
+ 11, 27,248,144, 11, 27,246,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 91, 15, 15, 7,127,
+ 0, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 2,240, 11, 28, 2,240, 11, 28, 0,176, 11, 28, 1,208,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 0,176, 0, 0, 0,198,
+ 0, 0, 0, 1, 11, 28, 1,208, 0, 0, 0, 0, 0, 0, 0, 0, 68,140, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 68,239,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25, 68,239,192, 0,
+ 65,200, 0, 0, 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12,
+ 0, 10, 7,127, 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126,
+ 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26, 0, 0, 0, 1,
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 28, 1,208, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 28, 0,176,192, 64, 0, 0, 67,126, 0, 0,
+ 0, 0, 0, 0, 66, 72, 0, 0,192, 17,189,112, 67,125, 70,246, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,126,
+ 0, 0, 0, 18, 0, 0, 0, 65, 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0,
+ 0, 72, 0, 0, 0, 0, 2, 0, 0, 4, 4, 0, 0, 8, 7,127, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 26, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 7,127, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,188, 11, 28, 2,240, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96,
+ 11, 28, 3,224, 0, 0, 0,197, 0, 0, 0, 1, 11, 28, 9,240, 11, 28, 0, 32, 11, 27,247,144, 11, 27,248, 16, 11, 27,247, 80,
+ 11, 27,248,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 93, 0, 0, 1,231, 8, 8, 7,127, 1,139, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 8,240, 11, 28, 8,240, 11, 28, 4,112, 11, 28, 7,208, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 4,112, 0, 0, 0,198, 0, 0, 0, 1,
+ 11, 28, 5,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 26,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25, 68,239,192, 0, 65,200, 0, 0,
+ 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,127,
+ 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 93,
+ 0, 0, 0,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248,
+ 11, 28, 5,144, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 6,176, 11, 28, 4,112, 0, 0, 0, 0, 67, 92, 0, 0,195,184,128, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 75, 0, 0,195,184,128, 0, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0,
+ 0, 0, 1,112, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0,
+ 0, 0, 1,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0,
+ 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,220, 1,113, 0,203, 1,113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6,163, 0, 0, 7,126, 0, 0, 0,119, 0, 0, 1,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,220, 1,113, 0, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 6,176, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 7,208, 11, 28, 5,144,
+196,112, 0, 0, 68,112, 0, 0,196, 7, 0, 0, 68, 7, 0, 0,196,112, 0, 0, 68,112, 0, 0,196, 7, 0, 0, 68, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 59,128, 0, 70, 59,128, 0,
+ 55, 39,197,172, 71,195, 80, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,162, 0, 0, 1,231, 0, 0, 1,231, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 7,208, 0, 0, 0,198,
+ 0, 0, 0, 1, 0, 0, 0, 0, 11, 28, 6,176, 0, 0, 0, 0, 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
+ 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 1,112, 0, 0, 0, 18,
+ 0, 0, 6,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 6,162, 0, 0, 0, 18, 0, 0, 1,112, 65, 32, 0, 0,
+ 64,128, 0, 0, 72,146,124, 0, 66, 0, 0, 0, 60, 35,215, 10, 66,200, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
+ 0, 8, 6,163, 1,113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,162,
+ 0, 0, 0,119, 0, 0, 1,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,163, 1,113, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,216, 11, 28, 8,240, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 0, 0, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 28, 9,240, 0, 0, 0,197, 0, 0, 0, 1, 11, 28, 16,128,
+ 11, 28, 3,224, 11, 27,248, 16, 11, 27,246,208, 11, 27,247,208, 11, 27,248, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79,
+ 0, 0, 1,233, 0, 0, 3,233, 2, 2, 3, 80, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 15, 0,
+ 11, 28, 15, 0, 11, 28, 10,128, 11, 28, 13,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 28, 10,128, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 11,160, 0, 0, 0, 0, 0, 0, 0, 0, 68,119, 64, 0,
+ 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 84, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79,
+ 0, 0, 0, 0, 0, 0, 0, 25, 68, 83,192, 0, 65,200, 0, 0, 68, 83,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 3, 80, 0, 26, 3, 80, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 0, 0, 1,233, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 80, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 11,160, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 12,192,
+ 11, 28, 10,128, 0, 0, 0, 0, 67, 72, 0, 0,193,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 72, 0, 0,195,234,128, 0,
+ 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 1,230, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 1,230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 10, 0, 0, 0, 2, 3, 3, 0, 0, 4, 0, 0, 6, 0,217, 1,231, 0,200,
+ 1,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 2, 3, 0, 0, 3,233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 1,231, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 12,192,
+ 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 13,224, 11, 28, 11,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79,
+ 0, 0, 3, 79, 0, 0, 2, 3, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+ 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 13,224, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 28, 12,192,193, 16, 0, 0,
+ 67,130, 0, 0,192,160, 0, 0, 64,160, 0, 0, 0, 0, 0, 0, 67,122, 0, 0,193, 16, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 1,230, 0, 0, 0, 18, 0, 0, 2,118, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18,
+ 0, 0, 2,118, 0, 0, 0, 18, 0, 0, 1,230, 58,131, 18,111, 58,131, 18,111, 72,146,124, 0, 71, 67, 80, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2,119, 1,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 3, 79, 0, 0, 2, 3, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2,119, 1,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,208, 11, 28, 15, 0, 0, 0, 0,161, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 88, 11, 28, 16, 0, 0, 0, 1, 19,
+ 0, 0, 0, 1, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 96, 11, 28, 16,128, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 11, 28, 9,240, 11, 27,248, 80, 11, 27,247,208,
+ 11, 27,247, 16, 11, 27,247, 80, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 7,126, 0, 0, 1,233, 0, 0, 3,233, 8, 8, 4, 46,
+ 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 21,144, 11, 28, 21,144, 11, 28, 17, 16, 11, 28, 20,112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 17, 16, 0, 0, 0,198,
+ 0, 0, 0, 1, 11, 28, 18, 48, 0, 0, 0, 0, 0, 0, 0, 0, 67,245, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0,
+ 68,133,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 45, 0, 0, 0, 0, 0, 0, 0, 25, 68,133,160, 0,
+ 65,200, 0, 0, 68,133,160, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12,
+ 0, 10, 4, 46, 0, 26, 4, 46, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 7,126,
+ 0, 0, 1,233, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 46, 0, 26, 0, 0, 0, 1,
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0,248, 11, 28, 18, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 19, 80, 11, 28, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 7,126, 0, 0, 2, 3, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 19, 80, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 20,112,
+ 11, 28, 18, 48,195,240, 0, 0, 67,240, 0, 0,195,135, 0, 0, 67,135, 0, 0,196,217,139,145, 68,217,139,145,196, 70, 6,240,
+ 68, 70, 6,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 45, 0, 0, 0, 0, 0, 0, 1,230, 0, 0, 0, 0, 0, 0, 0, 0, 70, 59,128, 0,
+ 70, 59,128, 0, 55, 39,197,172, 71,195, 80, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 4, 0, 0, 0, 4, 46, 1,231, 4, 46,
+ 1,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 7,126, 0, 0, 2, 3, 0, 0, 3,233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 46, 1,231, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 20,112,
+ 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 28, 19, 80, 0, 0, 0, 0, 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0,
+ 0, 0, 0, 0, 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 1, 75,
+ 0, 0, 0, 18, 0, 0, 2,201, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 2,201, 0, 0, 0, 18, 0, 0, 1, 75,
+ 65, 32, 0, 0, 64,128, 0, 0, 72,146,124, 0, 66, 0, 0, 0, 60, 35,215, 10, 66,200, 0, 0, 0,105, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 8, 2,202, 1, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0,216, 11, 28, 21,144, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0, 5, 40, 2,154,244, 32, 0, 0, 0,154, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 11, 28, 22,240, 0, 0, 0, 0, 2,212,100, 32, 11, 28, 31,176,
+ 0, 0, 0, 0, 11, 28, 23,112, 11, 28, 24, 16, 11, 28, 23,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 24, 96, 2,207, 94, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,192, 0, 0,172, 68, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 1, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,128, 1,224, 0, 60, 0, 32, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 50,
+ 0,141, 7,128, 4, 56, 0, 8, 0, 8, 0, 24, 0, 17, 0, 0, 0, 90, 0, 1, 0, 0, 0, 81, 0, 33, 0, 23, 0, 0, 0, 2,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 27, 64, 11, 28, 27, 64, 0, 0, 0, 1, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 1,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 31, 0, 12, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 76,204,205, 63, 76,204,205, 63, 76,204,205, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 63,128, 0, 0, 63,128, 0, 0, 2,173, 0, 95, 63,217,153,154,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 76, 69, 78,
+ 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 68,
+ 63,128, 0, 0, 67,171,166,102, 63,128, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 17, 98, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 31, 35,112, 0, 1, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 65, 28,204,205, 0, 0, 0, 0, 0, 32, 0, 32, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, 0, 60, 0, 5, 0, 1, 0, 5,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,128, 1,224, 0, 60, 0, 32, 0, 0, 0, 0, 0, 0,
+ 0, 4, 0, 1, 0,180, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 7,128, 4, 56, 61,204,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 28,245,195, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 76, 11, 28, 22,240, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 28, 11, 28, 23,112, 0, 0, 0,130, 0, 0, 0, 1, 11, 28, 23,192,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2,212, 1,226, 2,174, 10, 32, 68, 65, 84, 65, 0, 0, 0, 28,
+ 11, 28, 23,192, 0, 0, 0,130, 0, 0, 0, 1, 11, 28, 24, 16, 11, 28, 23,112, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 4, 0,
+ 3,167, 3, 37, 2,206,150, 32, 68, 65, 84, 65, 0, 0, 0, 28, 11, 28, 24, 16, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0, 0,
+ 11, 28, 23,192, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 4, 0, 0,160, 2, 69, 2,212,100, 32, 68, 65, 84, 65, 0, 0, 1,152,
+ 11, 28, 24, 96, 0, 0, 0,150, 0, 0, 0, 1, 11, 28, 26, 32, 11, 28, 26,112, 11, 28, 26,192, 63,128, 0, 0, 0, 1, 0, 1,
+ 63, 76,204,205, 66,180, 0, 0, 0, 9, 0, 1, 63,128, 0, 0, 58,131, 18,111, 61,204,204,205, 0, 0, 0, 1, 0, 32, 0, 32,
+ 0, 32, 0, 1, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 2,212, 24, 32, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 80, 2, 0, 2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 7, 0, 5, 0, 5,255,255, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66,200, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0,
+ 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 60, 35,215, 10, 61,204,204,205, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 61,204,204,205, 61,204,204,205,
+ 63,166,102,102, 63,192, 0, 0, 65,240, 0, 0, 63,122,225, 72, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 2, 67, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 63,121,197,204,
+ 63, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 36, 11, 28, 26, 32, 0, 0, 0,149, 0, 0, 0, 1, 2,199, 36, 32, 0, 0, 0, 0,
+255,255,255,128, 0, 0, 0, 1, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 36, 11, 28, 26,112, 0, 0, 0,149, 0, 0, 0, 1, 2,199, 36, 32, 0, 0, 0, 0,200,200,255,128, 0, 0, 0, 1,
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 88, 11, 28, 26,192,
+ 0, 0, 0,148, 0, 0, 0, 1, 2,209, 48, 32, 0, 0, 0, 0,255,100,100,128, 0, 0, 0, 1, 0, 0, 0,128, 0, 0, 0, 1,
+ 0, 0, 0, 1, 0, 0, 0, 1, 65,231, 7,124, 65, 20, 74,255, 63,123, 86, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 27, 64, 0, 0, 0,136, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,
+101,114, 76, 97,121,101,114, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 15,255,255, 0, 0, 0, 0, 0, 0,127,255, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 67, 65,
+ 0, 0, 0,104, 11, 28, 27,176, 0, 0, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 63, 0, 0, 0, 61,204,204,205, 66,200, 0, 0, 66, 12, 0, 0, 64,234, 14,161,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0, 1,108,
+ 11, 28, 28, 64, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,
+109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 65,239,255,247, 66,150, 0, 0, 62, 25,153,154,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 11, 28, 29,224, 0, 2, 0, 0, 63,128, 26, 46, 65,240, 4, 25, 66, 52, 0, 0,
+ 63,128, 0, 0, 64, 64, 0, 0, 61, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 64, 0, 3, 0, 1, 0, 0,
+ 0, 2, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 58,131, 18,111, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 64, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 31, 96, 68, 65, 84, 65, 0, 0, 1, 16,
+ 11, 28, 29,224, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 2, 0, 1,
+ 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191, 53, 4,243, 63, 53, 4,242,191, 53, 4,242, 63, 53, 4,243, 11, 28, 31, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 24, 11, 28, 31, 32, 0, 0, 1, 77, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 32, 11, 28, 31, 96, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79,
+ 0, 0, 1,112, 11, 28, 31,176, 0, 0, 0,129, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 80, 99,114, 61, 80, 99,114, 61, 80, 99,114, 60, 36, 54,199,
+ 60, 36, 54,199, 60, 36, 54,199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 28,204,205, 0, 0, 0, 0, 0, 0, 0, 32, 0,128, 0, 5,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 0, 0, 65,200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 65,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 65, 32, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 61, 76,204,205, 0, 0, 0, 5, 0, 0, 0, 0, 59,163,215, 10, 0, 0, 0, 0,
+ 62,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 33, 80,
+ 68, 65, 84, 65, 0, 0, 0, 32, 11, 28, 33, 80, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 4, 44, 2,212,100, 32,
+ 0, 0, 0,116, 0, 0, 0, 1, 2,174, 10, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97,
+ 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 27,176, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,239,101,110,
+192,208, 62,150, 64,170,255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,141,254, 42, 60, 49, 57,192,
+ 63, 80,159, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 47,149,222, 63, 58, 70, 53,188, 49, 56,222, 0, 0, 0, 0,
+190,162,126, 86, 62,159,251,227, 63,101, 53, 55, 0, 0, 0, 0, 63, 39,165, 7,191, 28, 84,149, 62,227,247, 51, 0, 0, 0, 0,
+ 64,239,101,110,192,208, 62,150, 64,170,255, 78, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 1, 51,128, 0, 1,179, 0, 0, 1, 0, 0, 0, 0,
+ 51, 0, 0, 0, 63,128, 0, 0, 51,128, 0, 1, 0, 0, 0, 0,179, 0, 0, 2,167, 0, 0, 2, 63,128, 0, 1, 0, 0, 0, 0,
+ 53, 0, 0, 1, 41, 0, 0, 1,168,128, 0, 1, 63,128, 0, 0, 63, 47,149,221,190,162,126, 86, 63, 39,165, 8, 0, 0, 0, 0,
+ 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0,188, 49, 56,192, 63,101, 53, 55, 62,227,247, 52, 0, 0, 0, 0,
+190,173, 38, 90,190,192,222, 0,193, 52, 9,152, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1,
+ 0, 0, 0, 0, 79, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0,
+201,150,180, 56, 63,128, 0, 0, 63, 16,225,187, 63,128, 0, 0, 62,204,204,205, 63, 32, 54,237, 0, 0, 0, 0, 61,117,194,143,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 33,160, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 11, 28, 33,160,
+ 0, 0, 0,119, 0, 0, 0, 1, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 61,204,204,205, 62, 76,204,205, 60,163,215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 79, 66, 0, 0, 4, 44,
+ 2,174, 10, 32, 0, 0, 0,116, 0, 0, 0, 1, 2,206,150, 32, 2,212,100, 32, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117,
+ 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,203, 71,224, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 39, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,255, 60,240, 9,253,121, 96, 0, 0, 0, 1, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 2, 0, 0, 0, 68, 79, 66, 0, 0, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100,
+ 0, 0, 0, 0,201,150,180, 56, 63,128, 0, 0, 60,208, 19,169, 63,128, 0, 0, 62,204,204,205, 62, 34,208,229, 0, 0, 0, 0,
+ 61,117,194,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 34, 96,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10,124,118,224,
+ 10,120, 52, 80, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4,
+ 9,255, 60,240, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, 9,253,121, 96, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 11, 28, 34, 96, 0, 0, 0,119, 0, 0, 0, 1, 0, 0,192, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,204,204,205, 62, 76,204,205, 60,163,215, 10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 79, 66, 0, 0, 4, 44, 2,206,150, 32, 0, 0, 0,116, 0, 0, 0, 1,
+ 0, 0, 0, 0, 2,174, 10, 32, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 28, 64, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,130,112,154, 63,128,178,183, 64,188,236,112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 38,123,229, 61, 98, 43, 87, 63,238,229,229, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,190,148,236, 54, 63,116,134, 25,189, 98, 13,236, 0, 0, 0, 0,191, 69,102,221,190, 76,174, 57,
+ 63, 26,194, 34, 0, 0, 0, 0, 63, 16,255, 37, 62, 95,161,241, 63, 75,111,164, 0, 0, 0, 0, 64,130,112,154, 63,128,178,183,
+ 64,188,236,112, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 50,128, 0, 1,179, 0, 0, 0, 0, 0, 0, 0, 50,128, 0, 1, 63,128, 0, 1,
+ 51, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 39, 0, 0, 1, 52, 0, 0, 1,
+ 39,128, 0, 1, 63,128, 0, 0,190,148,236, 54,191, 69,102,221, 63, 16,255, 38, 0, 0, 0, 0, 63,116,134, 24,190, 76,174, 57,
+ 62, 95,161,239, 0, 0, 0, 0,189, 98, 13,237, 63, 26,194, 35, 63, 75,111,166, 0, 0, 0, 0, 63, 13, 19,209,190,102, 65,241,
+192,231, 10, 10, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 79, 66, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0,201,150,180, 56, 63,128, 0, 0,
+ 60,208, 19,169, 63,128, 0, 0, 62,204,204,205, 62, 34,208,229, 0, 0, 0, 0, 61,117,194,143, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 35, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 11, 28, 35, 32, 0, 0, 0,119, 0, 0, 0, 1,
+ 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,204,204,205, 62, 76,204,205,
+ 60,163,215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 77, 65, 0, 0, 2,160, 2,187,108, 32, 0, 0, 0, 35,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 90, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 63, 76,204,205, 63, 76,204,205, 63, 76,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63, 76,204,205, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 60, 35,215, 10, 0, 0, 0, 0, 0, 0, 0, 8,
+ 0, 1, 0, 50, 62, 76,204,205, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,160, 0, 0, 0, 0, 0, 0,
+ 63,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 2, 0, 2, 0, 50, 0, 6, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 18, 0, 18, 59,163,215, 10, 59,163,215, 10, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 64, 0, 67, 3, 64, 0, 67,
+ 0, 1, 0, 4, 0, 12, 0, 4, 63, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,128, 0, 0, 63, 0, 0, 0, 61,204,204,205,
+ 63, 0, 0, 0, 61,204,204,205, 61,204,204,205, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 11, 28, 35,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 37, 32, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63, 26,148,111, 63, 26,148,111, 63, 26,148,111, 61, 76,204,205, 61,204,204,205, 63,166,102,102,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 35,224, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 37,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 0, 32, 11, 28, 37, 32, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32,
+ 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 1, 0, 52, 0, 52, 2,213, 70, 32, 9,237,224, 32, 68, 65, 84, 65,
+ 0, 0, 16, 0, 2,213, 70, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 2, 2, 51, 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153, 4, 4, 4,102, 3, 3, 3,102, 2, 2, 2, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204,
+ 13, 13, 13,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 10, 10, 10,153, 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255,
+ 23, 23, 23,255, 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, 11, 11, 11,255, 10, 10, 10,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255,
+ 33, 33, 33,255, 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255,
+ 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255,
+ 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255, 30, 30, 30,255, 27, 27, 27,255, 24, 24, 24,255,
+ 20, 20, 20,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 7, 7, 7,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13, 13, 13,102, 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255, 51, 51, 51,255, 51, 51, 51,255, 50, 50, 50,255,
+ 49, 49, 49,255, 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255, 37, 37, 37,255, 34, 34, 34,255, 31, 31, 31,255,
+ 28, 28, 28,255, 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255, 10, 10, 10,255, 11, 11, 11,255, 7, 7, 7,153,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102,
+ 41, 41, 41,255, 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255, 59, 59, 59,255, 59, 59, 59,255, 58, 58, 58,255,
+ 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255, 45, 45, 45,255, 41, 41, 41,255, 38, 38, 38,255,
+ 35, 35, 35,255, 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255,
+ 5, 5, 5,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36,204,
+ 53, 53, 53,255, 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255, 66, 66, 66,255, 66, 66, 66,255, 65, 65, 65,255,
+ 64, 64, 64,255, 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255, 51, 51, 51,255, 48, 48, 48,255, 44, 44, 44,255,
+ 41, 41, 41,255, 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255, 19, 19, 19,255, 13, 13, 13,255, 11, 11, 11,255,
+ 12, 12, 12,255, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19,102, 56, 56, 56,255,
+ 64, 64, 64,255, 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255, 74, 74, 74,255, 73, 73, 73,255, 72, 72, 72,255,
+ 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255, 58, 58, 58,255, 54, 54, 54,255, 50, 50, 50,255,
+ 47, 47, 47,255, 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255, 25, 25, 25,255, 19, 19, 19,255, 13, 13, 13,255,
+ 12, 12, 12,255, 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,255, 66, 66, 66,255,
+ 72, 72, 72,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255, 81, 81, 81,255, 80, 80, 80,255, 79, 79, 79,255,
+ 77, 77, 77,255, 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255, 63, 63, 63,255, 60, 60, 60,255, 56, 56, 56,255,
+ 52, 52, 52,255, 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255, 30, 30, 30,255, 24, 24, 24,255, 18, 18, 18,255,
+ 12, 12, 12,255, 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22,102, 67, 67, 67,255, 76, 76, 76,255,
+ 81, 81, 81,255, 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255, 86, 86, 86,255,
+ 84, 84, 84,255, 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255, 69, 69, 69,255, 65, 65, 65,255, 62, 62, 62,255,
+ 58, 58, 58,255, 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255, 35, 35, 35,255, 29, 29, 29,255, 23, 23, 23,255,
+ 16, 16, 16,255, 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,204, 76, 76, 76,255, 84, 84, 84,255,
+ 89, 89, 89,255, 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255, 95, 95, 95,255, 94, 94, 94,255, 93, 93, 93,255,
+ 91, 91, 91,255, 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255, 75, 75, 75,255, 71, 71, 71,255, 67, 67, 67,255,
+ 63, 63, 63,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255, 40, 40, 40,255, 34, 34, 34,255, 28, 28, 28,255,
+ 21, 21, 21,255, 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102, 70, 70, 70,255, 85, 85, 85,255, 92, 92, 92,255,
+ 97, 97, 97,255,100,100,100,255,102,102,102,255,102,102,102,255,103,103,103,255,102,102,102,255,101,101,101,255, 99, 99, 99,255,
+ 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 81, 81, 81,255, 77, 77, 77,255, 72, 72, 72,255,
+ 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 44, 44, 44,255, 39, 39, 39,255, 32, 32, 32,255,
+ 25, 25, 25,255, 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102, 80, 80, 80,255, 93, 93, 93,255,100,100,100,255,
+104,104,104,255,107,107,107,255,109,109,109,255,109,109,109,255,109,109,109,255,109,109,109,255,107,107,107,255,106,106,106,255,
+103,103,103,255,100,100,100,255, 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255, 86, 86, 86,255, 82, 82, 82,255, 77, 77, 77,255,
+ 73, 73, 73,255, 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 49, 49, 49,255, 43, 43, 43,255, 36, 36, 36,255,
+ 29, 29, 29,255, 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102, 89, 89, 89,255,100,100,100,255,107,107,107,255,
+112,112,112,255,114,114,114,255,116,116,116,255,116,116,116,255,116,116,116,255,115,115,115,255,114,114,114,255,112,112,112,255,
+110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255, 96, 96, 96,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255,
+ 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255, 52, 52, 52,255, 46, 46, 46,255, 40, 40, 40,255,
+ 33, 33, 33,255, 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153, 95, 95, 95,255,107,107,107,255,114,114,114,255,
+118,118,118,255,121,121,121,255,122,122,122,255,123,123,123,255,123,123,123,255,122,122,122,255,122,122,122,255,120,120,120,255,
+118,118,118,255,114,114,114,255,110,110,110,255,106,106,106,255,101,101,101,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255,
+ 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255, 56, 56, 56,255, 50, 50, 50,255, 44, 44, 44,255,
+ 36, 36, 36,255, 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153,101,101,101,255,113,113,113,255,120,120,120,255,
+125,125,125,255,127,127,127,255,129,129,129,255,130,130,130,255,130,130,130,255,131,131,131,255,131,131,131,255,131,131,131,255,
+129,129,129,255,125,125,125,255,120,120,120,255,113,113,113,255,108,108,108,255,103,103,103,255, 97, 97, 97,255, 92, 92, 92,255,
+ 87, 87, 87,255, 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255, 60, 60, 60,255, 54, 54, 54,255, 47, 47, 47,255,
+ 39, 39, 39,255, 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153,106,106,106,255,118,118,118,255,126,126,126,255,
+131,131,131,255,134,134,134,255,135,135,135,255,137,137,137,255,138,138,138,255,142,142,142,255,147,147,147,255,149,149,149,255,
+148,148,148,255,142,142,142,255,133,133,133,255,124,124,124,255,115,115,115,255,108,108,108,255,102,102,102,255, 97, 97, 97,255,
+ 92, 92, 92,255, 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255, 63, 63, 63,255, 57, 57, 57,255, 49, 49, 49,255,
+ 42, 42, 42,255, 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102,109,109,109,255,123,123,123,255,131,131,131,255,
+136,136,136,255,140,140,140,255,142,142,142,255,144,144,144,255,148,148,148,255,156,156,156,255,168,168,168,255,176,176,176,255,
+177,177,177,255,168,168,168,255,153,153,153,255,137,137,137,255,124,124,124,255,114,114,114,255,107,107,107,255,101,101,101,255,
+ 96, 96, 96,255, 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255, 66, 66, 66,255, 59, 59, 59,255, 52, 52, 52,255,
+ 44, 44, 44,255, 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51,110,110,110,255,127,127,127,255,136,136,136,255,
+142,142,142,255,145,145,145,255,148,148,148,255,151,151,151,255,159,159,159,255,174,174,174,255,195,195,195,255,212,212,212,255,
+216,216,216,255,204,204,204,255,179,179,179,255,154,154,154,255,135,135,135,255,121,121,121,255,112,112,112,255,106,106,106,255,
+ 99, 99, 99,255, 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255, 69, 69, 69,255, 62, 62, 62,255, 54, 54, 54,255,
+ 46, 46, 46,255, 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0,107,107,107,255,130,130,130,255,140,140,140,255,
+146,146,146,255,150,150,150,255,153,153,153,255,158,158,158,255,169,169,169,255,191,191,191,255,219,219,219,255,246,246,246,255,
+254,254,254,255,237,237,237,255,204,204,204,255,170,170,170,255,145,145,145,255,127,127,127,255,117,117,117,255,110,110,110,255,
+103,103,103,255, 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255, 71, 71, 71,255, 64, 64, 64,255, 55, 55, 55,255,
+ 47, 47, 47,255, 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0, 65, 65, 65,153,129,129,129,255,142,142,142,255,
+149,149,149,255,154,154,154,255,158,158,158,255,163,163,163,255,176,176,176,255,199,199,199,255,232,232,232,255,255,255,255,255,
+255,255,255,255,255,255,255,255,220,220,220,255,181,181,181,255,151,151,151,255,132,132,132,255,121,121,121,255,113,113,113,255,
+106,106,106,255,100,100,100,255, 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255, 73, 73, 73,255, 65, 65, 65,255, 57, 57, 57,255,
+ 48, 48, 48,255, 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 51,127,127,127,255,143,143,143,255,
+152,152,152,255,157,157,157,255,161,161,161,255,165,165,165,255,177,177,177,255,198,198,198,255,227,227,227,255,253,253,253,255,
+255,255,255,255,250,250,250,255,217,217,217,255,181,181,181,255,153,153,153,255,135,135,135,255,124,124,124,255,117,117,117,255,
+110,110,110,255,103,103,103,255, 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255, 74, 74, 74,255, 66, 66, 66,255, 57, 57, 57,255,
+ 48, 48, 48,255, 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93,204,141,141,141,255,
+153,153,153,255,159,159,159,255,163,163,163,255,167,167,167,255,174,174,174,255,188,188,188,255,209,209,209,255,228,228,228,255,
+234,234,234,255,224,224,224,255,200,200,200,255,173,173,173,255,151,151,151,255,136,136,136,255,127,127,127,255,119,119,119,255,
+112,112,112,255,105,105,105,255, 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255, 75, 75, 75,255, 66, 66, 66,255, 57, 57, 57,255,
+ 46, 46, 46,255, 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 51,134,134,134,255,
+151,151,151,255,160,160,160,255,164,164,164,255,167,167,167,255,171,171,171,255,178,178,178,255,189,189,189,255,200,200,200,255,
+202,202,202,255,195,195,195,255,180,180,180,255,163,163,163,255,148,148,148,255,137,137,137,255,129,129,129,255,121,121,121,255,
+114,114,114,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255, 74, 74, 74,255, 65, 65, 65,255, 55, 55, 55,255,
+ 41, 41, 41,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,102,
+145,145,145,255,157,157,157,255,164,164,164,255,167,167,167,255,170,170,170,255,172,172,172,255,176,176,176,255,180,180,180,255,
+179,179,179,255,174,174,174,255,165,165,165,255,155,155,155,255,145,145,145,255,137,137,137,255,130,130,130,255,122,122,122,255,
+115,115,115,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255, 73, 73, 73,255, 63, 63, 63,255, 50, 50, 50,255,
+ 22, 22, 22,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 78, 78, 78,153,149,149,149,255,160,160,160,255,166,166,166,255,168,168,168,255,169,169,169,255,170,170,170,255,169,169,169,255,
+167,167,167,255,164,164,164,255,158,158,158,255,151,151,151,255,144,144,144,255,137,137,137,255,130,130,130,255,123,123,123,255,
+115,115,115,255,106,106,106,255, 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255, 70, 70, 70,255, 58, 58, 58,255, 27, 27, 27,153,
+ 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 80, 80, 80,153,150,150,150,255,160,160,160,255,165,165,165,255,167,167,167,255,167,167,167,255,166,166,166,255,
+163,163,163,255,160,160,160,255,155,155,155,255,149,149,149,255,143,143,143,255,137,137,137,255,129,129,129,255,121,121,121,255,
+113,113,113,255,105,105,105,255, 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255, 63, 63, 63,255, 38, 38, 38,204, 7, 7, 7, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,157,157,157,255,161,161,161,255,163,163,163,255,162,162,162,255,
+160,160,160,255,157,157,157,255,152,152,152,255,147,147,147,255,141,141,141,255,135,135,135,255,127,127,127,255,119,119,119,255,
+110,110,110,255,101,101,101,255, 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255, 32, 32, 32,153, 7, 7, 7, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,148,148,148,255,154,154,154,255,155,155,155,255,
+154,154,154,255,152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255,130,130,130,255,122,122,122,255,114,114,114,255,
+104,104,104,255, 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73,153,103,103,103,204,137,137,137,255,
+140,140,140,255,140,140,140,255,137,137,137,255,133,133,133,255,127,127,127,255,120,120,120,255,113,113,113,255,102,102,102,255,
+ 91, 91, 91,255, 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 46, 46,102, 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204, 81, 81, 81,204, 54, 54, 54,153, 35, 35, 35,102,
+ 16, 16, 16, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0,144, 0, 9,237,224, 32, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 84, 69, 0, 0, 1, 48, 11, 28, 37,112, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 64,160, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 64, 0, 0, 0,
+ 64, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 32, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 60,204,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 38,208, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 32, 11, 28, 38,208, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32,
+ 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 1, 0, 16, 0, 15, 2,215,150, 32, 9,238,128, 32, 68, 65, 84, 65,
+ 0, 0, 16, 0, 2,215,150, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0,144, 0, 9,238,128, 32, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 77, 69, 0, 0, 1, 24, 11, 28, 39, 32, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,253,172, 32,
+ 11, 28, 46,112, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 41,224, 11, 28, 44, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 40, 96, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 42,176, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 44,240, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 51,128, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 4, 63,128, 0, 4, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 6,
+ 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, 9,253,172, 32, 0, 0, 0, 0,
+ 0, 0, 0, 1, 2,187,108, 32, 68, 65, 84, 65, 0, 0, 1, 84, 11, 28, 40, 96, 0, 0, 1, 84, 0, 0, 0, 5, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 41,224,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,160, 11, 28, 41,224, 0, 0, 0, 52,
+ 0, 0, 0, 8, 63,128, 0, 0, 63,127,255,255,191,128, 0, 0, 73,230, 73,230,182, 26, 1, 0, 63,128, 0, 0,191,128, 0, 0,
+191,128, 0, 0, 73,230,182, 26,182, 26, 1, 0,191,128, 0, 1,191,127,255,253,191,128, 0, 0,182, 26,182, 26,182, 26, 1, 0,
+191,127,255,250, 63,128, 0, 3,191,128, 0, 0,182, 26, 73,230,182, 26, 1, 0, 63,128, 0, 4, 63,127,255,247, 63,128, 0, 0,
+ 73,230, 73,230, 73,230, 1, 0, 63,127,255,245,191,128, 0, 5, 63,128, 0, 0, 73,230,182, 26, 73,230, 1, 0,191,128, 0, 3,
+191,127,255,250, 63,128, 0, 0,182, 26,182, 26, 73,230, 1, 0,191,127,255,255, 63,128, 0, 0, 63,128, 0, 0,182, 26, 73,230,
+ 73,230, 1, 0, 68, 65, 84, 65, 0, 0, 1, 84, 11, 28, 42,176, 0, 0, 1, 84, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 44, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 11, 28, 44, 48, 0, 0, 0, 49, 0, 0, 0, 12,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 4,
+ 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 35, 0, 0, 0, 2,
+ 0, 0, 0, 3, 0, 0, 0, 35, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 35, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 35,
+ 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 35, 0, 0, 0, 5, 0, 0, 0, 6,
+ 0, 0, 0, 35, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 35, 68, 65, 84, 65, 0, 0, 1, 84, 11, 28, 44,240, 0, 0, 1, 84,
+ 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 46,112, 0, 0, 0, 6, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,241,113, 73, 96, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241,113, 73, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,120,
+ 11, 28, 46,112, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2,
+ 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5,
+ 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2,
+ 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7,
+ 0, 0, 0, 2, 0, 0, 66, 82, 0, 0, 2,204, 2,216,154, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,216,158, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 65,100,100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 48, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0,
+ 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205,
+ 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,216,154,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 48, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14,
+ 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 49,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 49,144, 0, 0, 1, 77, 0, 0, 0, 4,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,216,158, 32, 0, 0, 1, 83,
+ 0, 0, 0, 1, 2,195, 38, 32, 2,216,154, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 49,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20,
+ 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,216,158,108, 0, 0, 0, 24,
+ 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 49,240,
+ 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 51, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48,
+ 11, 28, 51, 48, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215,
+ 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82,
+ 0, 0, 2,204, 2,195, 38, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,195, 42, 32, 2,216,158, 32, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 66,108,117,114, 0, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 51,144, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75,
+ 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33,
+ 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 16, 2,195, 38,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 51,144, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14,
+ 61,194,189, 46, 11, 28, 52,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 52,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,195, 42, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,153, 66, 32,
+ 2,195, 38, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 53, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 35, 0, 4, 4, 4,
+ 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20,
+ 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,195, 42,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 53, 48, 0, 0, 1, 79, 0, 0, 0, 1,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 54,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 54,112, 0, 0, 1, 77,
+ 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0,
+ 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 66, 32,
+ 0, 0, 1, 83, 0, 0, 0, 1, 2,153, 70, 32, 2,195, 42, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, 97,121, 0, 48,
+ 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 54,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 35, 8, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0,
+ 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 66,108,
+ 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16,
+ 11, 28, 54,208, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0,
+ 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 56, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 48, 11, 28, 56, 16, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0,
+ 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 66, 82, 0, 0, 2,204, 2,153, 70, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,197,122, 32, 2,153, 66, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 56,112,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10,
+ 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 51, 51, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0,
+ 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 70,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 56,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,
+191,126,215, 14, 61,194,189, 46, 11, 28, 57,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 57,176, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,197,122, 32, 0, 0, 1, 83, 0, 0, 0, 1,
+ 2,197,126, 32, 2,153, 70, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101, 0, 48, 48, 49, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 58, 16, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0,
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35,
+ 0, 4, 6, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20,
+ 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,197,122,108, 0, 0, 0, 24, 0, 0, 0, 1,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 58, 16, 0, 0, 1, 79,
+ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0,190,175, 97,228, 63,112,131, 50,191,127,243,218,188,157,183, 10, 11, 28, 59, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 59, 80,
+ 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 64, 0, 0, 61, 35,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204,
+ 2,197,126, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,199, 36, 32, 2,197,122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97,
+114,107,101,110, 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 59,176, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102,
+ 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16,
+ 2,197,126,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0,
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 16, 11, 28, 59,176, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46,
+ 11, 28, 60,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 60,240, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,199, 36, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,199, 40, 32, 2,197,126, 32,
+ 0, 20, 1,160, 0, 0, 0, 0, 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 61, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 35, 8, 0, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205,
+ 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20,
+ 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,199, 36,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 61, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,
+186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 62,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 62,144, 0, 0, 1, 77, 0, 0, 0, 4,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,199, 40, 32, 0, 0, 1, 83,
+ 0, 0, 0, 1, 2,211,232, 32, 2,199, 36, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,
+110, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 62,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62,199,174, 20, 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,199, 40,108, 0, 0, 0, 24,
+ 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 62,240,
+ 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 64, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48,
+ 11, 28, 64, 48, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215,
+ 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82,
+ 0, 0, 2,204, 2,211,232, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,211,236, 32, 2,199, 40, 32, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 70,108, 97,116,116,101,110, 47, 67,111,110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 64,144, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75,
+ 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33,
+ 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 16, 2,211,232,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 64,144, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,
+186,255, 97,114, 11, 28, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 65,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,211,236, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,196,250, 32,
+ 2,211,232, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114, 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 66, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,211,236,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 66, 48, 0, 0, 1, 79, 0, 0, 0, 1,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 67,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 67,112, 0, 0, 1, 77,
+ 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0,
+ 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,196,250, 32,
+ 0, 0, 1, 83, 0, 0, 0, 1, 2,196,254, 32, 2,211,236, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116,
+101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 67,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63, 64, 0, 0,
+ 63, 64, 0, 0, 63, 64, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,196,250,108,
+ 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16,
+ 11, 28, 67,208, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0,
+ 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 69, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 48, 11, 28, 69, 16, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0,
+ 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 66, 82, 0, 0, 2,204, 2,196,254, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,158, 64, 32, 2,196,250, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 76, 97,121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 69,112,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10,
+ 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0,
+ 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 2,196,254,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 69,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,
+191,127,255,224,186,255, 97,114, 11, 28, 70,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 70,176, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,158, 64, 32, 0, 0, 1, 83, 0, 0, 0, 1,
+ 2,158, 68, 32, 2,196,254, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,110, 0, 53, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 71, 16, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0,
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35,
+ 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,158, 64,108, 0, 0, 0, 24, 0, 0, 0, 1,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 71, 16, 0, 0, 1, 79,
+ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 72, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 72, 80,
+ 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0,
+ 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204,
+ 2,158, 68, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,207, 10, 32, 2,158, 64, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,
+120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 72,176, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102,
+ 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16,
+ 2,158, 68,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0,
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 16, 11, 28, 72,176, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46,
+ 11, 28, 73,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 73,240, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,207, 10, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,207, 14, 32, 2,158, 68, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,117,108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 74, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0,
+ 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205,
+ 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,207, 10,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 74, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14,
+ 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 75,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 75,144, 0, 0, 1, 77, 0, 0, 0, 4,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,207, 14, 32, 0, 0, 1, 83,
+ 0, 0, 0, 1, 2,205,210, 32, 2,207, 10, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 75,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0,
+ 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,207, 14,108, 0, 0, 0, 24,
+ 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 75,240,
+ 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 77, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48,
+ 11, 28, 77, 48, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215,
+ 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82,
+ 0, 0, 2,204, 2,205,210, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,205,214, 32, 2,207, 14, 32, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 80,105,110, 99,104, 47, 77, 97,103,110,105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 77,144, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75,
+ 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33,
+ 62, 0, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 16, 2,205,210,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 77,144, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,
+186,255, 97,114, 11, 28, 78,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 78,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,205,214, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,209, 44, 32,
+ 2,205,210, 32,253, 21,192, 32, 0, 0, 0, 0, 66, 82, 80,111,108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 79, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 1, 4, 4, 4,
+ 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,205,214,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 79, 48, 0, 0, 1, 79, 0, 0, 0, 1,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 80,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 80,112, 0, 0, 1, 77,
+ 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0,
+ 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,209, 44, 32,
+ 0, 0, 1, 83, 0, 0, 0, 1, 2,209, 48, 32, 2,205,214, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101,
+ 47, 80,101, 97,107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 80,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,209, 44,108,
+ 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16,
+ 11, 28, 80,208, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0,
+ 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 82, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 48, 11, 28, 82, 16, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0,
+ 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 66, 82, 0, 0, 2,204, 2,209, 48, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,199,162, 32, 2,209, 44, 32, 12,215, 0, 32,
+ 0, 0, 0, 0, 66, 82, 83, 99,117,108,112,116, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 82,112,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10,
+ 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0,
+ 0, 0, 0, 33, 63, 78,119,160, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 2,209, 48,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 82,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,
+191,127,255,224,186,255, 97,114, 11, 28, 83,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 83,176, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,199,162, 32, 0, 0, 1, 83, 0, 0, 0, 1,
+ 2,199,166, 32, 2,209, 48, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 84, 16, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0,
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35,
+ 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,199,162,108, 0, 0, 0, 24, 0, 0, 0, 1,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 84, 16, 0, 0, 1, 79,
+ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 85, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 85, 80,
+ 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0,
+ 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204,
+ 2,199,166, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,198,174, 32, 2,199,162, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,
+111,111,116,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 85,176, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 63,102,102,102,
+ 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0,
+ 63, 64, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16,
+ 2,199,166,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0,
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 16, 11, 28, 85,176, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114,
+ 11, 28, 86,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 86,240, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,198,174, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,198,178, 32, 2,199,166, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 87, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205,
+ 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,198,174,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 87, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,
+186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 88,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 88,144, 0, 0, 1, 77, 0, 0, 0, 4,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,198,178, 32, 0, 0, 1, 83,
+ 0, 0, 0, 1, 2,212, 20, 32, 2,198,174, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 88,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,198,178,108, 0, 0, 0, 24,
+ 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 88,240,
+ 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 90, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48,
+ 11, 28, 90, 48, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31,
+ 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82,
+ 0, 0, 2,204, 2,212, 20, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,212, 24, 32, 2,198,178, 32, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 83,117, 98,116,114, 97, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 90,144, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75,
+ 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33,
+ 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 1, 16, 2,212, 20,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 90,144, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14,
+ 61,194,189, 46, 11, 28, 91,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 91,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,212, 24, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,215,240, 32,
+ 2,212, 20, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,120, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 11, 28, 92, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 8, 0, 4, 4,
+ 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20,
+ 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,212, 24,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 92, 48, 0, 0, 1, 79, 0, 0, 0, 1,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 93,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 93,112, 0, 0, 1, 77,
+ 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0,
+ 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,215,240, 32,
+ 0, 0, 1, 83, 0, 0, 0, 1, 2,215,244, 32, 2,212, 24, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0,
+ 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 93,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0,
+ 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,215,240,108,
+ 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16,
+ 11, 28, 93,208, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0,
+ 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 95, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 48, 11, 28, 95, 16, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0,
+ 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 66, 82, 0, 0, 2,204, 2,215,244, 32, 0, 0, 1, 83, 0, 0, 0, 1, 0, 0, 0, 0, 2,215,240, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 84,119,105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 95,112,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
+ 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0,
+ 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 1, 16, 2,215,244,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0,
+ 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 95,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,
+191,127,255,224,186,255, 97,114, 11, 28, 96,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 96,176, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0,
+ 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82, 0, 0, 13,144, 1, 89, 96, 32, 0, 0, 0,192, 0, 0, 0, 1,
+ 1, 17, 8, 33, 0, 0, 6, 63, 0, 0, 0, 5, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112,
+ 47, 0, 45,112,111,119,101,114,112, 99, 47, 98,105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,
+110,116,115, 47, 82,101,115,111,117,114, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 35, 0, 0, 0, 2, 1, 94, 0, 0, 0, 8, 0, 0, 0, 3, 0, 39, 52, 56, 0, 0, 0, 0, 0, 4, 0, 2, 0, 0, 8, 0,
+ 0, 0, 0, 2, 0, 0,172, 68, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 72, 0, 0, 0, 64, 0, 5, 0, 2,
+ 2,234,148, 32, 2,234,148, 32, 4,209, 42,128, 4,209, 42,128, 11, 23, 91,192, 11, 23, 91,192, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 28, 47, 16, 11, 28, 99,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 1, 0, 20, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0,
+ 63, 76,204,205, 63, 76,204,205, 63, 76,204,205, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+191,100, 90, 30, 62,153,153,154, 63,102,102,102, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 62,254,250, 31, 63, 0, 0, 9,
+ 63, 25,153,156, 0, 0, 0, 0, 62, 76,204,205, 62, 76,204,205, 62, 76,204,205, 63,128, 0, 0, 63, 22,135, 44, 62,235,133, 32,
+ 62,125,243,184, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 63, 76, 73,195, 63, 86,135, 42, 63,128, 0, 0, 0, 0, 0, 0,
+ 61,135, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 62, 93, 47, 16,190,200,180, 58,190, 93, 47, 24, 0, 0, 0, 0,
+ 0, 14, 0, 1, 0, 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0, 0, 0,128, 0, 0, 0, 0, 31,144, 0, 15, 0, 6, 0, 25,
+ 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0, 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 20, 0, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0,
+ 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0,
+ 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 30, 80, 2,234,148, 32, 0, 0, 0,189,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
+255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
+255,255,255,255, 0, 1, 0, 15,255,241, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,
+255,255,255,255, 0, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255,
+ 0, 0, 0,255, 0, 1, 0, 15,255,241, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,
+255,255,255,255, 0, 1, 0, 15,255,241, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
+255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,
+255,255,255,255, 0, 1,255,236, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255,
+255,255,255,255, 0, 1,255,236, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255,
+204,204,204,255, 0, 1, 0, 15,255,241, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255,
+ 0, 0, 0,255, 0, 0, 0, 25,255,236, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255,
+255,255,255,255, 0, 0, 0, 25,255,236, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,255,255,255,255,255,255,255,255,
+ 0, 0, 0,255, 0, 1, 0, 38, 0, 0, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
+255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255,
+255,255,255,255, 0, 1, 0, 5,255,251, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,
+255,255,255,255, 0, 0, 0, 5,255,251, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255,
+ 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255,
+153, 0,230,255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
+ 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
+241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
+ 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
+255,170, 64,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255, 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255,
+ 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, 0, 0, 0, 0,250,250,250,255, 15, 15, 15,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,
+127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,130,130,130,255, 8, 48, 8,255,
+ 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255,250,250,250,255,250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255,
+ 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
+ 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
+241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
+ 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
+255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,
+112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,
+135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255,
+ 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,116,116,255,
+ 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
+241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
+ 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255,
+109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255,109,145,131,255,255,255,255,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, 0, 0, 0, 0, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
+255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,110,110,110,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,132,132,132,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255, 94, 94, 94,255,
+172,172,172,255, 17, 27, 60,100, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,195,195,195,255, 8, 48, 8,255,
+ 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255,
+ 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255,
+ 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
+ 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
+241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
+ 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
+255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,
+127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255,
+ 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,155,155,155,160,100,104,111,255,
+111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0,
+ 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
+ 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
+ 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
+241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
+ 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,255,
+255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
+255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
+255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, 3, 0, 4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,189, 17, 17,255,247, 10, 10,255, 0, 0, 0, 0,247, 64, 24,255,
+246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, 89,183, 11,255,131,239, 29,255, 0, 0, 0, 0, 10, 54,148,255,
+ 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,193, 65,106,255,240, 93,145,255, 0, 0, 0, 0, 67, 12,120,255,
+ 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, 60,149,121,255,111,182,171,255, 0, 0, 0, 0, 75,112,124,255,
+106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255,238,194, 54,255,243,255, 0,255, 0, 0, 0, 0, 30, 32, 36,255,
+ 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255,152, 69,190,255,211, 48,214,255, 0, 0, 0, 0,108,142, 34,255,
+127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255,222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,
+139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 47, 16,
+ 0, 0, 0,190, 0, 0, 0, 1, 11, 28, 47,128, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 47,128, 0, 0, 0,190,
+ 0, 0, 0, 1, 11, 28, 97, 16, 11, 28, 47, 16,105,111, 95,115, 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 97, 16, 0, 0, 0,190, 0, 0, 0, 1,
+ 11, 28, 97,128, 11, 28, 47,128,105,111, 95, 97,110,105,109, 95, 98,118,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 97,128, 0, 0, 0,190, 0, 0, 0, 1, 11, 28, 97,240,
+ 11, 28, 97, 16,105,111, 95,109,101,115,104, 95,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 97,240, 0, 0, 0,190, 0, 0, 0, 1, 11, 28, 98, 96, 11, 28, 97,128,
+105,111, 95,115, 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 98, 96, 0, 0, 0,190, 0, 0, 0, 1, 11, 28, 98,208, 11, 28, 97,240,105,111, 95,115,
+ 99,101,110,101, 95,120, 51,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 0, 0, 72, 11, 28, 98,208, 0, 0, 0,190, 0, 0, 0, 1, 11, 28, 99, 64, 11, 28, 98, 96,105,111, 95,109,101,115,104, 95,
+115,116,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72,
+ 11, 28, 99, 64, 0, 0, 0,190, 0, 0, 0, 1, 11, 28, 99,176, 11, 28, 98,208,105,111, 95,109,101,115,104, 95,117,118, 95,108,
+ 97,121,111,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 99,176,
+ 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 0, 11, 28, 99, 64,105,111, 95, 99,117,114,118,101, 95,115,118,103, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,224, 11, 23, 91,192, 0, 0, 0,183,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 32, 83,116,121,108,101, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+255,255, 0, 0, 62, 25,153,154, 63,128, 0, 0, 0, 0, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+255,255, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+255,255, 0, 0, 62, 25,153,154, 63,128, 0, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 8, 0, 5, 0, 5, 0, 8, 0, 2, 0, 8,
+ 0, 4, 0, 0, 68, 78, 65, 49, 0, 0,230,148, 8, 56, 80, 32, 0, 0, 0, 0, 0, 0, 0, 1, 83, 68, 78, 65, 78, 65, 77, 69,
+ 0, 0, 12, 10, 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,
+115,116, 0,120, 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,
+116,101,114, 0,103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,
+102,108, 97,103, 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116,
+ 97,108,108,101,110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,
+111,110, 95,105,100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,
+105,108,101,100, 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,
+116,111,116, 0,112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,
+100, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91,
+ 50, 93, 0, 42,111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50,
+ 56, 93, 0, 42, 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,
+112,101, 0,116,111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107,
+ 0,115,108,105,100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,
+118,101,114, 0, 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,
+115, 0,114,101,108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,115,
+ 0,118,103,114,111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0,
+ 42, 97,100,116, 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,
+101, 0, 98,108,111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104,
+ 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,116, 97,114,116,
+ 0,101,110,100, 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0,
+ 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,
+117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,
+112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,
+101, 0,115,101,101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116,
+ 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115,
+105,122,101, 0,115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,
+102, 95,111, 98, 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,
+116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,
+101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0,
+ 42, 97,110,105,109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111,
+116, 0,108, 97,115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114,
+ 97,109,101, 0,116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,
+116,119,115,116, 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112,
+ 97, 99,107,101,100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97,
+115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110,
+ 95,116,121,112,101, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,
+111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,
+109,101, 91, 51, 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103,
+ 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,
+114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112,
+ 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,
+112, 97,100, 91, 55, 93, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,118, 97,
+114,102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0, 99,111,108,115,
+112,101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,102, 97, 99, 0,
+115,112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,105,114,114,102,
+ 97, 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102, 97, 99, 0, 99,
+111,108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97, 99, 0,115, 99,
+ 97,116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,103,116,104,102,
+ 97, 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,114,111,117,103,
+104,102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,102,101,102, 97,
+ 99, 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,104, 97,100,111,
+119,102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,110,100,102, 97,
+ 99, 0,110, 97,109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, 97,
+109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, 0,
+ 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, 97,
+110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,111,
+110, 0, 97, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109, 97,116, 91, 52,
+ 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,115, 99, 97,108,
+101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108, 99, 0,108, 97,
+115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,115,111,102,116,
+110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,112,111,105,110,
+116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0,111,
+ 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,111,105,110,116,
+ 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104, 0,110,111,105,
+115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112, 97,100, 51, 91,
+ 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,108,108,111,102,102,
+ 95,115,112,101,101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,102, 97,108,108,111,
+102,102, 95, 99,117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,112,101, 0,102,105,
+108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,101, 0,105,110,116,
+ 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,114, 99,101, 95,112,
+ 97,116,104, 91, 50, 52, 48, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,109,101, 0,110,111,
+105,115,101,115,105,122,101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115,
+ 97,116,117,114, 97,116,105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,
+105,122,101, 0,109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,
+115, 0,109,103, 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,
+110,115, 95,111,117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110,
+ 95,119, 52, 0,118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,
+110,111,105,115,101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,
+110,111,105,115,101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,
+112,121,109,105,110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,
+114, 0, 97,102,109, 97,120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,
+105,115,116, 0,110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,
+110, 0, 42,101,110,118, 0, 42,112,100, 0, 42,118,100, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,
+114,111,116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0,109,
+111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,
+112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,
+110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,
+104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97,115, 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,
+114,101,115,104, 0,112, 97,100, 53, 91, 51, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,
+115, 0,102,105,108,116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121,
+ 95,115, 97,109,112, 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,
+109,112, 95,116,121,112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101,
+ 97, 95,115,105,122,101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,
+114, 97,121, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,
+116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,116,121,112,101,
+ 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,
+114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100,
+ 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,
+116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,
+120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97,
+ 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,
+121, 95, 99,111,108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 54, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,
+114, 95,116,101,120,116,117,114,101, 0,112, 97,100, 54, 91, 54, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,
+111,110, 0,115, 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,
+110, 95, 99,111,108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,
+108,101, 99,116,105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,
+116,104, 95, 99,117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,
+101, 0,115,104, 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,
+114,101,115,111,108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,
+110,116,101,110,115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101,
+ 0,115,112,101, 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114,
+ 98, 0, 97,109, 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,
+101, 99,116,114, 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,
+122,111,102,102,115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,102,114,101,115,110,
+101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97,
+ 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,
+120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114,
+ 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,
+115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,
+116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,
+104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102,
+ 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,
+101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,
+101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,
+115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,
+100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,
+104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115, 98,105, 97,115, 0,108, 98,
+105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,
+116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,
+102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,
+101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,
+112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,
+105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,
+115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,
+114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,
+114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,
+115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,
+111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,
+115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,
+115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100,
+ 0,115,104, 97,100,111,119,111,110,108,121, 95,102,108, 97,103, 0,103,112,117,109, 97,116,101,114,105, 97,108, 0,110, 97,109,
+101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,107, 50, 0,115,101,108,
+ 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,122, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,101,120,112,121,
+ 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,101,108,101,109,
+115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,108, 97,103, 50, 0,116,111,
+116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,101,115,104, 0,
+ 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,103,104,116, 0,
+104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116, 95,110,
+114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,111,114,100,101,
+114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,117, 0, 42,107,
+110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,101,114,112, 0,
+ 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,101,121,105,110,100,101,120,
+ 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,111, 98,106, 0,
+ 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, 0, 42,107,101,
+121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101, 0,116,119,105,115,116, 95,
+115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,116,104,108,101,110, 0, 98,
+101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,101,115,111,108,117, 95,114,
+101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,115,101,108, 0,115,112, 97,
+ 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,114, 0,102,115,
+105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,103,104,116, 0,120,111,102,
+ 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,115, 0, 42,101,
+100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,102,111,110,116,
+ 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,116,105,109,101,
+ 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,108,101,
+110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 42,109,102, 97, 99,101, 0, 42,109,116,102, 97,
+ 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116, 0, 42,
+109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,101,108,101, 99,
+116, 0, 42,101,100,105,116, 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,116,
+111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116, 95,102, 97, 99,
+101, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,
+117,114,102,116,121,112,101, 0,101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,112,118, 0, 42,116,112, 97,103,101, 0,
+117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,119,114,
+ 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,119,101,
+105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51, 93, 0,
+110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,105,110,100,101,120, 0,102, 0,105, 0,115, 91, 50, 53,
+ 54, 93, 0,116,111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,109,105,100, 0,112,
+ 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115, 0, 42,101,100,103,
+101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,116, 0, 99,117,114,
+114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,114,101,110,100,101,
+114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,100,103,101, 95, 99,
+114,101, 97,115,101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0, 42,111,108,100, 95,
+102, 97, 99,101,115, 0, 42,111,108,100, 95,101,100,103,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0, 42,101,114,114,
+111,114, 0,109,111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116,
+ 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0,116,101,
+120,109, 97,112,112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115,
+ 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93,
+ 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,
+115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,
+102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101,
+ 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116,
+ 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116,
+ 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,
+108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,
+110, 97,109,101, 91, 51, 50, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111,108,108, 0,116,105,109,
+101, 0,112, 97,100, 49, 48, 0,115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,
+118,101,108, 0, 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,
+114,111,106,101, 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97,108,101,120,
+ 0,115, 99, 97,108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, 0,114,101,
+112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97,114,116,121,
+ 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108,108,111,102,
+102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97,103, 0,109,
+117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112, 97,114,101,
+110,116,105,110,118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,
+105,110,100,101,120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,
+114,109,115, 0, 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0,112,116, 99,
+ 97, 99,104,101,115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,
+101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115,
+ 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109,101, 95,120,
+110,101,119, 0, 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, 97,116,105,
+111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105,122,101, 0,
+ 42, 98,105,110,100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, 42, 98,105,
+110,100, 99, 97,103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,
+100,121,110,105,110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,
+110,103,114,105,100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,
+105,100,116,104, 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0,
+ 42, 98,105,110,100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0,116,111,116,
+100,109,118,101,114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111,115,105,116,
+105,111,110, 0,114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118,103,114,111,
+117,112, 0,112,114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108,118,108, 0,
+115,105,109,112,108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,
+103,114,111,117,112, 95,110, 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,
+112,101, 0,115,104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,
+118,101,108,115, 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,
+103,105,110, 79,112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115,101, 95,105,110,110,101,114, 0,
+ 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, 95,111,102,115, 0,
+109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,114,101,110,100,101,
+114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,101, 0, 42,111, 98,
+106,101, 99,116, 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102, 95,114, 97,100,
+105,117,115, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111,112,
+110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,
+100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,
+116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99,117,
+108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117,
+ 98,115,116,114, 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103,114,
+111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, 98,
+ 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,114, 97,105,110,
+116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105,101,
+114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116, 99,111,108, 0,
+100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93,
+ 0,100,113,117, 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93,
+ 0,114,111,116, 65,110,103,108,101, 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0,
+ 99,111,110,115,116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,
+121, 0, 99,111,108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,
+116,114, 97, 99,107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103,
+ 0,105,112,111,119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0, 98,111,117,110,100,
+116,121,112,101, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112,101,110,100, 0,
+115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109,102, 97, 99,116,
+111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,
+101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,
+114,111,116,109,111,100,101, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112, 97,100, 49, 91, 51,
+ 93, 0,101,109,112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112,
+ 0,115,101,110,115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98,
+ 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,
+103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,
+105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,
+104,111,111,107,115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,
+103,114,111,117,112, 0,102,108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,
+115,104, 97,112,101,102,108, 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0, 42,102,108,117,
+105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,
+114,105,118,101,100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0, 99,117,115,116,111,109,100, 97,
+116, 97, 95,109, 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112,
+ 0,112, 99, 95,105,100,115, 0, 42,100,117,112,108,105,108,105,115,116, 0,105,109, 97, 95,111,102,115, 91, 50, 93, 0,112, 97,
+100, 51, 91, 56, 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0,110,111,
+ 95,100,114, 97,119, 0, 97,110,105,109, 97,116,101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51,
+ 93, 0,100,101,102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,
+111,100,101, 0,107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101,110,103,
+116,104, 0,102, 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101,114, 0,
+109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, 97,100,
+ 0,109,105,110,114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112,100,101,
+102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0,112,100,
+101,102, 95,115,116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, 98,100,
+ 97,109,112, 0,112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,
+102, 97, 99, 0, 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,
+112,101, 0,107,105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,
+114,110,103, 0,102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114,
+ 97,118,105,116,121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112,111,105,
+110,116, 0,100, 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,
+120,116,114, 97,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,
+101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0,
+ 99,111,109,112,114,101,115,115,105,111,110, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110, 97,109,101, 91, 54,
+ 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114,
+ 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116,
+ 41, 40, 41, 0,108,105,110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,
+101,114, 97,116,105,111,110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115,
+ 0, 99,105,116,101,114, 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107,
+ 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,
+107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82,
+ 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82,
+ 0, 99,111,108,108,105,115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,
+105,111,110,115, 0,119,101,108,100,105,110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42,
+ 98,115,112,114,105,110,103, 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109,
+ 97,115,115, 0,110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,
+114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,
+112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,
+100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111,
+ 97,108, 91, 51, 50, 93, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,
+116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97, 0,105,110,116,101,
+114,118, 97,108, 0,108,111, 99, 97,108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,
+116,112,111,105,110,116,107,101,121, 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98,
+ 97,108,108,100, 97,109,112, 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,
+100,103,101, 0,109,105,110,108,111,111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,
+101,114, 95, 73, 68, 0,112,108, 97,115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114,
+ 97,116, 99,104, 0,115,104,101, 97,114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,
+104,101, 0, 42,101,102,102,101, 99,116,111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,
+116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52, 93, 0,118,101,108,
+ 91, 51, 93, 0, 42,102,109,100, 0,115,104,111,119, 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,
+115,111,108,117,116,105,111,110,120,121,122, 0,112,114,101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,
+122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,
+111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101,
+ 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,110,101,110,116, 0,103,114, 97,118, 91, 51, 93, 0, 97,110,105,109, 83,
+116, 97,114,116, 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,103,
+115,116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,
+110,105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97,
+ 80, 97,116,104, 91, 50, 52, 48, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,
+121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,
+105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97,
+ 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,
+111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,
+110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100,
+ 83,105,122,101, 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,
+116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,
+111,114, 99,101, 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,
+118,101,108,111, 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,
+114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,116,121,112,101, 0,
+104,111,114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,102, 97,
+115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105,110,102, 97, 99, 0,
+108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82, 97,100,105,117,115,
+ 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,105, 99,115, 69,110,103,
+105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104,121,115,117, 98,115,
+116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97, 0,109,105,115,116,
+100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97,114, 98, 0,115,116,
+ 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,116, 97,114,100,105,115,
+116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110,100, 0,100,111,102,
+109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99, 0, 97,111,101,110,
+101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97,111,109,105,120, 0,
+ 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95, 97,100, 97,112,116,
+ 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0, 97,111, 95, 97,112,
+112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95,101,110,101,114,
+103,121, 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111, 95,105,110,100,105,
+114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112, 95,109,101,116,104,
+111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,112, 97,
+115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,112, 97,100, 91, 51, 93, 0,
+115,101,108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0,
+ 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,
+108,101,114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119,
+ 66,121,116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101,
+ 97,118,101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,
+114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93,
+ 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99,
+111,100,101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99,
+ 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,
+121, 0,109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116,
+101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97,
+109,112,108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110,
+110,101,108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116,
+101, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,
+111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95,118,111,
+108,117,109,101, 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120,
+ 95,114, 97,116,101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,
+115,105,122,101, 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100,
+ 95,111,102, 95,115,111,117,110,100, 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,
+101, 95,109,111,100,101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,
+114,114,105,100,101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103,
+ 0,112, 97,115,115, 95,120,111,114, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,
+100, 97,116, 97, 0,113,116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97,
+ 0,115,117, 98,102,114, 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,
+109, 97,112,116,111, 0,116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,
+100,103,101, 82, 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,
+121, 0,121,112,108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,
+101,112, 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109,
+ 97,120,105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115,
+ 0,112,108, 97,110,101,115, 0,105,109,116,121,112,101, 0,115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121,
+ 0,100,105,115,112,108, 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,
+116,105,111,110,115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,114,101,110,100,101,114,101,
+114, 0,111, 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,
+101, 99, 0,101,100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,
+116, 0,108, 97,121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,
+115,112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114,
+ 95,109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,
+115, 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,
+107,101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,
+107,101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0,
+ 98, 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,
+112, 97,100, 0,112,105, 99, 91, 50, 52, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100,
+ 0,115,116, 97,109,112, 95,117,100, 97,116, 97, 91, 49, 54, 48, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103,
+ 95,115,116, 97,109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100,
+ 95,116,121,112,101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,
+102,108, 97,103, 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115,
+104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0,
+115,105,109,112,108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111,
+110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112,
+ 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100,
+111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111,
+109,101,116,101,120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0,
+115,117, 98,115,117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111,
+ 95,101,114,114,111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114,112,116,101,120,116, 0, 99,111,108,
+ 91, 51, 93, 0,109, 97,116,109,111,100,101, 0,102,114, 97,109,105,110,103, 0,114,116, 49, 0,114,116, 50, 0,100,111,109,101,
+ 0,115,116,101,114,101,111,102,108, 97,103, 0,101,121,101,115,101,112, 97,114, 97,116,105,111,110, 0, 42, 99, 97,109,101,114,
+ 97, 0, 42, 98,114,117,115,104, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99,117,114,
+115,111,114, 95, 99,111,108, 91, 52, 93, 0,112, 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109,
+ 97,108, 95, 97,110,103,108,101, 0,115, 99,114,101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,112, 97,
+105,110,116, 99,117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,100,100,
+107,101,121, 0, 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,100,105,
+115,116, 0,115,101,108,101, 99,116,109,111,100,101, 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,101,112,
+ 0,102, 97,100,101, 95,102,114, 97,109,101,115, 0,110, 97,109,101, 91, 51, 54, 93, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0,
+114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, 0,108, 97,115,116, 95,121, 0,108, 97,115,
+116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, 0, 97,110, 99,104,111,114,101,100, 95,115,
+105,122,101, 0, 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, 91, 51, 93, 0, 97,110, 99,104,111,114,101,
+100, 95,105,110,105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, 97,119, 95,112,114,101,115,115,117,114,101,
+ 0,112,114,101,115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, 97,108, 95,114,111,116, 97,116,105,111,110,
+ 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, 95,112,114,101,118, 0, 42,118,112, 97,105,
+110,116, 0, 42,119,112, 97,105,110,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,110,101,114,116,
+121,112,101, 0,101,100,105,116, 98,117,116,102,108, 97,103, 0,106,111,105,110,116,114,105,108,105,109,105,116, 0,100,101,103,
+114, 0,116,117,114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,111,114,109, 97,
+108,115,105,122,101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,103,115, 0,118,
+101,114,116,105, 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,105,117,115, 0,
+117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,110, 0,117,118,
+ 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,117,118, 99, 97,
+108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,101, 0,117,118,
+ 95,112, 97,100, 0,103,112,101,110, 99,105,108, 95,102,108, 97,103,115, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,
+101,110, 0,105,109, 97,112, 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,
+108, 95,115,105,122,101, 0,115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,
+104, 0, 97,117,116,111,107,101,121, 95,109,111,100,101, 0, 97,117,116,111,107,101,121, 95,102,108, 97,103, 0,114,101,116,111,
+112,111, 95,109,111,100,101, 0,114,101,116,111,112,111, 95,112, 97,105,110,116, 95,116,111,111,108, 0,108,105,110,101, 95,100,
+105,118, 0,101,108,108,105,112,115,101, 95,100,105,118, 0,114,101,116,111,112,111, 95,104,111,116,115,112,111,116, 0,109,117,
+108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,115,107,103,101,110, 95,114,101,115,111,108,117,116,
+105,111,110, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,105,110,116,101,114,110, 97,108, 0,115,107,103,
+101,110, 95,116,104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,108,101,110,103,
+116,104, 95,114, 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,108,105,109,105,116, 0,115,107,103,101,
+110, 95, 97,110,103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 99,111,114,114,101,108, 97,116,105,111,110, 95,
+108,105,109,105,116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121, 95,108,105,109,105,116, 0,115,107,103,101,110,
+ 95,114,101,116, 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116,
+ 97,114,103,101,116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,
+101,116, 95,100,105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,111,112,116,105,111,110,115,
+ 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 95,112, 97,115,
+115,101,115, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110,115, 91, 51, 93, 0,115,107,103,101,110, 95,
+109,117,108,116,105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,101,109,112,108, 97,116,101, 0, 98,111,110,101,
+ 95,115,107,101,116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 95, 99,111,110,118,101,114,
+116, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,110,117,109, 98,101,114, 0,115,107,103,101,110,
+ 95,114,101,116, 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116,
+ 95,114,111,108,108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,105,110,103, 91, 56, 93, 0,115,107,103,101,110,
+ 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,109,111,100,101, 0,101,100,103,101, 95,109,111,
+100,101, 95,108,105,118,101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108,
+ 97,103, 0,115,110, 97,112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112,
+ 95,109,111,100,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,111, 98,106,101, 99,116,115, 0, 97,117,116,111, 95,
+110,111,114,109, 97,108,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,
+115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,105,122,101, 0,115, 99,117,108,112,116,
+ 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,
+115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95, 97,108,112,104, 97, 0,116,111,116,
+111, 98,106, 0,116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,
+111,116,109,101,115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,116,104, 0,
+115,121,115,116,101,109, 0,115,121,115,116,101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,121, 91, 51,
+ 93, 0,113,117,105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98,
+ 97,115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119,
+ 99,101,110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116,
+ 0,108, 97,121, 95,117,112,100, 97,116,101,100, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100,
+ 97,108, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,
+111, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0,
+ 42,115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98,
+ 95,104, 97,110,100,108,101, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118,
+ 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0,112, 97,100, 54, 0,112, 97,100, 53, 0, 97, 99,116,105,118,101, 95,107,
+101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,
+105, 99,115, 95,115,101,116,116,105,110,103,115, 0, 98,108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52,
+ 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93,
+ 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,
+119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109,
+ 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0,
+ 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,116,119,100,114, 97,119,102,108, 97,103,
+ 0,105,115, 95,112,101,114,115,112, 0,114,102,108, 97,103, 0,118,105,101,119,108,111, 99,107, 0,112,101,114,115,112, 0, 99,
+108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112,
+ 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,
+111,111,116,104, 95,116,105,109,101,114, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,
+118,105,101,119, 0,103,114,105,100,118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,
+103,105,111,110, 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,
+111, 99,107,104, 97,110,100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,
+101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,
+101, 91, 51, 50, 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,
+115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103,114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,109,
+111,100,101,115,101,108,101, 99,116, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,115,117, 98,100,105,118, 0,103,
+114,105,100,102,108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, 0,112, 97,100,
+ 50, 91, 50, 93, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,
+120,114, 97,121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,
+114, 97,121, 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,101,114,116,
+105,101,115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93,
+ 0,109, 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115,
+ 99,114,111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,
+115, 0, 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,
+121, 0, 42,116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,
+116, 95,109, 97,115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,
+115,110, 97,112, 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110,
+ 98,117,115,101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,
+111,110,116,101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0,
+114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109,
+ 0,116,105,116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101, 91, 56, 48, 93, 0,114,101,110,
+ 97,109,101,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 56, 48, 93, 0,102,105,108,116,101,
+114, 95,103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116,
+ 0,115,101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,
+116,114, 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,
+101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,
+111,112, 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,
+101, 99,101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, 0,116,114,101,101,
+ 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101,
+ 97,114, 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101,
+ 97,114, 99,104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,
+108,105,110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0,
+ 99,117,114,116,105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,
+115,116,105, 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,
+101,119,108,105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,
+110,101,110,114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,
+109, 98,101,114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,
+119,114,105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,
+115, 99,114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115,
+ 0,102,105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,
+114,103,105,110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0,
+ 42,112,121, 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114,
+ 99, 97,108,108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,
+101, 0,115, 99,114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93,
+ 0, 42,115, 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115,
+ 0, 99, 97, 99,104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,
+116, 0, 42, 99,117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,
+121,112,101, 0,116,101,120,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,116,105,116,108,101, 91, 50, 52, 93, 0,109,
+101,110,117, 0,110,117,109,116,105,108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,115,101,108,115,116, 97,116,101,
+ 0,118,105,101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115,
+ 0,115, 99,114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0,
+ 97, 99,116,105,118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,
+116,117,114,110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40,
+ 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,
+103, 50, 0, 42,109,101,110,117,112, 0, 42,112,117,112,109,101,110,117, 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111,
+ 99, 0, 99,117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,
+112,116, 91, 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,
+101,108, 95,101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0, 42, 97,114,101, 97, 0, 42,115,111,117,110,100, 0,115,
+110,100,110,114, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116,
+ 95,105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99,
+ 0, 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,
+108,112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,
+112,108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,
+111,111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115,
+ 0, 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112,
+ 97, 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,
+110,101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,
+110,101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109,
+ 91, 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,
+104, 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,
+110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,
+110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,
+114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,
+119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116,
+ 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,
+103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108,
+ 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97,
+ 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,
+115, 99,114,111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,
+116,101,109, 0,119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107,
+ 91, 52, 93, 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52,
+ 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93,
+ 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,
+116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,
+111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101,
+ 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93,
+ 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,
+101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52,
+ 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,
+114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52,
+ 93, 0,103,114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,
+102,111,114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91,
+ 52, 93, 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,
+101, 97,109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,
+108, 91, 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101,
+ 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,
+101, 95,108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,
+114, 97, 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52,
+ 93, 0,118,101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93,
+ 0, 98,111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,
+101, 99,116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,
+117,114, 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,
+115,101,108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108,
+ 97,115,116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104,
+ 97,110,100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,
+100,108,101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,
+104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101,
+ 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0,100,115, 95, 99,104, 97,
+110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101,
+ 95,111,117,116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,
+111,108,101, 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,
+115,111,108,101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,
+110,101, 95,119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112, 97,100, 0,115,121,110,116, 97,
+120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116,
+ 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,105,109, 97,103,101,
+ 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,
+112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,
+101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120,
+ 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,
+108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, 98,
+ 97, 99,107, 91, 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,
+102,105,108,101, 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,
+115,101,113, 0,116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,
+101, 0,116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,116, 99,111,110,115,111,108,
+101, 0,116, 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,
+117,108,101, 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101,
+ 0,116,101,109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114, 91, 49, 54, 48, 93, 0,114,101,110,100,101,
+114,100,105,114, 91, 50, 52, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,116,101,120,100,
+105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54, 48, 93, 0,112,121,116,104,111,110,100,105,
+114, 91, 49, 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,
+114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,
+121,101,114, 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101,
+ 99,111,100,101, 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,
+109,101, 0,103, 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,
+108, 97,103, 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,
+105,120, 98,117,102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0,
+ 97,117,100,105,111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110,
+ 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,
+109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,
+115,116,121,108,101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102,105,103,115,
+116,114, 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103,112, 95,109,
+ 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116, 0,103,112,
+ 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111,117,115,101,
+ 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,
+111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115,105,122,101,
+ 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,
+119,109,101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,
+109,105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,
+114,116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,
+105,115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,
+111,116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,
+100,111,102, 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114,
+ 95,116,121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114,
+ 99, 97,115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,119,105,100,103,101,116, 95,117,110,105,116, 0,
+ 97,110,105,115,111,116,114,111,112,105, 99, 95,102,105,108,116,101,114, 0,118,101,114,115,101,109, 97,115,116,101,114, 91, 49,
+ 54, 48, 93, 0,118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,116,
+101,120,116, 95,114,101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,
+112,116, 95,112, 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0, 97,117,116,104,111,114, 91, 56,
+ 48, 93, 0,118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,
+101,119,115, 99,101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,
+105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,
+103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,
+114, 97,119, 95,100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,
+118,101, 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56,
+ 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110,
+ 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93,
+ 0,111,102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,
+114,117,110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,
+100,101,114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115,
+ 99,114,111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,
+115,116, 95,103,114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51,
+ 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,
+112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,
+115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,
+112,101, 0, 97,108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,
+108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100,
+ 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,
+105,110,118,101,114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111,110, 0,119,105,110,112,111,115, 0, 42,
+ 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,108,101,102,108, 97,103,115, 0,103,108,
+111, 98, 97,108,102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101,110, 97,109,101, 91, 50, 52, 48, 93, 0,110, 97,109,
+101, 91, 56, 48, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,
+116,111,109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109,
+ 97, 91, 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54, 48, 93, 0,100,111,110,101, 0,115,116, 97,114,116,
+115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0,
+ 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,
+110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,114,101,110,116, 95,112,114,105,118, 97,
+116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,
+104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, 0,115, 97,116, 0,109,117,108, 0,104,
+ 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,
+110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101,114, 0,115,112,101,101,100, 95,102, 97,100,
+101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98, 97,115,101, 0, 42,115, 99,
+101,110,101, 95,115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110, 0,115, 99,101,110,101,110,114, 0,109,117,108,116,
+105, 99, 97,109, 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,
+110,105,109, 95,115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,
+111,100,101, 0, 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,
+115,101,113, 0, 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113,
+ 0, 97, 99,116, 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91,
+ 50, 53, 54, 93, 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,
+103, 0,111,118,101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,
+119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,
+115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99,
+ 97,108,101,121, 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83, 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105,
+ 0,120, 70,105,110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116, 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,
+116,101,114,112,111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101,
+ 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,
+117,116,116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102,
+ 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101,
+ 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99,
+ 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116,
+ 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109,
+ 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,
+116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51, 50, 93, 0,118,103,114,111,117,112,110, 97,
+109,101, 95,118, 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,
+101,100,101,108,101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,
+109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93,
+ 0,116,111,103,103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108,117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,
+117,101, 91, 51, 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,
+109,101, 91, 51, 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,
+116,110, 97,109,101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 51,
+ 50, 93, 0, 99,111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117,
+ 98,106,101, 99,116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,
+114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,
+120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104,
+ 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,
+112,117,116,115, 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,
+116,101, 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,
+105,110, 0,112,114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115,
+ 0,115,116,114,105,100,101,108,101,110,103,116,104, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,
+114,101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,
+114,111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110,101,114, 95, 97,110,103,108,101, 0,
+ 99,111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95,103, 97,105,110,
+ 0,112, 97,100, 51, 91, 50, 93, 0,112,105,116, 99,104, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,
+109,101, 0,108,105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93,
+ 0,108,111, 99, 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111,
+ 99, 91, 51, 93, 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91,
+ 51, 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101,
+ 0,109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111,
+ 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112,
+ 91, 51, 50, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,
+105,110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,
+102,108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,
+106,101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,
+110,105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0, 42,115,117,
+ 98,116, 97,114,103,101,116, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0, 97,116,116,101,110,117,
+ 97,116,105,111,110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,
+104, 97,110,100,108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,
+115, 91, 51, 93, 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51,
+ 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,
+100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,
+114,109, 95,114,111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101,
+ 50, 0,114, 97,100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,
+105,110, 98, 97,115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,
+110,101, 0, 42,115,107,101,116, 99,104, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97,121,101,114, 95,112,114,111,116,
+101, 99,116,101,100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,
+101, 0,112, 97,116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,
+102, 0,112, 97,116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,
+116, 97,114,116, 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111,115,116, 95,115,102, 0,103,104,
+111,115,116, 95,101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,
+121,112,101, 0,103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,
+121,112,101, 0,112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102,108, 97,103, 0,112, 97,116,104,
+ 95, 98, 97,107,101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98,
+ 99, 0,112, 97,116,104, 95, 97, 99, 0, 99,111,110,115,116,102,108, 97,103, 0,105,107,102,108, 97,103, 0,115,101,108,101, 99,
+116,102,108, 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,
+116,114,101,101, 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,
+104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,
+101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91,
+ 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,
+114,101,116, 99,104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, 99,104,
+ 97,110, 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,
+105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,
+103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,
+100, 97,116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 51, 50, 93,
+ 0,110,117,109,105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112,
+ 0,115,111,108,118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,
+100, 97,109,112,101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,
+114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116,
+ 0, 42,115,111,117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54,
+ 52, 93, 0,102,105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112,
+ 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,
+114, 99,101, 0,104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114,
+ 0, 42,116, 97,114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,
+114, 0,116, 97,114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116,
+ 98,111,110,101, 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,
+117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,
+103,104,116, 0,103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,
+110,108,101,110, 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,
+118,101,100, 50, 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,
+111, 99,107,102,108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101,
+ 0,111,114,103,108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0,
+ 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116,
+ 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111,
+ 0,109, 97,112, 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,
+120, 91, 51, 93, 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115,
+ 0,122,109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111,
+ 95,114,111,116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,
+115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0,115,
+ 99, 97,108,101, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,
+111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,112,117,116,
+ 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101, 0, 42,110,101,119, 95,115,111, 99,107, 0,110,
+115, 0,108,105,109,105,116, 0,115,116, 97, 99,107, 95,116,121,112,101, 0, 42,115,116, 97, 99,107, 95,112,116,114, 0,115,116,
+ 97, 99,107, 95,105,110,100,101,120, 0,108,111, 99,120, 0,108,111, 99,121, 0,111,119,110, 95,105,110,100,101,120, 0, 42,103,
+114,111,117,112,115,111, 99,107, 0,116,111, 95,105,110,100,101,120, 0, 42,108,105,110,107, 0, 42,114,101, 99,116, 0,120,115,
+105,122,101, 0,121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0,111,117,116,112,117,116,
+115, 0, 42,115,116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,104, 0,108, 97, 98,101,108, 91, 51, 50, 93, 0, 99,
+117,115,116,111,109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,
+101,101,100, 95,101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,
+117,116,114, 0,112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,
+111,100,101, 0, 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,
+100,101,115, 0,108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,114,101, 97,100,115,116, 97, 99,107, 0,105,110,
+105,116, 0,115,116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,100,101,120, 0, 97,108,108,116,121,112,101,115, 0,
+ 40, 42,112,114,111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,
+116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104, 0, 99,121, 99,
+108,105, 99, 0,109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112,
+101,101,100, 0, 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,
+101,104, 0,103, 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110,
+ 95,104,101,105,103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119,
+114, 97,112, 0,115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,
+116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93,
+ 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102,
+ 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,
+109,101, 91, 51, 50, 93, 0, 98,107,116,121,112,101, 0,114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95,
+122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,100,105, 99,116,
+ 0, 42,110,111,100,101, 0, 97,110,103,108,101, 95,111,102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,116,104,114,101,
+115,104,111,108,100, 0,102, 97,100,101, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112,
+101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,
+105,110,118, 91, 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,
+117,115,112,105,108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,115,104,111,114,116,121, 0,109,
+105,110,116, 97, 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,
+117,116, 91, 50, 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101,
+ 0,112,114,101,115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,
+108,105,112,114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,
+117,108, 91, 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116,
+ 97, 95,114, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93,
+ 0,100, 97,116, 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,
+108,101, 95,108,105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119,
+ 97,118,101,102,114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,
+109, 95,104,101,105,103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101,
+ 95,104,101,105,103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,
+111,114,109, 95, 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,
+101, 99,115, 99,111,112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,
+108,111,110,101, 0,109,116,101,120, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,105,108,101,112,
+ 97,116,104, 91, 50, 52, 48, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,100,101, 0,106,
+105,116,116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,109,111,111,116,
+104, 95,115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,
+112,116, 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116, 95,116,111,111,
+108, 0,118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,116, 95,116,111,
+111,108, 0,112, 97,100, 51, 91, 53, 93, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114, 0, 99,114,101,
+ 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,116,101,120,116,
+117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,108, 97,121, 95,
+ 97,108,112,104, 97, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 97,100,100, 95, 99,111,108,
+ 91, 51, 93, 0,115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101,
+ 95, 99,108,111,110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,111,116,108, 97,
+121,101,114, 0,109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,101,120,116,101,
+114,110, 97,108, 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,119, 97,110,100,101,
+114, 91, 51, 93, 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,110,100,101,120, 91,
+ 50, 93, 0,100,101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,
+119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,114,116, 91, 50, 93, 0,112,114,101,118, 95,115,
+116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99,
+ 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,
+108, 97,115,116,105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,
+108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,
+118,105,115, 99,111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,
+116,105,102,102,110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,
+100,101,110,115,105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42,
+ 98,111,105,100,115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,
+111,100,101, 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119,
+ 95,115,105,122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115,
+ 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,
+115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,
+102,114,111,109, 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,
+112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,
+116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98,
+ 98, 95,115,105,122,101, 91, 50, 93, 0, 98, 98, 95,118,101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,
+108, 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101,
+ 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,
+111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0,106,
+105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,110,100, 0,103,114,105,100, 95,114,101,
+115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99,
+ 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, 93, 0, 97,118,101,
+102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97, 99, 0,114, 97,110,100,112,104, 97,115,
+101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,
+119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,
+104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,
+114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,
+112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,112, 95, 99,108,117,109,112, 0,114,111,
+117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,
+105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104,
+ 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115,
+ 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,105,110, 0,112, 97,114,116,105,110,103,
+ 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119, 95,108,105,110,101, 91, 50, 93, 0,112,
+ 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,105,108, 95, 99,111,117,110,116, 0,107,
+101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,115, 0, 42,101,102,102, 95,103,114,111,
+117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,112, 97,
+114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101,
+ 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42, 99,
+108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,111,117,116, 95,100,109, 0, 42,116, 97,
+114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,102,114, 97,109,101, 0, 98,118,104,116,
+114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,111,116,117,110,101,120,105,115,116, 0,
+116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101,
+ 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0,
+ 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51, 50, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,
+101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,102,101, 99,116,111,114,115, 0, 42,102,
+108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 97,108,
+108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101, 0, 42,112,100,100, 0, 42,102,114, 97,
+110,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109,
+ 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103,
+ 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,
+115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,
+100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,
+105,111,110, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,111,108,108, 0,109, 97,120,115,112,114,
+105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,111,117,112, 95, 98,101,110,100, 0,118,
+103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, 99,116, 0,115,104, 97,112,101,107,101,
+121, 95,114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, 99,111,108,108,105,115,105,111,110, 95,
+108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,
+112,115,105,108,111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,116, 97,110, 99,101, 95,114,101,112,101,
+108, 0,115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, 95, 99,111,117,110,116, 0,112,114,101,
+115,115,117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,115, 0,102,114, 97,109,101,110,117,109,
+ 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,
+101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0,108,
+105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,114,101,112,111,114,
+116,116,105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,
+105,110,100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112,
+ 95,117,110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101, 0,114,101,112,111,
+114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,100,114, 97,103,115, 0,107,101,121, 99,
+111,110,102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,
+115, 97,118,101,116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,
+115, 99,114,101,101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 51, 50, 93,
+ 0,112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108,
+ 97,115,116, 99,117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,
+118,101, 0, 42,101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,
+114, 97,119,109,101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100,
+ 97,108,104, 97,110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,
+110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,
+116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97,112,116,121,112,101, 0, 42,112,116,114,
+ 0,105,116,101,109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105,100, 0,107,109,105, 95,105,100, 0, 40,
+ 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0, 98, 97,115,101,110, 97,109,101, 91, 54,
+ 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,112,121, 95,105,110,115,
+116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42,111,112,109, 0, 42,101,100, 97,116, 97,
+ 0,105,110,102,108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0, 97,114,114, 97,121,115,105,
+122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,104, 97,115,101, 95,109,117,
+108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,117,101, 95,111,102,102,115,
+101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,101,114, 95,109,111,100,101,
+ 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,101,115, 0,114,101, 99,116,
+ 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101,112, 95,115,105,122,101, 0, 42,114,
+110, 97, 95,112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,116,114, 97,110,115, 67,104, 97,110,
+ 0,105,100,116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95,116, 97,114,103,101,116,115, 0,118,
+ 97,114,105, 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93, 0, 42,101,120,112,114, 95, 99,
+111,109,112, 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0, 99,111,108,111,
+114, 95,109,111,100,101, 0, 99,111,108,111,114, 91, 51, 93, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56,
+ 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115,
+ 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101,
+ 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100,101, 0,107,101,121,105,110,103,102,108, 97,103, 0,
+112, 97,116,104,115, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, 42,
+116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,118,
+101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, 95,
+101,120,116,101,110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,112,
+116,105,111,110,115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,107,
+ 95, 97,104,101, 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,114,
+ 0,102,108,101,101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,114,
+117,108,101,115, 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, 95,
+116,121,112,101, 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,105,
+100, 0,108, 97,110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,103,
+114,101,115,115,105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,112,
+101,101,100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, 95,
+112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,108,
+ 97,110,100, 95,109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, 95,
+109, 97,120, 95, 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100,
+ 95,115,116,105, 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, 95,
+103,114,111,117,112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,116,
+101,120, 95,115,104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,120,
+ 0,111,109,101,103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,105,
+102,121, 0,109, 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,115,
+115, 95,112,101,114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,100,
+120, 95,119,116, 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,103,
+104, 95, 99,111,109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, 91,
+ 50, 93, 0, 98,111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, 0,
+118,111,114,116,105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, 0,
+118,103,114,112, 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,118,
+103,114,111,117,112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,116,
+115, 95,111,108,100, 0, 42,118,101,108, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, 52, 93, 0, 0, 0, 0, 84, 89, 80, 69,
+ 0, 0, 1,205, 99,104, 97,114, 0,117, 99,104, 97,114, 0,115,104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,
+108,111,110,103, 0,117,108,111,110,103, 0,102,108,111, 97,116, 0,100,111,117, 98,108,101, 0,118,111,105,100, 0, 76,105,110,
+107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,102, 0,
+114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,
+114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0, 80,114,101,118,105,101,119, 73,
+109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,111, 67,117,114,118,101, 0, 66,
+ 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66,108,111, 99,107, 0, 75,101,121,
+ 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,
+120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83,
+ 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,
+114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,101,120, 0, 67, 66, 68, 97,116,
+ 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, 80,111,105,110,116, 68,101,
+110,115,105,116,121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,120,101,108, 68, 97,116, 97, 0, 98, 78,111,
+100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,111,108,117,109,101, 83,101,116,
+116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116,
+ 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0,
+ 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71,
+ 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0,
+ 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,
+100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 77, 83,101,
+108,101, 99,116, 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,
+115, 0, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102,111,114,109, 87,101,105,103,104,
+116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,111,108, 0, 77, 70,108,111,
+ 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0, 77, 83,116,114,105,110,103, 80,
+114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,105,115,112,115, 0, 77,117,108,
+116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,
+115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108,
+ 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,105,110,103, 73,110,102,111, 77,111,100,105,102,105,101,
+114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,
+101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
+ 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,
+116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,
+105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,
+118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,
+101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,
+111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
+ 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,
+111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,
+ 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
+ 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,
+101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,
+104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,
+105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,
+101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0,
+ 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0,
+ 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,
+101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109,
+ 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,
+105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101,
+ 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,
+101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,
+105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121,
+ 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,114,112, 77,111,100,105,102,105,101,114,
+ 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114,111,
+117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 98,
+ 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110, 80,
+ 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,
+111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0, 69,
+102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67, 97,
+ 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100,121,
+ 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 70,108,117,105,100,
+ 86,101,114,116,101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,
+101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,
+105,109,101, 67,111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97,
+ 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,
+101,114, 68, 97,116, 97, 0, 82,101,110,100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,
+109,101, 70,114, 97,109,105,110,103, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,
+105,110,116, 0, 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,
+116,105, 99,108,101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,
+110,103,115, 0, 84,114, 97,110,115,102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0,
+ 86, 80, 97,105,110,116, 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,
+101,116,116,105,110,103,115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0,
+ 83, 99,101,110,101, 83,116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,
+110, 86,105,101,119, 51, 68, 0, 82,101,110,100,101,114, 73,110,102,111, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,
+111,111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97,
+ 99,101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111,
+ 0, 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,
+105,108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,
+115,116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,
+112,115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101,
+ 73,109, 97,103,101, 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0,
+ 83,112, 97, 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97,
+ 99,101, 84,105,109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0,
+ 83,112, 97, 99,101, 76,111,103,105, 99, 0, 83,112, 97, 99,101, 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,
+110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111,108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112,
+ 97, 99,101, 83,111,117,110,100, 0, 83, 99,114, 65,114,101, 97, 0, 98, 83,111,117,110,100, 0,117,105, 70,111,110,116, 0,117,
+105, 70,111,110,116, 83,116,121,108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,
+115, 0,117,105, 87,105,100,103,101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,
+101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98,
+ 65,100,100,111,110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110,
+ 0, 83, 99,114, 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101,
+ 0,117,105, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,
+105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,
+105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114,
+ 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,112, 0, 80,108,117,103,105,110, 83,
+101,113, 0, 83,101,113,117,101,110, 99,101, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,
+108,111,119, 86, 97,114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114,
+ 86, 97,114,115, 0, 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,
+108,100, 69,102,102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98,
+ 80,114,111,112,101,114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,
+114, 0, 98, 84,111,117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98,
+ 80,114,111,112,101,114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98,
+ 68,101,108, 97,121, 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,
+100, 97,114, 83,101,110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,
+111,114, 0, 98, 65,114,109, 97,116,117,114,101, 83,101,110,115,111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,
+114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,
+101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,
+116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98,
+ 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 83,111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,
+117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101,
+ 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101,
+ 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65,
+ 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,
+117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115,
+ 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,
+105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,
+114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114,
+ 0, 98, 65,114,109, 97,116,117,114,101, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,
+111,110,101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,
+111,115,101, 67,104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,
+111,110, 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,
+101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,
+114, 97,105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,
+110,101, 73, 75, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 82,111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,
+105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 83, 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,
+107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98,
+ 65, 99,116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,
+114, 97,105,110,116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,
+111,119, 80, 97,116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,
+114, 97,105,110,116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0,
+ 98, 67,108, 97,109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,
+114, 97,105,110,116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,
+116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0,
+ 98, 82,111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,
+110,115,116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,
+104,114,105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,111,100,105,102,
+105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0, 98, 78,111,100,
+101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,101,119, 0, 98,
+ 78,111,100,101, 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101,
+ 65,110,105,109, 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0,
+ 78,111,100,101, 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116,
+ 0, 78,111,100,101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,
+111, 88, 89,115, 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0,
+ 78,111,100,101, 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,
+114,105,112,116, 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,
+111,100,101, 76,101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,
+101, 67,111,108,111,114,115,112,105,108,108, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77,
+ 97,112, 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,
+111,109, 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120,116,101,114,110, 97,108, 0, 72,
+ 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80, 97,114,116,105, 99,108,101, 0,
+ 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0, 67,104,105,108,100, 80, 97,114,
+116,105, 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114,116,105, 99,108,101, 68,117,112,
+108,105, 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,
+116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 66,111,105,100, 83,101,116,116,
+105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,
+116,105, 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,
+116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114,
+ 0, 82,101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,
+110,100,111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116, 0,119,109, 83,117, 98, 87,105,
+110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73,116,101,109, 0, 80,111,105,110,
+116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70,
+ 77,111,100,105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110,
+ 99,116,105,111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0,
+ 70, 77,111,100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,
+121,116,104,111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,
+100, 95, 83,116,101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114,
+ 0, 67,104, 97,110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,
+109, 77, 97,112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97,
+ 84,114, 97, 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,
+114,105,100,101, 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100,
+ 82,117,108,101, 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,
+115,105,111,110, 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,
+108,101, 65,118,101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,
+100, 83,116, 97,116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 84, 76, 69, 78,
+ 0, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 8, 0, 12, 0, 8, 0, 4, 0, 8, 0, 16,
+ 0, 16, 0, 20, 0, 76, 0, 52, 2, 40, 0, 0, 0, 32, 0,140, 4, 44, 0, 92, 0, 36, 0, 56, 0, 84, 0,112, 0,124, 0, 56,
+ 0, 24, 0, 40, 0,120, 0, 12, 0,104, 0, 36, 5, 40, 1,156, 0, 0, 0, 0, 0, 0, 1, 16, 1, 48, 1, 84, 0, 24, 3, 8,
+ 0,168, 0, 0, 0, 84, 1, 16, 1, 32, 0,164, 0,132, 1,108, 0, 88, 2,160, 0, 76, 1, 60, 0, 0, 0,108, 0,104, 0,148,
+ 0, 56, 0, 8, 0, 16, 0, 20, 0, 0, 1, 92, 0, 0, 0, 0, 0, 0, 1, 24, 0, 20, 0, 44, 0, 60, 0, 20, 0, 12, 0, 12,
+ 0, 4, 0, 8, 0, 8, 0, 0, 0, 28, 0, 84, 0, 32, 0, 8, 0, 12, 0, 8, 0, 8, 0, 4, 0, 4, 1, 0, 0, 32, 0, 12,
+ 0, 16, 0, 64, 0, 24, 0, 12, 0, 40, 0, 64, 0,112, 0, 80, 0,100, 0,108, 0, 80, 0,108, 0,128, 0, 76, 0, 72, 0,120,
+ 0, 72, 0, 84, 0,204, 0, 48, 0,168, 0,160, 0,172, 0, 72, 0,104, 0,116, 0,196, 0,112, 0,224, 0, 64, 0, 92, 0, 0,
+ 0,144, 0, 40, 1,244, 0,112, 0, 0, 0, 88, 0, 0, 0, 0, 0, 76, 0, 8, 0, 8, 0,244, 0, 88, 1,148, 0, 84, 0,108,
+ 0, 72, 0, 72, 1,180, 0,120, 0,116, 0, 64, 0,128, 0, 92, 0,172, 0, 12, 0,224, 0, 40, 0, 0, 0,100, 0,156, 0, 72,
+ 0, 48, 0, 20, 0,120, 0,144, 1, 88, 0,208, 0,180, 0, 0, 0, 68, 0, 20, 0, 96, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
+ 0, 12, 1,112, 0, 28, 0,176, 0,144, 0, 64, 0, 60, 0, 24, 0, 72, 3,144, 0, 56, 0, 20, 0, 16, 0,100, 0, 84, 0, 16,
+ 2,204, 0, 36, 0, 16, 0,156, 0, 80, 0, 88, 0, 36, 1,152, 0, 32, 0, 8, 0, 24, 2, 56, 0, 0, 0, 0, 0, 72, 3, 68,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 40, 0,140, 0, 48, 0,208, 0, 88, 0,216, 0,216, 2, 96, 0, 60, 0, 0, 0,120,
+ 0, 0, 0,244, 0, 12, 0, 12, 32,248, 16,112, 16, 24, 0,192, 2,136, 2, 80, 0, 40, 0, 12, 0,188, 0,252, 0, 52, 2,140,
+ 0, 28, 1,104, 0, 88, 0,188, 0, 96, 1, 92, 1, 16, 0, 32, 0,224, 0, 32, 0, 32, 2,112, 1,120, 0, 16, 30, 80, 0, 72,
+ 0, 56, 13,144, 0,148, 0, 20, 0, 24, 1, 64, 0, 0, 0, 0, 0, 0, 0,248, 0, 0, 1, 24, 0, 88, 0, 16, 0, 8, 0, 44,
+ 0,252, 0,212, 1,168, 0,216, 0, 16, 0, 12, 0, 24, 0, 52, 0, 16, 0, 20, 0, 16, 0, 24, 1, 56, 0, 0, 0, 56, 0, 52,
+ 0, 48, 0, 8, 0, 44, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 72, 0, 68, 0, 76, 0, 80, 0, 60,
+ 0,128, 0, 76, 0, 60, 0, 12, 0, 92, 0, 32, 0, 68, 0, 80, 0, 16, 0, 76, 0,108, 0, 84, 0, 28, 0, 96, 0, 56, 0, 56,
+ 0,108, 0,140, 0, 4, 0, 20, 0, 12, 0, 8, 0, 80, 0, 24, 1, 16, 0,144, 0, 16, 1,192, 0, 4, 0, 40, 0,104, 1, 24,
+ 0, 64, 0, 44, 0, 72, 0,116, 0, 60, 0,112, 0, 16, 0, 52, 0, 44, 0, 44, 0, 44, 0, 8, 0, 36, 0, 68, 0, 64, 0, 44,
+ 0, 44, 0, 20, 0, 52, 0, 96, 0, 12, 0,108, 0, 92, 0, 52, 0, 28, 0, 28, 0, 28, 0, 52, 0, 20, 0, 60, 0,140, 0, 36,
+ 0,124, 0, 32, 0, 12, 0,212, 0, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 1, 16, 0, 44, 0, 24, 0, 8, 0, 64,
+ 0, 32, 0, 24, 0, 8, 0, 24, 0, 32, 0, 8, 0, 96, 0, 20, 0, 32, 0, 12, 0, 44, 0, 20, 0, 68, 0,240, 0, 24, 0, 56,
+ 0, 52, 0, 20, 0, 16, 0, 64, 0, 28, 0, 20, 0,180, 0, 60, 2, 64, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 20,
+ 0, 24, 0,172, 0, 28, 0,168, 0,148, 0,152, 0, 0, 0, 0, 0, 0, 0,104, 0, 0, 0, 96, 0, 0, 0, 88, 0, 20, 0, 24,
+ 0, 16, 0, 20, 0, 8, 0, 8, 0, 24, 0, 20, 0, 20, 0, 48, 1,208, 1, 28, 0, 16, 0, 68, 1, 0, 0, 20, 0,160, 0, 88,
+ 0, 96, 0,152, 0, 20, 0, 56, 0, 48, 0, 68, 0, 56, 0, 92, 0, 64, 0, 56, 0, 96, 0, 0, 0, 0, 0, 0, 83, 84, 82, 67,
+ 0, 0, 1,148, 0, 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0, 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2,
+ 0, 12, 0, 2, 0, 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 7, 0, 5,
+ 0, 7, 0, 6, 0, 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 16, 0, 4, 0, 7, 0, 7,
+ 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, 0, 9, 0, 11, 0, 12, 0, 12, 0, 4, 0, 13, 0, 4, 0, 14,
+ 0, 18, 0, 10, 0, 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, 0, 0, 0, 16, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 19,
+ 0, 17, 0, 20, 0, 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0, 19, 0, 23, 0, 20, 0, 24,
+ 0, 0, 0, 25, 0, 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, 0, 18, 0, 28, 0, 20, 0, 8, 0, 19, 0, 29, 0, 19, 0, 30,
+ 0, 21, 0, 31, 0, 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, 0, 4, 0, 35, 0, 20, 0, 36, 0, 22, 0, 5, 0, 4, 0, 37,
+ 0, 4, 0, 38, 0, 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, 0, 23, 0, 6, 0, 24, 0, 42, 0, 2, 0, 43, 0, 2, 0, 44,
+ 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, 0, 25, 0, 0, 0, 25, 0, 1, 0, 26, 0, 46, 0, 27, 0, 47,
+ 0, 16, 0, 48, 0, 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 50, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53,
+ 0, 2, 0, 17, 0, 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, 0, 4, 0, 55, 0, 7, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58,
+ 0, 23, 0, 59, 0, 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, 0, 16, 0, 61, 0, 2, 0, 43, 0, 2, 0, 62, 0, 2, 0, 63,
+ 0, 2, 0, 35, 0, 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, 0, 7, 0, 64, 0, 7, 0, 58, 0, 2, 0, 15, 0, 2, 0, 44,
+ 0, 2, 0, 65, 0, 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, 0, 9, 0, 2, 0, 7, 0, 68, 0, 0, 0, 18, 0, 0, 0, 69,
+ 0, 7, 0, 70, 0, 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, 0, 31, 0, 72, 0, 29, 0, 73, 0, 0, 0, 74, 0, 4, 0, 75,
+ 0, 7, 0, 58, 0, 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, 0, 2, 0, 15, 0, 2, 0, 79, 0, 2, 0, 80, 0, 2, 0, 17,
+ 0, 32, 0, 6, 0, 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, 0, 0, 0, 82, 0, 4, 0, 21, 0, 4, 0, 83, 0, 33, 0, 10,
+ 0, 33, 0, 0, 0, 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, 0, 4, 0, 86, 0, 4, 0, 87, 0, 4, 0, 12, 0, 4, 0, 88,
+ 0, 0, 0, 89, 0, 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, 0, 0, 0, 91, 0, 4, 0, 88, 0, 4, 0, 92, 0, 12, 0, 93,
+ 0, 32, 0, 94, 0, 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, 0, 12, 0, 98, 0, 0, 0, 99, 0, 4, 0,100, 0, 4, 0,101,
+ 0, 9, 0,102, 0, 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, 0, 4, 0,105, 0, 9, 0, 2, 0, 36, 0, 16, 0, 19, 0, 29,
+ 0, 31, 0, 72, 0, 0, 0, 15, 0, 0, 0,106, 0, 2, 0, 17, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,110,
+ 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 28, 0, 77, 0, 24, 0,116, 0, 37, 0, 14,
+ 0, 38, 0,117, 0, 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124,
+ 0, 0, 0, 35, 0, 2, 0,125, 0, 2, 0,126, 0, 2, 0,127, 0, 2, 0, 17, 0, 4, 0, 67, 0, 39, 0, 32, 0, 19, 0, 29,
+ 0, 0, 0, 32, 0, 12, 0,128, 0, 40, 0,129, 0, 41, 0,130, 0, 42, 0,131, 0, 42, 0,132, 0, 2, 0,133, 0, 2, 0,134,
+ 0, 2, 0,124, 0, 2, 0, 17, 0, 2, 0,135, 0, 2, 0, 15, 0, 4, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 2, 0,139,
+ 0, 2, 0,140, 0, 2, 0,141, 0, 2, 0,142, 0, 4, 0,143, 0, 4, 0,144, 0, 35, 0,145, 0, 22, 0,146, 0, 7, 0,147,
+ 0, 4, 0,148, 0, 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, 0, 2, 0,152, 0, 7, 0,153, 0, 7, 0,154, 0, 43, 0, 65,
+ 0, 2, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0, 24, 0,159, 0, 44, 0,160, 0, 0, 0,161, 0, 0, 0,162,
+ 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,165, 0, 7, 0,166, 0, 7, 0,167, 0, 7, 0,168, 0, 2, 0,169, 0, 2, 0,170,
+ 0, 2, 0,171, 0, 2, 0,172, 0, 2, 0,173, 0, 2, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 7, 0,177, 0, 7, 0,178,
+ 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0,181, 0, 7, 0, 54, 0, 7, 0,182, 0, 7, 0,183, 0, 7, 0,184, 0, 7, 0,185,
+ 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193,
+ 0, 7, 0,194, 0, 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201,
+ 0, 7, 0,202, 0, 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209,
+ 0, 7, 0,210, 0, 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217,
+ 0, 7, 0,218, 0, 45, 0, 15, 0, 0, 0,219, 0, 9, 0,220, 0, 0, 0,221, 0, 0, 0,222, 0, 4, 0,223, 0, 4, 0,224,
+ 0, 9, 0,225, 0, 7, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0, 4, 0,229, 0, 9, 0,230, 0, 9, 0,231, 0, 4, 0,232,
+ 0, 4, 0, 35, 0, 46, 0, 6, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,233, 0, 7, 0, 64, 0, 4, 0, 61,
+ 0, 47, 0, 5, 0, 2, 0, 17, 0, 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,234, 0, 46, 0,228, 0, 48, 0, 17, 0, 24, 0,159,
+ 0, 39, 0,235, 0, 49, 0,236, 0, 7, 0,237, 0, 7, 0,238, 0, 2, 0, 15, 0, 2, 0,239, 0, 7, 0,108, 0, 7, 0,109,
+ 0, 7, 0,240, 0, 4, 0,241, 0, 2, 0,242, 0, 2, 0,243, 0, 4, 0,124, 0, 4, 0,136, 0, 2, 0,244, 0, 2, 0,245,
+ 0, 50, 0, 25, 0, 2, 0, 17, 0, 2, 0,246, 0, 7, 0,247, 0, 7, 0,248, 0, 2, 0,135, 0, 2, 0,249, 0, 4, 0,250,
+ 0, 4, 0,251, 0, 24, 0,159, 0, 4, 0,252, 0, 2, 0,253, 0, 2, 0,254, 0, 9, 0,255, 0, 7, 1, 0, 0, 7, 1, 1,
+ 0, 2, 1, 2, 0, 2, 1, 3, 0, 2, 1, 4, 0, 2, 1, 5, 0, 7, 1, 6, 0, 7, 1, 7, 0, 7, 1, 8, 0, 7, 1, 9,
+ 0, 47, 1, 10, 0, 51, 1, 11, 0, 52, 0, 13, 0, 4, 1, 12, 0, 4, 1, 13, 0, 2, 1, 14, 0, 2, 0, 17, 0, 2, 1, 15,
+ 0, 2, 1, 16, 0, 24, 0,159, 0, 7, 1, 17, 0, 4, 1, 18, 0, 0, 1, 19, 0, 7, 1, 20, 0, 4, 1, 21, 0, 4, 0,124,
+ 0, 44, 0, 63, 0, 19, 0, 29, 0, 31, 0, 72, 0, 7, 1, 22, 0, 7, 1, 23, 0, 7, 1, 24, 0, 7, 1, 25, 0, 7, 1, 26,
+ 0, 7, 1, 27, 0, 7, 1, 28, 0, 7, 1, 29, 0, 7, 1, 30, 0, 7, 0, 67, 0, 7, 1, 31, 0, 7, 1, 32, 0, 7, 1, 33,
+ 0, 7, 1, 34, 0, 7, 1, 35, 0, 7, 1, 36, 0, 7, 1, 37, 0, 7, 1, 38, 0, 7, 1, 39, 0, 7, 1, 40, 0, 7, 1, 41,
+ 0, 7, 1, 42, 0, 2, 1, 43, 0, 2, 1, 44, 0, 2, 1, 45, 0, 2, 1, 46, 0, 2, 1, 47, 0, 2, 1, 48, 0, 2, 1, 49,
+ 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,239, 0, 7, 1, 50, 0, 7, 1, 51, 0, 7, 1, 52, 0, 7, 1, 53, 0, 4, 1, 54,
+ 0, 4, 1, 55, 0, 2, 1, 56, 0, 2, 1, 57, 0, 2, 1, 15, 0, 2, 0,122, 0, 4, 0, 21, 0, 4, 0,119, 0, 4, 0,120,
+ 0, 4, 0,121, 0, 7, 1, 58, 0, 7, 1, 59, 0, 7, 0, 87, 0, 37, 1, 60, 0, 53, 1, 61, 0, 28, 0, 77, 0, 39, 0,235,
+ 0, 45, 1, 62, 0, 47, 1, 10, 0, 48, 1, 63, 0, 22, 0,146, 0, 50, 1, 64, 0, 52, 1, 65, 0, 0, 1, 66, 0, 0, 0,176,
+ 0, 54, 0, 8, 0, 7, 1, 67, 0, 7, 1, 68, 0, 7, 0,167, 0, 4, 0, 17, 0, 7, 1, 69, 0, 7, 1, 70, 0, 7, 1, 71,
+ 0, 24, 0, 42, 0, 55, 0, 72, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 1, 72, 0, 2, 0,170,
+ 0, 2, 1, 73, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 1, 74, 0, 7, 1, 75, 0, 7, 1, 76,
+ 0, 7, 1, 77, 0, 7, 1, 78, 0, 7, 1, 79, 0, 7, 1, 80, 0, 7, 1, 81, 0, 7, 1, 82, 0, 7, 1, 83, 0, 7, 1, 84,
+ 0, 51, 1, 85, 0, 2, 0,246, 0, 2, 0, 67, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 1, 86, 0, 7, 1, 87, 0, 7, 1, 88,
+ 0, 7, 1, 89, 0, 7, 1, 90, 0, 2, 1, 91, 0, 2, 1, 92, 0, 2, 1, 93, 0, 2, 1, 94, 0, 0, 1, 95, 0, 0, 1, 96,
+ 0, 2, 1, 97, 0, 2, 1, 98, 0, 2, 1, 99, 0, 2, 1,100, 0, 2, 1,101, 0, 7, 1,102, 0, 7, 1,103, 0, 7, 1,104,
+ 0, 7, 1,105, 0, 2, 1,106, 0, 2, 0, 87, 0, 2, 1,107, 0, 2, 1,108, 0, 2, 1,109, 0, 2, 1,110, 0, 7, 1,111,
+ 0, 7, 1,112, 0, 7, 1,113, 0, 7, 1,114, 0, 7, 1,115, 0, 7, 1,116, 0, 7, 1,117, 0, 7, 1,118, 0, 7, 1,119,
+ 0, 7, 1,120, 0, 7, 1,121, 0, 7, 1,122, 0, 2, 1,123, 0, 0, 1,124, 0, 28, 0, 77, 0, 43, 1,125, 0, 2, 1,126,
+ 0, 0, 1,127, 0, 22, 0,146, 0, 56, 0, 18, 0, 7, 1,128, 0, 7, 1,129, 0, 7, 1,130, 0, 7, 1,131, 0, 7, 1,132,
+ 0, 7, 1,133, 0, 7, 1,134, 0, 7, 1,135, 0, 7, 1,136, 0, 7, 1,137, 0, 2, 1,138, 0, 2, 1,139, 0, 2, 1,140,
+ 0, 2, 1,141, 0, 7, 1,142, 0, 7, 1,143, 0, 7, 1,144, 0, 7, 1,145, 0, 57, 0,125, 0, 19, 0, 29, 0, 31, 0, 72,
+ 0, 2, 1,146, 0, 2, 0, 17, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 1,147, 0, 7, 1,148, 0, 7, 1,149,
+ 0, 7, 1,150, 0, 7, 1,151, 0, 7, 1,152, 0, 7, 1,153, 0, 7, 1,154, 0, 7, 1,155, 0, 7, 1,156, 0, 7, 1,157,
+ 0, 7, 1,158, 0, 7, 1,159, 0, 7, 1,160, 0, 7, 1,161, 0, 7, 1,162, 0, 7, 1,163, 0, 7, 1,164, 0, 7, 1,165,
+ 0, 7, 1,166, 0, 56, 1,167, 0, 7, 1,168, 0, 7, 1,169, 0, 7, 1,170, 0, 7, 1,171, 0, 7, 1,172, 0, 7, 1,173,
+ 0, 7, 1,174, 0, 2, 1,175, 0, 2, 1,176, 0, 2, 1,177, 0, 0, 1,178, 0, 0, 1,179, 0, 7, 1,180, 0, 7, 1,181,
+ 0, 2, 1,182, 0, 2, 1,183, 0, 7, 1,184, 0, 7, 1,185, 0, 7, 1,186, 0, 7, 1,187, 0, 2, 1,188, 0, 2, 1,189,
+ 0, 4, 1, 72, 0, 4, 1,190, 0, 2, 1,191, 0, 2, 1,192, 0, 2, 1,193, 0, 2, 1,194, 0, 7, 1,195, 0, 7, 1,196,
+ 0, 7, 1,197, 0, 7, 1,198, 0, 7, 1,199, 0, 7, 1,200, 0, 7, 1,201, 0, 7, 1,202, 0, 7, 1,203, 0, 7, 1,204,
+ 0, 0, 1,205, 0, 7, 1,206, 0, 7, 1,207, 0, 7, 1,208, 0, 4, 1,209, 0, 0, 1,210, 0, 0, 1,107, 0, 0, 1,211,
+ 0, 0, 1, 66, 0, 2, 1,212, 0, 2, 1,213, 0, 2, 1,126, 0, 2, 1,214, 0, 2, 1,215, 0, 2, 1,216, 0, 7, 1,217,
+ 0, 7, 1,218, 0, 7, 1,219, 0, 7, 1,220, 0, 7, 1,221, 0, 2, 0,155, 0, 2, 0,156, 0, 47, 1,222, 0, 47, 1,223,
+ 0, 0, 1,224, 0, 0, 1,225, 0, 0, 1,226, 0, 0, 1,227, 0, 2, 1,228, 0, 2, 1,229, 0, 7, 1,230, 0, 7, 1,231,
+ 0, 43, 1,125, 0, 53, 1, 61, 0, 28, 0, 77, 0, 58, 1,232, 0, 22, 0,146, 0, 7, 1,233, 0, 7, 1,234, 0, 7, 1,235,
+ 0, 7, 1,236, 0, 7, 1,237, 0, 2, 1,238, 0, 2, 0, 67, 0, 7, 1,239, 0, 7, 1,240, 0, 7, 1,241, 0, 7, 1,242,
+ 0, 7, 1,243, 0, 7, 1,244, 0, 7, 1,245, 0, 7, 1,246, 0, 7, 1,247, 0, 2, 1,248, 0, 2, 1,249, 0, 4, 1,250,
+ 0, 2, 1,251, 0, 2, 0, 35, 0, 12, 1,252, 0, 59, 0, 4, 0, 19, 0, 29, 0, 0, 1,253, 0, 60, 0, 2, 0, 35, 0,145,
+ 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, 62, 1,254, 0, 4, 1,255, 0, 4, 2, 0, 0, 4, 2, 1, 0, 4, 2, 2,
+ 0, 4, 2, 3, 0, 4, 2, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 2, 5, 0, 2, 2, 6, 0, 7, 0, 5, 0, 7, 0, 6,
+ 0, 7, 2, 7, 0, 7, 2, 8, 0, 7, 2, 9, 0, 7, 2, 10, 0, 7, 2, 11, 0, 7, 2, 12, 0, 7, 2, 13, 0, 7, 2, 14,
+ 0, 7, 0, 21, 0, 7, 2, 15, 0, 7, 2, 16, 0, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 1,254, 0, 12, 2, 17,
+ 0, 12, 2, 18, 0, 12, 2, 19, 0, 28, 0, 77, 0, 57, 2, 20, 0, 0, 0, 17, 0, 0, 2, 21, 0, 2, 2, 22, 0, 2, 0,169,
+ 0, 2, 0, 35, 0, 7, 1, 67, 0, 7, 0,167, 0, 7, 1, 68, 0, 7, 2, 23, 0, 7, 2, 24, 0, 7, 2, 25, 0, 61, 2, 26,
+ 0, 27, 0, 11, 0, 7, 2, 27, 0, 7, 2, 28, 0, 7, 2, 29, 0, 7, 0,248, 0, 2, 0, 52, 0, 0, 2, 30, 0, 0, 2, 31,
+ 0, 0, 2, 32, 0, 0, 2, 33, 0, 0, 2, 34, 0, 0, 2, 35, 0, 26, 0, 7, 0, 7, 2, 36, 0, 7, 2, 28, 0, 7, 2, 29,
+ 0, 2, 2, 32, 0, 2, 2, 35, 0, 7, 0,248, 0, 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0, 64, 0, 1, 0, 2, 0, 15,
+ 0, 2, 2, 37, 0, 2, 2, 35, 0, 2, 0, 17, 0, 2, 2, 38, 0, 2, 2, 39, 0, 2, 2, 40, 0, 2, 2, 41, 0, 2, 2, 42,
+ 0, 2, 2, 43, 0, 2, 2, 44, 0, 2, 2, 45, 0, 7, 2, 46, 0, 7, 2, 47, 0, 26, 0, 46, 0, 27, 0, 47, 0, 2, 2, 48,
+ 0, 2, 2, 49, 0, 4, 2, 50, 0, 65, 0, 5, 0, 2, 2, 51, 0, 2, 2, 37, 0, 0, 0, 17, 0, 0, 0, 35, 0, 2, 0, 67,
+ 0, 66, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 2, 52, 0, 7, 2, 53, 0, 67, 0, 4, 0, 12, 2, 54, 0, 68, 2, 55,
+ 0, 4, 2, 56, 0, 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 1,254, 0, 12, 2, 57, 0, 12, 2, 18,
+ 0, 67, 2, 58, 0, 24, 2, 59, 0, 24, 2, 60, 0, 24, 2, 61, 0, 28, 0, 77, 0, 70, 2, 62, 0, 30, 2, 63, 0, 57, 2, 20,
+ 0, 12, 2, 64, 0, 7, 1, 67, 0, 7, 0,167, 0, 7, 1, 68, 0, 2, 0,169, 0, 2, 0, 87, 0, 2, 2, 65, 0, 2, 2, 66,
+ 0, 7, 2, 67, 0, 7, 2, 68, 0, 4, 2, 69, 0, 2, 0, 35, 0, 2, 2, 22, 0, 2, 0, 17, 0, 2, 2, 70, 0, 7, 2, 71,
+ 0, 7, 2, 72, 0, 7, 2, 73, 0, 2, 2, 40, 0, 2, 2, 41, 0, 2, 2, 74, 0, 2, 2, 75, 0, 4, 2, 76, 0, 9, 2, 77,
+ 0, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, 2, 2, 78, 0, 7, 2, 79, 0, 7, 2, 80, 0, 7, 2, 81, 0, 7, 2, 82,
+ 0, 7, 2, 83, 0, 7, 2, 84, 0, 7, 2, 85, 0, 7, 2, 86, 0, 7, 2, 87, 0, 7, 2, 88, 0, 0, 2, 89, 0, 71, 2, 90,
+ 0, 72, 2, 91, 0, 0, 2, 92, 0, 59, 2, 93, 0, 59, 2, 94, 0, 59, 2, 95, 0, 59, 2, 96, 0, 4, 2, 97, 0, 7, 2, 98,
+ 0, 4, 2, 99, 0, 4, 2,100, 0, 66, 2,101, 0, 4, 2,102, 0, 4, 2,103, 0, 65, 2,104, 0, 65, 2,105, 0, 73, 0, 39,
+ 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 1,254, 0, 28, 0, 77, 0, 30, 2, 63, 0, 57, 2, 20, 0, 74, 2,106, 0, 75, 2,107,
+ 0, 76, 2,108, 0, 77, 2,109, 0, 78, 2,110, 0, 79, 2,111, 0, 80, 2,112, 0, 81, 2,113, 0, 73, 2,114, 0, 82, 2,115,
+ 0, 83, 2,116, 0, 84, 2,117, 0, 84, 2,118, 0, 84, 2,119, 0, 4, 0, 51, 0, 4, 2,120, 0, 4, 2,121, 0, 4, 2,122,
+ 0, 4, 2,123, 0, 7, 1, 67, 0, 7, 0,167, 0, 7, 1, 68, 0, 2, 0,169, 0, 2, 2, 65, 0, 2, 2,124, 0, 2, 0, 17,
+ 0, 2, 2,125, 0, 2, 2,126, 0, 0, 2,127, 0, 0, 2,128, 0, 2, 2, 22, 0, 85, 2,129, 0, 86, 2,130, 0, 76, 0, 8,
+ 0, 9, 2,131, 0, 7, 2,132, 0, 4, 2,133, 0, 0, 0, 17, 0, 0, 2,134, 0, 2, 1, 72, 0, 2, 2,135, 0, 2, 2,136,
+ 0, 74, 0, 7, 0, 4, 2,137, 0, 4, 2,138, 0, 4, 2,139, 0, 4, 2,140, 0, 2, 2, 37, 0, 0, 2,141, 0, 0, 0, 17,
+ 0, 78, 0, 5, 0, 4, 2,137, 0, 4, 2,138, 0, 0, 2,142, 0, 0, 2,143, 0, 2, 0, 17, 0, 87, 0, 2, 0, 4, 2,144,
+ 0, 7, 2, 29, 0, 79, 0, 3, 0, 87, 2,145, 0, 4, 2,146, 0, 4, 0, 17, 0, 77, 0, 4, 0, 7, 2,147, 0, 2, 2,148,
+ 0, 0, 0, 17, 0, 0, 2,143, 0, 80, 0, 4, 0, 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0, 0, 0,179, 0, 88, 0, 6,
+ 0, 39, 2,131, 0, 0, 0, 17, 0, 0, 2,134, 0, 2, 1, 72, 0, 2, 2,135, 0, 2, 2,136, 0, 89, 0, 1, 0, 7, 2,149,
+ 0, 90, 0, 5, 0, 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0, 0, 0,179, 0, 4, 0, 35, 0, 81, 0, 1, 0, 7, 2,150,
+ 0, 82, 0, 2, 0, 4, 2,151, 0, 4, 0, 15, 0, 75, 0, 7, 0, 7, 2,132, 0, 39, 2,131, 0, 0, 0, 17, 0, 0, 2,134,
+ 0, 2, 1, 72, 0, 2, 2,135, 0, 2, 2,136, 0, 91, 0, 1, 0, 7, 2,152, 0, 92, 0, 1, 0, 4, 2,153, 0, 93, 0, 1,
+ 0, 0, 2,154, 0, 94, 0, 1, 0, 7, 2,132, 0, 95, 0, 3, 0, 4, 2,155, 0, 0, 0, 90, 0, 7, 2,156, 0, 96, 0, 4,
+ 0, 7, 0,233, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 97, 0, 1, 0, 96, 2,133, 0, 98, 0, 5, 0, 4, 2,157,
+ 0, 4, 2,158, 0, 0, 0, 17, 0, 0, 2, 37, 0, 0, 2,159, 0, 99, 0, 2, 0, 4, 2,160, 0, 4, 2,158, 0,100, 0, 10,
+ 0,100, 0, 0, 0,100, 0, 1, 0, 98, 2,161, 0, 97, 2,162, 0, 99, 2,163, 0, 4, 0, 51, 0, 4, 2,121, 0, 4, 2,120,
+ 0, 4, 0, 35, 0, 77, 2,164, 0, 85, 0, 14, 0, 12, 2,165, 0, 77, 2,164, 0, 0, 2,166, 0, 0, 2,167, 0, 0, 2,168,
+ 0, 0, 2,169, 0, 0, 2,170, 0, 0, 2,171, 0, 0, 2,172, 0, 0, 0, 17, 0, 84, 2,117, 0, 84, 2,119, 0, 2, 2,173,
+ 0, 0, 2,174, 0, 86, 0, 8, 0, 4, 2,175, 0, 4, 2,176, 0, 74, 2,177, 0, 78, 2,178, 0, 4, 2,121, 0, 4, 2,120,
+ 0, 4, 0, 51, 0, 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0, 4, 0, 15, 0, 4, 1, 72, 0, 4, 2,179,
+ 0, 4, 0, 35, 0, 0, 0, 18, 0, 38, 0,117, 0, 0, 2,180, 0,102, 0, 6, 0,101, 2,181, 0, 44, 2,182, 0, 24, 2,183,
+ 0, 0, 2,184, 0, 4, 2,185, 0, 4, 2,186, 0,103, 0, 7, 0,101, 2,181, 0, 2, 2,187, 0, 2, 2,165, 0, 2, 2,188,
+ 0, 2, 0, 88, 0, 9, 2,189, 0, 9, 2,190, 0,104, 0, 3, 0,101, 2,181, 0, 24, 0,159, 0, 0, 0, 18, 0,105, 0, 5,
+ 0,101, 2,181, 0, 24, 0,159, 0, 0, 0, 18, 0, 2, 2,191, 0, 0, 2,192, 0,106, 0, 5, 0,101, 2,181, 0, 7, 0, 85,
+ 0, 7, 2,193, 0, 4, 2,194, 0, 4, 2,195, 0,107, 0, 5, 0,101, 2,181, 0, 24, 2,196, 0, 0, 0, 69, 0, 4, 1, 72,
+ 0, 4, 0, 17, 0,108, 0, 13, 0,101, 2,181, 0, 24, 2,197, 0, 24, 2,198, 0, 24, 2,199, 0, 24, 2,200, 0, 7, 2,201,
+ 0, 7, 2,202, 0, 7, 2,193, 0, 7, 2,203, 0, 4, 2,204, 0, 4, 2,205, 0, 4, 0, 88, 0, 4, 2,206, 0,109, 0, 5,
+ 0,101, 2,181, 0, 2, 2,207, 0, 2, 0, 17, 0, 7, 2,208, 0, 24, 2,209, 0,110, 0, 3, 0,101, 2,181, 0, 7, 2,210,
+ 0, 4, 0, 88, 0,111, 0, 10, 0,101, 2,181, 0, 7, 2,211, 0, 4, 2,212, 0, 4, 0, 35, 0, 2, 0, 88, 0, 2, 2,213,
+ 0, 2, 2,214, 0, 2, 2,215, 0, 7, 2,216, 0, 0, 2,217, 0,112, 0, 3, 0,101, 2,181, 0, 7, 0, 35, 0, 4, 0, 15,
+ 0,113, 0, 6, 0,101, 2,181, 0,114, 2,218, 0,115, 2,219, 0,116, 2,220, 0, 7, 2,221, 0, 4, 0, 15, 0,117, 0, 11,
+ 0,101, 2,181, 0, 44, 2,182, 0, 24, 2,183, 0, 0, 2,184, 0, 4, 2,185, 0, 4, 2,186, 0, 4, 2,222, 0, 7, 2,223,
+ 0, 4, 2,224, 0, 0, 2,217, 0, 7, 2,225, 0,118, 0, 12, 0,101, 2,181, 0, 24, 2,226, 0, 39, 2,227, 0, 4, 0, 88,
+ 0, 4, 2,228, 0, 7, 2,229, 0, 7, 2,230, 0, 7, 2,231, 0, 7, 2,232, 0, 0, 2,184, 0, 4, 2,185, 0, 4, 0, 35,
+ 0,119, 0, 3, 0,101, 2,181, 0, 7, 2,233, 0, 4, 2,234, 0,120, 0, 5, 0,101, 2,181, 0, 7, 2,235, 0, 0, 2,217,
+ 0, 2, 0, 17, 0, 2, 2,236, 0,121, 0, 8, 0,101, 2,181, 0, 24, 0,159, 0, 7, 2,235, 0, 7, 0,248, 0, 7, 0,104,
+ 0, 0, 2,217, 0, 2, 0, 17, 0, 2, 0, 15, 0,122, 0, 21, 0,101, 2,181, 0, 24, 2,237, 0, 0, 2,217, 0, 44, 2,182,
+ 0, 24, 2,183, 0, 2, 0, 17, 0, 2, 0, 35, 0, 7, 2,238, 0, 7, 2,239, 0, 7, 2,240, 0, 7, 2, 71, 0, 7, 2,241,
+ 0, 7, 2,242, 0, 7, 2,243, 0, 7, 2,244, 0, 4, 2,186, 0, 4, 2,185, 0, 0, 2,184, 0, 7, 2,245, 0, 7, 2,246,
+ 0, 7, 0, 87, 0,123, 0, 7, 0,101, 2,181, 0, 2, 2,247, 0, 2, 2,248, 0, 4, 0, 67, 0, 24, 0,159, 0, 7, 2,249,
+ 0, 0, 2,217, 0,124, 0, 10, 0,101, 2,181, 0, 24, 0,159, 0, 0, 2,250, 0, 7, 2,251, 0, 7, 2,252, 0, 7, 2,244,
+ 0, 4, 2,253, 0, 4, 2,254, 0, 7, 2,255, 0, 0, 0, 18, 0,125, 0, 1, 0,101, 2,181, 0,126, 0, 7, 0,101, 2,181,
+ 0, 38, 0,117, 0,127, 3, 0, 0,128, 3, 1, 0,129, 3, 2, 0,130, 3, 3, 0, 12, 3, 4, 0,131, 0, 13, 0,101, 2,181,
+ 0, 77, 3, 5, 0, 77, 3, 6, 0, 77, 3, 7, 0, 77, 3, 8, 0, 77, 3, 9, 0, 77, 3, 10, 0, 74, 3, 11, 0, 4, 3, 12,
+ 0, 4, 3, 13, 0, 7, 3, 14, 0, 7, 3, 15, 0,132, 3, 16, 0,133, 0, 7, 0,101, 2,181, 0, 77, 3, 5, 0, 77, 3, 17,
+ 0,134, 3, 18, 0,135, 3, 16, 0, 4, 3, 19, 0, 4, 3, 12, 0,136, 0, 4, 0,101, 2,181, 0, 24, 0,159, 0, 4, 3, 20,
+ 0, 4, 0, 35, 0,137, 0, 2, 0, 4, 3, 21, 0, 7, 2, 29, 0,138, 0, 2, 0, 4, 0,120, 0, 4, 3, 22, 0,139, 0, 24,
+ 0,101, 2,181, 0, 24, 0,159, 0, 0, 2,217, 0, 2, 3, 23, 0, 2, 0, 17, 0, 2, 1, 72, 0, 2, 0, 35, 0,137, 3, 24,
+ 0, 4, 3, 25, 0, 7, 3, 26, 0, 4, 0, 51, 0, 4, 3, 27, 0,138, 3, 28, 0,137, 3, 29, 0, 4, 3, 30, 0, 4, 3, 31,
+ 0, 4, 3, 32, 0, 4, 3, 22, 0, 7, 3, 33, 0, 7, 3, 34, 0, 7, 3, 35, 0, 7, 3, 36, 0, 7, 3, 37, 0, 9, 3, 38,
+ 0,140, 0, 8, 0,101, 2,181, 0,141, 3, 39, 0,134, 3, 18, 0, 4, 3, 40, 0, 4, 3, 41, 0, 4, 3, 42, 0, 2, 0, 17,
+ 0, 2, 0, 54, 0,142, 0, 8, 0,101, 2,181, 0, 24, 0, 42, 0, 2, 0,252, 0, 2, 0, 17, 0, 2, 2,207, 0, 2, 0, 54,
+ 0, 7, 3, 43, 0, 7, 3, 44, 0,143, 0, 6, 0,101, 2,181, 0, 4, 3, 45, 0, 2, 0, 17, 0, 2, 3, 46, 0, 7, 3, 47,
+ 0, 0, 0,161, 0,144, 0, 8, 0,101, 2,181, 0, 0, 3, 48, 0, 0, 3, 49, 0, 0, 2,171, 0, 0, 3, 50, 0, 0, 3, 51,
+ 0, 0, 0, 88, 0, 0, 2,159, 0,145, 0, 3, 0,101, 2,181, 0,146, 3, 52, 0,130, 3, 3, 0,147, 0, 10, 0,101, 2,181,
+ 0, 24, 3, 53, 0, 24, 3, 54, 0, 0, 3, 55, 0, 7, 3, 56, 0, 2, 3, 57, 0, 2, 3, 58, 0, 0, 3, 59, 0, 0, 3, 60,
+ 0, 0, 2,192, 0,148, 0, 9, 0,101, 2,181, 0, 24, 3, 61, 0, 0, 3, 55, 0, 7, 3, 62, 0, 7, 3, 63, 0, 0, 1, 72,
+ 0, 0, 2,207, 0, 0, 3, 64, 0, 0, 0, 35, 0,149, 0, 1, 0,101, 2,181, 0,150, 0, 11, 0,101, 2,181, 0, 0, 2,217,
+ 0, 7, 0,120, 0, 7, 3, 65, 0, 7, 3, 66, 0, 7, 3, 67, 0, 7, 3, 68, 0, 4, 0, 17, 0, 2, 3, 69, 0, 2, 3, 70,
+ 0, 4, 0, 35, 0,151, 0, 9, 0,101, 2,181, 0, 24, 3, 71, 0, 4, 3, 72, 0, 4, 3, 73, 0, 4, 3, 74, 0, 7, 3, 75,
+ 0, 7, 3, 76, 0, 2, 2,207, 0, 2, 0, 17, 0,152, 0, 16, 0,101, 2,181, 0, 44, 2,182, 0, 24, 2,183, 0, 0, 2,184,
+ 0, 4, 2,185, 0, 4, 2,186, 0, 4, 2,222, 0, 7, 2,223, 0, 24, 3, 77, 0, 24, 3, 78, 0, 51, 1, 85, 0, 0, 2,217,
+ 0, 7, 3, 79, 0, 0, 0, 17, 0, 0, 0,246, 0, 0, 2,159, 0,153, 0, 3, 0,154, 3, 80, 0, 4, 2, 56, 0, 0, 0, 90,
+ 0,154, 0, 29, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 2, 38, 0, 2, 2, 39, 0, 2, 3, 81, 0, 2, 0, 17, 0, 2, 3, 82,
+ 0, 2, 3, 83, 0, 2, 3, 84, 0, 2, 0, 67, 0, 0, 3, 85, 0, 0, 3, 86, 0, 0, 3, 87, 0, 0, 1,229, 0, 4, 0, 35,
+ 0, 7, 3, 88, 0, 7, 3, 89, 0, 7, 3, 90, 0, 7, 3, 91, 0, 7, 3, 92, 0, 7, 3, 93, 0, 26, 3, 94, 0, 28, 0, 77,
+ 0, 30, 2, 63, 0, 79, 2,111, 0, 0, 0, 69, 0, 7, 3, 95, 0, 7, 3, 96, 0,153, 3, 97, 0,155, 0, 3, 0,155, 0, 0,
+ 0,155, 0, 1, 0, 0, 0, 18, 0, 62, 0, 3, 0, 7, 3, 98, 0, 4, 0, 17, 0, 4, 0, 35, 0, 24, 0,129, 0, 19, 0, 29,
+ 0, 31, 0, 72, 0,156, 3, 99, 0, 2, 0, 15, 0, 2, 3,100, 0, 4, 3,101, 0, 4, 3,102, 0, 4, 3,103, 0, 0, 3,104,
+ 0, 24, 0, 36, 0, 24, 3,105, 0, 24, 3,106, 0, 24, 3,107, 0, 24, 3,108, 0, 28, 0, 77, 0, 70, 2, 62, 0, 62, 1,254,
+ 0,157, 3,109, 0,157, 3,110, 0,158, 3,111, 0, 9, 0, 2, 0,159, 3,112, 0,160, 3,113, 0,161, 3,114, 0, 12, 3,115,
+ 0, 12, 3,116, 0, 12, 2, 18, 0, 12, 3,117, 0, 12, 3,118, 0, 4, 1, 72, 0, 4, 3,119, 0, 57, 2, 20, 0, 0, 3,120,
+ 0, 4, 2, 22, 0, 4, 3,121, 0, 7, 1, 67, 0, 7, 3,122, 0, 7, 3,123, 0, 7, 0,167, 0, 7, 3,124, 0, 7, 1, 68,
+ 0, 7, 3,125, 0, 7, 2, 8, 0, 7, 3,126, 0, 7, 3,127, 0, 7, 3,128, 0, 7, 3,129, 0, 7, 3,130, 0, 7, 3,131,
+ 0, 7, 2,251, 0, 7, 3,132, 0, 7, 0,237, 0, 7, 3,133, 0, 4, 3,134, 0, 2, 0, 17, 0, 2, 3,135, 0, 2, 3,136,
+ 0, 2, 3,137, 0, 2, 3,138, 0, 2, 3,139, 0, 2, 3,140, 0, 2, 3,141, 0, 2, 3,142, 0, 2, 3,143, 0, 2, 3,144,
+ 0, 2, 3,145, 0, 4, 3,146, 0, 4, 3,147, 0, 4, 3,148, 0, 4, 3,149, 0, 7, 3,150, 0, 7, 2, 98, 0, 7, 3,151,
+ 0, 7, 3,152, 0, 7, 3,153, 0, 7, 3,154, 0, 7, 3,155, 0, 7, 0,212, 0, 7, 3,156, 0, 7, 3,157, 0, 7, 3,158,
+ 0, 7, 3,159, 0, 2, 3,160, 0, 0, 3,161, 0, 0, 0,106, 0, 0, 3,162, 0, 0, 3,163, 0, 7, 3,164, 0, 7, 3,165,
+ 0, 12, 3,166, 0, 12, 3,167, 0, 12, 3,168, 0, 12, 3,169, 0, 7, 3,170, 0, 2, 2,151, 0, 2, 3,171, 0, 7, 2,133,
+ 0, 4, 3,172, 0, 4, 3,173, 0,162, 3,174, 0, 2, 3,175, 0, 2, 0,244, 0, 7, 3,176, 0, 12, 3,177, 0, 12, 3,178,
+ 0, 12, 3,179, 0, 12, 3,180, 0,163, 1, 64, 0,164, 3,181, 0, 58, 3,182, 0, 2, 3,183, 0, 2, 3,184, 0, 2, 2, 56,
+ 0, 2, 3,185, 0, 7, 2,124, 0, 2, 3,186, 0, 2, 3,187, 0,146, 3,188, 0,134, 3,189, 0,134, 3,190, 0, 4, 3,191,
+ 0, 4, 3,192, 0, 4, 3,193, 0, 4, 3,194, 0, 12, 3,195, 0, 12, 3,196, 0, 12, 3,197, 0, 7, 3,198, 0, 0, 3,199,
+ 0,165, 0, 14, 0,165, 0, 0, 0,165, 0, 1, 0, 24, 0, 36, 0, 7, 2,251, 0, 7, 1, 69, 0, 7, 2,252, 0, 7, 2,244,
+ 0, 0, 0, 18, 0, 4, 2,253, 0, 4, 2,254, 0, 4, 3,200, 0, 2, 0, 15, 0, 2, 3,201, 0, 7, 2,255, 0,166, 0, 12,
+ 0,166, 0, 0, 0,166, 0, 1, 0, 24, 0, 42, 0, 4, 3,202, 0, 4, 2,151, 0, 4, 3,203, 0, 4, 0, 15, 0, 4, 3,204,
+ 0, 7, 1, 69, 0, 7, 3,205, 0, 7, 3,206, 0, 7, 2,149, 0,163, 0, 40, 0, 4, 0, 17, 0, 2, 3,207, 0, 2, 3,208,
+ 0, 2, 2,244, 0, 2, 3,209, 0, 2, 3,210, 0, 2, 3,211, 0, 2, 3,212, 0, 2, 3,213, 0, 7, 3,214, 0, 7, 3,215,
+ 0, 7, 3,216, 0, 7, 3,217, 0, 7, 3,218, 0, 7, 3,219, 0, 7, 3,220, 0, 7, 3,221, 0, 7, 3,222, 0, 7, 3,223,
+ 0, 7, 3,224, 0, 7, 3,225, 0, 7, 3,226, 0, 7, 3,227, 0, 7, 3,228, 0, 7, 3,229, 0, 7, 3,230, 0, 7, 3,231,
+ 0, 7, 3,232, 0, 7, 3,233, 0, 7, 3,234, 0, 7, 3,235, 0, 7, 3,236, 0, 7, 3,237, 0, 7, 3,238, 0, 7, 3,239,
+ 0, 7, 3,240, 0, 44, 0,160, 0,167, 3,241, 0, 7, 3,242, 0, 4, 2,195, 0,168, 0, 5, 0, 58, 1,232, 0, 7, 3,243,
+ 0, 7, 3,244, 0, 2, 0, 17, 0, 2, 3,245, 0,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0, 4, 0, 15, 0, 4, 3,246,
+ 0, 9, 0, 2, 0,170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 3,247, 0, 4, 3,248, 0, 4, 3,249, 0, 4, 0, 17,
+ 0, 9, 3,250, 0, 9, 3,251, 0, 12, 3,252, 0,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0, 4, 0, 17, 0, 4, 3,253,
+ 0, 4, 3,254, 0, 4, 3,255, 0, 4, 4, 0, 0, 4, 4, 1, 0, 4, 4, 2, 0, 4, 3,248, 0, 4, 2,151, 0, 2, 4, 3,
+ 0, 2, 0, 54, 0, 0, 4, 4, 0, 0, 4, 5, 0, 0, 4, 6, 0, 0, 4, 7, 0, 0, 4, 8, 0, 12, 4, 9, 0,171, 4, 10,
+ 0, 9, 4, 11, 0,172, 0, 1, 0, 7, 2, 36, 0,162, 0, 30, 0, 4, 0, 17, 0, 7, 4, 12, 0, 7, 4, 13, 0, 7, 4, 14,
+ 0, 4, 4, 15, 0, 4, 4, 16, 0, 4, 4, 17, 0, 4, 4, 18, 0, 7, 4, 19, 0, 7, 4, 20, 0, 7, 4, 21, 0, 7, 4, 22,
+ 0, 7, 4, 23, 0, 7, 4, 24, 0, 7, 4, 25, 0, 7, 4, 26, 0, 7, 4, 27, 0, 7, 4, 28, 0, 7, 4, 29, 0, 7, 4, 30,
+ 0, 7, 4, 31, 0, 7, 4, 32, 0, 7, 4, 33, 0, 7, 4, 34, 0, 7, 4, 35, 0, 7, 4, 36, 0, 4, 4, 37, 0, 4, 4, 38,
+ 0, 7, 4, 39, 0, 7, 3,156, 0,164, 0, 54, 0, 4, 3,248, 0, 4, 4, 40, 0,173, 4, 41, 0,174, 4, 42, 0, 0, 0, 35,
+ 0, 0, 4, 43, 0, 2, 4, 44, 0, 7, 4, 45, 0, 0, 4, 46, 0, 7, 4, 47, 0, 7, 4, 48, 0, 7, 4, 49, 0, 7, 4, 50,
+ 0, 7, 4, 51, 0, 7, 4, 52, 0, 7, 4, 53, 0, 7, 4, 54, 0, 7, 4, 55, 0, 2, 4, 56, 0, 0, 4, 57, 0, 2, 4, 58,
+ 0, 7, 4, 59, 0, 7, 4, 60, 0, 0, 4, 61, 0, 4, 0,121, 0, 4, 4, 62, 0, 4, 4, 63, 0, 2, 4, 64, 0, 2, 4, 65,
+ 0,172, 4, 66, 0, 4, 4, 67, 0, 4, 0, 79, 0, 7, 4, 68, 0, 7, 4, 69, 0, 7, 4, 70, 0, 7, 4, 71, 0, 2, 4, 72,
+ 0, 2, 4, 73, 0, 2, 4, 74, 0, 2, 4, 75, 0, 2, 4, 76, 0, 2, 4, 77, 0, 2, 4, 78, 0, 2, 4, 79, 0,175, 4, 80,
+ 0, 7, 4, 81, 0, 7, 4, 82, 0,130, 4, 83, 0, 12, 3, 4, 0,168, 4, 84, 0, 7, 4, 85, 0, 7, 4, 86, 0, 7, 4, 87,
+ 0, 0, 4, 88, 0,176, 0, 1, 0, 7, 4, 89, 0,146, 0, 50, 0,145, 4, 90, 0, 2, 0, 15, 0, 2, 4, 91, 0, 2, 4, 92,
+ 0, 2, 4, 93, 0, 7, 4, 94, 0, 2, 4, 95, 0, 2, 4, 96, 0, 7, 4, 97, 0, 2, 4, 98, 0, 2, 4, 99, 0, 7, 4,100,
+ 0, 7, 4,101, 0, 7, 4,102, 0, 4, 4,103, 0, 4, 4,104, 0, 7, 4,105, 0, 4, 4,106, 0, 7, 4,107, 0, 7, 4,108,
+ 0, 7, 4,109, 0, 73, 4,110, 0, 73, 4,111, 0, 0, 4,112, 0, 7, 4,113, 0, 7, 4,114, 0, 28, 0, 77, 0, 2, 4,115,
+ 0, 0, 4,116, 0, 0, 4,117, 0, 7, 4,118, 0, 4, 4,119, 0, 7, 4,120, 0, 7, 4,121, 0, 4, 4,122, 0, 4, 0, 17,
+ 0, 7, 4,123, 0, 7, 4,124, 0, 7, 4,125, 0,176, 4,126, 0, 4, 0, 51, 0, 7, 4,127, 0, 7, 4,128, 0, 7, 4,129,
+ 0, 7, 4,130, 0, 7, 4,131, 0, 7, 4,132, 0, 7, 4,133, 0, 4, 4,134, 0, 4, 0, 35, 0,177, 0, 76, 0, 19, 0, 29,
+ 0, 31, 0, 72, 0, 2, 0,170, 0, 2, 1, 73, 0, 2, 1,107, 0, 2, 4,135, 0, 7, 4,136, 0, 7, 4,137, 0, 7, 4,138,
+ 0, 7, 4,139, 0, 7, 4,140, 0, 7, 4,141, 0, 7, 1,153, 0, 7, 1,155, 0, 7, 1,154, 0, 7, 0, 67, 0, 4, 4,142,
+ 0, 7, 4,143, 0, 7, 4,144, 0, 7, 4,145, 0, 7, 4,146, 0, 7, 4,147, 0, 7, 4,148, 0, 7, 4,149, 0, 2, 4,150,
+ 0, 2, 1, 72, 0, 2, 4,151, 0, 2, 4,152, 0, 2, 4,153, 0, 2, 4,154, 0, 2, 4,155, 0, 2, 4,156, 0, 7, 4,157,
+ 0, 7, 4,158, 0, 7, 4,159, 0, 7, 4,160, 0, 7, 4,161, 0, 7, 4,162, 0, 7, 4,163, 0, 7, 4,164, 0, 7, 4,165,
+ 0, 7, 4,166, 0, 7, 4,167, 0, 7, 4,168, 0, 2, 4,169, 0, 2, 4,170, 0, 2, 4,171, 0, 2, 4,172, 0, 7, 4,173,
+ 0, 7, 4,174, 0, 7, 4,175, 0, 7, 4,176, 0, 2, 4,177, 0, 2, 4,178, 0, 2, 4,179, 0, 2, 4,180, 0, 7, 4,181,
+ 0, 7, 4,182, 0, 7, 4,183, 0, 7, 4,184, 0, 7, 4,185, 0, 7, 4,186, 0, 7, 4,187, 0, 2, 4,188, 0, 2, 4,189,
+ 0, 2, 4,190, 0, 2, 4,191, 0, 2, 4,192, 0, 2, 0, 17, 0, 7, 4,193, 0, 7, 4,194, 0, 28, 0, 77, 0, 43, 1,125,
+ 0, 2, 1,126, 0, 2, 4,195, 0, 22, 0,146, 0,178, 0, 8, 0,178, 0, 0, 0,178, 0, 1, 0, 4, 3,134, 0, 4, 4,196,
+ 0, 4, 0, 17, 0, 2, 4,197, 0, 2, 4,198, 0, 24, 0,159, 0,179, 0, 13, 0, 9, 4,199, 0, 9, 4,200, 0, 4, 4,201,
+ 0, 4, 4,202, 0, 4, 4,203, 0, 4, 4,204, 0, 4, 4,205, 0, 4, 4,206, 0, 4, 4,207, 0, 4, 4,208, 0, 4, 4,209,
+ 0, 4, 0, 35, 0, 0, 4,210, 0,180, 0, 5, 0, 9, 4,211, 0, 9, 4,212, 0, 4, 4,213, 0, 4, 0, 67, 0, 0, 4,214,
+ 0,181, 0, 17, 0, 4, 4,215, 0, 4, 4,216, 0, 4, 4,217, 0, 4, 4,218, 0, 4, 4,219, 0, 4, 4,220, 0, 4, 4,221,
+ 0, 4, 4,222, 0, 4, 4,223, 0, 4, 4,224, 0, 4, 4,225, 0, 4, 4,226, 0, 2, 4,227, 0, 2, 4,228, 0, 4, 4,229,
+ 0, 4, 4,230, 0, 4, 0, 87, 0,182, 0, 15, 0, 4, 0, 15, 0, 4, 4,217, 0, 4, 4,231, 0, 4, 4,232, 0, 4, 4,233,
+ 0, 4, 4,234, 0, 7, 4,235, 0, 4, 4,236, 0, 4, 0, 88, 0, 4, 4,237, 0, 4, 4,238, 0, 4, 4,239, 0, 4, 4,240,
+ 0, 4, 4,241, 0, 18, 0, 28, 0,183, 0, 7, 0, 4, 4,242, 0, 7, 4,243, 0, 7, 4,244, 0, 7, 4,245, 0, 4, 4,246,
+ 0, 2, 0, 17, 0, 2, 0, 35, 0,184, 0, 11, 0,184, 0, 0, 0,184, 0, 1, 0, 0, 0, 18, 0, 57, 4,247, 0, 58, 4,248,
+ 0, 4, 3,134, 0, 4, 4,249, 0, 4, 4,250, 0, 4, 0, 35, 0, 4, 4,251, 0, 4, 4,252, 0,185, 0,105, 0,179, 4,253,
+ 0,180, 4,254, 0,181, 4,255, 0,182, 5, 0, 0, 4, 3, 19, 0, 4, 0,121, 0, 4, 4, 62, 0, 7, 5, 1, 0, 4, 5, 2,
+ 0, 4, 5, 3, 0, 4, 5, 4, 0, 4, 5, 5, 0, 2, 0, 17, 0, 2, 5, 6, 0, 7, 5, 7, 0, 7, 5, 8, 0, 7, 5, 9,
+ 0, 7, 5, 10, 0, 7, 5, 11, 0, 2, 5, 12, 0, 2, 5, 13, 0, 2, 5, 14, 0, 2, 5, 15, 0, 2, 0,243, 0, 2, 5, 16,
+ 0, 4, 5, 17, 0, 2, 5, 18, 0, 2, 5, 19, 0, 2, 1, 94, 0, 2, 0,104, 0, 2, 5, 20, 0, 2, 5, 21, 0, 2, 5, 22,
+ 0, 2, 5, 23, 0, 2, 5, 24, 0, 2, 5, 25, 0, 2, 5, 26, 0, 2, 5, 27, 0, 2, 5, 28, 0, 2, 5, 29, 0, 4, 5, 30,
+ 0, 4, 1, 72, 0, 4, 5, 31, 0, 2, 5, 32, 0, 2, 5, 33, 0, 2, 5, 34, 0, 2, 5, 35, 0, 2, 5, 36, 0, 2, 5, 37,
+ 0, 2, 5, 38, 0, 2, 5, 39, 0, 16, 5, 40, 0, 16, 5, 41, 0, 15, 5, 42, 0, 12, 5, 43, 0, 2, 5, 44, 0, 2, 5, 45,
+ 0, 7, 5, 46, 0, 7, 5, 47, 0, 7, 5, 48, 0, 7, 5, 49, 0, 4, 5, 50, 0, 7, 5, 51, 0, 7, 5, 52, 0, 7, 5, 53,
+ 0, 7, 5, 54, 0, 2, 5, 55, 0, 2, 5, 56, 0, 2, 5, 57, 0, 2, 5, 58, 0, 2, 5, 59, 0, 2, 5, 60, 0, 7, 5, 61,
+ 0, 7, 5, 62, 0, 7, 5, 63, 0, 0, 5, 64, 0, 4, 5, 65, 0, 2, 5, 66, 0, 2, 1,229, 0, 0, 5, 67, 0, 7, 5, 68,
+ 0, 7, 5, 69, 0, 0, 5, 70, 0, 0, 5, 71, 0, 0, 5, 72, 0, 0, 5, 73, 0, 4, 5, 74, 0, 2, 5, 75, 0, 2, 5, 76,
+ 0, 7, 5, 77, 0, 7, 5, 78, 0, 2, 5, 79, 0, 2, 5, 80, 0, 7, 5, 81, 0, 2, 5, 82, 0, 2, 5, 83, 0, 4, 5, 84,
+ 0, 2, 5, 85, 0, 2, 5, 86, 0, 2, 5, 87, 0, 2, 5, 88, 0, 7, 5, 89, 0, 7, 0, 67, 0, 34, 5, 90, 0, 0, 5, 91,
+ 0,186, 0, 9, 0,186, 0, 0, 0,186, 0, 1, 0, 0, 0, 18, 0, 2, 5, 92, 0, 2, 5, 93, 0, 2, 5, 94, 0, 2, 0, 87,
+ 0, 7, 5, 95, 0, 7, 0, 67, 0,187, 0, 7, 0, 2, 2,212, 0, 2, 1, 72, 0, 2, 3, 76, 0, 2, 5, 96, 0, 7, 5, 97,
+ 0, 7, 0, 67, 0, 34, 5, 98, 0,188, 0, 5, 0, 7, 5, 99, 0, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 67, 0, 0, 1,229,
+ 0,189, 0, 28, 0, 7, 4,148, 0, 7, 4,149, 0, 2, 1, 72, 0, 2, 0, 17, 0, 2, 5,100, 0, 2, 4,195, 0, 2, 4,151,
+ 0, 2, 4,152, 0, 2, 4,153, 0, 2, 4,154, 0, 2, 4,155, 0, 2, 4,156, 0,188, 5,101, 0, 2, 5, 12, 0, 2, 5, 13,
+ 0, 2, 5, 14, 0, 2, 5, 15, 0, 2, 0,243, 0, 2, 5, 16, 0, 2, 5,102, 0, 2, 5,103, 0,187, 5,104, 0, 2, 5,105,
+ 0, 2, 5, 18, 0, 2, 5, 21, 0, 2, 5, 22, 0, 7, 5,106, 0, 7, 0, 87, 0,190, 0, 6, 0,190, 0, 0, 0,190, 0, 1,
+ 0, 4, 3,247, 0, 0, 4, 4, 0, 4, 0, 17, 0, 24, 5,107, 0,191, 0, 4, 0,192, 5,108, 0, 9, 5,109, 0, 0, 5,110,
+ 0, 4, 0, 88, 0,193, 0, 8, 0,191, 5,111, 0, 2, 0, 17, 0, 2, 0, 35, 0, 2, 5,112, 0, 2, 5,113, 0, 2, 5,114,
+ 0, 4, 0, 87, 0, 9, 5,115, 0,194, 0, 6, 0, 2, 0,104, 0, 2, 3,253, 0, 2, 5,116, 0, 2, 2,206, 0, 4, 0, 17,
+ 0, 7, 2,223, 0,195, 0, 14, 0, 2, 0, 17, 0, 2, 5,117, 0, 2, 5,118, 0, 2, 5,119, 0,194, 5,120, 0, 9, 5,115,
+ 0, 7, 5,121, 0, 7, 0, 54, 0, 4, 5,122, 0, 4, 5,123, 0, 4, 5,124, 0, 4, 5,125, 0, 38, 0,117, 0, 24, 0,159,
+ 0,196, 0, 4, 0,196, 0, 0, 0,196, 0, 1, 0, 0, 5,126, 0, 7, 5,127, 0,197, 0, 14, 0,191, 5,111, 0, 4, 0, 88,
+ 0, 4, 5,128, 0, 7, 5,129, 0, 7, 5,130, 0, 7, 5,131, 0, 4, 5,132, 0, 4, 5,133, 0, 7, 5,134, 0, 7, 5,135,
+ 0, 4, 5,136, 0, 7, 5,137, 0, 7, 5,138, 0, 4, 0, 35, 0,198, 0, 7, 0,191, 5,111, 0, 2, 0, 17, 0, 2, 0, 35,
+ 0, 4, 0, 34, 0, 4, 5,139, 0, 79, 5,140, 0, 9, 5,115, 0,199, 0, 82, 0,198, 5,141, 0,198, 5,142, 0,197, 3, 99,
+ 0, 7, 5,143, 0, 2, 5,144, 0, 2, 5,145, 0, 7, 5,146, 0, 7, 5,147, 0, 2, 3,253, 0, 2, 5,148, 0, 7, 5,149,
+ 0, 7, 5,150, 0, 7, 5,151, 0, 2, 5,152, 0, 2, 5,122, 0, 2, 5,153, 0, 2, 5,154, 0, 2, 5,155, 0, 2, 5,156,
+ 0, 7, 5,157, 0, 7, 5,158, 0, 7, 5,159, 0, 2, 5,160, 0, 2, 5,161, 0, 2, 5,162, 0, 2, 5,163, 0, 2, 5,164,
+ 0, 2, 5,165, 0, 2, 5,166, 0, 2, 5,167, 0,193, 5,168, 0,195, 5,169, 0, 7, 5,170, 0, 7, 5,171, 0, 7, 5,172,
+ 0, 2, 5,173, 0, 2, 5,174, 0, 0, 5,175, 0, 0, 5,176, 0, 0, 5,177, 0, 0, 5,178, 0, 0, 5,179, 0, 0, 5,180,
+ 0, 2, 5,181, 0, 7, 5,182, 0, 7, 5,183, 0, 7, 5,184, 0, 7, 5,185, 0, 7, 5,186, 0, 7, 5,187, 0, 7, 5,188,
+ 0, 7, 5,189, 0, 7, 5,190, 0, 7, 5,191, 0, 2, 5,192, 0, 0, 5,193, 0, 0, 5,194, 0, 0, 5,195, 0, 0, 5,196,
+ 0, 24, 5,197, 0, 0, 5,198, 0, 0, 5,199, 0, 0, 5,200, 0, 0, 5,201, 0, 0, 5,202, 0, 0, 5,203, 0, 0, 5,204,
+ 0, 0, 5,205, 0, 0, 5,206, 0, 0, 5,207, 0, 2, 5,208, 0, 2, 5,209, 0, 2, 5,210, 0, 2, 5,211, 0, 0, 5,212,
+ 0, 0, 4,195, 0, 4, 5,213, 0, 2, 5,214, 0, 2, 0, 87, 0, 4, 5,215, 0, 7, 5,216, 0, 7, 5,217, 0,200, 0, 8,
+ 0, 4, 5,218, 0, 4, 5,219, 0, 4, 5,220, 0, 4, 5,221, 0, 4, 5,222, 0, 4, 5,223, 0, 4, 0, 51, 0, 4, 2,121,
+ 0,201, 0, 4, 0, 7, 5,224, 0, 0, 5,225, 0, 0, 5,226, 0, 2, 0, 17, 0,202, 0, 4, 0, 7, 5,227, 0, 4, 0, 17,
+ 0, 4, 5,228, 0, 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0, 24, 5,107, 0,177, 5,229, 0, 38, 5,230,
+ 0, 12, 5,231, 0,178, 5,232, 0, 24, 5,233, 0, 7, 5,234, 0, 7, 5,235, 0, 7, 5,236, 0, 7, 5,237, 0, 4, 3,134,
+ 0, 4, 5,238, 0, 4, 5,239, 0, 4, 3,192, 0, 4, 5,240, 0, 2, 0, 17, 0, 2, 1, 66, 0, 53, 1, 61, 0,203, 5,241,
+ 0,199, 5,242, 0,204, 5,243, 0,185, 0,177, 0,183, 5,244, 0, 12, 0, 98, 0, 12, 5,245, 0, 9, 5,246, 0, 9, 5,247,
+ 0, 9, 5,248, 0, 9, 5,249, 0,205, 5,250, 0, 2, 5,251, 0, 2, 5,252, 0, 2, 0,244, 0, 2, 5,253, 0, 4, 5,254,
+ 0, 4, 5,255, 0, 12, 6, 0, 0,188, 5,101, 0,189, 6, 1, 0,201, 6, 2, 0,159, 3,112, 0,202, 6, 3, 0,206, 0, 11,
+ 0,206, 0, 0, 0,206, 0, 1, 0, 39, 0,235, 0, 37, 1, 60, 0, 7, 2, 86, 0, 7, 2, 87, 0, 7, 0,104, 0, 7, 6, 4,
+ 0, 2, 6, 5, 0, 2, 0, 17, 0, 7, 0, 67, 0,207, 0, 38, 0, 7, 6, 6, 0, 7, 6, 7, 0, 7, 6, 8, 0, 7, 6, 9,
+ 0, 7, 6, 10, 0, 7, 6, 11, 0, 7, 6, 12, 0, 7, 6, 13, 0, 7, 6, 14, 0, 7, 1, 79, 0, 7, 6, 15, 0, 7, 6, 16,
+ 0, 7, 6, 17, 0, 7, 6, 18, 0, 7, 0,166, 0, 2, 6, 19, 0, 2, 6, 20, 0, 0, 6, 21, 0, 0, 4,195, 0, 2, 6, 22,
+ 0, 2, 6, 23, 0, 2, 6, 24, 0, 2, 6, 5, 0, 7, 6, 25, 0, 7, 6, 26, 0, 62, 6, 27, 0,159, 3,112, 0,207, 6, 28,
+ 0,208, 6, 29, 0,209, 6, 30, 0,210, 6, 31, 0,211, 6, 32, 0, 7, 6, 33, 0, 2, 6, 34, 0, 2, 6, 35, 0, 7, 6, 36,
+ 0, 7, 6, 37, 0, 7, 6, 38, 0,212, 0, 50, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41,
+ 0, 2, 6, 42, 0, 7, 6, 14, 0, 7, 1, 79, 0, 7, 0, 87, 0, 4, 6, 43, 0, 2, 6, 24, 0, 2, 6, 5, 0, 24, 5,107,
+ 0, 24, 6, 44, 0, 12, 6, 45, 0,206, 6, 46, 0,212, 6, 28, 0, 0, 6, 47, 0, 4, 3,134, 0, 4, 5,238, 0, 2, 6, 48,
+ 0, 2, 6, 49, 0, 2, 6, 50, 0, 2, 6, 51, 0, 2, 0, 17, 0, 2, 2, 21, 0, 7, 0,110, 0, 7, 6, 52, 0, 7, 6, 53,
+ 0, 7, 6, 54, 0, 7, 0,166, 0, 7, 5,234, 0, 2, 6, 55, 0, 2, 6, 56, 0, 2, 6, 57, 0, 0, 6, 58, 0, 0, 6, 59,
+ 0, 0, 6, 60, 0, 0, 6, 61, 0, 0, 6, 62, 0, 12, 6, 63, 0, 12, 6, 64, 0, 12, 6, 65, 0, 2, 6, 66, 0, 2, 2,134,
+ 0, 2, 6, 67, 0, 0, 6, 68, 0, 0, 6, 69, 0, 9, 6, 70, 0,159, 3,112, 0,214, 0, 24, 0, 16, 0, 34, 0, 16, 0, 61,
+ 0, 15, 6, 71, 0, 15, 6, 72, 0, 15, 6, 73, 0, 7, 6, 74, 0, 7, 6, 75, 0, 7, 6, 76, 0, 7, 6, 77, 0, 2, 6, 78,
+ 0, 2, 6, 79, 0, 2, 6, 80, 0, 2, 6, 81, 0, 2, 6, 82, 0, 2, 0, 17, 0, 2, 6, 83, 0, 2, 6, 84, 0, 2, 6, 85,
+ 0, 2, 6, 86, 0, 2, 6, 87, 0, 2, 6, 51, 0, 7, 6, 88, 0, 4, 6, 89, 0, 4, 6, 90, 0,213, 0, 6, 0,213, 0, 0,
+ 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0,215, 0, 8, 0,213, 0, 0, 0,213, 0, 1,
+ 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0, 0, 6, 91, 0, 0, 0,176, 0,216, 0, 14, 0,213, 0, 0,
+ 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0,214, 6, 92, 0,217, 6, 93, 0, 12, 6, 94,
+ 0, 2, 1, 72, 0, 2, 6, 95, 0, 4, 0, 17, 0, 7, 6, 96, 0, 4, 6, 51, 0,218, 0, 21, 0,213, 0, 0, 0,213, 0, 1,
+ 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0,208, 6, 29, 0,214, 6, 92, 0, 2, 6, 97, 0, 2, 6, 98,
+ 0, 2, 6, 99, 0, 2, 6,100, 0, 2, 6, 83, 0, 2, 6,101, 0, 2, 6,102, 0, 0, 0, 17, 0, 0, 0, 35, 0, 9, 2, 62,
+ 0, 4, 6,103, 0, 4, 6,104, 0, 19, 6,105, 0,219, 0, 18, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40,
+ 0, 7, 6, 41, 0, 2, 6, 42, 0,214, 6, 92, 0, 7, 2, 86, 0, 7, 2, 87, 0, 2, 6, 97, 0, 2, 6,106, 0, 2, 6,107,
+ 0, 2, 6,108, 0, 4, 0, 17, 0, 7, 6,109, 0, 4, 6, 5, 0, 4, 0, 35, 0,159, 3,112, 0,220, 0, 16, 0, 0, 6,110,
+ 0, 0, 6,111, 0, 0, 6,112, 0, 0, 6,113, 0, 0, 6,114, 0, 0, 6,115, 0, 4, 6,116, 0, 4, 6,117, 0, 4, 6,118,
+ 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 6,119, 0, 2, 6,120, 0, 2, 1,172, 0, 2, 6,121, 0, 0, 6,122, 0,221, 0, 16,
+ 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 4, 6,123, 0,220, 6,124, 0,222, 6,125, 0, 12, 6,126,
+ 0, 12, 6,127, 0,223, 6,128, 0,211, 6,129, 0,224, 6,130, 0, 2, 6,131, 0, 2, 6,132, 0, 2, 6,133, 0, 2, 0, 67,
+ 0,225, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0,214, 6, 92,
+ 0, 12, 6,134, 0,226, 6,135, 0, 0, 6,136, 0,227, 6,137, 0, 2, 0, 17, 0, 2, 6,138, 0, 2, 6,139, 0, 2, 6,140,
+ 0,228, 0, 25, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 4, 0, 17, 0, 39, 2,227, 0, 37, 1, 60,
+ 0, 51, 6,141, 0,229, 6,142, 0,230, 6,143, 0,159, 3,112, 0, 7, 6,144, 0, 7, 2, 86, 0, 7, 2, 87, 0, 7, 6,109,
+ 0, 7, 6,145, 0, 7, 6,146, 0, 2, 6,147, 0, 2, 6,148, 0, 2, 6,149, 0, 2, 6,150, 0, 0, 6,151, 0, 0, 6,152,
+ 0, 0, 6,153, 0, 0, 6, 51, 0,231, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41,
+ 0, 2, 6, 42, 0, 2, 6, 95, 0, 2, 0, 17, 0, 4, 0, 35, 0,217, 6, 93, 0,214, 6, 92, 0,232, 0, 31, 0,213, 0, 0,
+ 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0, 34, 6,154, 0, 4, 6,155, 0, 4, 6,156,
+ 0, 2, 0, 88, 0, 2, 6,157, 0, 2, 6,158, 0, 0, 6,159, 0, 0, 6,160, 0, 4, 6,161, 0, 4, 6,162, 0, 4, 6,163,
+ 0, 2, 6,164, 0, 2, 6,165, 0, 2, 6,166, 0, 2, 6,167, 0, 7, 6,168, 0, 15, 6,169, 0, 15, 6,170, 0, 4, 6,171,
+ 0, 4, 6,172, 0, 0, 6,173, 0, 0, 6,174, 0, 2, 6,175, 0, 0, 2,192, 0, 9, 6,176, 0,233, 0, 10, 0, 19, 0, 29,
+ 0, 9, 6,177, 0, 9, 6,178, 0, 9, 6,179, 0, 9, 6,180, 0, 9, 6,181, 0, 4, 0, 88, 0, 4, 6,182, 0, 0, 6,183,
+ 0, 0, 6,184, 0,234, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0,233, 6,185,
+ 0, 2, 0, 88, 0, 2, 6,157, 0, 4, 0, 87, 0, 9, 6,186, 0,235, 0, 3, 0,235, 0, 0, 0,235, 0, 1, 0, 7, 6,187,
+ 0,236, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0,214, 6, 92, 0, 12, 6,188,
+ 0, 4, 6,189, 0, 4, 0, 35, 0, 4, 0, 17, 0, 4, 6,190, 0,237, 0, 26, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39,
+ 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0,214, 6, 92, 0, 19, 6,191, 0, 19, 0, 78, 0, 2, 0, 17, 0, 2, 6,157,
+ 0, 7, 6,192, 0, 9, 6,193, 0, 7, 2, 86, 0, 7, 2, 87, 0, 7, 6,109, 0, 7, 6, 38, 0, 7, 6,194, 0, 7, 6,195,
+ 0, 53, 1, 61, 0, 53, 6,196, 0, 4, 6,197, 0, 2, 6,198, 0, 2, 0,244, 0, 12, 6,199, 0,159, 3,112, 0,238, 0, 10,
+ 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0, 2, 0, 17, 0, 2, 3,143,
+ 0, 4, 0, 35, 0,159, 3,112, 0,239, 0, 42, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41,
+ 0, 2, 6, 42, 0,214, 6, 92, 0,222, 6,125, 0, 0, 6,200, 0, 0, 6,111, 0, 0, 6,112, 0, 2, 0, 15, 0, 2, 6,201,
+ 0, 2, 0, 17, 0, 2, 6,119, 0, 9, 6,193, 0, 4, 6,116, 0, 4, 6,202, 0, 4, 6,203, 0, 4, 6,204, 0, 15, 6,205,
+ 0, 15, 6,206, 0, 7, 6,207, 0, 7, 6,208, 0, 7, 6,209, 0, 7, 6,192, 0, 2, 6,210, 0, 2, 0,234, 0, 2, 1,172,
+ 0, 2, 6,211, 0, 2, 0, 35, 0, 2, 0, 87, 0, 2, 6,212, 0, 2, 6,213, 0, 9, 6,214, 0, 9, 6,215, 0, 9, 6,216,
+ 0, 9, 6,217, 0, 9, 6,218, 0, 2, 6,219, 0, 0, 6,220, 0, 49, 6,221, 0,240, 0, 7, 0,240, 0, 0, 0,240, 0, 1,
+ 0, 4, 6,222, 0, 4, 0, 21, 0, 0, 0, 81, 0, 4, 6,223, 0, 4, 0, 15, 0,241, 0, 14, 0,213, 0, 0, 0,213, 0, 1,
+ 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0, 4, 6,158, 0, 4, 0, 35, 0, 12, 6,224, 0, 12, 6,225,
+ 0, 0, 6,226, 0, 0, 6,227, 0, 4, 6,228, 0, 4, 6,229, 0,242, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39,
+ 0, 4, 6, 40, 0, 4, 0, 35, 0, 0, 6,230, 0,243, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40,
+ 0, 7, 6, 41, 0,244, 6,231, 0,214, 6, 92, 0,245, 6,232, 0, 2, 1, 72, 0, 2, 6,233, 0, 2, 2, 86, 0, 2, 2, 87,
+ 0, 2, 0, 17, 0, 2, 6,149, 0, 4, 0, 67, 0,246, 0, 7, 0,246, 0, 0, 0,246, 0, 1, 0, 0, 6,234, 0, 2, 6,235,
+ 0, 2, 6,236, 0, 2, 6,237, 0, 2, 0, 35, 0,247, 0, 12, 0, 2, 6,236, 0, 2, 6,238, 0, 2, 6,239, 0, 0, 2,192,
+ 0, 2, 6,240, 0, 2, 6,241, 0, 2, 6,242, 0, 2, 6,243, 0, 2, 6,244, 0, 2, 6, 83, 0, 7, 6,245, 0, 7, 6,246,
+ 0,248, 0, 18, 0,248, 0, 0, 0,248, 0, 1, 0, 0, 4, 4, 0,247, 6,247, 0,247, 6,248, 0,247, 6,249, 0,247, 6,250,
+ 0, 7, 6,251, 0, 2, 6,252, 0, 2, 6,253, 0, 2, 6,254, 0, 2, 6,255, 0, 2, 7, 0, 0, 2, 7, 1, 0, 2, 7, 2,
+ 0, 2, 7, 3, 0, 2, 7, 4, 0, 2, 7, 5, 0,249, 0, 10, 0, 0, 7, 6, 0, 0, 7, 7, 0, 0, 7, 8, 0, 0, 7, 9,
+ 0, 0, 7, 10, 0, 0, 7, 11, 0, 2, 7, 12, 0, 2, 7, 13, 0, 2, 7, 14, 0, 2, 7, 15, 0,250, 0, 8, 0, 0, 7, 16,
+ 0, 0, 7, 17, 0, 0, 7, 18, 0, 0, 7, 19, 0, 0, 7, 20, 0, 0, 7, 21, 0, 7, 6, 4, 0, 7, 0, 35, 0,251, 0, 18,
+ 0,249, 7, 22, 0,249, 7, 23, 0,249, 7, 24, 0,249, 7, 25, 0,249, 7, 26, 0,249, 7, 27, 0,249, 7, 28, 0,249, 7, 29,
+ 0,249, 7, 30, 0,249, 7, 31, 0,249, 7, 32, 0,249, 7, 33, 0,249, 7, 34, 0,249, 7, 35, 0,249, 7, 36, 0,249, 7, 37,
+ 0,250, 7, 38, 0, 0, 7, 39, 0,252, 0, 97, 0, 0, 7, 40, 0, 0, 7, 41, 0, 0, 7, 10, 0, 0, 7, 42, 0, 0, 7, 43,
+ 0, 0, 7, 44, 0, 0, 7, 45, 0, 0, 7, 46, 0, 0, 7, 47, 0, 0, 7, 48, 0, 0, 7, 49, 0, 0, 7, 50, 0, 0, 7, 51,
+ 0, 0, 7, 52, 0, 0, 7, 53, 0, 0, 7, 54, 0, 0, 7, 55, 0, 0, 7, 56, 0, 0, 7, 57, 0, 0, 7, 58, 0, 0, 7, 59,
+ 0, 0, 7, 60, 0, 0, 7, 61, 0, 0, 7, 62, 0, 0, 7, 63, 0, 0, 7, 64, 0, 0, 7, 65, 0, 0, 7, 66, 0, 0, 7, 67,
+ 0, 0, 7, 68, 0, 0, 7, 69, 0, 0, 7, 70, 0, 0, 7, 71, 0, 0, 7, 72, 0, 0, 7, 73, 0, 0, 7, 74, 0, 0, 7, 75,
+ 0, 0, 7, 76, 0, 0, 7, 77, 0, 0, 7, 78, 0, 0, 7, 79, 0, 0, 7, 80, 0, 0, 7, 81, 0, 0, 7, 82, 0, 0, 7, 83,
+ 0, 0, 7, 84, 0, 0, 7, 85, 0, 0, 7, 86, 0, 0, 7, 87, 0, 0, 7, 88, 0, 0, 7, 89, 0, 0, 7, 90, 0, 0, 7, 91,
+ 0, 0, 7, 92, 0, 0, 7, 93, 0, 0, 7, 94, 0, 0, 7, 95, 0, 0, 7, 96, 0, 0, 7, 97, 0, 0, 7, 98, 0, 0, 7, 99,
+ 0, 0, 7,100, 0, 0, 7,101, 0, 0, 7,102, 0, 0, 7,103, 0, 0, 7,104, 0, 0, 7,105, 0, 0, 7,106, 0, 0, 7,107,
+ 0, 0, 7,108, 0, 0, 7,109, 0, 0, 7,110, 0, 0, 7,111, 0, 0, 7,112, 0, 0, 7,113, 0, 0, 7,114, 0, 0, 7,115,
+ 0, 0, 7,116, 0, 0, 7,117, 0, 0, 7,118, 0, 0, 7,119, 0, 0, 7,120, 0, 0, 7,121, 0, 0, 7,122, 0, 0, 7,123,
+ 0, 0, 7,124, 0, 0, 7,125, 0, 0, 7,126, 0, 0, 7,127, 0, 0, 7,128, 0, 0, 7,129, 0, 0, 7,130, 0, 0, 7,131,
+ 0, 0, 7,132, 0, 0, 7,133, 0, 0, 7,134, 0, 0, 7,135, 0,253, 0, 5, 0, 0, 7,136, 0, 0, 7, 64, 0, 0, 7, 66,
+ 0, 2, 0, 17, 0, 2, 0, 35, 0,254, 0, 25, 0,254, 0, 0, 0,254, 0, 1, 0, 0, 0, 18, 0,251, 7,137, 0,252, 7,138,
+ 0,252, 7,139, 0,252, 7,140, 0,252, 7,141, 0,252, 7,142, 0,252, 7,143, 0,252, 7,144, 0,252, 7,145, 0,252, 7,146,
+ 0,252, 7,147, 0,252, 7,148, 0,252, 7,149, 0,252, 7,150, 0,252, 7,151, 0,252, 7,152, 0,252, 7,153, 0,252, 7,154,
+ 0,252, 7,155, 0,253, 7,156, 0, 4, 7,157, 0, 4, 0, 35, 0,255, 0, 3, 0,255, 0, 0, 0,255, 0, 1, 0, 0, 7,158,
+ 1, 0, 0, 5, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 2,133, 0, 7, 7,159, 0, 7, 2, 36, 1, 1, 0, 89, 0, 4, 0, 17,
+ 0, 4, 7,160, 0, 4, 7,161, 0, 0, 7,162, 0, 0, 7,163, 0, 0, 7,164, 0, 0, 7,165, 0, 0, 7,166, 0, 0, 7,167,
+ 0, 0, 7,168, 0, 0, 7,169, 0, 0, 7,170, 0, 0, 7,171, 0, 4, 7,172, 0, 2, 7,173, 0, 2, 7,174, 0, 2, 7,175,
+ 0, 2, 7,176, 0, 4, 7,177, 0, 4, 7,178, 0, 4, 7,179, 0, 4, 7,180, 0, 2, 7,181, 0, 2, 7,182, 0, 4, 7,183,
+ 0, 4, 7,184, 0, 4, 7,185, 0, 4, 7,186, 0, 4, 7,187, 0, 4, 6,224, 0, 4, 7,188, 0, 2, 7,189, 0, 2, 7,190,
+ 0, 2, 7,191, 0, 2, 7,192, 0, 12, 7,193, 0, 12, 7,194, 0, 12, 7,195, 0, 12, 7,196, 0, 12, 7,197, 0, 0, 7,198,
+ 0, 2, 7,199, 0, 2, 7,200, 0, 2, 7,201, 0, 2, 7,202, 0, 2, 7,203, 0, 2, 7,204, 0, 2, 7,205, 0, 2, 7,206,
+ 1, 0, 7,207, 0, 2, 7,208, 0, 2, 7,209, 0, 2, 7,210, 0, 2, 7,211, 0, 2, 7,212, 0, 2, 7,213, 0, 2, 7,214,
+ 0, 2, 7,215, 0, 4, 7,216, 0, 4, 7,217, 0, 2, 7,218, 0, 2, 7,219, 0, 2, 7,220, 0, 2, 7,221, 0, 2, 7,222,
+ 0, 2, 7,223, 0, 2, 7,224, 0, 2, 7,225, 0, 2, 7,226, 0, 2, 7,227, 0, 2, 7,228, 0, 2, 7,229, 0, 2, 7,230,
+ 0, 2, 7,231, 0, 2, 7,232, 0, 2, 7,233, 0, 2, 7,234, 0, 2, 7,235, 0, 0, 7,236, 0, 0, 7,237, 0, 7, 7,238,
+ 0, 2, 5,173, 0, 2, 5,174, 0, 2, 7,239, 0, 2, 7,240, 0, 47, 7,241, 0, 7, 7,242, 0, 4, 1,229, 0, 0, 7,243,
+ 1, 2, 0, 24, 0, 19, 0, 29, 0, 12, 7,244, 0, 12, 7,245, 0, 12, 7,246, 0, 12, 6, 39, 0, 38, 0,117, 0, 38, 7,247,
+ 0, 4, 7,248, 0, 4, 0, 87, 0, 2, 7,249, 0, 2, 7,250, 0, 2, 7,251, 0, 2, 7,252, 0, 2, 7,253, 0, 2, 7,254,
+ 0, 2, 7,255, 0, 2, 8, 0, 0, 2, 8, 1, 0, 2, 8, 2, 0, 2, 8, 3, 0, 2, 0, 35, 0,211, 8, 4, 0, 9, 8, 5,
+ 0, 2, 8, 6, 1, 3, 0, 5, 1, 3, 0, 0, 1, 3, 0, 1, 1, 3, 8, 7, 0, 13, 8, 8, 0, 4, 0, 17, 1, 4, 0, 7,
+ 1, 4, 0, 0, 1, 4, 0, 1, 1, 3, 8, 9, 1, 3, 8, 10, 0, 2, 5, 41, 0, 2, 0, 17, 0, 4, 0, 35, 1, 5, 0, 25,
+ 1, 5, 0, 0, 1, 5, 0, 1, 1, 6, 8, 11, 1, 7, 6,130, 0, 0, 8, 12, 0, 0, 8, 13, 0, 0, 8, 14, 0, 2, 8, 15,
+ 0, 2, 8, 16, 0, 2, 8, 17, 0, 2, 8, 18, 0, 2, 8, 19, 0, 2, 0, 35, 0, 2, 0, 17, 0, 2, 8, 20, 0, 2, 8, 21,
+ 0, 2, 8, 22, 0, 4, 8, 23, 1, 5, 8, 24, 0, 9, 8, 25, 0, 4, 8, 26, 0, 4, 8, 27, 0, 4, 8, 28, 0, 4, 8, 29,
+ 0, 0, 8, 30, 0,244, 0, 22, 0,244, 0, 0, 0,244, 0, 1, 1, 3, 8, 9, 1, 3, 8, 10, 1, 3, 8, 31, 1, 3, 8, 32,
+ 1, 2, 8, 33, 0, 15, 0, 49, 0, 0, 6, 40, 0, 0, 8, 34, 0, 2, 6, 84, 0, 2, 6, 85, 0, 2, 8, 35, 0, 2, 0, 35,
+ 0, 2, 7,253, 0, 2, 6,223, 0, 2, 0, 17, 1, 8, 8, 11, 0, 12, 8, 36, 0, 12, 6, 39, 0, 12, 8, 37, 0, 12, 8, 38,
+ 1, 9, 0, 24, 1, 9, 0, 0, 1, 9, 0, 1, 0,214, 6, 92, 0, 15, 8, 39, 0, 15, 8, 40, 0, 2, 6, 84, 0, 2, 6, 85,
+ 0, 2, 8, 41, 0, 2, 8, 42, 0, 2, 8, 43, 0, 2, 0, 17, 0, 7, 2, 82, 0, 2, 8, 17, 0, 2, 8, 18, 0, 2, 7,252,
+ 0, 2, 8, 44, 0, 2, 8, 1, 0, 2, 4,195, 1, 10, 8, 11, 0, 12, 8, 45, 0, 12, 8, 46, 0, 12, 8, 37, 0, 0, 8, 47,
+ 0, 9, 8, 48, 1, 11, 0, 14, 0, 0, 8, 49, 0, 2, 8, 50, 0, 2, 8, 51, 0, 2, 8, 52, 0, 2, 8, 53, 0, 2, 5, 29,
+ 0, 2, 8, 54, 1, 2, 8, 55, 0, 38, 8, 56, 0, 4, 8, 57, 0, 4, 8, 58, 0, 4, 8, 59, 0, 4, 0, 35, 0, 0, 8, 60,
+ 1, 12, 0, 3, 0, 0, 8, 61, 0, 4, 8, 62, 0, 4, 8, 63, 1, 13, 0, 4, 0, 4, 6,155, 0, 4, 8, 64, 0, 4, 6,161,
+ 0, 4, 8, 65, 1, 14, 0, 2, 0, 4, 8, 66, 0, 4, 8, 67, 1, 15, 0, 5, 0, 7, 8, 68, 0, 7, 8, 69, 0, 7, 8, 70,
+ 0, 4, 0, 17, 0, 4, 0, 35, 1, 16, 0, 6, 0, 0, 8, 71, 0, 0, 6,112, 0, 41, 0,130, 0, 2, 0,104, 0, 2, 5, 28,
+ 0, 4, 0, 35, 1, 17, 0, 14, 1, 17, 0, 0, 1, 17, 0, 1, 0, 4, 0, 54, 0, 4, 0, 21, 0, 4, 0, 26, 0, 4, 8, 72,
+ 0, 4, 8, 73, 0, 4, 8, 74, 1, 12, 8, 75, 0, 0, 8, 71, 1, 16, 3,106, 1, 13, 8, 76, 1, 14, 8, 77, 1, 15, 8, 78,
+ 1, 18, 0, 12, 0, 0, 1,253, 0, 9, 0,220, 0, 0, 0,221, 0, 4, 0,224, 0, 4, 0,232, 0, 9, 0,225, 0, 7, 0,227,
+ 0, 7, 0,228, 0, 9, 8, 79, 0, 9, 8, 80, 0, 9, 0,229, 0, 9, 0,231, 1, 19, 0, 48, 1, 19, 0, 0, 1, 19, 0, 1,
+ 0, 9, 8, 81, 0, 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0, 4, 0, 21, 0, 4, 0, 85, 0, 4, 8, 82,
+ 0, 4, 8, 83, 0, 4, 8, 73, 0, 4, 8, 74, 0, 4, 8, 84, 0, 4, 0,243, 0, 4, 8, 85, 0, 4, 8, 86, 0, 7, 8, 87,
+ 0, 7, 0, 35, 0, 7, 8, 88, 0, 7, 8, 89, 0, 4, 0,121, 0, 4, 8, 90, 1, 17, 8, 91, 0, 28, 0, 77, 0, 38, 0,117,
+ 0, 24, 8, 92, 0, 41, 0,130, 0, 7, 8, 93, 0, 7, 8, 94, 1, 18, 1, 62, 1, 19, 8, 95, 1, 19, 8, 96, 1, 19, 8, 97,
+ 0, 12, 8, 98, 0,245, 6,232, 0, 9, 8, 99, 0, 7, 4, 14, 0, 7, 8,100, 0, 7, 8,101, 0, 4, 8,102, 0, 4, 8,103,
+ 0, 7, 8,104, 0, 9, 8,105, 0, 4, 8,106, 0, 4, 8,107, 0, 4, 8,108, 0, 7, 8,109, 1, 20, 0, 4, 1, 20, 0, 0,
+ 1, 20, 0, 1, 0, 12, 8,110, 1, 19, 8,111, 0,203, 0, 11, 0, 12, 8,112, 0, 12, 8, 98, 0, 12, 8,113, 1, 19, 8,114,
+ 0, 0, 8,115, 0, 0, 8,116, 0, 4, 8,117, 0, 4, 8,118, 0, 4, 8,119, 0, 4, 0, 35, 0, 16, 8,120, 1, 21, 0, 4,
+ 0, 7, 8,121, 0, 7, 3, 76, 0, 2, 8,122, 0, 2, 8,123, 1, 22, 0, 6, 0, 7, 8,124, 0, 7, 8,125, 0, 7, 8,126,
+ 0, 7, 8,127, 0, 4, 8,128, 0, 4, 8,129, 1, 23, 0, 13, 0, 7, 8,130, 0, 7, 8,131, 0, 7, 8,132, 0, 7, 8,133,
+ 0, 7, 8,134, 0, 7, 8,135, 0, 7, 8,136, 0, 7, 8,137, 0, 7, 8,138, 0, 7, 8,139, 0, 4, 2,233, 0, 4, 8,140,
+ 0, 4, 8,141, 1, 24, 0, 2, 0, 7, 5, 99, 0, 7, 0, 35, 1, 25, 0, 5, 0, 7, 8,142, 0, 7, 8,143, 0, 4, 0, 88,
+ 0, 4, 2,193, 0, 4, 8,144, 1, 26, 0, 6, 1, 26, 0, 0, 1, 26, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,145,
+ 0, 2, 0, 54, 1, 27, 0, 8, 1, 27, 0, 0, 1, 27, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,145, 0, 2, 0, 54,
+ 0, 7, 0, 21, 0, 7, 0,121, 1, 28, 0, 45, 1, 28, 0, 0, 1, 28, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,145,
+ 0, 2, 0,239, 0, 2, 4, 56, 0, 2, 8,146, 0, 7, 8,147, 0, 7, 0, 86, 0, 7, 2,246, 0, 4, 8,148, 0, 4, 0, 79,
+ 0, 4, 2,195, 0, 7, 8,149, 0, 7, 8,150, 0, 7, 8,151, 0, 7, 8,152, 0, 7, 8,153, 0, 7, 8,154, 0, 7, 2,243,
+ 0, 7, 1, 59, 0, 7, 8,155, 0, 7, 8,156, 0, 7, 0, 35, 0, 7, 8,157, 0, 7, 8,158, 0, 7, 8,159, 0, 2, 8,160,
+ 0, 2, 8,161, 0, 2, 8,162, 0, 2, 8,163, 0, 2, 8,164, 0, 2, 8,165, 0, 2, 8,166, 0, 2, 8,167, 0, 2, 2, 21,
+ 0, 2, 8,168, 0, 2, 2, 18, 0, 2, 8,169, 0, 0, 8,170, 0, 0, 8,171, 0, 7, 0,237, 1, 29, 8,172, 0, 58, 1,232,
+ 1, 30, 0, 16, 1, 30, 0, 0, 1, 30, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,145, 0, 2, 0,239, 0, 7, 2,238,
+ 0, 7, 2,239, 0, 7, 2,240, 0, 7, 2, 71, 0, 7, 2,241, 0, 7, 2,242, 0, 7, 8,173, 0, 7, 2,243, 0, 7, 2,245,
+ 0, 7, 2,246, 0,227, 0, 5, 0, 2, 0, 15, 0, 2, 8,174, 0, 2, 0, 17, 0, 2, 8,175, 0, 19, 6,191, 0,226, 0, 3,
+ 0, 4, 0, 66, 0, 4, 8,176, 0,227, 0, 2, 1, 31, 0, 7, 1, 31, 0, 0, 1, 31, 0, 1, 0, 0, 0, 18, 0, 2, 0, 15,
+ 0, 2, 0, 17, 0, 4, 0, 20, 0, 9, 8,177, 1, 32, 0, 5, 0, 0, 0, 18, 0, 7, 1, 79, 0, 7, 8,178, 0, 4, 8,179,
+ 0, 4, 0, 35, 1, 33, 0, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 1, 34, 0, 4, 0, 0, 0, 18,
+ 0, 57, 8,180, 0, 7, 1, 79, 0, 7, 0, 35, 1, 35, 0, 6, 0, 2, 8,181, 0, 2, 8,182, 0, 2, 0, 15, 0, 2, 8,183,
+ 0, 0, 8,184, 0, 0, 8,185, 1, 36, 0, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 0, 8,186, 0, 0, 8,187,
+ 1, 37, 0, 3, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 1, 38, 0, 4, 0, 2, 8,188, 0, 2, 8,189, 0, 2, 0, 17,
+ 0, 2, 0, 35, 1, 39, 0, 6, 0, 0, 0, 18, 0, 0, 8,190, 0, 2, 8,191, 0, 2, 2,243, 0, 2, 1, 72, 0, 2, 0, 67,
+ 1, 40, 0, 5, 0, 0, 0, 18, 0, 7, 3, 76, 0, 7, 4,145, 0, 2, 0, 17, 0, 2, 2,207, 1, 41, 0, 3, 0, 0, 0, 18,
+ 0, 4, 2,195, 0, 4, 8,188, 1, 42, 0, 7, 0, 0, 0, 18, 0, 7, 4,145, 0, 0, 8,192, 0, 0, 8,193, 0, 2, 1, 72,
+ 0, 2, 0, 87, 0, 4, 8,194, 1, 43, 0, 4, 0, 0, 8,195, 0, 0, 8,196, 0, 4, 0, 15, 0, 7, 2,211, 1, 44, 0, 3,
+ 0, 24, 8,197, 0, 0, 8,198, 0, 0, 8,199, 1, 45, 0, 18, 1, 45, 0, 0, 1, 45, 0, 1, 0, 2, 0, 15, 0, 2, 8,200,
+ 0, 2, 0, 17, 0, 2, 8,201, 0, 2, 8,202, 0, 2, 8,203, 0, 2, 0, 87, 0, 2, 0, 67, 0, 0, 0, 18, 0, 9, 0, 2,
+ 1, 46, 8,204, 0, 24, 0, 42, 0, 2, 5,116, 0, 2, 8,100, 0, 2, 8,205, 0, 2, 0, 35, 1, 47, 0, 11, 0, 0, 0, 18,
+ 0, 0, 0, 15, 0, 0, 8,206, 0, 2, 0, 17, 0, 2, 2,207, 0, 2, 8,207, 0, 4, 8,208, 0, 4, 8,209, 0, 4, 8,210,
+ 0, 4, 8,211, 0, 4, 8,212, 1, 48, 0, 1, 0, 0, 8,213, 1, 49, 0, 4, 0, 34, 6,154, 0, 0, 7,158, 0, 4, 1, 72,
+ 0, 4, 0, 17, 1, 46, 0, 18, 1, 46, 0, 0, 1, 46, 0, 1, 1, 46, 8,214, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,215,
+ 0, 2, 8,203, 0, 2, 8,200, 0, 2, 8,216, 0, 2, 0, 67, 0, 2, 1,229, 0, 0, 0, 18, 0, 9, 0, 2, 1, 50, 8,204,
+ 1, 45, 8,217, 0, 2, 0, 13, 0, 2, 8,218, 0, 4, 8,219, 1, 51, 0, 3, 0, 4, 2,221, 0, 4, 0, 35, 0, 24, 0, 42,
+ 1, 52, 0, 12, 0,157, 8,220, 0, 2, 0, 15, 0, 2, 0, 17, 0, 7, 8,147, 0, 7, 0, 86, 0, 0, 0, 18, 0, 0, 8,221,
+ 0, 2, 8,222, 0, 2, 8,223, 0, 2, 8,224, 0, 2, 8,225, 0, 7, 8,226, 1, 53, 0, 8, 0, 7, 8,227, 0, 7, 8,228,
+ 0, 7, 8,229, 0, 7, 8,230, 0, 7, 8,231, 0, 7, 8,232, 0, 7, 8,233, 0, 7, 8,234, 1, 54, 0, 13, 0, 2, 0, 17,
+ 0, 2, 6,233, 0, 4, 0, 87, 0, 4, 0, 67, 0, 2, 8,235, 0, 7, 4, 14, 0, 7, 8,236, 0,245, 6,232, 1, 53, 8,237,
+ 0, 2, 0, 15, 0, 2, 5, 35, 0, 2, 5,254, 0, 2, 8,238, 1, 55, 0, 11, 0, 4, 2,221, 0, 2, 0, 15, 0, 2, 0, 17,
+ 0, 24, 0, 42, 0, 73, 8,239, 0, 0, 0, 18, 0, 7, 8,240, 0, 7, 8,241, 0, 7, 3,151, 0, 2, 8,242, 0, 2, 8,243,
+ 1, 56, 0, 5, 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,117, 0, 24, 5,107, 1, 57, 0, 5, 0, 4, 0, 35,
+ 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 8,186, 0, 24, 0, 42, 1, 58, 0, 13, 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 8,200,
+ 0, 2, 3,152, 0, 7, 8,244, 0, 7, 8,245, 0, 7, 4,195, 0, 7, 3,163, 0, 7, 3,122, 0, 7, 3,125, 0, 7, 8,246,
+ 0, 7, 8,247, 0, 24, 8,248, 1, 59, 0, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, 7, 8,147, 0, 7, 0, 86, 0, 0, 0, 18,
+ 0, 0, 8,221, 0, 2, 0, 87, 0, 2, 0, 67, 0, 2, 1,229, 0, 2, 5, 35, 1, 60, 0, 8, 0, 24, 0, 42, 0, 7, 2,240,
+ 0, 7, 8,249, 0, 7, 8,250, 0, 7, 3,152, 0, 2, 0, 87, 0, 2, 2,207, 0, 7, 0, 67, 1, 61, 0, 12, 0, 2, 0, 15,
+ 0, 2, 1, 72, 0, 2, 0, 17, 0, 2, 2,243, 0, 2, 2,221, 0, 2, 8,251, 0, 4, 0, 35, 0, 7, 8,252, 0, 7, 8,253,
+ 0, 7, 8,254, 0, 7, 8,255, 0, 0, 9, 0, 1, 62, 0, 9, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 8,147, 0, 4, 0, 86,
+ 0, 0, 0, 18, 0, 2, 4,195, 0, 2, 0, 61, 0, 2, 9, 1, 0, 2, 9, 2, 1, 63, 0, 7, 0, 4, 2,195, 0, 4, 9, 3,
+ 0, 4, 9, 4, 0, 4, 9, 5, 0, 7, 9, 6, 0, 7, 9, 7, 0, 0, 8,192, 1, 64, 0, 7, 0, 0, 9, 8, 0, 24, 9, 9,
+ 0, 0, 8,198, 0, 2, 9, 10, 0, 2, 0, 87, 0, 4, 0, 67, 0, 0, 8,199, 1, 65, 0, 6, 0, 2, 0, 17, 0, 2, 0, 15,
+ 0, 4, 8,147, 0, 4, 0, 86, 0, 0, 9, 11, 0, 0, 9, 12, 1, 66, 0, 1, 0, 4, 0, 17, 1, 67, 0, 6, 0, 0, 0, 90,
+ 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 9, 13, 0, 7, 9, 14, 0, 34, 6,154, 1, 68, 0, 4, 0, 0, 2,159, 0, 2, 0, 17,
+ 0, 4, 0, 15, 0, 24, 0, 42, 1, 69, 0, 2, 0, 4, 0, 15, 0, 4, 6, 73, 1, 70, 0, 6, 0, 0, 8,195, 0, 0, 8,196,
+ 0, 4, 0, 15, 0, 7, 2, 29, 0, 24, 3, 53, 0, 24, 9, 15, 1, 50, 0, 10, 1, 50, 0, 0, 1, 50, 0, 1, 1, 50, 8,214,
+ 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,200, 0, 2, 9, 16, 0, 0, 0, 18, 0, 9, 0, 2, 0, 24, 0, 42, 0,245, 0, 16,
+ 0, 19, 0, 29, 0, 0, 0, 32, 0, 35, 0,145, 0, 9, 0,220, 0, 35, 9, 17, 0, 28, 0, 77, 0, 7, 4, 14, 0, 7, 9, 18,
+ 0, 7, 8,236, 0, 7, 8,227, 0, 7, 8,228, 0, 7, 9, 19, 0, 4, 0, 88, 0, 4, 0, 35, 0, 9, 9, 20, 0, 9, 9, 21,
+ 1, 71, 0, 6, 1, 71, 0, 0, 1, 71, 0, 1, 0, 24, 0, 42, 0, 9, 9, 22, 0, 2, 0,244, 0, 0, 2,192, 0, 58, 0, 4,
+ 0, 19, 0, 29, 0, 12, 9, 23, 0, 4, 0,126, 0, 7, 9, 24, 1, 72, 0, 28, 1, 72, 0, 0, 1, 72, 0, 1, 0, 18, 9, 25,
+ 1, 72, 0, 36, 0, 12, 9, 26, 0, 0, 0, 18, 0, 7, 9, 27, 0, 7, 9, 28, 0, 7, 9, 29, 0, 7, 9, 30, 0, 4, 0, 17,
+ 0, 7, 9, 31, 0, 7, 9, 32, 0, 7, 9, 33, 0, 7, 9, 34, 0, 7, 1, 79, 0, 7, 2, 29, 0, 7, 9, 35, 0, 7, 2,193,
+ 0, 7, 9, 36, 0, 7, 9, 37, 0, 7, 9, 38, 0, 7, 9, 39, 0, 7, 9, 40, 0, 7, 0,167, 0, 4, 0,126, 0, 2, 5,153,
+ 0, 2, 7, 5, 1, 73, 0, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 9, 41, 0, 12, 9, 42, 0, 12, 9, 43, 1, 72, 9, 44,
+ 0, 9, 9, 45, 0, 9, 9, 46, 0, 4, 0, 17, 0, 4, 6, 48, 0, 2, 2,247, 0, 2, 6,103, 0, 4, 9, 47, 0, 4, 0,126,
+ 0, 4, 9, 48, 0, 2, 9, 49, 0, 2, 9, 50, 0, 2, 9, 51, 0, 2, 9, 52, 0, 4, 9, 53, 0, 4, 9, 54, 0, 4, 9, 55,
+ 0, 4, 9, 56, 0, 4, 9, 57, 0, 4, 9, 58, 1, 74, 0, 2, 0, 7, 2,147, 0, 4, 0, 17, 0,161, 0, 5, 1, 74, 9, 59,
+ 0, 4, 2,193, 0, 4, 9, 60, 0, 4, 9, 61, 0, 4, 0, 17, 0,160, 0, 16, 0, 4, 9, 62, 0, 4, 9, 63, 0, 4, 9, 64,
+ 0, 4, 9, 65, 0, 2, 9, 66, 0, 2, 9, 67, 0, 2, 9, 68, 0, 2, 0,244, 0, 2, 9, 69, 0, 2, 9, 70, 0, 2, 9, 71,
+ 0, 2, 9, 72, 0, 4, 9, 73, 0, 4, 9, 74, 0, 4, 9, 75, 0, 4, 9, 76, 1, 75, 0, 41, 1, 75, 0, 0, 1, 75, 0, 1,
+ 0, 18, 9, 25, 0, 12, 3,177, 0, 0, 0, 18, 0, 2, 0, 17, 0, 2, 9, 77, 0, 2, 9, 78, 0, 2, 9, 79, 0, 2, 3,137,
+ 0, 2, 9, 80, 0, 4, 2, 69, 0, 4, 9, 55, 0, 4, 9, 56, 1, 72, 9, 81, 1, 75, 0, 36, 1, 75, 9, 82, 0, 12, 9, 83,
+ 0,161, 3,114, 0, 24, 9, 84, 1, 75, 9, 85, 0, 7, 1, 67, 0, 7, 0,167, 0, 7, 9, 86, 0, 7, 2, 8, 0, 7, 3,127,
+ 0, 7, 3,129, 0, 2, 3,160, 0, 2, 0, 35, 0, 7, 9, 87, 0, 7, 9, 88, 0, 7, 3,132, 0, 7, 9, 89, 0, 7, 9, 90,
+ 0, 7, 9, 91, 0, 7, 9, 92, 0, 7, 9, 93, 0, 7, 9, 94, 0, 7, 9, 95, 0, 7, 9, 96, 0, 7, 2, 62, 0,158, 0, 16,
+ 0, 12, 9, 97, 0, 68, 9, 98, 0, 2, 0, 17, 0, 2, 0, 35, 0, 4, 9, 99, 0, 4, 0, 87, 0, 7, 2, 98, 0, 7, 9,100,
+ 0, 7, 9,101, 0, 12, 9,102, 0, 4, 9,103, 0, 4, 9,104, 0, 9, 9,105, 0, 9, 9,106, 0,160, 3,113, 0, 0, 9,107,
+ 1, 76, 0, 1, 0, 4, 9,104, 1, 77, 0, 12, 0, 4, 9,104, 0, 7, 8,212, 0, 2, 9,108, 0, 2, 9,109, 0, 7, 9,110,
+ 0, 7, 9,111, 0, 2, 9,112, 0, 2, 0, 17, 0, 7, 9,113, 0, 7, 9,114, 0, 7, 9,115, 0, 7, 9,116, 1, 78, 0, 7,
+ 1, 78, 0, 0, 1, 78, 0, 1, 0, 12, 9,117, 0, 4, 0, 17, 0, 4, 9,118, 0, 0, 4, 4, 0,253, 9,119, 0,157, 0, 9,
+ 0, 19, 0, 29, 0, 12, 9,120, 0, 12, 9, 97, 0, 12, 9,121, 0, 12, 0, 98, 0, 4, 0, 17, 0, 4, 9,122, 0, 4, 9,123,
+ 0, 4, 0, 35, 0,217, 0, 6, 0, 19, 9,124, 0, 12, 9, 97, 0, 58, 9,125, 0, 0, 9,126, 0, 4, 9,127, 0, 4, 0, 17,
+ 1, 79, 0, 13, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 6, 39, 0, 4, 6, 40, 0, 7, 6, 41, 0, 2, 6, 42, 0,214, 6, 92,
+ 0,157, 3,109, 0,217, 9,128, 0, 0, 1, 72, 0, 0, 6, 95, 0, 2, 0, 17, 0, 7, 9,129, 1, 80, 0, 8, 1, 80, 0, 0,
+ 1, 80, 0, 1, 1, 78, 9,130, 0, 28, 0, 77, 0, 12, 3,115, 0, 4, 0, 17, 0, 0, 0, 18, 0, 4, 7,250, 1, 81, 0, 5,
+ 1, 81, 0, 0, 1, 81, 0, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 9,131, 1, 82, 0, 14, 1, 82, 0, 0, 1, 82, 0, 1,
+ 0, 9, 0, 2, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 9,132, 0, 0, 9,133, 0, 0, 9,131, 0, 7, 9,134, 0, 7, 9,135,
+ 0, 4, 0, 35, 0, 28, 0, 77, 0, 7, 9,136, 0, 7, 9,137, 1, 83, 0, 9, 1, 83, 0, 0, 1, 83, 0, 1, 0, 24, 9,138,
+ 0, 0, 2,250, 0, 7, 9,139, 0, 2, 9,140, 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 9,141, 1, 84, 0, 7, 0, 34, 6,154,
+ 0, 18, 9, 25, 0, 4, 0, 17, 0, 4, 9,142, 0, 12, 9,143, 0, 24, 9,138, 0, 0, 2,250, 1, 85, 0, 15, 0, 24, 9,138,
+ 0, 2, 9,144, 0, 2, 0, 17, 0, 2, 9,145, 0, 2, 9,146, 0, 0, 2,250, 0, 24, 9,147, 0, 0, 9,148, 0, 7, 9,149,
+ 0, 7, 2, 29, 0, 7, 9,150, 0, 7, 9,151, 0, 2, 0, 15, 0, 2, 1, 72, 0, 7, 1, 79, 1, 86, 0, 6, 0, 24, 9,138,
+ 0, 7, 9, 59, 0, 2, 9,152, 0, 2, 9,153, 0, 2, 0, 17, 0, 2, 9,154, 1, 87, 0, 6, 0, 24, 9,138, 0, 4, 9,155,
+ 0, 4, 9,156, 0, 4, 0, 88, 0, 4, 0, 35, 0, 0, 2,250, 1, 88, 0, 4, 0, 24, 9,138, 0, 4, 0, 17, 0, 4, 9,155,
+ 0, 0, 2,250, 1, 89, 0, 4, 0, 24, 9,138, 0, 4, 0, 17, 0, 4, 9,155, 0, 0, 2,250, 1, 90, 0, 4, 0, 24, 9,138,
+ 0, 4, 0, 17, 0, 4, 9,155, 0, 0, 2,250, 1, 91, 0, 2, 0, 4, 0, 17, 0, 7, 4, 14, 1, 92, 0, 2, 0, 24, 9,138,
+ 0, 0, 2,250, 1, 93, 0, 10, 0, 24, 9,138, 0, 4, 9,157, 0, 7, 0,120, 0, 4, 0, 17, 0, 2, 6,152, 0, 2, 9,158,
+ 0, 2, 0, 87, 0, 2, 0, 67, 0, 7, 9,159, 0, 0, 2,250, 1, 94, 0, 10, 0, 24, 9,138, 0, 2, 0, 15, 0, 2, 4, 64,
+ 0, 4, 0, 85, 0, 4, 0, 86, 0, 7, 8,249, 0, 7, 8,250, 0, 4, 0, 35, 0,157, 8,220, 0, 0, 2,250, 1, 95, 0, 4,
+ 0, 24, 9,138, 0, 4, 3,138, 0, 4, 9,160, 0, 0, 2,250, 1, 96, 0, 4, 0, 24, 9,138, 0, 4, 3,138, 0, 4, 0, 35,
+ 0, 0, 2,250, 1, 97, 0, 6, 0, 24, 9,138, 0, 7, 0,120, 0, 7, 3, 65, 0, 4, 9,161, 0, 2, 3,138, 0, 2, 3,139,
+ 1, 98, 0, 6, 0, 24, 9,138, 0, 4, 9,162, 0, 4, 9,163, 0, 7, 9,164, 0, 7, 9,165, 0, 0, 2,250, 1, 99, 0, 16,
+ 0, 24, 9,138, 0, 24, 9, 82, 0, 4, 0, 15, 0, 7, 9,166, 0, 7, 9,167, 0, 7, 9,168, 0, 7, 9,169, 0, 7, 9,170,
+ 0, 7, 9,171, 0, 7, 9,172, 0, 7, 9,173, 0, 7, 9,174, 0, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0, 67,
+ 1,100, 0, 3, 0, 24, 9,138, 0, 4, 0, 17, 0, 4, 2, 21, 1,101, 0, 5, 0, 24, 9,138, 0, 4, 0, 17, 0, 4, 0, 35,
+ 0, 7, 9,175, 0, 0, 2,250, 1,102, 0, 10, 0, 24, 9,138, 0, 0, 2,250, 0, 2, 9,176, 0, 2, 9,177, 0, 0, 9,178,
+ 0, 0, 9,179, 0, 7, 9,180, 0, 7, 9,181, 0, 7, 9,182, 0, 7, 9,183, 1,103, 0, 5, 0, 24, 9,138, 0, 0, 2,250,
+ 0, 7, 2,201, 0, 2, 9,184, 0, 2, 0, 17, 1,104, 0, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10,
+ 0, 7, 9,185, 0, 7, 9,186, 0, 2, 0, 17, 0, 2, 2, 21, 1,105, 0, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9,
+ 0, 7, 0, 10, 0, 7, 9,185, 0, 7, 9,186, 0, 2, 0, 17, 0, 2, 2, 21, 1,106, 0, 8, 0, 7, 0, 7, 0, 7, 0, 8,
+ 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 9,185, 0, 7, 9,186, 0, 2, 0, 17, 0, 2, 2, 21, 1,107, 0, 7, 0, 24, 9,138,
+ 0, 0, 2,250, 0, 7, 1, 79, 0, 7, 1, 88, 0, 2, 0, 17, 0, 2, 1, 72, 0, 4, 0, 35, 1,108, 0, 5, 0, 24, 3, 53,
+ 0, 7, 1, 79, 0, 2, 3, 57, 0, 0, 3, 59, 0, 0, 9,187, 1,109, 0, 10, 1,109, 0, 0, 1,109, 0, 1, 0, 2, 0, 15,
+ 0, 2, 0, 17, 0, 0, 9,188, 0, 7, 1, 22, 0, 7, 1, 23, 0, 2, 9,117, 0, 2, 9,189, 0, 24, 0, 42, 1,110, 0, 22,
+ 1,110, 0, 0, 1,110, 0, 1, 0, 2, 0, 17, 0, 2, 1, 72, 0, 2, 9,190, 0, 2, 9,191, 0, 28, 0, 77, 0,157, 8,220,
+ 0, 24, 0,159, 0, 7, 0, 85, 0, 7, 0, 86, 0, 7, 9,192, 0, 7, 9,193, 0, 7, 9,194, 0, 7, 9,195, 0, 7, 2,236,
+ 0, 7, 9,196, 0, 7, 8,222, 0, 7, 9,197, 0, 0, 9,198, 0, 0, 9,199, 0, 12, 3,118, 1,111, 0, 8, 0, 7, 2, 36,
+ 0, 7, 8,249, 0, 7, 8,250, 0, 9, 0, 2, 0, 2, 9,200, 0, 2, 9,201, 0, 2, 9,202, 0, 2, 9,203, 1,112, 0, 19,
+ 1,112, 0, 0, 1,112, 0, 1, 1,112, 9,204, 0, 0, 0, 18, 1,111, 9,205, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 9,206,
+ 0, 2, 9,207, 1,111, 9,208, 0, 2, 9,209, 0, 2, 0, 87, 0, 7, 9,210, 0, 7, 9,211, 0, 4, 9,212, 1,112, 9,213,
+ 0, 4, 9,214, 0, 4, 0, 67, 1,113, 9,215, 1,114, 0, 4, 0, 0, 9,216, 0, 2, 9,217, 0, 2, 9,218, 0, 4, 0, 35,
+ 1,115, 0, 34, 1,115, 0, 0, 1,115, 0, 1, 1,115, 9,219, 0, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8, 72,
+ 0, 2, 8,100, 0, 2, 9,220, 0, 2, 6,157, 0, 2, 9,209, 0, 2, 8,174, 0, 12, 8,215, 0, 12, 9,221, 0, 19, 6,191,
+ 0, 9, 9,222, 0, 7, 9,210, 0, 7, 9,211, 0, 7, 2, 71, 0, 7, 9,223, 0, 0, 9,224, 0, 2, 9,225, 0, 2, 9,226,
+ 0, 7, 9,227, 0, 7, 9,228, 0, 2, 9,229, 0, 2, 9,230, 0, 9, 9,231, 0, 16, 9,232, 0, 16, 9,233, 0, 16, 9,234,
+ 1,114, 0,146, 1,116, 9,235, 1,117, 9,236, 1,113, 0, 8, 1,113, 0, 0, 1,113, 0, 1, 1,115, 9,237, 1,115, 9,238,
+ 1,112, 9,239, 1,112, 9,240, 0, 4, 0, 17, 0, 4, 0, 35, 0, 53, 0, 23, 0, 19, 0, 29, 0, 31, 0, 72, 0,159, 3,112,
+ 0, 12, 9,241, 0, 12, 9,242, 1,111, 9,243, 0, 12, 9,244, 0, 4, 0, 15, 0, 4, 9,245, 0, 4, 9,246, 0, 4, 9,247,
+ 0, 4, 0, 17, 0, 4, 0, 35, 0, 12, 9,248, 0, 12, 8,215, 0, 12, 9,221, 0, 4, 6, 62, 0, 9, 9,249, 0, 9, 9,250,
+ 0, 4, 9,251, 0, 9, 9,252, 0, 9, 9,253, 0, 9, 9,254, 1,118, 0, 6, 0, 4, 0,119, 0, 4, 0,121, 0, 4, 8,174,
+ 0, 0, 9,255, 0, 0, 10, 0, 0, 2, 0, 35, 1,119, 0, 16, 0, 2, 8, 17, 0, 2, 8, 18, 0, 2, 10, 1, 0, 2, 10, 2,
+ 0, 2, 10, 3, 0, 2, 0, 65, 0, 2, 6,192, 0, 2, 10, 4, 0, 7, 2,235, 0, 7, 10, 5, 0, 7, 10, 6, 0, 2, 1, 94,
+ 0, 0, 10, 7, 0, 0, 10, 8, 0, 4, 10, 9, 0, 4, 10, 10, 1,120, 0, 9, 0, 7, 10, 11, 0, 7, 10, 12, 0, 7, 9, 19,
+ 0, 7, 3, 76, 0, 7, 10, 13, 0, 7, 6,109, 0, 2, 3, 74, 0, 0, 10, 14, 0, 0, 0, 35, 1,121, 0, 4, 0, 7, 10, 15,
+ 0, 7, 10, 16, 0, 2, 3, 74, 0, 2, 0, 35, 1,122, 0, 3, 0, 7, 10, 17, 0, 7, 8, 87, 0, 7, 0, 13, 1,123, 0, 7,
+ 0, 0, 1,253, 0, 2, 5, 26, 0, 2, 5, 27, 0, 2, 5, 28, 0, 2, 4,217, 0, 4, 0,121, 0, 4, 4, 62, 1,124, 0, 9,
+ 0, 7, 10, 18, 0, 7, 10, 19, 0, 7, 10, 20, 0, 7, 2, 82, 0, 7, 10, 21, 0, 7, 10, 22, 0, 7, 10, 23, 0, 2, 10, 24,
+ 0, 2, 10, 25, 1,125, 0, 8, 0, 2, 10, 26, 0, 2, 10, 27, 0, 2, 10, 28, 0, 2, 10, 29, 0, 7, 10, 30, 0, 7, 10, 31,
+ 0, 7, 10, 32, 0, 7, 10, 33, 1,126, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 1,127, 0, 2, 0, 0, 0,161, 0, 0, 10, 34,
+ 1,128, 0, 1, 0, 0, 0, 18, 1,129, 0, 10, 0, 0, 10, 35, 0, 0, 10, 36, 0, 0, 6,101, 0, 0, 10, 37, 0, 2, 10, 1,
+ 0, 2, 10, 38, 0, 7, 10, 39, 0, 7, 10, 40, 0, 7, 10, 41, 0, 7, 9,196, 1,130, 0, 2, 0, 9, 10, 42, 0, 9, 10, 43,
+ 1,131, 0, 11, 0, 0, 5, 28, 0, 0, 0, 15, 0, 0, 3, 74, 0, 0, 3, 76, 0, 0, 10, 44, 0, 0, 0,104, 0, 0, 2,159,
+ 0, 7, 10, 45, 0, 7, 10, 46, 0, 7, 10, 47, 0, 7, 10, 48, 1,132, 0, 8, 0, 7, 8,181, 0, 7, 0,120, 0, 7, 10, 8,
+ 0, 7, 2,152, 0, 7, 10, 49, 0, 7, 0,233, 0, 7, 10, 50, 0, 4, 0, 15, 1,133, 0, 4, 0, 2, 10, 51, 0, 2, 10, 52,
+ 0, 2, 10, 53, 0, 2, 0, 35, 1,134, 0, 8, 0, 7, 10, 54, 0, 7, 2,201, 0, 7, 10, 55, 0, 7, 8, 68, 0, 7, 8, 69,
+ 0, 7, 8, 70, 0, 7, 10, 56, 0, 7, 10, 57, 1,135, 0, 6, 0, 2, 10, 58, 0, 2, 10, 59, 0, 7, 10, 60, 0, 7, 10, 61,
+ 0, 7, 10, 62, 0, 7, 10, 63, 1,136, 0, 1, 0, 0, 0, 18, 1,137, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 17,
+ 0, 2, 10, 64, 1,138, 0, 10, 0, 2, 3,248, 0, 2, 0, 17, 0, 7, 4,145, 0, 7, 10, 65, 0, 7, 10, 66, 0, 7, 10, 67,
+ 0, 7, 10, 68, 1,137, 10, 69, 1,137, 10, 70, 1,137, 10, 71, 0, 51, 0, 11, 0, 4, 0, 17, 0, 4, 0, 61, 0, 4, 10, 72,
+ 0, 4, 10, 73, 0, 16, 10, 74, 0, 16, 10, 75, 1,138, 10, 76, 0, 7, 10, 77, 0, 7, 10, 78, 0, 7, 10, 79, 0, 7, 10, 80,
+ 0,230, 0, 10, 0, 4, 9,117, 0, 4, 10, 81, 0, 7, 10, 82, 0, 7, 10, 83, 0, 7, 10, 84, 0, 7, 10, 85, 0, 7, 0, 8,
+ 0, 7, 0, 10, 0, 4, 1, 72, 0, 4, 2,240, 0,229, 0, 18, 0, 4, 0,124, 0, 4, 10, 86, 0, 4, 10, 87, 0, 7, 10, 88,
+ 0, 4, 10, 89, 0, 7, 10, 90, 0, 7, 10, 91, 0, 4, 10, 92, 0, 7, 10, 93, 0, 4, 10, 94, 0, 7, 10, 95, 0,230, 10, 96,
+ 0, 7, 10, 97, 0, 7, 10, 98, 0, 7, 10, 99, 0, 7, 10,100, 0, 4, 10,101, 0, 4, 0, 35, 1,139, 0, 4, 0, 39, 2,227,
+ 0, 7, 10,102, 0, 7, 1,161, 0, 7, 0, 35, 0,192, 0, 34, 0, 19, 0, 29, 1,139, 10,103, 0, 51, 10, 69, 0, 43, 10,104,
+ 0, 49, 10,105, 0, 22, 0,146, 0, 0, 10,106, 0, 7, 10,107, 0, 2, 6, 4, 0, 2, 10,108, 0, 4, 0,104, 0, 4, 0, 17,
+ 0, 7, 10,109, 0, 4, 2, 79, 0, 4, 10,110, 0, 7, 10,111, 0, 7, 10,112, 0, 7, 10,113, 0, 7, 1,161, 0, 4, 10,114,
+ 0, 7, 10,115, 0, 0, 10,116, 0, 0, 10,117, 0, 0, 10,118, 0, 0, 10,119, 0, 7, 10,120, 0, 7, 10,121, 0, 7, 10,122,
+ 0, 7, 2,240, 0, 7, 10,123, 0, 4, 10,124, 0, 7, 10,125, 0, 7, 10,126, 0, 7, 10,127, 1,140, 0, 10, 0, 4, 0, 15,
+ 0, 4, 0,120, 0, 4, 0, 17, 0, 4, 3,201, 0, 4, 10,128, 0, 4, 10,129, 0, 4, 10,130, 0, 0, 0, 90, 0, 0, 0, 18,
+ 0, 9, 0, 2, 1,141, 0, 1, 0, 0, 8, 60, 0, 84, 0, 7, 1,140, 10,131, 0, 4, 10,132, 0, 4, 10,133, 0, 4, 10,134,
+ 0, 4, 0, 35, 0, 9, 10,135, 1,141, 10,136, 1,142, 0, 5, 0, 7, 2,147, 0, 7, 2,221, 0, 7, 2, 29, 0, 2, 2,128,
+ 0, 2, 0, 35, 1,143, 0, 5, 0, 7, 2,147, 0, 7, 4, 89, 0, 7, 10,137, 0, 7, 10,138, 0, 7, 2,221, 1,144, 0, 5,
+ 0, 24, 10,139, 1,145, 0, 20, 0, 7, 5,227, 0, 7, 10,140, 0, 7, 0, 54, 1,146, 0, 3, 0, 7, 10,141, 0, 4, 10,142,
+ 0, 4, 10,143, 1,147, 0, 7, 0, 4, 10,144, 0, 4, 10,145, 0, 4, 10,146, 0, 7, 10,147, 0, 7, 10,148, 0, 7, 10,149,
+ 0, 7, 0, 54, 1,148, 0, 8, 1,148, 0, 0, 1,148, 0, 1, 0, 24, 0, 42, 0, 4, 0,252, 0, 2, 0, 17, 0, 2, 1, 72,
+ 0, 7, 2,221, 0, 7, 8,189, 1,149, 0, 6, 1,149, 0, 0, 1,149, 0, 1, 0, 24, 0, 42, 0, 2, 2,206, 0, 2, 0, 17,
+ 0, 2, 10,150, 1,150, 0, 17, 1,143, 3,193, 1,143, 10,151, 1,142, 10,152, 1,143, 8,172, 1,144, 10,153, 0, 4, 0, 79,
+ 0, 7, 2,221, 0, 7, 2,246, 0, 7, 10,154, 0, 4, 10,144, 0, 4, 10,155, 0, 7, 10,148, 0, 7, 10,149, 0, 7, 0,104,
+ 0, 4, 10,156, 0, 2, 0, 17, 0, 2, 10,157, 1,151, 0, 15, 0, 7, 0,248, 0, 7, 10,158, 0, 7, 10,141, 0, 7, 10,159,
+ 0, 7, 10,160, 0, 7, 10,161, 0, 7, 10,162, 0, 7, 10,163, 0, 7, 10,164, 0, 7, 10,165, 0, 7, 10,166, 0, 7, 10,167,
+ 0, 7, 10,168, 0, 4, 0, 17, 0, 4, 10,169, 1,152, 0,124, 0, 19, 0, 29, 0, 31, 0, 72, 1,153, 10,170, 1,151, 10,171,
+ 0,168, 4, 84, 0, 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0, 2, 9,176, 0, 2, 10,172, 0, 2, 1,107, 0, 2, 10,173,
+ 0, 2, 3,160, 0, 2, 10,174, 0, 2, 10,175, 0, 2, 10,176, 0, 2, 10,177, 0, 2, 10,178, 0, 2, 10,179, 0, 2, 10,180,
+ 0, 2, 10,181, 0, 2, 10,182, 0, 2, 5,124, 0, 2, 10,183, 0, 2, 10,184, 0, 2, 10,185, 0, 2, 10,186, 0, 2, 10,187,
+ 0, 2, 2, 18, 0, 2, 8,165, 0, 2, 8,140, 0, 2, 10,188, 0, 2, 10,189, 0, 2, 3,211, 0, 2, 3,212, 0, 2, 10,190,
+ 0, 2, 10,191, 0, 2, 10,192, 0, 2, 10,193, 0, 7, 10,194, 0, 7, 10,195, 0, 7, 10,196, 0, 7, 10,197, 0, 7, 10,198,
+ 0, 7, 10,199, 0, 7, 10,200, 0, 2, 5, 74, 0, 2, 10,201, 0, 7, 10,202, 0, 7, 10,203, 0, 7, 10,204, 0, 7, 8,147,
+ 0, 7, 0, 86, 0, 7, 2,246, 0, 7, 8,153, 0, 7, 10,205, 0, 7, 10,206, 0, 7, 10,207, 0, 7, 10,208, 0, 4, 8,148,
+ 0, 4, 8,146, 0, 4, 10,209, 0, 4, 10,210, 0, 7, 8,149, 0, 7, 8,150, 0, 7, 8,151, 0, 7, 10,211, 0, 7, 10,212,
+ 0, 7, 10,213, 0, 7, 10,214, 0, 7, 10,215, 0, 7, 10,216, 0, 7, 10,217, 0, 7, 10,218, 0, 7, 10,219, 0, 7, 3,151,
+ 0, 7, 0,104, 0, 7, 10,220, 0, 7, 10,221, 0, 7, 10,222, 0, 7, 10,223, 0, 7, 0,206, 0, 7, 10,224, 0, 4, 10,225,
+ 0, 4, 10,226, 0, 7, 10,227, 0, 7, 10,228, 0, 7, 10,229, 0, 7, 10,230, 0, 7, 10,231, 0, 7, 0,205, 0, 7, 10,232,
+ 0, 7, 3,238, 0, 7, 3,236, 0, 7, 3,237, 0, 7, 10,233, 0, 7, 10,234, 0, 7, 10,235, 0, 7, 10,236, 0, 7, 10,237,
+ 0, 7, 10,238, 0, 7, 10,239, 0, 7, 10,240, 0, 7, 10,241, 0, 7, 10,242, 0, 7, 10,243, 0, 7, 10,244, 0, 7, 10,245,
+ 0, 7, 10,246, 0, 7, 10,247, 0, 7, 10,248, 0, 7, 10,249, 0, 7, 10,250, 0, 4, 10,251, 0, 4, 10,252, 0, 43, 1,125,
+ 0, 58, 3,182, 0, 12, 10,253, 0, 58, 10,254, 0, 24, 10,255, 0, 24, 11, 0, 0, 28, 0, 77, 0,163, 1, 64, 0,163, 11, 1,
+ 0,141, 0, 50, 0,141, 0, 0, 0,141, 0, 1, 1,152, 11, 2, 1,150, 11, 3, 1,147, 9, 82, 0,171, 4, 10, 0, 9, 4, 11,
+ 1,154, 11, 4, 1,154, 11, 5, 0, 12, 11, 6, 0, 12, 11, 7, 0,126, 11, 8, 0,134, 11, 9, 0,134, 11, 10, 0, 24, 11, 11,
+ 0, 24, 11, 12, 0, 24, 0, 36, 0, 12, 9,143, 0, 0, 0, 18, 0, 7, 0,237, 0, 7, 3, 19, 0, 7, 11, 13, 0, 7, 11, 14,
+ 0, 4, 2,195, 0, 4, 11, 15, 0, 4, 0, 17, 0, 4, 8,148, 0, 4, 11, 16, 0, 4, 11, 17, 0, 4, 11, 18, 0, 4, 11, 19,
+ 0, 2, 0,244, 0, 2, 11, 20, 0, 2, 11, 21, 0, 2, 11, 22, 0, 0, 11, 23, 0, 2, 11, 24, 0, 2, 11, 25, 0, 2, 11, 26,
+ 0, 9, 11, 27, 0,130, 4, 83, 0, 12, 3, 4, 0, 12, 11, 28, 1,146, 11, 29, 0, 4, 11, 30, 0, 4, 11, 31, 1,155, 11, 32,
+ 0,132, 3, 16, 1,156, 11, 33, 0, 7, 11, 34, 0,128, 0, 37, 1,157, 9, 20, 0, 7, 4, 53, 0, 7, 11, 35, 0, 7, 11, 36,
+ 0, 7, 5,227, 0, 7, 3,161, 0, 7, 3,151, 0, 7, 11, 37, 0, 7, 2, 81, 0, 7, 11, 38, 0, 7, 11, 39, 0, 7, 11, 40,
+ 0, 7, 11, 41, 0, 7, 11, 42, 0, 7, 11, 43, 0, 7, 4, 54, 0, 7, 11, 44, 0, 7, 11, 45, 0, 7, 11, 46, 0, 7, 4, 55,
+ 0, 7, 4, 51, 0, 7, 4, 52, 0, 7, 11, 47, 0, 7, 11, 48, 0, 4, 11, 49, 0, 4, 0, 88, 0, 4, 11, 50, 0, 4, 11, 51,
+ 0, 2, 11, 52, 0, 2, 11, 53, 0, 2, 11, 54, 0, 2, 11, 55, 0, 2, 11, 56, 0, 2, 11, 57, 0, 2, 11, 58, 0, 2, 4,195,
+ 0,168, 4, 84, 0,129, 0, 11, 1,157, 11, 59, 0, 7, 11, 60, 0, 7, 11, 61, 0, 7, 1,233, 0, 7, 11, 62, 0, 7, 11, 63,
+ 0, 7, 11, 64, 0, 4, 0, 88, 0, 2, 11, 65, 0, 2, 11, 66, 0, 58, 1,232, 1,158, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6,
+ 0, 7, 2, 7, 0, 7, 11, 67, 1,159, 0, 6, 1,159, 0, 0, 1,159, 0, 1, 1,158, 9, 59, 0, 4, 0,250, 0, 2, 11, 68,
+ 0, 2, 0, 17, 1,160, 0, 5, 1,160, 0, 0, 1,160, 0, 1, 0, 12, 11, 69, 0, 4, 11, 70, 0, 4, 0, 17, 1,161, 0, 9,
+ 1,161, 0, 0, 1,161, 0, 1, 0, 12, 0,119, 1,160, 11, 71, 0, 4, 0, 17, 0, 2, 11, 68, 0, 2, 11, 72, 0, 7, 0, 89,
+ 0, 0, 11, 73, 0,159, 0, 6, 0, 19, 0, 29, 0, 12, 5, 43, 0, 4, 0, 17, 0, 2, 11, 74, 0, 2, 11, 75, 0, 9, 11, 76,
+ 1,162, 0, 6, 0, 12, 11, 77, 0, 4, 11, 78, 0, 4, 11, 79, 0, 4, 0, 17, 0, 4, 0, 35, 0,211, 11, 80, 1,163, 0, 17,
+ 0, 19, 0, 29, 1,164, 11, 81, 1,164, 11, 82, 0, 12, 11, 83, 0, 4, 11, 84, 0, 2, 11, 85, 0, 2, 11, 86, 0, 12, 11, 87,
+ 0, 12, 11, 88, 1,162, 11, 89, 0, 12, 11, 90, 0, 12, 11, 91, 0, 12, 11, 92, 0, 12, 11, 93, 1,165, 11, 94, 0, 12, 11, 95,
+ 0,211, 11, 96, 1,164, 0, 32, 1,164, 0, 0, 1,164, 0, 1, 0, 9, 11, 97, 0, 4, 7,251, 0, 2, 11, 98, 0, 2, 0, 35,
+ 1, 2, 11, 99, 1, 2, 11,100, 0, 0, 11,101, 0, 2, 11,102, 0, 2, 11,103, 0, 2, 8, 17, 0, 2, 8, 18, 0, 2, 11,104,
+ 0, 2, 11,105, 0, 2, 3,201, 0, 2, 6,223, 0, 2, 11,106, 0, 2, 11,107, 0, 2, 11,108, 0, 2, 0, 67, 1,166, 11,109,
+ 1,167, 11,110, 1,168, 11,111, 0, 4, 11,112, 0, 4, 11,113, 0, 9, 11,114, 0, 12, 11, 88, 0, 12, 8, 37, 0, 12, 11,115,
+ 0, 12, 11,116, 0, 12, 11,117, 1,169, 0, 17, 1,169, 0, 0, 1,169, 0, 1, 0, 0, 11,118, 0, 18, 0, 28, 0, 2, 11,119,
+ 0, 2, 0, 15, 0, 2, 0, 13, 0, 2, 11,120, 0, 2, 11,121, 0, 2, 11,122, 0, 2, 11,123, 0, 2, 11,124, 0, 2, 0, 17,
+ 0, 2, 11,125, 0, 2, 0, 29, 0, 2, 0, 35, 1,170, 11,126, 1,171, 0, 10, 1,171, 0, 0, 1,171, 0, 1, 0, 12, 11,127,
+ 0, 0, 11,118, 0, 2, 11,128, 0, 2, 11,129, 0, 2, 0, 17, 0, 2, 11,130, 0, 4, 11,131, 0, 9, 11,132, 1,165, 0, 7,
+ 1,165, 0, 0, 1,165, 0, 1, 0, 0, 11,118, 0, 0, 11,133, 0, 12, 7,196, 0, 4, 11,134, 0, 4, 0, 17, 0,223, 0, 14,
+ 0,223, 0, 0, 0,223, 0, 1, 0, 0, 11,118, 0, 18, 0, 28, 1,172, 8, 11, 0, 9, 11,135, 0, 9, 11,136, 1,170, 11,126,
+ 1,162, 11,137, 0, 12, 11,138, 0,223, 11,139, 1, 7, 6,130, 0, 2, 0, 17, 0, 2, 4,195, 1,173, 0, 8, 1,173, 0, 0,
+ 1,173, 0, 1, 0, 9, 0, 2, 0, 9, 11,140, 0, 0, 4, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 7, 11,141, 1,174, 0, 5,
+ 0, 7, 11,142, 0, 4, 11,143, 0, 4, 11,144, 0, 4, 1, 72, 0, 4, 0, 17, 1,175, 0, 6, 0, 7, 11,145, 0, 7, 11,146,
+ 0, 7, 11,147, 0, 7, 11,148, 0, 4, 0, 15, 0, 4, 0, 17, 1,176, 0, 5, 0, 7, 8,249, 0, 7, 8,250, 0, 7, 2,221,
+ 0, 2, 2, 32, 0, 2, 2, 33, 1,177, 0, 5, 1,176, 0, 2, 0, 4, 0, 51, 0, 7, 11,149, 0, 7, 8,249, 0, 7, 8,250,
+ 1,178, 0, 4, 0, 2, 11,150, 0, 2, 11,151, 0, 2, 11,152, 0, 2, 11,153, 1,179, 0, 2, 0, 34, 6,185, 0, 18, 9, 25,
+ 1,180, 0, 3, 0, 16, 11,154, 0, 4, 0, 17, 0, 4, 0, 35, 1,181, 0, 6, 0, 7, 0,104, 0, 7, 2,223, 0, 7, 11,155,
+ 0, 7, 0, 35, 0, 2, 0,243, 0, 2, 11,156, 1,182, 0, 5, 0, 7, 11,157, 0, 7, 0,120, 0, 7, 9, 60, 0, 7, 9, 61,
+ 0, 4, 0, 17, 1,183, 0, 6, 0, 19, 6,191, 0, 0, 11,158, 0, 0, 11,159, 0, 2, 11,160, 0, 2, 0, 17, 0, 4, 11,161,
+ 1,184, 0, 7, 1,184, 0, 0, 1,184, 0, 1, 0, 0, 4, 4, 1,183, 11,162, 0, 2, 11,163, 0, 2, 0, 15, 0, 7, 0, 58,
+ 1,185, 0, 7, 0, 12, 11,164, 0, 0, 11,165, 0, 9, 11,166, 0, 7, 0, 58, 0, 7, 11,141, 0, 4, 0, 15, 0, 4, 0, 17,
+ 1,186, 0, 3, 0, 7, 11,167, 0, 4, 0, 17, 0, 4, 0, 35, 1,187, 0, 15, 1,187, 0, 0, 1,187, 0, 1, 1, 78, 9,130,
+ 1,185, 0, 59, 0, 12, 3,118, 0, 27, 0, 47, 1,186, 11,168, 0, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 1, 15,
+ 0, 4, 11,169, 0, 0, 11,158, 0, 4, 11,170, 0, 7, 11,171, 1,188, 0, 2, 0, 0, 11,172, 0, 0, 11,173, 1,189, 0, 4,
+ 1,189, 0, 0, 1,189, 0, 1, 0,157, 3, 53, 0, 12, 11,174, 1,190, 0, 24, 1,190, 0, 0, 1,190, 0, 1, 0, 12, 11,175,
+ 0,157, 8,220, 1,189, 11,176, 0, 12, 11,177, 0, 12, 3,118, 0, 0, 4, 4, 0, 7, 11,141, 0, 7, 11,178, 0, 7, 0, 85,
+ 0, 7, 0, 86, 0, 7, 9,192, 0, 7, 9,193, 0, 7, 2,236, 0, 7, 9,196, 0, 7, 8,222, 0, 7, 9,197, 0, 2, 11,179,
+ 0, 2, 11,180, 0, 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 1,191, 0, 6, 1,191, 0, 0, 1,191, 0, 1,
+ 0, 12, 11,175, 0, 4, 0, 17, 0, 4, 2,151, 0, 0, 4, 4, 1,192, 0, 11, 1,192, 0, 0, 1,192, 0, 1, 0, 19, 6,191,
+ 0, 0, 11,181, 0, 4, 11,161, 0, 2, 11,182, 0, 2, 0, 35, 0, 0, 11,158, 0, 4, 11,169, 0, 2, 0, 17, 0, 2, 11,183,
+ 1,193, 0, 8, 1,193, 0, 0, 1,193, 0, 1, 0, 12, 11,184, 0, 0, 4, 4, 0, 0, 11,185, 0, 2, 0, 17, 0, 2, 11,183,
+ 0, 4, 11,186, 1,194, 0, 5, 1,194, 0, 0, 1,194, 0, 1, 0, 0, 11,158, 0, 4, 11,169, 0, 7, 2,211, 0, 31, 0, 12,
+ 0,157, 3,109, 0,157, 11,187, 1,189, 11,176, 0, 12, 11,188, 1,190, 11,189, 0, 12, 11,190, 0, 12, 11,191, 0, 4, 0, 17,
+ 0, 4, 0,244, 0, 2, 11,192, 0, 2, 11,193, 0, 7, 11,194, 1,195, 0, 2, 0, 19, 0, 29, 0, 31, 0, 72, 1,196, 0, 5,
+ 1,196, 0, 0, 1,196, 0, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 1,197, 0, 6, 1,196, 11,195, 0, 24, 0, 42,
+ 0, 4, 11,196, 0, 7, 11,197, 0, 4, 11,198, 0, 4, 9,117, 1,198, 0, 3, 1,196, 11,195, 0, 4, 11,196, 0, 7, 11,199,
+ 1,199, 0, 8, 1,196, 11,195, 0, 24, 0, 42, 0, 7, 1, 67, 0, 7, 11,200, 0, 7, 3, 19, 0, 7, 9, 19, 0, 4, 11,196,
+ 0, 4, 11,201, 1,200, 0, 5, 1,196, 11,195, 0, 7, 11,202, 0, 7, 8,100, 0, 7, 2,242, 0, 7, 0, 54, 1,201, 0, 3,
+ 1,196, 11,195, 0, 7, 9, 19, 0, 7, 11,203, 1,145, 0, 4, 0, 7, 11,204, 0, 7, 10,221, 0, 2, 11,205, 0, 2, 1, 72,
+ 1,202, 0, 14, 1,202, 0, 0, 1,202, 0, 1, 0, 12, 11,206, 0, 12, 11,207, 0, 12, 11,208, 0, 0, 0, 18, 0, 4, 0, 29,
+ 0, 4, 0, 17, 0, 4, 11,209, 0, 7, 11,210, 0, 4, 11,198, 0, 4, 9,117, 0, 7, 4, 14, 0, 7, 2,244, 1,153, 0, 23,
+ 0, 4, 11,196, 0, 4, 11,211, 0, 7, 11,212, 0, 7, 2,240, 0, 7, 11,213, 0, 7, 8,236, 0, 7, 11,204, 0, 7, 11,214,
+ 0, 7, 2,223, 0, 7, 10, 88, 0, 7, 4,145, 0, 7, 11,215, 0, 7, 11,216, 0, 7, 11,217, 0, 7, 11,218, 0, 7, 11,219,
+ 0, 7, 11,220, 0, 7, 11,221, 0, 7, 11,222, 0, 7, 11,223, 0, 7, 11,224, 0, 7, 11,225, 0, 12, 11,226, 0,114, 0, 40,
+ 0,113, 11,227, 1,203, 10,171, 0, 58, 11,228, 0, 58, 10,254, 0, 58, 11,229, 1,204, 11,230, 0, 40, 0,160, 0, 40, 11,231,
+ 0, 40, 11,232, 0, 7, 11,233, 0, 7, 11,234, 0, 7, 11,235, 0, 7, 11,236, 0, 7, 11,237, 0, 7, 7,250, 0, 7, 11,238,
+ 0, 7, 1,161, 0, 7, 11,239, 0, 4, 11,240, 0, 4, 11,241, 0, 4, 11,242, 0, 4, 0, 88, 0, 4, 0, 35, 0, 4, 11,243,
+ 0, 2, 11,244, 0, 2, 11,245, 0, 4, 11,246, 0, 7, 2,223, 0, 4, 11,247, 0, 7, 11,248, 0, 4, 11,249, 0, 4, 11,250,
+ 0, 4, 11,251, 0,130, 11,252, 0, 12, 11,253, 0,168, 4, 84, 0, 4, 11,254, 0, 7, 11,255, 0, 7, 12, 0, 0, 4, 0, 67,
+ 0,115, 0, 12, 0,113, 11,227, 0,141, 3, 39, 0, 7, 1,128, 0, 7, 7,250, 0, 7, 12, 1, 0, 7, 12, 2, 0, 7, 12, 3,
+ 0, 2, 12, 4, 0, 2, 12, 5, 0, 2, 12, 6, 0, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 11,227, 0,132, 3, 16,
+ 0,134, 3, 18, 0, 7, 9, 59, 0, 7, 12, 7, 0, 7, 12, 8, 0, 7, 1, 69, 0, 7, 12, 9, 0, 4, 9,152, 0, 4, 3, 12,
+ 0, 2, 0, 15, 0, 2, 0, 35, 0, 4, 0, 67, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
diff --git a/source/blender/editors/gpencil/CMakeLists.txt b/source/blender/editors/gpencil/CMakeLists.txt
index 71199ee9580..7a2f196fd6d 100644
--- a/source/blender/editors/gpencil/CMakeLists.txt
+++ b/source/blender/editors/gpencil/CMakeLists.txt
@@ -22,13 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -43,4 +46,4 @@ set(SRC
gpencil_intern.h
)
-blender_add_lib(bf_editor_gpencil "${SRC}" "${INC}")
+blender_add_lib(bf_editor_gpencil "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c
index b93e4b07302..a275a5f908a 100644
--- a/source/blender/editors/gpencil/drawgpencil.c
+++ b/source/blender/editors/gpencil/drawgpencil.c
@@ -790,7 +790,7 @@ void draw_gpencil_view3d_ext (Scene *scene, View3D *v3d, ARegion *ar, short only
* deal with the camera border, otherwise map the coords to the camera border. */
if ((rv3d->persp == RV3D_CAMOB) && !(G.f & G_RENDER_OGL)) {
rctf rectf;
- view3d_calc_camera_border(scene, ar, rv3d, v3d, &rectf, -1); /* negative shift */
+ ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, &rectf, -1); /* negative shift */
BLI_copy_rcti_rctf(&rect, &rectf);
}
else {
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index 2baefc2de8e..2860d467cef 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -365,7 +365,7 @@ static EnumPropertyItem prop_gpencil_convertmodes[] = {
/* convert the coordinates from the given stroke point into 3d-coordinates
* - assumes that the active space is the 3D-View
*/
-static void gp_strokepoint_convertcoords (bContext *C, bGPDstroke *gps, bGPDspoint *pt, float p3d[3])
+static void gp_strokepoint_convertcoords (bContext *C, bGPDstroke *gps, bGPDspoint *pt, float p3d[3], rctf *subrect)
{
Scene *scene= CTX_data_scene(C);
View3D *v3d= CTX_wm_view3d(C);
@@ -377,41 +377,43 @@ static void gp_strokepoint_convertcoords (bContext *C, bGPDstroke *gps, bGPDspoi
}
else {
float *fp= give_cursor(scene, v3d);
- float dvec[3];
- short mval[2];
- int mx, my;
+ float mvalf[2];
/* get screen coordinate */
if (gps->flag & GP_STROKE_2DSPACE) {
+ int mvali[2];
View2D *v2d= &ar->v2d;
- UI_view2d_view_to_region(v2d, pt->x, pt->y, &mx, &my);
+ UI_view2d_view_to_region(v2d, pt->x, pt->y, mvali, mvali+1);
+ VECCOPY2D(mvalf, mvali);
}
else {
- mx= (int)(pt->x / 100 * ar->winx);
- my= (int)(pt->y / 100 * ar->winy);
+ if(subrect) {
+ mvalf[0]= (((float)pt->x/100.0f) * (subrect->xmax - subrect->xmin)) + subrect->xmin;
+ mvalf[1]= (((float)pt->y/100.0f) * (subrect->ymax - subrect->ymin)) + subrect->ymin;
+ }
+ else {
+ mvalf[0]= (float)pt->x / 100.0f * ar->winx;
+ mvalf[1]= (float)pt->y / 100.0f * ar->winy;
+ }
}
- mval[0]= (short)mx;
- mval[1]= (short)my;
-
+
/* convert screen coordinate to 3d coordinates
* - method taken from editview.c - mouse_cursor()
*/
- project_short_noclip(ar, fp, mval);
- window_to_3d(ar, dvec, mval[0]-mx, mval[1]-my);
- sub_v3_v3v3(p3d, fp, dvec);
+ ED_view3d_win_to_3d(ar, fp, mvalf, p3d);
}
}
/* --- */
/* convert stroke to 3d path */
-static void gp_stroke_to_path (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, Curve *cu)
+static void gp_stroke_to_path (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, Curve *cu, rctf *subrect)
{
bGPDspoint *pt;
Nurb *nu;
BPoint *bp;
int i;
-
+
/* create new 'nurb' within the curve */
nu = (Nurb *)MEM_callocN(sizeof(Nurb), "gpstroke_to_path(nurb)");
@@ -428,7 +430,7 @@ static void gp_stroke_to_path (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, Cur
float p3d[3];
/* get coordinates to add at */
- gp_strokepoint_convertcoords(C, gps, pt, p3d);
+ gp_strokepoint_convertcoords(C, gps, pt, p3d, subrect);
copy_v3_v3(bp->vec, p3d);
/* set settings */
@@ -440,8 +442,27 @@ static void gp_stroke_to_path (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, Cur
BLI_addtail(&cu->nurb, nu);
}
+static int gp_camera_view_subrect(bContext *C, rctf *subrect)
+{
+ View3D *v3d= CTX_wm_view3d(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ if (v3d) {
+ RegionView3D *rv3d= ar->regiondata;
+
+ /* for camera view set the subrect */
+ if (rv3d->persp == RV3D_CAMOB) {
+ Scene *scene= CTX_data_scene(C);
+ ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, subrect, -1); /* negative shift */
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
/* convert stroke to 3d bezier */
-static void gp_stroke_to_bezier (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, Curve *cu)
+static void gp_stroke_to_bezier (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, Curve *cu, rctf *subrect)
{
bGPDspoint *pt;
Nurb *nu;
@@ -463,9 +484,9 @@ static void gp_stroke_to_bezier (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, C
/* get initial coordinates */
pt=gps->points;
if (tot) {
- gp_strokepoint_convertcoords(C, gps, pt, p3d_cur);
+ gp_strokepoint_convertcoords(C, gps, pt, p3d_cur, subrect);
if (tot > 1) {
- gp_strokepoint_convertcoords(C, gps, pt+1, p3d_next);
+ gp_strokepoint_convertcoords(C, gps, pt+1, p3d_next, subrect);
}
}
@@ -493,7 +514,7 @@ static void gp_stroke_to_bezier (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, C
copy_v3_v3(p3d_cur, p3d_next);
if (i + 1 < tot) {
- gp_strokepoint_convertcoords(C, gps, pt+1, p3d_next);
+ gp_strokepoint_convertcoords(C, gps, pt+1, p3d_next, subrect);
}
}
@@ -512,7 +533,10 @@ static void gp_layer_to_curve (bContext *C, bGPdata *gpd, bGPDlayer *gpl, short
bGPDstroke *gps;
Object *ob;
Curve *cu;
-
+
+ /* camera framing */
+ rctf subrect, *subrect_ptr= NULL;
+
/* error checking */
if (ELEM3(NULL, gpd, gpl, gpf))
return;
@@ -521,6 +545,11 @@ static void gp_layer_to_curve (bContext *C, bGPdata *gpd, bGPDlayer *gpl, short
if (gpf->strokes.first == NULL)
return;
+ /* initialize camera framing */
+ if(gp_camera_view_subrect(C, &subrect)) {
+ subrect_ptr= &subrect;
+ }
+
/* init the curve object (remove rotation and get curve data from it)
* - must clear transforms set on object, as those skew our results
*/
@@ -538,10 +567,10 @@ static void gp_layer_to_curve (bContext *C, bGPdata *gpd, bGPDlayer *gpl, short
for (gps= gpf->strokes.first; gps; gps= gps->next) {
switch (mode) {
case GP_STROKECONVERT_PATH:
- gp_stroke_to_path(C, gpl, gps, cu);
+ gp_stroke_to_path(C, gpl, gps, cu, subrect_ptr);
break;
case GP_STROKECONVERT_CURVE:
- gp_stroke_to_bezier(C, gpl, gps, cu);
+ gp_stroke_to_bezier(C, gpl, gps, cu, subrect_ptr);
break;
}
}
@@ -564,8 +593,6 @@ static int gp_convert_layer_exec (bContext *C, wmOperator *op)
bGPdata *gpd= gpencil_data_get_active(C);
bGPDlayer *gpl= gpencil_layer_getactive(gpd);
Scene *scene= CTX_data_scene(C);
- View3D *v3d= CTX_wm_view3d(C);
- float *fp= give_cursor(scene, v3d);
int mode= RNA_enum_get(op->ptr, "type");
/* check if there's data to work with */
@@ -574,9 +601,6 @@ static int gp_convert_layer_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- /* initialise 3d-cursor correction globals */
- initgrabz(CTX_wm_region_view3d(C), fp[0], fp[1], fp[2]);
-
/* handle conversion modes */
switch (mode) {
case GP_STROKECONVERT_PATH:
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 5763fcde705..f4da734473d 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -210,7 +210,7 @@ static void gp_get_3d_reference (tGPsdata *p, float *vec)
/* Stroke Editing ---------------------------- */
/* check if the current mouse position is suitable for adding a new point */
-static short gp_stroke_filtermval (tGPsdata *p, int mval[2], int pmval[2])
+static short gp_stroke_filtermval (tGPsdata *p, const int mval[2], int pmval[2])
{
int dx= abs(mval[0] - pmval[0]);
int dy= abs(mval[1] - pmval[1]);
@@ -239,21 +239,22 @@ static short gp_stroke_filtermval (tGPsdata *p, int mval[2], int pmval[2])
/* convert screen-coordinates to buffer-coordinates */
// XXX this method needs a total overhaul!
-static void gp_stroke_convertcoords (tGPsdata *p, short mval[2], float out[3], float *depth)
+static void gp_stroke_convertcoords (tGPsdata *p, const int mval[2], float out[3], float *depth)
{
bGPdata *gpd= p->gpd;
/* in 3d-space - pt->x/y/z are 3 side-by-side floats */
if (gpd->sbuffer_sflag & GP_STROKE_3DSPACE) {
- if (gpencil_project_check(p) && (view_autodist_simple(p->ar, mval, out, 0, depth))) {
+ if (gpencil_project_check(p) && (ED_view3d_autodist_simple(p->ar, mval, out, 0, depth))) {
/* projecting onto 3D-Geometry
* - nothing more needs to be done here, since view_autodist_simple() has already done it
*/
}
else {
- const short mx=mval[0], my=mval[1];
+ int mval_prj[2];
float rvec[3], dvec[3];
-
+ float mval_f[2];
+
/* Current method just converts each point in screen-coordinates to
* 3D-coordinates using the 3D-cursor as reference. In general, this
* works OK, but it could of course be improved.
@@ -266,20 +267,17 @@ static void gp_stroke_convertcoords (tGPsdata *p, short mval[2], float out[3], f
gp_get_3d_reference(p, rvec);
/* method taken from editview.c - mouse_cursor() */
- project_short_noclip(p->ar, rvec, mval);
- window_to_3d_delta(p->ar, dvec, mval[0]-mx, mval[1]-my);
+ project_int_noclip(p->ar, rvec, mval_prj);
+
+ VECSUB2D(mval_f, mval_prj, mval);
+ ED_view3d_win_to_delta(p->ar, mval_f, dvec);
sub_v3_v3v3(out, rvec, dvec);
}
}
/* 2d - on 'canvas' (assume that p->v2d is set) */
else if ((gpd->sbuffer_sflag & GP_STROKE_2DSPACE) && (p->v2d)) {
- float x, y;
-
- UI_view2d_region_to_view(p->v2d, mval[0], mval[1], &x, &y);
-
- out[0]= x;
- out[1]= y;
+ UI_view2d_region_to_view(p->v2d, mval[0], mval[1], &out[0], &out[1]);
}
#if 0
@@ -315,7 +313,7 @@ static void gp_stroke_convertcoords (tGPsdata *p, short mval[2], float out[3], f
}
/* add current stroke-point to buffer (returns whether point was successfully added) */
-static short gp_stroke_addpoint (tGPsdata *p, int mval[2], float pressure)
+static short gp_stroke_addpoint (tGPsdata *p, const int mval[2], float pressure)
{
bGPdata *gpd= p->gpd;
tGPspoint *pt;
@@ -387,8 +385,8 @@ static short gp_stroke_addpoint (tGPsdata *p, int mval[2], float pressure)
/* temp struct for gp_stroke_smooth() */
typedef struct tGpSmoothCo {
- short x;
- short y;
+ int x;
+ int y;
} tGpSmoothCo;
/* smooth a stroke (in buffer) before storing it */
@@ -417,8 +415,8 @@ static void gp_stroke_smooth (tGPsdata *p)
const tGPspoint *pd= (i+1 < cmx)?(pc+1):(pc);
const tGPspoint *pe= (i+2 < cmx)?(pc+2):(pd);
- spc->x= (short)(0.1*pa->x + 0.2*pb->x + 0.4*pc->x + 0.2*pd->x + 0.1*pe->x);
- spc->y= (short)(0.1*pa->y + 0.2*pb->y + 0.4*pc->y + 0.2*pd->y + 0.1*pe->y);
+ spc->x= (int)(0.1*pa->x + 0.2*pb->x + 0.4*pc->x + 0.2*pd->x + 0.1*pe->x);
+ spc->y= (int)(0.1*pa->y + 0.2*pb->y + 0.4*pc->y + 0.2*pd->y + 0.1*pe->y);
}
/* second pass: apply smoothed coordinates */
@@ -574,7 +572,7 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
/* get an array of depths, far depths are blended */
if (gpencil_project_check(p)) {
- short mval[2], mval_prev[2]= {0};
+ int mval[2], mval_prev[2]= {0};
int interp_depth = 0;
int found_depth = 0;
@@ -583,8 +581,8 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
for (i=0, ptc=gpd->sbuffer; i < gpd->sbuffer_size; i++, ptc++, pt++) {
mval[0]= ptc->x; mval[1]= ptc->y;
- if ((view_autodist_depth(p->ar, mval, depth_margin, depth_arr+i) == 0) &&
- (i && (view_autodist_depth_segment(p->ar, mval, mval_prev, depth_margin + 1, depth_arr+i) == 0))
+ if ((ED_view3d_autodist_depth(p->ar, mval, depth_margin, depth_arr+i) == 0) &&
+ (i && (ED_view3d_autodist_depth_seg(p->ar, mval, mval_prev, depth_margin + 1, depth_arr+i) == 0))
) {
interp_depth= TRUE;
}
@@ -738,7 +736,7 @@ static void gp_stroke_eraser_dostroke (tGPsdata *p, int mval[], int mvalo[], sho
{
bGPDspoint *pt1, *pt2;
int x0=0, y0=0, x1=0, y1=0;
- short xyval[2];
+ int xyval[2];
int i;
if (gps->totpoints == 0) {
@@ -750,7 +748,7 @@ static void gp_stroke_eraser_dostroke (tGPsdata *p, int mval[], int mvalo[], sho
else if (gps->totpoints == 1) {
/* get coordinates */
if (gps->flag & GP_STROKE_3DSPACE) {
- project_short(p->ar, &gps->points->x, xyval);
+ project_int(p->ar, &gps->points->x, xyval);
x0= xyval[0];
y0= xyval[1];
}
@@ -804,11 +802,11 @@ static void gp_stroke_eraser_dostroke (tGPsdata *p, int mval[], int mvalo[], sho
/* get coordinates */
if (gps->flag & GP_STROKE_3DSPACE) {
- project_short(p->ar, &pt1->x, xyval);
+ project_int(p->ar, &pt1->x, xyval);
x0= xyval[0];
y0= xyval[1];
- project_short(p->ar, &pt2->x, xyval);
+ project_int(p->ar, &pt2->x, xyval);
x1= xyval[0];
y1= xyval[1];
}
@@ -1133,7 +1131,7 @@ static void gp_paint_initstroke (tGPsdata *p, short paintmode)
/* for camera view set the subrect */
if (rv3d->persp == RV3D_CAMOB) {
- view3d_calc_camera_border(p->scene, p->ar, NULL, v3d, &p->subrect_data, -1); /* negative shift */
+ ED_view3d_calc_camera_border(p->scene, p->ar, v3d, rv3d, &p->subrect_data, -1); /* negative shift */
p->subrect= &p->subrect_data;
}
}
@@ -1228,7 +1226,7 @@ static void gp_paint_strokeend (tGPsdata *p)
/* need to restore the original projection settings before packing up */
view3d_region_operator_needs_opengl(p->win, p->ar);
- view_autodist_init(p->scene, p->ar, v3d, (p->gpd->flag & GP_DATA_DEPTH_STROKE) ? 1:0);
+ ED_view3d_autodist_init(p->scene, p->ar, v3d, (p->gpd->flag & GP_DATA_DEPTH_STROKE) ? 1:0);
}
/* check if doing eraser or not */
@@ -1416,16 +1414,15 @@ static void gpencil_draw_apply (wmOperator *op, tGPsdata *p)
static void gpencil_draw_apply_event (wmOperator *op, wmEvent *event)
{
tGPsdata *p= op->customdata;
- ARegion *ar= p->ar;
PointerRNA itemptr;
float mousef[2];
int tablet=0;
/* convert from window-space to area-space mouse coordintes */
// NOTE: float to ints conversions, +1 factor is probably used to ensure a bit more accurate rounding...
- p->mval[0]= event->x - ar->winrct.xmin + 1;
- p->mval[1]= event->y - ar->winrct.ymin + 1;
-
+ p->mval[0]= event->mval[0] + 1;
+ p->mval[1]= event->mval[1] + 1;
+
/* handle pressure sensitivity (which is supplied by tablets) */
if (event->custom == EVT_DATA_TABLET) {
wmTabletData *wmtab= event->customdata;
@@ -1501,8 +1498,8 @@ static int gpencil_draw_exec (bContext *C, wmOperator *op)
/* get relevant data for this point from stroke */
RNA_float_get_array(&itemptr, "mouse", mousef);
- p->mval[0] = (short)mousef[0];
- p->mval[1] = (short)mousef[1];
+ p->mval[0] = (int)mousef[0];
+ p->mval[1] = (int)mousef[1];
p->pressure= RNA_float_get(&itemptr, "pressure");
if (RNA_boolean_get(&itemptr, "is_start")) {
diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h
index 36923736068..a029c5c1f12 100644
--- a/source/blender/editors/include/ED_armature.h
+++ b/source/blender/editors/include/ED_armature.h
@@ -117,7 +117,7 @@ void ED_armature_deselect_all_visible(struct Object *obedit);
int ED_do_pose_selectbuffer(struct Scene *scene, struct Base *base, unsigned int *buffer,
short hits, short extend);
-int mouse_armature(struct bContext *C, const short mval[2], int extend);
+int mouse_armature(struct bContext *C, const int mval[2], int extend);
int join_armature_exec(struct bContext *C, struct wmOperator *op);
struct Bone *get_indexed_bone (struct Object *ob, int index);
float ED_rollBoneToVector(EditBone *bone, const float new_up_axis[3], const short axis_only);
diff --git a/source/blender/editors/include/ED_curve.h b/source/blender/editors/include/ED_curve.h
index cfafd38ed15..d78d2846572 100644
--- a/source/blender/editors/include/ED_curve.h
+++ b/source/blender/editors/include/ED_curve.h
@@ -66,11 +66,12 @@ void free_editNurb (struct Object *obedit);
void free_curve_editNurb (struct Curve *cu);
-int mouse_nurb (struct bContext *C, const short mval[2], int extend);
+int mouse_nurb (struct bContext *C, const int mval[2], int extend);
struct Nurb *add_nurbs_primitive(struct bContext *C, float mat[4][4], int type, int newob);
int isNurbsel (struct Nurb *nu);
+void ED_nurb_set_spline_type(struct Nurb *nu, int type);
int join_curve_exec (struct bContext *C, struct wmOperator *op);
diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h
index d06b0d6c4ee..e5715316a31 100644
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@ -56,7 +56,7 @@ struct wmKeyConfig;
* Used as part of the 'stroke cache' used during drawing of new strokes
*/
typedef struct tGPspoint {
- short x, y; /* x and y coordinates of cursor (in relative to area) */
+ int x, y; /* x and y coordinates of cursor (in relative to area) */
float pressure; /* pressure of tablet at this point */
} tGPspoint;
diff --git a/source/blender/editors/include/ED_image.h b/source/blender/editors/include/ED_image.h
index 2c866495503..cfe9ea53d9a 100644
--- a/source/blender/editors/include/ED_image.h
+++ b/source/blender/editors/include/ED_image.h
@@ -68,8 +68,5 @@ int ED_space_image_show_uvshadow(struct SpaceImage *sima, struct Object *obedit)
/* UI level image (texture) updating... render calls own stuff (too) */
void ED_image_update_frame(const struct Main *mainp, int cfra);
-/* image_render.c, export for screen_ops.c, render operator */
-void ED_space_image_output(struct bContext *C);
-
#endif /* ED_IMAGE_H */
diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h
index 7bab563641a..294b9b8475a 100644
--- a/source/blender/editors/include/ED_keyframing.h
+++ b/source/blender/editors/include/ED_keyframing.h
@@ -36,6 +36,7 @@
extern "C" {
#endif
+struct Main;
struct ListBase;
struct ID;
struct Scene;
@@ -190,7 +191,7 @@ KeyingSetInfo *ANIM_keyingset_info_find_named(const char name[]);
/* for RNA type registrations... */
void ANIM_keyingset_info_register(KeyingSetInfo *ksi);
-void ANIM_keyingset_info_unregister(const struct bContext *C, KeyingSetInfo *ksi);
+void ANIM_keyingset_info_unregister(struct Main *bmain, KeyingSetInfo *ksi);
/* cleanup on exit */
void ANIM_keyingset_infos_exit(void);
@@ -210,7 +211,7 @@ struct KeyingSet *ANIM_get_keyingset_for_autokeying(struct Scene *scene, const c
void ANIM_keying_sets_menu_setup(struct bContext *C, const char title[], const char op_name[]);
/* Dynamically populate an enum of Keying Sets */
-struct EnumPropertyItem *ANIM_keying_sets_enum_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
+struct EnumPropertyItem *ANIM_keying_sets_enum_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
/* Check if KeyingSet can be used in the current context */
short ANIM_keyingset_context_ok_poll(struct bContext *C, struct KeyingSet *ks);
diff --git a/source/blender/editors/include/ED_mball.h b/source/blender/editors/include/ED_mball.h
index a742be7337c..2afc3155398 100644
--- a/source/blender/editors/include/ED_mball.h
+++ b/source/blender/editors/include/ED_mball.h
@@ -42,7 +42,7 @@ void ED_keymap_metaball(struct wmKeyConfig *keyconf);
struct MetaElem *add_metaball_primitive(struct bContext *C, float mat[4][4], int type, int newname);
-int mouse_mball(struct bContext *C, const short mval[2], int extend);
+int mouse_mball(struct bContext *C, const int mval[2], int extend);
void free_editMball(struct Object *obedit);
void make_editMball(struct Object *obedit);
diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h
index c3c843154e5..8bb77ad43a0 100644
--- a/source/blender/editors/include/ED_mesh.h
+++ b/source/blender/editors/include/ED_mesh.h
@@ -169,9 +169,9 @@ void EM_project_snap_verts(struct bContext *C, struct ARegion *ar, struct Object
extern unsigned int em_vertoffs, em_solidoffs, em_wireoffs;
void EM_cache_x_mirror_vert(struct Object *ob, struct EditMesh *em);
-int mouse_mesh(struct bContext *C, const short mval[2], short extend);
+int mouse_mesh(struct bContext *C, const int mval[2], short extend);
int EM_check_backbuf(unsigned int index);
-int EM_mask_init_backbuf_border(struct ViewContext *vc, short mcords[][2], short tot, short xmin, short ymin, short xmax, short ymax);
+int EM_mask_init_backbuf_border(struct ViewContext *vc, int mcords[][2], short tot, short xmin, short ymin, short xmax, short ymax);
void EM_free_backbuf(void);
int EM_init_backbuf_border(struct ViewContext *vc, short xmin, short ymin, short xmax, short ymax);
int EM_init_backbuf_circle(struct ViewContext *vc, short xs, short ys, short rads);
@@ -187,10 +187,10 @@ void EM_automerge(struct Scene *scene, struct Object *obedit, int update);
/* editface.c */
void paintface_flush_flags(struct Object *ob);
struct MTFace *EM_get_active_mtface(struct EditMesh *em, struct EditFace **act_efa, struct MCol **mcol, int sloppy);
-int paintface_mouse_select(struct bContext *C, struct Object *ob, const short mval[2], int extend);
+int paintface_mouse_select(struct bContext *C, struct Object *ob, const int mval[2], int extend);
int do_paintface_box_select(struct ViewContext *vc, struct rcti *rect, int select, int extend);
void paintface_deselect_all_visible(struct Object *ob, int action, short flush_flags);
-void paintface_select_linked(struct bContext *C, struct Object *ob, short mval[2], int mode);
+void paintface_select_linked(struct bContext *C, struct Object *ob, int mval[2], int mode);
int paintface_minmax(struct Object *ob, float *min, float *max);
void paintface_hide(struct Object *ob, const int unselected);
@@ -206,10 +206,10 @@ struct bDeformGroup *ED_vgroup_add(struct Object *ob);
struct bDeformGroup *ED_vgroup_add_name(struct Object *ob, const char *name);
void ED_vgroup_delete(struct Object *ob, struct bDeformGroup *defgroup);
void ED_vgroup_select_by_name(struct Object *ob, const char *name);
-void ED_vgroup_data_create(struct ID *id);
+int ED_vgroup_data_create(struct ID *id);
int ED_vgroup_give_array(struct ID *id, struct MDeformVert **dvert_arr, int *dvert_tot);
int ED_vgroup_copy_array(struct Object *ob, struct Object *ob_from);
-void ED_vgroup_mirror(struct Object *ob, int mirror_weights, int flip_vgroups);
+void ED_vgroup_mirror(struct Object *ob, const short mirror_weights, const short flip_vgroups);
int ED_vgroup_object_is_edit_mode(struct Object *ob);
diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h
index 829ad3217a9..dfa457c22de 100644
--- a/source/blender/editors/include/ED_node.h
+++ b/source/blender/editors/include/ED_node.h
@@ -39,6 +39,7 @@ struct Tex;
struct bContext;
struct bNode;
struct ID;
+struct ScrArea;
/* drawnode.c */
void ED_init_node_butfuncs(void);
@@ -51,6 +52,8 @@ void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct
void ED_node_shader_default(struct Material *ma);
void ED_node_composit_default(struct Scene *sce);
void ED_node_texture_default(struct Tex *tex);
+void ED_node_link_intersect_test(struct ScrArea *sa, int test);
+void ED_node_link_insert(struct ScrArea *sa);
/* node ops.c */
void ED_operatormacros_node(void);
diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h
index 3b27fb45f5d..28d0a9520b2 100644
--- a/source/blender/editors/include/ED_object.h
+++ b/source/blender/editors/include/ED_object.h
@@ -126,7 +126,7 @@ void ED_object_constraint_update(struct Object *ob);
void ED_object_constraint_dependency_update(struct Main *bmain, struct Scene *scene, struct Object *ob);
/* object_lattice.c */
-int mouse_lattice(struct bContext *C, const short mval[2], int extend);
+int mouse_lattice(struct bContext *C, const int mval[2], int extend);
void undo_push_lattice(struct bContext *C, const char *name);
/* object_lattice.c */
diff --git a/source/blender/editors/include/ED_particle.h b/source/blender/editors/include/ED_particle.h
index f29284fe64d..f2973d0d070 100644
--- a/source/blender/editors/include/ED_particle.h
+++ b/source/blender/editors/include/ED_particle.h
@@ -60,10 +60,10 @@ void PE_hide_keys_time(struct Scene *scene, struct PTCacheEdit *edit, float cfra
void PE_update_object(struct Scene *scene, struct Object *ob, int useflag);
/* selection tools */
-int PE_mouse_particles(struct bContext *C, const short mval[2], int extend);
+int PE_mouse_particles(struct bContext *C, const int mval[2], int extend);
int PE_border_select(struct bContext *C, struct rcti *rect, int select, int extend);
-int PE_circle_select(struct bContext *C, int selecting, const short mval[2], float rad);
-int PE_lasso_select(struct bContext *C, short mcords[][2], short moves, short extend, short select);
+int PE_circle_select(struct bContext *C, int selecting, const int mval[2], float rad);
+int PE_lasso_select(struct bContext *C, int mcords[][2], short moves, short extend, short select);
void PE_deselect_all_visible(struct PTCacheEdit *edit);
/* undo */
@@ -71,8 +71,9 @@ void PE_undo_push(struct Scene *scene, const char *str);
void PE_undo_step(struct Scene *scene, int step);
void PE_undo(struct Scene *scene);
void PE_redo(struct Scene *scene);
-void PE_undo_menu(struct Scene *scene, struct Object *ob);
int PE_undo_valid(struct Scene *scene);
+void PE_undo_number(struct Scene *scene, int nr);
+char *PE_undo_get_name(struct Scene *scene, int nr, int *active);
#endif /* ED_PARTICLE_H */
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index 93ce82fa483..f2ef4e16852 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -90,6 +90,7 @@ void ED_area_headerprint(ScrArea *sa, const char *str);
void ED_area_newspace(struct bContext *C, ScrArea *sa, int type);
void ED_area_prevspace(struct bContext *C, ScrArea *sa);
void ED_area_swapspace(struct bContext *C, ScrArea *sa1, ScrArea *sa2);
+int ED_area_headersize(void);
/* screens */
void ED_screens_initialize(struct wmWindowManager *wm);
@@ -106,7 +107,7 @@ void ED_screen_set_subwinactive(struct bContext *C, struct wmEvent *event);
void ED_screen_exit(struct bContext *C, struct wmWindow *window, struct bScreen *screen);
void ED_screen_animation_timer(struct bContext *C, int redraws, int refresh, int sync, int enable);
void ED_screen_animation_timer_update(struct bScreen *screen, int redraws, int refresh);
-int ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type);
+ScrArea *ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type);
void ED_screen_full_prevspace(struct bContext *C, ScrArea *sa);
void ED_screen_full_restore(struct bContext *C, ScrArea *sa);
struct ScrArea *ED_screen_full_toggle(struct bContext *C, struct wmWindow *win, struct ScrArea *sa);
diff --git a/source/blender/editors/include/ED_types.h b/source/blender/editors/include/ED_types.h
index 0218b8d9c2d..c1c31372011 100644
--- a/source/blender/editors/include/ED_types.h
+++ b/source/blender/editors/include/ED_types.h
@@ -40,10 +40,6 @@
#define SELECT 1
#define ACTIVE 2
-/* buttons */
-#define XIC 20
-#define YIC 20
-
/* proposal = put scene pointers on function calls? */
// #define BASACT (scene->basact)
// #define OBACT (BASACT? BASACT->object: NULL)
diff --git a/source/blender/editors/include/ED_util.h b/source/blender/editors/include/ED_util.h
index 77b754519fb..5e004fd8d47 100644
--- a/source/blender/editors/include/ED_util.h
+++ b/source/blender/editors/include/ED_util.h
@@ -59,6 +59,7 @@ void ED_undo_redo (struct bContext *C);
void ED_OT_undo (struct wmOperatorType *ot);
void ED_OT_undo_push (struct wmOperatorType *ot);
void ED_OT_redo (struct wmOperatorType *ot);
+void ED_OT_undo_history (struct wmOperatorType *ot);
int ED_undo_operator_repeat(struct bContext *C, struct wmOperator *op);
/* convenience since UI callbacks use this mostly*/
@@ -76,17 +77,12 @@ void undo_editmode_push(struct bContext *C, const char *name,
int (*validate_undo)(void *, void *));
-void *undo_editmode_get_prev (struct Object *ob);
-struct uiBlock *editmode_undohistorymenu(struct bContext *C, struct ARegion *ar, void *arg_unused);
-void undo_editmode_menu (struct bContext *C);
void undo_editmode_clear (void);
-void undo_editmode_step (struct bContext *C, int step);
/* crazyspace.c */
float *crazyspace_get_mapped_editverts(struct Scene *scene, struct Object *obedit);
void crazyspace_set_quats_editmesh(struct EditMesh *em, float *origcos, float *mappedcos, float *quats);
void crazyspace_set_quats_mesh(struct Mesh *me, float *origcos, float *mappedcos, float *quats);
-int editmesh_get_first_deform_matrices(struct Scene *scene, struct Object *ob, struct EditMesh *em, float (**deformmats)[3][3], float (**deformcos)[3]);
int sculpt_get_first_deform_matrices(struct Scene *scene, struct Object *ob, float (**deformmats)[3][3], float (**deformcos)[3]);
void crazyspace_build_sculpt(struct Scene *scene, struct Object *ob, float (**deformmats)[3][3], float (**deformcos)[3]);
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index 297bd234edd..dfe0a304748 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -64,7 +64,7 @@ typedef struct ViewContext {
struct View3D *v3d;
struct RegionView3D *rv3d;
struct EditMesh *em;
- short mval[2];
+ int mval[2];
} ViewContext;
typedef struct ViewDepths {
@@ -80,20 +80,123 @@ typedef struct ViewDepths {
float *give_cursor(struct Scene *scene, struct View3D *v3d);
int initgrabz(struct RegionView3D *rv3d, float x, float y, float z);
-void window_to_3d(struct ARegion *ar, float out[3], short mx, short my);
-void window_to_3d_delta(struct ARegion *ar, float out[3], short mx, short my);
-void window_to_3d_vector(struct ARegion *ar, float out[3], short mx, short my);
+
+/**
+ * Calculate a 3d location from 2d window coordinates.
+ * @param ar The region (used for the window width and height).
+ * @param depth_pt The reference location used to calculate the Z depth.
+ * @param mval The area relative location (such as event->mval converted to floats).
+ * @param out The resulting world-space location.
+ */
+void ED_view3d_win_to_3d(struct ARegion *ar, const float depth_pt[3], const float mval[2], float out[3]);
+
+/**
+ * Calculate a 3d difference vector from 2d window offset.
+ * note that initgrabz() must be called first to determine
+ * the depth used to calculate the delta.
+ * @param ar The region (used for the window width and height).
+ * @param mval The area relative 2d difference (such as event->mval[0] - other_x).
+ * @param out The resulting world-space delta.
+ */
+void ED_view3d_win_to_delta(struct ARegion *ar, const float mval[2], float out[3]);
+
+/**
+ * Calculate a 3d direction vector from 2d window coordinates.
+ * This direction vector starts and the view in the direction of the 2d window coordinates.
+ * In orthographic view all window coordinates yield the same vector.
+ * @param ar The region (used for the window width and height).
+ * @param mval The area relative 2d location (such as event->mval converted to floats).
+ * @param out The resulting normalized world-space direction vector.
+ */
+void ED_view3d_win_to_vector(struct ARegion *ar, const float mval[2], float out[3]);
+
+/**
+ * Calculate a 3d segment from 2d window coordinates.
+ * This ray_start is located at the viewpoint, ray_end is a far point.
+ * ray_start and ray_end are clipped by the view near and far limits
+ * so points along this line are always in view.
+ * In orthographic view all resulting segments will be parallel.
+ * @param ar The region (used for the window width and height).
+ * @param v3d The 3d viewport (used for near and far clipping range).
+ * @param mval The area relative 2d location (such as event->mval, converted into float[2]).
+ * @param ray_start The world-space starting point of the segment.
+ * @param ray_end The world-space end point of the segment.
+ */
+void ED_view3d_win_to_segment_clip(struct ARegion *ar, struct View3D *v3d, const float mval[2], float ray_start[3], float ray_end[3]);
+
+/**
+ * Calculate a 3d viewpoint and direction vector from 2d window coordinates.
+ * This ray_start is located at the viewpoint, ray_normal is the direction towards mval.
+ * ray_start is clipped by the view near limit so points in front of it are always in view.
+ * In orthographic view the resulting ray_normal will match the view vector.
+ * @param ar The region (used for the window width and height).
+ * @param v3d The 3d viewport (used for near clipping value).
+ * @param out The resulting normalized world-space direction vector.
+ * @param mval The area relative 2d location (such as event->mval, converted into float[2]).
+ * @param ray_start The world-space starting point of the segment.
+ * @param ray_normal The normalized world-space direction of towards mval.
+ */
+void ED_view3d_win_to_ray(struct ARegion *ar, struct View3D *v3d, const float mval[2], float ray_start[3], float ray_normal[3]);
+
+/**
+ * Calculate a normalized 3d direction vector from the viewpoint towards a global location.
+ * In orthographic view the resulting vector will match the view vector.
+ * @param ar The region (used for the window width and height).
+ * @param coord The world-space location.
+ * @param vec The resulting normalized vector.
+ */
+void ED_view3d_global_to_vector(struct RegionView3D *rv3d, const float coord[3], float vec[3]);
+
+/**
+ * Calculate the view transformation matrix from RegionView3D input.
+ * The resulting matrix is equivilent to RegionView3D.viewinv
+ * @param mat The view 4x4 transformation matrix to calculate.
+ * @param ofs The view offset, normally from RegionView3D.ofs.
+ * @param quat The view rotation, quaternion normally from RegionView3D.viewquat.
+ * @param dist The view distance from ofs, normally from RegionView3D.dist.
+ */
+void ED_view3d_to_m4(float mat[][4], const float ofs[3], const float quat[4], const float dist);
+
+/**
+ * Set the view transformation from a 4x4 matrix.
+ * @param mat The view 4x4 transformation matrix to assign.
+ * @param ofs The view offset, normally from RegionView3D.ofs.
+ * @param quat The view rotation, quaternion normally from RegionView3D.viewquat.
+ * @param dist The view distance from ofs, normally from RegionView3D.dist.
+ */
+void ED_view3d_from_m4(float mat[][4], float ofs[3], float quat[4], float *dist);
+
+/**
+ * Set the RegionView3D members from an objects transformation and optionally lens.
+ * @param ob The object to set the view to.
+ * @param ofs The view offset to be set, normally from RegionView3D.ofs.
+ * @param quat The view rotation to be set, quaternion normally from RegionView3D.viewquat.
+ * @param dist The view distance from ofs to be set, normally from RegionView3D.dist.
+ */
+void ED_view3d_from_object(struct Object *ob, float ofs[3], float quat[4], float *dist, float *lens);
+
+/**
+ * Set the object transformation from RegionView3D members.
+ * @param ob The object which has the transformation assigned.
+ * @param ofs The view offset, normally from RegionView3D.ofs.
+ * @param quat The view rotation, quaternion normally from RegionView3D.viewquat.
+ * @param dist The view distance from ofs, normally from RegionView3D.dist.
+ */
+void ED_view3d_to_object(struct Object *ob, const float ofs[3], const float quat[4], const float dist);
+
+#if 0 /* UNUSED */
void view3d_unproject(struct bglMats *mats, float out[3], const short x, const short y, const float z);
+#endif
/* Depth buffer */
-void view3d_update_depths(struct ARegion *ar);
-float read_cached_depth(struct ViewContext *vc, int x, int y);
-void request_depth_update(struct RegionView3D *rv3d);
+void ED_view3d_depth_update(struct ARegion *ar);
+float ED_view3d_depth_read_cached(struct ViewContext *vc, int x, int y);
+void ED_view3d_depth_tag_update(struct RegionView3D *rv3d);
/* Projection */
#define IS_CLIPPED 12000
-void view3d_calculate_clipping(struct BoundBox *bb, float planes[4][4], struct bglMats *mats, struct rcti *rect);
+void ED_view3d_calc_clipping(struct BoundBox *bb, float planes[4][4], struct bglMats *mats, struct rcti *rect);
void project_short(struct ARegion *ar, const float vec[3], short adr[2]);
void project_short_noclip(struct ARegion *ar, const float vec[3], short adr[2]);
@@ -104,17 +207,12 @@ void project_int_noclip(struct ARegion *ar, const float vec[3], int adr[2]);
void project_float(struct ARegion *ar, const float vec[3], float adr[2]);
void project_float_noclip(struct ARegion *ar, const float vec[3], float adr[2]);
-void viewvector(struct RegionView3D *rv3d, float coord[3], float vec[3]);
-
-void viewline(struct ARegion *ar, struct View3D *v3d, float mval[2], float ray_start[3], float ray_end[3]);
-void viewray(struct ARegion *ar, struct View3D *v3d, float mval[2], float ray_start[3], float ray_normal[3]);
-
-int get_view3d_cliprange(struct View3D *v3d, struct RegionView3D *rv3d, float *clipsta, float *clipend);
-int get_view3d_viewplane(struct View3D *v3d, struct RegionView3D *rv3d, int winxi, int winyi, struct rctf *viewplane, float *clipsta, float *clipend, float *pixsize);
-int get_view3d_ortho(struct View3D *v3d, struct RegionView3D *rv3d);
-void view3d_get_object_project_mat(struct RegionView3D *v3d, struct Object *ob, float pmat[4][4]);
-void view3d_project_float(struct ARegion *a, const float vec[3], float adr[2], float mat[4][4]);
-void view3d_calc_camera_border(struct Scene *scene, struct ARegion *ar, struct RegionView3D *rv3d, struct View3D *v3d, struct rctf *viewborder_r, short do_shift);
+void ED_view3d_ob_clip_range_get(struct Object *ob, float *lens, float *clipsta, float *clipend);
+int ED_view3d_clip_range_get(struct View3D *v3d, struct RegionView3D *rv3d, float *clipsta, float *clipend);
+int ED_view3d_viewplane_get(struct View3D *v3d, struct RegionView3D *rv3d, int winxi, int winyi, struct rctf *viewplane, float *clipsta, float *clipend, float *pixsize);
+void ED_view3d_ob_project_mat_get(struct RegionView3D *v3d, struct Object *ob, float pmat[4][4]);
+void ED_view3d_project_float(struct ARegion *a, const float vec[3], float adr[2], float mat[4][4]);
+void ED_view3d_calc_camera_border(struct Scene *scene, struct ARegion *ar, struct View3D *v3d, struct RegionView3D *rv3d, struct rctf *viewborder_r, short do_shift);
/* drawobject.c iterators */
void mesh_foreachScreenVert(struct ViewContext *vc, void (*func)(void *userData, struct EditVert *eve, int x, int y, int index), void *userData, int clipVerts);
@@ -124,27 +222,27 @@ void nurbs_foreachScreenVert(struct ViewContext *vc, void (*func)(void *userData
void lattice_foreachScreenVert(struct ViewContext *vc, void (*func)(void *userData, struct BPoint *bp, int x, int y), void *userData);
void ED_view3d_local_clipping(struct RegionView3D *rv3d, float mat[][4]);
-int view3d_test_clipping(struct RegionView3D *rv3d, const float vec[3], const int local);
-void view3d_align_axis_to_vector(struct View3D *v3d, struct RegionView3D *rv3d, int axisidx, float vec[3]);
-float view3d_pixel_size(struct RegionView3D *rv3d, const float co[3]);
+int ED_view3d_test_clipping(struct RegionView3D *rv3d, const float vec[3], const int local);
+void ED_view3d_align_axis_to_vector(struct View3D *v3d, struct RegionView3D *rv3d, int axisidx, float vec[3]);
+float ED_view3d_pixel_size(struct RegionView3D *rv3d, const float co[3]);
void drawcircball(int mode, const float cent[3], float rad, float tmat[][4]);
/* backbuffer select and draw support */
void view3d_validate_backbuf(struct ViewContext *vc);
struct ImBuf *view3d_read_backbuf(struct ViewContext *vc, short xmin, short ymin, short xmax, short ymax);
-unsigned int view3d_sample_backbuf_rect(struct ViewContext *vc, const short mval[2], int size, unsigned int min, unsigned int max, int *dist, short strict,
+unsigned int view3d_sample_backbuf_rect(struct ViewContext *vc, const int mval[2], int size, unsigned int min, unsigned int max, int *dist, short strict,
void *handle, unsigned int (*indextest)(void *handle, unsigned int index));
unsigned int view3d_sample_backbuf(struct ViewContext *vc, int x, int y);
/* draws and does a 4x4 sample */
-int view_autodist(struct Scene *scene, struct ARegion *ar, struct View3D *v3d, const short mval[2], float mouse_worldloc[3]);
+int ED_view3d_autodist(struct Scene *scene, struct ARegion *ar, struct View3D *v3d, const int mval[2], float mouse_worldloc[3]);
-/* only draw so view_autodist_simple can be called many times after */
-int view_autodist_init(struct Scene *scene, struct ARegion *ar, struct View3D *v3d, int mode);
-int view_autodist_simple(struct ARegion *ar, const short mval[2], float mouse_worldloc[3], int margin, float *force_depth);
-int view_autodist_depth(struct ARegion *ar, const short mval[2], int margin, float *depth);
-int view_autodist_depth_segment(struct ARegion *ar, const short mval_sta[2], const short mval_end[2], int margin, float *depth);
+/* only draw so ED_view3d_autodist_simple can be called many times after */
+int ED_view3d_autodist_init(struct Scene *scene, struct ARegion *ar, struct View3D *v3d, int mode);
+int ED_view3d_autodist_simple(struct ARegion *ar, const int mval[2], float mouse_worldloc[3], int margin, float *force_depth);
+int ED_view3d_autodist_depth(struct ARegion *ar, const int mval[2], int margin, float *depth);
+int ED_view3d_autodist_depth_seg(struct ARegion *ar, const int mval_sta[2], const int mval_end[2], int margin, float *depth);
/* select */
#define MAXPICKBUF 10000
@@ -153,13 +251,13 @@ short view3d_opengl_select(struct ViewContext *vc, unsigned int *buffer, unsigne
void view3d_set_viewcontext(struct bContext *C, struct ViewContext *vc);
void view3d_operator_needs_opengl(const struct bContext *C);
void view3d_region_operator_needs_opengl(struct wmWindow *win, struct ARegion *ar);
-int view3d_get_view_aligned_coordinate(struct ViewContext *vc, float fp[3], const short mval[2], const short do_fallback);
+int view3d_get_view_aligned_coordinate(struct ViewContext *vc, float fp[3], const int mval[2], const short do_fallback);
void view3d_get_transformation(struct ARegion *ar, struct RegionView3D *rv3d, struct Object *ob, struct bglMats *mats);
/* XXX should move to BLI_math */
int edge_inside_circle(short centx, short centy, short rad, short x1, short y1, short x2, short y2);
-int lasso_inside(short mcords[][2], short moves, short sx, short sy);
-int lasso_inside_edge(short mcords[][2], short moves, int x0, int y0, int x1, int y1);
+int lasso_inside(int mcords[][2], short moves, int sx, int sy);
+int lasso_inside_edge(int mcords[][2], short moves, int x0, int y0, int x1, int y1);
/* get 3d region from context, also if mouse is in header or toolbar */
struct RegionView3D *ED_view3d_context_rv3d(struct bContext *C);
@@ -167,6 +265,7 @@ struct ARegion *ED_view3d_context_region_unlock(struct bContext *C);
int ED_operator_rv3d_unlock_poll(struct bContext *C);
void ED_view3d_init_mats_rv3d(struct Object *ob, struct RegionView3D *rv3d);
+void ED_view3d_init_mats_rv3d_gl(struct Object *ob, struct RegionView3D *rv3d);
int ED_view3d_scene_layer_set(int lay, const int *values, int *active);
@@ -178,18 +277,18 @@ struct ImBuf *ED_view3d_draw_offscreen_imbuf(struct Scene *scene, struct View3D
struct ImBuf *ED_view3d_draw_offscreen_imbuf_simple(Scene *scene, struct Object *camera, int width, int height, unsigned int flag, int drawtype, char err_out[256]);
-Base *ED_view3d_give_base_under_cursor(struct bContext *C, const short mval[2]);
+Base *ED_view3d_give_base_under_cursor(struct bContext *C, const int mval[2]);
void ED_view3d_quadview_update(struct ScrArea *sa, struct ARegion *ar, short do_clip);
int ED_view3d_lock(struct RegionView3D *rv3d);
unsigned int ED_view3d_datamask(struct Scene *scene, struct View3D *v3d);
unsigned int ED_viewedit_datamask(struct bScreen *screen);
-
-/* assigning view matrix */
-void view3d_apply_mat4(float mat[][4], float *ofs, float *quat, float *dist);
-void view3d_apply_ob(struct Object *ob, float *ofs, float *quat, float *dist, float *lens);
-int view3d_is_ortho(struct View3D *v3d, struct RegionView3D *rv3d);
+/* camera lock functions */
+int ED_view3d_camera_lock_check(struct View3D *v3d, struct RegionView3D *rv3d);
+/* copy the camera to the view before starting a view transformation */
+void ED_view3d_camera_lock_init(struct View3D *v3d, struct RegionView3D *rv3d);
+/* copy the view to the camera */
+void ED_view3d_camera_lock_sync(struct View3D *v3d, struct RegionView3D *rv3d);
#endif /* ED_VIEW3D_H */
-
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index d6988aa9618..61e19655f8d 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -35,6 +35,7 @@
#define UI_INTERFACE_H
#include "RNA_types.h"
+#include "DNA_userdef_types.h"
/* Struct Declarations */
@@ -100,8 +101,8 @@ typedef struct uiLayout uiLayout;
#define UI_BLOCK_RET_1 4 /* XXX 2.5 not implemented */
#define UI_BLOCK_NUMSELECT 8
/*#define UI_BLOCK_ENTER_OK 16*/ /*UNUSED*/
-/*#define UI_BLOCK_NOSHADOW 32*/ /*UNUSED*/
-/*#define UI_BLOCK_UNUSED 64*/ /*UNUSED*/
+#define UI_BLOCK_CLIPBOTTOM 32
+#define UI_BLOCK_CLIPTOP 64
#define UI_BLOCK_MOVEMOUSE_QUIT 128
#define UI_BLOCK_KEEP_OPEN 256
#define UI_BLOCK_POPUP 512
@@ -297,10 +298,12 @@ void uiPupMenuInvoke(struct bContext *C, const char *idname); /* popup registere
* but allow using all button types and creating an own layout. */
typedef uiBlock* (*uiBlockCreateFunc)(struct bContext *C, struct ARegion *ar, void *arg1);
+typedef void (*uiBlockCancelFunc)(void *arg1);
void uiPupBlock(struct bContext *C, uiBlockCreateFunc func, void *arg);
void uiPupBlockO(struct bContext *C, uiBlockCreateFunc func, void *arg, const char *opname, int opcontext);
-void uiPupBlockOperator(struct bContext *C, uiBlockCreateFunc func, struct wmOperator *op, int opcontext);
+void uiPupBlockEx(struct bContext *C, uiBlockCreateFunc func, uiBlockCancelFunc cancel_func, void *arg);
+/* void uiPupBlockOperator(struct bContext *C, uiBlockCreateFunc func, struct wmOperator *op, int opcontext); */ /* UNUSED */
void uiPupBlockClose(struct bContext *C, uiBlock *block);
@@ -622,8 +625,8 @@ void UI_exit(void);
#define UI_LAYOUT_MENU 2
#define UI_LAYOUT_TOOLBAR 3
-#define UI_UNIT_X 20
-#define UI_UNIT_Y 20
+#define UI_UNIT_X U.widget_unit
+#define UI_UNIT_Y U.widget_unit
#define UI_LAYOUT_ALIGN_EXPAND 0
#define UI_LAYOUT_ALIGN_LEFT 1
diff --git a/source/blender/editors/include/UI_interface_icons.h b/source/blender/editors/include/UI_interface_icons.h
index 50b14cb832a..b6837a4b3c9 100644
--- a/source/blender/editors/include/UI_interface_icons.h
+++ b/source/blender/editors/include/UI_interface_icons.h
@@ -49,6 +49,10 @@ typedef struct IconFile {
#define ICON_DEFAULT_HEIGHT 16
#define ICON_DEFAULT_WIDTH 16
+
+#define ICON_DEFAULT_HEIGHT_SCALE (UI_UNIT_Y * 0.8f)
+#define ICON_DEFAULT_WIDTH_SCALE (UI_UNIT_X * 0.8f)
+
#define PREVIEW_DEFAULT_HEIGHT 96
/*
diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index cf0c903e0a5..cc4c1eaa21c 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../imbuf
../../makesdna
@@ -32,6 +32,9 @@ set(INC
../../python
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -60,8 +63,12 @@ if(WITH_INTERNATIONAL)
add_definitions(-DINTERNATIONAL)
endif()
+if(WITH_HEADLESS)
+ add_definitions(-DWITH_HEADLESS)
+endif()
+
if(WITH_PYTHON)
add_definitions(-DWITH_PYTHON)
endif()
-blender_add_lib(bf_editor_interface "${SRC}" "${INC}")
+blender_add_lib(bf_editor_interface "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index e70b793cfb0..8aed0d58a07 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -74,6 +74,13 @@
#define MENU_ITEM_HEIGHT 20
#define MENU_SEP_HEIGHT 6
+#define PRECISION_FLOAT_MAX 6
+#define PRECISION_FLOAT_MAX_POW 1000000 /* pow(10, PRECISION_FLOAT_MAX) */
+
+/* avoid unneeded calls to ui_get_but_val */
+#define UI_BUT_VALUE_UNSET DBL_MAX
+#define UI_GET_BUT_VALUE_INIT(_but, _value) if(_value == DBL_MAX) { (_value)= ui_get_but_val(_but); }
+
/*
* a full doc with API notes can be found in bf-blender/trunk/blender/doc/guides/interface_API.txt
*
@@ -449,6 +456,57 @@ void uiCenteredBoundsBlock(uiBlock *block, int addval)
/* link line drawing is not part of buttons or theme.. so we stick with it here */
+static int ui_but_float_precision(uiBut *but, double value)
+{
+ int prec;
+
+ /* first check if prec is 0 and fallback to a simple default */
+ if((prec= (int)but->a2) == 0) {
+ prec= (but->hardmax < 10.001f) ? 3 : 2;
+ }
+
+ /* check on the number of decimal places neede to display
+ * the number, this is so 0.00001 is not displayed as 0.00,
+ * _but_, this is only for small values si 10.0001 will not get
+ * the same treatment */
+ if(value != 0.0 && (value= ABS(value)) < 0.1) {
+ int value_i= (int)((value * PRECISION_FLOAT_MAX_POW) + 0.5);
+ if(value_i != 0) {
+ const int prec_span= 3; /* show: 0.01001, 5 would allow 0.0100001 for eg. */
+ int test_prec;
+ int prec_min= -1;
+ int dec_flag= 0;
+ int i= PRECISION_FLOAT_MAX;
+ while(i && value_i) {
+ if(value_i % 10) {
+ dec_flag |= 1<<i;
+ prec_min= i;
+ }
+ value_i /= 10;
+ i--;
+ }
+
+ /* even though its a small value, if the second last digit is not 0, use it */
+ test_prec = prec_min;
+
+ dec_flag= (dec_flag >> (prec_min + 1)) & ((1 << prec_span) - 1);
+
+ while(dec_flag) {
+ test_prec++;
+ dec_flag = dec_flag >> 1;
+ }
+
+ if(test_prec > prec) {
+ prec= test_prec;
+ }
+ }
+ }
+
+ CLAMP(prec, 1, PRECISION_FLOAT_MAX);
+
+ return prec;
+}
+
static void ui_draw_linkline(uiLinkLine *line)
{
rcti rect;
@@ -556,7 +614,7 @@ static int ui_but_update_from_old_block(const bContext *C, uiBlock *block, uiBut
// but->flag= oldbut->flag;
#else
/* exception! redalert flag can't be update from old button.
- * perhaps it should only copy spesific flags rather then all. */
+ * perhaps it should only copy spesific flags rather than all. */
// but->flag= (oldbut->flag & ~UI_BUT_REDALERT) | (but->flag & UI_BUT_REDALERT);
#endif
// but->active= oldbut->active;
@@ -892,13 +950,14 @@ void uiDrawBlock(const bContext *C, uiBlock *block)
/* widgets */
for(but= block->buttons.first; but; but= but->next) {
- ui_but_to_pixelrect(&rect, ar, block, but);
+ if(!(but->flag & (UI_HIDDEN|UI_SCROLLED))) {
+ ui_but_to_pixelrect(&rect, ar, block, but);
- if(!(but->flag & UI_HIDDEN) &&
/* XXX: figure out why invalid coordinates happen when closing render window */
/* and material preview is redrawn in main window (temp fix for bug #23848) */
- rect.xmin < rect.xmax && rect.ymin < rect.ymax)
- ui_draw_but(C, ar, &style, but, &rect);
+ if(rect.xmin < rect.xmax && rect.ymin < rect.ymax)
+ ui_draw_but(C, ar, &style, but, &rect);
+ }
}
/* restore matrix */
@@ -912,17 +971,16 @@ void uiDrawBlock(const bContext *C, uiBlock *block)
/* ************* EVENTS ************* */
-static void ui_is_but_sel(uiBut *but)
+static void ui_is_but_sel(uiBut *but, double *value)
{
- double value; /* only initialized when needed, to avoid calling when not used */
short push=0, true=1;
if(ELEM3(but->type, TOGN, ICONTOGN, OPTIONN)) true= 0;
if( but->bit ) {
int lvalue;
- value= ui_get_but_val(but);
- lvalue= (int)value;
+ UI_GET_BUT_VALUE_INIT(but, *value)
+ lvalue= (int)*value;
if( BTST(lvalue, (but->bitnr)) ) push= true;
else push= !true;
}
@@ -942,24 +1000,24 @@ static void ui_is_but_sel(uiBut *but)
case BUT_TOGDUAL:
case ICONTOG:
case OPTION:
- value= ui_get_but_val(but);
- if(value != (double)but->hardmin) push= 1;
+ UI_GET_BUT_VALUE_INIT(but, *value)
+ if(*value != (double)but->hardmin) push= 1;
break;
case ICONTOGN:
case TOGN:
case OPTIONN:
- value= ui_get_but_val(but);
- if(value==0.0) push= 1;
+ UI_GET_BUT_VALUE_INIT(but, *value)
+ if(*value==0.0) push= 1;
break;
case ROW:
case LISTROW:
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, *value)
/* support for rna enum buts */
if(but->rnaprop && (RNA_property_flag(but->rnaprop) & PROP_ENUM_FLAG)) {
- if((int)value & (int)but->hardmax) push= 1;
+ if((int)*value & (int)but->hardmax) push= 1;
}
else {
- if(value == (double)but->hardmax) push= 1;
+ if(*value == (double)but->hardmax) push= 1;
}
break;
case COL:
@@ -1330,6 +1388,10 @@ void ui_set_but_val(uiBut *but, double value)
break;
}
}
+
+ /* we can't be sure what RNA set functions actually do,
+ * so leave this unset */
+ value= UI_BUT_VALUE_UNSET;
}
else if(but->pointype==0);
else if(but->type==HSVSLI ) {
@@ -1370,19 +1432,19 @@ void ui_set_but_val(uiBut *but, double value)
/* then set value with possible edit override */
if(but->editval)
- *but->editval= value;
+ value= *but->editval= value;
else if(but->pointype==CHA)
- *((char *)but->poin)= (char)value;
+ value= *((char *)but->poin)= (char)value;
else if(but->pointype==SHO)
- *((short *)but->poin)= (short)value;
+ value= *((short *)but->poin)= (short)value;
else if(but->pointype==INT)
- *((int *)but->poin)= (int)value;
+ value= *((int *)but->poin)= (int)value;
else if(but->pointype==FLO)
- *((float *)but->poin)= (float)value;
+ value= *((float *)but->poin)= (float)value;
}
/* update select flag */
- ui_is_but_sel(but);
+ ui_is_but_sel(but, &value);
}
int ui_get_but_string_max_length(uiBut *but)
@@ -1444,8 +1506,8 @@ static void ui_get_but_string_unit(uiBut *but, char *str, int len_max, double va
if(scene->unit.scale_length<0.0001f) scene->unit.scale_length= 1.0f; // XXX do_versions
/* Sanity checks */
- if(precision>7) precision= 7;
- else if(precision==0) precision= 2;
+ if(precision > PRECISION_FLOAT_MAX) precision= PRECISION_FLOAT_MAX;
+ else if(precision==0) precision= 2;
bUnit_AsString(str, len_max, ui_get_but_scale_unit(but, value), precision, scene->unit.system, unit_type>>16, do_split, pad);
}
@@ -1529,10 +1591,7 @@ void ui_get_but_string(uiBut *but, char *str, int maxlen)
ui_get_but_string_unit(but, str, maxlen, value, 0);
}
else {
- int prec= (int)but->a2;
- if(prec==0) prec= 3;
- else CLAMP(prec, 1, 7);
-
+ const int prec= ui_but_float_precision(but, value);
BLI_snprintf(str, maxlen, "%.*f", prec, value);
}
}
@@ -1668,23 +1727,20 @@ int ui_set_but_string(bContext *C, uiBut *but, const char *str)
return 0;
}
-void ui_set_but_default(bContext *C, uiBut *but, short all)
+void ui_set_but_default(bContext *C, short all)
{
- /* if there is a valid property that is editable... */
- if (but->rnapoin.data && but->rnaprop && RNA_property_editable(&but->rnapoin, but->rnaprop)) {
- int index = (all)? -1 : but->rnaindex;
-
- if(RNA_property_reset(&but->rnapoin, but->rnaprop, index)) {
- /* perform updates required for this property */
- RNA_property_update(C, &but->rnapoin, but->rnaprop);
- }
- }
+ PointerRNA ptr;
+
+ WM_operator_properties_create(&ptr, "UI_OT_reset_default_button");
+ RNA_boolean_set(&ptr, "all", all);
+ WM_operator_name_call(C, "UI_OT_reset_default_button", WM_OP_EXEC_DEFAULT, &ptr);
+ WM_operator_properties_free(&ptr);
}
static double soft_range_round_up(double value, double max)
{
/* round up to .., 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, .. */
- double newmax= pow(10.0, ceil(log(value)/log(10.0)));
+ double newmax= pow(10.0, ceil(log(value)/M_LN10));
if(newmax*0.2 >= max && newmax*0.2 >= value)
return newmax*0.2;
@@ -1697,7 +1753,7 @@ static double soft_range_round_up(double value, double max)
static double soft_range_round_down(double value, double max)
{
/* round down to .., 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, .. */
- double newmax= pow(10.0, floor(log(value)/log(10.0)));
+ double newmax= pow(10.0, floor(log(value)/M_LN10));
if(newmax*5.0 <= max && newmax*5.0 <= value)
return newmax*5.0;
@@ -1709,50 +1765,70 @@ static double soft_range_round_down(double value, double max)
void ui_set_but_soft_range(uiBut *but, double value)
{
- PropertyType type;
- double softmin, softmax /*, step, precision*/;
-
+ /* ideally we would not limit this but practially, its more then
+ * enough worst case is very long vectors wont use a smart soft-range
+ * which isnt so bad. */
+
if(but->rnaprop) {
- type= RNA_property_type(but->rnaprop);
+ const PropertyType type= RNA_property_type(but->rnaprop);
+ double softmin, softmax /*, step, precision*/;
+ double value_min= value;
+ double value_max= value;
/* clamp button range to something reasonable in case
* we get -inf/inf from RNA properties */
if(type == PROP_INT) {
int imin, imax, istep;
+ const int array_len= RNA_property_array_length(&but->rnapoin, but->rnaprop);
RNA_property_int_ui_range(&but->rnapoin, but->rnaprop, &imin, &imax, &istep);
softmin= (imin == INT_MIN)? -1e4: imin;
softmax= (imin == INT_MAX)? 1e4: imax;
/*step= istep;*/ /*UNUSED*/
/*precision= 1;*/ /*UNUSED*/
+
+ if(array_len >= 2) {
+ int value_range[2];
+ RNA_property_int_get_array_range(&but->rnapoin, but->rnaprop, value_range);
+ value_min= (double)value_range[0];
+ value_max= (double)value_range[1];
+ }
}
else if(type == PROP_FLOAT) {
float fmin, fmax, fstep, fprecision;
+ const int array_len= RNA_property_array_length(&but->rnapoin, but->rnaprop);
RNA_property_float_ui_range(&but->rnapoin, but->rnaprop, &fmin, &fmax, &fstep, &fprecision);
softmin= (fmin == -FLT_MAX)? (float)-1e4: fmin;
softmax= (fmax == FLT_MAX)? (float)1e4: fmax;
/*step= fstep;*/ /*UNUSED*/
/*precision= fprecision;*/ /*UNUSED*/
+
+ if(array_len >= 2) {
+ float value_range[2];
+ RNA_property_float_get_array_range(&but->rnapoin, but->rnaprop, value_range);
+ value_min= (double)value_range[0];
+ value_max= (double)value_range[1];
+ }
}
else
return;
/* if the value goes out of the soft/max range, adapt the range */
- if(value+1e-10 < softmin) {
- if(value < 0.0)
- softmin= -soft_range_round_up(-value, -softmin);
+ if(value_min+1e-10 < softmin) {
+ if(value_min < 0.0)
+ softmin= -soft_range_round_up(-value_min, -softmin);
else
- softmin= soft_range_round_down(value, softmin);
+ softmin= soft_range_round_down(value_min, softmin);
if(softmin < (double)but->hardmin)
softmin= (double)but->hardmin;
}
- else if(value-1e-10 > softmax) {
- if(value < 0.0)
- softmax= -soft_range_round_down(-value, -softmax);
+ else if(value_max-1e-10 > softmax) {
+ if(value_max < 0.0)
+ softmax= -soft_range_round_down(-value_max, -softmax);
else
- softmax= soft_range_round_up(value, softmax);
+ softmax= soft_range_round_up(value_max, softmax);
if(softmax > (double)but->hardmax)
softmax= but->hardmax;
@@ -1848,29 +1924,24 @@ void uiFreeInactiveBlocks(const bContext *C, ListBase *lb)
void uiBlockSetRegion(uiBlock *block, ARegion *region)
{
- ListBase *lb;
+ ListBase *lb= &region->uiblocks;
uiBlock *oldblock= NULL;
- lb= &region->uiblocks;
-
/* each listbase only has one block with this name, free block
* if is already there so it can be rebuilt from scratch */
if(lb) {
- for (oldblock= lb->first; oldblock; oldblock= oldblock->next)
- if (BLI_streq(oldblock->name, block->name))
- break;
+ oldblock= BLI_findstring(lb, block->name, offsetof(uiBlock, name));
if (oldblock) {
oldblock->active= 0;
oldblock->panel= NULL;
}
+
+ /* at the beginning of the list! for dynamical menus/blocks */
+ BLI_addhead(lb, block);
}
block->oldblock= oldblock;
-
- /* at the beginning of the list! for dynamical menus/blocks */
- if(lb)
- BLI_addhead(lb, block);
}
uiBlock *uiBeginBlock(const bContext *C, ARegion *region, const char *name, short dt)
@@ -1930,17 +2001,19 @@ void uiBlockSetEmboss(uiBlock *block, char dt)
void ui_check_but(uiBut *but)
{
/* if something changed in the button */
- double value;
+ double value= UI_BUT_VALUE_UNSET;
// float okwidth; // UNUSED
// int transopts= ui_translate_buttons();
- ui_is_but_sel(but);
+ ui_is_but_sel(but, &value);
// if(but->type==TEX || but->type==IDPOIN) transopts= 0;
/* only update soft range while not editing */
- if(but->rnaprop && !(but->editval || but->editstr || but->editvec))
- ui_set_but_soft_range(but, ui_get_but_val(but));
+ if(but->rnaprop && !(but->editval || but->editstr || but->editvec)) {
+ UI_GET_BUT_VALUE_INIT(but, value)
+ ui_set_but_soft_range(but, value);
+ }
/* test for min and max, icon sliders, etc */
switch( but->type ) {
@@ -1949,17 +2022,20 @@ void ui_check_but(uiBut *but)
case SCROLL:
case NUMSLI:
case HSVSLI:
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
if(value < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
else if(value > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
break;
case NUMABS:
- value= fabs( ui_get_but_val(but) );
- if(value < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
- else if(value > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
+ {
+ double value_abs;
+ UI_GET_BUT_VALUE_INIT(but, value)
+ value_abs= fabs(value);
+ if(value_abs < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
+ else if(value_abs > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
break;
-
+ }
case ICONTOG:
case ICONTOGN:
if(!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
@@ -1970,14 +2046,14 @@ void ui_check_but(uiBut *but)
case ICONROW:
if(!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
but->iconadd= (int)value- (int)(but->hardmin);
}
break;
case ICONTEXTROW:
if(!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
but->iconadd= (int)value- (int)(but->hardmin);
}
break;
@@ -1994,7 +2070,7 @@ void ui_check_but(uiBut *but)
case ICONTEXTROW:
if(but->x2 - but->x1 > 24) {
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
ui_set_name_menu(but, (int)value);
}
break;
@@ -2004,7 +2080,7 @@ void ui_check_but(uiBut *but)
case HSVSLI:
case NUMABS:
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
if(ui_is_but_float(but)) {
if(value == (double) FLT_MAX) sprintf(but->drawstr, "%sinf", but->str);
@@ -2016,10 +2092,7 @@ void ui_check_but(uiBut *but)
BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, new_str);
}
else {
- int prec= (int)but->a2;
- if(prec==0) prec= (but->hardmax < 10.001f) ? 3 : 2;
- else CLAMP(prec, 1, 7);
-
+ const int prec= ui_but_float_precision(but, value);
BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
}
}
@@ -2037,11 +2110,9 @@ void ui_check_but(uiBut *but)
case LABEL:
if(ui_is_but_float(but)) {
- int prec= (int)but->a2;
- value= ui_get_but_val(but);
- if(prec==0) prec= 3;
- else CLAMP(prec, 1, 7);
-
+ int prec;
+ UI_GET_BUT_VALUE_INIT(but, value)
+ prec= ui_but_float_precision(but, value);
BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
}
else {
@@ -2066,8 +2137,10 @@ void ui_check_but(uiBut *but)
strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
if (but->flag & UI_SELECT) {
strcat(but->drawstr, "Press a key");
- } else {
- strcat(but->drawstr, WM_key_event_string((short) ui_get_but_val(but)));
+ }
+ else {
+ UI_GET_BUT_VALUE_INIT(but, value)
+ strcat(but->drawstr, WM_key_event_string((short)value));
}
break;
@@ -2489,28 +2562,8 @@ static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *s
icon= RNA_property_ui_icon(prop);
}
}
-
- if(!tip) {
- if(type == ROW && proptype == PROP_ENUM) {
- EnumPropertyItem *item;
- int i, totitem, free;
-
- RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
-
- for(i=0; i<totitem; i++) {
- if(item[i].identifier[0] && item[i].value == (int)max) {
- if(item[i].description[0])
- tip= item[i].description;
- break;
- }
- }
-
- if(free)
- MEM_freeN(item);
- }
- }
- if(!tip)
+ if(!tip && proptype != PROP_ENUM)
tip= RNA_property_ui_description(prop);
if(min == max || a1 == -1 || a2 == -1) {
diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c
index f9c97c36bdd..97299a6a766 100644
--- a/source/blender/editors/interface/interface_draw.c
+++ b/source/blender/editors/interface/interface_draw.c
@@ -142,13 +142,13 @@ void uiDrawBox(int mode, float minx, float miny, float maxx, float maxy, float r
static void round_box_shade_col(float *col1, float *col2, float fac)
{
- float col[3];
+ float col[4];
col[0]= (fac*col1[0] + (1.0f-fac)*col2[0]);
col[1]= (fac*col1[1] + (1.0f-fac)*col2[1]);
col[2]= (fac*col1[2] + (1.0f-fac)*col2[2]);
-
- glColor3fv(col);
+ col[3]= (fac*col1[3] + (1.0f-fac)*col2[3]);
+ glColor4fv(col);
}
@@ -159,7 +159,7 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
float vec[7][2]= {{0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, {0.707, 0.293},
{0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}};
float div= maxy-miny;
- float coltop[3], coldown[3], color[4];
+ float coltop[4], coldown[4], color[4];
int a;
/* mult */
@@ -173,9 +173,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
coltop[0]= color[0]+shadetop; if(coltop[0]>1.0f) coltop[0]= 1.0f;
coltop[1]= color[1]+shadetop; if(coltop[1]>1.0f) coltop[1]= 1.0f;
coltop[2]= color[2]+shadetop; if(coltop[2]>1.0f) coltop[2]= 1.0f;
+ coltop[3]= color[3];
coldown[0]= color[0]+shadedown; if(coldown[0]<0.0f) coldown[0]= 0.0f;
coldown[1]= color[1]+shadedown; if(coldown[1]<0.0f) coldown[1]= 0.0f;
coldown[2]= color[2]+shadedown; if(coldown[2]<0.0f) coldown[2]= 0.0f;
+ coldown[3]= color[3];
glShadeModel(GL_SMOOTH);
glBegin(mode);
@@ -471,6 +473,9 @@ void uiEmboss(float x1, float y1, float x2, float y2, int sel)
void ui_draw_but_IMAGE(ARegion *UNUSED(ar), uiBut *UNUSED(but), uiWidgetColors *UNUSED(wcol), rcti *rect)
{
+#ifdef WITH_HEADLESS
+ (void)rect;
+#else
extern char datatoc_splash_png[];
extern int datatoc_splash_png_size;
ImBuf *ibuf;
@@ -507,6 +512,7 @@ void ui_draw_but_IMAGE(ARegion *UNUSED(ar), uiBut *UNUSED(but), uiWidgetColors *
*/
IMB_freeImBuf(ibuf);
+#endif
}
#if 0
@@ -1116,7 +1122,7 @@ void ui_draw_but_COLORBAND(uiBut *but, uiWidgetColors *UNUSED(wcol), rcti *rect)
ColorBand *coba;
CBData *cbd;
float x1, y1, sizex, sizey;
- float dx, v3[2], v1[2], v2[2], v1a[2], v2a[2];
+ float v3[2], v1[2], v2[2], v1a[2], v2a[2];
int a;
float pos, colf[4]= {0,0,0,0}; /* initialize incase the colorband isnt valid */
@@ -1127,18 +1133,17 @@ void ui_draw_but_COLORBAND(uiBut *but, uiWidgetColors *UNUSED(wcol), rcti *rect)
y1= rect->ymin;
sizex= rect->xmax-x1;
sizey= rect->ymax-y1;
-
+
/* first background, to show tranparency */
- dx= sizex/12.0f;
- v1[0]= x1;
- for(a=0; a<12; a++) {
- if(a & 1) glColor3f(0.3, 0.3, 0.3); else glColor3f(0.8, 0.8, 0.8);
- glRectf(v1[0], y1, v1[0]+dx, y1+0.5f*sizey);
- if(a & 1) glColor3f(0.8, 0.8, 0.8); else glColor3f(0.3, 0.3, 0.3);
- glRectf(v1[0], y1+0.5f*sizey, v1[0]+dx, y1+sizey);
- v1[0]+= dx;
- }
-
+
+ glColor4ub(UI_TRANSP_DARK, UI_TRANSP_DARK, UI_TRANSP_DARK, 255);
+ glRectf(x1, y1, x1+sizex, y1+sizey);
+ glEnable(GL_POLYGON_STIPPLE);
+ glColor4ub(UI_TRANSP_LIGHT, UI_TRANSP_LIGHT, UI_TRANSP_LIGHT, 255);
+ glPolygonStipple(checker_stipple_sml);
+ glRectf(x1, y1, x1+sizex, y1+sizey);
+ glDisable(GL_POLYGON_STIPPLE);
+
glShadeModel(GL_FLAT);
glEnable(GL_BLEND);
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index ae5af185442..c5275ea98b5 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -81,6 +81,7 @@ static void ui_add_link(bContext *C, uiBut *from, uiBut *to);
#define BUTTON_TOOLTIP_DELAY 0.500
#define BUTTON_FLASH_DELAY 0.020
+#define MENU_SCROLL_INTERVAL 0.1
#define BUTTON_AUTO_OPEN_THRESH 0.3
#define BUTTON_MOUSE_TOWARDS_THRESH 1.0
@@ -262,14 +263,12 @@ static int ui_is_a_warp_but(uiBut *but)
static int ui_is_utf8_but(uiBut *but)
{
if (but->rnaprop) {
- int subtype= RNA_property_subtype(but->rnaprop);
-
- if(ELEM3(subtype, PROP_FILEPATH, PROP_DIRPATH, PROP_FILENAME)) {
- return TRUE;
- }
+ const int subtype= RNA_property_subtype(but->rnaprop);
+ return !(ELEM3(subtype, PROP_FILEPATH, PROP_DIRPATH, PROP_FILENAME));
+ }
+ else {
+ return !(but->flag & UI_BUT_NO_UTF8);
}
-
- return !(but->flag & UI_BUT_NO_UTF8);
}
/* ********************** button apply/revert ************************/
@@ -300,7 +299,7 @@ static void ui_apply_but_func(bContext *C, uiBut *but)
after->func_arg3= but->func_arg3;
after->funcN= but->funcN;
- after->func_argN= but->func_argN;
+ after->func_argN= MEM_dupallocN(but->func_argN);
after->rename_func= but->rename_func;
after->rename_arg1= but->rename_arg1;
@@ -404,6 +403,8 @@ static void ui_apply_but_funcs_after(bContext *C)
after.func(C, after.func_arg1, after.func_arg2);
if(after.funcN)
after.funcN(C, after.func_argN, after.func_arg2);
+ if(after.func_argN)
+ MEM_freeN(after.func_argN);
if(after.handle_func)
after.handle_func(C, after.handle_func_arg, after.retval);
@@ -1679,7 +1680,7 @@ static void ui_textedit_begin(bContext *C, uiBut *but, uiHandleButtonData *data)
static void ui_textedit_end(bContext *C, uiBut *but, uiHandleButtonData *data)
{
if(but) {
- if(!ui_is_utf8_but(but)) {
+ if(ui_is_utf8_but(but)) {
int strip= BLI_utf8_invalid_strip(but->editstr, strlen(but->editstr));
/* not a file?, strip non utf-8 chars */
if(strip) {
@@ -1878,7 +1879,6 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
if(but->autocomplete_func || data->searchbox) {
changed= ui_textedit_autocomplete(C, but, data);
update= 1; /* do live update for tab key */
- retval= WM_UI_HANDLER_BREAK;
}
/* the hotkey here is not well defined, was G.qual so we check all */
else if(event->shift || event->ctrl || event->alt || event->oskey) {
@@ -1894,7 +1894,15 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
}
if(event->ascii && (retval == WM_UI_HANDLER_CONTINUE)) {
- changed= ui_textedit_type_ascii(but, data, event->ascii);
+ char ascii = event->ascii;
+
+ /* exception that's useful for number buttons, some keyboard
+ numpads have a comma instead of a period */
+ if(ELEM3(but->type, NUM, NUMABS, NUMSLI))
+ if(event->type == PADPERIOD && ascii == ',')
+ ascii = '.';
+
+ changed= ui_textedit_type_ascii(but, data, ascii);
retval= WM_UI_HANDLER_BREAK;
}
@@ -2316,8 +2324,8 @@ static float ui_numedit_apply_snapf(uiBut *but, float tempf, float softmin, floa
if(fac != 1.0f) {
/* snap in unit-space */
tempf /= fac;
- softmin /= fac;
- softmax /= fac;
+ /* softmin /= fac; */ /* UNUSED */
+ /* softmax /= fac; */ /* UNUSED */
softrange /= fac;
}
@@ -3460,13 +3468,13 @@ static int ui_numedit_but_CURVE(uiBut *but, uiHandleButtonData *data, int snap,
CurveMapping *cumap= (CurveMapping*)but->poin;
CurveMap *cuma= cumap->cm+cumap->cur;
CurveMapPoint *cmp= cuma->curve;
- float fx, fy, zoomx, zoomy, offsx, offsy;
+ float fx, fy, zoomx, zoomy /*, offsx, offsy */ /* UNUSED */;
int a, changed= 0;
zoomx= (but->x2-but->x1)/(cumap->curr.xmax-cumap->curr.xmin);
zoomy= (but->y2-but->y1)/(cumap->curr.ymax-cumap->curr.ymin);
- offsx= cumap->curr.xmin;
- offsy= cumap->curr.ymin;
+ /* offsx= cumap->curr.xmin; */
+ /* offsy= cumap->curr.ymin; */
if(snap) {
float d[2];
@@ -4022,12 +4030,9 @@ static int ui_do_but_CHARTAB(bContext *UNUSED(C), uiBlock *UNUSED(block), uiBut
static int ui_do_but_LINK(bContext *C, uiBut *but, uiHandleButtonData *data, wmEvent *event)
-{
- ARegion *ar= CTX_wm_region(C);
-
- but->linkto[0]= event->x-ar->winrct.xmin;
- but->linkto[1]= event->y-ar->winrct.ymin;
-
+{
+ VECCOPY2D(but->linkto, event->mval);
+
if(data->state == BUTTON_STATE_HIGHLIGHT) {
if(event->type == LEFTMOUSE && event->val==KM_PRESS) {
button_activate_state(C, but, BUTTON_STATE_WAIT_RELEASE);
@@ -4445,10 +4450,10 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, wmEvent *event)
}
/* reset to default */
/* XXX hardcoded keymap check.... */
- else if(ELEM(event->type, ZEROKEY, PAD0) && event->val == KM_PRESS) {
- /* ctrl-0 = for arrays, only the active one gets done (vs whole array for just 0) */
+ else if(ELEM(event->type, DELKEY, PADPERIOD) && event->val == KM_PRESS) {
+ /* ctrl+del - reset active button; del - reset a whole array*/
if (!(ELEM3(but->type, HSVCIRCLE, HSVCUBE, HISTOGRAM)))
- ui_set_but_default(C, but, !event->ctrl);
+ ui_set_but_default(C, !event->ctrl);
}
/* handle menu */
else if(event->type == RIGHTMOUSE && event->val == KM_PRESS) {
@@ -4746,6 +4751,8 @@ static uiBut *ui_but_find_mouse_over(ARegion *ar, int x, int y)
continue;
if(but->flag & UI_HIDDEN)
continue;
+ if(but->flag & UI_SCROLLED)
+ continue;
if(ui_but_contains_pt(but, mx, my))
butover= but;
}
@@ -5534,10 +5541,6 @@ static int ui_mouse_motion_towards_check(uiBlock *block, uiPopupBlockHandle *men
int closer;
if(!menu->dotowards) return 0;
- if((block->direction & UI_TOP) || (block->direction & UI_DOWN)) {
- menu->dotowards= 0;
- return menu->dotowards;
- }
/* verify that we are moving towards one of the edges of the
* menu block, in other words, in the triangle formed by the
@@ -5579,6 +5582,76 @@ static int ui_mouse_motion_towards_check(uiBlock *block, uiPopupBlockHandle *men
return menu->dotowards;
}
+static char ui_menu_scroll_test(uiBlock *block, int my)
+{
+ if(block->flag & (UI_BLOCK_CLIPTOP|UI_BLOCK_CLIPBOTTOM)) {
+ if(block->flag & UI_BLOCK_CLIPTOP)
+ if(my > block->maxy-14)
+ return 't';
+ if(block->flag & UI_BLOCK_CLIPBOTTOM)
+ if(my < block->miny+14)
+ return 'b';
+ }
+ return 0;
+}
+
+static int ui_menu_scroll(ARegion *ar, uiBlock *block, int my)
+{
+ char test= ui_menu_scroll_test(block, my);
+
+ if(test) {
+ uiBut *b1= block->buttons.first;
+ uiBut *b2= block->buttons.last;
+ uiBut *bnext;
+ uiBut *bprev;
+ int dy= 0;
+
+ /* get first and last visible buttons */
+ while(b1 && ui_but_next(b1) && (b1->flag & UI_SCROLLED))
+ b1= ui_but_next(b1);
+ while(b2 && ui_but_prev(b2) && (b2->flag & UI_SCROLLED))
+ b2= ui_but_prev(b2);
+ /* skips separators */
+ bnext= ui_but_next(b1);
+ bprev= ui_but_prev(b2);
+
+ if(bnext==NULL || bprev==NULL)
+ return 0;
+
+ if(test=='t') {
+ /* bottom button is first button */
+ if(b1->y1 < b2->y1)
+ dy= bnext->y1 - b1->y1;
+ /* bottom button is last button */
+ else
+ dy= bprev->y1 - b2->y1;
+ }
+ else if(test=='b') {
+ /* bottom button is first button */
+ if(b1->y1 < b2->y1)
+ dy= b1->y1 - bnext->y1;
+ /* bottom button is last button */
+ else
+ dy= b2->y1 - bprev->y1;
+ }
+ if(dy) {
+
+ for(b1= block->buttons.first; b1; b1= b1->next) {
+ b1->y1 -= dy;
+ b1->y2 -= dy;
+ }
+ /* set flags again */
+ ui_popup_block_scrolltest(block);
+
+ ED_region_tag_redraw(ar);
+
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
static int ui_handle_menu_event(bContext *C, wmEvent *event, uiPopupBlockHandle *menu, int UNUSED(topmenu))
{
ARegion *ar;
@@ -5610,11 +5683,22 @@ static int ui_handle_menu_event(bContext *C, wmEvent *event, uiPopupBlockHandle
* and don't handle events */
ui_mouse_motion_towards_init(menu, mx, my, 1);
}
- else if(event->type != TIMER) {
+ else if(event->type == TIMER) {
+ if(event->customdata == menu->scrolltimer)
+ ui_menu_scroll(ar, block, my);
+ }
+ else {
/* for ui_mouse_motion_towards_block */
- if(event->type == MOUSEMOVE)
+ if(event->type == MOUSEMOVE) {
ui_mouse_motion_towards_init(menu, mx, my, 0);
-
+
+ /* add menu scroll timer, if needed */
+ if(ui_menu_scroll_test(block, my))
+ if(menu->scrolltimer==NULL)
+ menu->scrolltimer=
+ WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, MENU_SCROLL_INTERVAL);
+ }
+
/* first block own event func */
if(block->block_event_func && block->block_event_func(C, block, event));
/* events not for active search menu button */
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index 9507a1a07f4..3bf2a9ddd02 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -461,6 +461,7 @@ static void vicon_move_down_draw(int x, int y, int w, int h, float UNUSED(alpha)
glDisable(GL_LINE_SMOOTH);
}
+#ifndef WITH_HEADLESS
static void init_brush_icons(void)
{
@@ -588,7 +589,7 @@ static void init_internal_icons(void)
IMB_freeImBuf(bbuf);
}
-
+#endif // WITH_HEADLESS
static void init_iconfile_list(struct ListBase *list)
{
@@ -704,6 +705,7 @@ ListBase *UI_iconfile_list(void)
void UI_icons_free(void)
{
+#ifndef WITH_HEADLESS
if(icongltex.id) {
glDeleteTextures(1, &icongltex.id);
icongltex.id= 0;
@@ -711,6 +713,7 @@ void UI_icons_free(void)
free_iconfile_list(&iconfilelist);
BKE_icons_free();
+#endif
}
void UI_icons_free_drawinfo(void *drawinfo)
@@ -792,42 +795,49 @@ int UI_icon_get_height(int icon_id)
void UI_icons_init(int first_dyn_id)
{
+#ifdef WITH_HEADLESS
+ (void)first_dyn_id;
+#else
init_iconfile_list(&iconfilelist);
BKE_icons_init(first_dyn_id);
init_internal_icons();
init_brush_icons();
+#endif
}
-/* Render size for preview images at level miplevel */
-static int preview_render_size(int miplevel)
+/* Render size for preview images and icons
+ */
+static int preview_render_size(enum eIconSizes size)
{
- switch (miplevel) {
- case 0: return 32;
- case 1: return PREVIEW_DEFAULT_HEIGHT;
+ switch (size) {
+ case ICON_SIZE_ICON: return 32;
+ case ICON_SIZE_PREVIEW: return PREVIEW_DEFAULT_HEIGHT;
}
return 0;
}
-static void icon_create_mipmap(struct PreviewImage* prv_img, int miplevel)
+/* Create rect for the icon
+ */
+static void icon_create_rect(struct PreviewImage* prv_img, enum eIconSizes size)
{
- unsigned int size = preview_render_size(miplevel);
+ unsigned int render_size = preview_render_size(size);
if (!prv_img) {
if (G.f & G_DEBUG)
printf("Error: requested preview image does not exist");
}
- if (!prv_img->rect[miplevel]) {
- prv_img->w[miplevel] = size;
- prv_img->h[miplevel] = size;
- prv_img->changed[miplevel] = 1;
- prv_img->changed_timestamp[miplevel] = 0;
- prv_img->rect[miplevel] = MEM_callocN(size*size*sizeof(unsigned int), "prv_rect");
+ if (!prv_img->rect[size]) {
+ prv_img->w[size] = render_size;
+ prv_img->h[size] = render_size;
+ prv_img->changed[size] = 1;
+ prv_img->changed_timestamp[size] = 0;
+ prv_img->rect[size] = MEM_callocN(render_size*render_size*sizeof(unsigned int), "prv_rect");
}
}
/* only called when icon has changed */
/* only call with valid pointer from UI_icon_draw */
-static void icon_set_image(bContext *C, ID *id, PreviewImage* prv_img, int miplevel)
+static void icon_set_image(bContext *C, ID *id, PreviewImage* prv_img, enum eIconSizes size)
{
if (!prv_img) {
if (G.f & G_DEBUG)
@@ -835,11 +845,10 @@ static void icon_set_image(bContext *C, ID *id, PreviewImage* prv_img, int miple
return;
}
- /* create the preview rect */
- icon_create_mipmap(prv_img, miplevel);
+ icon_create_rect(prv_img, size);
- ED_preview_icon_job(C, prv_img, id, prv_img->rect[miplevel],
- prv_img->w[miplevel], prv_img->h[miplevel]);
+ ED_preview_icon_job(C, prv_img, id, prv_img->rect[size],
+ prv_img->w[size], prv_img->h[size]);
}
static void icon_draw_rect(float x, float y, int w, int h, float UNUSED(aspect), int rw, int rh, unsigned int *rect, float alpha, float *rgb, short is_preview)
@@ -928,21 +937,22 @@ static void icon_draw_texture(float x, float y, float w, float h, int ix, int iy
glDisable(GL_TEXTURE_2D);
}
-/* Drawing size for preview images at level miplevel */
-static int preview_size(int miplevel)
+/* Drawing size for preview images */
+static int get_draw_size(enum eIconSizes size)
{
- switch (miplevel) {
- case 0: return ICON_DEFAULT_HEIGHT;
- case 1: return PREVIEW_DEFAULT_HEIGHT;
+ switch (size) {
+ case ICON_SIZE_ICON: return ICON_DEFAULT_HEIGHT;
+ case ICON_SIZE_PREVIEW: return PREVIEW_DEFAULT_HEIGHT;
}
return 0;
}
-static void icon_draw_size(float x, float y, int icon_id, float aspect, float alpha, float *rgb, int miplevel, int draw_size, int UNUSED(nocreate), int is_preview)
+static void icon_draw_size(float x, float y, int icon_id, float aspect, float alpha, float *rgb, enum eIconSizes size, int draw_size, int UNUSED(nocreate), int is_preview)
{
Icon *icon = NULL;
DrawInfo *di = NULL;
IconImage *iimg;
+ float fdraw_size= UI_DPI_FAC*draw_size;
int w, h;
icon = BKE_icon_get(icon_id);
@@ -963,8 +973,8 @@ static void icon_draw_size(float x, float y, int icon_id, float aspect, float al
}
/* scale width and height according to aspect */
- w = (int)(draw_size/aspect + 0.5f);
- h = (int)(draw_size/aspect + 0.5f);
+ w = (int)(fdraw_size/aspect + 0.5f);
+ h = (int)(fdraw_size/aspect + 0.5f);
if(di->type == ICON_TYPE_VECTOR) {
/* vector icons use the uiBlock transformation, they are not drawn
@@ -988,11 +998,11 @@ static void icon_draw_size(float x, float y, int icon_id, float aspect, float al
if(pi) {
/* no create icon on this level in code */
- if(!pi->rect[miplevel]) return; /* something has gone wrong! */
+ if(!pi->rect[size]) return; /* something has gone wrong! */
/* preview images use premul alpha ... */
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
- icon_draw_rect(x, y, w, h, aspect, pi->w[miplevel], pi->h[miplevel], pi->rect[miplevel], 1.0f, NULL, is_preview);
+ icon_draw_rect(x, y, w, h, aspect, pi->w[size], pi->h[size], pi->rect[size], 1.0f, NULL, is_preview);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
}
@@ -1024,7 +1034,7 @@ static void ui_id_brush_render(bContext *C, ID *id)
if(!pi)
return;
- for(i = 0; i < PREVIEW_MIPMAPS; i++) {
+ for(i = 0; i < NUM_ICON_SIZES; i++) {
/* check if rect needs to be created; changed
only set by dynamic icons */
if((pi->changed[i] || !pi->rect[i])) {
@@ -1113,21 +1123,21 @@ int ui_id_icon_get(bContext *C, ID *id, int big)
return iconid;
}
-static void icon_draw_mipmap(float x, float y, int icon_id, float aspect, float alpha, int miplevel, int nocreate)
+static void icon_draw_at_size(float x, float y, int icon_id, float aspect, float alpha, enum eIconSizes size, int nocreate)
{
- int draw_size = preview_size(miplevel);
- icon_draw_size(x, y, icon_id, aspect, alpha, NULL, miplevel, draw_size, nocreate, FALSE);
+ int draw_size = get_draw_size(size);
+ icon_draw_size(x, y, icon_id, aspect, alpha, NULL, size, draw_size, nocreate, FALSE);
}
void UI_icon_draw_aspect(float x, float y, int icon_id, float aspect, float alpha)
{
- icon_draw_mipmap(x, y, icon_id, aspect, alpha, PREVIEW_MIPMAP_ZERO, 0);
+ icon_draw_at_size(x, y, icon_id, aspect, alpha, ICON_SIZE_ICON, 0);
}
void UI_icon_draw_aspect_color(float x, float y, int icon_id, float aspect, float *rgb)
{
- int draw_size = preview_size(PREVIEW_MIPMAP_ZERO);
- icon_draw_size(x, y, icon_id, aspect, 1.0f, rgb, PREVIEW_MIPMAP_ZERO, draw_size, FALSE, FALSE);
+ int draw_size = get_draw_size(ICON_SIZE_ICON);
+ icon_draw_size(x, y, icon_id, aspect, 1.0f, rgb, ICON_SIZE_ICON, draw_size, FALSE, FALSE);
}
void UI_icon_draw(float x, float y, int icon_id)
@@ -1137,21 +1147,21 @@ void UI_icon_draw(float x, float y, int icon_id)
void UI_icon_draw_size(float x, float y, int size, int icon_id, float alpha)
{
- icon_draw_size(x, y, icon_id, 1.0f, alpha, NULL, PREVIEW_MIPMAP_ZERO, size, TRUE, FALSE);
+ icon_draw_size(x, y, icon_id, 1.0f, alpha, NULL, ICON_SIZE_ICON, size, TRUE, FALSE);
}
void UI_icon_draw_preview(float x, float y, int icon_id)
{
- icon_draw_mipmap(x, y, icon_id, 1.0f, 1.0f, PREVIEW_MIPMAP_LARGE, 0);
+ icon_draw_at_size(x, y, icon_id, 1.0f, 1.0f, ICON_SIZE_PREVIEW, 0);
}
void UI_icon_draw_preview_aspect(float x, float y, int icon_id, float aspect)
{
- icon_draw_mipmap(x, y, icon_id, aspect, 1.0f, PREVIEW_MIPMAP_LARGE, 0);
+ icon_draw_at_size(x, y, icon_id, aspect, 1.0f, ICON_SIZE_PREVIEW, 0);
}
void UI_icon_draw_preview_aspect_size(float x, float y, int icon_id, float aspect, int size)
{
- icon_draw_size(x, y, icon_id, aspect, 1.0f, NULL, PREVIEW_MIPMAP_LARGE, size, FALSE, TRUE);
+ icon_draw_size(x, y, icon_id, aspect, 1.0f, NULL, ICON_SIZE_PREVIEW, size, FALSE, TRUE);
}
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 6cca689d115..8475090b468 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -45,6 +45,7 @@ struct uiHandleButtonData;
struct wmEvent;
struct wmOperatorType;
struct wmWindow;
+struct wmTimer;
struct uiStyle;
struct uiWidgetColors;
struct uiLayout;
@@ -107,8 +108,8 @@ typedef enum {
#define UI_PANEL_MINY 70
/* uiBut->flag */
-#define UI_SELECT 1 /* use when the button is pressed */
-/*#define UI_MOUSE_OVER 2*/ /*UNUSED, free flag*/
+#define UI_SELECT 1 /* use when the button is pressed */
+#define UI_SCROLLED 2 /* temp hidden, scrolled away */
#define UI_ACTIVE 4
#define UI_HAS_ICON 8
#define UI_TEXTINPUT 16
@@ -116,8 +117,8 @@ typedef enum {
/* warn: rest of uiBut->flag in UI_interface.h */
/* internal panel drawing defines */
-#define PNL_GRID 4
-#define PNL_HEADER 20
+#define PNL_GRID (UI_UNIT_Y / 5) /* 4 default */
+#define PNL_HEADER UI_UNIT_Y /* 20 default */
/* panel->flag */
#define PNL_SELECT 1
@@ -369,7 +370,7 @@ extern void ui_convert_to_unit_alt_name(uiBut *but, char *str, int maxlen);
extern int ui_set_but_string(struct bContext *C, uiBut *but, const char *str);
extern int ui_get_but_string_max_length(uiBut *but);
-extern void ui_set_but_default(struct bContext *C, uiBut *but, short all);
+extern void ui_set_but_default(struct bContext *C, short all);
extern void ui_set_but_soft_range(uiBut *but, double value);
@@ -395,6 +396,8 @@ struct uiPopupBlockHandle {
void (*popup_func)(struct bContext *C, void *arg, int event);
void (*cancel_func)(void *arg);
void *popup_arg;
+
+ struct wmTimer *scrolltimer;
/* for operator popups */
struct wmOperatorType *optype;
@@ -416,9 +419,11 @@ void ui_block_func_ICONTEXTROW(struct bContext *C, uiLayout *layout, void *arg_b
struct ARegion *ui_tooltip_create(struct bContext *C, struct ARegion *butregion, uiBut *but);
void ui_tooltip_free(struct bContext *C, struct ARegion *ar);
-uiBut *ui_popup_menu_memory(uiBlock *block, uiBut *but);
+uiBut *ui_popup_menu_memory(struct uiBlock *block, struct uiBut *but);
+
+float *ui_block_hsv_get(struct uiBlock *block);
+void ui_popup_block_scrolltest(struct uiBlock *block);
-float *ui_block_hsv_get(uiBlock *block);
/* searchbox for string button */
ARegion *ui_searchbox_create(struct bContext *C, struct ARegion *butregion, uiBut *but);
@@ -481,6 +486,11 @@ void ui_widget_color_init(struct ThemeUI *tui);
void ui_draw_menu_item(struct uiFontStyle *fstyle, rcti *rect, const char *name, int iconid, int state);
void ui_draw_preview_item(struct uiFontStyle *fstyle, rcti *rect, const char *name, int iconid, int state);
+extern unsigned char checker_stipple_sml[];
+/* used for transp checkers */
+#define UI_TRANSP_DARK 100
+#define UI_TRANSP_LIGHT 160
+
/* interface_style.c */
void uiStyleInit(void);
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index a33068ae3fd..2f0bcc9d5b4 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -149,10 +149,10 @@ typedef struct uiLayoutItemBx {
uiBut *roundbox;
} uiLayoutItemBx;
-typedef struct uiLayoutItemSplt {
+typedef struct uiLayoutItemSplit {
uiLayout litem;
float percentage;
-} uiLayoutItemSplt;
+} uiLayoutItemSplit;
typedef struct uiLayoutItemRoot {
uiLayout litem;
@@ -418,6 +418,9 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
but->type= NUMSLI;
}
}
+ else if(subtype == PROP_DIRECTION) {
+ uiDefButR(block, BUT_NORMAL, 0, name, x, y, UI_UNIT_X*3, UI_UNIT_Y*3, ptr, RNA_property_identifier(prop), 0, 0, 0, -1, -1, NULL);
+ }
else {
if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand)
uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, 0, 0, w, UI_UNIT_Y);
@@ -531,10 +534,10 @@ static uiBut *ui_item_with_label(uiLayout *layout, uiBlock *block, const char *n
uiDefAutoButR(block, ptr, prop, index, "", icon, x, y, w-UI_UNIT_X, h);
/* BUTTONS_OT_file_browse calls uiFileBrowseContextProperty */
- but= uiDefIconButO(block, BUT, "BUTTONS_OT_file_browse", WM_OP_INVOKE_DEFAULT, ICON_FILESEL, x, y, UI_UNIT_X, h, NULL);
- }
- else if(subtype == PROP_DIRECTION) {
- uiDefButR(block, BUT_NORMAL, 0, name, x, y, 100, 100, ptr, RNA_property_identifier(prop), index, 0, 0, -1, -1, NULL);
+ but= uiDefIconButO(block, BUT, subtype==PROP_DIRPATH ?
+ "BUTTONS_OT_directory_browse" :
+ "BUTTONS_OT_file_browse",
+ WM_OP_INVOKE_DEFAULT, ICON_FILESEL, x, y, UI_UNIT_X, h, NULL);
}
else if(flag & UI_ITEM_R_EVENT) {
uiDefButR(block, KEYEVT, 0, name, x, y, w, h, ptr, RNA_property_identifier(prop), index, 0, 0, -1, -1, NULL);
@@ -651,6 +654,9 @@ PointerRNA uiItemFullO(uiLayout *layout, const char *opname, const char *name, i
if (flag & UI_ITEM_R_NO_BG)
uiBlockSetEmboss(block, UI_EMBOSS);
+ if(layout->redalert)
+ uiButSetFlag(but, UI_BUT_REDALERT);
+
/* assign properties */
if(properties || (flag & UI_ITEM_O_RETURN_PROPS)) {
PointerRNA *opptr= uiButGetOperatorPtrRNA(but);
@@ -729,6 +735,9 @@ void uiItemsFullEnumO(uiLayout *layout, const char *opname, const char *propname
RNA_pointer_create(NULL, ot->srna, NULL, &ptr);
prop= RNA_struct_find_property(&ptr, propname);
+ /* don't let bad properties slip through */
+ BLI_assert((prop == NULL) || (RNA_property_type(prop) == PROP_ENUM));
+
if(prop && RNA_property_type(prop) == PROP_ENUM) {
EnumPropertyItem *item;
int totitem, i, free;
@@ -1606,7 +1615,7 @@ static void ui_litem_layout_row(uiLayout *litem)
int x, y, w, tot, totw, neww, itemw, minw, itemh, offset;
int fixedw, freew, fixedx, freex, flag= 0, lastw= 0;
- x= litem->x;
+ /* x= litem->x; */ /* UNUSED */
y= litem->y;
w= litem->w;
totw= 0;
@@ -2011,7 +2020,7 @@ static void ui_litem_estimate_split(uiLayout *litem)
static void ui_litem_layout_split(uiLayout *litem)
{
- uiLayoutItemSplt *split= (uiLayoutItemSplt*)litem;
+ uiLayoutItemSplit *split= (uiLayoutItemSplit*)litem;
uiItem *item;
float percentage;
const int tot= BLI_countlist(&litem->items);
@@ -2233,9 +2242,9 @@ uiLayout *uiLayoutOverlap(uiLayout *layout)
uiLayout *uiLayoutSplit(uiLayout *layout, float percentage, int align)
{
- uiLayoutItemSplt *split;
+ uiLayoutItemSplit *split;
- split= MEM_callocN(sizeof(uiLayoutItemSplt), "uiLayoutItemSplt");
+ split= MEM_callocN(sizeof(uiLayoutItemSplit), "uiLayoutItemSplit");
split->litem.item.type= ITEM_LAYOUT_SPLIT;
split->litem.root= layout->root;
split->litem.align= align;
diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c
index 12506d28593..e9fad382beb 100644
--- a/source/blender/editors/interface/interface_ops.c
+++ b/source/blender/editors/interface/interface_ops.c
@@ -97,7 +97,7 @@ static int eyedropper_cancel(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
-static void eyedropper_sample(bContext *C, Eyedropper *eye, short mx, short my)
+static void eyedropper_sample(bContext *C, Eyedropper *eye, int mx, int my)
{
if(RNA_property_type(eye->prop) == PROP_FLOAT) {
const int color_manage = CTX_data_scene(C)->r.color_mgt_flag & R_COLOR_MANAGEMENT;
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index 6677f2b1bae..3b20533dcd4 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -334,10 +334,13 @@ static void uiPanelPop(uiBlock *UNUSED(block))
void UI_DrawTriIcon(float x, float y, char dir)
{
if(dir=='h') {
- ui_draw_anti_tria( x-3,y-5, x-3,y+5, x+7,y );
+ ui_draw_anti_tria( x-3, y-5, x-3, y+5, x+7,y );
}
- else {
- ui_draw_anti_tria( x-5,y+3, x+5,y+3, x,y-7);
+ else if(dir=='t') {
+ ui_draw_anti_tria( x-5, y-7, x+5, y-7, x, y+3);
+ }
+ else { /* 'v' = vertical, down */
+ ui_draw_anti_tria( x-5, y+3, x+5, y+3, x, y-7);
}
}
@@ -381,7 +384,7 @@ static void ui_draw_x_icon(float x, float y)
}
-#define PNL_ICON 20
+#define PNL_ICON UI_UNIT_X /* could be UI_UNIT_Y too */
static void ui_draw_panel_scalewidget(rcti *rect)
{
@@ -572,8 +575,8 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect)
ui_draw_tria_rect(&itemrect, 'h');
else
ui_draw_tria_rect(&itemrect, 'v');
-
-
+
+ (void)ofsx;
}
/************************** panel alignment *************************/
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index a4c2dbb9943..9e7717260e6 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -67,7 +67,6 @@
#include "interface_intern.h"
-#define MENU_BUTTON_HEIGHT 20
#define MENU_SEPR_HEIGHT 6
#define B_NOP -1
#define MENU_SHADOW_SIDE 8
@@ -370,6 +369,27 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
data->color[data->totline]= 0xFFFFFF;
data->totline++;
}
+
+ if(but->type == ROW) {
+ EnumPropertyItem *item;
+ int i, totitem, free;
+
+ RNA_property_enum_items(C, &but->rnapoin, but->rnaprop, &item, &totitem, &free);
+
+ for(i=0; i<totitem; i++) {
+ if(item[i].identifier[0] && item[i].value == (int)but->hardmax) {
+ if(item[i].description[0]) {
+ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "%s: %s", item[i].name, item[i].description);
+ data->color[data->totline]= 0xFFFFFF;
+ data->totline++;
+ }
+ break;
+ }
+ }
+
+ if(free)
+ MEM_freeN(item);
+ }
}
if(but->tip && strlen(but->tip)) {
@@ -464,6 +484,17 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
}
}
}
+ else if (ELEM(but->type, MENU, PULLDOWN)) {
+ if ((U.flag & USER_TOOLTIPS_PYTHON) == 0) {
+ if(but->menu_create_func && WM_menutype_contains((MenuType *)but->poin)) {
+ MenuType *mt= (MenuType *)but->poin;
+ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Python: %s", mt->idname);
+ data->color[data->totline]= 0x888888;
+ data->totline++;
+ }
+ }
+
+ }
assert(data->totline < MAX_TOOLTIP_LINES);
@@ -654,7 +685,7 @@ int uiSearchItemAdd(uiSearchItems *items, const char *name, void *poin, int icon
int uiSearchBoxhHeight(void)
{
- return SEARCH_ITEMS*MENU_BUTTON_HEIGHT + 2*MENU_TOP;
+ return SEARCH_ITEMS*UI_UNIT_Y + 2*MENU_TOP;
}
/* ar is the search box itself */
@@ -951,8 +982,6 @@ static void ui_searchbox_region_free_cb(ARegion *ar)
ar->regiondata= NULL;
}
-static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but, uiBlock *block);
-
ARegion *ui_searchbox_create(bContext *C, ARegion *butregion, uiBut *but)
{
uiStyle *style= U.uistyles.first; // XXX pass on as arg
@@ -1208,18 +1237,26 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
if(but) {
int left=0, right=0, top=0, down=0;
int winx, winy;
- int offscreen;
+ // int offscreen;
wm_window_get_size(window, &winx, &winy);
if(block->direction & UI_CENTER) center= ysize/2;
else center= 0;
-
+
+ /* check if there's space at all */
if( butrct.xmin-xsize > 0.0f) left= 1;
if( butrct.xmax+xsize < winx) right= 1;
if( butrct.ymin-ysize+center > 0.0f) down= 1;
if( butrct.ymax+ysize-center < winy) top= 1;
+ if(top==0 && down==0) {
+ if (butrct.ymin-ysize < winy-butrct.ymax-ysize)
+ top= 1;
+ else
+ down= 1;
+ }
+
dir1= block->direction & UI_DIRECTION;
/* secundary directions */
@@ -1284,7 +1321,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
if(top==0 && down==0) {
if(dir1==UI_LEFT || dir1==UI_RIGHT) {
// align with bottom of screen
- yof= ysize;
+ // yof= ysize; (not with menu scrolls)
}
}
@@ -1299,15 +1336,16 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
// apply requested offset in the block
xof += block->xofs/block->aspect;
yof += block->yofs/block->aspect;
-
+#if 0
/* clamp to window bounds, could be made into an option if its ever annoying */
if( (offscreen= (block->miny+yof)) < 0) yof -= offscreen; /* bottom */
else if((offscreen= (block->maxy+yof)-winy) > 0) yof -= offscreen; /* top */
if( (offscreen= (block->minx+xof)) < 0) xof -= offscreen; /* left */
else if((offscreen= (block->maxx+xof)-winx) > 0) xof -= offscreen; /* right */
+#endif
}
- /* apply */
+ /* apply offset, buttons in window coords */
for(bt= block->buttons.first; bt; bt= bt->next) {
ui_block_to_window_fl(butregion, but->block, &bt->x1, &bt->y1);
@@ -1381,6 +1419,62 @@ static void ui_block_region_draw(const bContext *C, ARegion *ar)
uiDrawBlock(C, block);
}
+static void ui_popup_block_clip(wmWindow *window, uiBlock *block)
+{
+ int winx, winy;
+
+ wm_window_get_size(window, &winx, &winy);
+
+ if(block->minx < MENU_SHADOW_SIDE)
+ block->minx= MENU_SHADOW_SIDE;
+ if(block->maxx > winx-MENU_SHADOW_SIDE)
+ block->maxx= winx-MENU_SHADOW_SIDE;
+
+ if(block->miny < MENU_SHADOW_BOTTOM)
+ block->miny= MENU_SHADOW_BOTTOM;
+ if(block->maxy > winy-MENU_TOP)
+ block->maxy= winy-MENU_TOP;
+}
+
+void ui_popup_block_scrolltest(uiBlock *block)
+{
+ uiBut *bt;
+
+ block->flag &= ~(UI_BLOCK_CLIPBOTTOM|UI_BLOCK_CLIPTOP);
+
+ for(bt= block->buttons.first; bt; bt= bt->next)
+ bt->flag &= ~UI_SCROLLED;
+
+ if(block->buttons.first==block->buttons.last)
+ return;
+
+ /* mark buttons that are outside boundary and the ones next to it for arrow(s) */
+ for(bt= block->buttons.first; bt; bt= bt->next) {
+ if(bt->y1 < block->miny) {
+ bt->flag |= UI_SCROLLED;
+ block->flag |= UI_BLOCK_CLIPBOTTOM;
+ /* make space for arrow */
+ if(bt->y2 < block->miny +10) {
+ if(bt->next && bt->next->y1 > bt->y1)
+ bt->next->flag |= UI_SCROLLED;
+ if(bt->prev && bt->prev->y1 > bt->y1)
+ bt->prev->flag |= UI_SCROLLED;
+ }
+ }
+ if(bt->y2 > block->maxy) {
+ bt->flag |= UI_SCROLLED;
+ block->flag |= UI_BLOCK_CLIPTOP;
+ /* make space for arrow */
+ if(bt->y1 > block->maxy -10) {
+ if(bt->next && bt->next->y2 < bt->y2)
+ bt->next->flag |= UI_SCROLLED;
+ if(bt->prev && bt->prev->y2 < bt->y2)
+ bt->prev->flag |= UI_SCROLLED;
+ }
+ }
+ }
+}
+
uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut *but, uiBlockCreateFunc create_func, uiBlockHandleCreateFunc handle_create_func, void *arg)
{
wmWindow *window= CTX_wm_window(C);
@@ -1451,6 +1545,9 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut
block->flag |= UI_BLOCK_POPUP|UI_BLOCK_NUMSELECT;
}
+ /* clip block with window boundary */
+ ui_popup_block_clip(window, block);
+
/* the block and buttons were positioned in window space as in 2.4x, now
* these menu blocks are regions so we bring it back to region space.
* additionally we add some padding for the menu shadow or rounded menus */
@@ -1458,7 +1555,7 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut
ar->winrct.xmax= block->maxx + MENU_SHADOW_SIDE;
ar->winrct.ymin= block->miny - MENU_SHADOW_BOTTOM;
ar->winrct.ymax= block->maxy + MENU_TOP;
-
+
block->minx -= ar->winrct.xmin;
block->maxx -= ar->winrct.xmin;
block->miny -= ar->winrct.ymin;
@@ -1470,12 +1567,15 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut
bt->y1 -= ar->winrct.ymin;
bt->y2 -= ar->winrct.ymin;
}
-
+
block->flag |= UI_BLOCK_LOOP;
/* adds subwindow */
ED_region_init(C, ar);
+ /* checks which buttons are visible, sets flags to prevent draw (do after region init) */
+ ui_popup_block_scrolltest(block);
+
/* get winmat now that we actually have the subwindow */
wmSubWindowSet(window, ar->swinid);
@@ -1490,6 +1590,10 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut
void ui_popup_block_free(bContext *C, uiPopupBlockHandle *handle)
{
ui_remove_temporary_region(C, CTX_wm_screen(C), handle->region);
+
+ if(handle->scrolltimer)
+ WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), handle->scrolltimer);
+
MEM_freeN(handle);
}
@@ -1625,7 +1729,7 @@ void ui_block_func_ICONTEXTROW(bContext *UNUSED(C), uiLayout *layout, void *arg_
}
#if 0
-static void ui_warp_pointer(short x, short y)
+static void ui_warp_pointer(int x, int y)
{
/* XXX 2.50 which function to use for this? */
/* OSX has very poor mousewarp support, it sends events;
@@ -2150,7 +2254,7 @@ static uiBlock *ui_block_func_POPUP(bContext *C, uiPopupBlockHandle *handle, voi
the offset is negative because we are inverse moving the
block to be under the mouse */
offset[0]= -(bt->x1 + 0.8f*(bt->x2 - bt->x1));
- offset[1]= -(bt->y1 + 0.5f*MENU_BUTTON_HEIGHT);
+ offset[1]= -(bt->y1 + 0.5f*UI_UNIT_Y);
}
else {
/* position mouse at 0.8*width of the button and below the tile
@@ -2159,7 +2263,7 @@ static uiBlock *ui_block_func_POPUP(bContext *C, uiPopupBlockHandle *handle, voi
for(bt=block->buttons.first; bt; bt=bt->next)
offset[0]= MIN2(offset[0], -(bt->x1 + 0.8f*(bt->x2 - bt->x1)));
- offset[1]= 1.5*MENU_BUTTON_HEIGHT;
+ offset[1]= 1.5*UI_UNIT_Y;
}
block->minbounds= minwidth;
@@ -2263,10 +2367,10 @@ uiPopupMenu *uiPupMenuBegin(bContext *C, const char *title, int icon)
if(icon) {
sprintf(titlestr, " %s", title);
- uiDefIconTextBut(pup->block, LABEL, 0, icon, titlestr, 0, 0, 200, MENU_BUTTON_HEIGHT, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefIconTextBut(pup->block, LABEL, 0, icon, titlestr, 0, 0, 200, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
}
else {
- but= uiDefBut(pup->block, LABEL, 0, title, 0, 0, 200, MENU_BUTTON_HEIGHT, NULL, 0.0, 0.0, 0, 0, "");
+ but= uiDefBut(pup->block, LABEL, 0, title, 0, 0, 200, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
but->flag= UI_TEXT_LEFT;
}
}
@@ -2489,6 +2593,25 @@ void uiPupBlock(bContext *C, uiBlockCreateFunc func, void *arg)
uiPupBlockO(C, func, arg, NULL, 0);
}
+void uiPupBlockEx(bContext *C, uiBlockCreateFunc func, uiBlockCancelFunc cancel_func, void *arg)
+{
+ wmWindow *window= CTX_wm_window(C);
+ uiPopupBlockHandle *handle;
+
+ handle= ui_popup_block_create(C, NULL, NULL, func, NULL, arg);
+ handle->popup= 1;
+ handle->retvalue= 1;
+
+ handle->popup_arg= arg;
+ // handle->popup_func= operator_cb;
+ handle->cancel_func= cancel_func;
+ // handle->opcontext= opcontext;
+
+ UI_add_popup_handlers(C, &window->modalhandlers, handle);
+ WM_event_add_mousemove(C);
+}
+
+#if 0 /* UNUSED */
void uiPupBlockOperator(bContext *C, uiBlockCreateFunc func, wmOperator *op, int opcontext)
{
wmWindow *window= CTX_wm_window(C);
@@ -2506,6 +2629,7 @@ void uiPupBlockOperator(bContext *C, uiBlockCreateFunc func, wmOperator *op, int
UI_add_popup_handlers(C, &window->modalhandlers, handle);
WM_event_add_mousemove(C);
}
+#endif
void uiPupBlockClose(bContext *C, uiBlock *block)
{
diff --git a/source/blender/editors/interface/interface_style.c b/source/blender/editors/interface/interface_style.c
index 2e4106b3c04..5f2a757d2e3 100644
--- a/source/blender/editors/interface/interface_style.c
+++ b/source/blender/editors/interface/interface_style.c
@@ -83,7 +83,7 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name)
BLI_addtail(styles, style);
BLI_strncpy(style->name, name, MAX_STYLE_NAME);
- style->panelzoom= 1.0;
+ style->panelzoom= 1.0; /* unused */
style->paneltitle.uifont_id= UIFONT_DEFAULT;
style->paneltitle.points= 12;
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index 94f12911d33..34315494e14 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -33,6 +33,7 @@
#include "MEM_guardedalloc.h"
+#include "DNA_key_types.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
@@ -332,6 +333,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
PointerRNA idptr;
// ListBase *lb; // UNUSED
ID *id, *idfrom;
+ int editable= RNA_property_editable(&template->ptr, template->prop);
idptr= RNA_property_pointer_get(&template->ptr, template->prop);
id= idptr.data;
@@ -352,14 +354,12 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
if (id) but->icon = ui_id_icon_get(C, id, 1);
uiButSetFlag(but, UI_HAS_ICON|UI_ICON_PREVIEW);
}
- if((idfrom && idfrom->lib))
+ if((idfrom && idfrom->lib) || !editable)
uiButSetFlag(but, UI_BUT_DISABLED);
-
uiLayoutRow(layout, 1);
- } else
-
- if(flag & UI_ID_BROWSE) {
+ }
+ else if(flag & UI_ID_BROWSE) {
but= uiDefBlockButN(block, id_search_menu, MEM_dupallocN(template), "", 0, 0, UI_UNIT_X*1.6, UI_UNIT_Y, template_id_browse_tip(type));
if(type) {
but->icon= RNA_struct_ui_icon(type);
@@ -368,7 +368,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
uiButSetFlag(but, UI_HAS_ICON|UI_ICON_LEFT);
}
- if((idfrom && idfrom->lib))
+ if((idfrom && idfrom->lib) || !editable)
uiButSetFlag(but, UI_BUT_DISABLED);
}
@@ -410,7 +410,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
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.");
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))
+ if(!id_copy(id, NULL, 1 /* test only */) || (idfrom && idfrom->lib) || !editable)
uiButSetFlag(but, UI_BUT_DISABLED);
}
@@ -433,7 +433,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ADD_NEW));
}
- if((idfrom && idfrom->lib))
+ if((idfrom && idfrom->lib) || !editable)
uiButSetFlag(but, UI_BUT_DISABLED);
}
@@ -449,7 +449,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_OPEN));
}
- if((idfrom && idfrom->lib))
+ if((idfrom && idfrom->lib) || !editable)
uiButSetFlag(but, UI_BUT_DISABLED);
}
@@ -461,14 +461,14 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
uiButSetNFunc(but, NULL, MEM_dupallocN(template), NULL);
}
else {
- but= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0, 0, 0, 0, "Unlink datablock. Shift + Click to set users to zero, data gets not saved");
+ but= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0, 0, 0, 0, "Unlink datablock. Shift + Click to set users to zero, data will then not be saved");
uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_DELETE));
if(RNA_property_flag(template->prop) & PROP_NEVER_NULL)
uiButSetFlag(but, UI_BUT_DISABLED);
}
- if((idfrom && idfrom->lib))
+ if((idfrom && idfrom->lib) || !editable)
uiButSetFlag(but, UI_BUT_DISABLED);
}
@@ -752,7 +752,7 @@ static uiLayout *draw_modifier(uiLayout *layout, Scene *scene, Object *ob, Modif
if ((ob->type==OB_MESH) && modifier_couldBeCage(scene, md) && (index <= lastCageIndex))
{
/* -- convert to rna ? */
- but = uiDefIconButBitI(block, TOG, eModifierMode_OnCage, 0, ICON_MESH_DATA, 0, 0, 16, 20, &md->mode, 0.0, 0.0, 0.0, 0.0, "Apply modifier to editing cage during Editmode");
+ but = uiDefIconButBitI(block, TOG, eModifierMode_OnCage, 0, ICON_MESH_DATA, 0, 0, UI_UNIT_X-2, UI_UNIT_Y, &md->mode, 0.0, 0.0, 0.0, 0.0, "Apply modifier to editing cage during Editmode");
if (index < cageIndex)
uiButSetFlag(but, UI_BUT_DISABLED);
uiButSetFunc(but, modifiers_setOnCage, ob, md);
@@ -764,7 +764,7 @@ static uiLayout *draw_modifier(uiLayout *layout, Scene *scene, Object *ob, Modif
if (ELEM3(md->type, eModifierType_Hook, eModifierType_Softbody, eModifierType_MeshDeform)) {
/* add disabled pre-tesselated button, so users could have
message for this modifiers */
- but = uiDefIconButBitI(block, TOG, eModifierMode_ApplyOnSpline, 0, ICON_SURFACE_DATA, 0, 0, 16, 20, &md->mode, 0.0, 0.0, 0.0, 0.0, "This modifier could be applied on splines' points only");
+ but = uiDefIconButBitI(block, TOG, eModifierMode_ApplyOnSpline, 0, ICON_SURFACE_DATA, 0, 0, UI_UNIT_X-2, UI_UNIT_Y, &md->mode, 0.0, 0.0, 0.0, 0.0, "This modifier could be applied on splines' points only");
uiButSetFlag(but, UI_BUT_DISABLED);
} else if (mti->type != eModifierTypeType_Constructive) {
/* constructive modifiers tesselates curve before applying */
@@ -851,7 +851,7 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
/* verify we have valid data */
if(!RNA_struct_is_a(ptr->type, &RNA_Modifier)) {
- RNA_warning("uiTemplateModifier: expected modifier on object.\n");
+ RNA_warning("uiTemplateModifier: Expected modifier on object.\n");
return NULL;
}
@@ -859,7 +859,7 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
md= ptr->data;
if(!ob || !(GS(ob->id.name) == ID_OB)) {
- RNA_warning("uiTemplateModifier: expected modifier on object.\n");
+ RNA_warning("uiTemplateModifier: Expected modifier on object.\n");
return NULL;
}
@@ -976,9 +976,6 @@ static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint *con)
block= uiLayoutGetBlock(box);
/* Draw constraint header */
-
- /* rounded header */
- // rb_col= (con->flag & CONSTRAINT_ACTIVE)?50:20; // UNUSED
/* open/close */
uiBlockSetEmboss(block, UI_EMBOSSN);
@@ -1083,7 +1080,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr)
/* verify we have valid data */
if(!RNA_struct_is_a(ptr->type, &RNA_Constraint)) {
- RNA_warning("uiTemplateConstraint: expected constraint on object.\n");
+ RNA_warning("uiTemplateConstraint: Expected constraint on object.\n");
return NULL;
}
@@ -1091,7 +1088,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr)
con= ptr->data;
if(!ob || !(GS(ob->id.name) == ID_OB)) {
- RNA_warning("uiTemplateConstraint: expected constraint on object.\n");
+ RNA_warning("uiTemplateConstraint: Expected constraint on object.\n");
return NULL;
}
@@ -1137,7 +1134,7 @@ void uiTemplatePreview(uiLayout *layout, ID *id, int show_buttons, ID *parent, M
PointerRNA texture_ptr;
if(id && !ELEM4(GS(id->name), ID_MA, ID_TE, ID_WO, ID_LA)) {
- RNA_warning("uiTemplatePreview: expected ID of type material, texture, lamp or world.\n");
+ RNA_warning("uiTemplatePreview: Expected ID of type material, texture, lamp or world.\n");
return;
}
@@ -1282,31 +1279,32 @@ static void colorband_flip_cb(bContext *C, void *cb_v, void *coba_v)
/* offset aligns from bottom, standard width 300, height 115 */
static void colorband_buttons_large(uiLayout *layout, uiBlock *block, ColorBand *coba, int xoffs, int yoffs, RNAUpdateCb *cb)
{
-
uiBut *bt;
uiLayout *row;
+ const int line1_y= yoffs + 65 + UI_UNIT_Y + 2; /* 2 for some space between the buttons */
+ const int line2_y= yoffs + 65;
if(coba==NULL) return;
- bt= uiDefBut(block, BUT, 0, "Add", 0+xoffs,100+yoffs,40,20, NULL, 0, 0, 0, 0, "Add a new color stop to the colorband");
+ bt= uiDefBut(block, BUT, 0, "Add", 0+xoffs,line1_y,40,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Add a new color stop to the colorband");
uiButSetNFunc(bt, colorband_add_cb, MEM_dupallocN(cb), coba);
- bt= uiDefBut(block, BUT, 0, "Delete", 45+xoffs,100+yoffs,45,20, NULL, 0, 0, 0, 0, "Delete the active position");
+ bt= uiDefBut(block, BUT, 0, "Delete", 45+xoffs,line1_y,45,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Delete the active position");
uiButSetNFunc(bt, colorband_del_cb, MEM_dupallocN(cb), coba);
/* XXX, todo for later - convert to operator - campbell */
- bt= uiDefBut(block, BUT, 0, "F", 95+xoffs,100+yoffs,20,20, NULL, 0, 0, 0, 0, "Flip colorband");
+ bt= uiDefBut(block, BUT, 0, "F", 95+xoffs,line1_y,20,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Flip colorband");
uiButSetNFunc(bt, colorband_flip_cb, MEM_dupallocN(cb), coba);
- uiDefButS(block, NUM, 0, "", 120+xoffs,100+yoffs,80, 20, &coba->cur, 0.0, (float)(MAX2(0, coba->tot-1)), 0, 0, "Choose active color stop");
+ uiDefButS(block, NUM, 0, "", 120+xoffs,line1_y,80, UI_UNIT_Y, &coba->cur, 0.0, (float)(MAX2(0, coba->tot-1)), 0, 0, "Choose active color stop");
bt= uiDefButS(block, MENU, 0, "Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4",
- 210+xoffs, 100+yoffs, 90, 20, &coba->ipotype, 0.0, 0.0, 0, 0, "Set interpolation between color stops");
+ 210+xoffs, line1_y, 90, UI_UNIT_Y, &coba->ipotype, 0.0, 0.0, 0, 0, "Set interpolation between color stops");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
uiBlockEndAlign(block);
- bt= uiDefBut(block, BUT_COLORBAND, 0, "", xoffs,65+yoffs,300,30, coba, 0, 0, 0, 0, "");
+ bt= uiDefBut(block, BUT_COLORBAND, 0, "", xoffs,line2_y,300,UI_UNIT_Y, coba, 0, 0, 0, 0, "");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
@@ -1331,11 +1329,11 @@ static void colorband_buttons_small(uiLayout *layout, uiBlock *block, ColorBand
float xs= butr->xmin;
uiBlockBeginAlign(block);
- bt= uiDefBut(block, BUT, 0, "Add", xs,butr->ymin+20.0f,2.0f*unit,20, NULL, 0, 0, 0, 0, "Add a new color stop to the colorband");
+ bt= uiDefBut(block, BUT, 0, "Add", xs,butr->ymin+UI_UNIT_Y,2.0f*unit,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Add a new color stop to the colorband");
uiButSetNFunc(bt, colorband_add_cb, MEM_dupallocN(cb), coba);
- bt= uiDefBut(block, BUT, 0, "Delete", xs+2.0f*unit,butr->ymin+20.0f,1.5f*unit,20, NULL, 0, 0, 0, 0, "Delete the active position");
+ bt= uiDefBut(block, BUT, 0, "Delete", xs+2.0f*unit,butr->ymin+UI_UNIT_Y,1.5f*unit,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Delete the active position");
uiButSetNFunc(bt, colorband_del_cb, MEM_dupallocN(cb), coba);
- bt= uiDefBut(block, BUT, 0, "F", xs+3.5f*unit,butr->ymin+20.0f,0.5f*unit,20, NULL, 0, 0, 0, 0, "Flip the color ramp");
+ bt= uiDefBut(block, BUT, 0, "F", xs+3.5f*unit,butr->ymin+UI_UNIT_Y,0.5f*unit,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Flip the color ramp");
uiButSetNFunc(bt, colorband_flip_cb, MEM_dupallocN(cb), coba);
uiBlockEndAlign(block);
@@ -1347,10 +1345,10 @@ static void colorband_buttons_small(uiLayout *layout, uiBlock *block, ColorBand
}
bt= uiDefButS(block, MENU, 0, "Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4",
- xs+10.0f*unit, butr->ymin+20.0f, unit*4, 20, &coba->ipotype, 0.0, 0.0, 0, 0, "Set interpolation between color stops");
+ xs+10.0f*unit, butr->ymin+UI_UNIT_Y, unit*4, UI_UNIT_Y, &coba->ipotype, 0.0, 0.0, 0, 0, "Set interpolation between color stops");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
- bt= uiDefBut(block, BUT_COLORBAND, 0, "", xs,butr->ymin,butr->xmax-butr->xmin,20.0f, coba, 0, 0, 0, 0, "");
+ bt= uiDefBut(block, BUT_COLORBAND, 0, "", xs,butr->ymin,butr->xmax-butr->xmin,UI_UNIT_Y, coba, 0, 0, 0, 0, "");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
uiBlockEndAlign(block);
@@ -1423,7 +1421,7 @@ void uiTemplateHistogram(uiLayout *layout, PointerRNA *ptr, const char *propname
hist = (Histogram *)cptr.data;
- hist->height= (hist->height<=20)?20:hist->height;
+ hist->height= (hist->height<=UI_UNIT_Y)?UI_UNIT_Y:hist->height;
bt= uiDefBut(block, HISTOGRAM, 0, "", rect.xmin, rect.ymin, rect.xmax-rect.xmin, hist->height, hist, 0, 0, 0, 0, "");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
@@ -1460,7 +1458,7 @@ void uiTemplateWaveform(uiLayout *layout, PointerRNA *ptr, const char *propname)
block= uiLayoutAbsoluteBlock(layout);
- scopes->wavefrm_height= (scopes->wavefrm_height<=20)?20:scopes->wavefrm_height;
+ scopes->wavefrm_height= (scopes->wavefrm_height<=UI_UNIT_Y)?UI_UNIT_Y:scopes->wavefrm_height;
bt= uiDefBut(block, WAVEFORM, 0, "", rect.xmin, rect.ymin, rect.xmax-rect.xmin, scopes->wavefrm_height, scopes, 0, 0, 0, 0, "");
(void)bt; // UNUSED
@@ -1497,7 +1495,7 @@ void uiTemplateVectorscope(uiLayout *layout, PointerRNA *ptr, const char *propna
block= uiLayoutAbsoluteBlock(layout);
- scopes->vecscope_height= (scopes->vecscope_height<=20)?20:scopes->vecscope_height;
+ scopes->vecscope_height= (scopes->vecscope_height<=UI_UNIT_Y)?UI_UNIT_Y:scopes->vecscope_height;
bt= uiDefBut(block, VECTORSCOPE, 0, "", rect.xmin, rect.ymin, rect.xmax-rect.xmin, scopes->vecscope_height, scopes, 0, 0, 0, 0, "");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
@@ -1586,21 +1584,22 @@ static uiBlock *curvemap_clipping_func(bContext *C, struct ARegion *ar, void *cu
CurveMapping *cumap = cumap_v;
uiBlock *block;
uiBut *bt;
+ float width= 8*UI_UNIT_X;
block= uiBeginBlock(C, ar, "curvemap_clipping_func", UI_EMBOSS);
/* use this for a fake extra empy space around the buttons */
- uiDefBut(block, LABEL, 0, "", -4, 16, 128, 106, NULL, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "", -4, 16, width+8, 6*UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
bt= uiDefButBitI(block, TOG, CUMA_DO_CLIP, 1, "Use Clipping",
- 0,100,120,18, &cumap->flag, 0.0, 0.0, 10, 0, "");
+ 0,5*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->flag, 0.0, 0.0, 10, 0, "");
uiButSetFunc(bt, curvemap_buttons_setclip, cumap, NULL);
uiBlockBeginAlign(block);
- uiDefButF(block, NUM, 0, "Min X ", 0,74,120,18, &cumap->clipr.xmin, -100.0, cumap->clipr.xmax, 10, 0, "");
- uiDefButF(block, NUM, 0, "Min Y ", 0,56,120,18, &cumap->clipr.ymin, -100.0, cumap->clipr.ymax, 10, 0, "");
- uiDefButF(block, NUM, 0, "Max X ", 0,38,120,18, &cumap->clipr.xmax, cumap->clipr.xmin, 100.0, 10, 0, "");
- uiDefButF(block, NUM, 0, "Max Y ", 0,20,120,18, &cumap->clipr.ymax, cumap->clipr.ymin, 100.0, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Min X ", 0,4*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmin, -100.0, cumap->clipr.xmax, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Min Y ", 0,3*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymin, -100.0, cumap->clipr.ymax, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Max X ", 0,2*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmax, cumap->clipr.xmin, 100.0, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Max Y ", 0,UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymax, cumap->clipr.ymin, 100.0, 10, 0, "");
uiBlockSetDirection(block, UI_RIGHT);
@@ -1644,17 +1643,17 @@ static void curvemap_tools_dofunc(bContext *C, void *cumap_v, int event)
static uiBlock *curvemap_tools_func(bContext *C, struct ARegion *ar, void *cumap_v)
{
uiBlock *block;
- short yco= 0, menuwidth=120;
+ short yco= 0, menuwidth=10*UI_UNIT_X;
block= uiBeginBlock(C, ar, "curvemap_tools_func", UI_EMBOSS);
uiBlockSetButmFunc(block, curvemap_tools_dofunc, cumap_v);
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Horizontal", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Extrapolated", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 5, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Horizontal", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 4, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Extrapolated", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 5, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
uiBlockSetDirection(block, UI_RIGHT);
uiTextBoundsBlock(block, 50);
@@ -1666,15 +1665,15 @@ static uiBlock *curvemap_tools_func(bContext *C, struct ARegion *ar, void *cumap
static uiBlock *curvemap_brush_tools_func(bContext *C, struct ARegion *ar, void *cumap_v)
{
uiBlock *block;
- short yco= 0, menuwidth=120;
+ short yco= 0, menuwidth=10*UI_UNIT_X;
block= uiBeginBlock(C, ar, "curvemap_tools_func", UI_EMBOSS);
uiBlockSetButmFunc(block, curvemap_tools_dofunc, cumap_v);
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
uiBlockSetDirection(block, UI_RIGHT);
uiTextBoundsBlock(block, 50);
@@ -1728,15 +1727,15 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
if(cumap->cm[0].curve) {
- bt= uiDefButI(block, ROW, 0, "X", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "X", 0, 0, dx, dx, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[1].curve) {
- bt= uiDefButI(block, ROW, 0, "Y", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "Y", 0, 0, dx, dx, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[2].curve) {
- bt= uiDefButI(block, ROW, 0, "Z", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "Z", 0, 0, dx, dx, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
}
@@ -1746,19 +1745,19 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
if(cumap->cm[3].curve) {
- bt= uiDefButI(block, ROW, 0, "C", 0, 0, dx, 16, &cumap->cur, 0.0, 3.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "C", 0, 0, dx, dx, &cumap->cur, 0.0, 3.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[0].curve) {
- bt= uiDefButI(block, ROW, 0, "R", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "R", 0, 0, dx, dx, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[1].curve) {
- bt= uiDefButI(block, ROW, 0, "G", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "G", 0, 0, dx, dx, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[2].curve) {
- bt= uiDefButI(block, ROW, 0, "B", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "B", 0, 0, dx, dx, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
}
@@ -1768,15 +1767,15 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
if(cumap->cm[0].curve) {
- bt= uiDefButI(block, ROW, 0, "H", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "H", 0, 0, dx, dx, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[1].curve) {
- bt= uiDefButI(block, ROW, 0, "S", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "S", 0, 0, dx, dx, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[2].curve) {
- bt= uiDefButI(block, ROW, 0, "V", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "V", 0, 0, dx, dx, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
}
@@ -1791,24 +1790,24 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMIN, 0, 0, dx, 14, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom in");
+ bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMIN, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom in");
uiButSetFunc(bt, curvemap_buttons_zoom_in, cumap, NULL);
- bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMOUT, 0, 0, dx, 14, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom out");
+ bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMOUT, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom out");
uiButSetFunc(bt, curvemap_buttons_zoom_out, cumap, NULL);
if(brush)
- bt= uiDefIconBlockBut(block, curvemap_brush_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, 18, "Tools");
+ bt= uiDefIconBlockBut(block, curvemap_brush_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, "Tools");
else
- bt= uiDefIconBlockBut(block, curvemap_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, 18, "Tools");
+ bt= uiDefIconBlockBut(block, curvemap_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, "Tools");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
if(cumap->flag & CUMA_DO_CLIP) icon= ICON_CLIPUV_HLT; else icon= ICON_CLIPUV_DEHLT;
- bt= uiDefIconBlockBut(block, curvemap_clipping_func, cumap, 0, icon, 0, 0, dx, 18, "Clipping Options");
+ bt= uiDefIconBlockBut(block, curvemap_clipping_func, cumap, 0, icon, 0, 0, dx, dx, "Clipping Options");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
- bt= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, dx, 18, NULL, 0.0, 0.0, 0.0, 0.0, "Delete points");
+ bt= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, "Delete points");
uiButSetNFunc(bt, curvemap_buttons_delete, MEM_dupallocN(cb), cumap);
uiBlockSetEmboss(block, UI_EMBOSS);
@@ -1994,7 +1993,7 @@ void uiTemplateLayers(uiLayout *layout, PointerRNA *ptr, const char *propname,
else if(used_prop && RNA_property_boolean_get_index(used_ptr, used_prop, layer))
icon = ICON_LAYER_USED;
- but= uiDefAutoButR(block, ptr, prop, layer, "", icon, 0, 0, 10, 10);
+ but= uiDefAutoButR(block, ptr, prop, layer, "", icon, 0, 0, UI_UNIT_X/2, UI_UNIT_Y/2);
uiButSetFunc(but, handle_layer_buttons, but, SET_INT_IN_POINTER(layer));
but->type= TOG;
}
@@ -2103,6 +2102,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;
split= uiLayoutSplit(sub, 0.75f, 0);
@@ -2110,7 +2110,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
uiBlockSetEmboss(block, UI_EMBOSSN);
row= uiLayoutRow(split, 1);
- if(i == 0) uiItemL(row, "", ICON_NONE);
+ if(i == 0 || (key->type != KEY_RELATIVE)) uiItemL(row, "", ICON_NONE);
else uiItemR(row, itemptr, "value", 0, "", ICON_NONE);
if(ob->mode == OB_MODE_EDIT && !((ob->shapeflag & OB_SHAPE_EDIT_MODE) && ob->type == OB_MESH))
@@ -2168,14 +2168,14 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
if(prop) {
type= RNA_property_type(prop);
if(type != PROP_COLLECTION) {
- RNA_warning("uiTemplateList: expected collection property.\n");
+ RNA_warning("uiTemplateList: Expected collection property.\n");
return;
}
}
activetype= RNA_property_type(activeprop);
if(activetype != PROP_INT) {
- RNA_warning("uiTemplateList: expected integer property.\n");
+ RNA_warning("uiTemplateList: Expected integer property.\n");
return;
}
@@ -2197,7 +2197,7 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
/* create list items */
RNA_PROP_BEGIN(ptr, itemptr, prop) {
/* create button */
- if(i == 9)
+ if(!(i % 9))
row= uiLayoutRow(col, 0);
icon= list_item_icon_get(C, &itemptr, rnaicon, 1);
@@ -2212,7 +2212,6 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
}
else if(listtype == 'c') {
/* compact layout */
- found= 0;
row= uiLayoutRow(layout, 1);
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index ecadb52ad5d..25a64994f5c 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -159,6 +159,18 @@ static float check_tria_vert[6][2]= {
static int check_tria_face[4][3]= {
{3, 2, 4}, {3, 4, 5}, {1, 0, 3}, {0, 2, 3}};
+GLubyte checker_stipple_sml[32*32/8] =
+{
+ 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
+ 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
+ 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
+ 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
+ 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
+ 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
+ 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
+ 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
+};
+
/* ************************************************* */
void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y3)
@@ -168,7 +180,7 @@ void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y
glEnable(GL_BLEND);
glGetFloatv(GL_CURRENT_COLOR, color);
- color[3]= 0.125;
+ color[3]*= 0.125;
glColor4fv(color);
/* for each AA step */
@@ -614,22 +626,10 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol)
if(wtb->inner) {
if(wcol->shaded==0) {
if (wcol->alpha_check) {
- GLubyte checker_stipple_sml[32*32/8] =
- {
- 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
- 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
- 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
- 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
- 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
- 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
- 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
- 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
- };
-
float x_mid= 0.0f; /* used for dumb clamping of values */
/* dark checkers */
- glColor4ub(100, 100, 100, 255);
+ glColor4ub(UI_TRANSP_DARK, UI_TRANSP_DARK, UI_TRANSP_DARK, 255);
glBegin(GL_POLYGON);
for(a=0; a<wtb->totvert; a++) {
glVertex2fv(wtb->inner_v[a]);
@@ -638,7 +638,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol)
/* light checkers */
glEnable(GL_POLYGON_STIPPLE);
- glColor4ub(160, 160, 160, 255);
+ glColor4ub(UI_TRANSP_LIGHT, UI_TRANSP_LIGHT, UI_TRANSP_LIGHT, 255);
glPolygonStipple(checker_stipple_sml);
glBegin(GL_POLYGON);
for(a=0; a<wtb->totvert; a++) {
@@ -771,7 +771,7 @@ static void widget_draw_preview(BIFIconID icon, float UNUSED(alpha), rcti *rect)
/* icons have been standardized... and this call draws in untransformed coordinates */
-#define ICON_HEIGHT 16.0f
+#define ICON_HEIGHT UI_DPI_FAC*16.0f
static void widget_draw_icon(uiBut *but, BIFIconID icon, float alpha, rcti *rect)
{
@@ -888,7 +888,7 @@ static void ui_text_leftclip(uiFontStyle *fstyle, uiBut *but, rcti *rect)
/* textbut exception, clip right when... */
if(but->editstr && but->pos >= 0) {
float width;
- char buf[256];
+ char buf[UI_MAX_DRAW_STR];
/* copy draw string */
BLI_strncpy(buf, but->drawstr, sizeof(buf));
@@ -2326,39 +2326,43 @@ static void widget_numslider(uiBut *but, uiWidgetColors *wcol, rcti *rect, int s
wtb.outline= 0;
widgetbase_draw(&wtb, wcol);
- /* slider part */
- VECCOPY(outline, wcol->outline);
- VECCOPY(wcol->outline, wcol->item);
- VECCOPY(wcol->inner, wcol->item);
+ /* draw left/right parts only when not in text editing */
+ if(!(state & UI_TEXTINPUT)) {
+
+ /* slider part */
+ VECCOPY(outline, wcol->outline);
+ VECCOPY(wcol->outline, wcol->item);
+ VECCOPY(wcol->inner, wcol->item);
- if(!(state & UI_SELECT))
- SWAP(short, wcol->shadetop, wcol->shadedown);
-
- rect1= *rect;
-
- value= ui_get_but_val(but);
- fac= ((float)value-but->softmin)*(rect1.xmax - rect1.xmin - offs)/(but->softmax - but->softmin);
-
- /* left part of slider, always rounded */
- rect1.xmax= rect1.xmin + ceil(offs+1.0f);
- round_box_edges(&wtb1, roundboxalign & ~6, &rect1, offs);
- wtb1.outline= 0;
- widgetbase_draw(&wtb1, wcol);
-
- /* right part of slider, interpolate roundness */
- rect1.xmax= rect1.xmin + fac + offs;
- rect1.xmin+= floor(offs-1.0f);
- if(rect1.xmax + offs > rect->xmax)
- offs*= (rect1.xmax + offs - rect->xmax)/offs;
- else
- offs= 0.0f;
- round_box_edges(&wtb1, roundboxalign & ~9, &rect1, offs);
-
- widgetbase_draw(&wtb1, wcol);
- VECCOPY(wcol->outline, outline);
-
- if(!(state & UI_SELECT))
- SWAP(short, wcol->shadetop, wcol->shadedown);
+ if(!(state & UI_SELECT))
+ SWAP(short, wcol->shadetop, wcol->shadedown);
+
+ rect1= *rect;
+
+ value= ui_get_but_val(but);
+ fac= ((float)value-but->softmin)*(rect1.xmax - rect1.xmin - offs)/(but->softmax - but->softmin);
+
+ /* left part of slider, always rounded */
+ rect1.xmax= rect1.xmin + ceil(offs+1.0f);
+ round_box_edges(&wtb1, roundboxalign & ~6, &rect1, offs);
+ wtb1.outline= 0;
+ widgetbase_draw(&wtb1, wcol);
+
+ /* right part of slider, interpolate roundness */
+ rect1.xmax= rect1.xmin + fac + offs;
+ rect1.xmin+= floor(offs-1.0f);
+ if(rect1.xmax + offs > rect->xmax)
+ offs*= (rect1.xmax + offs - rect->xmax)/offs;
+ else
+ offs= 0.0f;
+ round_box_edges(&wtb1, roundboxalign & ~9, &rect1, offs);
+
+ widgetbase_draw(&wtb1, wcol);
+ VECCOPY(wcol->outline, outline);
+
+ if(!(state & UI_SELECT))
+ SWAP(short, wcol->shadetop, wcol->shadedown);
+ }
/* outline */
wtb.outline= 1;
@@ -2597,6 +2601,7 @@ static void widget_box(uiBut *but, uiWidgetColors *wcol, rcti *rect, int UNUSED(
/* store the box bg as gl clearcolor, to retrieve later when drawing semi-transparent rects
* over the top to indicate disabled buttons */
+ /* XXX, this doesnt work right since the color applies to buttons outside the box too. */
glClearColor(wcol->inner[0]/255.0, wcol->inner[1]/255.0, wcol->inner[2]/255.0, 1.0);
VECCOPY(wcol->inner, old_col);
@@ -2872,7 +2877,7 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct
ThemeUI *tui= &btheme->tui;
uiFontStyle *fstyle= &style->widget;
uiWidgetType *wt= NULL;
-
+
/* handle menus separately */
if(but->dt==UI_EMBOSSP) {
switch (but->type) {
@@ -3081,6 +3086,18 @@ void ui_draw_menu_back(uiStyle *UNUSED(style), uiBlock *block, rcti *rect)
else
wt->draw(&wt->wcol, rect, 0, 0);
+ if(block) {
+ if(block->flag & UI_BLOCK_CLIPTOP) {
+ /* XXX no scaling for UI here yet */
+ glColor3ubv((unsigned char*)wt->wcol.text);
+ UI_DrawTriIcon((rect->xmax+rect->xmin)/2, rect->ymax-8, 't');
+ }
+ if(block->flag & UI_BLOCK_CLIPBOTTOM) {
+ /* XXX no scaling for UI here yet */
+ glColor3ubv((unsigned char*)wt->wcol.text);
+ UI_DrawTriIcon((rect->xmax+rect->xmin)/2, rect->ymin+10, 'v');
+ }
+ }
}
void ui_draw_search_back(uiStyle *UNUSED(style), uiBlock *block, rcti *rect)
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 1a2a2906f1a..56ef5e9e8cc 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -585,7 +585,7 @@ void ui_theme_init_default(void)
SETCOL(btheme->tv3d.wire, 0x0, 0x0, 0x0, 255);
SETCOL(btheme->tv3d.lamp, 0, 0, 0, 40);
SETCOL(btheme->tv3d.select, 241, 88, 0, 255);
- SETCOL(btheme->tv3d.active, 255, 140, 25, 255);
+ SETCOL(btheme->tv3d.active, 255, 170, 64, 255);
SETCOL(btheme->tv3d.group, 8, 48, 8, 255);
SETCOL(btheme->tv3d.group_active, 85, 187, 85, 255);
SETCOL(btheme->tv3d.transform, 0xff, 0xff, 0xff, 255);
@@ -604,7 +604,7 @@ void ui_theme_init_default(void)
SETCOL(btheme->tv3d.face_dot, 255, 133, 0, 255);
SETCOL(btheme->tv3d.editmesh_active, 255, 255, 255, 128);
SETCOLF(btheme->tv3d.edge_crease, 0.8, 0, 0.6, 1.0);
- SETCOL(btheme->tv3d.edge_sharp, 255, 32, 32, 255);
+ SETCOL(btheme->tv3d.edge_sharp, 0, 255, 255, 255);
SETCOL(btheme->tv3d.header_text, 0, 0, 0, 255);
SETCOL(btheme->tv3d.header_text_hi, 255, 255, 255, 255);
SETCOL(btheme->tv3d.button_text, 0, 0, 0, 255);
@@ -1115,10 +1115,11 @@ void init_userdef_do_versions(void)
}
if(U.pad_rot_angle==0)
U.pad_rot_angle= 15;
-
- if(U.flag & USER_CUSTOM_RANGE)
- vDM_ColorBand_store(&U.coba_weight); /* signal for derivedmesh to use colorband */
-
+
+ /* signal for derivedmesh to use colorband */
+ /* run incase this was on and is now off in the user prefs [#28096] */
+ vDM_ColorBand_store((U.flag & USER_CUSTOM_RANGE) ? (&U.coba_weight):NULL);
+
if (bmain->versionfile <= 191) {
strcpy(U.plugtexdir, U.textudir);
strcpy(U.sounddir, "/");
@@ -1578,6 +1579,10 @@ void init_userdef_do_versions(void)
}
if (U.dragthreshold == 0 )
U.dragthreshold= 5;
+ if (U.widget_unit==0)
+ U.widget_unit= (U.dpi * 20 + 36)/72;
+ if (U.anisotropic_filter <= 0)
+ U.anisotropic_filter = 1;
/* funny name, but it is GE stuff, moves userdef stuff to engine */
// XXX space_set_commmandline_options();
diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c
index 32301dd6423..43bf2f59e04 100644
--- a/source/blender/editors/interface/view2d.c
+++ b/source/blender/editors/interface/view2d.c
@@ -44,6 +44,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_screen.h"
#include "BKE_global.h"
@@ -1541,7 +1542,7 @@ static void scroll_printstr(Scene *scene, float x, float y, float val, int power
}
/* draw it */
- BLF_draw_default(x, y, 0.0f, str, sizeof(str)-1);
+ BLF_draw_default_ascii(x, y, 0.0f, str, sizeof(str)-1);
}
/* Draw scrollbars in the given 2d-region */
@@ -1959,17 +1960,14 @@ View2D *UI_view2d_fromcontext(const bContext *C)
/* same as above, but it returns regionwindow. Utility for pulldowns or buttons */
View2D *UI_view2d_fromcontext_rwin(const bContext *C)
{
- ScrArea *area= CTX_wm_area(C);
+ ScrArea *sa= CTX_wm_area(C);
ARegion *region= CTX_wm_region(C);
- if (area == NULL) return NULL;
+ if (sa == NULL) return NULL;
if (region == NULL) return NULL;
if (region->regiontype!=RGN_TYPE_WINDOW) {
- ARegion *ar= area->regionbase.first;
- for(; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_WINDOW)
- return &(ar->v2d);
- return NULL;
+ ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+ return ar ? &(ar->v2d) : NULL;
}
return &(region->v2d);
}
@@ -2028,7 +2026,7 @@ typedef struct View2DString {
unsigned char ub[4];
int pack;
} col;
- short mval[2];
+ int mval[2];
rcti rect;
} View2DString;
diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c
index 62b191c2c6e..434334258af 100644
--- a/source/blender/editors/interface/view2d_ops.c
+++ b/source/blender/editors/interface/view2d_ops.c
@@ -86,6 +86,7 @@ typedef struct v2dViewPanData {
/* options for version 1 */
int startx, starty; /* mouse x/y values in window when operator was initiated */
int lastx, lasty; /* previous x/y values of mouse in window */
+ int invoke_event; /* event starting pan, for modal exit */
short in_scroller; /* for MMB in scrollers (old feature in past, but now not that useful) */
} v2dViewPanData;
@@ -202,7 +203,8 @@ static int view_pan_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* set initial settings */
vpd->startx= vpd->lastx= event->x;
vpd->starty= vpd->lasty= event->y;
-
+ vpd->invoke_event= event->type;
+
if (event->type == MOUSEPAN) {
RNA_int_set(op->ptr, "deltax", event->prevx - event->x);
RNA_int_set(op->ptr, "deltay", event->prevy - event->y);
@@ -261,17 +263,19 @@ static int view_pan_modal(bContext *C, wmOperator *op, wmEvent *event)
WM_operator_name_call(C, "VIEW2D_OT_zoom", WM_OP_INVOKE_DEFAULT, NULL);
return OPERATOR_FINISHED;
}
- case MIDDLEMOUSE:
- case ESCKEY:
- if (event->val==KM_RELEASE) {
- /* calculate overall delta mouse-movement for redo */
- RNA_int_set(op->ptr, "deltax", (vpd->startx - vpd->lastx));
- RNA_int_set(op->ptr, "deltay", (vpd->starty - vpd->lasty));
-
- view_pan_exit(op);
- WM_cursor_restore(CTX_wm_window(C));
-
- return OPERATOR_FINISHED;
+
+ default:
+ if (event->type == vpd->invoke_event || event->type==ESCKEY) {
+ if (event->val==KM_RELEASE) {
+ /* calculate overall delta mouse-movement for redo */
+ RNA_int_set(op->ptr, "deltax", (vpd->startx - vpd->lastx));
+ RNA_int_set(op->ptr, "deltay", (vpd->starty - vpd->lasty));
+
+ view_pan_exit(op);
+ WM_cursor_restore(CTX_wm_window(C));
+
+ return OPERATOR_FINISHED;
+ }
}
break;
}
@@ -519,6 +523,7 @@ typedef struct v2dViewZoomData {
double timer_lastdraw;
int lastx, lasty; /* previous x/y values of mouse in window */
+ int invoke_event; /* event type that invoked, for modal exits */
float dx, dy; /* running tally of previous delta values (for obtaining final zoom) */
float mx_2d, my_2d; /* initial mouse location in v2d coords */
} v2dViewZoomData;
@@ -697,7 +702,7 @@ static int view_zoomin_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* store initial mouse position (in view space) */
UI_view2d_region_to_view(&ar->v2d,
- event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ event->mval[0], event->mval[1],
&vzd->mx_2d, &vzd->my_2d);
}
@@ -754,7 +759,7 @@ static int view_zoomout_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* store initial mouse position (in view space) */
UI_view2d_region_to_view(&ar->v2d,
- event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ event->mval[0], event->mval[1],
&vzd->mx_2d, &vzd->my_2d);
}
@@ -871,6 +876,13 @@ static void view_zoomdrag_exit(bContext *C, wmOperator *op)
}
}
+static int view_zoomdrag_cancel(bContext *C, wmOperator *op)
+{
+ view_zoomdrag_exit(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
/* for 'redo' only, with no user input */
static int view_zoomdrag_exec(bContext *C, wmOperator *op)
{
@@ -923,12 +935,15 @@ static int view_zoomdrag_invoke(bContext *C, wmOperator *op, wmEvent *event)
RNA_float_set(op->ptr, "deltax", 0);
RNA_float_set(op->ptr, "deltay", 0);
+ /* for modal exit test */
+ vzd->invoke_event= event->type;
+
if (U.uiflag & USER_ZOOM_TO_MOUSEPOS) {
ARegion *ar= CTX_wm_region(C);
/* store initial mouse position (in view space) */
UI_view2d_region_to_view(&ar->v2d,
- event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ event->mval[0], event->mval[1],
&vzd->mx_2d, &vzd->my_2d);
}
@@ -1021,8 +1036,9 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, wmEvent *event)
/* apply zooming */
view_zoomdrag_apply(C, op);
}
- else if (ELEM3(event->type, LEFTMOUSE, MIDDLEMOUSE, RIGHTMOUSE)) { /* XXX needs modal keymap */
- if (event->val==KM_RELEASE) {
+ else if (event->type == vzd->invoke_event || event->type==ESCKEY) {
+ if (event->val == KM_RELEASE) {
+
/* for redo, store the overall deltas - need to respect zoom-locks here... */
if ((v2d->keepzoom & V2D_LOCKZOOM_X)==0)
RNA_float_set(op->ptr, "deltax", vzd->dx);
@@ -1056,6 +1072,7 @@ static void VIEW2D_OT_zoom(wmOperatorType *ot)
ot->exec= view_zoomdrag_exec;
ot->invoke= view_zoomdrag_invoke;
ot->modal= view_zoomdrag_modal;
+ ot->cancel= view_zoomdrag_cancel;
ot->poll= view_zoom_poll;
@@ -1156,6 +1173,7 @@ static void VIEW2D_OT_zoom_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= view_borderzoom_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= view_zoom_poll;
@@ -1277,7 +1295,6 @@ static void scroller_activate_init(bContext *C, wmOperator *op, wmEvent *event,
ARegion *ar= CTX_wm_region(C);
View2D *v2d= &ar->v2d;
float mask_size;
- int x, y;
/* set custom-data for operator */
vsm= MEM_callocN(sizeof(v2dScrollerMove), "v2dScrollerMove");
@@ -1291,8 +1308,6 @@ static void scroller_activate_init(bContext *C, wmOperator *op, wmEvent *event,
/* store mouse-coordinates, and convert mouse/screen coordinates to region coordinates */
vsm->lastx = event->x;
vsm->lasty = event->y;
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
/* 'zone' depends on where mouse is relative to bubble
* - zooming must be allowed on this axis, otherwise, default to pan
@@ -1304,7 +1319,7 @@ static void scroller_activate_init(bContext *C, wmOperator *op, wmEvent *event,
vsm->fac= (v2d->tot.xmax - v2d->tot.xmin) / mask_size;
/* get 'zone' (i.e. which part of scroller is activated) */
- vsm->zone= mouse_in_scroller_handle(x, v2d->hor.xmin, v2d->hor.xmax, scrollers->hor_min, scrollers->hor_max);
+ vsm->zone= mouse_in_scroller_handle(event->mval[0], v2d->hor.xmin, v2d->hor.xmax, scrollers->hor_min, scrollers->hor_max);
if ((v2d->keepzoom & V2D_LOCKZOOM_X) && ELEM(vsm->zone, SCROLLHANDLE_MIN, SCROLLHANDLE_MAX)) {
/* default to scroll, as handles not usable */
@@ -1319,7 +1334,7 @@ static void scroller_activate_init(bContext *C, wmOperator *op, wmEvent *event,
vsm->fac= (v2d->tot.ymax - v2d->tot.ymin) / mask_size;
/* get 'zone' (i.e. which part of scroller is activated) */
- vsm->zone= mouse_in_scroller_handle(y, v2d->vert.ymin, v2d->vert.ymax, scrollers->vert_min, scrollers->vert_max);
+ vsm->zone= mouse_in_scroller_handle(event->mval[1], v2d->vert.ymin, v2d->vert.ymax, scrollers->vert_min, scrollers->vert_max);
if ((v2d->keepzoom & V2D_LOCKZOOM_Y) && ELEM(vsm->zone, SCROLLHANDLE_MIN, SCROLLHANDLE_MAX)) {
/* default to scroll, as handles not usable */
@@ -1346,7 +1361,14 @@ static void scroller_activate_exit(bContext *C, wmOperator *op)
ED_region_tag_redraw(CTX_wm_region(C));
}
-}
+}
+
+static int scroller_activate_cancel(bContext *C, wmOperator *op)
+{
+ scroller_activate_exit(C, op);
+
+ return OPERATOR_CANCELLED;
+}
/* apply transform to view (i.e. adjust 'cur' rect) */
static void scroller_activate_apply(bContext *C, wmOperator *op)
@@ -1555,6 +1577,8 @@ static void VIEW2D_OT_scroller_activate(wmOperatorType *ot)
/* api callbacks */
ot->invoke= scroller_activate_invoke;
ot->modal= scroller_activate_modal;
+ ot->cancel= scroller_activate_cancel;
+
ot->poll= view2d_poll;
}
diff --git a/source/blender/editors/mesh/CMakeLists.txt b/source/blender/editors/mesh/CMakeLists.txt
index a03bf173425..02a25a2a122 100644
--- a/source/blender/editors/mesh/CMakeLists.txt
+++ b/source/blender/editors/mesh/CMakeLists.txt
@@ -22,14 +22,17 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -49,4 +52,4 @@ set(SRC
mesh_intern.h
)
-blender_add_lib(bf_editor_mesh "${SRC}" "${INC}")
+blender_add_lib(bf_editor_mesh "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/mesh/editface.c b/source/blender/editors/mesh/editface.c
index 9cec034af28..ab62c88deaa 100644
--- a/source/blender/editors/mesh/editface.c
+++ b/source/blender/editors/mesh/editface.c
@@ -98,7 +98,7 @@ void paintface_flush_flags(Object *ob)
}
/* returns 0 if not found, otherwise 1 */
-static int facesel_face_pick(struct bContext *C, Mesh *me, const short mval[2], unsigned int *index, short rect)
+static int facesel_face_pick(struct bContext *C, Mesh *me, const int mval[2], unsigned int *index, short rect)
{
ViewContext vc;
view3d_set_viewcontext(C, &vc);
@@ -327,7 +327,7 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind
MEM_freeN(linkflag);
}
-void paintface_select_linked(bContext *UNUSED(C), Object *ob, short UNUSED(mval[2]), int mode)
+void paintface_select_linked(bContext *UNUSED(C), Object *ob, int UNUSED(mval[2]), int mode)
{
Mesh *me;
unsigned int index=0;
@@ -716,7 +716,7 @@ void seam_mark_clear_tface(Scene *scene, short mode)
}
#endif
-int paintface_mouse_select(struct bContext *C, Object *ob, const short mval[2], int extend)
+int paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], int extend)
{
Mesh *me;
MFace *mface, *msel;
diff --git a/source/blender/editors/mesh/editmesh_loop.c b/source/blender/editors/mesh/editmesh_loop.c
index 72e9e3b6d9e..acbe5ef2144 100644
--- a/source/blender/editors/mesh/editmesh_loop.c
+++ b/source/blender/editors/mesh/editmesh_loop.c
@@ -199,7 +199,7 @@ static void CutEdgeloop(Object *obedit, wmOperator *op, EditMesh *em, int numcut
EditEdge *nearest=NULL, *eed;
float fac;
int keys = 0, holdnum=0, selectmode, dist;
- short mvalo[2] = {0, 0}, mval[2] = {0, 0};
+ int mvalo[2] = {0, 0}, mval[2] = {0, 0};
short event=0, val, choosing=1, cancel=0, cuthalf = 0, smooth=0;
short hasHidden = 0;
char msg[128];
@@ -608,9 +608,12 @@ static float seg_intersect(EditEdge *e, CutCurve *c, int len, char mode, struct
return(perc);
}
-
+/* for multicut */
#define MAX_CUTS 256
+/* for amount of edges */
+#define MAX_CUT_EDGES 1024
+
static int knife_cut_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
@@ -618,7 +621,7 @@ static int knife_cut_exec(bContext *C, wmOperator *op)
ARegion *ar= CTX_wm_region(C);
EditEdge *eed;
EditVert *eve;
- CutCurve curve[MAX_CUTS];
+ CutCurve curve[MAX_CUT_EDGES];
struct GHash *gh;
float isect=0.0;
float *scr, co[4];
@@ -642,7 +645,7 @@ static int knife_cut_exec(bContext *C, wmOperator *op)
RNA_float_get_array(&itemptr, "loc", (float *)&curve[len]);
len++;
- if(len>= MAX_CUTS) break;
+ if(len>= MAX_CUT_EDGES) break;
}
RNA_END;
@@ -716,6 +719,7 @@ void MESH_OT_knife_cut(wmOperatorType *ot)
ot->invoke= WM_gesture_lines_invoke;
ot->modal= WM_gesture_lines_modal;
ot->exec= knife_cut_exec;
+ ot->cancel= WM_gesture_lines_cancel;
ot->poll= EM_view3d_poll;
diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c
index 8cdbe6707a3..9497370a4fa 100644
--- a/source/blender/editors/mesh/editmesh_mods.c
+++ b/source/blender/editors/mesh/editmesh_mods.c
@@ -162,7 +162,7 @@ unsigned int em_solidoffs=0, em_wireoffs=0, em_vertoffs=0; /* set in drawobject.
static char *selbuf= NULL;
/* opengl doesn't support concave... */
-static void draw_triangulated(short mcords[][2], short tot)
+static void draw_triangulated(int mcords[][2], short tot)
{
ListBase lb={NULL, NULL};
DispList *dl;
@@ -256,7 +256,7 @@ void EM_free_backbuf(void)
- grab again and compare
returns 'OK'
*/
-int EM_mask_init_backbuf_border(ViewContext *vc, short mcords[][2], short tot, short xmin, short ymin, short xmax, short ymax)
+int EM_mask_init_backbuf_border(ViewContext *vc, int mcords[][2], short tot, short xmin, short ymin, short xmax, short ymax)
{
unsigned int *dr, *drm;
struct ImBuf *buf, *bufmask;
@@ -290,7 +290,7 @@ int EM_mask_init_backbuf_border(ViewContext *vc, short mcords[][2], short tot, s
draw_triangulated(mcords, tot);
glBegin(GL_LINE_LOOP); /* for zero sized masks, lines */
- for(a=0; a<tot; a++) glVertex2s(mcords[a][0], mcords[a][1]);
+ for(a=0; a<tot; a++) glVertex2iv(mcords[a]);
glEnd();
glFinish(); /* to be sure readpixels sees mask */
@@ -358,7 +358,7 @@ int EM_init_backbuf_circle(ViewContext *vc, short xs, short ys, short rads)
static void findnearestvert__doClosest(void *userData, EditVert *eve, int x, int y, int index)
{
- struct { short mval[2], pass, select, strict; int dist, lastIndex, closestIndex; EditVert *closest; } *data = userData;
+ struct { int mval[2]; short pass, select, strict; int dist, lastIndex, closestIndex; EditVert *closest; } *data = userData;
if (data->pass==0) {
if (index<=data->lastIndex)
@@ -426,7 +426,7 @@ EditVert *findnearestvert(ViewContext *vc, int *dist, short sel, short strict)
}
else {
- struct { short mval[2], pass, select, strict; int dist, lastIndex, closestIndex; EditVert *closest; } data;
+ struct { int mval[2]; short pass, select, strict; int dist, lastIndex, closestIndex; EditVert *closest; } data;
static int lastSelectedIndex=0;
static EditVert *lastSelected=NULL;
@@ -504,7 +504,7 @@ static void findnearestedge__doClosest(void *userData, EditEdge *eed, int x0, in
vec[1]= eed->v1->co[1] + labda*(eed->v2->co[1] - eed->v1->co[1]);
vec[2]= eed->v1->co[2] + labda*(eed->v2->co[2] - eed->v1->co[2]);
- if(view3d_test_clipping(data->vc.rv3d, vec, 1)==0) {
+ if(ED_view3d_test_clipping(data->vc.rv3d, vec, 1)==0) {
data->dist = distance;
data->closest = eed;
}
@@ -549,7 +549,7 @@ EditEdge *findnearestedge(ViewContext *vc, int *dist)
static void findnearestface__getDistance(void *userData, EditFace *efa, int x, int y, int UNUSED(index))
{
- struct { short mval[2]; int dist; EditFace *toFace; } *data = userData;
+ struct { int mval[2]; int dist; EditFace *toFace; } *data = userData;
if (efa==data->toFace) {
int temp = abs(data->mval[0]-x) + abs(data->mval[1]-y);
@@ -560,7 +560,7 @@ static void findnearestface__getDistance(void *userData, EditFace *efa, int x, i
}
static void findnearestface__doClosest(void *userData, EditFace *efa, int x, int y, int index)
{
- struct { short mval[2], pass; int dist, lastIndex, closestIndex; EditFace *closest; } *data = userData;
+ struct { int mval[2]; short pass; int dist, lastIndex, closestIndex; EditFace *closest; } *data = userData;
if (data->pass==0) {
if (index<=data->lastIndex)
@@ -588,7 +588,7 @@ static EditFace *findnearestface(ViewContext *vc, int *dist)
EditFace *efa = BLI_findlink(&vc->em->faces, index-1);
if (efa) {
- struct { short mval[2]; int dist; EditFace *toFace; } data;
+ struct { int mval[2]; int dist; EditFace *toFace; } data;
data.mval[0] = vc->mval[0];
data.mval[1] = vc->mval[1];
@@ -607,7 +607,7 @@ static EditFace *findnearestface(ViewContext *vc, int *dist)
return NULL;
}
else {
- struct { short mval[2], pass; int dist, lastIndex, closestIndex; EditFace *closest; } data;
+ struct { int mval[2]; short pass; int dist, lastIndex, closestIndex; EditFace *closest; } data;
static int lastSelectedIndex=0;
static EditFace *lastSelected=NULL;
@@ -867,7 +867,7 @@ static int similar_face_select_exec(bContext *C, wmOperator *op)
Mesh *me= obedit->data;
EditMesh *em= BKE_mesh_get_editmesh(me);
- int selcount = similar_face_select__internal(em, RNA_int_get(op->ptr, "type"), RNA_float_get(op->ptr, "threshold"));
+ int selcount = similar_face_select__internal(em, RNA_enum_get(op->ptr, "type"), RNA_float_get(op->ptr, "threshold"));
if (selcount) {
/* here was an edge-mode only select flush case, has to be generalized */
@@ -1250,7 +1250,7 @@ static int select_similar_exec(bContext *C, wmOperator *op)
return similar_face_select_exec(C, op);
}
-static EnumPropertyItem *select_similar_type_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *select_similar_type_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *obedit= CTX_data_edit_object(C);
EnumPropertyItem *item= NULL;
@@ -2061,7 +2061,7 @@ void MESH_OT_loop_multi_select(wmOperatorType *ot)
/* ***************** loop select (non modal) ************** */
-static void mouse_mesh_loop(bContext *C, const short mval[2], short extend, short ring)
+static void mouse_mesh_loop(bContext *C, const int mval[2], short extend, short ring)
{
ViewContext vc;
EditMesh *em;
@@ -2149,7 +2149,7 @@ void MESH_OT_loop_select(wmOperatorType *ot)
/* ******************* mesh shortest path select, uses prev-selected edge ****************** */
/* since you want to create paths with multiple selects, it doesn't have extend option */
-static void mouse_mesh_shortest_path(bContext *C, const short mval[2])
+static void mouse_mesh_shortest_path(bContext *C, const int mval[2])
{
ViewContext vc;
EditMesh *em;
@@ -2282,7 +2282,7 @@ void MESH_OT_select_shortest_path(wmOperatorType *ot)
/* here actual select happens */
/* gets called via generic mouse select operator */
-int mouse_mesh(bContext *C, const short mval[2], short extend)
+int mouse_mesh(bContext *C, const int mval[2], short extend)
{
ViewContext vc;
EditVert *eve;
@@ -2339,7 +2339,7 @@ int mouse_mesh(bContext *C, const short mval[2], short extend)
if (efa && efa->mat_nr != vc.obedit->actcol-1) {
vc.obedit->actcol= efa->mat_nr+1;
vc.em->mat_nr= efa->mat_nr;
-// BIF_preview_changed(ID_MA);
+ WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
}
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index a78029da079..bfae101d38e 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -762,7 +762,7 @@ static EnumPropertyItem extrude_items[] = {
{0, NULL, 0, NULL, NULL}};
-static EnumPropertyItem *mesh_extrude_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *mesh_extrude_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
EnumPropertyItem *item= NULL;
Object *obedit= CTX_data_edit_object(C);
@@ -3967,6 +3967,7 @@ short sharesFace(EditMesh *em, EditEdge* e1, EditEdge* e2)
return 0;
}
+#if 0
typedef struct SlideUv {
float origuv[2];
@@ -3980,7 +3981,6 @@ typedef struct SlideVert {
EditVert origvert;
} SlideVert;
-#if 0
int EdgeSlide(EditMesh *em, wmOperator *op, short immediate, float imperc)
{
return 0;
@@ -4011,7 +4011,7 @@ useless:
LinkNode *fuv_link;
short event, draw=1;
- short mval[2], mvalo[2];
+ int mval[2], mvalo[2];
char str[128];
float labda = 0.0f;
@@ -4416,7 +4416,7 @@ useless:
percp = -1;
while(draw) {
/* For the % calculation */
- short mval[2];
+ int mval[2];
float rc[2];
float v2[2], v3[2];
EditVert *centerVert, *upVert, *downVert;
@@ -4867,12 +4867,12 @@ void mesh_set_face_flags(EditMesh *em, short mode)
/********************** Rip Operator *************************/
/* helper to find edge for edge_rip */
-static float mesh_rip_edgedist(ARegion *ar, float mat[][4], float *co1, float *co2, const short mval[2])
+static float mesh_rip_edgedist(ARegion *ar, float mat[][4], float *co1, float *co2, const int mval[2])
{
float vec1[3], vec2[3], mvalf[2];
- view3d_project_float(ar, co1, vec1, mat);
- view3d_project_float(ar, co2, vec2, mat);
+ ED_view3d_project_float(ar, co1, vec1, mat);
+ ED_view3d_project_float(ar, co2, vec2, mat);
mvalf[0]= (float)mval[0];
mvalf[1]= (float)mval[1];
@@ -4910,12 +4910,13 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
EditEdge *eed, *seed= NULL;
EditFace *efa, *sefa= NULL;
float projectMat[4][4], vec[3], dist, mindist;
- short doit= 1, *mval= event->mval;
+ short doit= 1;
+ int *mval= event->mval;
/* select flush... vertices are important */
EM_selectmode_set(em);
- view3d_get_object_project_mat(rv3d, obedit, projectMat);
+ ED_view3d_ob_project_mat_get(rv3d, obedit, projectMat);
/* find best face, exclude triangles and break on face select or faces with 2 edges select */
mindist= 1000000.0f;
@@ -4932,7 +4933,7 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(totsel>1)
break;
- view3d_project_float(ar, efa->cent, vec, projectMat);
+ ED_view3d_project_float(ar, efa->cent, vec, projectMat);
dist= sqrt( (vec[0]-mval[0])*(vec[0]-mval[0]) + (vec[1]-mval[1])*(vec[1]-mval[1]) );
if(dist<mindist) {
mindist= dist;
@@ -5262,7 +5263,7 @@ static int blend_from_shape_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-static EnumPropertyItem *shape_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *shape_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *obedit= CTX_data_edit_object(C);
Mesh *me= (obedit) ? obedit->data : NULL;
@@ -5315,7 +5316,7 @@ void MESH_OT_blend_from_shape(wmOperatorType *ot)
prop= RNA_def_enum(ot->srna, "shape", shape_items, 0, "Shape", "Shape key to use for blending.");
RNA_def_enum_funcs(prop, shape_itemf);
RNA_def_float(ot->srna, "blend", 1.0f, -FLT_MAX, FLT_MAX, "Blend", "Blending factor.", -2.0f, 2.0f);
- RNA_def_boolean(ot->srna, "add", 0, "Add", "Add rather then blend between shapes.");
+ RNA_def_boolean(ot->srna, "add", 0, "Add", "Add rather than blend between shapes.");
}
/************************ Merge Operator *************************/
@@ -5974,7 +5975,7 @@ static EnumPropertyItem merge_type_items[]= {
{5, "COLLAPSE", 0, "Collapse", ""},
{0, NULL, 0, NULL, NULL}};
-static EnumPropertyItem *merge_type_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *merge_type_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *obedit= CTX_data_edit_object(C);
EnumPropertyItem *item= NULL;
diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c
index f3e26cfee36..c4a302d4d18 100644
--- a/source/blender/editors/mesh/mesh_data.c
+++ b/source/blender/editors/mesh/mesh_data.c
@@ -235,7 +235,7 @@ int ED_mesh_uv_texture_remove(bContext *C, Object *ob, Mesh *me)
return 1;
}
-int ED_mesh_color_add(bContext *C, Scene *scene, Object *ob, Mesh *me, const char *name, int active_set)
+int ED_mesh_color_add(bContext *C, Scene *UNUSED(scene), Object *UNUSED(ob), Mesh *me, const char *name, int active_set)
{
EditMesh *em;
MCol *mcol;
@@ -272,9 +272,6 @@ int ED_mesh_color_add(bContext *C, Scene *scene, Object *ob, Mesh *me, const cha
CustomData_set_layer_active(&me->fdata, CD_MCOL, layernum);
mesh_update_customdata_pointers(me);
-
- if(!mcol)
- shadeMeshMCol(scene, ob, me);
}
DAG_id_tag_update(&me->id, 0);
diff --git a/source/blender/editors/metaball/CMakeLists.txt b/source/blender/editors/metaball/CMakeLists.txt
index af3d25699ed..76561b12183 100644
--- a/source/blender/editors/metaball/CMakeLists.txt
+++ b/source/blender/editors/metaball/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../render/extern/include
@@ -31,6 +31,10 @@ set(INC
../../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
mball_edit.c
mball_ops.c
@@ -38,4 +42,4 @@ set(SRC
mball_intern.h
)
-blender_add_lib(bf_editor_metaball "${SRC}" "${INC}")
+blender_add_lib(bf_editor_metaball "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/metaball/mball_edit.c b/source/blender/editors/metaball/mball_edit.c
index b67f9d6de29..b007e30422d 100644
--- a/source/blender/editors/metaball/mball_edit.c
+++ b/source/blender/editors/metaball/mball_edit.c
@@ -455,7 +455,7 @@ void MBALL_OT_reveal_metaelems(wmOperatorType *ot)
/* Select MetaElement with mouse click (user can select radius circle or
* stiffness circle) */
-int mouse_mball(bContext *C, const short mval[2], int extend)
+int mouse_mball(bContext *C, const int mval[2], int extend)
{
static MetaElem *startelem=NULL;
Object *obedit= CTX_data_edit_object(C);
diff --git a/source/blender/editors/object/CMakeLists.txt b/source/blender/editors/object/CMakeLists.txt
index 47cb4d00938..14b40d55f11 100644
--- a/source/blender/editors/object/CMakeLists.txt
+++ b/source/blender/editors/object/CMakeLists.txt
@@ -22,19 +22,23 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../ikplugin
../../imbuf
../../makesdna
../../makesrna
../../python
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
object_add.c
object_bake.c
@@ -58,4 +62,4 @@ if(WITH_PYTHON)
add_definitions(-DWITH_PYTHON)
endif()
-blender_add_lib(bf_editor_object "${SRC}" "${INC}")
+blender_add_lib(bf_editor_object "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index c425ef5a36a..f5f97c6a5f6 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -174,14 +174,14 @@ void ED_object_add_generic_props(wmOperatorType *ot, int do_editmode)
PropertyRNA *prop;
/* note: this property gets hidden for add-camera operator */
- RNA_def_boolean(ot->srna, "view_align", 0, "Align to View", "Align the new object to the view.");
+ RNA_def_boolean(ot->srna, "view_align", 0, "Align to View", "Align the new object to the view");
if(do_editmode) {
- prop= RNA_def_boolean(ot->srna, "enter_editmode", 0, "Enter Editmode", "Enter editmode when adding this object.");
+ prop= RNA_def_boolean(ot->srna, "enter_editmode", 0, "Enter Editmode", "Enter editmode when adding this object");
RNA_def_property_flag(prop, PROP_HIDDEN);
}
- 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_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);
prop = RNA_def_boolean_layer_member(ot->srna, "layers", 20, NULL, "Layer", "");
@@ -637,7 +637,7 @@ static int object_armature_add_exec(bContext *C, wmOperator *op)
else DAG_id_tag_update(&obedit->id, OB_RECALC_DATA);
if(obedit==NULL) {
- BKE_report(op->reports, RPT_ERROR, "Cannot create editmode armature.");
+ BKE_report(op->reports, RPT_ERROR, "Cannot create editmode armature");
return OPERATOR_CANCELLED;
}
@@ -806,14 +806,14 @@ static int object_delete_exec(bContext *C, wmOperator *UNUSED(op))
{
Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
- int islamp= 0;
+ /* int islamp= 0; */ /* UNUSED */
if(CTX_data_edit_object(C))
return OPERATOR_CANCELLED;
CTX_DATA_BEGIN(C, Base*, base, selected_bases) {
- if(base->object->type==OB_LAMP) islamp= 1;
+ /* if(base->object->type==OB_LAMP) islamp= 1; */
/* deselect object -- it could be used in other scenes */
base->object->flag &= ~SELECT;
@@ -823,8 +823,6 @@ static int object_delete_exec(bContext *C, wmOperator *UNUSED(op))
}
CTX_DATA_END;
- if(islamp) reshadeall_displist(scene); /* only frees displist */
-
DAG_scene_sort(bmain, scene);
DAG_ids_flush_update(bmain, 0);
@@ -1382,7 +1380,7 @@ static int convert_exec(bContext *C, wmOperator *op)
void OBJECT_OT_convert(wmOperatorType *ot)
{
/* identifiers */
- ot->name= "Convert";
+ ot->name= "Convert to";
ot->description = "Convert selected objects to another type";
ot->idname= "OBJECT_OT_convert";
@@ -1395,8 +1393,8 @@ void OBJECT_OT_convert(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- ot->prop= RNA_def_enum(ot->srna, "target", convert_target_items, OB_MESH, "Target", "Type of object to convert to.");
- RNA_def_boolean(ot->srna, "keep_original", 0, "Keep Original", "Keep original objects instead of replacing them.");
+ ot->prop= RNA_def_enum(ot->srna, "target", convert_target_items, OB_MESH, "Target", "Type of object to convert to");
+ RNA_def_boolean(ot->srna, "keep_original", 0, "Keep Original", "Keep original objects instead of replacing them");
}
/**************************** Duplicate ************************/
@@ -1716,7 +1714,7 @@ void OBJECT_OT_duplicate(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* to give to transform */
- RNA_def_boolean(ot->srna, "linked", 0, "Linked", "Duplicate object but not object data, linking to the original data.");
+ RNA_def_boolean(ot->srna, "linked", 0, "Linked", "Duplicate object but not object data, linking to the original data");
prop= RNA_def_enum(ot->srna, "mode", transform_mode_types, TFM_TRANSLATION, "Mode", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
}
@@ -1786,8 +1784,8 @@ void OBJECT_OT_add_named(wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- RNA_def_boolean(ot->srna, "linked", 0, "Linked", "Duplicate object but not object data, linking to the original data.");
- RNA_def_string(ot->srna, "name", "Cube", 24, "Name", "Object name to add.");
+ RNA_def_boolean(ot->srna, "linked", 0, "Linked", "Duplicate object but not object data, linking to the original data");
+ RNA_def_string(ot->srna, "name", "Cube", 24, "Name", "Object name to add");
}
@@ -1812,11 +1810,11 @@ static int join_exec(bContext *C, wmOperator *op)
Object *ob= CTX_data_active_object(C);
if(scene->obedit) {
- BKE_report(op->reports, RPT_ERROR, "This data does not support joining in editmode.");
+ BKE_report(op->reports, RPT_ERROR, "This data does not support joining in editmode");
return OPERATOR_CANCELLED;
}
else if(object_data_is_libdata(ob)) {
- BKE_report(op->reports, RPT_ERROR, "Can't edit external libdata.");
+ BKE_report(op->reports, RPT_ERROR, "Can't edit external libdata");
return OPERATOR_CANCELLED;
}
@@ -1865,11 +1863,11 @@ static int join_shapes_exec(bContext *C, wmOperator *op)
Object *ob= CTX_data_active_object(C);
if(scene->obedit) {
- BKE_report(op->reports, RPT_ERROR, "This data does not support joining in editmode.");
+ BKE_report(op->reports, RPT_ERROR, "This data does not support joining in editmode");
return OPERATOR_CANCELLED;
}
else if(object_data_is_libdata(ob)) {
- BKE_report(op->reports, RPT_ERROR, "Can't edit external libdata.");
+ BKE_report(op->reports, RPT_ERROR, "Can't edit external libdata");
return OPERATOR_CANCELLED;
}
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index b513bab3924..679e4e58017 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -22,7 +22,8 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Morten Mikkelsen,
+ * Sergey Sharybin
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -44,10 +45,15 @@
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_world_types.h"
+#include "DNA_object_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meshdata_types.h"
#include "BLI_blenlib.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
+#include "BLI_math.h"
+#include "BLI_math_geom.h"
#include "BKE_blender.h"
#include "BKE_context.h"
@@ -56,6 +62,10 @@
#include "BKE_main.h"
#include "BKE_multires.h"
#include "BKE_report.h"
+#include "BKE_cdderivedmesh.h"
+#include "BKE_modifier.h"
+#include "BKE_DerivedMesh.h"
+#include "BKE_subsurf.h"
#include "RE_pipeline.h"
#include "RE_shader_ext.h"
@@ -74,6 +84,1117 @@
#include "object_intern.h"
+/* ****************** multires BAKING ********************** */
+
+/* holder of per-object data needed for bake job
+ needed to make job totally thread-safe */
+typedef struct MultiresBakerJobData {
+ struct MultiresBakerJobData *next, *prev;
+ DerivedMesh *lores_dm, *hires_dm;
+ int simple, lvl, tot_lvl;
+} MultiresBakerJobData;
+
+/* data passing to multires-baker job */
+typedef struct {
+ ListBase data;
+ int bake_clear, bake_filter;
+ short mode, use_lores_mesh;
+} MultiresBakeJob;
+
+/* data passing to multires baker */
+typedef struct {
+ DerivedMesh *lores_dm, *hires_dm;
+ int simple, lvl, tot_lvl, bake_filter;
+ short mode, use_lores_mesh;
+
+ int tot_obj, tot_image;
+ ListBase image;
+
+ int baked_objects, baked_faces;
+
+ short *stop;
+ short *do_update;
+ float *progress;
+} MultiresBakeRender;
+
+typedef void (*MPassKnownData)(DerivedMesh *lores_dm, DerivedMesh *hires_dm, const void *bake_data,
+ const int face_index, const int lvl, const float st[2],
+ float tangmat[3][3], const int x, const int y);
+
+typedef void* (*MInitBakeData)(MultiresBakeRender *bkr, Image* ima);
+typedef void (*MApplyBakeData)(void *bake_data);
+typedef void (*MFreeBakeData)(void *bake_data);
+
+typedef struct {
+ MVert *mvert;
+ MFace *mface;
+ MTFace *mtface;
+ float *pvtangent;
+ float *precomputed_normals;
+ int w, h;
+ int face_index;
+ int i0, i1, i2;
+ DerivedMesh *lores_dm, *hires_dm;
+ int lvl;
+ void *bake_data;
+ MPassKnownData pass_data;
+} MResolvePixelData;
+
+typedef void (*MFlushPixel)(const MResolvePixelData *data, const int x, const int y);
+
+typedef struct {
+ int w, h;
+ char *texels;
+ const MResolvePixelData *data;
+ MFlushPixel flush_pixel;
+} MBakeRast;
+
+typedef struct {
+ float *heights;
+ float height_min, height_max;
+ Image *ima;
+ DerivedMesh *ssdm;
+} MHeightBakeData;
+
+static void multiresbake_get_normal(const MResolvePixelData *data, float norm[], const int face_num, const int vert_index)
+{
+ unsigned int indices[]= {data->mface[face_num].v1, data->mface[face_num].v2,
+ data->mface[face_num].v3, data->mface[face_num].v4};
+ const int smoothnormal= (data->mface[face_num].flag & ME_SMOOTH);
+
+ if(!smoothnormal) { /* flat */
+ if(data->precomputed_normals) {
+ copy_v3_v3(norm, &data->precomputed_normals[3*face_num]);
+ } else {
+ float nor[3];
+ float *p0, *p1, *p2;
+ const int iGetNrVerts= data->mface[face_num].v4!=0 ? 4 : 3;
+
+ p0= data->mvert[indices[0]].co;
+ p1= data->mvert[indices[1]].co;
+ p2= data->mvert[indices[2]].co;
+
+ if(iGetNrVerts==4) {
+ float *p3= data->mvert[indices[3]].co;
+ normal_quad_v3(nor, p0, p1, p2, p3);
+ } else {
+ normal_tri_v3(nor, p0, p1, p2);
+ }
+
+ copy_v3_v3(norm, nor);
+ }
+ } else {
+ short *no= data->mvert[indices[vert_index]].no;
+
+ normal_short_to_float_v3(norm, no);
+ normalize_v3(norm);
+ }
+}
+
+static void init_bake_rast(MBakeRast *bake_rast, const ImBuf *ibuf, const MResolvePixelData *data, MFlushPixel flush_pixel)
+{
+ memset(bake_rast, 0, sizeof(MBakeRast));
+
+ bake_rast->texels = ibuf->userdata;
+ bake_rast->w= ibuf->x;
+ bake_rast->h= ibuf->y;
+ bake_rast->data= data;
+ bake_rast->flush_pixel= flush_pixel;
+}
+
+static void flush_pixel(const MResolvePixelData *data, const int x, const int y)
+{
+ float st[2]= {(x+0.5f)/data->w, (y+0.5f)/data->h};
+ float *st0, *st1, *st2;
+ float *tang0, *tang1, *tang2;
+ float no0[3], no1[3], no2[3];
+ float fUV[2], from_tang[3][3], to_tang[3][3];
+ float u, v, w, sign;
+ int r;
+
+ const int i0= data->i0;
+ const int i1= data->i1;
+ const int i2= data->i2;
+
+ st0= data->mtface[data->face_index].uv[i0];
+ st1= data->mtface[data->face_index].uv[i1];
+ st2= data->mtface[data->face_index].uv[i2];
+
+ tang0= data->pvtangent + data->face_index*16 + i0*4;
+ tang1= data->pvtangent + data->face_index*16 + i1*4;
+ tang2= data->pvtangent + data->face_index*16 + i2*4;
+
+ multiresbake_get_normal(data, no0, data->face_index, i0); /* can optimize these 3 into one call */
+ multiresbake_get_normal(data, no1, data->face_index, i1);
+ multiresbake_get_normal(data, no2, data->face_index, i2);
+
+ resolve_tri_uv(fUV, st, st0, st1, st2);
+
+ u= fUV[0];
+ v= fUV[1];
+ w= 1-u-v;
+
+ /* the sign is the same at all face vertices for any non degenerate face.
+ Just in case we clamp the interpolated value though. */
+ sign= (tang0[3]*u + tang1[3]*v + tang2[3]*w)<0 ? (-1.0f) : 1.0f;
+
+ /* this sequence of math is designed specifically as is with great care
+ to be compatible with our shader. Please don't change without good reason. */
+ for(r= 0; r<3; r++) {
+ from_tang[0][r]= tang0[r]*u + tang1[r]*v + tang2[r]*w;
+ from_tang[2][r]= no0[r]*u + no1[r]*v + no2[r]*w;
+ }
+
+ cross_v3_v3v3(from_tang[1], from_tang[2], from_tang[0]); /* B = sign * cross(N, T) */
+ mul_v3_fl(from_tang[1], sign);
+ invert_m3_m3(to_tang, from_tang);
+ /* sequence end */
+
+ data->pass_data(data->lores_dm, data->hires_dm, data->bake_data,
+ data->face_index, data->lvl, st, to_tang, x, y);
+}
+
+static void set_rast_triangle(const MBakeRast *bake_rast, const int x, const int y)
+{
+ const int w= bake_rast->w;
+ const int h= bake_rast->h;
+
+ if(x>=0 && x<w && y>=0 && y<h) {
+ if((bake_rast->texels[y*w+x])==0) {
+ flush_pixel(bake_rast->data, x, y);
+ bake_rast->texels[y*w+x]= FILTER_MASK_USED;
+ }
+ }
+}
+
+static void rasterize_half(const MBakeRast *bake_rast,
+ const float s0_s, const float t0_s, const float s1_s, const float t1_s,
+ const float s0_l, const float t0_l, const float s1_l, const float t1_l,
+ const int y0_in, const int y1_in, const int is_mid_right)
+{
+ const int s_stable= fabsf(t1_s-t0_s)>FLT_EPSILON ? 1 : 0;
+ const int l_stable= fabsf(t1_l-t0_l)>FLT_EPSILON ? 1 : 0;
+ const int w= bake_rast->w;
+ const int h= bake_rast->h;
+ int y, y0, y1;
+
+ if(y1_in<=0 || y0_in>=h)
+ return;
+
+ y0= y0_in<0 ? 0 : y0_in;
+ y1= y1_in>=h ? h : y1_in;
+
+ for(y= y0; y<y1; y++) {
+ /*-b(x-x0) + a(y-y0) = 0 */
+ int iXl, iXr, x;
+ float x_l= s_stable!=0 ? (s0_s + (((s1_s-s0_s)*(y-t0_s))/(t1_s-t0_s))) : s0_s;
+ float x_r= l_stable!=0 ? (s0_l + (((s1_l-s0_l)*(y-t0_l))/(t1_l-t0_l))) : s0_l;
+
+ if(is_mid_right!=0)
+ SWAP(float, x_l, x_r);
+
+ iXl= (int)ceilf(x_l);
+ iXr= (int)ceilf(x_r);
+
+ if(iXr>0 && iXl<w) {
+ iXl= iXl<0?0:iXl;
+ iXr= iXr>=w?w:iXr;
+
+ for(x= iXl; x<iXr; x++)
+ set_rast_triangle(bake_rast, x, y);
+ }
+ }
+}
+
+static void bake_rasterize(const MBakeRast *bake_rast, const float st0_in[2], const float st1_in[2], const float st2_in[2])
+{
+ const int w= bake_rast->w;
+ const int h= bake_rast->h;
+ float slo= st0_in[0]*w - 0.5f;
+ float tlo= st0_in[1]*h - 0.5f;
+ float smi= st1_in[0]*w - 0.5f;
+ float tmi= st1_in[1]*h - 0.5f;
+ float shi= st2_in[0]*w - 0.5f;
+ float thi= st2_in[1]*h - 0.5f;
+ int is_mid_right= 0, ylo, yhi, yhi_beg;
+
+ /* skip degenerates */
+ if((slo==smi && tlo==tmi) || (slo==shi && tlo==thi) || (smi==shi && tmi==thi))
+ return;
+
+ /* sort by T */
+ if(tlo>tmi && tlo>thi) {
+ SWAP(float, shi, slo);
+ SWAP(float, thi, tlo);
+ } else if(tmi>thi) {
+ SWAP(float, shi, smi);
+ SWAP(float, thi, tmi);
+ }
+
+ if(tlo>tmi) {
+ SWAP(float, slo, smi);
+ SWAP(float, tlo, tmi);
+ }
+
+ /* check if mid point is to the left or to the right of the lo-hi edge */
+ is_mid_right= (-(shi-slo)*(tmi-thi) + (thi-tlo)*(smi-shi))>0 ? 1 : 0;
+ ylo= (int) ceilf(tlo);
+ yhi_beg= (int) ceilf(tmi);
+ yhi= (int) ceilf(thi);
+
+ /*if(fTmi>ceilf(fTlo))*/
+ rasterize_half(bake_rast, slo, tlo, smi, tmi, slo, tlo, shi, thi, ylo, yhi_beg, is_mid_right);
+ rasterize_half(bake_rast, smi, tmi, shi, thi, slo, tlo, shi, thi, yhi_beg, yhi, is_mid_right);
+}
+
+static int multiresbake_test_break(MultiresBakeRender *bkr)
+{
+ if(!bkr->stop) {
+ /* this means baker is executed outside from job system */
+ return 0;
+ }
+
+ return G.afbreek;
+}
+
+static void do_multires_bake(MultiresBakeRender *bkr, Image* ima, MPassKnownData passKnownData,
+ MInitBakeData initBakeData, MApplyBakeData applyBakeData, MFreeBakeData freeBakeData)
+{
+ DerivedMesh *dm= bkr->lores_dm;
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+ const int lvl= bkr->lvl;
+ const int tot_face= dm->getNumFaces(dm);
+ MVert *mvert= dm->getVertArray(dm);
+ MFace *mface= dm->getFaceArray(dm);
+ MTFace *mtface= dm->getFaceDataArray(dm, CD_MTFACE);
+ float *pvtangent= NULL;
+
+ if(CustomData_get_layer_index(&dm->faceData, CD_TANGENT) == -1)
+ DM_add_tangent_layer(dm);
+
+ pvtangent= DM_get_face_data_layer(dm, CD_TANGENT);
+
+ if(tot_face > 0) { /* sanity check */
+ int f= 0;
+ MBakeRast bake_rast;
+ MResolvePixelData data={NULL};
+
+ data.mface= mface;
+ data.mvert= mvert;
+ data.mtface= mtface;
+ data.pvtangent= pvtangent;
+ data.precomputed_normals= dm->getFaceDataArray(dm, CD_NORMAL); /* don't strictly need this */
+ data.w= ibuf->x;
+ data.h= ibuf->y;
+ data.lores_dm= dm;
+ data.hires_dm= bkr->hires_dm;
+ data.lvl= lvl;
+ data.pass_data= passKnownData;
+
+ if(initBakeData)
+ data.bake_data= initBakeData(bkr, ima);
+
+ init_bake_rast(&bake_rast, ibuf, &data, flush_pixel);
+
+ for(f= 0; f<tot_face; f++) {
+ MTFace *mtfate= &mtface[f];
+ int verts[3][2], nr_tris, t;
+
+ if(multiresbake_test_break(bkr))
+ break;
+
+ if(mtfate->tpage!=ima)
+ continue;
+
+ data.face_index= f;
+
+ /* might support other forms of diagonal splits later on such as
+ split by shortest diagonal.*/
+ verts[0][0]=0;
+ verts[1][0]=1;
+ verts[2][0]=2;
+
+ verts[0][1]=0;
+ verts[1][1]=2;
+ verts[2][1]=3;
+
+ nr_tris= mface[f].v4!=0 ? 2 : 1;
+ for(t= 0; t<nr_tris; t++) {
+ data.i0= verts[0][t];
+ data.i1= verts[1][t];
+ data.i2 =verts[2][t];
+
+ bake_rasterize(&bake_rast, mtfate->uv[data.i0], mtfate->uv[data.i1], mtfate->uv[data.i2]);
+ }
+
+ bkr->baked_faces++;
+
+ if(bkr->do_update)
+ *bkr->do_update= 1;
+
+ if(bkr->progress)
+ *bkr->progress= ((float)bkr->baked_objects + (float)bkr->baked_faces / tot_face) / bkr->tot_obj;
+ }
+
+ if(applyBakeData)
+ applyBakeData(data.bake_data);
+
+ if(freeBakeData)
+ freeBakeData(data.bake_data);
+ }
+}
+
+static void interp_bilinear_quad_data(float data[4][3], float u, float v, float res[3])
+{
+ float vec[3];
+
+ copy_v3_v3(res, data[0]);
+ mul_v3_fl(res, (1-u)*(1-v));
+ copy_v3_v3(vec, data[1]);
+ mul_v3_fl(vec, u*(1-v)); add_v3_v3(res, vec);
+ copy_v3_v3(vec, data[2]);
+ mul_v3_fl(vec, u*v); add_v3_v3(res, vec);
+ copy_v3_v3(vec, data[3]);
+ mul_v3_fl(vec, (1-u)*v); add_v3_v3(res, vec);
+}
+
+static void interp_barycentric_tri_data(float data[3][3], float u, float v, float res[3])
+{
+ float vec[3];
+
+ copy_v3_v3(res, data[0]);
+ mul_v3_fl(res, u);
+ copy_v3_v3(vec, data[1]);
+ mul_v3_fl(vec, v); add_v3_v3(res, vec);
+ copy_v3_v3(vec, data[2]);
+ mul_v3_fl(vec, 1.0f-u-v); add_v3_v3(res, vec);
+}
+
+/* mode = 0: interpolate normals,
+ mode = 1: interpolate coord */
+static void interp_bilinear_grid(DMGridData *grid, int grid_size, float crn_x, float crn_y, int mode, float res[3])
+{
+ int x0, x1, y0, y1;
+ float u, v;
+ float data[4][3];
+
+ x0= (int) crn_x;
+ x1= x0>=(grid_size-1) ? (grid_size-1) : (x0+1);
+
+ y0= (int) crn_y;
+ y1= y0>=(grid_size-1) ? (grid_size-1) : (y0+1);
+
+ u= crn_x-x0;
+ v= crn_y-y0;
+
+ if(mode == 0) {
+ copy_v3_v3(data[0], grid[y0 * grid_size + x0].no);
+ copy_v3_v3(data[1], grid[y0 * grid_size + x1].no);
+ copy_v3_v3(data[2], grid[y1 * grid_size + x1].no);
+ copy_v3_v3(data[3], grid[y1 * grid_size + x0].no);
+ } else {
+ copy_v3_v3(data[0], grid[y0 * grid_size + x0].co);
+ copy_v3_v3(data[1], grid[y0 * grid_size + x1].co);
+ copy_v3_v3(data[2], grid[y1 * grid_size + x1].co);
+ copy_v3_v3(data[3], grid[y1 * grid_size + x0].co);
+ }
+
+ interp_bilinear_quad_data(data, u, v, res);
+}
+
+static void get_ccgdm_data(DerivedMesh *lodm, DerivedMesh *hidm, const int lvl, const int face_index, const float u, const float v, float co[3], float n[3])
+{
+ MFace mface;
+ DMGridData **grid_data;
+ float crn_x, crn_y;
+ int grid_size, S, face_side;
+ int *grid_offset, g_index;
+
+ lodm->getFace(lodm, face_index, &mface);
+
+ grid_size= hidm->getGridSize(hidm);
+ grid_data= hidm->getGridData(hidm);
+ grid_offset= hidm->getGridOffset(hidm);
+
+ face_side= (grid_size<<1)-1;
+
+ if(lvl==0) {
+ g_index= grid_offset[face_index];
+ S= mdisp_rot_face_to_crn(mface.v4 ? 4 : 3, face_side, u*(face_side-1), v*(face_side-1), &crn_x, &crn_y);
+ } else {
+ const int *index= lodm->getFaceDataArray(lodm, CD_ORIGINDEX);
+ int side= (1 << (lvl-1)) + 1;
+ int grid_index= index[face_index];
+ int loc_offs= face_index % (1<<(2*lvl));
+ int cell_index= loc_offs % ((side-1)*(side-1));
+ int cell_side= grid_size / (side-1);
+ int row= cell_index / (side-1);
+ int col= cell_index % (side-1);
+
+ S= face_index / (1<<(2*(lvl-1))) - grid_offset[grid_index];
+ g_index= grid_offset[grid_index];
+
+ crn_y= (row * cell_side) + u * cell_side;
+ crn_x= (col * cell_side) + v * cell_side;
+ }
+
+ CLAMP(crn_x, 0.0f, grid_size);
+ CLAMP(crn_y, 0.0f, grid_size);
+
+ if(n != NULL)
+ interp_bilinear_grid(grid_data[g_index + S], grid_size, crn_x, crn_y, 0, n);
+
+ if(co != NULL)
+ interp_bilinear_grid(grid_data[g_index + S], grid_size, crn_x, crn_y, 1, co);
+}
+
+/* mode = 0: interpolate normals,
+ mode = 1: interpolate coord */
+static void interp_bilinear_mface(DerivedMesh *dm, MFace *mface, const float u, const float v, const int mode, float res[3])
+{
+ float data[4][3];
+
+ if(mode == 0) {
+ dm->getVertNo(dm, mface->v1, data[0]);
+ dm->getVertNo(dm, mface->v2, data[1]);
+ dm->getVertNo(dm, mface->v3, data[2]);
+ dm->getVertNo(dm, mface->v4, data[3]);
+ } else {
+ dm->getVertCo(dm, mface->v1, data[0]);
+ dm->getVertCo(dm, mface->v2, data[1]);
+ dm->getVertCo(dm, mface->v3, data[2]);
+ dm->getVertCo(dm, mface->v4, data[3]);
+ }
+
+ interp_bilinear_quad_data(data, u, v, res);
+}
+
+/* mode = 0: interpolate normals,
+ mode = 1: interpolate coord */
+static void interp_barycentric_mface(DerivedMesh *dm, MFace *mface, const float u, const float v, const int mode, float res[3])
+{
+ float data[3][3];
+
+ if(mode == 0) {
+ dm->getVertNo(dm, mface->v1, data[0]);
+ dm->getVertNo(dm, mface->v2, data[1]);
+ dm->getVertNo(dm, mface->v3, data[2]);
+ } else {
+ dm->getVertCo(dm, mface->v1, data[0]);
+ dm->getVertCo(dm, mface->v2, data[1]);
+ dm->getVertCo(dm, mface->v3, data[2]);
+ }
+
+ interp_barycentric_tri_data(data, u, v, res);
+}
+
+static void *init_heights_data(MultiresBakeRender *bkr, Image* ima)
+{
+ MHeightBakeData *height_data;
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+
+ height_data= MEM_callocN(sizeof(MHeightBakeData), "MultiresBake heightData");
+
+ height_data->ima= ima;
+ height_data->heights= MEM_callocN(sizeof(float)*ibuf->x*ibuf->y, "MultiresBake heights");
+ height_data->height_max= -FLT_MAX;
+ height_data->height_min= FLT_MAX;
+
+ if(!bkr->use_lores_mesh) {
+ SubsurfModifierData smd= {{NULL}};
+ int ss_lvl= bkr->tot_lvl - bkr->lvl;
+
+ CLAMP(ss_lvl, 0, 6);
+
+ smd.levels= smd.renderLevels= ss_lvl;
+ smd.flags|= eSubsurfModifierFlag_SubsurfUv;
+
+ if(bkr->simple)
+ smd.subdivType= ME_SIMPLE_SUBSURF;
+
+ height_data->ssdm= subsurf_make_derived_from_derived(bkr->lores_dm, &smd, 0, NULL, 0, 0, 0);
+ }
+
+ return (void*)height_data;
+}
+
+static void apply_heights_data(void *bake_data)
+{
+ MHeightBakeData *height_data= (MHeightBakeData*)bake_data;
+ ImBuf *ibuf= BKE_image_get_ibuf(height_data->ima, NULL);
+ int x, y, i;
+ float height, *heights= height_data->heights;
+ float min= height_data->height_min, max= height_data->height_max;
+
+ for(x= 0; x<ibuf->x; x++) {
+ for(y =0; y<ibuf->y; y++) {
+ i= ibuf->x*y + x;
+
+ if(((char*)ibuf->userdata)[i] != FILTER_MASK_USED)
+ continue;
+
+ if(ibuf->rect_float) {
+ float *rrgbf= ibuf->rect_float + i*4;
+
+ if(max-min > 1e-5) height= (heights[i]-min)/(max-min);
+ else height= 0;
+
+ rrgbf[0]=rrgbf[1]=rrgbf[2]= height;
+ } else {
+ char *rrgb= (char*)ibuf->rect + i*4;
+
+ if(max-min > 1e-5) height= (heights[i]-min)/(max-min);
+ else height= 0;
+
+ rrgb[0]=rrgb[1]=rrgb[2]= FTOCHAR(height);
+ }
+ }
+ }
+
+ ibuf->userflags= IB_RECT_INVALID;
+}
+
+static void free_heights_data(void *bake_data)
+{
+ MHeightBakeData *height_data= (MHeightBakeData*)bake_data;
+
+ if(height_data->ssdm)
+ height_data->ssdm->release(height_data->ssdm);
+
+ MEM_freeN(height_data->heights);
+ MEM_freeN(height_data);
+}
+
+/* MultiresBake callback for heights baking
+ general idea:
+ - find coord of point with specified UV in hi-res mesh (let's call it p1)
+ - find coord of point and normal with specified UV in lo-res mesh (or subdivided lo-res
+ mesh to make texture smoother) let's call this point p0 and n.
+ - height wound be dot(n, p1-p0) */
+static void apply_heights_callback(DerivedMesh *lores_dm, DerivedMesh *hires_dm, const void *bake_data,
+ const int face_index, const int lvl, const float st[2],
+ float UNUSED(tangmat[3][3]), const int x, const int y)
+{
+ MTFace *mtface= CustomData_get_layer(&lores_dm->faceData, CD_MTFACE);
+ MFace mface;
+ Image *ima= mtface[face_index].tpage;
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+ MHeightBakeData *height_data= (MHeightBakeData*)bake_data;
+ float uv[2], *st0, *st1, *st2, *st3;
+ int pixel= ibuf->x*y + x;
+ float vec[3], p0[3], p1[3], n[3], len;
+
+ lores_dm->getFace(lores_dm, face_index, &mface);
+
+ st0= mtface[face_index].uv[0];
+ st1= mtface[face_index].uv[1];
+ st2= mtface[face_index].uv[2];
+
+ if(mface.v4) {
+ st3= mtface[face_index].uv[3];
+ resolve_quad_uv(uv, st, st0, st1, st2, st3);
+ } else
+ resolve_tri_uv(uv, st, st0, st1, st2);
+
+ CLAMP(uv[0], 0.0f, 1.0f);
+ CLAMP(uv[1], 0.0f, 1.0f);
+
+ get_ccgdm_data(lores_dm, hires_dm, lvl, face_index, uv[0], uv[1], p1, 0);
+
+ if(height_data->ssdm) {
+ //get_ccgdm_data_ss(lores_dm, height_data->ssdm, lvl, face_index, uv[0], uv[1], p0, n);
+ get_ccgdm_data(lores_dm, height_data->ssdm, 0, face_index, uv[0], uv[1], p0, n);
+ } else {
+ MFace mface;
+ lores_dm->getFace(lores_dm, face_index, &mface);
+
+ if(mface.v4) {
+ interp_bilinear_mface(lores_dm, &mface, uv[0], uv[1], 1, p0);
+ interp_bilinear_mface(lores_dm, &mface, uv[0], uv[1], 0, n);
+ } else {
+ interp_barycentric_mface(lores_dm, &mface, uv[0], uv[1], 1, p0);
+ interp_barycentric_mface(lores_dm, &mface, uv[0], uv[1], 0, n);
+ }
+ }
+
+ sub_v3_v3v3(vec, p1, p0);
+ //len= len_v3(vec);
+ len= dot_v3v3(n, vec);
+
+ height_data->heights[pixel]= len;
+ if(len<height_data->height_min) height_data->height_min= len;
+ if(len>height_data->height_max) height_data->height_max= len;
+
+ if(ibuf->rect_float) {
+ float *rrgbf= ibuf->rect_float + pixel*4;
+ rrgbf[3]= 1.0f;
+
+ ibuf->userflags= IB_RECT_INVALID;
+ } else {
+ char *rrgb= (char*)ibuf->rect + pixel*4;
+ rrgb[3]= 255;
+ }
+}
+
+/* MultiresBake callback for normals' baking
+ general idea:
+ - find coord and normal of point with specified UV in hi-res mesh
+ - multiply it by tangmat
+ - vector in color space would be norm(vec) /2 + (0.5, 0.5, 0.5) */
+static void apply_tangmat_callback(DerivedMesh *lores_dm, DerivedMesh *hires_dm, const void *UNUSED(bake_data),
+ const int face_index, const int lvl, const float st[2],
+ float tangmat[3][3], const int x, const int y)
+{
+ MTFace *mtface= CustomData_get_layer(&lores_dm->faceData, CD_MTFACE);
+ MFace mface;
+ Image *ima= mtface[face_index].tpage;
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+ float uv[2], *st0, *st1, *st2, *st3;
+ int pixel= ibuf->x*y + x;
+ float n[3], vec[3], tmp[3]= {0.5, 0.5, 0.5};
+
+ lores_dm->getFace(lores_dm, face_index, &mface);
+
+ st0= mtface[face_index].uv[0];
+ st1= mtface[face_index].uv[1];
+ st2= mtface[face_index].uv[2];
+
+ if(mface.v4) {
+ st3= mtface[face_index].uv[3];
+ resolve_quad_uv(uv, st, st0, st1, st2, st3);
+ } else
+ resolve_tri_uv(uv, st, st0, st1, st2);
+
+ CLAMP(uv[0], 0.0f, 1.0f);
+ CLAMP(uv[1], 0.0f, 1.0f);
+
+ get_ccgdm_data(lores_dm, hires_dm, lvl, face_index, uv[0], uv[1], NULL, n);
+
+ mul_v3_m3v3(vec, tangmat, n);
+ normalize_v3(vec);
+ mul_v3_fl(vec, 0.5);
+ add_v3_v3(vec, tmp);
+
+ if(ibuf->rect_float) {
+ float *rrgbf= ibuf->rect_float + pixel*4;
+ rrgbf[0]= vec[0];
+ rrgbf[1]= vec[1];
+ rrgbf[2]= vec[2];
+ rrgbf[3]= 1.0f;
+
+ ibuf->userflags= IB_RECT_INVALID;
+ } else {
+ char *rrgb= (char*)ibuf->rect + pixel*4;
+ rrgb[0]= FTOCHAR(vec[0]);
+ rrgb[1]= FTOCHAR(vec[1]);
+ rrgb[2]= FTOCHAR(vec[2]);
+ rrgb[3]= 255;
+ }
+}
+
+static void count_images(MultiresBakeRender *bkr)
+{
+ int a, totface;
+ DerivedMesh *dm= bkr->lores_dm;
+ MTFace *mtface= CustomData_get_layer(&dm->faceData, CD_MTFACE);
+
+ bkr->image.first= bkr->image.last= NULL;
+ bkr->tot_image= 0;
+
+ totface= dm->getNumFaces(dm);
+
+ for(a= 0; a<totface; a++)
+ mtface[a].tpage->id.flag&= ~LIB_DOIT;
+
+ for(a= 0; a<totface; a++) {
+ Image *ima= mtface[a].tpage;
+ if((ima->id.flag&LIB_DOIT)==0) {
+ LinkData *data= BLI_genericNodeN(ima);
+ BLI_addtail(&bkr->image, data);
+ bkr->tot_image++;
+ ima->id.flag|= LIB_DOIT;
+ }
+ }
+
+ for(a= 0; a<totface; a++)
+ mtface[a].tpage->id.flag&= ~LIB_DOIT;
+}
+
+static void bake_images(MultiresBakeRender *bkr)
+{
+ LinkData *link;
+
+ for(link= bkr->image.first; link; link= link->next) {
+ Image *ima= (Image*)link->data;
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+
+ if(ibuf->x>0 && ibuf->y>0) {
+ ibuf->userdata= MEM_callocN(ibuf->y*ibuf->x, "MultiresBake imbuf mask");
+
+ switch(bkr->mode) {
+ case RE_BAKE_NORMALS:
+ do_multires_bake(bkr, ima, apply_tangmat_callback, NULL, NULL, NULL);
+ break;
+ case RE_BAKE_DISPLACEMENT:
+ do_multires_bake(bkr, ima, apply_heights_callback, init_heights_data,
+ apply_heights_data, free_heights_data);
+ break;
+ }
+ }
+
+ ima->id.flag|= LIB_DOIT;
+ }
+}
+
+static void finish_images(MultiresBakeRender *bkr)
+{
+ LinkData *link;
+
+ for(link= bkr->image.first; link; link= link->next) {
+ Image *ima= (Image*)link->data;
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+
+ if(ibuf->x<=0 || ibuf->y<=0)
+ continue;
+
+ RE_bake_ibuf_filter(ibuf, (char *)ibuf->userdata, bkr->bake_filter);
+
+ ibuf->userflags|= IB_BITMAPDIRTY;
+
+ if(ibuf->rect_float)
+ ibuf->userflags|= IB_RECT_INVALID;
+
+ if(ibuf->mipmap[0]) {
+ ibuf->userflags|= IB_MIPMAP_INVALID;
+ imb_freemipmapImBuf(ibuf);
+ }
+
+ if(ibuf->userdata) {
+ MEM_freeN(ibuf->userdata);
+ ibuf->userdata= NULL;
+ }
+ }
+}
+
+static void multiresbake_start(MultiresBakeRender *bkr)
+{
+ count_images(bkr);
+ bake_images(bkr);
+ finish_images(bkr);
+}
+
+static int multiresbake_check(bContext *C, wmOperator *op) {
+ Scene *scene= CTX_data_scene(C);
+ Object *ob;
+ Mesh *me;
+ MultiresModifierData *mmd;
+ int ok= 1, a;
+
+ CTX_DATA_BEGIN(C, Base*, base, selected_editable_bases) {
+ ob= base->object;
+
+ if(ob->type != OB_MESH) {
+ BKE_report(op->reports, RPT_ERROR, "Basking of multires data only works with active object which is a mesh");
+
+ ok= 0;
+ break;
+ }
+
+ me= (Mesh*)ob->data;
+ mmd= get_multires_modifier(scene, ob, 0);
+
+ /* Multi-resolution should be and be last in the stack */
+ if(ok && mmd) {
+ ModifierData *md;
+
+ ok= mmd->totlvl>0;
+
+ for(md = (ModifierData*)mmd->modifier.next; md && ok; md = md->next) {
+ if (modifier_isEnabled(scene, md, eModifierMode_Realtime)) {
+ ok= 0;
+ }
+ }
+ } else ok= 0;
+
+ if(!ok) {
+ BKE_report(op->reports, RPT_ERROR, "Multires data baking requires multi-resolution object");
+
+ break;
+ }
+
+ if(!me->mtface) {
+ BKE_report(op->reports, RPT_ERROR, "Mesh should be unwrapped before multires data baking");
+
+ ok= 0;
+ } else {
+ a= me->totface;
+ while (ok && a--) {
+ Image *ima= me->mtface[a].tpage;
+
+ if(!ima) {
+ BKE_report(op->reports, RPT_ERROR, "You should have active texture to use multires baker");
+
+ ok= 0;
+ } else {
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+
+ if(!ibuf) {
+ BKE_report(op->reports, RPT_ERROR, "Baking should happend to image with image buffer");
+
+ ok= 0;
+ } else {
+ if(ibuf->rect==NULL && ibuf->rect_float==NULL)
+ ok= 0;
+
+ if(ibuf->rect_float && !(ibuf->channels==0 || ibuf->channels==4))
+ ok= 0;
+
+ if(!ok)
+ BKE_report(op->reports, RPT_ERROR, "Baking to unsupported image type");
+ }
+ }
+ }
+ }
+
+ if(!ok)
+ break;
+ }
+ CTX_DATA_END;
+
+ return ok;
+}
+
+static DerivedMesh *multiresbake_create_loresdm(Scene *scene, Object *ob, int *lvl)
+{
+ DerivedMesh *dm;
+ MultiresModifierData *mmd= get_multires_modifier(scene, ob, 0);
+ Mesh *me= (Mesh*)ob->data;
+
+ if(ob->mode==OB_MODE_SCULPT) *lvl= mmd->sculptlvl;
+ else *lvl= mmd->lvl;
+
+ if(*lvl==0) {
+ DerivedMesh *tmp_dm= CDDM_from_mesh(me, ob);
+ dm= CDDM_copy(tmp_dm);
+ tmp_dm->release(tmp_dm);
+ } else {
+ MultiresModifierData tmp_mmd= *mmd;
+ DerivedMesh *cddm= CDDM_from_mesh(me, ob);
+
+ tmp_mmd.lvl= *lvl;
+ dm= multires_dm_create_from_derived(&tmp_mmd, 1, cddm, ob, 0, 0);
+ cddm->release(cddm);
+ }
+
+ return dm;
+}
+
+static DerivedMesh *multiresbake_create_hiresdm(Scene *scene, Object *ob, int *lvl, int *simple)
+{
+ Mesh *me= (Mesh*)ob->data;
+ MultiresModifierData *mmd= get_multires_modifier(scene, ob, 0);
+ MultiresModifierData tmp_mmd= *mmd;
+ DerivedMesh *cddm= CDDM_from_mesh(me, ob);
+ DerivedMesh *dm;
+
+ *lvl= mmd->totlvl;
+ *simple= mmd->simple;
+
+ tmp_mmd.lvl= mmd->totlvl;
+ dm= multires_dm_create_from_derived(&tmp_mmd, 1, cddm, ob, 0, 0);
+ cddm->release(cddm);
+
+ return dm;
+}
+
+static void clear_images(MTFace *mtface, int totface)
+{
+ int a;
+ const float vec_alpha[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+ const float vec_solid[4]= {0.0f, 0.0f, 0.0f, 1.0f};
+
+ for(a= 0; a<totface; a++)
+ mtface[a].tpage->id.flag&= ~LIB_DOIT;
+
+ for(a= 0; a<totface; a++) {
+ Image *ima= mtface[a].tpage;
+
+ if((ima->id.flag&LIB_DOIT)==0) {
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+
+ IMB_rectfill(ibuf, (ibuf->depth == 32) ? vec_alpha : vec_solid);
+ ima->id.flag|= LIB_DOIT;
+ }
+ }
+
+ for(a= 0; a<totface; a++)
+ mtface[a].tpage->id.flag&= ~LIB_DOIT;
+}
+
+static int multiresbake_image_exec_locked(bContext *C, wmOperator *op)
+{
+ Object *ob;
+ Scene *scene= CTX_data_scene(C);
+
+ if(!multiresbake_check(C, op))
+ return OPERATOR_CANCELLED;
+
+ if(scene->r.bake_flag&R_BAKE_CLEAR) { /* clear images */
+ CTX_DATA_BEGIN(C, Base*, base, selected_editable_bases) {
+ Mesh *me;
+
+ ob= base->object;
+ me= (Mesh*)ob->data;
+
+ clear_images(me->mtface, me->totface);
+ }
+ CTX_DATA_END;
+ }
+
+ CTX_DATA_BEGIN(C, Base*, base, selected_editable_bases) {
+ MultiresBakeRender bkr= {0};
+
+ ob= base->object;
+
+ /* copy data stored in job descriptor */
+ bkr.bake_filter= scene->r.bake_filter;
+ bkr.mode= scene->r.bake_mode;
+ bkr.use_lores_mesh= scene->r.bake_flag&R_BAKE_LORES_MESH;
+
+ /* create low-resolution DM (to bake to) and hi-resolution DM (to bake from) */
+ bkr.lores_dm= multiresbake_create_loresdm(scene, ob, &bkr.lvl);
+ bkr.hires_dm= multiresbake_create_hiresdm(scene, ob, &bkr.tot_lvl, &bkr.simple);
+
+ multiresbake_start(&bkr);
+
+ BLI_freelistN(&bkr.image);
+
+ bkr.lores_dm->release(bkr.lores_dm);
+ bkr.hires_dm->release(bkr.hires_dm);
+ }
+ CTX_DATA_END;
+
+ return OPERATOR_FINISHED;
+}
+
+/* Multiresbake adopted for job-system executing */
+static void init_multiresbake_job(bContext *C, MultiresBakeJob *bkj)
+{
+ Scene *scene= CTX_data_scene(C);
+ Object *ob;
+
+ /* backup scene settings, so their changing in UI would take no effect on baker */
+ bkj->bake_filter= scene->r.bake_filter;
+ bkj->mode= scene->r.bake_mode;
+ bkj->use_lores_mesh= scene->r.bake_flag&R_BAKE_LORES_MESH;
+ bkj->bake_clear= scene->r.bake_flag&R_BAKE_CLEAR;
+
+ CTX_DATA_BEGIN(C, Base*, base, selected_editable_bases) {
+ MultiresBakerJobData *data;
+ ob= base->object;
+
+ data= MEM_callocN(sizeof(MultiresBakerJobData), "multiresBaker derivedMesh_data");
+ data->lores_dm = multiresbake_create_loresdm(scene, ob, &data->lvl);
+ data->hires_dm = multiresbake_create_hiresdm(scene, ob, &data->tot_lvl, &data->simple);
+ BLI_addtail(&bkj->data, data);
+ }
+ CTX_DATA_END;
+}
+
+static void multiresbake_startjob(void *bkv, short *stop, short *do_update, float *progress)
+{
+ MultiresBakerJobData *data;
+ MultiresBakeJob *bkj= bkv;
+ int baked_objects= 0, tot_obj;
+
+ tot_obj= BLI_countlist(&bkj->data);
+
+ if(bkj->bake_clear) { /* clear images */
+ for(data= bkj->data.first; data; data= data->next) {
+ DerivedMesh *dm= data->lores_dm;
+ MTFace *mtface= CustomData_get_layer(&dm->faceData, CD_MTFACE);
+
+ clear_images(mtface, dm->getNumFaces(dm));
+ }
+ }
+
+ for(data= bkj->data.first; data; data= data->next) {
+ MultiresBakeRender bkr= {0};
+
+ /* copy data stored in job descriptor */
+ bkr.bake_filter= bkj->bake_filter;
+ bkr.mode= bkj->mode;
+ bkr.use_lores_mesh= bkj->use_lores_mesh;
+
+ /* create low-resolution DM (to bake to) and hi-resolution DM (to bake from) */
+ bkr.lores_dm= data->lores_dm;
+ bkr.hires_dm= data->hires_dm;
+ bkr.tot_lvl= data->tot_lvl;
+ bkr.lvl= data->lvl;
+ bkr.simple= data->simple;
+
+ /* needed for proper progress bar */
+ bkr.tot_obj= tot_obj;
+ bkr.baked_objects= baked_objects;
+
+ bkr.stop= stop;
+ bkr.do_update= do_update;
+ bkr.progress= progress;
+
+ multiresbake_start(&bkr);
+
+ BLI_freelistN(&bkr.image);
+
+ baked_objects++;
+ }
+}
+
+static void multiresbake_freejob(void *bkv)
+{
+ MultiresBakeJob *bkj= bkv;
+ MultiresBakerJobData *data, *next;
+
+ data= bkj->data.first;
+ while (data) {
+ next= data->next;
+ data->lores_dm->release(data->lores_dm);
+ data->hires_dm->release(data->hires_dm);
+ MEM_freeN(data);
+ data= next;
+ }
+
+ MEM_freeN(bkj);
+}
+
+static int multiresbake_image_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ MultiresBakeJob *bkr;
+ wmJob *steve;
+
+ if(!multiresbake_check(C, op))
+ return OPERATOR_CANCELLED;
+
+ bkr= MEM_callocN(sizeof(MultiresBakeJob), "MultiresBakeJob data");
+ init_multiresbake_job(C, bkr);
+
+ /* setup job */
+ steve= WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), scene, "Multires Bake", WM_JOB_EXCL_RENDER|WM_JOB_PRIORITY|WM_JOB_PROGRESS);
+ WM_jobs_customdata(steve, bkr, multiresbake_freejob);
+ WM_jobs_timer(steve, 0.2, NC_IMAGE, 0); /* TODO - only draw bake image, can we enforce this */
+ WM_jobs_callbacks(steve, multiresbake_startjob, NULL, NULL, NULL);
+
+ G.afbreek= 0;
+
+ WM_jobs_start(CTX_wm_manager(C), steve);
+ WM_cursor_wait(0);
+
+ /* add modal handler for ESC */
+ WM_event_add_modal_handler(C, op);
+
+ return OPERATOR_RUNNING_MODAL;
+}
+
/* ****************** render BAKING ********************** */
/* threaded break test */
@@ -147,9 +1268,6 @@ static void init_bake_internal(BakeRender *bkr, bContext *C)
{
Scene *scene= CTX_data_scene(C);
- /* flush multires changes (for sculpt) */
- multires_force_render_update(CTX_data_active_object(C));
-
/* get editmode results */
ED_object_exit_editmode(C, 0); /* 0 = does not exit editmode */
@@ -197,7 +1315,6 @@ static void finish_bake_internal(BakeRender *bkr)
/* freed when baking is done, but if its canceled we need to free here */
if (ibuf->userdata) {
- printf("freed\n");
MEM_freeN(ibuf->userdata);
ibuf->userdata= NULL;
}
@@ -273,43 +1390,59 @@ static int objects_bake_render_modal(bContext *C, wmOperator *UNUSED(op), wmEven
return OPERATOR_PASS_THROUGH;
}
+static int is_multires_bake(Scene *scene)
+{
+ if ( ELEM(scene->r.bake_mode, RE_BAKE_NORMALS, RE_BAKE_DISPLACEMENT))
+ return scene->r.bake_flag & R_BAKE_MULTIRES;
+
+ return 0;
+}
+
static int objects_bake_render_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(_event))
{
Scene *scene= CTX_data_scene(C);
+ int result= OPERATOR_CANCELLED;
- /* only one render job at a time */
- if(WM_jobs_test(CTX_wm_manager(C), scene))
- return OPERATOR_CANCELLED;
-
- if(test_bake_internal(C, op->reports)==0) {
- return OPERATOR_CANCELLED;
- }
- else {
- BakeRender *bkr= MEM_callocN(sizeof(BakeRender), "render bake");
- wmJob *steve;
+ if(is_multires_bake(scene)) {
+ result= multiresbake_image_exec(C, op);
+ } else {
+ /* only one render job at a time */
+ if(WM_jobs_test(CTX_wm_manager(C), scene))
+ return OPERATOR_CANCELLED;
+
+ if(test_bake_internal(C, op->reports)==0) {
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ BakeRender *bkr= MEM_callocN(sizeof(BakeRender), "render bake");
+ wmJob *steve;
- init_bake_internal(bkr, C);
- bkr->reports= op->reports;
+ init_bake_internal(bkr, C);
+ bkr->reports= op->reports;
- /* setup job */
- steve= WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), scene, "Texture Bake", WM_JOB_EXCL_RENDER|WM_JOB_PRIORITY|WM_JOB_PROGRESS);
- WM_jobs_customdata(steve, bkr, bake_freejob);
- WM_jobs_timer(steve, 0.2, NC_IMAGE, 0); /* TODO - only draw bake image, can we enforce this */
- WM_jobs_callbacks(steve, bake_startjob, NULL, bake_update, NULL);
+ /* setup job */
+ steve= WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), scene, "Texture Bake", WM_JOB_EXCL_RENDER|WM_JOB_PRIORITY|WM_JOB_PROGRESS);
+ WM_jobs_customdata(steve, bkr, bake_freejob);
+ WM_jobs_timer(steve, 0.2, NC_IMAGE, 0); /* TODO - only draw bake image, can we enforce this */
+ WM_jobs_callbacks(steve, bake_startjob, NULL, bake_update, NULL);
- G.afbreek= 0;
- G.rendering = 1;
+ G.afbreek= 0;
+ G.rendering = 1;
- WM_jobs_start(CTX_wm_manager(C), steve);
+ WM_jobs_start(CTX_wm_manager(C), steve);
- WM_cursor_wait(0);
- WM_event_add_notifier(C, NC_SCENE|ND_RENDER_RESULT, scene);
+ WM_cursor_wait(0);
- /* add modal handler for ESC */
- WM_event_add_modal_handler(C, op);
+ /* add modal handler for ESC */
+ WM_event_add_modal_handler(C, op);
+ }
+
+ result= OPERATOR_RUNNING_MODAL;
}
- return OPERATOR_RUNNING_MODAL;
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_RESULT, scene);
+
+ return result;
}
@@ -317,46 +1450,53 @@ static int bake_image_exec(bContext *C, wmOperator *op)
{
Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
+ int result= OPERATOR_CANCELLED;
+ if(is_multires_bake(scene)) {
+ result= multiresbake_image_exec_locked(C, op);
+ } else {
+ if(test_bake_internal(C, op->reports)==0) {
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ ListBase threads;
+ BakeRender bkr= {NULL};
- if(test_bake_internal(C, op->reports)==0) {
- return OPERATOR_CANCELLED;
- }
- else {
- ListBase threads;
- BakeRender bkr= {NULL};
+ init_bake_internal(&bkr, C);
+ bkr.reports= op->reports;
- init_bake_internal(&bkr, C);
- bkr.reports= op->reports;
+ RE_test_break_cb(bkr.re, NULL, thread_break);
+ G.afbreek= 0; /* blender_test_break uses this global */
- RE_test_break_cb(bkr.re, NULL, thread_break);
- G.afbreek= 0; /* blender_test_break uses this global */
+ RE_Database_Baking(bkr.re, bmain, scene, scene->lay, scene->r.bake_mode, (scene->r.bake_flag & R_BAKE_TO_ACTIVE)? OBACT: NULL);
- RE_Database_Baking(bkr.re, bmain, scene, scene->lay, scene->r.bake_mode, (scene->r.bake_flag & R_BAKE_TO_ACTIVE)? OBACT: NULL);
+ /* baking itself is threaded, cannot use test_break in threads */
+ BLI_init_threads(&threads, do_bake_render, 1);
+ bkr.ready= 0;
+ BLI_insert_thread(&threads, &bkr);
- /* baking itself is threaded, cannot use test_break in threads */
- BLI_init_threads(&threads, do_bake_render, 1);
- bkr.ready= 0;
- BLI_insert_thread(&threads, &bkr);
+ while(bkr.ready==0) {
+ PIL_sleep_ms(50);
+ if(bkr.ready)
+ break;
- while(bkr.ready==0) {
- PIL_sleep_ms(50);
- if(bkr.ready)
- break;
+ /* used to redraw in 2.4x but this is just for exec in 2.5 */
+ if (!G.background)
+ blender_test_break();
+ }
+ BLI_end_threads(&threads);
- /* used to redraw in 2.4x but this is just for exec in 2.5 */
- if (!G.background)
- blender_test_break();
- }
- BLI_end_threads(&threads);
+ if(bkr.tot==0) BKE_report(op->reports, RPT_ERROR, "No valid images found to bake to");
- if(bkr.tot==0) BKE_report(op->reports, RPT_ERROR, "No valid images found to bake to");
+ finish_bake_internal(&bkr);
- finish_bake_internal(&bkr);
+ result= OPERATOR_FINISHED;
+ }
}
WM_event_add_notifier(C, NC_SCENE|ND_RENDER_RESULT, scene);
- return OPERATOR_FINISHED;
+
+ return result;
}
void OBJECT_OT_bake_image(wmOperatorType *ot)
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index eb04a2743e3..395705dc029 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -607,7 +607,7 @@ static void spot_interactive(Object *ob, int mode)
Lamp *la= ob->data;
float transfac, dx, dy, ratio, origval;
int keep_running= 1, center2d[2];
- short mval[2], mvalo[2];
+ int mval[2], mvalo[2];
// getmouseco_areawin(mval);
// getmouseco_areawin(mvalo);
@@ -1689,6 +1689,7 @@ void OBJECT_OT_shade_flat(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shade Flat";
+ ot->description= "Display faces 'flat'";
ot->idname= "OBJECT_OT_shade_flat";
/* api callbacks */
@@ -1703,6 +1704,7 @@ void OBJECT_OT_shade_smooth(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shade Smooth";
+ ot->description= "Display faces 'smooth' (using vertex normals)";
ot->idname= "OBJECT_OT_shade_smooth";
/* api callbacks */
@@ -1871,7 +1873,7 @@ static void rand_timeoffs(Scene *scene, View3D *v3d)
}
-static EnumPropertyItem *object_mode_set_itemsf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *object_mode_set_itemsf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
EnumPropertyItem *input = object_mode_items;
EnumPropertyItem *item= NULL;
@@ -2053,6 +2055,7 @@ void OBJECT_OT_game_property_new(wmOperatorType *ot)
{
/* identifiers */
ot->name= "New Game Property";
+ ot->description= "Create a new property available to the game engine";
ot->idname= "OBJECT_OT_game_property_new";
/* api callbacks */
@@ -2090,6 +2093,7 @@ void OBJECT_OT_game_property_remove(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Remove Game Property";
+ ot->description= "Remove game property";
ot->idname= "OBJECT_OT_game_property_remove";
/* api callbacks */
@@ -2115,7 +2119,7 @@ static EnumPropertyItem game_properties_copy_operations[] ={
static EnumPropertyItem gameprops_items[]= {
{0, NULL, 0, NULL, NULL}};
-static EnumPropertyItem *gameprops_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *gameprops_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *ob= ED_object_active_context(C);
EnumPropertyItem tmp = {0, "", 0, "", ""};
@@ -2158,16 +2162,20 @@ static int game_property_copy_exec(bContext *C, wmOperator *op)
} CTX_DATA_END;
}
}
- else if (ELEM(type, COPY_PROPERTIES_REPLACE, COPY_PROPERTIES_MERGE)) {
+
+ else {
CTX_DATA_BEGIN(C, Object*, ob_iter, selected_editable_objects) {
if (ob != ob_iter) {
if (ob->data != ob_iter->data){
- if (type == 2) {/* merge */
+ if (type == COPY_PROPERTIES_REPLACE)
+ copy_properties( &ob_iter->prop, &ob->prop );
+
+ /* merge - the default when calling with no argument */
+ else {
for(prop = ob->prop.first; prop; prop= prop->next ) {
set_ob_property(ob_iter, prop);
}
- } else /* replace */
- copy_properties( &ob_iter->prop, &ob->prop );
+ }
}
}
}
diff --git a/source/blender/editors/object/object_hook.c b/source/blender/editors/object/object_hook.c
index 78937299645..bb32869469a 100644
--- a/source/blender/editors/object/object_hook.c
+++ b/source/blender/editors/object/object_hook.c
@@ -56,6 +56,7 @@
#include "BKE_object.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_deform.h"
#include "RNA_define.h"
#include "RNA_access.h"
@@ -85,7 +86,7 @@ static int return_editmesh_indexar(EditMesh *em, int *tot, int **indexar, float
*indexar= index= MEM_mallocN(4*totvert, "hook indexar");
*tot= totvert;
nr= 0;
- cent[0]= cent[1]= cent[2]= 0.0;
+ zero_v3(cent);
for(eve= em->verts.first; eve; eve= eve->next) {
if(eve->f & SELECT) {
@@ -102,30 +103,29 @@ static int return_editmesh_indexar(EditMesh *em, int *tot, int **indexar, float
static int return_editmesh_vgroup(Object *obedit, EditMesh *em, char *name, float *cent)
{
- MDeformVert *dvert;
- EditVert *eve;
- int i, totvert=0;
-
- cent[0]= cent[1]= cent[2]= 0.0;
-
+ zero_v3(cent);
+
if(obedit->actdef) {
-
+ const int defgrp_index= obedit->actdef-1;
+ int totvert=0;
+
+ MDeformVert *dvert;
+ EditVert *eve;
+
/* find the vertices */
for(eve= em->verts.first; eve; eve= eve->next) {
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
if(dvert) {
- for(i=0; i<dvert->totweight; i++){
- if(dvert->dw[i].def_nr == (obedit->actdef-1)) {
- totvert++;
- add_v3_v3(cent, eve->co);
- }
+ if(defvert_find_weight(dvert, defgrp_index) > 0.0f) {
+ add_v3_v3(cent, eve->co);
+ totvert++;
}
}
}
if(totvert) {
- bDeformGroup *defGroup = BLI_findlink(&obedit->defbase, obedit->actdef-1);
- strcpy(name, defGroup->name);
+ bDeformGroup *dg = BLI_findlink(&obedit->defbase, defgrp_index);
+ BLI_strncpy(name, dg->name, sizeof(dg->name));
mul_v3_fl(cent, 1.0f/(float)totvert);
return 1;
}
@@ -563,7 +563,7 @@ static int object_hook_remove_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-static EnumPropertyItem *hook_mod_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *hook_mod_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *ob = CTX_data_edit_object(C);
EnumPropertyItem tmp = {0, "", 0, "", ""};
diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c
index 198c8cab7fa..14ce223db5e 100644
--- a/source/blender/editors/object/object_lattice.c
+++ b/source/blender/editors/object/object_lattice.c
@@ -305,7 +305,7 @@ void LATTICE_OT_make_regular(wmOperatorType *ot)
static void findnearestLattvert__doClosest(void *userData, BPoint *bp, int x, int y)
{
- struct { BPoint *bp; short dist, select, mval[2]; } *data = userData;
+ struct { BPoint *bp; short dist, select; int mval[2]; } *data = userData;
float temp = abs(data->mval[0]-x) + abs(data->mval[1]-y);
if((bp->f1 & SELECT)==data->select)
@@ -318,12 +318,12 @@ static void findnearestLattvert__doClosest(void *userData, BPoint *bp, int x, in
}
}
-static BPoint *findnearestLattvert(ViewContext *vc, const short mval[2], int sel)
+static BPoint *findnearestLattvert(ViewContext *vc, const int mval[2], int sel)
{
/* sel==1: selected gets a disadvantage */
/* in nurb and bezt or bp the nearest is written */
/* return 0 1 2: handlepunt */
- struct { BPoint *bp; short dist, select, mval[2]; } data = {NULL};
+ struct { BPoint *bp; short dist, select; int mval[2]; } data = {NULL};
data.dist = 100;
data.select = sel;
@@ -336,7 +336,7 @@ static BPoint *findnearestLattvert(ViewContext *vc, const short mval[2], int sel
return data.bp;
}
-int mouse_lattice(bContext *C, const short mval[2], int extend)
+int mouse_lattice(bContext *C, const int mval[2], int extend)
{
ViewContext vc;
BPoint *bp= NULL;
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index ff1b693d0e1..2ac9161ffa3 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -204,17 +204,28 @@ int ED_object_modifier_remove(ReportList *reports, Main *bmain, Scene *scene, Ob
ob->dt = OB_TEXTURE;
}
else if(md->type == eModifierType_Multires) {
+ int ok= 1;
Mesh *me= ob->data;
+ ModifierData *tmpmd;
- if(me->edit_mesh) {
- EditMesh *em= me->edit_mesh;
- /* CustomData_external_remove is used here only to mark layer as non-external
- for further free-ing, so zero element count looks safer than em->totface */
- CustomData_external_remove(&em->fdata, &me->id, CD_MDISPS, 0);
- EM_free_data_layer(em, &em->fdata, CD_MDISPS);
- } else {
- CustomData_external_remove(&me->fdata, &me->id, CD_MDISPS, me->totface);
- CustomData_free_layer_active(&me->fdata, CD_MDISPS, me->totface);
+ /* ensure MDISPS CustomData layer is't used by another multires modifiers */
+ for(tmpmd= ob->modifiers.first; tmpmd; tmpmd= tmpmd->next)
+ if(tmpmd!=md && tmpmd->type == eModifierType_Multires) {
+ ok= 0;
+ break;
+ }
+
+ if(ok) {
+ if(me->edit_mesh) {
+ EditMesh *em= me->edit_mesh;
+ /* CustomData_external_remove is used here only to mark layer as non-external
+ for further free-ing, so zero element count looks safer than em->totface */
+ CustomData_external_remove(&em->fdata, &me->id, CD_MDISPS, 0);
+ EM_free_data_layer(em, &em->fdata, CD_MDISPS);
+ } else {
+ CustomData_external_remove(&me->fdata, &me->id, CD_MDISPS, me->totface);
+ CustomData_free_layer_active(&me->fdata, CD_MDISPS, me->totface);
+ }
}
}
@@ -388,6 +399,15 @@ int ED_object_modifier_convert(ReportList *UNUSED(reports), Main *bmain, Scene *
static int modifier_apply_shape(ReportList *reports, Scene *scene, Object *ob, ModifierData *md)
{
+ ModifierTypeInfo *mti= modifierType_getInfo(md->type);
+
+ md->scene= scene;
+
+ if (mti->isDisabled && mti->isDisabled(md, 0)) {
+ BKE_report(reports, RPT_ERROR, "Modifier is disabled, skipping apply");
+ return 0;
+ }
+
if (ob->type==OB_MESH) {
DerivedMesh *dm;
Mesh *me= ob->data;
@@ -431,7 +451,9 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob,
{
ModifierTypeInfo *mti= modifierType_getInfo(md->type);
- if (!(md->mode&eModifierMode_Realtime) || (mti->isDisabled && mti->isDisabled(md, 0))) {
+ md->scene= scene;
+
+ if (mti->isDisabled && mti->isDisabled(md, 0)) {
BKE_report(reports, RPT_ERROR, "Modifier is disabled, skipping apply");
return 0;
}
@@ -473,7 +495,7 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob,
CustomData_free_layer_active(&me->fdata, CD_MDISPS, me->totface);
}
}
- }
+ }
else if (ELEM(ob->type, OB_CURVE, OB_SURF)) {
Curve *cu;
int numVerts;
@@ -519,6 +541,8 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob,
int ED_object_modifier_apply(ReportList *reports, Scene *scene, Object *ob, ModifierData *md, int mode)
{
+ int prev_mode;
+
if (scene->obedit) {
BKE_report(reports, RPT_ERROR, "Modifiers cannot be applied in editmode");
return 0;
@@ -530,12 +554,20 @@ int ED_object_modifier_apply(ReportList *reports, Scene *scene, Object *ob, Modi
if (md!=ob->modifiers.first)
BKE_report(reports, RPT_INFO, "Applied modifier was not first, result may not be as expected.");
+ /* allow apply of a not-realtime modifier, by first re-enabling realtime. */
+ prev_mode= md->mode;
+ md->mode |= eModifierMode_Realtime;
+
if (mode == MODIFIER_APPLY_SHAPE) {
- if (!modifier_apply_shape(reports, scene, ob, md))
+ if (!modifier_apply_shape(reports, scene, ob, md)) {
+ md->mode= prev_mode;
return 0;
+ }
} else {
- if (!modifier_apply_obdata(reports, scene, ob, md))
+ if (!modifier_apply_obdata(reports, scene, ob, md)) {
+ md->mode= prev_mode;
return 0;
+ }
}
BLI_remlink(&ob->modifiers, md);
@@ -573,7 +605,7 @@ static int modifier_add_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-static EnumPropertyItem *modifier_add_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *modifier_add_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *ob= ED_object_active_context(C);
EnumPropertyItem *item= NULL, *md_item;
@@ -971,6 +1003,7 @@ static int multires_higher_levels_delete_invoke(bContext *C, wmOperator *op, wmE
void OBJECT_OT_multires_higher_levels_delete(wmOperatorType *ot)
{
ot->name= "Delete Higher Levels";
+ ot->description= "Deletes the higher resolution mesh, potential loss of detail";
ot->idname= "OBJECT_OT_multires_higher_levels_delete";
ot->poll= multires_poll;
@@ -1247,16 +1280,22 @@ static int meshdeform_bind_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
if(mmd->bindcagecos) {
- if(mmd->bindweights) MEM_freeN(mmd->bindweights);
if(mmd->bindcagecos) MEM_freeN(mmd->bindcagecos);
if(mmd->dyngrid) MEM_freeN(mmd->dyngrid);
if(mmd->dyninfluences) MEM_freeN(mmd->dyninfluences);
+ if(mmd->bindinfluences) MEM_freeN(mmd->bindinfluences);
+ if(mmd->bindoffsets) MEM_freeN(mmd->bindoffsets);
if(mmd->dynverts) MEM_freeN(mmd->dynverts);
- mmd->bindweights= NULL;
+ if(mmd->bindweights) MEM_freeN(mmd->bindweights); /* deprecated */
+ if(mmd->bindcos) MEM_freeN(mmd->bindcos); /* deprecated */
+
mmd->bindcagecos= NULL;
mmd->dyngrid= NULL;
mmd->dyninfluences= NULL;
+ mmd->bindoffsets= NULL;
mmd->dynverts= NULL;
+ mmd->bindweights= NULL; /* deprecated */
+ mmd->bindcos= NULL; /* deprecated */
mmd->totvert= 0;
mmd->totcagevert= 0;
mmd->totinfluence= 0;
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index 086d458f3e0..f21241b6e7a 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -360,7 +360,7 @@ static int make_proxy_exec (bContext *C, wmOperator *op)
}
/* Generic itemf's for operators that take library args */
-static EnumPropertyItem *proxy_group_object_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *proxy_group_object_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
EnumPropertyItem item_tmp= {0}, *item= NULL;
int totitem= 0;
@@ -446,6 +446,7 @@ static int parent_clear_exec(bContext *C, wmOperator *op)
DAG_scene_sort(bmain, scene);
DAG_ids_flush_update(bmain, 0);
WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
+ WM_event_add_notifier(C, NC_OBJECT|ND_PARENT, NULL);
return OPERATOR_FINISHED;
}
@@ -1127,8 +1128,6 @@ static int move_to_layer_exec(bContext *C, wmOperator *op)
}
CTX_DATA_END;
}
-
- if(islamp) reshadeall_displist(scene); /* only frees */
/* warning, active object may be hidden now */
@@ -1320,7 +1319,7 @@ void OBJECT_OT_make_links_scene(wmOperatorType *ot)
/* identifiers */
ot->name= "Link Objects to Scene";
- ot->description = "Make linked data local to each object";
+ ot->description = "Link selection to another scene";
ot->idname= "OBJECT_OT_make_links_scene";
/* api callbacks */
@@ -1543,11 +1542,12 @@ static void single_mat_users(Scene *scene, int flag, int do_textures)
if(do_textures) {
for(b=0; b<MAX_MTEX; b++) {
- if(ma->mtex[b] && ma->mtex[b]->tex) {
- tex= ma->mtex[b]->tex;
+ if(ma->mtex[b] && (tex= ma->mtex[b]->tex)) {
if(tex->id.us>1) {
- ma->mtex[b]->tex= copy_texture(tex);
tex->id.us--;
+ tex= copy_texture(tex);
+ BKE_copy_animdata_id_action(&tex->id);
+ ma->mtex[b]->tex= tex;
}
}
}
@@ -1660,6 +1660,7 @@ void ED_object_single_users(Main *bmain, Scene *scene, int full)
if(full) {
single_obdata_users(bmain, scene, 0);
+ single_object_action_users(scene, 0);
single_mat_users_expand(bmain);
single_tex_users_expand(bmain);
}
@@ -1818,11 +1819,12 @@ static int make_single_user_exec(bContext *C, wmOperator *op)
single_obdata_users(bmain, scene, flag);
if(RNA_boolean_get(op->ptr, "material"))
- single_mat_users(scene, flag, FALSE);
+ single_mat_users(scene, flag, RNA_boolean_get(op->ptr, "texture"));
+#if 0 /* can't do this separate from materials */
if(RNA_boolean_get(op->ptr, "texture"))
single_mat_users(scene, flag, TRUE);
-
+#endif
if(RNA_boolean_get(op->ptr, "animation"))
single_object_action_users(scene, flag);
diff --git a/source/blender/editors/object/object_shapekey.c b/source/blender/editors/object/object_shapekey.c
index 7c59278dcf5..fd2e7fd7c99 100644
--- a/source/blender/editors/object/object_shapekey.c
+++ b/source/blender/editors/object/object_shapekey.c
@@ -203,9 +203,9 @@ static int object_shape_key_mirror(bContext *C, Object *ob)
fp1= ((float *)kb->data) + i1*3;
fp2= ((float *)kb->data) + i2*3;
- VECCOPY(tvec, fp1);
- VECCOPY(fp1, fp2);
- VECCOPY(fp2, tvec);
+ copy_v3_v3(tvec, fp1);
+ copy_v3_v3(fp1, fp2);
+ copy_v3_v3(fp2, tvec);
/* flip x axis */
fp1[0] = -fp1[0];
@@ -217,7 +217,46 @@ static int object_shape_key_mirror(bContext *C, Object *ob)
mesh_octree_table(ob, NULL, NULL, 'e');
}
- /* todo, other types? */
+ else if (ob->type == OB_LATTICE) {
+ Lattice *lt= ob->data;
+ int i1, i2;
+ float *fp1, *fp2;
+ int u, v, w;
+ /* half but found up odd value */
+ const int pntsu_half = (((lt->pntsu / 2) + (lt->pntsu % 2))) ;
+
+ /* currently editmode isnt supported by mesh so
+ * ignore here for now too */
+
+ /* if(lt->editlatt) lt= lt->editlatt->latt; */
+
+ for(w=0; w<lt->pntsw; w++) {
+ for(v=0; v<lt->pntsv; v++) {
+ for(u=0; u<pntsu_half; u++) {
+ int u_inv= (lt->pntsu - 1) - u;
+ float tvec[3];
+ if(u == u_inv) {
+ i1= LT_INDEX(lt, u, v, w);
+ fp1= ((float *)kb->data) + i1*3;
+ fp1[0]= -fp1[0];
+ }
+ else {
+ i1= LT_INDEX(lt, u, v, w);
+ i2= LT_INDEX(lt, u_inv, v, w);
+
+ fp1= ((float *)kb->data) + i1*3;
+ fp2= ((float *)kb->data) + i2*3;
+
+ copy_v3_v3(tvec, fp1);
+ copy_v3_v3(fp1, fp2);
+ copy_v3_v3(fp2, tvec);
+ fp1[0]= -fp1[0];
+ fp2[0]= -fp2[0];
+ }
+ }
+ }
+ }
+ }
MEM_freeN(tag_elem);
}
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index bce16ceeed2..f7c6ff99bde 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -515,6 +515,7 @@ static int apply_objects_internal(bContext *C, ReportList *reports, int apply_lo
mul_m4_v3(mat, bezt->vec[2]);
bezt->radius *= scale;
}
+ calchandlesNurb(nu);
}
else {
a= nu->pntsu*nu->pntsv;
diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c
index 53562caf1b5..52ba9460818 100644
--- a/source/blender/editors/object/object_vgroup.c
+++ b/source/blender/editors/object/object_vgroup.c
@@ -77,6 +77,7 @@
static void vgroup_remap_update_users(Object *ob, int *map);
static void vgroup_delete_edit_mode(Object *ob, bDeformGroup *defgroup);
static void vgroup_delete_object_mode(Object *ob, bDeformGroup *dg);
+static void vgroup_delete_all(Object *ob);
static Lattice *vgroup_edit_lattice(Object *ob)
{
@@ -138,22 +139,30 @@ void ED_vgroup_delete(Object *ob, bDeformGroup *defgroup)
vgroup_delete_object_mode(ob, dg);
}
-void ED_vgroup_data_create(ID *id)
+int ED_vgroup_data_create(ID *id)
{
/* create deform verts */
if(GS(id->name)==ID_ME) {
Mesh *me= (Mesh *)id;
me->dvert= CustomData_add_layer(&me->vdata, CD_MDEFORMVERT, CD_CALLOC, NULL, me->totvert);
+ return TRUE;
}
else if(GS(id->name)==ID_LT) {
Lattice *lt= (Lattice *)id;
lt->dvert= MEM_callocN(sizeof(MDeformVert)*lt->pntsu*lt->pntsv*lt->pntsw, "lattice deformVert");
+ return TRUE;
+ }
+ else {
+ return FALSE;
}
}
static int ED_vgroup_give_parray(ID *id, MDeformVert ***dvert_arr, int *dvert_tot)
{
+ *dvert_tot = 0;
+ *dvert_arr = NULL;
+
if(id) {
switch(GS(id->name)) {
case ID_ME:
@@ -166,8 +175,6 @@ static int ED_vgroup_give_parray(ID *id, MDeformVert ***dvert_arr, int *dvert_to
int i;
if (!CustomData_has_layer(&em->vdata, CD_MDEFORMVERT)) {
- *dvert_tot = 0;
- *dvert_arr = NULL;
return 0;
}
@@ -195,8 +202,9 @@ static int ED_vgroup_give_parray(ID *id, MDeformVert ***dvert_arr, int *dvert_to
return 1;
}
- else
+ else {
return 0;
+ }
}
case ID_LT:
{
@@ -222,8 +230,6 @@ static int ED_vgroup_give_parray(ID *id, MDeformVert ***dvert_arr, int *dvert_to
}
}
- *dvert_arr= NULL;
- *dvert_tot= 0;
return 0;
}
@@ -265,13 +271,24 @@ int ED_vgroup_copy_array(Object *ob, Object *ob_from)
int i;
int totdef_from= BLI_countlist(&ob_from->defbase);
int totdef= BLI_countlist(&ob->defbase);
+ short new_vgroup= FALSE;
ED_vgroup_give_parray(ob_from->data, &dvert_array_from, &dvert_tot_from);
ED_vgroup_give_parray(ob->data, &dvert_array, &dvert_tot);
+ if((dvert_array == NULL) && (dvert_array_from != NULL) && ED_vgroup_data_create(ob->data)) {
+ ED_vgroup_give_parray(ob->data, &dvert_array, &dvert_tot);
+ new_vgroup= TRUE;
+ }
+
if(ob==ob_from || dvert_tot==0 || (dvert_tot != dvert_tot_from) || dvert_array_from==NULL || dvert_array==NULL) {
if (dvert_array) MEM_freeN(dvert_array);
if (dvert_array_from) MEM_freeN(dvert_array_from);
+
+ if(new_vgroup == TRUE) {
+ /* free the newly added vgroup since it wasn't compatible */
+ vgroup_delete_all(ob);
+ }
return 0;
}
@@ -1015,55 +1032,75 @@ static void vgroup_clean_all(Object *ob, float eul, int keep_single)
if (dvert_array) MEM_freeN(dvert_array);
}
-void ED_vgroup_mirror(Object *ob, int mirror_weights, int flip_vgroups)
+
+static void dvert_mirror_op(MDeformVert *dvert, MDeformVert *dvert_mirr,
+ const char sel, const char sel_mirr,
+ const int *flip_map,
+ const short mirror_weights, const short flip_vgroups)
+{
+ BLI_assert(sel || sel_mirr);
+
+ if(sel_mirr && sel) {
+ /* swap */
+ if(mirror_weights)
+ SWAP(MDeformVert, *dvert, *dvert_mirr);
+ if(flip_vgroups) {
+ defvert_flip(dvert, flip_map);
+ defvert_flip(dvert_mirr, flip_map);
+ }
+ }
+ else {
+ /* dvert should always be the target */
+ if(sel_mirr) {
+ SWAP(MDeformVert *, dvert, dvert_mirr);
+ }
+
+ if(mirror_weights)
+ defvert_copy(dvert, dvert_mirr);
+ if(flip_vgroups) {
+ defvert_flip(dvert, flip_map);
+ }
+ }
+}
+
+void ED_vgroup_mirror(Object *ob, const short mirror_weights, const short flip_vgroups)
{
+#define VGROUP_MIRR_OP dvert_mirror_op(dvert, dvert_mirr, sel, sel_mirr, flip_map, mirror_weights, flip_vgroups)
+
EditVert *eve, *eve_mirr;
MDeformVert *dvert, *dvert_mirr;
+ short sel, sel_mirr;
int *flip_map;
if(mirror_weights==0 && flip_vgroups==0)
return;
+ flip_map= defgroup_flip_map(ob, 0);
+
/* only the active group */
if(ob->type == OB_MESH) {
Mesh *me= ob->data;
EditMesh *em = BKE_mesh_get_editmesh(me);
- EM_cache_x_mirror_vert(ob, em);
- if(!CustomData_has_layer(&em->vdata, CD_MDEFORMVERT))
+ if(!CustomData_has_layer(&em->vdata, CD_MDEFORMVERT)) {
+ MEM_freeN(flip_map);
return;
+ }
- flip_map= defgroup_flip_map(ob, 0);
+ EM_cache_x_mirror_vert(ob, em);
/* Go through the list of editverts and assign them */
for(eve=em->verts.first; eve; eve=eve->next){
if((eve_mirr=eve->tmp.v)) {
- if((eve_mirr->f & SELECT || eve->f & SELECT) && (eve != eve_mirr)) {
+ sel= eve->f & SELECT;
+ sel_mirr= eve_mirr->f & SELECT;
+
+ if((sel || sel_mirr) && (eve != eve_mirr)) {
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
dvert_mirr= CustomData_em_get(&em->vdata, eve_mirr->data, CD_MDEFORMVERT);
if(dvert && dvert_mirr) {
- if(eve_mirr->f & SELECT && eve->f & SELECT) {
- /* swap */
- if(mirror_weights)
- SWAP(MDeformVert, *dvert, *dvert_mirr);
- if(flip_vgroups) {
- defvert_flip(dvert, flip_map);
- defvert_flip(dvert_mirr, flip_map);
- }
- }
- else {
- /* dvert should always be the target */
- if(eve_mirr->f & SELECT) {
- SWAP(MDeformVert *, dvert, dvert_mirr);
- }
-
- if(mirror_weights)
- defvert_copy(dvert, dvert_mirr);
- if(flip_vgroups) {
- defvert_flip(dvert, flip_map);
- }
- }
+ VGROUP_MIRR_OP;
}
}
@@ -1071,10 +1108,58 @@ void ED_vgroup_mirror(Object *ob, int mirror_weights, int flip_vgroups)
}
}
- MEM_freeN(flip_map);
-
BKE_mesh_end_editmesh(me, em);
}
+ else if (ob->type == OB_LATTICE) {
+ Lattice *lt= ob->data;
+ int i1, i2;
+ int u, v, w;
+ int pntsu_half;
+ /* half but found up odd value */
+
+ if(lt->editlatt) lt= lt->editlatt->latt;
+
+ if(lt->pntsu == 1 || lt->dvert == NULL) {
+ MEM_freeN(flip_map);
+ return;
+ }
+
+ /* unlike editmesh we know that by only looping over the first hald of
+ * the 'u' indicies it will cover all points except the middle which is
+ * ok in this case */
+ pntsu_half= lt->pntsu / 2;
+
+ for(w=0; w<lt->pntsw; w++) {
+ for(v=0; v<lt->pntsv; v++) {
+ for(u=0; u<pntsu_half; u++) {
+ int u_inv= (lt->pntsu - 1) - u;
+ if(u != u_inv) {
+ BPoint *bp, *bp_mirr;
+
+ i1= LT_INDEX(lt, u, v, w);
+ i2= LT_INDEX(lt, u_inv, v, w);
+
+ bp= &lt->def[i1];
+ bp_mirr= &lt->def[i2];
+
+ sel= bp->f1 & SELECT;
+ sel_mirr= bp_mirr->f1 & SELECT;
+
+ if(sel || sel_mirr) {
+ dvert= &lt->dvert[i1];
+ dvert_mirr= &lt->dvert[i2];
+
+ VGROUP_MIRR_OP;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ MEM_freeN(flip_map);
+
+#undef VGROUP_MIRR_OP
}
static void vgroup_remap_update_users(Object *ob, int *map)
@@ -1920,17 +2005,25 @@ void OBJECT_OT_vertex_group_copy_to_linked(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-static int vertex_group_copy_to_selected_exec(bContext *C, wmOperator *UNUSED(op))
+static int vertex_group_copy_to_selected_exec(bContext *C, wmOperator *op)
{
Object *obact= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+ int change= 0;
+ int fail= 0;
CTX_DATA_BEGIN(C, Object*, ob, selected_editable_objects)
{
- if(obact != ob)
- ED_vgroup_copy_array(ob, obact);
+ if(obact != ob) {
+ if(ED_vgroup_copy_array(ob, obact)) change++;
+ else fail++;
+ }
}
CTX_DATA_END;
+ if((change == 0 && fail == 0) || fail) {
+ BKE_reportf(op->reports, RPT_ERROR, "Copy to VGroups to Selected warning done %d, failed %d, object data must have matching indicies", change, fail);
+ }
+
return OPERATOR_FINISHED;
}
@@ -1966,7 +2059,7 @@ static int set_active_group_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-static EnumPropertyItem *vgroup_itemf(bContext *C, PointerRNA *UNUSED(ptr), int *free)
+static EnumPropertyItem *vgroup_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
EnumPropertyItem tmp = {0, "", 0, "", ""};
diff --git a/source/blender/editors/physics/CMakeLists.txt b/source/blender/editors/physics/CMakeLists.txt
index 8d51d6eec37..f32b23cd3ee 100644
--- a/source/blender/editors/physics/CMakeLists.txt
+++ b/source/blender/editors/physics/CMakeLists.txt
@@ -22,13 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/elbeem/extern
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -48,7 +51,7 @@ if(NOT WITH_MOD_FLUID)
endif()
if(WITH_OPENMP)
- add_definitions(-DPARALLEL=1)
+ add_definitions(-DPARALLEL=1)
endif()
-blender_add_lib(bf_editor_physics "${SRC}" "${INC}")
+blender_add_lib(bf_editor_physics "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index 1c9f9e60e14..b8cdc18e739 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -338,7 +338,7 @@ typedef struct PEData {
DerivedMesh *dm;
PTCacheEdit *edit;
- const short *mval;
+ const int *mval;
rcti *rect;
float rad;
float dist;
@@ -373,7 +373,7 @@ static void PE_set_view3d_data(bContext *C, PEData *data)
PE_set_data(C, data);
view3d_set_viewcontext(C, &data->vc);
- /* note, the object argument means the modelview matrix does not account for the objects matrix, use viewmat rather then (obmat * viewmat) */
+ /* note, the object argument means the modelview matrix does not account for the objects matrix, use viewmat rather than (obmat * viewmat) */
view3d_get_transformation(data->vc.ar, data->vc.rv3d, NULL, &data->mats);
if((data->vc.v3d->drawtype>OB_WIRE) && (data->vc.v3d->flag & V3D_ZBUF_SELECT)) {
@@ -385,7 +385,7 @@ static void PE_set_view3d_data(bContext *C, PEData *data)
/* we may need to force an update here by setting the rv3d as dirty
* for now it seems ok, but take care!:
* rv3d->depths->dirty = 1; */
- view3d_update_depths(data->vc.ar);
+ ED_view3d_depth_update(data->vc.ar);
}
}
}
@@ -439,9 +439,9 @@ static int key_test_depth(PEData *data, float co[3])
static int key_inside_circle(PEData *data, float rad, float co[3], float *distance)
{
float dx, dy, dist;
- short sco[2];
+ int sco[2];
- project_short(data->vc.ar, co, sco);
+ project_int(data->vc.ar, co, sco);
if(sco[0] == IS_CLIPPED)
return 0;
@@ -465,9 +465,9 @@ static int key_inside_circle(PEData *data, float rad, float co[3], float *distan
static int key_inside_rect(PEData *data, float co[3])
{
- short sco[2];
+ int sco[2];
- project_short(data->vc.ar, co,sco);
+ project_int(data->vc.ar, co,sco);
if(sco[0] == IS_CLIPPED)
return 0;
@@ -827,6 +827,8 @@ static void PE_mirror_particle(Object *ob, DerivedMesh *dm, ParticleSystem *psys
if(key->flag & PEK_TAG)
mkey->flag |= PEK_TAG;
+
+ mkey->length = key->length;
}
if(point->flag & PEP_TAG)
@@ -1369,7 +1371,7 @@ void PARTICLE_OT_select_all(wmOperatorType *ot)
/************************ pick select operator ************************/
-int PE_mouse_particles(bContext *C, const short mval[2], int extend)
+int PE_mouse_particles(bContext *C, const int mval[2], int extend)
{
PEData data;
Scene *scene= CTX_data_scene(C);
@@ -1484,7 +1486,7 @@ void PARTICLE_OT_select_tips(wmOperatorType *ot)
static int select_linked_exec(bContext *C, wmOperator *op)
{
PEData data;
- short mval[2];
+ int mval[2];
int location[2];
RNA_int_get_array(op->ptr, "location", location);
@@ -1505,13 +1507,7 @@ static int select_linked_exec(bContext *C, wmOperator *op)
static int select_linked_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
- int location[2];
-
- location[0]= event->x - ar->winrct.xmin;
- location[1]= event->y - ar->winrct.ymin;
- RNA_int_set_array(op->ptr, "location", location);
-
+ RNA_int_set_array(op->ptr, "location", event->mval);
return select_linked_exec(C, op);
}
@@ -1574,7 +1570,7 @@ int PE_border_select(bContext *C, rcti *rect, int select, int extend)
/************************ circle select operator ************************/
-int PE_circle_select(bContext *C, int selecting, const short mval[2], float rad)
+int PE_circle_select(bContext *C, int selecting, const int mval[2], float rad)
{
Scene *scene= CTX_data_scene(C);
Object *ob= CTX_data_active_object(C);
@@ -1599,7 +1595,7 @@ int PE_circle_select(bContext *C, int selecting, const short mval[2], float rad)
/************************ lasso select operator ************************/
-int PE_lasso_select(bContext *C, short mcords[][2], short moves, short extend, short select)
+int PE_lasso_select(bContext *C, int mcords[][2], short moves, short extend, short select)
{
Scene *scene= CTX_data_scene(C);
Object *ob= CTX_data_active_object(C);
@@ -1610,7 +1606,7 @@ int PE_lasso_select(bContext *C, short mcords[][2], short moves, short extend, s
ParticleSystemModifierData *psmd = psys_get_modifier(ob, psys);
POINT_P; KEY_K;
float co[3], mat[4][4]= MAT4_UNITY;
- short vertco[2];
+ int vertco[2];
PEData data;
@@ -1631,7 +1627,7 @@ int PE_lasso_select(bContext *C, short mcords[][2], short moves, short extend, s
LOOP_KEYS {
VECCOPY(co, key->co);
mul_m4_v3(mat, co);
- project_short(ar, co, vertco);
+ project_int(ar, co, vertco);
if((vertco[0] != IS_CLIPPED) && lasso_inside(mcords,moves,vertco[0],vertco[1]) && key_test_depth(&data, co)) {
if(select && !(key->flag & PEK_SELECT)) {
key->flag |= PEK_SELECT;
@@ -1649,7 +1645,7 @@ int PE_lasso_select(bContext *C, short mcords[][2], short moves, short extend, s
VECCOPY(co, key->co);
mul_m4_v3(mat, co);
- project_short(ar, co,vertco);
+ project_int(ar, co,vertco);
if((vertco[0] != IS_CLIPPED) && lasso_inside(mcords,moves,vertco[0],vertco[1]) && key_test_depth(&data, co)) {
if(select && !(key->flag & PEK_SELECT)) {
key->flag |= PEK_SELECT;
@@ -2521,80 +2517,6 @@ static void toggle_particle_cursor(bContext *C, int enable)
pset->paintcursor= WM_paint_cursor_activate(CTX_wm_manager(C), PE_poll_view3d, brush_drawcursor, NULL);
}
-/********************* radial control operator *********************/
-
-static int brush_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- ParticleEditSettings *pset= PE_settings(CTX_data_scene(C));
- ParticleBrushData *brush;
- int mode = RNA_enum_get(op->ptr, "mode");
- float original_value=1.0f;
-
- if(pset->brushtype < 0)
- return OPERATOR_CANCELLED;
-
- brush= &pset->brush[pset->brushtype];
-
- toggle_particle_cursor(C, 0);
-
- if(mode == WM_RADIALCONTROL_SIZE)
- original_value = brush->size;
- else if(mode == WM_RADIALCONTROL_STRENGTH)
- original_value = brush->strength;
-
- RNA_float_set(op->ptr, "initial_value", original_value);
-
- return WM_radial_control_invoke(C, op, event);
-}
-
-static int brush_radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
-{
- int ret = WM_radial_control_modal(C, op, event);
-
- if(ret != OPERATOR_RUNNING_MODAL)
- toggle_particle_cursor(C, 1);
-
- return ret;
-}
-
-static int brush_radial_control_exec(bContext *C, wmOperator *op)
-{
- ParticleEditSettings *pset= PE_settings(CTX_data_scene(C));
- ParticleBrushData *brush;
- int mode = RNA_enum_get(op->ptr, "mode");
- float new_value = RNA_float_get(op->ptr, "new_value");
-
- if(pset->brushtype < 0)
- return OPERATOR_CANCELLED;
-
- brush= &pset->brush[pset->brushtype];
-
- if(mode == WM_RADIALCONTROL_SIZE)
- brush->size= new_value;
- else if(mode == WM_RADIALCONTROL_STRENGTH)
- brush->strength= new_value;
-
- WM_event_add_notifier(C, NC_WINDOW, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-void PARTICLE_OT_brush_radial_control(wmOperatorType *ot)
-{
- WM_OT_radial_control_partial(ot);
-
- ot->name= "Brush Radial Control";
- ot->idname= "PARTICLE_OT_brush_radial_control";
-
- ot->invoke= brush_radial_control_invoke;
- ot->modal= brush_radial_control_modal;
- ot->exec= brush_radial_control_exec;
- ot->poll= PE_poll;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
-}
-
/*************************** delete operator **************************/
enum { DEL_PARTICLE, DEL_KEY };
@@ -2845,7 +2767,7 @@ static void brush_cut(PEData *data, int pa_index)
float rad2, cut_time= 1.0;
float x0, x1, v0, v1, o0, o1, xo0, xo1, d, dv;
int k, cut, keys= (int)pow(2.0, (double)pset->draw_step);
- short vertco[2];
+ int vertco[2];
/* blunt scissors */
if(BLI_frand() > data->cutfac) return;
@@ -2858,7 +2780,7 @@ static void brush_cut(PEData *data, int pa_index)
cut=0;
- project_short_noclip(ar, key->co, vertco);
+ project_int_noclip(ar, key->co, vertco);
x0= (float)vertco[0];
x1= (float)vertco[1];
@@ -2876,7 +2798,7 @@ static void brush_cut(PEData *data, int pa_index)
else {
/* calculate path time closest to root that was inside the circle */
for(k=1, key++; k<=keys; k++, key++) {
- project_short_noclip(ar, key->co, vertco);
+ project_int_noclip(ar, key->co, vertco);
if(key_test_depth(data, key->co) == 0) {
x0= (float)vertco[0];
@@ -3324,7 +3246,7 @@ static int brush_add(PEData *data, short number)
mco[0]= data->mval[0] + dmx;
mco[1]= data->mval[1] + dmy;
- viewline(data->vc.ar, data->vc.v3d, mco, co1, co2);
+ ED_view3d_win_to_segment_clip(data->vc.ar, data->vc.v3d, mco, co1, co2);
mul_m4_v3(imat,co1);
mul_m4_v3(imat,co2);
@@ -3540,8 +3462,9 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
ParticleBrushData *brush= &pset->brush[pset->brushtype];
ARegion *ar= CTX_wm_region(C);
float vec[3], mousef[2];
- short mval[2], mvalo[2];
- int flip, mouse[2], dx, dy, removed= 0, added=0, selected= 0;
+ int mval[2];
+ int flip, mouse[2], removed= 0, added=0, selected= 0, tot_steps= 1, step= 1;
+ float dx, dy, dmax;
int lock_root = pset->flag & PE_LOCK_FIRST;
if(!PE_start_edit(edit))
@@ -3563,8 +3486,6 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
mval[0]= mouse[0];
mval[1]= mouse[1];
- mvalo[0]= bedit->lastmouse[0];
- mvalo[1]= bedit->lastmouse[1];
/* disable locking temporatily for disconnected hair */
if(edit->psys && edit->psys->flag & PSYS_GLOBAL_HAIR)
@@ -3578,149 +3499,163 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
view3d_operator_needs_opengl(C);
selected= (short)count_selected_keys(scene, edit);
- switch(pset->brushtype) {
- case PE_BRUSH_COMB:
- {
- data.mval= mval;
- data.rad= (float)brush->size;
+ dmax = MAX2(fabs(dx), fabs(dy));
+ tot_steps = dmax/(0.2f * brush->size) + 1;
- data.combfac= (brush->strength - 0.5f) * 2.0f;
- if(data.combfac < 0.0f)
- data.combfac= 1.0f - 9.0f * data.combfac;
- else
- data.combfac= 1.0f - data.combfac;
+ dx /= (float)tot_steps;
+ dy /= (float)tot_steps;
- invert_m4_m4(ob->imat, ob->obmat);
+ for(step = 1; step<=tot_steps; step++) {
+ mval[0] = bedit->lastmouse[0] + step*dx;
+ mval[1] = bedit->lastmouse[1] + step*dy;
- window_to_3d_delta(ar, vec, dx, dy);
- data.dvec= vec;
-
- foreach_mouse_hit_key(&data, brush_comb, selected);
- break;
- }
- case PE_BRUSH_CUT:
- {
- if(edit->psys && edit->pathcache) {
+ switch(pset->brushtype) {
+ case PE_BRUSH_COMB:
+ {
+ float mval_f[2];
data.mval= mval;
data.rad= (float)brush->size;
- data.cutfac= brush->strength;
- if(selected)
- foreach_selected_point(&data, brush_cut);
+ data.combfac= (brush->strength - 0.5f) * 2.0f;
+ if(data.combfac < 0.0f)
+ data.combfac= 1.0f - 9.0f * data.combfac;
else
- foreach_point(&data, brush_cut);
-
- removed= remove_tagged_particles(ob, edit->psys, pe_x_mirror(ob));
- if(pset->flag & PE_KEEP_LENGTHS)
- recalc_lengths(edit);
- }
- else
- removed= 0;
+ data.combfac= 1.0f - data.combfac;
- break;
- }
- case PE_BRUSH_LENGTH:
- {
- data.mval= mval;
-
- data.rad= (float)brush->size;
- data.growfac= brush->strength / 50.0f;
+ invert_m4_m4(ob->imat, ob->obmat);
- if(brush->invert ^ flip)
- data.growfac= 1.0f - data.growfac;
- else
- data.growfac= 1.0f + data.growfac;
+ mval_f[0]= dx;
+ mval_f[1]= dy;
+ ED_view3d_win_to_delta(ar, mval_f, vec);
+ data.dvec= vec;
- foreach_mouse_hit_point(&data, brush_length, selected);
+ foreach_mouse_hit_key(&data, brush_comb, selected);
+ break;
+ }
+ case PE_BRUSH_CUT:
+ {
+ if(edit->psys && edit->pathcache) {
+ data.mval= mval;
+ data.rad= (float)brush->size;
+ data.cutfac= brush->strength;
+
+ if(selected)
+ foreach_selected_point(&data, brush_cut);
+ else
+ foreach_point(&data, brush_cut);
+
+ removed= remove_tagged_particles(ob, edit->psys, pe_x_mirror(ob));
+ if(pset->flag & PE_KEEP_LENGTHS)
+ recalc_lengths(edit);
+ }
+ else
+ removed= 0;
- if(pset->flag & PE_KEEP_LENGTHS)
- recalc_lengths(edit);
- break;
- }
- case PE_BRUSH_PUFF:
- {
- if(edit->psys) {
- data.dm= psmd->dm;
+ break;
+ }
+ case PE_BRUSH_LENGTH:
+ {
data.mval= mval;
+
data.rad= (float)brush->size;
- data.select= selected;
+ data.growfac= brush->strength / 50.0f;
- data.pufffac= (brush->strength - 0.5f) * 2.0f;
- if(data.pufffac < 0.0f)
- data.pufffac= 1.0f - 9.0f * data.pufffac;
+ if(brush->invert ^ flip)
+ data.growfac= 1.0f - data.growfac;
else
- data.pufffac= 1.0f - data.pufffac;
+ data.growfac= 1.0f + data.growfac;
- data.invert= (brush->invert ^ flip);
- invert_m4_m4(ob->imat, ob->obmat);
+ foreach_mouse_hit_point(&data, brush_length, selected);
- foreach_mouse_hit_point(&data, brush_puff, selected);
+ if(pset->flag & PE_KEEP_LENGTHS)
+ recalc_lengths(edit);
+ break;
}
- break;
- }
- case PE_BRUSH_ADD:
- {
- if(edit->psys && edit->psys->part->from==PART_FROM_FACE) {
- data.mval= mval;
+ case PE_BRUSH_PUFF:
+ {
+ if(edit->psys) {
+ data.dm= psmd->dm;
+ data.mval= mval;
+ data.rad= (float)brush->size;
+ data.select= selected;
+
+ data.pufffac= (brush->strength - 0.5f) * 2.0f;
+ if(data.pufffac < 0.0f)
+ data.pufffac= 1.0f - 9.0f * data.pufffac;
+ else
+ data.pufffac= 1.0f - data.pufffac;
+
+ data.invert= (brush->invert ^ flip);
+ invert_m4_m4(ob->imat, ob->obmat);
+
+ foreach_mouse_hit_point(&data, brush_puff, selected);
+ }
+ break;
+ }
+ case PE_BRUSH_ADD:
+ {
+ if(edit->psys && edit->psys->part->from==PART_FROM_FACE) {
+ data.mval= mval;
- added= brush_add(&data, brush->count);
+ added= brush_add(&data, brush->count);
- if(pset->flag & PE_KEEP_LENGTHS)
- recalc_lengths(edit);
+ if(pset->flag & PE_KEEP_LENGTHS)
+ recalc_lengths(edit);
+ }
+ else
+ added= 0;
+ break;
}
- else
- added= 0;
- break;
- }
- case PE_BRUSH_SMOOTH:
- {
- data.mval= mval;
- data.rad= (float)brush->size;
+ case PE_BRUSH_SMOOTH:
+ {
+ data.mval= mval;
+ data.rad= (float)brush->size;
- data.vec[0]= data.vec[1]= data.vec[2]= 0.0f;
- data.tot= 0;
+ data.vec[0]= data.vec[1]= data.vec[2]= 0.0f;
+ data.tot= 0;
- data.smoothfac= brush->strength;
+ data.smoothfac= brush->strength;
- invert_m4_m4(ob->imat, ob->obmat);
+ invert_m4_m4(ob->imat, ob->obmat);
+
+ foreach_mouse_hit_key(&data, brush_smooth_get, selected);
- foreach_mouse_hit_key(&data, brush_smooth_get, selected);
+ if(data.tot) {
+ mul_v3_fl(data.vec, 1.0f / (float)data.tot);
+ foreach_mouse_hit_key(&data, brush_smooth_do, selected);
+ }
- if(data.tot) {
- mul_v3_fl(data.vec, 1.0f / (float)data.tot);
- foreach_mouse_hit_key(&data, brush_smooth_do, selected);
+ break;
}
+ case PE_BRUSH_WEIGHT:
+ {
+ if(edit->psys) {
+ data.dm= psmd->dm;
+ data.mval= mval;
+ data.rad= (float)brush->size;
- break;
- }
- case PE_BRUSH_WEIGHT:
- {
- if(edit->psys) {
- data.dm= psmd->dm;
- data.mval= mval;
- data.rad= (float)brush->size;
+ data.weightfac = brush->strength; /* note that this will never be zero */
- data.weightfac = brush->strength; /* note that this will never be zero */
+ foreach_mouse_hit_key(&data, brush_weight, selected);
+ }
- foreach_mouse_hit_key(&data, brush_weight, selected);
+ break;
}
-
- break;
}
- }
- if((pset->flag & PE_KEEP_LENGTHS)==0)
- recalc_lengths(edit);
+ if((pset->flag & PE_KEEP_LENGTHS)==0)
+ recalc_lengths(edit);
- if(ELEM(pset->brushtype, PE_BRUSH_ADD, PE_BRUSH_CUT) && (added || removed)) {
- if(pset->brushtype == PE_BRUSH_ADD && pe_x_mirror(ob))
- PE_mirror_x(scene, ob, 1);
+ if(ELEM(pset->brushtype, PE_BRUSH_ADD, PE_BRUSH_CUT) && (added || removed)) {
+ if(pset->brushtype == PE_BRUSH_ADD && pe_x_mirror(ob))
+ PE_mirror_x(scene, ob, 1);
- update_world_cos(ob,edit);
- psys_free_path_cache(NULL, edit);
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ update_world_cos(ob,edit);
+ psys_free_path_cache(NULL, edit);
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
+ else
+ PE_update_object(scene, ob, 1);
}
- else
- PE_update_object(scene, ob, 1);
WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
@@ -3756,12 +3691,10 @@ static int brush_edit_exec(bContext *C, wmOperator *op)
static void brush_edit_apply_event(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
PointerRNA itemptr;
float mouse[2];
- mouse[0]= event->x - ar->winrct.xmin;
- mouse[1]= event->y - ar->winrct.ymin;
+ VECCOPY2D(mouse, event->mval);
/* fill in stroke */
RNA_collection_add(op->ptr, "stroke", &itemptr);
@@ -4051,18 +3984,6 @@ int PE_undo_valid(Scene *scene)
return 0;
}
-static void PTCacheUndo_number(Scene *scene, PTCacheEdit *edit, int nr)
-{
- PTCacheUndo *undo;
- int a=1;
-
- for(undo= edit->undo.first; undo; undo= undo->next, a++) {
- if(a==nr) break;
- }
- edit->curundo= undo;
- PE_undo_step(scene, 0);
-}
-
static void PTCacheUndo_clear(PTCacheEdit *edit)
{
PTCacheUndo *undo;
@@ -4088,32 +4009,38 @@ void PE_redo(Scene *scene)
PE_undo_step(scene, -1);
}
-void PE_undo_menu(Scene *scene, Object *ob)
+void PE_undo_number(Scene *scene, int nr)
{
- PTCacheEdit *edit= PE_get_current(scene, ob);
+ PTCacheEdit *edit= PE_get_current(scene, OBACT);
PTCacheUndo *undo;
- DynStr *ds;
- short event=0;
- char *menu;
-
- if(!edit) return;
+ int a=0;
- ds= BLI_dynstr_new();
-
- BLI_dynstr_append(ds, "Particlemode Undo History %t");
-
- for(undo= edit->undo.first; undo; undo= undo->next) {
- BLI_dynstr_append(ds, "|");
- BLI_dynstr_append(ds, undo->name);
+ for(undo= edit->undo.first; undo; undo= undo->next, a++) {
+ if(a==nr) break;
}
+ edit->curundo= undo;
+ PE_undo_step(scene, 0);
+}
+
+
+/* get name of undo item, return null if no item with this index */
+/* if active pointer, set it to 1 if true */
+char *PE_undo_get_name(Scene *scene, int nr, int *active)
+{
+ PTCacheEdit *edit= PE_get_current(scene, OBACT);
+ PTCacheUndo *undo;
- menu= BLI_dynstr_get_cstring(ds);
- BLI_dynstr_free(ds);
-
-// XXX event= pupmenu_col(menu, 20);
- MEM_freeN(menu);
+ if(active) *active= 0;
- if(event>0) PTCacheUndo_number(scene, edit, event);
+ if(edit) {
+ undo= BLI_findlink(&edit->undo, nr);
+ if(undo) {
+ if(active && undo==edit->curundo)
+ *active= 1;
+ return undo->name;
+ }
+ }
+ return NULL;
}
/************************ utilities ******************************/
diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c
index 4aa9b942cf3..37309f1e07c 100644
--- a/source/blender/editors/physics/physics_fluid.c
+++ b/source/blender/editors/physics/physics_fluid.c
@@ -56,6 +56,7 @@
#include "DNA_object_fluidsim.h"
#include "BLI_blenlib.h"
+#include "BLI_fileops.h"
#include "BLI_threads.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
@@ -125,7 +126,7 @@ static void get_fluid_gravity(float *gravity, Scene *scene, FluidsimSettings *fs
if (scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY) {
copy_v3_v3(gravity, scene->physics_settings.gravity);
} else {
- copy_v3_v3(gravity, &fss->gravx);
+ copy_v3_v3(gravity, fss->grav);
}
}
@@ -443,7 +444,7 @@ static void fluid_init_all_channels(bContext *C, Object *UNUSED(fsDomain), Fluid
Object *ob = fobj->object;
FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(ob, eModifierType_Fluidsim);
float active= (float)(fluidmd->fss->flag & OB_FLUIDSIM_ACTIVE);
- float rot_d[3], old_rot[3] = {0.f, 0.f, 0.f};
+ float rot_d[3] = {0.f, 0.f, 0.f}, old_rot[3] = {0.f, 0.f, 0.f};
if (ELEM(fluidmd->fss->type, OB_FLUIDSIM_DOMAIN, OB_FLUIDSIM_PARTICLE))
continue;
@@ -721,15 +722,17 @@ typedef struct FluidBakeJob {
static void fluidbake_free(void *customdata)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
MEM_freeN(fb);
}
/* called by fluidbake, only to check job 'stop' value */
-static int fluidbake_breakjob(void *UNUSED(customdata))
+static int fluidbake_breakjob(void *customdata)
{
- //FluidBakeJob *fb= (FluidBakeJob *)customdata;
- //return *(fb->stop);
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
+
+ if(fb->stop && *(fb->stop))
+ return 1;
/* this is not nice yet, need to make the jobs list template better
* for identifying/acting upon various different jobs */
@@ -740,7 +743,7 @@ static int fluidbake_breakjob(void *UNUSED(customdata))
/* called by fluidbake, wmJob sends notifier */
static void fluidbake_updatejob(void *customdata, float progress)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
*(fb->do_update)= 1;
*(fb->progress)= progress;
@@ -748,7 +751,7 @@ static void fluidbake_updatejob(void *customdata, float progress)
static void fluidbake_startjob(void *customdata, short *stop, short *do_update, float *progress)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
fb->stop= stop;
fb->do_update = do_update;
@@ -763,7 +766,7 @@ static void fluidbake_startjob(void *customdata, short *stop, short *do_update,
static void fluidbake_endjob(void *customdata)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
if (fb->settings) {
MEM_freeN(fb->settings);
@@ -809,6 +812,44 @@ static void fluidbake_free_data(FluidAnimChannels *channels, ListBase *fobjects,
}
}
+/* copied from rna_fluidsim.c: fluidsim_find_lastframe() */
+static void fluidsim_delete_until_lastframe(FluidsimSettings *fss)
+{
+ char targetDir[FILE_MAXFILE+FILE_MAXDIR], targetFile[FILE_MAXFILE+FILE_MAXDIR];
+ char targetDirVel[FILE_MAXFILE+FILE_MAXDIR], targetFileVel[FILE_MAXFILE+FILE_MAXDIR];
+ char previewDir[FILE_MAXFILE+FILE_MAXDIR], previewFile[FILE_MAXFILE+FILE_MAXDIR];
+ int curFrame = 1, exists = 0;
+
+ BLI_snprintf(targetDir, sizeof(targetDir), "%sfluidsurface_final_####.bobj.gz", fss->surfdataPath);
+ BLI_snprintf(targetDirVel, sizeof(targetDir), "%sfluidsurface_final_####.bvel.gz", fss->surfdataPath);
+ BLI_snprintf(previewDir, sizeof(targetDir), "%sfluidsurface_preview_####.bobj.gz", fss->surfdataPath);
+
+ BLI_path_abs(targetDir, G.main->name);
+ BLI_path_abs(targetDirVel, G.main->name);
+ BLI_path_abs(previewDir, G.main->name);
+
+ do {
+ BLI_strncpy(targetFile, targetDir, sizeof(targetFile));
+ BLI_strncpy(targetFileVel, targetDirVel, sizeof(targetFileVel));
+ BLI_strncpy(previewFile, previewDir, sizeof(previewFile));
+
+ BLI_path_frame(targetFile, curFrame, 0);
+ BLI_path_frame(targetFileVel, curFrame, 0);
+ BLI_path_frame(previewFile, curFrame, 0);
+
+ curFrame++;
+
+ if((exists = BLI_exist(targetFile)))
+ {
+ BLI_delete(targetFile, 0, 0);
+ BLI_delete(targetFileVel, 0, 0);
+ BLI_delete(previewFile, 0, 0);
+ }
+ } while(exists);
+
+ return;
+}
+
static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
{
Scene *scene= CTX_data_scene(C);
@@ -878,6 +919,9 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
// reset last valid frame
domainSettings->lastgoodframe = -1;
+
+ /* delete old baked files */
+ fluidsim_delete_until_lastframe(domainSettings);
/* rough check of settings... */
if(domainSettings->previewresxyz > domainSettings->resolutionxyz) {
@@ -1018,6 +1062,13 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
else if (domainSettings->typeFlags&OB_FSBND_PARTSLIP) fsset->domainobsType = FLUIDSIM_OBSTACLE_PARTSLIP;
else if (domainSettings->typeFlags&OB_FSBND_FREESLIP) fsset->domainobsType = FLUIDSIM_OBSTACLE_FREESLIP;
fsset->domainobsPartslip = domainSettings->partSlipValue;
+
+ /* use domainobsType also for surface generation flag (bit: >=64) */
+ if(domainSettings->typeFlags & OB_FSSG_NOOBS)
+ fsset->mFsSurfGenSetting = FLUIDSIM_FSSG_NOOBS;
+ else
+ fsset->mFsSurfGenSetting = 0; // "normal" mode
+
fsset->generateVertexVectors = (domainSettings->domainNovecgen==0);
// init blender domain transform matrix
diff --git a/source/blender/editors/physics/physics_intern.h b/source/blender/editors/physics/physics_intern.h
index d447da3f8c4..71f1128baf0 100644
--- a/source/blender/editors/physics/physics_intern.h
+++ b/source/blender/editors/physics/physics_intern.h
@@ -60,7 +60,6 @@ void PARTICLE_OT_delete(struct wmOperatorType *ot);
void PARTICLE_OT_mirror(struct wmOperatorType *ot);
void PARTICLE_OT_brush_edit(struct wmOperatorType *ot);
-void PARTICLE_OT_brush_radial_control(struct wmOperatorType *ot);
void PARTICLE_OT_particle_edit_toggle(struct wmOperatorType *ot);
void PARTICLE_OT_edited_clear(struct wmOperatorType *ot);
diff --git a/source/blender/editors/physics/physics_ops.c b/source/blender/editors/physics/physics_ops.c
index 02b2fad7a00..56bd8b97532 100644
--- a/source/blender/editors/physics/physics_ops.c
+++ b/source/blender/editors/physics/physics_ops.c
@@ -66,7 +66,6 @@ static void operatortypes_particle(void)
WM_operatortype_append(PARTICLE_OT_mirror);
WM_operatortype_append(PARTICLE_OT_brush_edit);
- WM_operatortype_append(PARTICLE_OT_brush_radial_control);
WM_operatortype_append(PARTICLE_OT_particle_edit_toggle);
WM_operatortype_append(PARTICLE_OT_edited_clear);
@@ -91,6 +90,7 @@ static void operatortypes_particle(void)
static void keymap_particle(wmKeyConfig *keyconf)
{
+ wmKeyMapItem *kmi;
wmKeyMap *keymap;
keymap= WM_keymap_find(keyconf, "Particle", 0, 0);
@@ -110,10 +110,19 @@ static void keymap_particle(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "PARTICLE_OT_hide", HKEY, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "PARTICLE_OT_hide", HKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "unselected", 1);
+ kmi = WM_keymap_verify_item(keymap, "VIEW3D_OT_manipulator", LEFTMOUSE, KM_PRESS, KM_ANY, 0);
+ RNA_boolean_set(kmi->ptr, "release_confirm", 1);
+
WM_keymap_add_item(keymap, "PARTICLE_OT_brush_edit", LEFTMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "PARTICLE_OT_brush_edit", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
- RNA_enum_set(WM_keymap_add_item(keymap, "PARTICLE_OT_brush_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
- RNA_enum_set(WM_keymap_add_item(keymap, "PARTICLE_OT_brush_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
+
+ /* size radial control */
+ kmi = WM_keymap_add_item(keymap, "WM_OT_radial_control", FKEY, KM_PRESS, 0, 0);
+ RNA_string_set(kmi->ptr, "data_path", "tool_settings.particle_edit.brush.size");
+
+ /* size radial control */
+ kmi = WM_keymap_add_item(keymap, "WM_OT_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0);
+ RNA_string_set(kmi->ptr, "data_path", "tool_settings.particle_edit.brush.strength");
WM_keymap_add_menu(keymap, "VIEW3D_MT_particle_specials", WKEY, KM_PRESS, 0, 0);
diff --git a/source/blender/editors/physics/physics_pointcache.c b/source/blender/editors/physics/physics_pointcache.c
index df6cdb577a2..797ead3cd90 100644
--- a/source/blender/editors/physics/physics_pointcache.c
+++ b/source/blender/editors/physics/physics_pointcache.c
@@ -156,6 +156,7 @@ void PTCACHE_OT_bake_all(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Bake All Physics";
+ ot->description= "Bake all physics";
ot->idname= "PTCACHE_OT_bake_all";
/* api callbacks */
@@ -171,6 +172,7 @@ void PTCACHE_OT_free_bake_all(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Free All Physics Bakes";
+ ot->name= "Free all physics bakes";
ot->idname= "PTCACHE_OT_free_bake_all";
/* api callbacks */
@@ -268,6 +270,7 @@ void PTCACHE_OT_bake(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Bake Physics";
+ ot->description= "Bake physics";
ot->idname= "PTCACHE_OT_bake";
/* api callbacks */
@@ -283,6 +286,7 @@ void PTCACHE_OT_free_bake(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Free Physics Bake";
+ ot->description= "Free physics bake";
ot->idname= "PTCACHE_OT_free_bake";
/* api callbacks */
@@ -296,6 +300,7 @@ void PTCACHE_OT_bake_from_cache(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Bake From Cache";
+ ot->description= "Bake from cache";
ot->idname= "PTCACHE_OT_bake_from_cache";
/* api callbacks */
@@ -364,7 +369,8 @@ static int ptcache_remove_exec(bContext *C, wmOperator *UNUSED(op))
void PTCACHE_OT_add(wmOperatorType *ot)
{
/* identifiers */
- ot->name= "Add new cache";
+ ot->name= "Add New Cache";
+ ot->description= "Add new cache";
ot->idname= "PTCACHE_OT_add";
/* api callbacks */
@@ -377,7 +383,8 @@ void PTCACHE_OT_add(wmOperatorType *ot)
void PTCACHE_OT_remove(wmOperatorType *ot)
{
/* identifiers */
- ot->name= "Delete current cache";
+ ot->name= "Delete Current Cache";
+ ot->description= "Delete current cache";
ot->idname= "PTCACHE_OT_remove";
/* api callbacks */
diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt
index 16cfca8dadb..cf6c4290ee0 100644
--- a/source/blender/editors/render/CMakeLists.txt
+++ b/source/blender/editors/render/CMakeLists.txt
@@ -32,7 +32,10 @@ set(INC
../../render/extern/include
../../windowmanager
../../../../intern/guardedalloc
- ${GLEW_INCLUDE_PATH}
+)
+
+set(INC_SYS
+ ${GLEW_INCLUDE_PATH}
)
set(SRC
@@ -41,12 +44,19 @@ set(SRC
render_ops.c
render_preview.c
render_shading.c
+ render_update.c
+ render_view.c
render_intern.h
)
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../../quicktime ${QUICKTIME_INC})
+ list(APPEND INC
+ ../../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
@@ -54,4 +64,8 @@ if(WITH_OPENMP)
add_definitions(-DPARALLEL=1)
endif()
-blender_add_lib(bf_editor_render "${SRC}" "${INC}")
+if(WITH_HEADLESS)
+ add_definitions(-DWITH_HEADLESS)
+endif()
+
+blender_add_lib(bf_editor_render "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/render/render_intern.h b/source/blender/editors/render/render_intern.h
index e6d8c98d068..ab09acd67f4 100644
--- a/source/blender/editors/render/render_intern.h
+++ b/source/blender/editors/render/render_intern.h
@@ -65,13 +65,16 @@ void TEXTURE_OT_envmap_clear(struct wmOperatorType *ot);
void TEXTURE_OT_envmap_clear_all(struct wmOperatorType *ot);
/* render_internal.c */
-void RENDER_OT_view_show(struct wmOperatorType *ot);
void RENDER_OT_render(struct wmOperatorType *ot);
-void RENDER_OT_view_cancel(struct wmOperatorType *ot);
-/*render_opengl.c uses these */
+/* render_opengl.c uses this */
void image_buffer_rect_update(struct Scene *scene, struct RenderResult *rr, struct ImBuf *ibuf, volatile struct rcti *renrect);
-void screen_set_image_output(struct bContext *C, int mx, int my);
+
+/* render_view.c */
+void render_view_open(struct bContext *C, int mx, int my);
+
+void RENDER_OT_view_show(struct wmOperatorType *ot);
+void RENDER_OT_view_cancel(struct wmOperatorType *ot);
/* render_opengl.c */
void RENDER_OT_opengl(struct wmOperatorType *ot);
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index 7f90e298504..42a163d3da5 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -73,17 +73,14 @@
#include "render_intern.h"
-static ScrArea *biggest_area(bContext *C);
-static ScrArea *biggest_non_image_area(bContext *C);
-static ScrArea *find_area_showing_r_result(bContext *C, wmWindow **win);
-static ScrArea *find_area_image_empty(bContext *C);
+/* Render Callbacks */
/* called inside thread! */
void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volatile rcti *renrect)
{
float x1, y1, *rectf= NULL;
int ymin, ymax, xmin, xmax;
- int rymin, rxmin;
+ int rymin, rxmin, do_color_management;
char *rectc;
/* if renrect argument, we only refresh scanlines */
@@ -95,7 +92,8 @@ void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volat
/* xmin here is first subrect x coord, xmax defines subrect width */
xmin = renrect->xmin + rr->crop;
xmax = renrect->xmax - xmin + rr->crop;
- if (xmax<2) return;
+ if(xmax<2)
+ return;
ymin= renrect->ymin + rr->crop;
ymax= renrect->ymax - ymin + rr->crop;
@@ -141,275 +139,56 @@ void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volat
rectf+= 4*(rr->rectx*ymin + xmin);
rectc= (char *)(ibuf->rect + ibuf->x*rymin + rxmin);
+
+ do_color_management = (scene && (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT));
/* XXX make nice consistent functions for this */
- if (scene && (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)) {
- for(y1= 0; y1<ymax; y1++) {
- float *rf= rectf;
- float srgb[3];
- char *rc= rectc;
- const float dither = ibuf->dither / 255.0f;
-
- /* XXX temp. because crop offset */
- if( rectc >= (char *)(ibuf->rect)) {
- for(x1= 0; x1<xmax; x1++, rf += 4, rc+=4) {
- const float d = (BLI_frand()-0.5f)*dither;
- srgb[0]= d + linearrgb_to_srgb(rf[0]);
- srgb[1]= d + linearrgb_to_srgb(rf[1]);
- srgb[2]= d + linearrgb_to_srgb(rf[2]);
-
- rc[0]= FTOCHAR(srgb[0]);
- rc[1]= FTOCHAR(srgb[1]);
- rc[2]= FTOCHAR(srgb[2]);
- rc[3]= FTOCHAR(rf[3]);
+ for(y1= 0; y1<ymax; y1++) {
+ float *rf= rectf;
+ float srgb[3];
+ char *rc= rectc;
+ const float dither = ibuf->dither / 255.0f;
+
+ /* XXX temp. because crop offset */
+ if(rectc >= (char *)(ibuf->rect)) {
+ for(x1= 0; x1<xmax; x1++, rf += 4, rc+=4) {
+ /* color management */
+ if(do_color_management) {
+ srgb[0]= linearrgb_to_srgb(rf[0]);
+ srgb[1]= linearrgb_to_srgb(rf[1]);
+ srgb[2]= linearrgb_to_srgb(rf[2]);
}
- }
- rectf += 4*rr->rectx;
- rectc += 4*ibuf->x;
- }
- } else {
- for(y1= 0; y1<ymax; y1++) {
- float *rf= rectf;
- char *rc= rectc;
- float rgb[3];
- const float dither = ibuf->dither / 255.0f;
-
- /* XXX temp. because crop offset */
- if( rectc >= (char *)(ibuf->rect)) {
- for(x1= 0; x1<xmax; x1++, rf += 4, rc+=4) {
- const float d = (BLI_frand()-0.5f)*dither;
-
- rgb[0] = d + rf[0];
- rgb[1] = d + rf[1];
- rgb[2] = d + rf[2];
-
- rc[0]= FTOCHAR(rgb[0]);
- rc[1]= FTOCHAR(rgb[1]);
- rc[2]= FTOCHAR(rgb[2]);
- rc[3]= FTOCHAR(rf[3]);
+ else {
+ copy_v3_v3(srgb, rf);
}
- }
- rectf += 4*rr->rectx;
- rectc += 4*ibuf->x;
- }
- }
-}
-
-/* new window uses x,y to set position */
-void screen_set_image_output(bContext *C, int mx, int my)
-{
- wmWindow *win= CTX_wm_window(C);
- Scene *scene= CTX_data_scene(C);
- ScrArea *sa= NULL;
- SpaceImage *sima;
- int area_was_image=0;
-
- if(scene->r.displaymode==R_OUTPUT_NONE)
- return;
-
- if(scene->r.displaymode==R_OUTPUT_WINDOW) {
- rcti rect;
- int sizex, sizey;
- sizex= 10 + (scene->r.xsch*scene->r.size)/100;
- sizey= 40 + (scene->r.ysch*scene->r.size)/100;
-
- /* arbitrary... miniature image window views don't make much sense */
- if(sizex < 320) sizex= 320;
- if(sizey < 256) sizey= 256;
-
- /* XXX some magic to calculate postition */
- rect.xmin= mx + win->posx - sizex/2;
- rect.ymin= my + win->posy - sizey/2;
- rect.xmax= rect.xmin + sizex;
- rect.ymax= rect.ymin + sizey;
-
- /* changes context! */
- WM_window_open_temp(C, &rect, WM_WINDOW_RENDER);
-
- sa= CTX_wm_area(C);
- }
- else if(scene->r.displaymode==R_OUTPUT_SCREEN) {
- if (CTX_wm_area(C) && CTX_wm_area(C)->spacetype == SPACE_IMAGE)
- area_was_image = 1;
-
- /* this function returns with changed context */
- ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_IMAGE);
- sa= CTX_wm_area(C);
- }
+ /* dither */
+ if(dither != 0.0f) {
+ const float d = (BLI_frand()-0.5f)*dither;
- if(!sa) {
- sa= find_area_showing_r_result(C, &win);
- if(sa==NULL)
- sa= find_area_image_empty(C);
-
- /* if area found in other window, we make that one show in front */
- if(win && win!=CTX_wm_window(C))
- wm_window_raise(win);
-
- if(sa==NULL) {
- /* find largest open non-image area */
- sa= biggest_non_image_area(C);
- if(sa) {
- ED_area_newspace(C, sa, SPACE_IMAGE);
- sima= sa->spacedata.first;
-
- /* makes ESC go back to prev space */
- sima->flag |= SI_PREVSPACE;
- }
- else {
- /* use any area of decent size */
- sa= biggest_area(C);
- if(sa->spacetype!=SPACE_IMAGE) {
- // XXX newspace(sa, SPACE_IMAGE);
- sima= sa->spacedata.first;
-
- /* makes ESC go back to prev space */
- sima->flag |= SI_PREVSPACE;
+ srgb[0] += d;
+ srgb[1] += d;
+ srgb[2] += d;
}
- }
- }
- }
- sima= sa->spacedata.first;
-
- /* get the correct image, and scale it */
- sima->image= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result");
-
- /* if we're rendering to full screen, set appropriate hints on image editor
- * so it can restore properly on pressing esc */
- if(sa->full) {
- sima->flag |= SI_FULLWINDOW;
-
- /* Tell the image editor to revert to previous space in space list on close
- * _only_ if it wasn't already an image editor when the render was invoked */
- if (area_was_image == 0)
- sima->flag |= SI_PREVSPACE;
- else {
- /* Leave it alone so the image editor will just go back from
- * full screen to the original tiled setup */
- ;
+ /* write */
+ rc[0]= FTOCHAR(srgb[0]);
+ rc[1]= FTOCHAR(srgb[1]);
+ rc[2]= FTOCHAR(srgb[2]);
+ rc[3]= FTOCHAR(rf[3]);
+ }
}
+ rectf += 4*rr->rectx;
+ rectc += 4*ibuf->x;
}
-
}
-
/* ****************************** render invoking ***************** */
/* set callbacks, exported to sequence render too.
Only call in foreground (UI) renders. */
-/* returns biggest area that is not uv/image editor. Note that it uses buttons */
-/* window as the last possible alternative. */
-static ScrArea *biggest_non_image_area(bContext *C)
-{
- bScreen *sc= CTX_wm_screen(C);
- ScrArea *sa, *big= NULL;
- int size, maxsize= 0, bwmaxsize= 0;
- short foundwin= 0;
-
- for(sa= sc->areabase.first; sa; sa= sa->next) {
- if(sa->winx > 30 && sa->winy > 30) {
- size= sa->winx*sa->winy;
- if(sa->spacetype == SPACE_BUTS) {
- if(foundwin == 0 && size > bwmaxsize) {
- bwmaxsize= size;
- big= sa;
- }
- }
- else if(sa->spacetype != SPACE_IMAGE && size > maxsize) {
- maxsize= size;
- big= sa;
- foundwin= 1;
- }
- }
- }
-
- return big;
-}
-
-static ScrArea *biggest_area(bContext *C)
-{
- bScreen *sc= CTX_wm_screen(C);
- ScrArea *sa, *big= NULL;
- int size, maxsize= 0;
-
- for(sa= sc->areabase.first; sa; sa= sa->next) {
- size= sa->winx*sa->winy;
- if(size > maxsize) {
- maxsize= size;
- big= sa;
- }
- }
- return big;
-}
-
-
-static ScrArea *find_area_showing_r_result(bContext *C, wmWindow **win)
-{
- wmWindowManager *wm= CTX_wm_manager(C);
- ScrArea *sa = NULL;
- SpaceImage *sima;
-
- /* find an imagewindow showing render result */
- for(*win=wm->windows.first; *win; *win= (*win)->next) {
- for(sa= (*win)->screen->areabase.first; sa; sa= sa->next) {
- if(sa->spacetype==SPACE_IMAGE) {
- sima= sa->spacedata.first;
- if(sima->image && sima->image->type==IMA_TYPE_R_RESULT)
- break;
- }
- }
- if(sa)
- break;
- }
-
- return sa;
-}
-
-static ScrArea *find_area_image_empty(bContext *C)
-{
- bScreen *sc= CTX_wm_screen(C);
- ScrArea *sa;
- SpaceImage *sima;
-
- /* find an imagewindow showing render result */
- for(sa=sc->areabase.first; sa; sa= sa->next) {
- if(sa->spacetype==SPACE_IMAGE) {
- sima= sa->spacedata.first;
- if(!sima->image)
- break;
- }
- }
- return sa;
-}
-
-#if 0 // XXX not used
-static ScrArea *find_empty_image_area(bContext *C)
-{
- bScreen *sc= CTX_wm_screen(C);
- ScrArea *sa;
- SpaceImage *sima;
-
- /* find an imagewindow showing render result */
- for(sa=sc->areabase.first; sa; sa= sa->next) {
- if(sa->spacetype==SPACE_IMAGE) {
- sima= sa->spacedata.first;
- if(!sima->image)
- break;
- }
- }
- return sa;
-}
-#endif // XXX not used
-
-static void render_error_reports(void *reports, const char *str)
-{
- BKE_report(reports, RPT_ERROR, str);
-}
-
/* executes blocking render */
static int screen_render_exec(bContext *C, wmOperator *op)
{
@@ -428,13 +207,8 @@ static int screen_render_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- if(re==NULL) {
- re= RE_NewRender(scene->id.name);
- }
-
G.afbreek= 0;
RE_test_break_cb(re, NULL, (int (*)(void *)) blender_test_break);
- RE_error_cb(re, op->reports, render_error_reports);
ima= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result");
BKE_image_signal(ima, NULL, IMA_SIGNAL_FREE);
@@ -446,11 +220,15 @@ static int screen_render_exec(bContext *C, wmOperator *op)
since sequence rendering can call that recursively... (peter) */
seq_stripelem_cache_cleanup();
+ RE_SetReports(re, op->reports);
+
if(is_animation)
- RE_BlenderAnim(re, mainp, scene, camera_override, lay, scene->r.sfra, scene->r.efra, scene->r.frame_step, op->reports);
+ RE_BlenderAnim(re, mainp, scene, camera_override, lay, scene->r.sfra, scene->r.efra, scene->r.frame_step);
else
RE_BlenderFrame(re, mainp, scene, NULL, camera_override, lay, scene->r.cfra, is_write_still);
+ RE_SetReports(re, NULL);
+
// no redraw needed, we leave state as we entered it
ED_update_for_newframe(mainp, scene, CTX_wm_screen(C), 1);
@@ -522,6 +300,9 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str)
BLI_timestr(rs->lastframetime, info_time_str);
spos+= sprintf(spos, "Time:%s ", info_time_str);
+ if(rs->curfsa)
+ spos+= sprintf(spos, "| Full Sample %d ", rs->curfsa);
+
if(rs->infostr && rs->infostr[0])
spos+= sprintf(spos, "| %s ", rs->infostr);
@@ -558,7 +339,7 @@ static void render_progress_update(void *rjv, float progress)
{
RenderJob *rj= rjv;
- if (rj->progress)
+ if(rj->progress)
*rj->progress = progress;
}
@@ -591,10 +372,14 @@ static void render_startjob(void *rjv, short *stop, short *do_update, float *pro
rj->do_update= do_update;
rj->progress= progress;
+ RE_SetReports(rj->re, rj->reports);
+
if(rj->anim)
- RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->lay, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step, rj->reports);
+ RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->lay, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step);
else
RE_BlenderFrame(rj->re, rj->main, rj->scene, rj->srl, rj->camera_override, rj->lay, rj->scene->r.cfra, rj->write_still);
+
+ RE_SetReports(rj->re, NULL);
}
static void render_endjob(void *rjv)
@@ -687,7 +472,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(WM_jobs_test(CTX_wm_manager(C), scene))
return OPERATOR_CANCELLED;
- if(!RE_is_rendering_allowed(scene, camera_override, op->reports, render_error_reports)) {
+ if(!RE_is_rendering_allowed(scene, camera_override, op->reports)) {
return OPERATOR_CANCELLED;
}
@@ -731,7 +516,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
// store spare
/* ensure at least 1 area shows result */
- screen_set_image_output(C, event->x, event->y);
+ render_view_open(C, event->x, event->y);
jobflag= WM_JOB_EXCL_RENDER|WM_JOB_PRIORITY|WM_JOB_PROGRESS;
@@ -795,8 +580,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
rj->re= re;
G.afbreek= 0;
- RE_error_cb(re, op->reports, render_error_reports);
-
WM_jobs_start(CTX_wm_manager(C), steve);
WM_cursor_wait(0);
@@ -813,7 +596,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
-
/* contextual render, using current scene, view3d? */
void RENDER_OT_render(wmOperatorType *ot)
{
@@ -835,119 +617,3 @@ void RENDER_OT_render(wmOperatorType *ot)
RNA_def_string(ot->srna, "scene", "", MAX_ID_NAME-2, "Scene", "Re-render single layer in this scene");
}
-/* ****************************** opengl render *************************** */
-
-
-/* *********************** cancel render viewer *************** */
-
-static int render_view_cancel_exec(bContext *C, wmOperator *UNUSED(op))
-{
- wmWindow *win= CTX_wm_window(C);
- ScrArea *sa= CTX_wm_area(C);
- SpaceImage *sima= sa->spacedata.first;
-
- /* test if we have a temp screen in front */
- if(CTX_wm_window(C)->screen->temp) {
- wm_window_lower(CTX_wm_window(C));
- return OPERATOR_FINISHED;
- }
- /* determine if render already shows */
- else if(sima->flag & SI_PREVSPACE) {
- sima->flag &= ~SI_PREVSPACE;
-
- if(sima->flag & SI_FULLWINDOW) {
- sima->flag &= ~SI_FULLWINDOW;
- ED_screen_full_prevspace(C, sa);
- }
- else
- ED_area_prevspace(C, sa);
-
- return OPERATOR_FINISHED;
- }
- else if(sima->flag & SI_FULLWINDOW) {
- sima->flag &= ~SI_FULLWINDOW;
- ED_screen_full_toggle(C, win, sa);
- return OPERATOR_FINISHED;
- }
-
- return OPERATOR_PASS_THROUGH;
-}
-
-void RENDER_OT_view_cancel(struct wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Cancel Render View";
- ot->description= "Cancel show render view";
- ot->idname= "RENDER_OT_view_cancel";
-
- /* api callbacks */
- ot->exec= render_view_cancel_exec;
- ot->poll= ED_operator_image_active;
-}
-
-/* *********************** show render viewer *************** */
-
-static int render_view_show_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
-{
- wmWindow *wincur = CTX_wm_window(C);
-
- /* test if we have currently a temp screen active */
- if(wincur->screen->temp) {
- wm_window_lower(wincur);
- }
- else {
- wmWindow *win, *winshow;
- ScrArea *sa= find_area_showing_r_result(C, &winshow);
-
- /* is there another window showing result? */
- for(win= CTX_wm_manager(C)->windows.first; win; win= win->next) {
- if(win->screen->temp || (win==winshow && winshow!=wincur)) {
- wm_window_raise(win);
- return OPERATOR_FINISHED;
- }
- }
-
- /* determine if render already shows */
- if(sa) {
- /* but don't close it when rendering */
- if(!G.rendering) {
- SpaceImage *sima= sa->spacedata.first;
-
- if(sima->flag & SI_PREVSPACE) {
- sima->flag &= ~SI_PREVSPACE;
-
- if(sima->flag & SI_FULLWINDOW) {
- sima->flag &= ~SI_FULLWINDOW;
- ED_screen_full_prevspace(C, sa);
- }
- else if(sima->next) {
- /* workaround for case of double prevspace, render window
- with a file browser on top of it (same as in ED_area_prevspace) */
- if(sima->next->spacetype == SPACE_FILE && sima->next->next)
- ED_area_newspace(C, sa, sima->next->next->spacetype);
- else
- ED_area_newspace(C, sa, sima->next->spacetype);
- ED_area_tag_redraw(sa);
- }
- }
- }
- }
- else {
- screen_set_image_output(C, event->x, event->y);
- }
- }
-
- return OPERATOR_FINISHED;
-}
-
-void RENDER_OT_view_show(struct wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Show/Hide Render View";
- ot->description= "Toggle show render view";
- ot->idname= "RENDER_OT_view_show";
-
- /* api callbacks */
- ot->invoke= render_view_show_invoke;
- ot->poll= ED_operator_screenactive;
-}
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index 626fbce1b2e..3256112426b 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -149,7 +149,7 @@ static void screen_opengl_render_apply(OGLRender *oglrender)
rctf viewplane;
float clipsta, clipend;
- int is_ortho= get_view3d_viewplane(v3d, rv3d, sizex, sizey, &viewplane, &clipsta, &clipend, NULL);
+ int is_ortho= ED_view3d_viewplane_get(v3d, rv3d, sizex, sizey, &viewplane, &clipsta, &clipend, NULL);
if(is_ortho) orthographic_m4(winmat, viewplane.xmin, viewplane.xmax, viewplane.ymin, viewplane.ymax, -clipend, clipend);
else perspective_m4(winmat, viewplane.xmin, viewplane.xmax, viewplane.ymin, viewplane.ymax, clipsta, clipend);
}
@@ -220,6 +220,11 @@ static void screen_opengl_render_apply(OGLRender *oglrender)
if(oglrender->write_still) {
char name[FILE_MAX];
int ok;
+
+ if(scene->r.planes == 8) {
+ IMB_color_to_bw(ibuf);
+ }
+
BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE);
ok= BKE_write_ibuf(ibuf, name, scene->r.imtype, scene->r.subimtype, scene->r.quality); /* no need to stamp here */
if(ok) printf("OpenGL Render written to '%s'\n", name);
@@ -433,6 +438,24 @@ static int screen_opengl_render_anim_step(bContext *C, wmOperator *op)
ibuf= BKE_image_acquire_ibuf(oglrender->ima, &oglrender->iuser, &lock);
if(ibuf) {
+ /* color -> greyscale */
+ /* editing directly would alter the render view */
+ if(scene->r.planes == 8) {
+ ImBuf *ibuf_bw= IMB_dupImBuf(ibuf);
+ IMB_color_to_bw(ibuf_bw);
+ // IMB_freeImBuf(ibuf); /* owned by the image */
+ ibuf= ibuf_bw;
+ }
+ else {
+ /* this is lightweight & doesnt re-alloc the buffers, only do this
+ * to save the correct bit depth since the image is always RGBA */
+ ImBuf *ibuf_cpy= IMB_allocImBuf(ibuf->x, ibuf->y, scene->r.planes, 0);
+ ibuf_cpy->rect= ibuf->rect;
+ ibuf_cpy->rect_float= ibuf->rect_float;
+ ibuf_cpy->zbuf_float= ibuf->zbuf_float;
+ ibuf= ibuf_cpy;
+ }
+
if(BKE_imtype_is_movie(scene->r.imtype)) {
ok= oglrender->mh->append_movie(&scene->r, CFRA, (int*)ibuf->rect, oglrender->sizex, oglrender->sizey, oglrender->reports);
if(ok) {
@@ -453,6 +476,9 @@ static int screen_opengl_render_anim_step(bContext *C, wmOperator *op)
BKE_reportf(op->reports, RPT_INFO, "Saved file: %s", name);
}
}
+
+ /* imbuf knows which rects are not part of ibuf */
+ IMB_freeImBuf(ibuf);
}
BKE_image_release_ibuf(oglrender->ima, lock);
@@ -527,7 +553,7 @@ static int screen_opengl_render_invoke(bContext *C, wmOperator *op, wmEvent *eve
}
oglrender= op->customdata;
- screen_set_image_output(C, event->x, event->y);
+ render_view_open(C, event->x, event->y);
WM_event_add_modal_handler(C, op);
oglrender->timer= WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f);
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 1abf5df223c..007ae96ae59 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -74,7 +74,9 @@
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_node.h"
+#include "BKE_object.h"
#include "BKE_texture.h"
+#include "BKE_world.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
@@ -97,15 +99,6 @@
#include "render_intern.h"
-#define PR_XMIN 10
-#define PR_YMIN 5
-#define PR_XMAX 200
-#define PR_YMAX 195
-
-/* XXX */
-static int qtest(void) {return 0;}
-/* XXX */
-
ImBuf* get_brush_icon(Brush *brush)
{
static const int flags = IB_rect|IB_multilayer|IB_metadata;
@@ -158,9 +151,11 @@ typedef struct ShaderPreview {
ID *parent;
MTex *slot;
- /* node materials/texture need full copy during preview render, glsl uses it too */
+ /* datablocks with nodes need full copy during preview render, glsl uses it too */
Material *matcopy;
Tex *texcopy;
+ Lamp *lampcopy;
+ World *worldcopy;
float col[4]; /* active object color */
@@ -170,129 +165,13 @@ typedef struct ShaderPreview {
} ShaderPreview;
-
-
-/* unused now */
-void draw_tex_crop(Tex *tex)
-{
- rcti rct;
- int ret= 0;
-
- if(tex==NULL) return;
-
- if(tex->type==TEX_IMAGE) {
- if(tex->cropxmin==0.0f) ret++;
- if(tex->cropymin==0.0f) ret++;
- if(tex->cropxmax==1.0f) ret++;
- if(tex->cropymax==1.0f) ret++;
- if(ret==4) return;
-
- rct.xmin= PR_XMIN+2+tex->cropxmin*(PR_XMAX-PR_XMIN-4);
- rct.xmax= PR_XMIN+2+tex->cropxmax*(PR_XMAX-PR_XMIN-4);
- rct.ymin= PR_YMIN+2+tex->cropymin*(PR_YMAX-PR_YMIN-4);
- rct.ymax= PR_YMIN+2+tex->cropymax*(PR_YMAX-PR_YMIN-4);
-
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glColor3ub(0, 0, 0);
- glRecti(rct.xmin+1, rct.ymin-1, rct.xmax+1, rct.ymax-1);
-
- glColor3ub(255, 255, 255);
- glRecti(rct.xmin, rct.ymin, rct.xmax, rct.ymax);
-
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- }
-
-}
-
-/* temporal abuse; if id_code is -1 it only does texture.... solve! */
-void BIF_preview_changed(short UNUSED(id_code))
-{
-#if 0
- ScrArea *sa;
-
- for(sa= G.curscreen->areabase.first; sa; sa= sa->next) {
- if(sa->spacetype==SPACE_BUTS) {
- SpaceButs *sbuts= sa->spacedata.first;
- if(sbuts->mainb==CONTEXT_SHADING) {
- int tab= sbuts->tab[CONTEXT_SHADING];
- if(tab==TAB_SHADING_MAT && (id_code==ID_MA || id_code==ID_TE)) {
- if (sbuts->ri) sbuts->ri->curtile= 0;
- addafterqueue(sa->win, RENDERPREVIEW, 1);
- }
- else if(tab==TAB_SHADING_TEX && (id_code==ID_TE || id_code==-1)) {
- if (sbuts->ri) sbuts->ri->curtile= 0;
- addafterqueue(sa->win, RENDERPREVIEW, 1);
- }
- else if(tab==TAB_SHADING_LAMP && (id_code==ID_LA || id_code==ID_TE)) {
- if (sbuts->ri) sbuts->ri->curtile= 0;
- addafterqueue(sa->win, RENDERPREVIEW, 1);
- }
- else if(tab==TAB_SHADING_WORLD && (id_code==ID_WO || id_code==ID_TE)) {
- if (sbuts->ri) sbuts->ri->curtile= 0;
- addafterqueue(sa->win, RENDERPREVIEW, 1);
- }
- }
- else if (sbuts->ri)
- sbuts->ri->curtile= 0; /* ensure changes always result in re-render when context is restored */
- }
- else if(sa->spacetype==SPACE_NODE) {
- SpaceNode *snode= sa->spacedata.first;
- if(snode->treetype==NTREE_SHADER && (id_code==ID_MA || id_code==ID_TE)) {
- snode_tag_dirty(snode);
- }
- }
- else if(sa->spacetype==SPACE_VIEW3D) {
- View3D *vd= sa->spacedata.first;
- /* if is has a renderinfo, we consider that reason for signalling */
- if (vd->ri) {
- vd->ri->curtile= 0;
- addafterqueue(sa->win, RENDERPREVIEW, 1);
- }
- }
- }
-
- if(ELEM4(id_code, ID_MA, ID_TE, ID_LA, ID_WO)) {
- Object *ob;
- Material *ma;
-
- if(id_code == ID_WO) {
- for(ma=G.main->mat.first; ma; ma=ma->id.next) {
- if(ma->gpumaterial.first) {
- GPU_material_free(ma);
- }
- }
- }
- else if(id_code == ID_LA) {
- for(ob=G.main->object.first; ob; ob=ob->id.next) {
- if(ob->gpulamp.first) {
- GPU_lamp_free(ob);
- }
- }
-
- for(ma=G.main->mat.first; ma; ma=ma->id.next) {
- if(ma->gpumaterial.first) {
- GPU_material_free(ma);
- }
- }
- } else if(OBACT) {
- Object *ob = OBACT;
-
- ma= give_current_material(ob, ob->actcol);
- if(ma && ma->gpumaterial.first) {
- GPU_material_free(ma);
- }
- }
- }
-#endif
-}
-
/* *************************** Preview for buttons *********************** */
static Main *pr_main= NULL;
void ED_preview_init_dbase(void)
{
+#ifndef WITH_HEADLESS
BlendFileData *bfd;
extern int datatoc_preview_blend_size;
extern char datatoc_preview_blend[];
@@ -306,6 +185,7 @@ void ED_preview_init_dbase(void)
MEM_freeN(bfd);
}
G.fileflags= fileflags;
+#endif
}
void ED_preview_free_dbase(void)
@@ -385,7 +265,7 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre
if(id_type==ID_MA) {
Material *mat= NULL, *origmat= (Material *)id;
- if(id) {
+ if(origmat) {
/* work on a copy */
mat= localize_material(origmat);
sp->matcopy= mat;
@@ -515,7 +395,14 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre
}
}
else if(id_type==ID_LA) {
- Lamp *la= (Lamp *)id;
+ Lamp *la= NULL, *origla= (Lamp *)id;
+
+ /* work on a copy */
+ if(origla) {
+ la= localize_lamp(origla);
+ sp->lampcopy= la;
+ BLI_addtail(&pr_main->lamp, la);
+ }
if(la && la->type==LA_SUN && (la->sun_effect_type & LA_SUN_EFFECT_SKY)) {
sce->lay= 1<<MA_ATMOS;
@@ -537,8 +424,16 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre
}
}
else if(id_type==ID_WO) {
+ World *wrld= NULL, *origwrld= (World *)id;
+
+ if(origwrld) {
+ wrld= localize_world(origwrld);
+ sp->worldcopy= wrld;
+ BLI_addtail(&pr_main->world, wrld);
+ }
+
sce->lay= 1<<MA_SKY;
- sce->world= (World *)id;
+ sce->world= wrld;
}
return sce;
@@ -636,321 +531,6 @@ void ED_preview_draw(const bContext *C, void *idp, void *parentp, void *slotp, r
}
}
-/* ******************************** Icon Preview **************************** */
-
-void ED_preview_icon_draw(const bContext *UNUSED(C), void *UNUSED(idp), void *UNUSED(arg1), void *UNUSED(arg2), rcti *UNUSED(rect))
-{
-}
-
-/* *************************** Preview for 3d window *********************** */
-
-void view3d_previewrender_progress(RenderResult *rr, volatile rcti *renrect)
-{
-// ScrArea *sa= NULL; // XXX
-// View3D *v3d= NULL; // XXX
- RenderLayer *rl;
- int ofsx=0, ofsy=0;
-
- if(renrect) return;
-
- rl= rr->layers.first;
-
- /* this case is when we render envmaps... */
-// if(rr->rectx > v3d->ri->pr_rectx || rr->recty > v3d->ri->pr_recty)
-// return;
-
-// ofsx= v3d->ri->disprect.xmin + rr->tilerect.xmin;
-// ofsy= v3d->ri->disprect.ymin + rr->tilerect.ymin;
-
- glDrawBuffer(GL_FRONT);
-// glaDefine2DArea(&sa->winrct);
- glaDrawPixelsSafe_to32(ofsx, ofsy, rr->rectx, rr->recty, rr->rectx, rl->rectf, 0);
- bglFlush();
- glDrawBuffer(GL_BACK);
-
-}
-
-void BIF_view3d_previewrender_signal(ScrArea *UNUSED(sa), short UNUSED(signal))
-{
-#if 0
- View3D *v3d= sa->spacedata.first;
-
- /* this can be called from other window... solve! */
- if(sa->spacetype!=SPACE_VIEW3D)
- return; // XXX
-
- if(v3d && v3d->ri) {
- RenderInfo *ri= v3d->ri;
- ri->status &= ~signal;
- ri->curtile= 0;
- //printf("preview signal %d\n", signal);
- if(ri->re && (signal & PR_DBASE))
- RE_Database_Free(ri->re);
-
-// addafterqueue(sa->win, RENDERPREVIEW, 1);
- }
-#endif
-}
-
-void BIF_view3d_previewrender_free(View3D *UNUSED(v3d))
-{
-#if 0
- if(v3d->ri) {
- RenderInfo *ri= v3d->ri;
- if(ri->re) {
-// printf("free render\n");
- RE_Database_Free(ri->re);
- RE_FreeRender(ri->re);
- ri->re= NULL;
- }
- if (v3d->ri->rect) MEM_freeN(v3d->ri->rect);
- MEM_freeN(v3d->ri);
- v3d->ri= NULL;
- }
-#endif
-}
-
-/* returns 1 if OK, do not call while in panel space! */
-static int view3d_previewrender_get_rects(ScrArea *sa, rctf *viewplane, RenderInfo *ri, float *clipsta, float *clipend, int *ortho, float *pixsize)
-{
- View3D *v3d= NULL; // XXX
- RegionView3D *rv3d= NULL; // XXX
- int rectx, recty;
-// uiBlock *block;
-
-// block= uiFindOpenPanelBlockName(&sa->uiblocks, "Preview");
-// if(block==NULL) return 0;
-
- /* calculate preview rect size */
-// BLI_init_rctf(viewplane, 15.0f, (block->maxx - block->minx)-15.0f, 15.0f, (block->maxy - block->miny)-15.0f);
-// uiPanelPush(block);
-// ui_graphics_to_window_rct(sa->win, viewplane, &ri->disprect);
-// uiPanelPop(block);
-
- /* correction for gla draw */
-// BLI_translate_rcti(&ri->disprect, -sa->winrct.xmin, -sa->winrct.ymin);
-
- *ortho= get_view3d_viewplane(v3d, rv3d, sa->winx, sa->winy, viewplane, clipsta, clipend, pixsize);
-
- rectx= ri->disprect.xmax - ri->disprect.xmin;
- recty= ri->disprect.ymax - ri->disprect.ymin;
-
- if(rectx<4 || recty<4) return 0;
-
- if(ri->rect && (rectx!=ri->pr_rectx || recty!=ri->pr_recty)) {
- MEM_freeN(ri->rect);
- ri->rect= NULL;
- ri->curtile= 0;
- printf("changed size\n");
- }
- ri->pr_rectx= rectx;
- ri->pr_recty= recty;
-
- return 1;
-}
-
-/* called before a panel gets moved/scaled, makes sure we can see through */
-void BIF_view3d_previewrender_clear(ScrArea *UNUSED(sa))
-{
-#if 0
- View3D *v3d= sa->spacedata.first;
-
- if(v3d->ri) {
- RenderInfo *ri= v3d->ri;
- ri->curtile= 0;
- if(ri->rect)
- MEM_freeN(ri->rect);
- ri->rect= NULL;
- }
-#endif
-}
-
-/* afterqueue call */
-void BIF_view3d_previewrender(Main *bmain, Scene *scene, ScrArea *sa)
-{
- View3D *v3d= sa->spacedata.first;
- RegionView3D *rv3d= NULL; // XXX
- Render *re;
- RenderInfo *ri=NULL; /* preview struct! */
- RenderStats *rstats;
- RenderData rdata;
- rctf viewplane;
- float clipsta, clipend, pixsize;
- int orth;
-
- /* first get the render info right */
-// if (!v3d->ri) {
-// ri= v3d->ri= MEM_callocN(sizeof(RenderInfo), "butsrenderinfo");
-// ri->tottile= 10000;
-// }
-// ri= v3d->ri;
-
- if(0==view3d_previewrender_get_rects(sa, &viewplane, ri, &clipsta, &clipend, &orth, &pixsize))
- return;
-
- /* render is finished, so return */
- if(ri->tottile && ri->curtile>=ri->tottile) return;
-
- /* or return with a new event */
- if(qtest()) {
-// addafterqueue(sa->win, RENDERPREVIEW, 1);
- return;
- }
- //printf("Enter previewrender\n");
- /* ok, are we rendering all over? */
- if(ri->re==NULL) {
- char name[32];
-
- ri->status= 0;
-
- sprintf(name, "View3dPreview %p", (void *)sa);
- re= ri->re= RE_NewRender(name);
- //RE_display_draw_cb(re, view3d_previewrender_progress);
- //RE_stats_draw_cb(re, view3d_previewrender_stats);
- //RE_test_break_cb(re, qtest);
-
- /* no osa, blur, seq, layers, etc for preview render */
- rdata= scene->r;
- rdata.mode &= ~(R_OSA|R_MBLUR);
- rdata.scemode &= ~(R_DOSEQ|R_DOCOMP|R_FREE_IMAGE);
- rdata.layers.first= rdata.layers.last= NULL;
- rdata.renderer= R_INTERN;
-
- RE_InitState(re, NULL, &rdata, NULL, sa->winx, sa->winy, &ri->disprect);
-
- if(orth)
- RE_SetOrtho(re, &viewplane, clipsta, clipend);
- else
- RE_SetWindow(re, &viewplane, clipsta, clipend);
- RE_SetPixelSize(re, pixsize);
-
- /* until here are no escapes */
- ri->status |= PR_DISPRECT;
- ri->curtile= 0;
- //printf("new render\n");
- }
-
- re= ri->re;
-
- PIL_sleep_ms(100); /* wait 0.1 second if theres really no event... */
- if(qtest()==0) {
-
- /* check status */
- if((ri->status & PR_DISPRECT)==0) {
- RE_SetDispRect(ri->re, &ri->disprect);
- if(orth)
- RE_SetOrtho(ri->re, &viewplane, clipsta, clipend);
- else
- RE_SetWindow(ri->re, &viewplane, clipsta, clipend);
- RE_SetPixelSize(re, pixsize);
- ri->status |= PR_DISPRECT;
- ri->curtile= 0;
- //printf("disprect update\n");
- }
- if((ri->status & PR_DBASE)==0) {
- unsigned int lay= scene->lay;
-
- RE_SetView(re, rv3d->viewmat);
-
- /* allow localview render for objects with lights in normal layers */
- if(v3d->lay & 0xFF000000)
- lay |= v3d->lay;
- else lay= v3d->lay;
-
- RE_Database_FromScene(re, bmain, scene, lay, 0); // 0= dont use camera view
-
- rstats= RE_GetStats(re);
- if(rstats->convertdone)
- ri->status |= PR_DBASE|PR_PROJECTED|PR_ROTATED;
- ri->curtile= 0;
-
- /* database can have created render-resol data... */
- if(rstats->convertdone)
- DAG_scene_flush_update(bmain, scene, scene->lay, 0);
-
- //printf("dbase update\n");
- }
- if((ri->status & PR_PROJECTED)==0) {
- if(ri->status & PR_DBASE) {
- if(orth)
- RE_SetOrtho(ri->re, &viewplane, clipsta, clipend);
- else
- RE_SetWindow(ri->re, &viewplane, clipsta, clipend);
- RE_DataBase_ApplyWindow(re);
- ri->status |= PR_PROJECTED;
- }
- ri->curtile= 0;
- //printf("project update\n");
- }
-
- /* OK, can we enter render code? */
- if(ri->status==(PR_DISPRECT|PR_DBASE|PR_PROJECTED|PR_ROTATED)) {
- //printf("curtile %d tottile %d\n", ri->curtile, ri->tottile);
- RE_TileProcessor(ri->re); //, ri->curtile, 0);
-
- if(ri->rect==NULL)
- ri->rect= MEM_mallocN(sizeof(int)*ri->pr_rectx*ri->pr_recty, "preview view3d rect");
-
- RE_ResultGet32(ri->re, ri->rect);
- }
-
- rstats= RE_GetStats(ri->re);
-// if(rstats->totpart==rstats->partsdone && rstats->partsdone)
-// addqueue(sa->win, REDRAW, 1);
-// else
-// addafterqueue(sa->win, RENDERPREVIEW, 1);
-
- ri->curtile= rstats->partsdone;
- ri->tottile= rstats->totpart;
- }
- else {
-// addafterqueue(sa->win, RENDERPREVIEW, 1);
- }
-
- //printf("\n");
-}
-
-/* in panel space! */
-static void view3d_previewdraw_rect(ScrArea *UNUSED(sa), uiBlock *UNUSED(block), RenderInfo *ri)
-{
-// rctf dispf;
-
- if(ri->rect==NULL)
- return;
-
-// BLI_init_rctf(&dispf, 15.0f, (block->maxx - block->minx)-15.0f, 15.0f, (block->maxy - block->miny)-15.0f);
-// ui_graphics_to_window_rct(sa->win, &dispf, &ri->disprect);
-
- /* correction for gla draw */
-// BLI_translate_rcti(&ri->disprect, -sa->winrct.xmin, -sa->winrct.ymin);
-
- /* when panel scale changed, free rect */
- if(ri->disprect.xmax-ri->disprect.xmin != ri->pr_rectx ||
- ri->disprect.ymax-ri->disprect.ymin != ri->pr_recty) {
- MEM_freeN(ri->rect);
- ri->rect= NULL;
- }
- else {
-// glaDefine2DArea(&sa->winrct);
- glaDrawPixelsSafe(ri->disprect.xmin, ri->disprect.ymin, ri->pr_rectx, ri->pr_recty, ri->pr_rectx, GL_RGBA, GL_UNSIGNED_BYTE, ri->rect);
- }
-}
-
-/* is panel callback, supposed to be called with correct panel offset matrix */
-void BIF_view3d_previewdraw(struct ScrArea *sa, struct uiBlock *block)
-{
- RegionView3D *rv3d= NULL;
-
-// if (v3d->ri==NULL || v3d->ri->rect==NULL)
-// addafterqueue(sa->win, RENDERPREVIEW, 1);
-// else {
- view3d_previewdraw_rect(sa, block, rv3d->ri);
-// if(v3d->ri->curtile==0)
-// addafterqueue(sa->win, RENDERPREVIEW, 1);
-// }
-}
-
-
/* **************************** new shader preview system ****************** */
/* inside thread, called by renderer, sets job update value */
@@ -1148,6 +728,38 @@ static void shader_preview_free(void *customdata)
}
MEM_freeN(sp->texcopy);
}
+ if(sp->worldcopy) {
+ struct IDProperty *properties;
+ /* node previews */
+ shader_preview_updatejob(sp);
+
+ /* get rid of copied world */
+ BLI_remlink(&pr_main->world, sp->worldcopy);
+ free_world(sp->worldcopy);
+
+ properties= IDP_GetProperties((ID *)sp->worldcopy, FALSE);
+ if (properties) {
+ IDP_FreeProperty(properties);
+ MEM_freeN(properties);
+ }
+ MEM_freeN(sp->worldcopy);
+ }
+ if(sp->lampcopy) {
+ struct IDProperty *properties;
+ /* node previews */
+ shader_preview_updatejob(sp);
+
+ /* get rid of copied lamp */
+ BLI_remlink(&pr_main->lamp, sp->lampcopy);
+ free_lamp(sp->lampcopy);
+
+ properties= IDP_GetProperties((ID *)sp->lampcopy, FALSE);
+ if (properties) {
+ IDP_FreeProperty(properties);
+ MEM_freeN(properties);
+ }
+ MEM_freeN(sp->lampcopy);
+ }
MEM_freeN(sp);
}
diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c
index b59ce072787..cfed2750e18 100644
--- a/source/blender/editors/render/render_shading.c
+++ b/source/blender/editors/render/render_shading.c
@@ -87,180 +87,6 @@
#include "render_intern.h" // own include
-/***************************** Updates ***********************************
- * ED_render_id_flush_update gets called from DAG_id_tag_update, to do *
- * editor level updates when the ID changes. when these ID blocks are in *
- * the dependency graph, we can get rid of the manual dependency checks */
-
-static int mtex_use_tex(MTex **mtex, int tot, Tex *tex)
-{
- int a;
-
- if(!mtex)
- return 0;
-
- for(a=0; a<tot; a++)
- if(mtex[a] && mtex[a]->tex == tex)
- return 1;
-
- return 0;
-}
-
-static int nodes_use_tex(bNodeTree *ntree, Tex *tex)
-{
- bNode *node;
-
- for(node=ntree->nodes.first; node; node= node->next) {
- if(node->id) {
- if(node->id == (ID*)tex) {
- return 1;
- }
- else if(node->type==NODE_GROUP) {
- if(nodes_use_tex((bNodeTree *)node->id, tex))
- return 1;
- }
- }
- }
-
- return 0;
-}
-
-static void material_changed(Main *UNUSED(bmain), Material *ma)
-{
- /* icons */
- BKE_icon_changed(BKE_icon_getid(&ma->id));
-
- /* glsl */
- if(ma->gpumaterial.first)
- GPU_material_free(ma);
-}
-
-static void texture_changed(Main *bmain, Tex *tex)
-{
- Material *ma;
- Lamp *la;
- World *wo;
-
- /* icons */
- BKE_icon_changed(BKE_icon_getid(&tex->id));
-
- /* find materials */
- for(ma=bmain->mat.first; ma; ma=ma->id.next) {
- if(mtex_use_tex(ma->mtex, MAX_MTEX, tex));
- else if(ma->use_nodes && ma->nodetree && nodes_use_tex(ma->nodetree, tex));
- else continue;
-
- BKE_icon_changed(BKE_icon_getid(&ma->id));
-
- if(ma->gpumaterial.first)
- GPU_material_free(ma);
- }
-
- /* find lamps */
- for(la=bmain->lamp.first; la; la=la->id.next) {
- if(mtex_use_tex(la->mtex, MAX_MTEX, tex));
- else continue;
-
- BKE_icon_changed(BKE_icon_getid(&la->id));
- }
-
- /* find worlds */
- for(wo=bmain->world.first; wo; wo=wo->id.next) {
- if(mtex_use_tex(wo->mtex, MAX_MTEX, tex));
- else continue;
-
- BKE_icon_changed(BKE_icon_getid(&wo->id));
- }
-}
-
-static void lamp_changed(Main *bmain, Lamp *la)
-{
- Object *ob;
- Material *ma;
-
- /* icons */
- BKE_icon_changed(BKE_icon_getid(&la->id));
-
- /* glsl */
- for(ob=bmain->object.first; ob; ob=ob->id.next)
- if(ob->data == la && ob->gpulamp.first)
- GPU_lamp_free(ob);
-
- for(ma=bmain->mat.first; ma; ma=ma->id.next)
- if(ma->gpumaterial.first)
- GPU_material_free(ma);
-}
-
-static void world_changed(Main *bmain, World *wo)
-{
- Material *ma;
-
- /* icons */
- BKE_icon_changed(BKE_icon_getid(&wo->id));
-
- /* glsl */
- for(ma=bmain->mat.first; ma; ma=ma->id.next)
- if(ma->gpumaterial.first)
- GPU_material_free(ma);
-}
-
-static void image_changed(Main *bmain, Image *ima)
-{
- Tex *tex;
-
- /* icons */
- BKE_icon_changed(BKE_icon_getid(&ima->id));
-
- /* textures */
- for(tex=bmain->tex.first; tex; tex=tex->id.next)
- if(tex->ima == ima)
- texture_changed(bmain, tex);
-}
-
-static void scene_changed(Main *bmain, Scene *UNUSED(scene))
-{
- Object *ob;
- Material *ma;
-
- /* glsl */
- for(ob=bmain->object.first; ob; ob=ob->id.next)
- if(ob->gpulamp.first)
- GPU_lamp_free(ob);
-
- for(ma=bmain->mat.first; ma; ma=ma->id.next)
- if(ma->gpumaterial.first)
- GPU_material_free(ma);
-}
-
-void ED_render_id_flush_update(Main *bmain, ID *id)
-{
- if(!id)
- return;
-
- switch(GS(id->name)) {
- case ID_MA:
- material_changed(bmain, (Material*)id);
- break;
- case ID_TE:
- texture_changed(bmain, (Tex*)id);
- break;
- case ID_WO:
- world_changed(bmain, (World*)id);
- break;
- case ID_LA:
- lamp_changed(bmain, (Lamp*)id);
- break;
- case ID_IM:
- image_changed(bmain, (Image*)id);
- break;
- case ID_SCE:
- scene_changed(bmain, (Scene*)id);
- break;
- default:
- break;
- }
-}
-
/********************** material slot operators *********************/
static int material_slot_add_exec(bContext *C, wmOperator *UNUSED(op))
@@ -282,7 +108,7 @@ void OBJECT_OT_material_slot_add(wmOperatorType *ot)
/* identifiers */
ot->name= "Add Material Slot";
ot->idname= "OBJECT_OT_material_slot_add";
- ot->description="Add a new material slot or duplicate the selected one";
+ ot->description="Add a new material slot";
/* api callbacks */
ot->exec= material_slot_add_exec;
@@ -1259,3 +1085,4 @@ void TEXTURE_OT_slot_paste(wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c
new file mode 100644
index 00000000000..98f42fe97c1
--- /dev/null
+++ b/source/blender/editors/render/render_update.c
@@ -0,0 +1,238 @@
+/*
+ * $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.
+ *
+ * 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) 2009 Blender Foundation.
+ * All rights reserved.
+ *
+ * Contributor(s): Blender Foundation
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/render/render_shading.c
+ * \ingroup edrend
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_node_types.h"
+#include "DNA_object_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_screen_types.h"
+#include "DNA_space_types.h"
+#include "DNA_view3d_types.h"
+#include "DNA_world_types.h"
+
+#include "BLI_utildefines.h"
+
+#include "BKE_context.h"
+#include "BKE_depsgraph.h"
+#include "BKE_icons.h"
+#include "BKE_image.h"
+#include "BKE_main.h"
+#include "BKE_material.h"
+#include "BKE_node.h"
+#include "BKE_scene.h"
+#include "BKE_texture.h"
+#include "BKE_world.h"
+
+#include "GPU_material.h"
+
+#include "ED_render.h"
+
+#include "render_intern.h" // own include
+
+/***************************** Updates ***********************************
+ * ED_render_id_flush_update gets called from DAG_id_tag_update, to do *
+ * editor level updates when the ID changes. when these ID blocks are in *
+ * the dependency graph, we can get rid of the manual dependency checks */
+
+static int mtex_use_tex(MTex **mtex, int tot, Tex *tex)
+{
+ int a;
+
+ if(!mtex)
+ return 0;
+
+ for(a=0; a<tot; a++)
+ if(mtex[a] && mtex[a]->tex == tex)
+ return 1;
+
+ return 0;
+}
+
+static int nodes_use_tex(bNodeTree *ntree, Tex *tex)
+{
+ bNode *node;
+
+ for(node=ntree->nodes.first; node; node= node->next) {
+ if(node->id) {
+ if(node->id == (ID*)tex) {
+ return 1;
+ }
+ else if(node->type==NODE_GROUP) {
+ if(nodes_use_tex((bNodeTree *)node->id, tex))
+ return 1;
+ }
+ }
+ }
+
+ return 0;
+}
+
+static void material_changed(Main *UNUSED(bmain), Material *ma)
+{
+ /* icons */
+ BKE_icon_changed(BKE_icon_getid(&ma->id));
+
+ /* glsl */
+ if(ma->gpumaterial.first)
+ GPU_material_free(ma);
+}
+
+static void texture_changed(Main *bmain, Tex *tex)
+{
+ Material *ma;
+ Lamp *la;
+ World *wo;
+
+ /* icons */
+ BKE_icon_changed(BKE_icon_getid(&tex->id));
+
+ /* find materials */
+ for(ma=bmain->mat.first; ma; ma=ma->id.next) {
+ if(mtex_use_tex(ma->mtex, MAX_MTEX, tex));
+ else if(ma->use_nodes && ma->nodetree && nodes_use_tex(ma->nodetree, tex));
+ else continue;
+
+ BKE_icon_changed(BKE_icon_getid(&ma->id));
+
+ if(ma->gpumaterial.first)
+ GPU_material_free(ma);
+ }
+
+ /* find lamps */
+ for(la=bmain->lamp.first; la; la=la->id.next) {
+ if(mtex_use_tex(la->mtex, MAX_MTEX, tex));
+ else continue;
+
+ BKE_icon_changed(BKE_icon_getid(&la->id));
+ }
+
+ /* find worlds */
+ for(wo=bmain->world.first; wo; wo=wo->id.next) {
+ if(mtex_use_tex(wo->mtex, MAX_MTEX, tex));
+ else continue;
+
+ BKE_icon_changed(BKE_icon_getid(&wo->id));
+ }
+}
+
+static void lamp_changed(Main *bmain, Lamp *la)
+{
+ Object *ob;
+ Material *ma;
+
+ /* icons */
+ BKE_icon_changed(BKE_icon_getid(&la->id));
+
+ /* glsl */
+ for(ob=bmain->object.first; ob; ob=ob->id.next)
+ if(ob->data == la && ob->gpulamp.first)
+ GPU_lamp_free(ob);
+
+ for(ma=bmain->mat.first; ma; ma=ma->id.next)
+ if(ma->gpumaterial.first)
+ GPU_material_free(ma);
+}
+
+static void world_changed(Main *bmain, World *wo)
+{
+ Material *ma;
+
+ /* icons */
+ BKE_icon_changed(BKE_icon_getid(&wo->id));
+
+ /* glsl */
+ for(ma=bmain->mat.first; ma; ma=ma->id.next)
+ if(ma->gpumaterial.first)
+ GPU_material_free(ma);
+}
+
+static void image_changed(Main *bmain, Image *ima)
+{
+ Tex *tex;
+
+ /* icons */
+ BKE_icon_changed(BKE_icon_getid(&ima->id));
+
+ /* textures */
+ for(tex=bmain->tex.first; tex; tex=tex->id.next)
+ if(tex->ima == ima)
+ texture_changed(bmain, tex);
+}
+
+static void scene_changed(Main *bmain, Scene *UNUSED(scene))
+{
+ Object *ob;
+ Material *ma;
+
+ /* glsl */
+ for(ob=bmain->object.first; ob; ob=ob->id.next)
+ if(ob->gpulamp.first)
+ GPU_lamp_free(ob);
+
+ for(ma=bmain->mat.first; ma; ma=ma->id.next)
+ if(ma->gpumaterial.first)
+ GPU_material_free(ma);
+}
+
+void ED_render_id_flush_update(Main *bmain, ID *id)
+{
+ if(!id)
+ return;
+
+ switch(GS(id->name)) {
+ case ID_MA:
+ material_changed(bmain, (Material*)id);
+ break;
+ case ID_TE:
+ texture_changed(bmain, (Tex*)id);
+ break;
+ case ID_WO:
+ world_changed(bmain, (World*)id);
+ break;
+ case ID_LA:
+ lamp_changed(bmain, (Lamp*)id);
+ break;
+ case ID_IM:
+ image_changed(bmain, (Image*)id);
+ break;
+ case ID_SCE:
+ scene_changed(bmain, (Scene*)id);
+ break;
+ default:
+ break;
+ }
+}
+
diff --git a/source/blender/editors/render/render_view.c b/source/blender/editors/render/render_view.c
new file mode 100644
index 00000000000..9dfcde6ed0d
--- /dev/null
+++ b/source/blender/editors/render/render_view.c
@@ -0,0 +1,358 @@
+/*
+ * $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) 2008 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/render/render_view.c
+ * \ingroup edrend
+ */
+
+#include <string.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+
+#include "DNA_scene_types.h"
+
+#include "BKE_blender.h"
+#include "BKE_context.h"
+#include "BKE_image.h"
+#include "BKE_global.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+#include "BKE_report.h"
+#include "BKE_screen.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_screen.h"
+
+#include "wm_window.h"
+
+#include "render_intern.h"
+
+/*********************** utilities for finding areas *************************/
+
+/* returns biggest area that is not uv/image editor. Note that it uses buttons */
+/* window as the last possible alternative. */
+static ScrArea *biggest_non_image_area(bContext *C)
+{
+ bScreen *sc= CTX_wm_screen(C);
+ ScrArea *sa, *big= NULL;
+ int size, maxsize= 0, bwmaxsize= 0;
+ short foundwin= 0;
+
+ for(sa= sc->areabase.first; sa; sa= sa->next) {
+ if(sa->winx > 30 && sa->winy > 30) {
+ size= sa->winx*sa->winy;
+ if(sa->spacetype == SPACE_BUTS) {
+ if(foundwin == 0 && size > bwmaxsize) {
+ bwmaxsize= size;
+ big= sa;
+ }
+ }
+ else if(sa->spacetype != SPACE_IMAGE && size > maxsize) {
+ maxsize= size;
+ big= sa;
+ foundwin= 1;
+ }
+ }
+ }
+
+ return big;
+}
+
+static ScrArea *biggest_area(bContext *C)
+{
+ bScreen *sc= CTX_wm_screen(C);
+ ScrArea *sa, *big= NULL;
+ int size, maxsize= 0;
+
+ for(sa= sc->areabase.first; sa; sa= sa->next) {
+ size= sa->winx*sa->winy;
+ if(size > maxsize) {
+ maxsize= size;
+ big= sa;
+ }
+ }
+ return big;
+}
+
+static ScrArea *find_area_showing_r_result(bContext *C, wmWindow **win)
+{
+ wmWindowManager *wm= CTX_wm_manager(C);
+ ScrArea *sa = NULL;
+ SpaceImage *sima;
+
+ /* find an imagewindow showing render result */
+ for(*win=wm->windows.first; *win; *win= (*win)->next) {
+ for(sa= (*win)->screen->areabase.first; sa; sa= sa->next) {
+ if(sa->spacetype==SPACE_IMAGE) {
+ sima= sa->spacedata.first;
+ if(sima->image && sima->image->type==IMA_TYPE_R_RESULT)
+ break;
+ }
+ }
+ if(sa)
+ break;
+ }
+
+ return sa;
+}
+
+static ScrArea *find_area_image_empty(bContext *C)
+{
+ bScreen *sc= CTX_wm_screen(C);
+ ScrArea *sa;
+ SpaceImage *sima;
+
+ /* find an imagewindow showing render result */
+ for(sa=sc->areabase.first; sa; sa= sa->next) {
+ if(sa->spacetype==SPACE_IMAGE) {
+ sima= sa->spacedata.first;
+ if(!sima->image)
+ break;
+ }
+ }
+
+ return sa;
+}
+
+/********************** open image editor for render *************************/
+
+/* new window uses x,y to set position */
+void render_view_open(bContext *C, int mx, int my)
+{
+ wmWindow *win= CTX_wm_window(C);
+ Scene *scene= CTX_data_scene(C);
+ ScrArea *sa= NULL;
+ SpaceImage *sima;
+ int area_was_image=0;
+
+ if(scene->r.displaymode==R_OUTPUT_NONE)
+ return;
+
+ if(scene->r.displaymode==R_OUTPUT_WINDOW) {
+ rcti rect;
+ int sizex, sizey;
+
+ sizex= 10 + (scene->r.xsch*scene->r.size)/100;
+ sizey= 40 + (scene->r.ysch*scene->r.size)/100;
+
+ /* arbitrary... miniature image window views don't make much sense */
+ if(sizex < 320) sizex= 320;
+ if(sizey < 256) sizey= 256;
+
+ /* XXX some magic to calculate postition */
+ rect.xmin= mx + win->posx - sizex/2;
+ rect.ymin= my + win->posy - sizey/2;
+ rect.xmax= rect.xmin + sizex;
+ rect.ymax= rect.ymin + sizey;
+
+ /* changes context! */
+ WM_window_open_temp(C, &rect, WM_WINDOW_RENDER);
+
+ sa= CTX_wm_area(C);
+ }
+ else if(scene->r.displaymode==R_OUTPUT_SCREEN) {
+ if (CTX_wm_area(C) && CTX_wm_area(C)->spacetype == SPACE_IMAGE)
+ area_was_image = 1;
+
+ /* this function returns with changed context */
+ sa= ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_IMAGE);
+ }
+
+ if(!sa) {
+ sa= find_area_showing_r_result(C, &win);
+ if(sa==NULL)
+ sa= find_area_image_empty(C);
+
+ /* if area found in other window, we make that one show in front */
+ if(win && win!=CTX_wm_window(C))
+ wm_window_raise(win);
+
+ if(sa==NULL) {
+ /* find largest open non-image area */
+ sa= biggest_non_image_area(C);
+ if(sa) {
+ ED_area_newspace(C, sa, SPACE_IMAGE);
+ sima= sa->spacedata.first;
+
+ /* makes ESC go back to prev space */
+ sima->flag |= SI_PREVSPACE;
+ }
+ else {
+ /* use any area of decent size */
+ sa= biggest_area(C);
+ if(sa->spacetype!=SPACE_IMAGE) {
+ // XXX newspace(sa, SPACE_IMAGE);
+ sima= sa->spacedata.first;
+
+ /* makes ESC go back to prev space */
+ sima->flag |= SI_PREVSPACE;
+ }
+ }
+ }
+ }
+ sima= sa->spacedata.first;
+
+ /* get the correct image, and scale it */
+ sima->image= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result");
+
+
+ /* if we're rendering to full screen, set appropriate hints on image editor
+ * so it can restore properly on pressing esc */
+ if(sa->full) {
+ sima->flag |= SI_FULLWINDOW;
+
+ /* Tell the image editor to revert to previous space in space list on close
+ * _only_ if it wasn't already an image editor when the render was invoked */
+ if (area_was_image == 0)
+ sima->flag |= SI_PREVSPACE;
+ else {
+ /* Leave it alone so the image editor will just go back from
+ * full screen to the original tiled setup */
+ ;
+ }
+ }
+}
+
+/*************************** cancel render viewer **********************/
+
+static int render_view_cancel_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ wmWindow *win= CTX_wm_window(C);
+ ScrArea *sa= CTX_wm_area(C);
+ SpaceImage *sima= sa->spacedata.first;
+
+ /* test if we have a temp screen in front */
+ if(CTX_wm_window(C)->screen->temp) {
+ wm_window_lower(CTX_wm_window(C));
+ return OPERATOR_FINISHED;
+ }
+ /* determine if render already shows */
+ else if(sima->flag & SI_PREVSPACE) {
+ sima->flag &= ~SI_PREVSPACE;
+
+ if(sima->flag & SI_FULLWINDOW) {
+ sima->flag &= ~SI_FULLWINDOW;
+ ED_screen_full_prevspace(C, sa);
+ }
+ else
+ ED_area_prevspace(C, sa);
+
+ return OPERATOR_FINISHED;
+ }
+ else if(sima->flag & SI_FULLWINDOW) {
+ sima->flag &= ~SI_FULLWINDOW;
+ ED_screen_full_toggle(C, win, sa);
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_PASS_THROUGH;
+}
+
+void RENDER_OT_view_cancel(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Cancel Render View";
+ ot->description= "Cancel show render view";
+ ot->idname= "RENDER_OT_view_cancel";
+
+ /* api callbacks */
+ ot->exec= render_view_cancel_exec;
+ ot->poll= ED_operator_image_active;
+}
+
+/************************* show render viewer *****************/
+
+static int render_view_show_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ wmWindow *wincur = CTX_wm_window(C);
+
+ /* test if we have currently a temp screen active */
+ if(wincur->screen->temp) {
+ wm_window_lower(wincur);
+ }
+ else {
+ wmWindow *win, *winshow;
+ ScrArea *sa= find_area_showing_r_result(C, &winshow);
+
+ /* is there another window showing result? */
+ for(win= CTX_wm_manager(C)->windows.first; win; win= win->next) {
+ if(win->screen->temp || (win==winshow && winshow!=wincur)) {
+ wm_window_raise(win);
+ return OPERATOR_FINISHED;
+ }
+ }
+
+ /* determine if render already shows */
+ if(sa) {
+ /* but don't close it when rendering */
+ if(!G.rendering) {
+ SpaceImage *sima= sa->spacedata.first;
+
+ if(sima->flag & SI_PREVSPACE) {
+ sima->flag &= ~SI_PREVSPACE;
+
+ if(sima->flag & SI_FULLWINDOW) {
+ sima->flag &= ~SI_FULLWINDOW;
+ ED_screen_full_prevspace(C, sa);
+ }
+ else if(sima->next) {
+ /* workaround for case of double prevspace, render window
+ with a file browser on top of it (same as in ED_area_prevspace) */
+ if(sima->next->spacetype == SPACE_FILE && sima->next->next)
+ ED_area_newspace(C, sa, sima->next->next->spacetype);
+ else
+ ED_area_newspace(C, sa, sima->next->spacetype);
+ ED_area_tag_redraw(sa);
+ }
+ }
+ }
+ }
+ else {
+ render_view_open(C, event->x, event->y);
+ }
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+void RENDER_OT_view_show(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Show/Hide Render View";
+ ot->description= "Toggle show render view";
+ ot->idname= "RENDER_OT_view_show";
+
+ /* api callbacks */
+ ot->invoke= render_view_show_invoke;
+ ot->poll= ED_operator_screenactive;
+}
+
diff --git a/source/blender/editors/screen/CMakeLists.txt b/source/blender/editors/screen/CMakeLists.txt
index a583d753514..4282110901b 100644
--- a/source/blender/editors/screen/CMakeLists.txt
+++ b/source/blender/editors/screen/CMakeLists.txt
@@ -23,13 +23,16 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -44,4 +47,4 @@ set(SRC
screen_intern.h
)
-blender_add_lib(bf_editor_screen "${SRC}" "${INC}")
+blender_add_lib(bf_editor_screen "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 1882d849116..82986dfbcc4 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -188,17 +188,12 @@ static void area_draw_azone(short x1, short y1, short x2, short y2)
}
-static void region_draw_azone(AZone *az)
+static void region_draw_azone_icon(AZone *az)
{
GLUquadricObj *qobj = NULL;
short midx = az->x1 + (az->x2 - az->x1)/2;
short midy = az->y1 + (az->y2 - az->y1)/2;
-
- if(az->ar==NULL) return;
-
- /* only display action zone icons when the region is hidden */
- if (!(az->ar->flag & RGN_FLAG_HIDDEN)) return;
-
+
qobj = gluNewQuadric();
glPushMatrix();
@@ -227,6 +222,79 @@ static void region_draw_azone(AZone *az)
sdrawline(midx-2, midy, midx+3, midy);
}
+static void region_draw_azone_tab(AZone *az)
+{
+ float col[3];
+
+ glEnable(GL_BLEND);
+ UI_GetThemeColor3fv(TH_HEADER, col);
+ glColor4f(col[0], col[1], col[2], 0.5f);
+
+ /* add code to draw region hidden as 'too small' */
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ uiSetRoundBox(3 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, 0.3f+(float)az->y1, (float)az->x2, 0.3f+(float)az->y2, 4.0f);
+ break;
+ case AE_BOTTOM_TO_TOPLEFT:
+ uiSetRoundBox(12 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, 0.3f+(float)az->y1, (float)az->x2, 0.3f+(float)az->y2, 4.0f);
+ break;
+ case AE_LEFT_TO_TOPRIGHT:
+ uiSetRoundBox(9 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f);
+ break;
+ case AE_RIGHT_TO_TOPLEFT:
+ uiSetRoundBox(6 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f);
+ break;
+ }
+
+ glDisable(GL_BLEND);
+}
+
+static void region_draw_azone_tria(AZone *az)
+{
+ extern void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y3); /* xxx temp */
+
+ glEnable(GL_BLEND);
+ //UI_GetThemeColor3fv(TH_HEADER, col);
+ glColor4f(0.0f, 0.0f, 0.0f, 0.35f);
+
+ /* add code to draw region hidden as 'too small' */
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ ui_draw_anti_tria((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y1, (float)(az->x1+az->x2)/2, (float)az->y2);
+ break;
+
+ case AE_BOTTOM_TO_TOPLEFT:
+ ui_draw_anti_tria((float)az->x1, (float)az->y2, (float)az->x2, (float)az->y2, (float)(az->x1+az->x2)/2, (float)az->y1);
+ break;
+
+ case AE_LEFT_TO_TOPRIGHT:
+ ui_draw_anti_tria((float)az->x2, (float)az->y1, (float)az->x2, (float)az->y2, (float)az->x1, (float)(az->y1+az->y2)/2);
+ break;
+
+ case AE_RIGHT_TO_TOPLEFT:
+ ui_draw_anti_tria((float)az->x1, (float)az->y1, (float)az->x1, (float)az->y2, (float)az->x2, (float)(az->y1+az->y2)/2);
+ break;
+
+ }
+
+ glDisable(GL_BLEND);
+}
/* only exported for WM */
void ED_area_overdraw(bContext *C)
@@ -248,7 +316,19 @@ void ED_area_overdraw(bContext *C)
if(az->type==AZONE_AREA) {
area_draw_azone(az->x1, az->y1, az->x2, az->y2);
} else if(az->type==AZONE_REGION) {
- region_draw_azone(az);
+
+ if(az->ar) {
+ /* only display tab or icons when the region is hidden */
+ if (az->ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) {
+
+ if(G.rt==2)
+ region_draw_azone_tria(az);
+ else if(G.rt==1)
+ region_draw_azone_tab(az);
+ else
+ region_draw_azone_icon(az);
+ }
+ }
}
az->do_draw= 0;
@@ -579,6 +659,96 @@ static void region_azone_icon(ScrArea *sa, AZone *az, ARegion *ar)
}
}
+#define AZONEPAD_TABW 18
+#define AZONEPAD_TABH 7
+
+/* region already made zero sized, in shape of edge */
+static void region_azone_tab(ScrArea *sa, AZone *az, ARegion *ar)
+{
+ AZone *azt;
+ int tot= 0, add;
+
+ for(azt= sa->actionzones.first; azt; azt= azt->next) {
+ if(azt->edge == az->edge) tot++;
+ }
+
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ if(ar->winrct.ymax == sa->totrct.ymin) add= 1; else add= 0;
+ az->x1= ar->winrct.xmax - 2*AZONEPAD_TABW;
+ az->y1= ar->winrct.ymax - add;
+ az->x2= ar->winrct.xmax - AZONEPAD_TABW;
+ az->y2= ar->winrct.ymax - add + AZONEPAD_TABH;
+ break;
+ case AE_BOTTOM_TO_TOPLEFT:
+ az->x1= ar->winrct.xmin + AZONEPAD_TABW;
+ az->y1= ar->winrct.ymin - AZONEPAD_TABH;
+ az->x2= ar->winrct.xmin + 2*AZONEPAD_TABW;
+ az->y2= ar->winrct.ymin;
+ break;
+ case AE_LEFT_TO_TOPRIGHT:
+ az->x1= ar->winrct.xmin + 1 - AZONEPAD_TABH;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TABW;
+ az->x2= ar->winrct.xmin + 1;
+ az->y2= ar->winrct.ymax - AZONEPAD_TABW;
+ break;
+ case AE_RIGHT_TO_TOPLEFT:
+ az->x1= ar->winrct.xmax - 1;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TABW;
+ az->x2= ar->winrct.xmax - 1 + AZONEPAD_TABH;
+ az->y2= ar->winrct.ymax - AZONEPAD_TABW;
+ break;
+ }
+ /* rect needed for mouse pointer test */
+ BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2);
+}
+
+#define AZONEPAD_TRIAW 16
+#define AZONEPAD_TRIAH 9
+
+
+/* region already made zero sized, in shape of edge */
+static void region_azone_tria(ScrArea *sa, AZone *az, ARegion *ar)
+{
+ AZone *azt;
+ int tot= 0, add;
+
+ for(azt= sa->actionzones.first; azt; azt= azt->next) {
+ if(azt->edge == az->edge) tot++;
+ }
+
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ if(ar->winrct.ymax == sa->totrct.ymin) add= 1; else add= 0;
+ az->x1= ar->winrct.xmax - 2*AZONEPAD_TRIAW;
+ az->y1= ar->winrct.ymax - add;
+ az->x2= ar->winrct.xmax - AZONEPAD_TRIAW;
+ az->y2= ar->winrct.ymax - add + AZONEPAD_TRIAH;
+ break;
+ case AE_BOTTOM_TO_TOPLEFT:
+ az->x1= ar->winrct.xmin + AZONEPAD_TRIAW;
+ az->y1= ar->winrct.ymin - AZONEPAD_TRIAH;
+ az->x2= ar->winrct.xmin + 2*AZONEPAD_TRIAW;
+ az->y2= ar->winrct.ymin;
+ break;
+ case AE_LEFT_TO_TOPRIGHT:
+ az->x1= ar->winrct.xmin + 1 - AZONEPAD_TRIAH;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TRIAW;
+ az->x2= ar->winrct.xmin + 1;
+ az->y2= ar->winrct.ymax - AZONEPAD_TRIAW;
+ break;
+ case AE_RIGHT_TO_TOPLEFT:
+ az->x1= ar->winrct.xmax - 1;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TRIAW;
+ az->x2= ar->winrct.xmax - 1 + AZONEPAD_TRIAH;
+ az->y2= ar->winrct.ymax - AZONEPAD_TRIAW;
+ break;
+ }
+ /* rect needed for mouse pointer test */
+ BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2);
+}
+
+
static void region_azone_initialize(ScrArea *sa, ARegion *ar, AZEdge edge)
{
AZone *az;
@@ -589,8 +759,13 @@ static void region_azone_initialize(ScrArea *sa, ARegion *ar, AZEdge edge)
az->ar= ar;
az->edge= edge;
- if (ar->flag & RGN_FLAG_HIDDEN) {
- region_azone_icon(sa, az, ar);
+ if (ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) {
+ if(G.rt==2)
+ region_azone_tria(sa, az, ar);
+ else if(G.rt==1)
+ region_azone_tab(sa, az, ar);
+ else
+ region_azone_icon(sa, az, ar);
} else {
region_azone_edge(az, ar);
}
@@ -650,8 +825,12 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
if(ar->next==NULL && alignment!=RGN_ALIGN_QSPLIT)
alignment= RGN_ALIGN_NONE;
+ /* prefsize, for header we stick to exception */
prefsizex= ar->sizex?ar->sizex:ar->type->prefsizex;
- prefsizey= ar->sizey?ar->sizey:ar->type->prefsizey;
+ if(ar->regiontype==RGN_TYPE_HEADER)
+ prefsizey= ar->type->prefsizey;
+ else
+ prefsizey= ar->sizey?ar->sizey:ar->type->prefsizey;
/* hidden is user flag */
if(ar->flag & RGN_FLAG_HIDDEN);
@@ -786,15 +965,6 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
ar->winx= ar->winrct.xmax - ar->winrct.xmin + 1;
ar->winy= ar->winrct.ymax - ar->winrct.ymin + 1;
- /* restore test exception */
- if(ar->alignment & RGN_SPLIT_PREV) {
- if(ar->prev) {
- remainder= remainder_prev;
- ar->prev->winx= ar->prev->winrct.xmax - ar->prev->winrct.xmin + 1;
- ar->prev->winy= ar->prev->winrct.ymax - ar->prev->winrct.ymin + 1;
- }
- }
-
/* set winrect for azones */
if(ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) {
ar->winrct= *remainder;
@@ -810,16 +980,36 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
else /* prevent winrct to be valid */
ar->winrct.xmax= ar->winrct.xmin;
}
- /* in end, add azones, where appropriate */
- region_azone_add(sa, ar, alignment);
+ /* restore prev-split exception */
+ if(ar->alignment & RGN_SPLIT_PREV) {
+ if(ar->prev) {
+ remainder= remainder_prev;
+ ar->prev->winx= ar->prev->winrct.xmax - ar->prev->winrct.xmin + 1;
+ ar->prev->winy= ar->prev->winrct.ymax - ar->prev->winrct.ymin + 1;
+ }
+ }
+
+ /* in end, add azones, where appropriate */
+ if(ar->regiontype == RGN_TYPE_HEADER && ar->winy + 6 > sa->winy) {
+ /* The logic for this is: when the header takes up the full area,
+ * disallow hiding it to view the main window.
+ *
+ * Without this, you can drag down the file selectors header and hide it
+ * by accident very easily (highly annoying!), the value 6 is arbitrary
+ * but accounts for small common rounding problems when scaling the UI,
+ * must be minimum '4' */
+ }
+ else {
+ region_azone_add(sa, ar, alignment);
+ }
region_rect_recursive(sa, ar->next, remainder, quad);
}
static void area_calc_totrct(ScrArea *sa, int sizex, int sizey)
{
- short rt= CLAMPIS(G.rt, 0, 16);
+ short rt= 0; // CLAMPIS(G.rt, 0, 16);
if(sa->v1->vec.x>0) sa->totrct.xmin= sa->v1->vec.x+1+rt;
else sa->totrct.xmin= sa->v1->vec.x;
@@ -873,12 +1063,10 @@ static void ed_default_handlers(wmWindowManager *wm, ScrArea *sa, ListBase *hand
if(sa->spacetype!=SPACE_TIME) {
ARegion *ar;
static rcti rect= {0, 10000, 0, 30}; /* same local check for all areas */
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype == RGN_TYPE_WINDOW)
- break;
- if(ar)
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+ if(ar) {
WM_event_add_keymap_handler_bb(handlers, keymap, &rect, &ar->winrct);
+ }
}
else
WM_event_add_keymap_handler(handlers, keymap);
@@ -955,6 +1143,9 @@ void ED_area_initialize(wmWindowManager *wm, wmWindow *win, ScrArea *sa)
uiFreeBlocks(NULL, &ar->uiblocks);
}
+ /* rechecks 2d matrix for header on dpi changing, do not do for other regions, it resets view && blocks view2d operator polls (ton) */
+ if(ar->regiontype==RGN_TYPE_HEADER)
+ ar->v2d.flag &= ~V2D_IS_INITIALISED;
}
}
@@ -1123,7 +1314,7 @@ void ED_area_newspace(bContext *C, ScrArea *sa, int type)
/* tell WM to refresh, cursor types etc */
WM_event_add_mousemove(C);
- /*send space change notifyer*/
+ /*send space change notifier*/
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_CHANGED, sa);
ED_area_tag_refresh(sa);
@@ -1150,7 +1341,7 @@ void ED_area_prevspace(bContext *C, ScrArea *sa)
}
ED_area_tag_redraw(sa);
- /*send space change notifyer*/
+ /*send space change notifier*/
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_CHANGED, sa);
}
@@ -1198,7 +1389,7 @@ static void spacefunc(struct bContext *C, void *UNUSED(arg1), void *UNUSED(arg2)
ED_area_newspace(C, CTX_wm_area(C), CTX_wm_area(C)->butspacetype);
ED_area_tag_redraw(CTX_wm_area(C));
- /*send space change notifyer*/
+ /*send space change notifier*/
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_CHANGED, CTX_wm_area(C));
}
@@ -1210,13 +1401,13 @@ int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco)
int xco= 8;
but= uiDefIconTextButC(block, ICONTEXTROW, 0, ICON_VIEW3D,
- editortype_pup(), xco, yco, XIC+10, YIC,
+ editortype_pup(), xco, yco, UI_UNIT_X+10, UI_UNIT_Y,
&(sa->butspacetype), 1.0, SPACEICONMAX, 0, 0,
"Displays current editor type. "
"Click for menu of available types");
uiButSetFunc(but, spacefunc, NULL, NULL);
- return xco + XIC + 14;
+ return xco + UI_UNIT_X + 14;
}
int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco)
@@ -1232,21 +1423,21 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco)
if (sa->flag & HEADER_NO_PULLDOWN) {
uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
ICON_DISCLOSURE_TRI_RIGHT,
- xco,yco,XIC,YIC-2,
+ xco,yco,UI_UNIT_X,UI_UNIT_Y-2,
&(sa->flag), 0, 0, 0, 0,
"Show pulldown menus");
}
else {
uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
ICON_DISCLOSURE_TRI_DOWN,
- xco,yco,XIC,YIC-2,
+ xco,yco,UI_UNIT_X,UI_UNIT_Y-2,
&(sa->flag), 0, 0, 0, 0,
"Hide pulldown menus");
}
uiBlockSetEmboss(block, UI_EMBOSS);
- return xco + XIC;
+ return xco + UI_UNIT_X;
}
/************************ standard UI regions ************************/
@@ -1267,11 +1458,11 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char *
if(vertical) {
w= v2d->cur.xmax - v2d->cur.xmin;
- em= (ar->type->prefsizex)? 10: 20;
+ em= (ar->type->prefsizex)? UI_UNIT_Y/2: UI_UNIT_Y;
}
else {
w= UI_PANEL_WIDTH;
- em= (ar->type->prefsizex)? 10: 20;
+ em= (ar->type->prefsizex)? UI_UNIT_Y/2: UI_UNIT_Y;
}
x= 0;
@@ -1295,8 +1486,8 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char *
panel= uiBeginPanel(sa, ar, block, pt, &open);
/* bad fixed values */
- header= (pt->flag & PNL_NO_HEADER)? 0: 20;
- triangle= 22;
+ header= (pt->flag & PNL_NO_HEADER)? 0: UI_UNIT_Y;
+ triangle= (int)(UI_UNIT_Y * 1.1f);
if(vertical)
y -= header;
@@ -1448,6 +1639,7 @@ void ED_region_header(const bContext *C, ARegion *ar)
HeaderType *ht;
Header header = {NULL};
int maxco, xco, yco;
+ int headery= ED_area_headersize();
/* clear */
UI_ThemeClearColor((ED_screen_area_active(C))?TH_HEADER:TH_HEADERDESEL);
@@ -1457,12 +1649,12 @@ void ED_region_header(const bContext *C, ARegion *ar)
UI_view2d_view_ortho(&ar->v2d);
xco= maxco= 8;
- yco= HEADERY-4;
+ yco= headery-4;
/* draw all headers types */
for(ht= ar->type->headertypes.first; ht; ht= ht->next) {
block= uiBeginBlock(C, ar, ht->idname, UI_EMBOSS);
- layout= uiBlockLayout(block, UI_LAYOUT_HORIZONTAL, UI_LAYOUT_HEADER, xco, yco, HEADERY-6, 1, style);
+ layout= uiBlockLayout(block, UI_LAYOUT_HORIZONTAL, UI_LAYOUT_HEADER, xco, yco, UI_UNIT_Y, 1, style);
if(ht->draw) {
header.type= ht;
@@ -1486,7 +1678,7 @@ void ED_region_header(const bContext *C, ARegion *ar)
}
/* always as last */
- UI_view2d_totRect_set(&ar->v2d, maxco+XIC+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
+ UI_view2d_totRect_set(&ar->v2d, maxco+UI_UNIT_X+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
/* restore view matrix? */
UI_view2d_view_restore(C);
@@ -1497,3 +1689,8 @@ void ED_region_header_init(ARegion *ar)
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
}
+/* UI_UNIT_Y is defined as U variable now, depending dpi */
+int ED_area_headersize(void)
+{
+ return UI_UNIT_Y+6;
+}
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index e942cfc8b1f..80a65d3224e 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -671,9 +671,9 @@ static void screen_test_scale(bScreen *sc, int winsizex, int winsizey)
/* test for collapsed areas. This could happen in some blender version... */
/* ton: removed option now, it needs Context... */
- /* make each window at least HEADERY high */
+ /* make each window at least ED_area_headersize() high */
for(sa= sc->areabase.first; sa; sa= sa->next) {
- int headery= HEADERY+1;
+ int headery= ED_area_headersize()+1;
if(sa->v1->vec.y+headery > sa->v2->vec.y) {
/* lower edge */
@@ -910,7 +910,7 @@ static void drawscredge_area(ScrArea *sa, int sizex, int sizey, int center)
short y2= sa->v3->vec.y;
short a, rt;
- rt= CLAMPIS(G.rt, 0, 16);
+ rt= 0; // CLAMPIS(G.rt, 0, 16);
if(center==0) {
cpack(0x505050);
@@ -1055,6 +1055,18 @@ void ED_screen_draw(wmWindow *win)
win->screen->do_draw= 0;
}
+/* helper call for below, dpi changes headers */
+static void screen_refresh_headersizes(void)
+{
+ const ListBase *lb= BKE_spacetypes_list();
+ SpaceType *st;
+
+ for(st= lb->first; st; st= st->next) {
+ ARegionType *art= BKE_regiontype_from_id(st, RGN_TYPE_HEADER);
+ if(art) art->prefsizey= ED_area_headersize();
+ }
+}
+
/* make this screen usable */
/* for file read and first use, for scaling window, area moves */
void ED_screen_refresh(wmWindowManager *wm, wmWindow *win)
@@ -1076,6 +1088,9 @@ void ED_screen_refresh(wmWindowManager *wm, wmWindow *win)
else
wm_subwindow_position(win, win->screen->mainwin, &winrct);
+ /* header size depends on DPI, let's verify */
+ screen_refresh_headersizes();
+
for(sa= win->screen->areabase.first; sa; sa= sa->next) {
/* set spacetype and region callbacks, calls init() */
/* sets subwindows for regions, adds handlers */
@@ -1498,7 +1513,7 @@ void ED_screen_delete_scene(bContext *C, Scene *scene)
unlink_scene(bmain, scene, newscene);
}
-int ED_screen_full_newspace(bContext *C, ScrArea *sa, int type)
+ScrArea *ED_screen_full_newspace(bContext *C, ScrArea *sa, int type)
{
wmWindow *win= CTX_wm_window(C);
bScreen *screen= CTX_wm_screen(C);
@@ -1523,7 +1538,7 @@ int ED_screen_full_newspace(bContext *C, ScrArea *sa, int type)
ED_area_newspace(C, newsa, type);
- return 1;
+ return newsa;
}
void ED_screen_full_prevspace(bContext *C, ScrArea *sa)
@@ -1595,12 +1610,12 @@ ScrArea *ED_screen_full_toggle(bContext *C, wmWindow *win, ScrArea *sa)
if(sa && sa->full) {
ScrArea *old;
- short fulltype;
+ /*short fulltype;*/ /*UNUSED*/
sc= sa->full; /* the old screen to restore */
oldscreen= win->screen; /* the one disappearing */
- fulltype = sc->full;
+ /*fulltype = sc->full;*/
sc->full= 0;
/* removed: SCREENAUTOPLAY exception here */
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index e2d7147d21f..68326edfb11 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -110,7 +110,7 @@ int ED_operator_screenactive(bContext *C)
}
/* XXX added this to prevent anim state to change during renders */
-int ED_operator_screenactive_norender(bContext *C)
+static int ED_operator_screenactive_norender(bContext *C)
{
if(G.rendering) return 0;
if(CTX_wm_window(C)==NULL) return 0;
@@ -627,6 +627,13 @@ static int actionzone_modal(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+static int actionzone_cancel(bContext *UNUSED(C), wmOperator *op)
+{
+ actionzone_exit(op);
+
+ return OPERATOR_CANCELLED;
+}
+
static void SCREEN_OT_actionzone(wmOperatorType *ot)
{
/* identifiers */
@@ -637,6 +644,7 @@ static void SCREEN_OT_actionzone(wmOperatorType *ot)
ot->invoke= actionzone_invoke;
ot->modal= actionzone_modal;
ot->poll= actionzone_area_poll;
+ ot->cancel= actionzone_cancel;
ot->flag= OPTYPE_BLOCKING;
@@ -759,6 +767,7 @@ static void SCREEN_OT_area_swap(wmOperatorType *ot)
ot->invoke= area_swap_invoke;
ot->modal= area_swap_modal;
ot->poll= ED_operator_areaactive;
+ ot->cancel= area_swap_cancel;
ot->flag= OPTYPE_BLOCKING;
}
@@ -868,13 +877,14 @@ typedef struct sAreaMoveData {
static void area_move_set_limits(bScreen *sc, int dir, int *bigger, int *smaller)
{
ScrArea *sa;
+ int areaminy= ED_area_headersize()+1;
/* we check all areas and test for free space with MINSIZE */
*bigger= *smaller= 100000;
for(sa= sc->areabase.first; sa; sa= sa->next) {
if(dir=='h') {
- int y1= sa->v2->vec.y - sa->v1->vec.y-AREAMINY;
+ int y1= sa->v2->vec.y - sa->v1->vec.y-areaminy;
/* if top or down edge selected, test height */
if(sa->v1->flag && sa->v4->flag)
@@ -933,6 +943,7 @@ static void area_move_apply_do(bContext *C, int origval, int delta, int dir, int
bScreen *sc= CTX_wm_screen(C);
ScrVert *v1;
ScrArea *sa;
+ int areaminy= ED_area_headersize()+1;
delta= CLAMPIS(delta, -smaller, bigger);
@@ -950,8 +961,8 @@ static void area_move_apply_do(bContext *C, int origval, int delta, int dir, int
v1->vec.y-= (v1->vec.y % AREAGRID);
/* prevent too small top header */
- if(v1->vec.y > win->sizey-AREAMINY)
- v1->vec.y= win->sizey-AREAMINY;
+ if(v1->vec.y > win->sizey-areaminy)
+ v1->vec.y= win->sizey-areaminy;
}
}
}
@@ -1165,6 +1176,7 @@ static int area_split_init(bContext *C, wmOperator *op)
{
ScrArea *sa= CTX_wm_area(C);
sAreaSplitData *sd;
+ int areaminy= ED_area_headersize()+1;
int dir;
/* required context */
@@ -1175,7 +1187,7 @@ static int area_split_init(bContext *C, wmOperator *op)
/* minimal size */
if(dir=='v' && sa->winx < 2*AREAMINX) return 0;
- if(dir=='h' && sa->winy < 2*AREAMINY) return 0;
+ if(dir=='h' && sa->winy < 2*areaminy) return 0;
/* custom data */
sd= (sAreaSplitData*)MEM_callocN(sizeof (sAreaSplitData), "op_area_split");
@@ -1491,6 +1503,7 @@ static void SCREEN_OT_area_split(wmOperatorType *ot)
ot->exec= area_split_exec;
ot->invoke= area_split_invoke;
ot->modal= area_split_modal;
+ ot->cancel= area_split_cancel;
ot->poll= screen_active_editable;
ot->flag= OPTYPE_BLOCKING;
@@ -1628,7 +1641,7 @@ static int region_scale_modal(bContext *C, wmOperator *op, wmEvent *event)
rmd->ar->sizex= rmd->origval + delta;
CLAMP(rmd->ar->sizex, 0, rmd->maxsize);
- if(rmd->ar->sizex < 24) {
+ if(rmd->ar->sizex < UI_UNIT_X) {
rmd->ar->sizex= rmd->origval;
if(!(rmd->ar->flag & RGN_FLAG_HIDDEN))
ED_region_toggle_hidden(C, rmd->ar);
@@ -1643,11 +1656,17 @@ static int region_scale_modal(bContext *C, wmOperator *op, wmEvent *event)
rmd->ar->sizey= rmd->origval + delta;
CLAMP(rmd->ar->sizey, 0, rmd->maxsize);
-
- if(rmd->ar->regiontype == RGN_TYPE_TOOL_PROPS)
- maxsize = rmd->maxsize - ((rmd->sa->headertype==2)?48:24) - 10;
- if(rmd->ar->sizey < 24 || (maxsize > 0 && (rmd->ar->sizey > maxsize)) ) {
+ if(rmd->ar->regiontype == RGN_TYPE_TOOL_PROPS) {
+ /* this calculation seems overly verbose
+ * can someone explain why this method is necessary? - campbell */
+ maxsize = rmd->maxsize - ((rmd->sa->headertype==HEADERTOP)?UI_UNIT_Y*2:UI_UNIT_Y) - (UI_UNIT_Y/4);
+ }
+
+ /* note, 'UI_UNIT_Y/4' means you need to drag the header almost
+ * all the way down for it to become hidden, this is done
+ * otherwise its too easy to do this by accident */
+ if(rmd->ar->sizey < UI_UNIT_Y/4 || (maxsize > 0 && (rmd->ar->sizey > maxsize)) ) {
rmd->ar->sizey= rmd->origval;
if(!(rmd->ar->flag & RGN_FLAG_HIDDEN))
ED_region_toggle_hidden(C, rmd->ar);
@@ -1684,6 +1703,13 @@ static int region_scale_modal(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+int region_scale_cancel(bContext *UNUSED(C), wmOperator *op)
+{
+ MEM_freeN(op->customdata);
+ op->customdata = NULL;
+
+ return OPERATOR_CANCELLED;
+}
static void SCREEN_OT_region_scale(wmOperatorType *ot)
{
@@ -1694,6 +1720,7 @@ static void SCREEN_OT_region_scale(wmOperatorType *ot)
ot->invoke= region_scale_invoke;
ot->modal= region_scale_modal;
+ ot->cancel= region_scale_cancel;
ot->poll= ED_operator_areaactive;
@@ -2248,8 +2275,9 @@ static void SCREEN_OT_area_join(wmOperatorType *ot)
ot->invoke= area_join_invoke;
ot->modal= area_join_modal;
ot->poll= screen_active_editable;
+ ot->cancel= area_join_cancel;
- ot->flag= OPTYPE_BLOCKING;
+ ot->flag= OPTYPE_BLOCKING|OPTYPE_INTERNAL;
/* rna */
RNA_def_int(ot->srna, "min_x", -100, INT_MIN, INT_MAX, "X 1", "", INT_MIN, INT_MAX);
@@ -2433,13 +2461,7 @@ static void SCREEN_OT_repeat_history(wmOperatorType *ot)
static int redo_last_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *UNUSED(event))
{
- wmWindowManager *wm= CTX_wm_manager(C);
- wmOperator *lastop;
-
- /* only for operators that are registered and did an undo push */
- for(lastop= wm->operators.last; lastop; lastop= lastop->prev)
- if((lastop->type->flag & OPTYPE_REGISTER) && (lastop->type->flag & OPTYPE_UNDO))
- break;
+ wmOperator *lastop= WM_operator_last_redo(C);
if(lastop)
WM_operator_redo_popup(C, lastop);
@@ -2616,13 +2638,8 @@ static int header_flip_exec(bContext *C, wmOperator *UNUSED(op))
*/
if((ar == NULL) || (ar->regiontype != RGN_TYPE_HEADER)) {
ScrArea *sa= CTX_wm_area(C);
-
- /* loop over all regions until a matching one is found */
- for (ar= sa->regionbase.first; ar; ar= ar->next) {
- if(ar->regiontype == RGN_TYPE_HEADER)
- break;
- }
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+
/* don't do anything if no region */
if(ar == NULL)
return OPERATOR_CANCELLED;
@@ -3049,6 +3066,7 @@ static void SCREEN_OT_border_select(wmOperatorType *ot)
ot->exec= border_select_do;
ot->invoke= WM_border_select_invoke;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_areaactive;
@@ -3319,6 +3337,7 @@ void ED_operatortypes_screen(void)
WM_operatortype_append(ED_OT_undo);
WM_operatortype_append(ED_OT_undo_push);
WM_operatortype_append(ED_OT_redo);
+ WM_operatortype_append(ED_OT_undo_history);
}
@@ -3427,9 +3446,11 @@ void ED_keymap_screen(wmKeyConfig *keyconf)
#ifdef __APPLE__
WM_keymap_add_item(keymap, "ED_OT_undo", ZKEY, KM_PRESS, KM_OSKEY, 0);
WM_keymap_add_item(keymap, "ED_OT_redo", ZKEY, KM_PRESS, KM_SHIFT|KM_OSKEY, 0);
+ WM_keymap_add_item(keymap, "ED_OT_undo_history", ZKEY, KM_PRESS, KM_ALT|KM_OSKEY, 0);
#endif
WM_keymap_add_item(keymap, "ED_OT_undo", ZKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "ED_OT_redo", ZKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "ED_OT_undo_history", ZKEY, KM_PRESS, KM_ALT|KM_CTRL, 0);
/* render */
diff --git a/source/blender/editors/screen/screendump.c b/source/blender/editors/screen/screendump.c
index ba21a09cab2..3010adafe20 100644
--- a/source/blender/editors/screen/screendump.c
+++ b/source/blender/editors/screen/screendump.c
@@ -72,41 +72,6 @@ typedef struct ScreenshotData {
int dumpsx, dumpsy;
} ScreenshotData;
-static int screenshot_exec(bContext *C, wmOperator *op)
-{
- ScreenshotData *scd= op->customdata;
-
- if(scd) {
- if(scd->dumprect) {
- Scene *scene= CTX_data_scene(C);
- ImBuf *ibuf;
- char path[FILE_MAX];
-
- RNA_string_get(op->ptr, "filepath", path);
-
- strcpy(G.ima, path);
- BLI_path_abs(path, G.main->name);
-
- /* BKE_add_image_extension() checks for if extension was already set */
- if(scene->r.scemode & R_EXTENSION)
- if(strlen(path)<FILE_MAXDIR+FILE_MAXFILE-5)
- BKE_add_image_extension(path, scene->r.imtype);
-
- ibuf= IMB_allocImBuf(scd->dumpsx, scd->dumpsy, 24, 0);
- ibuf->rect= scd->dumprect;
-
- BKE_write_ibuf(ibuf, path, scene->r.imtype, scene->r.subimtype, scene->r.quality);
-
- IMB_freeImBuf(ibuf);
-
- MEM_freeN(scd->dumprect);
- }
- MEM_freeN(scd);
- op->customdata= NULL;
- }
- return OPERATOR_FINISHED;
-}
-
/* get shot from frontbuffer */
static unsigned int *screenshot(bContext *C, int *dumpsx, int *dumpsy, int fscreen)
{
@@ -140,8 +105,8 @@ static unsigned int *screenshot(bContext *C, int *dumpsx, int *dumpsy, int fscre
return dumprect;
}
-
-static int screenshot_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+/* call from both exec and invoke */
+static int screenshot_data_create(bContext *C, wmOperator *op)
{
unsigned int *dumprect;
int dumpsx, dumpsy;
@@ -154,7 +119,68 @@ static int screenshot_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)
scd->dumpsy= dumpsy;
scd->dumprect= dumprect;
op->customdata= scd;
-
+ return TRUE;
+ }
+ else {
+ op->customdata= NULL;
+ return FALSE;
+ }
+}
+
+static void screenshot_data_free(wmOperator *op)
+{
+ ScreenshotData *scd= op->customdata;
+
+ if(scd) {
+ if(scd->dumprect)
+ MEM_freeN(scd->dumprect);
+ MEM_freeN(scd);
+ op->customdata= NULL;
+ }
+}
+
+static int screenshot_exec(bContext *C, wmOperator *op)
+{
+ ScreenshotData *scd= op->customdata;
+
+ if(scd == NULL) {
+ /* when running exec directly */
+ screenshot_data_create(C, op);
+ scd= op->customdata;
+ }
+
+ if(scd) {
+ if(scd->dumprect) {
+ Scene *scene= CTX_data_scene(C);
+ ImBuf *ibuf;
+ char path[FILE_MAX];
+
+ RNA_string_get(op->ptr, "filepath", path);
+
+ strcpy(G.ima, path);
+ BLI_path_abs(path, G.main->name);
+
+ /* BKE_add_image_extension() checks for if extension was already set */
+ if(scene->r.scemode & R_EXTENSION)
+ if(strlen(path)<FILE_MAXDIR+FILE_MAXFILE-5)
+ BKE_add_image_extension(path, scene->r.imtype);
+
+ ibuf= IMB_allocImBuf(scd->dumpsx, scd->dumpsy, 24, 0);
+ ibuf->rect= scd->dumprect;
+
+ BKE_write_ibuf(ibuf, path, scene->r.imtype, scene->r.subimtype, scene->r.quality);
+
+ IMB_freeImBuf(ibuf);
+ }
+ }
+
+ screenshot_data_free(op);
+ return OPERATOR_FINISHED;
+}
+
+static int screenshot_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+{
+ if(screenshot_data_create(C, op)) {
if(RNA_property_is_set(op->ptr, "filepath"))
return screenshot_exec(C, op);
@@ -169,14 +195,7 @@ static int screenshot_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)
static int screenshot_cancel(bContext *UNUSED(C), wmOperator *op)
{
- ScreenshotData *scd= op->customdata;
-
- if(scd) {
- if(scd->dumprect)
- MEM_freeN(scd->dumprect);
- MEM_freeN(scd);
- op->customdata= NULL;
- }
+ screenshot_data_free(op);
return OPERATOR_CANCELLED;
}
diff --git a/source/blender/editors/sculpt_paint/CMakeLists.txt b/source/blender/editors/sculpt_paint/CMakeLists.txt
index 248b6ea2b94..94e08a020f6 100644
--- a/source/blender/editors/sculpt_paint/CMakeLists.txt
+++ b/source/blender/editors/sculpt_paint/CMakeLists.txt
@@ -22,15 +22,18 @@
set(INC
../include
../../blenkernel
+ ../../blenlib
../../blenloader
- ../../imbuf
../../gpu
- ../../blenlib
+ ../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -48,4 +51,4 @@ set(SRC
sculpt_intern.h
)
-blender_add_lib(bf_editor_sculpt_paint "${SRC}" "${INC}")
+blender_add_lib(bf_editor_sculpt_paint "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index 29bcb191b46..c9a6aa87cd0 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -440,6 +440,8 @@ static void image_undo_restore(bContext *C, ListBase *lb)
GPU_free_image(ima); /* force OpenGL reload */
if(ibuf->rect_float)
ibuf->userflags |= IB_RECT_INVALID; /* force recreate of char rect */
+ if(ibuf->mipmap[0])
+ ibuf->userflags |= IB_MIPMAP_INVALID; /* force mipmap recreatiom */
}
@@ -764,7 +766,7 @@ static int project_paint_occlude_ptv_clip(
if (side) interp_v3_v3v3v3(wco, ps->dm_mvert[mf->v1].co, ps->dm_mvert[mf->v3].co, ps->dm_mvert[mf->v4].co, w);
else interp_v3_v3v3v3(wco, ps->dm_mvert[mf->v1].co, ps->dm_mvert[mf->v2].co, ps->dm_mvert[mf->v3].co, w);
- if(!view3d_test_clipping(ps->rv3d, wco, 1)) {
+ if(!ED_view3d_test_clipping(ps->rv3d, wco, 1)) {
return 1;
}
@@ -1172,25 +1174,6 @@ static void project_face_seams_init(const ProjPaintState *ps, const int face_ind
#endif // PROJ_DEBUG_NOSEAMBLEED
-/* TODO - move to math_geom.c */
-
-/* little sister we only need to know lambda */
-#ifndef PROJ_DEBUG_NOSEAMBLEED
-static float lambda_cp_line2(const float p[2], const float l1[2], const float l2[2])
-{
- float h[2], u[2];
-
- u[0] = l2[0] - l1[0];
- u[1] = l2[1] - l1[1];
-
- h[0] = p[0] - l1[0];
- h[1] = p[1] - l1[1];
-
- return(dot_v2v2(u, h)/dot_v2v2(u, u));
-}
-#endif // PROJ_DEBUG_NOSEAMBLEED
-
-
/* Converts a UV location to a 3D screenspace location
* Takes a 'uv' and 3 UV coords, and sets the values of pixelScreenCo
*
@@ -2347,7 +2330,7 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i
/* a pitty we need to get the worldspace pixel location here */
if(do_clip) {
interp_v3_v3v3v3(wco, ps->dm_mvert[ (*(&mf->v1 + i1)) ].co, ps->dm_mvert[ (*(&mf->v1 + i2)) ].co, ps->dm_mvert[ (*(&mf->v1 + i3)) ].co, w);
- if(view3d_test_clipping(ps->rv3d, wco, 1)) {
+ if(ED_view3d_test_clipping(ps->rv3d, wco, 1)) {
continue; /* Watch out that no code below this needs to run */
}
}
@@ -2516,9 +2499,9 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i
*/
/* Since this is a seam we need to work out where on the line this pixel is */
- //fac = lambda_cp_line2(uv, uv_seam_quad[0], uv_seam_quad[1]);
+ //fac = line_point_factor_v2(uv, uv_seam_quad[0], uv_seam_quad[1]);
- fac = lambda_cp_line2(uv, seam_subsection[0], seam_subsection[1]);
+ fac = line_point_factor_v2(uv, seam_subsection[0], seam_subsection[1]);
if (fac < 0.0f) { VECCOPY(pixelScreenCo, edge_verts_inset_clip[0]); }
else if (fac > 1.0f) { VECCOPY(pixelScreenCo, edge_verts_inset_clip[1]); }
else { interp_v3_v3v3(pixelScreenCo, edge_verts_inset_clip[0], edge_verts_inset_clip[1], fac); }
@@ -2570,7 +2553,7 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i
if (side) interp_v3_v3v3v3(wco, ps->dm_mvert[mf->v1].co, ps->dm_mvert[mf->v3].co, ps->dm_mvert[mf->v4].co, w);
else interp_v3_v3v3v3(wco, ps->dm_mvert[mf->v1].co, ps->dm_mvert[mf->v2].co, ps->dm_mvert[mf->v3].co, w);
- if(view3d_test_clipping(ps->rv3d, wco, 1)) {
+ if(ED_view3d_test_clipping(ps->rv3d, wco, 1)) {
continue; /* Watch out that no code below this needs to run */
}
}
@@ -2812,7 +2795,7 @@ static void project_paint_delayed_face_init(ProjPaintState *ps, const MFace *mf,
static int project_paint_view_clip(View3D *v3d, RegionView3D *rv3d, float *clipsta, float *clipend)
{
- int orth= get_view3d_cliprange(v3d, rv3d, clipsta, clipend);
+ int orth= ED_view3d_clip_range_get(v3d, rv3d, clipsta, clipend);
if (orth) { /* only needed for ortho */
float fac = 2.0f / ((*clipend) - (*clipsta));
@@ -2951,7 +2934,7 @@ static void project_paint_begin(ProjPaintState *ps)
copy_m4_m4(viewmat, ps->rv3d->viewmat);
copy_m4_m4(viewinv, ps->rv3d->viewinv);
- view3d_get_object_project_mat(ps->rv3d, ps->ob, ps->projectMat);
+ ED_view3d_ob_project_mat_get(ps->rv3d, ps->ob, ps->projectMat);
ps->is_ortho= project_paint_view_clip(ps->v3d, ps->rv3d, &ps->clipsta, &ps->clipend);
}
@@ -3690,14 +3673,26 @@ static void do_projectpaint_draw(ProjPaintState *ps, ProjPixel *projPixel, float
}
}
-static void do_projectpaint_draw_f(ProjPaintState *ps, ProjPixel *projPixel, float *rgba, float alpha, float mask) {
+static void do_projectpaint_draw_f(ProjPaintState *ps, ProjPixel *projPixel, float *rgba, float alpha, float mask, int use_color_correction) {
if (ps->is_texbrush) {
- rgba[0] *= ps->brush->rgb[0];
- rgba[1] *= ps->brush->rgb[1];
- rgba[2] *= ps->brush->rgb[2];
+ /* rgba already holds a texture result here from higher level function */
+ float rgba_br[3];
+ if(use_color_correction){
+ srgb_to_linearrgb_v3_v3(rgba_br, ps->brush->rgb);
+ mul_v3_v3(rgba, rgba_br);
+ }
+ else{
+ mul_v3_v3(rgba, ps->brush->rgb);
+ }
}
else {
- VECCOPY(rgba, ps->brush->rgb);
+ if(use_color_correction){
+ srgb_to_linearrgb_v3_v3(rgba, ps->brush->rgb);
+ }
+ else {
+ VECCOPY(rgba, ps->brush->rgb);
+ }
+ rgba[3] = 1.0;
}
if (ps->is_airbrush==0 && mask < 1.0f) {
@@ -3734,6 +3729,7 @@ static void *do_projectpaint_thread(void *ph_v)
float falloff;
int bucket_index;
int is_floatbuf = 0;
+ int use_color_correction = 0;
const short tool = ps->tool;
rctf bucket_bounds;
@@ -3839,6 +3835,7 @@ static void *do_projectpaint_thread(void *ph_v)
last_projIma->touch = 1;
is_floatbuf = last_projIma->ibuf->rect_float ? 1 : 0;
+ use_color_correction = (last_projIma->ibuf->profile == IB_PROFILE_LINEAR_RGB) ? 1 : 0;
}
last_partial_redraw_cell = last_projIma->partRedrawRect + projPixel->bb_cell_index;
@@ -3869,7 +3866,7 @@ static void *do_projectpaint_thread(void *ph_v)
else do_projectpaint_smear(ps, projPixel, alpha, mask, smearArena, &smearPixels, co);
break;
default:
- if (is_floatbuf) do_projectpaint_draw_f(ps, projPixel, rgba, alpha, mask);
+ if (is_floatbuf) do_projectpaint_draw_f(ps, projPixel, rgba, alpha, mask, use_color_correction);
else do_projectpaint_draw(ps, projPixel, rgba, alpha, mask);
break;
}
@@ -3973,7 +3970,7 @@ static int project_paint_op(void *state, ImBuf *UNUSED(ibufb), float *lastpos, f
}
-static int project_paint_sub_stroke(ProjPaintState *ps, BrushPainter *painter, int *UNUSED(prevmval_i), int *mval_i, double time, float pressure)
+static int project_paint_sub_stroke(ProjPaintState *ps, BrushPainter *painter, const int UNUSED(prevmval_i[2]), const int mval_i[2], double time, float pressure)
{
/* Use mouse coords as floats for projection painting */
@@ -3985,14 +3982,14 @@ static int project_paint_sub_stroke(ProjPaintState *ps, BrushPainter *painter, i
// we may want to use this later
// brush_painter_require_imbuf(painter, ((ibuf->rect_float)? 1: 0), 0, 0);
- if (brush_painter_paint(painter, project_paint_op, pos, time, pressure, ps)) {
+ if (brush_painter_paint(painter, project_paint_op, pos, time, pressure, ps, 0)) {
return 1;
}
else return 0;
}
-static int project_paint_stroke(ProjPaintState *ps, BrushPainter *painter, int *prevmval_i, int *mval_i, double time, float pressure)
+static int project_paint_stroke(ProjPaintState *ps, BrushPainter *painter, const int prevmval_i[2], const int mval_i[2], double time, float pressure)
{
int a, redraw;
@@ -4056,7 +4053,6 @@ static void imapaint_dirty_region(Image *ima, ImBuf *ibuf, int x, int y, int w,
static void imapaint_image_update(SpaceImage *sima, Image *image, ImBuf *ibuf, short texpaint)
{
if(ibuf->rect_float)
- /* TODO - should just update a portion from imapaintpartial! */
ibuf->userflags |= IB_RECT_INVALID; /* force recreate of char rect */
if(ibuf->mipmap[0])
@@ -4253,8 +4249,8 @@ static ImBuf *imapaint_lift_clone(ImBuf *ibuf, ImBuf *ibufb, int *pos)
static void imapaint_convert_brushco(ImBuf *ibufb, float *pos, int *ipos)
{
- ipos[0]= (int)(pos[0] - ibufb->x/2);
- ipos[1]= (int)(pos[1] - ibufb->y/2);
+ ipos[0]= (int)floorf((pos[0] - ibufb->x/2) + 1.0f);
+ ipos[1]= (int)floorf((pos[1] - ibufb->y/2) + 1.0f);
}
/* dosnt run for projection painting
@@ -4407,7 +4403,7 @@ static int imapaint_paint_sub_stroke(ImagePaintState *s, BrushPainter *painter,
brush_painter_require_imbuf(painter, ((ibuf->rect_float)? 1: 0), 0, 0);
- if (brush_painter_paint(painter, imapaint_paint_op, pos, time, pressure, s)) {
+ if (brush_painter_paint(painter, imapaint_paint_op, pos, time, pressure, s, ibuf->profile == IB_PROFILE_LINEAR_RGB)) {
if (update)
imapaint_image_update(s->sima, image, ibuf, texpaint);
return 1;
@@ -4415,7 +4411,7 @@ static int imapaint_paint_sub_stroke(ImagePaintState *s, BrushPainter *painter,
else return 0;
}
-static int imapaint_paint_stroke(ViewContext *vc, ImagePaintState *s, BrushPainter *painter, short texpaint, int *prevmval, int *mval, double time, float pressure)
+static int imapaint_paint_stroke(ViewContext *vc, ImagePaintState *s, BrushPainter *painter, short texpaint, const int prevmval[2], const int mval[2], double time, float pressure)
{
Image *newimage = NULL;
float fwuv[2], bkuv[2], newuv[2];
@@ -4856,18 +4852,12 @@ static int paint_exec(bContext *C, wmOperator *op)
static void paint_apply_event(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
PaintOperation *pop= op->customdata;
wmTabletData *wmtab;
PointerRNA itemptr;
float pressure, mousef[2];
double time;
- int tablet, mouse[2];
-
- // XXX +1 matches brush location better but
- // still not exact, find out why and fix ..
- mouse[0]= event->x - ar->winrct.xmin + 1;
- mouse[1]= event->y - ar->winrct.ymin + 1;
+ int tablet;
time= PIL_check_seconds_timer();
@@ -4887,8 +4877,8 @@ static void paint_apply_event(bContext *C, wmOperator *op, wmEvent *event)
pressure= pop->prev_pressure ? pop->prev_pressure : 1.0f;
if(pop->first) {
- pop->prevmouse[0]= mouse[0];
- pop->prevmouse[1]= mouse[1];
+ pop->prevmouse[0]= event->mval[0];
+ pop->prevmouse[1]= event->mval[1];
pop->starttime= time;
/* special exception here for too high pressure values on first touch in
@@ -4907,8 +4897,8 @@ static void paint_apply_event(bContext *C, wmOperator *op, wmEvent *event)
/* fill in stroke */
RNA_collection_add(op->ptr, "stroke", &itemptr);
- mousef[0] = (float)(mouse[0]);
- mousef[1] = (float)(mouse[1]);
+ mousef[0] = (float)(event->mval[0]);
+ mousef[1] = (float)(event->mval[1]);
RNA_float_set_array(&itemptr, "mouse", mousef);
RNA_float_set(&itemptr, "time", (float)(time - pop->starttime));
RNA_float_set(&itemptr, "pressure", pressure);
@@ -5011,31 +5001,45 @@ static int get_imapaint_zoom(bContext *C, float *zoomx, float *zoomy)
static void brush_drawcursor(bContext *C, int x, int y, void *UNUSED(customdata))
{
+#define PX_SIZE_FADE_MAX 12.0f
+#define PX_SIZE_FADE_MIN 4.0f
+
Brush *brush= image_paint_brush(C);
Paint *paint= paint_get_active(CTX_data_scene(C));
- if(paint && brush) {
+ if(paint && brush && paint->flags & PAINT_SHOW_BRUSH) {
float zoomx, zoomy;
+ const float size= (float)brush_size(brush);
+ const short use_zoom= get_imapaint_zoom(C, &zoomx, &zoomy);
+ const float pixel_size= MAX2(size * zoomx, size * zoomy);
+ float alpha= 0.5f;
- if(!(paint->flags & PAINT_SHOW_BRUSH))
+ /* fade out the brush (cheap trick to work around brush interfearing with sampling [#])*/
+ if(pixel_size < PX_SIZE_FADE_MIN) {
return;
+ }
+ else if (pixel_size < PX_SIZE_FADE_MAX) {
+ alpha *= (pixel_size - PX_SIZE_FADE_MIN) / (PX_SIZE_FADE_MAX - PX_SIZE_FADE_MIN);
+ }
glPushMatrix();
glTranslatef((float)x, (float)y, 0.0f);
- if(get_imapaint_zoom(C, &zoomx, &zoomy))
+ if(use_zoom)
glScalef(zoomx, zoomy, 1.0f);
- glColor4f(brush->add_col[0], brush->add_col[1], brush->add_col[2], 0.5f);
+ glColor4f(brush->add_col[0], brush->add_col[1], brush->add_col[2], alpha);
glEnable( GL_LINE_SMOOTH );
glEnable(GL_BLEND);
- glutil_draw_lined_arc(0, (float)(M_PI*2.0), (float)brush_size(brush), 40);
+ glutil_draw_lined_arc(0, (float)(M_PI*2.0), size, 40);
glDisable(GL_BLEND);
glDisable( GL_LINE_SMOOTH );
glPopMatrix();
}
+#undef PX_SIZE_FADE_MAX
+#undef PX_SIZE_FADE_MIN
}
static void toggle_paint_cursor(bContext *C, int enable)
@@ -5066,56 +5070,6 @@ void ED_space_image_paint_update(wmWindowManager *wm, ToolSettings *settings)
}
}
-/* ************ image paint radial control *************/
-static int paint_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- float zoom;
- ToolSettings *ts = CTX_data_scene(C)->toolsettings;
- get_imapaint_zoom(C, &zoom, &zoom);
- toggle_paint_cursor(C, 0);
- brush_radial_control_invoke(op, paint_brush(&ts->imapaint.paint), zoom);
- return WM_radial_control_invoke(C, op, event);
-}
-
-static int paint_radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
-{
- int ret = WM_radial_control_modal(C, op, event);
- if(ret != OPERATOR_RUNNING_MODAL)
- toggle_paint_cursor(C, 1);
- return ret;
-}
-
-static int paint_radial_control_exec(bContext *C, wmOperator *op)
-{
- Brush *brush = paint_brush(&CTX_data_scene(C)->toolsettings->imapaint.paint);
- float zoom;
- int ret;
- char str[64];
- get_imapaint_zoom(C, &zoom, &zoom);
- ret = brush_radial_control_exec(op, brush, 1.0f / zoom);
- WM_radial_control_string(op, str, sizeof(str));
-
- WM_event_add_notifier(C, NC_BRUSH|NA_EDITED, brush);
-
- return ret;
-}
-
-void PAINT_OT_image_paint_radial_control(wmOperatorType *ot)
-{
- WM_OT_radial_control_partial(ot);
-
- ot->name= "Image Paint Radial Control";
- ot->idname= "PAINT_OT_image_paint_radial_control";
-
- ot->invoke= paint_radial_control_invoke;
- ot->modal= paint_radial_control_modal;
- ot->exec= paint_radial_control_exec;
- ot->poll= image_paint_poll;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
-}
-
/************************ grab clone operator ************************/
typedef struct GrabClone {
@@ -5233,16 +5187,8 @@ static int sample_color_exec(bContext *C, wmOperator *op)
static int sample_color_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
- int location[2];
-
- if(ar) {
- location[0]= event->x - ar->winrct.xmin;
- location[1]= event->y - ar->winrct.ymin;
- RNA_int_set_array(op->ptr, "location", location);
-
- sample_color_exec(C, op);
- }
+ RNA_int_set_array(op->ptr, "location", event->mval);
+ sample_color_exec(C, op);
WM_event_add_modal_handler(C, op);
@@ -5251,21 +5197,13 @@ static int sample_color_invoke(bContext *C, wmOperator *op, wmEvent *event)
static int sample_color_modal(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
- int location[2];
-
switch(event->type) {
case LEFTMOUSE:
case RIGHTMOUSE: // XXX hardcoded
return OPERATOR_FINISHED;
case MOUSEMOVE:
- if(ar) {
- location[0]= event->x - ar->winrct.xmin;
- location[1]= event->y - ar->winrct.ymin;
- RNA_int_set_array(op->ptr, "location", location);
-
- sample_color_exec(C, op);
- }
+ RNA_int_set_array(op->ptr, "location", event->mval);
+ sample_color_exec(C, op);
break;
}
@@ -5332,14 +5270,10 @@ static int set_clone_cursor_invoke(bContext *C, wmOperator *op, wmEvent *event)
View3D *v3d= CTX_wm_view3d(C);
ARegion *ar= CTX_wm_region(C);
float location[3];
- short mval[2];
-
- mval[0]= event->x - ar->winrct.xmin;
- mval[1]= event->y - ar->winrct.ymin;
view3d_operator_needs_opengl(C);
- if(!view_autodist(scene, ar, v3d, mval, location))
+ if(!ED_view3d_autodist(scene, ar, v3d, event->mval, location))
return OPERATOR_CANCELLED;
RNA_float_set_array(op->ptr, "location", location);
@@ -5443,28 +5377,6 @@ void PAINT_OT_texture_paint_toggle(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-/************* texture paint radial control *************/
-
-static int texture_paint_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- ToolSettings *ts = CTX_data_scene(C)->toolsettings;
- toggle_paint_cursor(C, !ts->imapaint.paintcursor);
- brush_radial_control_invoke(op, paint_brush(&ts->imapaint.paint), 1);
- return WM_radial_control_invoke(C, op, event);
-}
-
-static int texture_paint_radial_control_exec(bContext *C, wmOperator *op)
-{
- Brush *brush = paint_brush(&CTX_data_scene(C)->toolsettings->imapaint.paint);
- int ret = brush_radial_control_exec(op, brush, 1);
- char str[64];
- WM_radial_control_string(op, str, sizeof(str));
-
- WM_event_add_notifier(C, NC_BRUSH|NA_EDITED, brush);
-
- return ret;
-}
-
static int texture_paint_poll(bContext *C)
{
if(texture_paint_toggle_poll(C))
@@ -5479,23 +5391,6 @@ int image_texture_paint_poll(bContext *C)
return (texture_paint_poll(C) || image_paint_poll(C));
}
-void PAINT_OT_texture_paint_radial_control(wmOperatorType *ot)
-{
- WM_OT_radial_control_partial(ot);
-
- ot->name= "Texture Paint Radial Control";
- ot->idname= "PAINT_OT_texture_paint_radial_control";
-
- ot->invoke= texture_paint_radial_control_invoke;
- ot->modal= paint_radial_control_modal;
- ot->exec= texture_paint_radial_control_exec;
- ot->poll= texture_paint_poll;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
-}
-
-
int facemask_paint_poll(bContext *C)
{
return paint_facesel_test(CTX_data_active_object(C));
diff --git a/source/blender/editors/sculpt_paint/paint_intern.h b/source/blender/editors/sculpt_paint/paint_intern.h
index 48fca04ac87..5a0ee19d6c9 100644
--- a/source/blender/editors/sculpt_paint/paint_intern.h
+++ b/source/blender/editors/sculpt_paint/paint_intern.h
@@ -65,6 +65,7 @@ int paint_space_stroke_enabled(struct Brush *br);
int paint_stroke_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
int paint_stroke_exec(struct bContext *C, struct wmOperator *op);
+int paint_stroke_cancel(struct bContext *C, struct wmOperator *op);
struct ViewContext *paint_stroke_view_context(struct PaintStroke *stroke);
void *paint_stroke_mode_data(struct PaintStroke *stroke);
void paint_stroke_set_mode_data(struct PaintStroke *stroke, void *mode_data);
@@ -81,12 +82,12 @@ void vpaint_fill(struct Object *ob, unsigned int paintcol);
void wpaint_fill(struct VPaint *wp, struct Object *ob, float paintweight);
void PAINT_OT_weight_paint_toggle(struct wmOperatorType *ot);
-void PAINT_OT_weight_paint_radial_control(struct wmOperatorType *ot);
void PAINT_OT_weight_paint(struct wmOperatorType *ot);
void PAINT_OT_weight_set(struct wmOperatorType *ot);
void PAINT_OT_weight_from_bones(struct wmOperatorType *ot);
+void PAINT_OT_weight_sample(struct wmOperatorType *ot);
+void PAINT_OT_weight_sample_group(struct wmOperatorType *ot);
-void PAINT_OT_vertex_paint_radial_control(struct wmOperatorType *ot);
void PAINT_OT_vertex_paint_toggle(struct wmOperatorType *ot);
void PAINT_OT_vertex_paint(struct wmOperatorType *ot);
@@ -96,12 +97,10 @@ unsigned int vpaint_get_current_col(struct VPaint *vp);
int image_texture_paint_poll(struct bContext *C);
void PAINT_OT_image_paint(struct wmOperatorType *ot);
-void PAINT_OT_image_paint_radial_control(struct wmOperatorType *ot);
void PAINT_OT_grab_clone(struct wmOperatorType *ot);
void PAINT_OT_sample_color(struct wmOperatorType *ot);
void PAINT_OT_clone_cursor_set(struct wmOperatorType *ot);
void PAINT_OT_texture_paint_toggle(struct wmOperatorType *ot);
-void PAINT_OT_texture_paint_radial_control(struct wmOperatorType *ot);
void PAINT_OT_project_image(struct wmOperatorType *ot);
void PAINT_OT_image_from_view(struct wmOperatorType *ot);
@@ -110,8 +109,8 @@ void PAINT_OT_image_from_view(struct wmOperatorType *ot);
void projectf(struct bglMats *mats, const float v[3], float p[2]);
float paint_calc_object_space_radius(struct ViewContext *vc, float center[3], float pixel_radius);
float paint_get_tex_pixel(struct Brush* br, float u, float v);
-int imapaint_pick_face(struct ViewContext *vc, struct Mesh *me, int *mval, unsigned int *index);
-void imapaint_pick_uv(struct Scene *scene, struct Object *ob, unsigned int faceindex, int *xy, float *uv);
+int imapaint_pick_face(struct ViewContext *vc, struct Mesh *me, const int mval[2], unsigned int *index);
+void imapaint_pick_uv(struct Scene *scene, struct Object *ob, unsigned int faceindex, const int xy[2], float uv[2]);
void paint_sample_color(struct Scene *scene, struct ARegion *ar, int x, int y);
void BRUSH_OT_curve_preset(struct wmOperatorType *ot);
diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c
index 9a1de939067..69af50415cc 100644
--- a/source/blender/editors/sculpt_paint/paint_ops.c
+++ b/source/blender/editors/sculpt_paint/paint_ops.c
@@ -23,7 +23,10 @@
* \ingroup edsculpt
*/
+#include "MEM_guardedalloc.h"
+#include <stdlib.h>
+#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_object_types.h"
@@ -355,9 +358,7 @@ void ED_operatortypes_paint(void)
/* image */
WM_operatortype_append(PAINT_OT_texture_paint_toggle);
- WM_operatortype_append(PAINT_OT_texture_paint_radial_control);
WM_operatortype_append(PAINT_OT_image_paint);
- WM_operatortype_append(PAINT_OT_image_paint_radial_control);
WM_operatortype_append(PAINT_OT_sample_color);
WM_operatortype_append(PAINT_OT_grab_clone);
WM_operatortype_append(PAINT_OT_clone_cursor_set);
@@ -366,13 +367,13 @@ void ED_operatortypes_paint(void)
/* weight */
WM_operatortype_append(PAINT_OT_weight_paint_toggle);
- WM_operatortype_append(PAINT_OT_weight_paint_radial_control);
WM_operatortype_append(PAINT_OT_weight_paint);
WM_operatortype_append(PAINT_OT_weight_set);
WM_operatortype_append(PAINT_OT_weight_from_bones);
+ WM_operatortype_append(PAINT_OT_weight_sample);
+ WM_operatortype_append(PAINT_OT_weight_sample_group);
/* vertex */
- WM_operatortype_append(PAINT_OT_vertex_paint_radial_control);
WM_operatortype_append(PAINT_OT_vertex_paint_toggle);
WM_operatortype_append(PAINT_OT_vertex_paint);
WM_operatortype_append(PAINT_OT_vertex_color_set);
@@ -464,6 +465,59 @@ static void ed_keymap_paint_brush_size(wmKeyMap *keymap, const char *UNUSED(path
RNA_float_set(kmi->ptr, "scalar", 10.0/9.0); // 1.1111....
}
+typedef enum {
+ RC_COLOR = 1,
+ RC_ROTATION = 2,
+ RC_ZOOM = 4,
+} RCFlags;
+
+static void set_brush_rc_path(PointerRNA *ptr, const char *brush_path,
+ const char *output_name, const char *input_name)
+{
+ char *path;
+
+ path = BLI_sprintfN("%s.%s", brush_path, input_name);
+ RNA_string_set(ptr, output_name, path);
+ MEM_freeN(path);
+}
+
+static void set_brush_rc_props(PointerRNA *ptr, const char *paint,
+ const char *prop, RCFlags flags)
+{
+ char *brush_path;
+
+ brush_path = BLI_sprintfN("tool_settings.%s.brush", paint);
+
+ set_brush_rc_path(ptr, brush_path, "data_path", prop);
+ set_brush_rc_path(ptr, brush_path, "color_path", "cursor_color_add");
+ set_brush_rc_path(ptr, brush_path, "rotation_path", "texture_slot.angle");
+ RNA_string_set(ptr, "image_id", brush_path);
+
+ if(flags & RC_COLOR)
+ set_brush_rc_path(ptr, brush_path, "fill_color_path", "color");
+ if(flags & RC_ZOOM)
+ RNA_string_set(ptr, "zoom_path", "space_data.zoom");
+
+ MEM_freeN(brush_path);
+}
+
+static void ed_keymap_paint_brush_radial_control(wmKeyMap *keymap, const char *paint,
+ RCFlags flags)
+{
+ wmKeyMapItem *kmi;
+
+ kmi = WM_keymap_add_item(keymap, "WM_OT_radial_control", FKEY, KM_PRESS, 0, 0);
+ set_brush_rc_props(kmi->ptr, paint, "size", flags);
+
+ kmi = WM_keymap_add_item(keymap, "WM_OT_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0);
+ set_brush_rc_props(kmi->ptr, paint, "strength", flags);
+
+ if(flags & RC_ROTATION) {
+ kmi = WM_keymap_add_item(keymap, "WM_OT_radial_control", FKEY, KM_PRESS, KM_CTRL, 0);
+ set_brush_rc_props(kmi->ptr, paint, "texture_slot.angle", flags);
+ }
+}
+
void ED_keymap_paint(wmKeyConfig *keyconf)
{
wmKeyMap *keymap;
@@ -474,10 +528,6 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
keymap= WM_keymap_find(keyconf, "Sculpt", 0, 0);
keymap->poll= sculpt_poll;
- RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
- RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
- RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_radial_control", FKEY, KM_PRESS, KM_CTRL, 0)->ptr, "mode", WM_RADIALCONTROL_ANGLE);
-
RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, 0, 0)->ptr, "mode", BRUSH_STROKE_NORMAL);
RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "mode", BRUSH_STROKE_INVERT);
RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", BRUSH_STROKE_SMOOTH);
@@ -496,6 +546,7 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
ed_keymap_paint_brush_switch(keymap, "sculpt");
ed_keymap_paint_brush_size(keymap, "tool_settings.sculpt.brush.size");
+ ed_keymap_paint_brush_radial_control(keymap, "sculpt", RC_ROTATION);
RNA_enum_set(WM_keymap_add_item(keymap, "BRUSH_OT_sculpt_tool_set", DKEY, KM_PRESS, 0, 0)->ptr, "tool", SCULPT_TOOL_DRAW);
RNA_enum_set(WM_keymap_add_item(keymap, "BRUSH_OT_sculpt_tool_set", SKEY, KM_PRESS, 0, 0)->ptr, "tool", SCULPT_TOOL_SMOOTH);
@@ -521,8 +572,6 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
keymap= WM_keymap_find(keyconf, "Vertex Paint", 0, 0);
keymap->poll= vertex_paint_mode_poll;
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_vertex_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_vertex_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
WM_keymap_verify_item(keymap, "PAINT_OT_vertex_paint", LEFTMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "PAINT_OT_sample_color", RIGHTMOUSE, KM_PRESS, 0, 0);
@@ -531,6 +580,7 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
ed_keymap_paint_brush_switch(keymap, "vertex_paint");
ed_keymap_paint_brush_size(keymap, "tool_settings.vertex_paint.brush.size");
+ ed_keymap_paint_brush_radial_control(keymap, "vertex_paint", RC_COLOR);
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", MKEY, KM_PRESS, 0, 0); /* mask toggle */
RNA_string_set(kmi->ptr, "data_path", "vertex_paint_object.data.use_paint_mask");
@@ -539,16 +589,18 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
keymap= WM_keymap_find(keyconf, "Weight Paint", 0, 0);
keymap->poll= weight_paint_mode_poll;
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_weight_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_weight_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
-
WM_keymap_verify_item(keymap, "PAINT_OT_weight_paint", LEFTMOUSE, KM_PRESS, 0, 0);
+ /* these keys are from 2.4x but could be changed */
+ WM_keymap_verify_item(keymap, "PAINT_OT_weight_sample", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_verify_item(keymap, "PAINT_OT_weight_sample_group", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
+
WM_keymap_add_item(keymap,
"PAINT_OT_weight_set", KKEY, KM_PRESS, KM_SHIFT, 0);
ed_keymap_paint_brush_switch(keymap, "weight_paint");
ed_keymap_paint_brush_size(keymap, "tool_settings.weight_paint.brush.size");
+ ed_keymap_paint_brush_radial_control(keymap, "weight_paint", 0);
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", MKEY, KM_PRESS, 0, 0); /* mask toggle */
RNA_string_set(kmi->ptr, "data_path", "weight_paint_object.data.use_paint_mask");
@@ -559,12 +611,6 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
keymap= WM_keymap_find(keyconf, "Image Paint", 0, 0);
keymap->poll= image_texture_paint_poll;
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_image_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_image_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
-
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
- RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
-
WM_keymap_add_item(keymap, "PAINT_OT_image_paint", LEFTMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "PAINT_OT_grab_clone", RIGHTMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "PAINT_OT_sample_color", RIGHTMOUSE, KM_PRESS, 0, 0);
@@ -572,6 +618,7 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
ed_keymap_paint_brush_switch(keymap, "image_paint");
ed_keymap_paint_brush_size(keymap, "tool_settings.image_paint.brush.size");
+ ed_keymap_paint_brush_radial_control(keymap, "image_paint", RC_COLOR|RC_ZOOM);
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", MKEY, KM_PRESS, 0, 0); /* mask toggle */
RNA_string_set(kmi->ptr, "data_path", "image_paint_object.data.use_paint_mask");
diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c
index e7b62505417..7ddf5dff000 100644
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@ -333,7 +333,7 @@ static int project_brush_radius(RegionView3D* rv3d, float radius, float location
{
float view[3], nonortho[3], ortho[3], offset[3], p1[2], p2[2];
- viewvector(rv3d, location, view);
+ ED_view3d_global_to_vector(rv3d, location, view);
// create a vector that is not orthogonal to view
@@ -916,6 +916,19 @@ int paint_stroke_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+int paint_stroke_cancel(bContext *C, wmOperator *op)
+{
+ PaintStroke *stroke = op->customdata;
+
+ if(stroke->done)
+ stroke->done(C, stroke);
+
+ MEM_freeN(stroke);
+ op->customdata = NULL;
+
+ return OPERATOR_CANCELLED;
+}
+
ViewContext *paint_stroke_view_context(PaintStroke *stroke)
{
return &stroke->vc;
diff --git a/source/blender/editors/sculpt_paint/paint_utils.c b/source/blender/editors/sculpt_paint/paint_utils.c
index ad85a4bf29b..09f5c32bea0 100644
--- a/source/blender/editors/sculpt_paint/paint_utils.c
+++ b/source/blender/editors/sculpt_paint/paint_utils.c
@@ -58,11 +58,15 @@ float paint_calc_object_space_radius(ViewContext *vc, float center[3],
{
Object *ob = vc->obact;
float delta[3], scale, loc[3];
+ float mval_f[2];
mul_v3_m4v3(loc, ob->obmat, center);
initgrabz(vc->rv3d, loc[0], loc[1], loc[2]);
- window_to_3d_delta(vc->ar, delta, pixel_radius, 0);
+
+ mval_f[0]= pixel_radius;
+ mval_f[1]= 0.0f;
+ ED_view3d_win_to_delta(vc->ar, mval_f, delta);
scale= fabsf(mat4_to_scale(ob->obmat));
scale= (scale == 0.0f)? 1.0f: scale;
@@ -144,7 +148,7 @@ static void imapaint_tri_weights(Object *ob, float *v1, float *v2, float *v3, fl
}
/* compute uv coordinates of mouse in face */
-void imapaint_pick_uv(Scene *scene, Object *ob, unsigned int faceindex, int *xy, float *uv)
+void imapaint_pick_uv(Scene *scene, Object *ob, unsigned int faceindex, const int xy[2], float uv[2])
{
DerivedMesh *dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
const int *index = dm->getFaceDataArray(dm, CD_ORIGINDEX);
@@ -210,7 +214,7 @@ void imapaint_pick_uv(Scene *scene, Object *ob, unsigned int faceindex, int *xy,
}
///* returns 0 if not found, otherwise 1 */
-int imapaint_pick_face(ViewContext *vc, Mesh *me, int *mval, unsigned int *index)
+int imapaint_pick_face(ViewContext *vc, Mesh *me, const int mval[2], unsigned int *index)
{
if(!me || me->totface==0)
return 0;
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c
index 19c726616da..3da19ba7346 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -61,6 +61,7 @@
#include "RNA_access.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "BKE_DerivedMesh.h"
#include "BKE_action.h"
@@ -72,6 +73,7 @@
#include "BKE_modifier.h"
#include "BKE_object.h"
#include "BKE_paint.h"
+#include "BKE_report.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -286,6 +288,43 @@ static void make_vertexcol(Object *ob) /* single ob */
}
+/* mirror_vgroup is set to -1 when invalid */
+static void wpaint_mirror_vgroup_ensure(Object *ob, int *vgroup_mirror)
+{
+ bDeformGroup *defgroup= BLI_findlink(&ob->defbase, ob->actdef - 1);
+
+ if(defgroup) {
+ bDeformGroup *curdef;
+ int mirrdef;
+ char name[MAXBONENAME];
+
+ flip_side_name(name, defgroup->name, FALSE);
+
+ if(strcmp(name, defgroup->name) != 0) {
+ for (curdef= ob->defbase.first, mirrdef= 0; curdef; curdef=curdef->next, mirrdef++) {
+ if (!strcmp(curdef->name, name)) {
+ break;
+ }
+ }
+
+ if(curdef==NULL) {
+ int olddef= ob->actdef; /* tsk, ED_vgroup_add sets the active defgroup */
+ curdef= ED_vgroup_add_name(ob, name);
+ ob->actdef= olddef;
+ }
+
+ /* curdef should never be NULL unless this is
+ * a lamp and ED_vgroup_add_name fails */
+ if(curdef) {
+ *vgroup_mirror= mirrdef;
+ return;
+ }
+ }
+ }
+
+ *vgroup_mirror= -1;
+}
+
static void copy_vpaint_prev(VPaint *vp, unsigned int *mcol, int tot)
{
if(vp->vpaint_prev) {
@@ -381,32 +420,11 @@ void wpaint_fill(VPaint *wp, Object *ob, float paintweight)
}
vgroup= ob->actdef-1;
-
- /* directly copied from weight_paint, should probaby split into a separate function */
+
/* if mirror painting, find the other group */
if(me->editflag & ME_EDIT_MIRROR_X) {
- bDeformGroup *defgroup= BLI_findlink(&ob->defbase, ob->actdef-1);
- if(defgroup) {
- bDeformGroup *curdef;
- int actdef= 0;
- char name[32];
-
- flip_side_name(name, defgroup->name, FALSE);
-
- for (curdef = ob->defbase.first; curdef; curdef=curdef->next, actdef++)
- if (!strcmp(curdef->name, name))
- break;
- if(curdef==NULL) {
- int olddef= ob->actdef; /* tsk, ED_vgroup_add sets the active defgroup */
- curdef= ED_vgroup_add_name (ob, name);
- ob->actdef= olddef;
- }
-
- if(curdef && curdef!=defgroup)
- vgroup_mirror= actdef;
- }
+ wpaint_mirror_vgroup_ensure(ob, &vgroup_mirror);
}
- /* end copy from weight_paint*/
copy_wpaint_prev(wp, me->dvert, me->totvert);
@@ -731,15 +749,15 @@ static int sample_backbuf_area(ViewContext *vc, int *indexar, int totface, int x
return tot;
}
-static float calc_vp_alpha_dl(VPaint *vp, ViewContext *vc, float vpimat[][3], float *vert_nor, float *mval, float pressure)
+static float calc_vp_alpha_dl(VPaint *vp, ViewContext *vc, float vpimat[][3], float *vert_nor, const float mval[2], float pressure)
{
Brush *brush = paint_brush(&vp->paint);
float fac, fac_2, size, dx, dy;
float alpha;
- short vertco[2];
+ int vertco[2];
const int radius= brush_size(brush);
- project_short_noclip(vc->ar, vert_nor, vertco);
+ project_int_noclip(vc->ar, vert_nor, vertco);
dx= mval[0]-vertco[0];
dy= mval[1]-vertco[1];
@@ -855,145 +873,195 @@ static void wpaint_blend(VPaint *wp, MDeformWeight *dw, MDeformWeight *uw, float
/* ----------------------------------------------------- */
-/* used for 3d view, on active object, assumes me->dvert exists */
-/* if mode==1: */
-/* samples cursor location, and gives menu with vertex groups to activate */
-/* else */
-/* sets wp->weight to the closest weight value to vertex */
-/* note: we cant sample frontbuf, weight colors are interpolated too unpredictable */
-static void sample_wpaint(Scene *scene, ARegion *ar, View3D *UNUSED(v3d), int mode)
+
+/* sets wp->weight to the closest weight value to vertex */
+/* note: we cant sample frontbuf, weight colors are interpolated too unpredictable */
+static int weight_sample_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
ViewContext vc;
- ToolSettings *ts= scene->toolsettings;
- Object *ob= OBACT;
- Mesh *me= get_mesh(ob);
- int index;
- short mval[2] = {0, 0}, sco[2];
- int vgroup= ob->actdef-1;
+ Mesh *me;
+ short change= FALSE;
+
+ view3d_set_viewcontext(C, &vc);
+ me= get_mesh(vc.obact);
+
+ if (me && me->dvert && vc.v3d && vc.rv3d) {
+ int index;
+
+ view3d_operator_needs_opengl(C);
+
+ index= view3d_sample_backbuf(&vc, event->mval[0], event->mval[1]);
+
+ if(index && index<=me->totface) {
+ DerivedMesh *dm= mesh_get_derived_final(vc.scene, vc.obact, CD_MASK_BAREMESH);
- if (!me) return;
-
-// getmouseco_areawin(mval);
- index= view3d_sample_backbuf(&vc, mval[0], mval[1]);
-
- if(index && index<=me->totface) {
- MFace *mface;
-
- mface= ((MFace *)me->mface) + index-1;
-
- if(mode==1) { /* sampe which groups are in here */
- MDeformVert *dv;
- int a, totgroup;
-
- totgroup= BLI_countlist(&ob->defbase);
- if(totgroup) {
- int totmenu=0;
- int *groups=MEM_callocN(totgroup*sizeof(int), "groups");
-
- dv= me->dvert+mface->v1;
- for(a=0; a<dv->totweight; a++) {
- if (dv->dw[a].def_nr<totgroup)
- groups[dv->dw[a].def_nr]= 1;
- }
- dv= me->dvert+mface->v2;
- for(a=0; a<dv->totweight; a++) {
- if (dv->dw[a].def_nr<totgroup)
- groups[dv->dw[a].def_nr]= 1;
- }
- dv= me->dvert+mface->v3;
- for(a=0; a<dv->totweight; a++) {
- if (dv->dw[a].def_nr<totgroup)
- groups[dv->dw[a].def_nr]= 1;
- }
- if(mface->v4) {
- dv= me->dvert+mface->v4;
- for(a=0; a<dv->totweight; a++) {
- if (dv->dw[a].def_nr<totgroup)
- groups[dv->dw[a].def_nr]= 1;
- }
- }
- for(a=0; a<totgroup; a++)
- if(groups[a]) totmenu++;
-
- if(totmenu==0) {
- //notice("No Vertex Group Selected");
- }
- else {
- bDeformGroup *dg;
- short val;
- char item[40], *str= MEM_mallocN(40*totmenu+40, "menu");
-
- strcpy(str, "Vertex Groups %t");
- for(a=0, dg=ob->defbase.first; dg && a<totgroup; a++, dg= dg->next) {
- if(groups[a]) {
- sprintf(item, "|%s %%x%d", dg->name, a);
- strcat(str, item);
- }
- }
-
- val= 0; // XXX pupmenu(str);
- if(val>=0) {
- ob->actdef= val+1;
- DAG_id_tag_update(&me->id, 0);
- }
- MEM_freeN(str);
- }
- MEM_freeN(groups);
- }
-// else notice("No Vertex Groups in Object");
- }
- else {
- DerivedMesh *dm;
- float w1, w2, w3, w4, co[3], fac;
-
- dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
if(dm->getVertCo==NULL) {
- //notice("Not supported yet");
+ BKE_report(op->reports, RPT_WARNING, "The modifier used does not support deformed locations");
}
else {
- /* calc 3 or 4 corner weights */
- dm->getVertCo(dm, mface->v1, co);
- project_short_noclip(ar, co, sco);
- w1= ((mval[0]-sco[0])*(mval[0]-sco[0]) + (mval[1]-sco[1])*(mval[1]-sco[1]));
-
- dm->getVertCo(dm, mface->v2, co);
- project_short_noclip(ar, co, sco);
- w2= ((mval[0]-sco[0])*(mval[0]-sco[0]) + (mval[1]-sco[1])*(mval[1]-sco[1]));
-
- dm->getVertCo(dm, mface->v3, co);
- project_short_noclip(ar, co, sco);
- w3= ((mval[0]-sco[0])*(mval[0]-sco[0]) + (mval[1]-sco[1])*(mval[1]-sco[1]));
-
- if(mface->v4) {
- dm->getVertCo(dm, mface->v4, co);
- project_short_noclip(ar, co, sco);
- w4= ((mval[0]-sco[0])*(mval[0]-sco[0]) + (mval[1]-sco[1])*(mval[1]-sco[1]));
- }
- else w4= 1.0e10;
-
- fac= MIN4(w1, w2, w3, w4);
- if(w1==fac) {
- ts->vgroup_weight= defvert_find_weight(me->dvert+mface->v1, vgroup);
- }
- else if(w2==fac) {
- ts->vgroup_weight= defvert_find_weight(me->dvert+mface->v2, vgroup);
- }
- else if(w3==fac) {
- ts->vgroup_weight= defvert_find_weight(me->dvert+mface->v3, vgroup);
- }
- else if(w4==fac) {
- if(mface->v4) {
- ts->vgroup_weight= defvert_find_weight(me->dvert+mface->v4, vgroup);
+ MFace *mf= ((MFace *)me->mface) + index-1;
+ const int vgroup= vc.obact->actdef - 1;
+ ToolSettings *ts= vc.scene->toolsettings;
+ float mval_f[2];
+ int v_idx_best= -1;
+ int fidx;
+ float len_best= FLT_MAX;
+
+ mval_f[0]= (float)event->mval[0];
+ mval_f[1]= (float)event->mval[1];
+
+ fidx= mf->v4 ? 3:2;
+ do {
+ float co[3], sco[3], len;
+ const int v_idx= (*(&mf->v1 + fidx));
+ dm->getVertCo(dm, v_idx, co);
+ project_float_noclip(vc.ar, co, sco);
+ len= len_squared_v2v2(mval_f, sco);
+ if(len < len_best) {
+ len_best= len;
+ v_idx_best= v_idx;
}
+ } while (fidx--);
+
+ if(v_idx_best != -1) { /* should always be valid */
+ ts->vgroup_weight= defvert_find_weight(&me->dvert[v_idx_best], vgroup);
+ change= TRUE;
}
}
dm->release(dm);
- }
-
+ }
}
-
+
+ if(change) {
+ /* not really correct since the brush didnt change, but redraws the toolbar */
+ WM_main_add_notifier(NC_BRUSH|NA_EDITED, NULL); /* ts->wpaint->paint.brush */
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+void PAINT_OT_weight_sample(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Weight Paint Sample Weight";
+ ot->idname= "PAINT_OT_weight_sample";
+
+ /* api callbacks */
+ ot->invoke= weight_sample_invoke;
+ ot->poll= weight_paint_mode_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_UNDO;
+}
+
+/* samples cursor location, and gives menu with vertex groups to activate */
+static EnumPropertyItem *weight_paint_sample_enum_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
+{
+ if (C) {
+ wmWindow *win= CTX_wm_window(C);
+ if(win && win->eventstate) {
+ ViewContext vc;
+ Mesh *me;
+
+ view3d_set_viewcontext(C, &vc);
+ me= get_mesh(vc.obact);
+
+ if (me && me->dvert && vc.v3d && vc.rv3d) {
+ int index;
+
+ view3d_operator_needs_opengl(C);
+
+ index= view3d_sample_backbuf(&vc, win->eventstate->x - vc.ar->winrct.xmin, win->eventstate->y - vc.ar->winrct.ymin);
+
+ if(index && index<=me->totface) {
+ const int totgroup= BLI_countlist(&vc.obact->defbase);
+ if(totgroup) {
+ MFace *mf= ((MFace *)me->mface) + index-1;
+ int fidx= mf->v4 ? 3:2;
+ int *groups= MEM_callocN(totgroup*sizeof(int), "groups");
+ int found= FALSE;
+
+ do {
+ MDeformVert *dvert= me->dvert + (*(&mf->v1 + fidx));
+ int i= dvert->totweight;
+ MDeformWeight *dw;
+ for(dw= dvert->dw; i > 0; dw++, i--) {
+ groups[dw->def_nr]= TRUE;
+ found= TRUE;
+ }
+ } while (fidx--);
+
+ if(found==FALSE) {
+ MEM_freeN(groups);
+ }
+ else {
+ EnumPropertyItem *item= NULL, item_tmp= {0};
+ int totitem= 0;
+ int i= 0;
+ bDeformGroup *dg;
+ for(dg= vc.obact->defbase.first; dg && i<totgroup; i++, dg= dg->next) {
+ if(groups[i]) {
+ item_tmp.identifier= item_tmp.name= dg->name;
+ item_tmp.value= i;
+ RNA_enum_item_add(&item, &totitem, &item_tmp);
+ }
+ }
+
+ RNA_enum_item_end(&item, &totitem);
+ *free= 1;
+
+ MEM_freeN(groups);
+ return item;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return DummyRNA_NULL_items;
+}
+
+static int weight_sample_group_exec(bContext *C, wmOperator *op)
+{
+ int type= RNA_enum_get(op->ptr, "group");
+ ViewContext vc;
+ view3d_set_viewcontext(C, &vc);
+
+ vc.obact->actdef= type + 1;
+
+ DAG_id_tag_update(&vc.obact->id, OB_RECALC_DATA);
+ WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, vc.obact);
+ return OPERATOR_FINISHED;
+}
+
+/* TODO, we could make this a menu into OBJECT_OT_vertex_group_set_active rather than its own operator */
+void PAINT_OT_weight_sample_group(wmOperatorType *ot)
+{
+ PropertyRNA *prop= NULL;
+
+ /* identifiers */
+ ot->name= "Weight Paint Sample Group";
+ ot->idname= "PAINT_OT_weight_sample_group";
+
+ /* api callbacks */
+ ot->exec= weight_sample_group_exec;
+ ot->invoke= WM_menu_invoke;
+ ot->poll= weight_paint_mode_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_UNDO;
+
+ /* keyingset to use (dynamic enum) */
+ prop= RNA_def_enum(ot->srna, "group", DummyRNA_DEFAULT_items, 0, "Keying Set", "The Keying Set to use");
+ RNA_def_enum_funcs(prop, weight_paint_sample_enum_itemf);
+ ot->prop= prop;
}
+
static void do_weight_paint_auto_normalize(MDeformVert *dvert,
int paint_nr, char *map)
{
@@ -1147,110 +1215,6 @@ void PAINT_OT_weight_paint_toggle(wmOperatorType *ot)
}
-/* ************ paint radial controls *************/
-
-static int vpaint_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- Paint *p = paint_get_active(CTX_data_scene(C));
- Brush *brush = paint_brush(p);
- float col[4];
-
- WM_paint_cursor_end(CTX_wm_manager(C), p->paint_cursor);
- p->paint_cursor = NULL;
- brush_radial_control_invoke(op, brush, 1);
-
- copy_v3_v3(col, brush->add_col);
- col[3]= 0.5f;
- RNA_float_set_array(op->ptr, "color", col);
-
- return WM_radial_control_invoke(C, op, event);
-}
-
-static int vpaint_radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
-{
- int ret = WM_radial_control_modal(C, op, event);
- if(ret != OPERATOR_RUNNING_MODAL)
- paint_cursor_start(C, vertex_paint_poll);
- return ret;
-}
-
-static int vpaint_radial_control_exec(bContext *C, wmOperator *op)
-{
- Brush *brush = paint_brush(&CTX_data_scene(C)->toolsettings->vpaint->paint);
- int ret = brush_radial_control_exec(op, brush, 1);
-
- WM_event_add_notifier(C, NC_BRUSH|NA_EDITED, brush);
-
- return ret;
-}
-
-static int wpaint_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- Paint *p = paint_get_active(CTX_data_scene(C));
- Brush *brush = paint_brush(p);
- float col[4];
-
- WM_paint_cursor_end(CTX_wm_manager(C), p->paint_cursor);
- p->paint_cursor = NULL;
- brush_radial_control_invoke(op, brush, 1);
-
- copy_v3_v3(col, brush->add_col);
- col[3]= 0.5f;
- RNA_float_set_array(op->ptr, "color", col);
-
- return WM_radial_control_invoke(C, op, event);
-}
-
-static int wpaint_radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
-{
- int ret = WM_radial_control_modal(C, op, event);
- if(ret != OPERATOR_RUNNING_MODAL)
- paint_cursor_start(C, weight_paint_poll);
- return ret;
-}
-
-static int wpaint_radial_control_exec(bContext *C, wmOperator *op)
-{
- Brush *brush = paint_brush(&CTX_data_scene(C)->toolsettings->wpaint->paint);
- int ret = brush_radial_control_exec(op, brush, 1);
-
- WM_event_add_notifier(C, NC_BRUSH|NA_EDITED, brush);
-
- return ret;
-}
-
-void PAINT_OT_weight_paint_radial_control(wmOperatorType *ot)
-{
- WM_OT_radial_control_partial(ot);
-
- ot->name= "Weight Paint Radial Control";
- ot->idname= "PAINT_OT_weight_paint_radial_control";
-
- ot->invoke= wpaint_radial_control_invoke;
- ot->modal= wpaint_radial_control_modal;
- ot->exec= wpaint_radial_control_exec;
- ot->poll= weight_paint_poll;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
-}
-
-void PAINT_OT_vertex_paint_radial_control(wmOperatorType *ot)
-{
- WM_OT_radial_control_partial(ot);
-
- ot->name= "Vertex Paint Radial Control";
- ot->idname= "PAINT_OT_vertex_paint_radial_control";
-
- ot->invoke= vpaint_radial_control_invoke;
- ot->modal= vpaint_radial_control_modal;
- ot->exec= vpaint_radial_control_exec;
- ot->poll= vertex_paint_poll;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
-}
-
/* ************ weight paint operator ********** */
struct WPaintData {
@@ -1403,26 +1367,7 @@ static int wpaint_stroke_test_start(bContext *C, wmOperator *op, wmEvent *UNUSED
/* if mirror painting, find the other group */
if(me->editflag & ME_EDIT_MIRROR_X) {
- bDeformGroup *defgroup= BLI_findlink(&ob->defbase, ob->actdef-1);
- if(defgroup) {
- bDeformGroup *curdef;
- int actdef= 0;
- char name[32];
-
- flip_side_name(name, defgroup->name, FALSE);
-
- for (curdef = ob->defbase.first; curdef; curdef=curdef->next, actdef++)
- if (!strcmp(curdef->name, name))
- break;
- if(curdef==NULL) {
- int olddef= ob->actdef; /* tsk, ED_vgroup_add sets the active defgroup */
- curdef= ED_vgroup_add_name (ob, name);
- ob->actdef= olddef;
- }
-
- if(curdef && curdef!=defgroup)
- wpd->vgroup_mirror= actdef;
- }
+ wpaint_mirror_vgroup_ensure(ob, &wpd->vgroup_mirror);
}
return 1;
@@ -1655,6 +1600,13 @@ static int wpaint_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+static int wpaint_cancel(bContext *C, wmOperator *op)
+{
+ paint_stroke_cancel(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
void PAINT_OT_weight_paint(wmOperatorType *ot)
{
@@ -1667,6 +1619,7 @@ void PAINT_OT_weight_paint(wmOperatorType *ot)
ot->modal= paint_stroke_modal;
/* ot->exec= vpaint_exec; <-- needs stroke property */
ot->poll= weight_paint_poll;
+ ot->cancel= wpaint_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
@@ -1828,7 +1781,7 @@ static int vpaint_stroke_test_start(bContext *C, struct wmOperator *op, wmEvent
return 1;
}
-static void vpaint_paint_face(VPaint *vp, VPaintData *vpd, Object *ob, int index, float mval[2], float pressure, int UNUSED(flip))
+static void vpaint_paint_face(VPaint *vp, VPaintData *vpd, Object *ob, int index, const float mval[2], float pressure, int UNUSED(flip))
{
ViewContext *vc = &vpd->vc;
Brush *brush = paint_brush(&vp->paint);
@@ -1947,6 +1900,13 @@ static int vpaint_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+static int vpaint_cancel(bContext *C, wmOperator *op)
+{
+ paint_stroke_cancel(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
void PAINT_OT_vertex_paint(wmOperatorType *ot)
{
/* identifiers */
@@ -1958,6 +1918,7 @@ void PAINT_OT_vertex_paint(wmOperatorType *ot)
ot->modal= paint_stroke_modal;
/* ot->exec= vpaint_exec; <-- needs stroke property */
ot->poll= vertex_paint_poll;
+ ot->cancel= vpaint_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 7156b49c026..be985342ea8 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -281,7 +281,7 @@ static int sculpt_get_redraw_rect(ARegion *ar, RegionView3D *rv3d,
float bb_min[3], bb_max[3], pmat[4][4];
int i, j, k;
- view3d_get_object_project_mat(rv3d, ob, pmat);
+ ED_view3d_ob_project_mat_get(rv3d, ob, pmat);
if(!pbvh)
return 0;
@@ -301,7 +301,7 @@ static int sculpt_get_redraw_rect(ARegion *ar, RegionView3D *rv3d,
vec[0] = i ? bb_min[0] : bb_max[0];
vec[1] = j ? bb_min[1] : bb_max[1];
vec[2] = k ? bb_min[2] : bb_max[2];
- view3d_project_float(ar, vec, proj, pmat);
+ ED_view3d_project_float(ar, vec, proj, pmat);
rect->xmin = MIN2(rect->xmin, proj[0]);
rect->xmax = MAX2(rect->xmax, proj[0]);
rect->ymin = MIN2(rect->ymin, proj[1]);
@@ -357,7 +357,7 @@ void sculpt_get_redraw_planes(float planes[4][4], ARegion *ar,
rect.ymax -= 2;
#endif
- view3d_calculate_clipping(&bb, planes, &mats, &rect);
+ ED_view3d_calc_clipping(&bb, planes, &mats, &rect);
mul_m4_fl(planes, -1.0f);
/* clear redraw flag from nodes */
@@ -912,7 +912,7 @@ static void calc_sculpt_normal(Sculpt *sd, Object *ob, float an[3], PBVHNode **n
{
switch (brush->sculpt_plane) {
case SCULPT_DISP_DIR_VIEW:
- viewvector(ss->cache->vc->rv3d, ss->cache->vc->rv3d->twmat[3], an);
+ ED_view3d_global_to_vector(ss->cache->vc->rv3d, ss->cache->vc->rv3d->twmat[3], an);
break;
case SCULPT_DISP_DIR_X:
@@ -1823,7 +1823,7 @@ static void calc_sculpt_plane(Sculpt *sd, Object *ob, PBVHNode **nodes, int totn
{
switch (brush->sculpt_plane) {
case SCULPT_DISP_DIR_VIEW:
- viewvector(ss->cache->vc->rv3d, ss->cache->vc->rv3d->twmat[3], an);
+ ED_view3d_global_to_vector(ss->cache->vc->rv3d, ss->cache->vc->rv3d->twmat[3], an);
break;
case SCULPT_DISP_DIR_X:
@@ -2816,65 +2816,6 @@ static const char *sculpt_tool_name(Sculpt *sd)
}
}
-/**** Radial control ****/
-static int sculpt_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- Paint *p = paint_get_active(CTX_data_scene(C));
- Brush *brush = paint_brush(p);
- float col[4], tex_col[4];
-
- WM_paint_cursor_end(CTX_wm_manager(C), p->paint_cursor);
- p->paint_cursor = NULL;
- brush_radial_control_invoke(op, brush, 1);
-
- if((brush->flag & BRUSH_DIR_IN) && ELEM4(brush->sculpt_tool, SCULPT_TOOL_DRAW, SCULPT_TOOL_INFLATE, SCULPT_TOOL_CLAY, SCULPT_TOOL_PINCH))
- copy_v3_v3(col, brush->sub_col);
- else
- copy_v3_v3(col, brush->add_col);
- col[3]= 0.5f;
-
- copy_v3_v3(tex_col, U.sculpt_paint_overlay_col);
- tex_col[3]= (brush->texture_overlay_alpha / 100.0f);
-
- RNA_float_set_array(op->ptr, "color", col);
- RNA_float_set_array(op->ptr, "texture_color", tex_col);
-
- return WM_radial_control_invoke(C, op, event);
-}
-
-static int sculpt_radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
-{
- int ret = WM_radial_control_modal(C, op, event);
- if(ret != OPERATOR_RUNNING_MODAL)
- paint_cursor_start(C, sculpt_poll);
- return ret;
-}
-
-static int sculpt_radial_control_exec(bContext *C, wmOperator *op)
-{
- Brush *brush = paint_brush(&CTX_data_tool_settings(C)->sculpt->paint);
- int ret = brush_radial_control_exec(op, brush, 1);
-
- WM_event_add_notifier(C, NC_BRUSH|NA_EDITED, brush);
-
- return ret;
-}
-
-static void SCULPT_OT_radial_control(wmOperatorType *ot)
-{
- WM_OT_radial_control_partial(ot);
-
- ot->name= "Sculpt Radial Control";
- ot->idname= "SCULPT_OT_radial_control";
-
- ot->invoke= sculpt_radial_control_invoke;
- ot->modal= sculpt_radial_control_modal;
- ot->exec= sculpt_radial_control_exec;
- ot->poll= sculpt_poll;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
-}
-
/**** Operator for applying a stroke (various attributes including mouse path)
using the current brush. ****/
@@ -2985,7 +2926,7 @@ static void sculpt_update_cache_invariants(bContext* C, Sculpt *sd, SculptSessio
cache->mats = MEM_callocN(sizeof(bglMats), "sculpt bglMats");
view3d_get_transformation(vc->ar, vc->rv3d, vc->obact, cache->mats);
- viewvector(cache->vc->rv3d, cache->vc->rv3d->twmat[3], cache->true_view_normal);
+ ED_view3d_global_to_vector(cache->vc->rv3d, cache->vc->rv3d->twmat[3], cache->true_view_normal);
/* Initialize layer brush displacements and persistent coords */
if(brush->sculpt_tool == SCULPT_TOOL_LAYER) {
/* not supported yet for multires */
@@ -3053,8 +2994,7 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
cache->orig_grab_location[1],
cache->orig_grab_location[2]);
- window_to_3d_delta(cache->vc->ar, grab_location,
- cache->mouse[0], cache->mouse[1]);
+ ED_view3d_win_to_delta(cache->vc->ar, cache->mouse, grab_location);
/* compute delta to move verts by */
if(!cache->first_time) {
@@ -3306,7 +3246,7 @@ int sculpt_stroke_get_location(bContext *C, struct PaintStroke *stroke, float ou
sculpt_stroke_modifiers_check(C, ob);
- viewline(vc->ar, vc->v3d, mval, ray_start, ray_end);
+ ED_view3d_win_to_segment_clip(vc->ar, vc->v3d, mval, ray_start, ray_end);
invert_m4_m4(obimat, ob->obmat);
mul_m4_v3(obimat, ray_start);
@@ -3346,18 +3286,23 @@ static void sculpt_brush_init_tex(Sculpt *sd, SculptSession *ss)
sculpt_update_tex(sd, ss);
}
-static int sculpt_brush_stroke_init(bContext *C, ReportList *UNUSED(reports))
+static int sculpt_brush_stroke_init(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
Object *ob= CTX_data_active_object(C);
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
SculptSession *ss = CTX_data_active_object(C)->sculpt;
Brush *brush = paint_brush(&sd->paint);
+ int mode= RNA_enum_get(op->ptr, "mode");
+ int is_smooth= 0;
view3d_operator_needs_opengl(C);
sculpt_brush_init_tex(sd, ss);
- sculpt_update_mesh_elements(scene, sd, ob, brush->sculpt_tool == SCULPT_TOOL_SMOOTH);
+ is_smooth|= mode == BRUSH_STROKE_SMOOTH;
+ is_smooth|= brush->sculpt_tool == SCULPT_TOOL_SMOOTH;
+
+ sculpt_update_mesh_elements(scene, sd, ob, is_smooth);
return 1;
}
@@ -3573,7 +3518,7 @@ static int sculpt_brush_stroke_invoke(bContext *C, wmOperator *op, wmEvent *even
struct PaintStroke *stroke;
int ignore_background_click;
- if(!sculpt_brush_stroke_init(C, op->reports))
+ if(!sculpt_brush_stroke_init(C, op))
return OPERATOR_CANCELLED;
stroke = paint_stroke_new(C, sculpt_stroke_get_location,
@@ -3602,7 +3547,7 @@ static int sculpt_brush_stroke_invoke(bContext *C, wmOperator *op, wmEvent *even
static int sculpt_brush_stroke_exec(bContext *C, wmOperator *op)
{
- if(!sculpt_brush_stroke_init(C, op->reports))
+ if(!sculpt_brush_stroke_init(C, op))
return OPERATOR_CANCELLED;
op->customdata = paint_stroke_new(C, sculpt_stroke_get_location, sculpt_stroke_test_start,
@@ -3614,6 +3559,24 @@ static int sculpt_brush_stroke_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+static int sculpt_brush_stroke_cancel(bContext *C, wmOperator *op)
+{
+ Object *ob= CTX_data_active_object(C);
+ SculptSession *ss = ob->sculpt;
+ Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
+
+ paint_stroke_cancel(C, op);
+
+ if(ss->cache) {
+ sculpt_cache_free(ss->cache);
+ ss->cache = NULL;
+ }
+
+ sculpt_brush_exit_tex(sd);
+
+ return OPERATOR_CANCELLED;
+}
+
static void SCULPT_OT_brush_stroke(wmOperatorType *ot)
{
static EnumPropertyItem stroke_mode_items[] = {
@@ -3632,6 +3595,7 @@ static void SCULPT_OT_brush_stroke(wmOperatorType *ot)
ot->modal= paint_stroke_modal;
ot->exec= sculpt_brush_stroke_exec;
ot->poll= sculpt_poll;
+ ot->cancel= sculpt_brush_stroke_cancel;
/* flags (sculpt does own undo? (ton) */
ot->flag= OPTYPE_BLOCKING;
@@ -3758,7 +3722,6 @@ static void SCULPT_OT_sculptmode_toggle(wmOperatorType *ot)
void ED_operatortypes_sculpt(void)
{
- WM_operatortype_append(SCULPT_OT_radial_control);
WM_operatortype_append(SCULPT_OT_brush_stroke);
WM_operatortype_append(SCULPT_OT_sculptmode_toggle);
WM_operatortype_append(SCULPT_OT_set_persistent_base);
diff --git a/source/blender/editors/sound/CMakeLists.txt b/source/blender/editors/sound/CMakeLists.txt
index c2f7707309b..f66288812ad 100644
--- a/source/blender/editors/sound/CMakeLists.txt
+++ b/source/blender/editors/sound/CMakeLists.txt
@@ -22,13 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -37,4 +40,11 @@ set(SRC
sound_intern.h
)
-blender_add_lib(bf_editor_sound "${SRC}" "${INC}")
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+blender_add_lib(bf_editor_sound "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c
index 3716baad474..b7e8fee922b 100644
--- a/source/blender/editors/sound/sound_ops.c
+++ b/source/blender/editors/sound/sound_ops.c
@@ -64,7 +64,9 @@
#include "WM_api.h"
#include "WM_types.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "ED_sound.h"
#include "ED_util.h"
@@ -81,6 +83,7 @@ static void open_init(bContext *C, wmOperator *op)
uiIDContextProperty(C, &pprop->ptr, &pprop->prop);
}
+#ifdef WITH_AUDASPACE
static int open_exec(bContext *C, wmOperator *op)
{
char path[FILE_MAX];
@@ -131,6 +134,17 @@ static int open_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+#else //WITH_AUDASPACE
+
+static int open_exec(bContext *UNUSED(C), wmOperator *op)
+{
+ BKE_report(op->reports, RPT_ERROR, "Compiled without sound support");
+
+ return OPERATOR_CANCELLED;
+}
+
+#endif
+
static int open_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
if(!RNA_property_is_set(op->ptr, "relative_path"))
diff --git a/source/blender/editors/space_action/CMakeLists.txt b/source/blender/editors/space_action/CMakeLists.txt
index 7c52f4a9efb..edebaa8273a 100644
--- a/source/blender/editors/space_action/CMakeLists.txt
+++ b/source/blender/editors/space_action/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -41,4 +44,4 @@ set(SRC
action_intern.h
)
-blender_add_lib(bf_editor_space_action "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_action "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c
index bee872dbe60..4d0043913ab 100644
--- a/source/blender/editors/space_action/action_select.c
+++ b/source/blender/editors/space_action/action_select.c
@@ -332,6 +332,7 @@ void ACTION_OT_select_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= actkeys_borderselect_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_action_active;
@@ -847,20 +848,14 @@ static int actkeys_select_leftright_invoke (bContext *C, wmOperator *op, wmEvent
Scene *scene= ac.scene;
ARegion *ar= ac.ar;
View2D *v2d= &ar->v2d;
-
- int mval[2];
float x;
-
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
+
/* determine which side of the current frame mouse is on */
- UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, NULL);
+ UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, NULL);
if (x < CFRA)
- RNA_int_set(op->ptr, "mode", ACTKEYS_LRSEL_LEFT);
+ RNA_enum_set(op->ptr, "mode", ACTKEYS_LRSEL_LEFT);
else
- RNA_int_set(op->ptr, "mode", ACTKEYS_LRSEL_RIGHT);
+ RNA_enum_set(op->ptr, "mode", ACTKEYS_LRSEL_RIGHT);
}
/* perform selection */
@@ -974,7 +969,7 @@ static void actkeys_mselect_column(bAnimContext *ac, short select_mode, float se
/* ------------------- */
-static void mouse_action_keys (bAnimContext *ac, int mval[2], short select_mode, short column)
+static void mouse_action_keys (bAnimContext *ac, const int mval[2], short select_mode, short column)
{
ListBase anim_data = {NULL, NULL};
DLRBT_Tree anim_keys;
@@ -1159,7 +1154,6 @@ static int actkeys_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *even
bAnimContext ac;
ARegion *ar;
short selectmode, column;
- int mval[2];
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
@@ -1167,11 +1161,7 @@ static int actkeys_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *even
/* get useful pointers from animation context data */
ar= ac.ar;
-
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
+
/* select mode is either replace (deselect all, then add) or add/extend */
if (RNA_boolean_get(op->ptr, "extend"))
selectmode= SELECT_INVERT;
@@ -1182,7 +1172,7 @@ static int actkeys_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *even
column= RNA_boolean_get(op->ptr, "column");
/* select keyframe(s) based upon mouse position*/
- mouse_action_keys(&ac, mval, selectmode, column);
+ mouse_action_keys(&ac, event->mval, selectmode, column);
/* set notifier that keyframe selection (and channels too) have changed */
WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|ND_ANIMCHAN|NA_SELECTED, NULL);
diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c
index 10a1fe62cca..7a824e6bf9d 100644
--- a/source/blender/editors/space_action/space_action.c
+++ b/source/blender/editors/space_action/space_action.c
@@ -58,6 +58,7 @@
#include "UI_view2d.h"
#include "ED_space_api.h"
+#include "ED_screen.h"
#include "ED_anim_api.h"
#include "ED_markers.h"
diff --git a/source/blender/editors/space_api/CMakeLists.txt b/source/blender/editors/space_api/CMakeLists.txt
index 22319dbb26e..4cbb290be76 100644
--- a/source/blender/editors/space_api/CMakeLists.txt
+++ b/source/blender/editors/space_api/CMakeLists.txt
@@ -22,17 +22,21 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
space.c
spacetypes.c
)
-blender_add_lib(bf_editor_space_api "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_api "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_api/spacetypes.c b/source/blender/editors/space_api/spacetypes.c
index 8d8cdcc7183..4f8cb8a57b2 100644
--- a/source/blender/editors/space_api/spacetypes.c
+++ b/source/blender/editors/space_api/spacetypes.c
@@ -70,6 +70,9 @@ void ED_spacetypes_init(void)
const ListBase *spacetypes;
SpaceType *type;
+ /* UI_UNIT_X is now a variable, is used in some spacetype inits? */
+ U.widget_unit= 20;
+
/* create space types */
ED_spacetype_outliner();
ED_spacetype_time();
diff --git a/source/blender/editors/space_buttons/CMakeLists.txt b/source/blender/editors/space_buttons/CMakeLists.txt
index e9670949cd5..631e2adea34 100644
--- a/source/blender/editors/space_buttons/CMakeLists.txt
+++ b/source/blender/editors/space_buttons/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -40,4 +43,4 @@ set(SRC
buttons_intern.h
)
-blender_add_lib(bf_editor_space_buttons "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_buttons "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c
index f91e830d52e..8e1a4b2d16c 100644
--- a/source/blender/editors/space_buttons/buttons_context.c
+++ b/source/blender/editors/space_buttons/buttons_context.c
@@ -218,7 +218,7 @@ static int buttons_context_path_modifier(ButsContextPath *path)
return 0;
}
-static int buttons_context_path_material(ButsContextPath *path)
+static int buttons_context_path_material(ButsContextPath *path, int for_texture)
{
Object *ob;
PointerRNA *ptr= &path->ptr[path->len-1];
@@ -236,6 +236,9 @@ static int buttons_context_path_material(ButsContextPath *path)
ma= give_current_material(ob, ob->actcol);
RNA_id_pointer_create(&ma->id, &path->ptr[path->len]);
path->len++;
+
+ if(for_texture && give_current_material_texture_node(ma))
+ return 1;
ma= give_node_material(ma);
if(ma) {
@@ -432,7 +435,7 @@ static int buttons_context_path_texture(ButsContextPath *path)
}
}
/* try material */
- if(buttons_context_path_material(path)) {
+ if(buttons_context_path_material(path, 1)) {
ma= path->ptr[path->len-1].data;
if(ma) {
@@ -524,7 +527,7 @@ static int buttons_context_path(const bContext *C, ButsContextPath *path, int ma
found= buttons_context_path_particle(path);
break;
case BCONTEXT_MATERIAL:
- found= buttons_context_path_material(path);
+ found= buttons_context_path_material(path, 0);
break;
case BCONTEXT_TEXTURE:
found= buttons_context_path_texture(path);
diff --git a/source/blender/editors/space_buttons/buttons_header.c b/source/blender/editors/space_buttons/buttons_header.c
index dc588f08ff1..19c600be937 100644
--- a/source/blender/editors/space_buttons/buttons_header.c
+++ b/source/blender/editors/space_buttons/buttons_header.c
@@ -98,11 +98,13 @@ static void do_buttons_buttons(bContext *C, void *UNUSED(arg), int event)
sbuts->mainbuser= sbuts->mainb;
}
+#define BUT_UNIT_X (UI_UNIT_X+2)
+
void buttons_header_buttons(const bContext *C, ARegion *ar)
{
SpaceButs *sbuts= CTX_wm_space_buts(C);
uiBlock *block;
- int xco, yco= 3;
+ int xco, yco= 2;
buttons_context_compute(C, sbuts);
@@ -113,42 +115,42 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
uiBlockSetEmboss(block, UI_EMBOSS);
- xco -= XIC;
+ xco -= UI_UNIT_X;
// Default panels
uiBlockBeginAlign(block);
if(sbuts->pathflag & (1<<BCONTEXT_RENDER))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_RENDER, 0, 0, "Render");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_RENDER, 0, 0, "Render");
if(sbuts->pathflag & (1<<BCONTEXT_SCENE))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE_DATA, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene");
if(sbuts->pathflag & (1<<BCONTEXT_WORLD))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World");
if(sbuts->pathflag & (1<<BCONTEXT_OBJECT))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
if(sbuts->pathflag & (1<<BCONTEXT_CONSTRAINT))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Object Constraints");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Object Constraints");
if(sbuts->pathflag & (1<<BCONTEXT_MODIFIER))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifiers");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifiers");
if(sbuts->pathflag & (1<<BCONTEXT_DATA))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, sbuts->dataicon, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, sbuts->dataicon, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
if(sbuts->pathflag & (1<<BCONTEXT_BONE))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
if(sbuts->pathflag & (1<<BCONTEXT_BONE_CONSTRAINT))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT_BONE, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE_CONSTRAINT, 0, 0, "Bone Constraints");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT_BONE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE_CONSTRAINT, 0, 0, "Bone Constraints");
if(sbuts->pathflag & (1<<BCONTEXT_MATERIAL))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MATERIAL, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MATERIAL, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
if(sbuts->pathflag & (1<<BCONTEXT_TEXTURE))
- uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture");
+ uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture");
if(sbuts->pathflag & (1<<BCONTEXT_PARTICLE))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles");
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles");
if(sbuts->pathflag & (1<<BCONTEXT_PHYSICS))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
- xco+= BUTS_UI_UNIT;
+ uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
+ xco+= BUT_UNIT_X;
uiBlockEndAlign(block);
/* always as last */
- UI_view2d_totRect_set(&ar->v2d, xco+(XIC/2), ar->v2d.tot.ymax-ar->v2d.tot.ymin);
+ UI_view2d_totRect_set(&ar->v2d, xco+(UI_UNIT_X/2), ar->v2d.tot.ymax-ar->v2d.tot.ymin);
uiEndBlock(C, block);
uiDrawBlock(C, block);
diff --git a/source/blender/editors/space_buttons/buttons_intern.h b/source/blender/editors/space_buttons/buttons_intern.h
index d92488e47ef..d25bd7940ab 100644
--- a/source/blender/editors/space_buttons/buttons_intern.h
+++ b/source/blender/editors/space_buttons/buttons_intern.h
@@ -55,9 +55,6 @@ struct ID;
#define BUTS_SENS_STATE 512
#define BUTS_ACT_STATE 1024
-#define BUTS_HEADERY (HEADERY*1.2)
-#define BUTS_UI_UNIT (UI_UNIT_Y*1.2)
-
/* internal exports only */
/* buttons_header.c */
@@ -74,6 +71,7 @@ extern const char *buttons_context_dir[]; /* doc access */
/* buttons_ops.c */
void BUTTONS_OT_file_browse(struct wmOperatorType *ot);
+void BUTTONS_OT_directory_browse(struct wmOperatorType *ot);
void BUTTONS_OT_toolbox(struct wmOperatorType *ot);
#endif /* ED_BUTTONS_INTERN_H */
diff --git a/source/blender/editors/space_buttons/buttons_ops.c b/source/blender/editors/space_buttons/buttons_ops.c
index 9190d5aff54..99e5c6d693e 100644
--- a/source/blender/editors/space_buttons/buttons_ops.c
+++ b/source/blender/editors/space_buttons/buttons_ops.c
@@ -51,6 +51,7 @@
#include "WM_types.h"
#include "ED_screen.h"
+#include "ED_util.h"
#include "RNA_access.h"
@@ -103,11 +104,12 @@ static int file_browse_exec(bContext *C, wmOperator *op)
FileBrowseOp *fbo= op->customdata;
ID *id;
char *base, *str, path[FILE_MAX];
+ const char *path_prop= RNA_struct_find_property(op->ptr, "directory") ? "directory" : "filepath";
- if (RNA_property_is_set(op->ptr, "filepath")==0 || fbo==NULL)
+ if (RNA_property_is_set(op->ptr, path_prop)==0 || fbo==NULL)
return OPERATOR_CANCELLED;
- str= RNA_string_get_alloc(op->ptr, "filepath", NULL, 0);
+ str= RNA_string_get_alloc(op->ptr, path_prop, NULL, 0);
/* add slash for directories, important for some properties */
if(RNA_property_subtype(fbo->prop) == PROP_DIRPATH) {
@@ -131,7 +133,19 @@ static int file_browse_exec(bContext *C, wmOperator *op)
RNA_property_update(C, &fbo->ptr, fbo->prop);
MEM_freeN(str);
+
+ /* special, annoying exception, filesel on redo panel [#26618] */
+ {
+ wmOperator *redo_op= WM_operator_last_redo(C);
+ if(redo_op) {
+ if(fbo->ptr.data == redo_op->ptr->data) {
+ ED_undo_operator_repeat(C, redo_op);
+ }
+ }
+ }
+
MEM_freeN(op->customdata);
+
return OPERATOR_FINISHED;
}
@@ -178,12 +192,13 @@ static int file_browse_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_CANCELLED;
}
else {
+ const char *path_prop= RNA_struct_find_property(op->ptr, "directory") ? "directory" : "filepath";
fbo= MEM_callocN(sizeof(FileBrowseOp), "FileBrowseOp");
fbo->ptr= ptr;
fbo->prop= prop;
op->customdata= fbo;
- RNA_string_set(op->ptr, "filepath", str);
+ RNA_string_set(op->ptr, path_prop, str);
MEM_freeN(str);
if(RNA_struct_find_property(op->ptr, "relative_path")) {
@@ -214,3 +229,19 @@ void BUTTONS_OT_file_browse(wmOperatorType *ot)
WM_operator_properties_filesel(ot, 0, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
}
+/* second operator, only difference from BUTTONS_OT_file_browse is WM_FILESEL_DIRECTORY */
+void BUTTONS_OT_directory_browse(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Accept";
+ ot->description="Open a directory browser, Hold Shift to open the file, Alt to browse containing directory";
+ ot->idname= "BUTTONS_OT_directory_browse";
+
+ /* api callbacks */
+ ot->invoke= file_browse_invoke;
+ ot->exec= file_browse_exec;
+ ot->cancel= file_browse_cancel;
+
+ /* properties */
+ WM_operator_properties_filesel(ot, 0, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH);
+}
diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c
index a808e9885c4..e2d80e9e775 100644
--- a/source/blender/editors/space_buttons/space_buttons.c
+++ b/source/blender/editors/space_buttons/space_buttons.c
@@ -187,6 +187,7 @@ static void buttons_operatortypes(void)
{
WM_operatortype_append(BUTTONS_OT_toolbox);
WM_operatortype_append(BUTTONS_OT_file_browse);
+ WM_operatortype_append(BUTTONS_OT_directory_browse);
}
static void buttons_keymap(struct wmKeyConfig *keyconf)
@@ -405,7 +406,7 @@ void ED_spacetype_buttons(void)
/* regions: header */
art= MEM_callocN(sizeof(ARegionType), "spacetype buttons region");
art->regionid = RGN_TYPE_HEADER;
- art->prefsizey= BUTS_HEADERY;
+ art->prefsizey= HEADERY;
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES|ED_KEYMAP_HEADER;
art->init= buttons_header_area_init;
diff --git a/source/blender/editors/space_console/CMakeLists.txt b/source/blender/editors/space_console/CMakeLists.txt
index 14e7f4a90d0..f89d782c7f2 100644
--- a/source/blender/editors/space_console/CMakeLists.txt
+++ b/source/blender/editors/space_console/CMakeLists.txt
@@ -29,6 +29,9 @@ set(INC
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -44,4 +47,4 @@ if(WITH_PYTHON)
add_definitions(-DWITH_PYTHON)
endif()
-blender_add_lib(bf_editor_space_console "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_console "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_console/console_draw.c b/source/blender/editors/space_console/console_draw.c
index bf5df87610c..905fed4f30b 100644
--- a/source/blender/editors/space_console/console_draw.c
+++ b/source/blender/editors/space_console/console_draw.c
@@ -83,11 +83,13 @@ typedef struct ConsoleDrawContext {
int console_width;
int winx;
int ymin, ymax;
+#if 0 /* used by textview, may use later */
int *xy; // [2]
int *sel; // [2]
int *pos_pick; // bottom of view == 0, top of file == combine chars, end of line is lower then start.
int *mval; // [2]
int draw;
+#endif
} ConsoleDrawContext;
void console_scrollback_prompt_begin(struct SpaceConsole *sc, ConsoleLine *cl_dummy)
diff --git a/source/blender/editors/space_console/console_ops.c b/source/blender/editors/space_console/console_ops.c
index 97c2d9e3eb4..3effea296d7 100644
--- a/source/blender/editors/space_console/console_ops.c
+++ b/source/blender/editors/space_console/console_ops.c
@@ -84,7 +84,7 @@ static void console_scrollback_limit(SpaceConsole *sc)
{
int tot;
- if (U.scrollback < 32) U.scrollback= 128; // XXX - save in user defaults
+ if (U.scrollback < 32) U.scrollback= 256; // XXX - save in user defaults
for(tot= BLI_countlist(&sc->scrollback); tot > U.scrollback; tot--)
console_scrollback_free(sc, sc->scrollback.first);
diff --git a/source/blender/editors/space_file/CMakeLists.txt b/source/blender/editors/space_file/CMakeLists.txt
index 0a3bce76466..4aa6cdbcf2f 100644
--- a/source/blender/editors/space_file/CMakeLists.txt
+++ b/source/blender/editors/space_file/CMakeLists.txt
@@ -28,9 +28,12 @@ set(INC
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -48,6 +51,10 @@ set(SRC
fsmenu.h
)
+if(WITH_HEADLESS)
+ add_definitions(-DWITH_HEADLESS)
+endif()
+
if(WITH_IMAGE_OPENEXR)
add_definitions(-DWITH_OPENEXR)
endif()
@@ -72,4 +79,4 @@ if(WITH_IMAGE_HDR)
add_definitions(-DWITH_HDR)
endif()
-blender_add_lib(bf_editor_space_file "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_file "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_file/file_draw.c b/source/blender/editors/space_file/file_draw.c
index 903af649caa..9fecfda7764 100644
--- a/source/blender/editors/space_file/file_draw.c
+++ b/source/blender/editors/space_file/file_draw.c
@@ -74,12 +74,6 @@
#include "file_intern.h" // own include
-/* ui geometry */
-#define IMASEL_BUTTONS_HEIGHT 40
-#define IMASEL_BUTTONS_MARGIN 6
-#define TILE_BORDER_X 8
-#define TILE_BORDER_Y 8
-
/* button events */
enum {
B_FS_DIRNAME,
@@ -191,16 +185,18 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
uiButSetCompleteFunc(but, autocomplete_directory, NULL);
uiButSetFlag(but, UI_BUT_NO_UTF8);
- but = uiDefBut(block, TEX, B_FS_FILENAME, "",
- min_x, line2_y, line2_w-chan_offs, btn_h,
- params->file, 0.0, (float)FILE_MAXFILE-1, 0, 0,
- overwrite_alert ?"File name, overwrite existing." : "File name.");
- uiButSetCompleteFunc(but, autocomplete_file, NULL);
- uiButSetFlag(but, UI_BUT_NO_UTF8);
-
- /* check if this overrides a file and if the operator option is used */
- if(overwrite_alert) {
- uiButSetFlag(but, UI_BUT_REDALERT);
+ if((params->flag & FILE_DIRSEL_ONLY) == 0) {
+ but = uiDefBut(block, TEX, B_FS_FILENAME, "",
+ min_x, line2_y, line2_w-chan_offs, btn_h,
+ params->file, 0.0, (float)FILE_MAXFILE-1, 0, 0,
+ overwrite_alert ?"File name, overwrite existing." : "File name.");
+ uiButSetCompleteFunc(but, autocomplete_file, NULL);
+ uiButSetFlag(but, UI_BUT_NO_UTF8);
+
+ /* check if this overrides a file and if the operator option is used */
+ if(overwrite_alert) {
+ uiButSetFlag(but, UI_BUT_REDALERT);
+ }
}
/* clear func */
@@ -208,7 +204,7 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
}
/* Filename number increment / decrement buttons. */
- if (fnumbuttons) {
+ if (fnumbuttons && (params->flag & FILE_DIRSEL_ONLY) == 0) {
uiBlockBeginAlign(block);
but = uiDefIconButO(block, BUT, "FILE_OT_filenum", 0, ICON_ZOOMOUT,
min_x + line2_w + separator - chan_offs, line2_y,
@@ -523,8 +519,8 @@ void file_draw_list(const bContext *C, ARegion *ar)
file_draw_preview(block, file, sx, sy, imb, layout, !is_icon && (file->flags & IMAGEFILE));
} else {
- file_draw_icon(block, file->path, sx, sy-3, get_file_icon(file), ICON_DEFAULT_WIDTH, ICON_DEFAULT_WIDTH);
- sx += ICON_DEFAULT_WIDTH + 4;
+ file_draw_icon(block, file->path, sx, sy-(UI_UNIT_Y / 6), get_file_icon(file), ICON_DEFAULT_WIDTH_SCALE, ICON_DEFAULT_WIDTH_SCALE);
+ sx += ICON_DEFAULT_WIDTH_SCALE + 4;
}
UI_ThemeColor4(TH_TEXT);
diff --git a/source/blender/editors/space_file/file_intern.h b/source/blender/editors/space_file/file_intern.h
index f171c4936fc..1965c661685 100644
--- a/source/blender/editors/space_file/file_intern.h
+++ b/source/blender/editors/space_file/file_intern.h
@@ -43,8 +43,12 @@ struct SpaceFile;
struct ARegion *file_buttons_region(struct ScrArea *sa);
/* file_draw.c */
-#define TILE_BORDER_X 8
-#define TILE_BORDER_Y 8
+#define TILE_BORDER_X (UI_UNIT_X/4)
+#define TILE_BORDER_Y (UI_UNIT_Y/4)
+
+/* ui geometry */
+#define IMASEL_BUTTONS_HEIGHT (UI_UNIT_Y*2)
+#define IMASEL_BUTTONS_MARGIN (UI_UNIT_Y/6)
void file_draw_buttons(const bContext *C, ARegion *ar);
void file_calc_previews(const bContext *C, ARegion *ar);
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index 5d786c1d00b..77524c7e117 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -205,9 +205,10 @@ static FileSelect file_select(bContext* C, const rcti* rect, FileSelType select,
SpaceFile *sfile= CTX_wm_space_file(C);
FileSelect retval = FILE_SELECT_NOTHING;
FileSelection sel= file_selection_get(C, rect, fill); /* get the selection */
+ const FileCheckType check_type= (sfile->params->flag & FILE_DIRSEL_ONLY) ? CHECK_DIRS : CHECK_ALL;
/* flag the files as selected in the filelist */
- filelist_select(sfile->files, &sel, select, SELECTED_FILE, CHECK_ALL);
+ filelist_select(sfile->files, &sel, select, SELECTED_FILE, check_type);
/* Don't act on multiple selected files */
if (sel.first != sel.last) select = 0;
@@ -216,7 +217,7 @@ static FileSelect file_select(bContext* C, const rcti* rect, FileSelType select,
if ( (sel.last >= 0) && ((select == FILE_SEL_ADD) || (select == FILE_SEL_TOGGLE)) )
{
/* Check last selection, if selected, act on the file or dir */
- if (filelist_is_selected(sfile->files, sel.last, CHECK_ALL)) {
+ if (filelist_is_selected(sfile->files, sel.last, check_type)) {
retval = file_select_do(C, sel.last);
}
}
@@ -301,6 +302,7 @@ void FILE_OT_select_border(wmOperatorType *ot)
ot->exec= file_border_select_exec;
ot->modal= file_border_select_modal;
ot->poll= ED_operator_file_active;
+ ot->cancel= WM_border_select_cancel;
/* rna */
WM_operator_properties_gesture_border(ot, 0);
@@ -318,8 +320,8 @@ static int file_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(ar->regiontype != RGN_TYPE_WINDOW)
return OPERATOR_CANCELLED;
- rect.xmin = rect.xmax = event->x - ar->winrct.xmin;
- rect.ymin = rect.ymax = event->y - ar->winrct.ymin;
+ rect.xmin = rect.xmax = event->mval[0];
+ rect.ymin = rect.ymax = event->mval[1];
if(!BLI_in_rcti(&ar->v2d.mask, rect.xmin, rect.ymin))
return OPERATOR_CANCELLED;
@@ -377,8 +379,10 @@ static int file_select_all_exec(bContext *C, wmOperator *UNUSED(op))
/* select all only if previously no file was selected */
if (is_selected) {
filelist_select(sfile->files, &sel, FILE_SEL_REMOVE, SELECTED_FILE, CHECK_ALL);
- } else {
- filelist_select(sfile->files, &sel, FILE_SEL_ADD, SELECTED_FILE, CHECK_FILES);
+ }
+ else {
+ const FileCheckType check_type= (sfile->params->flag & FILE_DIRSEL_ONLY) ? CHECK_DIRS : CHECK_FILES;
+ filelist_select(sfile->files, &sel, FILE_SEL_ADD, SELECTED_FILE, check_type);
}
ED_area_tag_redraw(sa);
return OPERATOR_FINISHED;
@@ -1275,7 +1279,7 @@ void FILE_OT_filenum(struct wmOperatorType *ot)
ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
/* props */
- RNA_def_int(ot->srna, "increment", 1, 0, 100, "Increment", "", 0,100);
+ RNA_def_int(ot->srna, "increment", 1, -100, 100, "Increment", "", -100,100);
}
static int file_rename_exec(bContext *C, wmOperator *UNUSED(op))
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index b097ad0f55e..6736230e84f 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -59,6 +59,7 @@
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_library.h"
+#include "BKE_icons.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "BLO_readfile.h"
@@ -372,7 +373,11 @@ void filelist_init_icons(void)
short x, y, k;
ImBuf *bbuf;
ImBuf *ibuf;
+#ifdef WITH_HEADLESS
+ bbuf = NULL;
+#else
bbuf = IMB_ibImageFromMemory((unsigned char*)datatoc_prvicons, datatoc_prvicons_size, IB_rect);
+#endif
if (bbuf) {
for (y=0; y<SPECIAL_IMG_ROWS; y++) {
for (x=0; x<SPECIAL_IMG_COLS; x++) {
@@ -433,7 +438,7 @@ void folderlist_pushdir(ListBase* folderlist, const char *dir)
// check if already exists
if(previous_folder && previous_folder->foldername){
- if(! strcmp(previous_folder->foldername, dir)){
+ if(BLI_path_cmp(previous_folder->foldername, dir)==0){
return;
}
}
@@ -910,6 +915,8 @@ void filelist_select_file(struct FileList* filelist, int index, FileSelType sele
int check_ok = 0;
switch (check) {
case CHECK_DIRS:
+ check_ok = S_ISDIR(file->type);
+ break;
case CHECK_ALL:
check_ok = 1;
break;
@@ -999,7 +1006,7 @@ static int groupname_to_code(char *group)
return BKE_idcode_from_name(buf);
}
-
+
void filelist_from_library(struct FileList* filelist)
{
LinkNode *l, *names, *previews;
@@ -1070,9 +1077,9 @@ void filelist_from_library(struct FileList* filelist)
PreviewImage *img= l->link;
if (img) {
- unsigned int w = img->w[PREVIEW_MIPMAP_LARGE];
- unsigned int h = img->h[PREVIEW_MIPMAP_LARGE];
- unsigned int *rect = img->rect[PREVIEW_MIPMAP_LARGE];
+ unsigned int w = img->w[ICON_SIZE_PREVIEW];
+ unsigned int h = img->h[ICON_SIZE_PREVIEW];
+ unsigned int *rect = img->rect[ICON_SIZE_PREVIEW];
/* first allocate imbuf for copying preview into it */
if (w > 0 && h > 0 && rect) {
@@ -1086,7 +1093,7 @@ void filelist_from_library(struct FileList* filelist)
}
BLI_linklist_free(names, free);
- if (previews) BLI_linklist_free(previews, (void(*)(void*)) MEM_freeN);
+ if (previews) BLI_linklist_free(previews, BKE_previewimg_freefunc);
filelist_sort(filelist, FILE_SORT_ALPHA);
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c
index 968953abf62..6773dfb6b2d 100644
--- a/source/blender/editors/space_file/filesel.c
+++ b/source/blender/editors/space_file/filesel.c
@@ -121,6 +121,11 @@ short ED_fileselect_set_params(SpaceFile *sfile)
/* set the parameters from the operator, if it exists */
if (op) {
+ const short is_files= (RNA_struct_find_property(op->ptr, "files") != NULL);
+ const short is_filepath= (RNA_struct_find_property(op->ptr, "filepath") != NULL);
+ const short is_filename= (RNA_struct_find_property(op->ptr, "filename") != NULL);
+ const short is_directory= (RNA_struct_find_property(op->ptr, "directory") != NULL);
+
BLI_strncpy(params->title, op->type->name, sizeof(params->title));
if(RNA_struct_find_property(op->ptr, "filemode"))
@@ -128,7 +133,7 @@ short ED_fileselect_set_params(SpaceFile *sfile)
else
params->type = FILE_SPECIAL;
- if (RNA_struct_find_property(op->ptr, "filepath") && RNA_property_is_set(op->ptr, "filepath")) {
+ if (is_filepath && RNA_property_is_set(op->ptr, "filepath")) {
char name[FILE_MAX];
RNA_string_get(op->ptr, "filepath", name);
if (params->type == FILE_LOADLIB) {
@@ -140,12 +145,12 @@ short ED_fileselect_set_params(SpaceFile *sfile)
}
}
else {
- if (RNA_struct_find_property(op->ptr, "directory") && RNA_property_is_set(op->ptr, "directory")) {
+ if (is_directory && RNA_property_is_set(op->ptr, "directory")) {
RNA_string_get(op->ptr, "directory", params->dir);
sfile->params->file[0]= '\0';
}
- if (RNA_struct_find_property(op->ptr, "filename") && RNA_property_is_set(op->ptr, "filename")) {
+ if (is_filename && RNA_property_is_set(op->ptr, "filename")) {
RNA_string_get(op->ptr, "filename", params->file);
}
}
@@ -155,6 +160,13 @@ short ED_fileselect_set_params(SpaceFile *sfile)
BLI_path_abs(params->dir, G.main->name);
}
+ if(is_directory==TRUE && is_filename==FALSE && is_filepath==FALSE && is_files==FALSE) {
+ params->flag |= FILE_DIRSEL_ONLY;
+ }
+ else {
+ params->flag &= ~FILE_DIRSEL_ONLY;
+ }
+
params->filter = 0;
if(RNA_struct_find_property(op->ptr, "filter_blender"))
params->filter |= RNA_boolean_get(op->ptr, "filter_blender") ? BLENDERFILE : 0;
@@ -216,10 +228,12 @@ short ED_fileselect_set_params(SpaceFile *sfile)
params->display= FILE_SHORTDISPLAY;
}
- } else {
+ }
+ else {
/* default values, if no operator */
params->type = FILE_UNIX;
params->flag |= FILE_HIDE_DOT;
+ params->flag &= ~FILE_DIRSEL_ONLY;
params->display = FILE_SHORTDISPLAY;
params->filter = 0;
params->filter_glob[0] = '\0';
@@ -406,7 +420,7 @@ float file_font_pointsize(void)
#else
uiStyle *style= U.uistyles.first;
uiStyleFontSet(&style->widget);
- return style->widget.points;
+ return style->widget.points * UI_DPI_FAC;
#endif
}
@@ -497,11 +511,11 @@ void ED_fileselect_init_layout(struct SpaceFile *sfile, struct ARegion *ar)
column_widths(sfile->files, layout);
if (params->display == FILE_SHORTDISPLAY) {
- maxlen = ICON_DEFAULT_WIDTH + 4 +
+ maxlen = ICON_DEFAULT_WIDTH_SCALE + 4 +
(int)layout->column_widths[COLUMN_NAME] + 12 +
(int)layout->column_widths[COLUMN_SIZE] + 12;
} else {
- maxlen = ICON_DEFAULT_WIDTH + 4 +
+ maxlen = ICON_DEFAULT_WIDTH_SCALE + 4 +
(int)layout->column_widths[COLUMN_NAME] + 12 +
#ifndef WIN32
(int)layout->column_widths[COLUMN_MODE1] + 12 +
diff --git a/source/blender/editors/space_file/space_file.c b/source/blender/editors/space_file/space_file.c
index ec0d9806bca..18270bfaa26 100644
--- a/source/blender/editors/space_file/space_file.c
+++ b/source/blender/editors/space_file/space_file.c
@@ -606,7 +606,7 @@ void ED_spacetype_file(void)
void ED_file_init(void)
{
- char *cfgdir = BLI_get_folder(BLENDER_CONFIG, NULL);
+ char *cfgdir = BLI_get_folder(BLENDER_USER_CONFIG, NULL);
fsmenu_read_system(fsmenu_get());
diff --git a/source/blender/editors/space_graph/CMakeLists.txt b/source/blender/editors/space_graph/CMakeLists.txt
index 59f2b22516d..80205ad5564 100644
--- a/source/blender/editors/space_graph/CMakeLists.txt
+++ b/source/blender/editors/space_graph/CMakeLists.txt
@@ -22,13 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -44,4 +46,11 @@ set(SRC
graph_intern.h
)
-blender_add_lib(bf_editor_space_graph "${SRC}" "${INC}")
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+blender_add_lib(bf_editor_space_graph "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_graph/graph_draw.c b/source/blender/editors/space_graph/graph_draw.c
index d3b9c68a492..382bb71a592 100644
--- a/source/blender/editors/space_graph/graph_draw.c
+++ b/source/blender/editors/space_graph/graph_draw.c
@@ -320,7 +320,9 @@ static int draw_fcurve_handles_check(SpaceIpo *sipo, FCurve *fcu)
/* don't draw handle lines if handles are not to be shown */
if ( (sipo->flag & SIPO_NOHANDLES) || /* handles shouldn't be shown anywhere */
(fcu->flag & FCURVE_PROTECTED) || /* keyframes aren't editable */
+#if 0 /* handles can still be selected and handle types set, better draw - campbell */
(fcu->flag & FCURVE_INT_VALUES) || /* editing the handles here will cause weird/incorrect interpolation issues */
+#endif
((fcu->grp) && (fcu->grp->flag & AGRP_PROTECTED)) || /* group that curve belongs to is not editable */
(fcu->totvert <= 1) /* do not show handles if there is only 1 keyframe, otherwise they all clump together in an ugly ball */
)
diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c
index 962cadba1f3..fe9b3187a65 100644
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@ -37,7 +37,9 @@
#include <string.h>
#include <float.h>
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "MEM_guardedalloc.h"
@@ -1079,6 +1081,7 @@ static float fcurve_samplingcb_sound (FCurve *UNUSED(fcu), void *data, float eva
/* ------------------- */
+#ifdef WITH_AUDASPACE
static int graphkeys_sound_bake_exec(bContext *C, wmOperator *op)
{
bAnimContext ac;
@@ -1149,6 +1152,17 @@ static int graphkeys_sound_bake_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+#else //WITH_AUDASPACE
+
+static int graphkeys_sound_bake_exec(bContext *UNUSED(C), wmOperator *op)
+{
+ BKE_report(op->reports, RPT_ERROR, "Compiled without sound support");
+
+ return OPERATOR_CANCELLED;
+}
+
+#endif //WITH_AUDASPACE
+
static int graphkeys_sound_bake_invoke (bContext *C, wmOperator *op, wmEvent *event)
{
bAnimContext ac;
diff --git a/source/blender/editors/space_graph/graph_ops.c b/source/blender/editors/space_graph/graph_ops.c
index 8510446768d..03cc8bb9e80 100644
--- a/source/blender/editors/space_graph/graph_ops.c
+++ b/source/blender/editors/space_graph/graph_ops.c
@@ -102,18 +102,13 @@ static void graphview_cursor_setprops(bContext *C, wmOperator *op, wmEvent *even
{
ARegion *ar= CTX_wm_region(C);
float viewx, viewy;
- int x, y;
-
+
/* abort if not active region (should not really be possible) */
if (ar == NULL)
return;
-
- /* convert screen coordinates to region coordinates */
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
-
+
/* convert from region coordinates to View2D 'tot' space */
- UI_view2d_region_to_view(&ar->v2d, x, y, &viewx, &viewy);
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &viewx, &viewy);
/* store the values in the operator properties */
/* frame is rounded to the nearest int, since frames are ints */
diff --git a/source/blender/editors/space_graph/graph_select.c b/source/blender/editors/space_graph/graph_select.c
index 6c713d6e469..cb799b85d3a 100644
--- a/source/blender/editors/space_graph/graph_select.c
+++ b/source/blender/editors/space_graph/graph_select.c
@@ -344,6 +344,7 @@ void GRAPH_OT_select_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= graphkeys_borderselect_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= graphop_visible_keyframes_poll;
@@ -817,20 +818,14 @@ static int graphkeys_select_leftright_invoke (bContext *C, wmOperator *op, wmEve
Scene *scene= ac.scene;
ARegion *ar= ac.ar;
View2D *v2d= &ar->v2d;
-
- short mval[2];
float x;
-
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
+
/* determine which side of the current frame mouse is on */
- UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, NULL);
+ UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, NULL);
if (x < CFRA)
- RNA_int_set(op->ptr, "mode", GRAPHKEYS_LRSEL_LEFT);
+ RNA_enum_set(op->ptr, "mode", GRAPHKEYS_LRSEL_LEFT);
else
- RNA_int_set(op->ptr, "mode", GRAPHKEYS_LRSEL_RIGHT);
+ RNA_enum_set(op->ptr, "mode", GRAPHKEYS_LRSEL_RIGHT);
}
/* perform selection */
@@ -905,7 +900,7 @@ static int fcurve_handle_sel_check(SpaceIpo *sipo, BezTriple *bezt)
/* check if the given vertex is within bounds or not */
// TODO: should we return if we hit something?
-static void nearest_fcurve_vert_store (ListBase *matches, View2D *v2d, FCurve *fcu, BezTriple *bezt, FPoint *fpt, short hpoint, int mval[2])
+static void nearest_fcurve_vert_store (ListBase *matches, View2D *v2d, FCurve *fcu, BezTriple *bezt, FPoint *fpt, short hpoint, const int mval[2])
{
/* Keyframes or Samples? */
if (bezt) {
@@ -957,7 +952,7 @@ static void nearest_fcurve_vert_store (ListBase *matches, View2D *v2d, FCurve *f
}
/* helper for find_nearest_fcurve_vert() - build the list of nearest matches */
-static void get_nearest_fcurve_verts_list (bAnimContext *ac, int mval[2], ListBase *matches)
+static void get_nearest_fcurve_verts_list (bAnimContext *ac, const int mval[2], ListBase *matches)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
@@ -1074,7 +1069,7 @@ static tNearestVertInfo *get_best_nearest_fcurve_vert (ListBase *matches)
/* Find the nearest vertices (either a handle or the keyframe) that are nearest to the mouse cursor (in area coordinates)
* NOTE: the match info found must still be freed
*/
-static tNearestVertInfo *find_nearest_fcurve_vert (bAnimContext *ac, int mval[2])
+static tNearestVertInfo *find_nearest_fcurve_vert (bAnimContext *ac, const int mval[2])
{
ListBase matches = {NULL, NULL};
tNearestVertInfo *nvi;
@@ -1094,7 +1089,7 @@ static tNearestVertInfo *find_nearest_fcurve_vert (bAnimContext *ac, int mval[2]
/* ------------------- */
/* option 1) select keyframe directly under mouse */
-static void mouse_graph_keys (bAnimContext *ac, int mval[], short select_mode, short curves_only)
+static void mouse_graph_keys (bAnimContext *ac, const int mval[2], short select_mode, short curves_only)
{
SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
tNearestVertInfo *nvi;
@@ -1217,7 +1212,7 @@ static void mouse_graph_keys (bAnimContext *ac, int mval[], short select_mode, s
/* (see graphkeys_select_leftright) */
/* Option 3) Selects all visible keyframes in the same frame as the mouse click */
-static void graphkeys_mselect_column (bAnimContext *ac, int mval[2], short select_mode)
+static void graphkeys_mselect_column (bAnimContext *ac, const int mval[2], short select_mode)
{
ListBase anim_data= {NULL, NULL};
bAnimListElem *ale;
@@ -1297,21 +1292,12 @@ static void graphkeys_mselect_column (bAnimContext *ac, int mval[2], short selec
static int graphkeys_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
bAnimContext ac;
- ARegion *ar;
short selectmode;
- int mval[2];
-
+
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
-
- /* get useful pointers from animation context data */
- ar= ac.ar;
-
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
+
/* select mode is either replace (deselect all, then add) or add/extend */
if (RNA_boolean_get(op->ptr, "extend"))
selectmode= SELECT_INVERT;
@@ -1321,15 +1307,15 @@ static int graphkeys_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *ev
/* figure out action to take */
if (RNA_boolean_get(op->ptr, "column")) {
/* select all keyframes in the same frame as the one that was under the mouse */
- graphkeys_mselect_column(&ac, mval, selectmode);
+ graphkeys_mselect_column(&ac, event->mval, selectmode);
}
else if (RNA_boolean_get(op->ptr, "curves")) {
/* select all keyframes in the same F-Curve as the one under the mouse */
- mouse_graph_keys(&ac, mval, selectmode, 1);
+ mouse_graph_keys(&ac, event->mval, selectmode, 1);
}
else {
/* select keyframe under mouse */
- mouse_graph_keys(&ac, mval, selectmode, 0);
+ mouse_graph_keys(&ac, event->mval, selectmode, 0);
}
/* set notifier that keyframe selection (and also channel selection in some cases) has changed */
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index 554d2e36ccf..883b476f372 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -71,17 +71,12 @@ ARegion *graph_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
- for (ar= sa->regionbase.first; ar; ar= ar->next) {
- if (ar->regiontype==RGN_TYPE_UI)
- return ar;
- }
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
+
/* add subdiv level; after main */
- for (ar= sa->regionbase.first; ar; ar= ar->next) {
- if (ar->regiontype==RGN_TYPE_WINDOW)
- break;
- }
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+
/* is error! */
if (ar==NULL) return NULL;
diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt
index b23ab624faa..0d4408faf49 100644
--- a/source/blender/editors/space_image/CMakeLists.txt
+++ b/source/blender/editors/space_image/CMakeLists.txt
@@ -23,14 +23,17 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -38,7 +41,6 @@ set(SRC
image_buttons.c
image_draw.c
image_ops.c
- image_render.c
space_image.c
image_intern.h
@@ -60,9 +62,4 @@ if(WITH_IMAGE_CINEON)
add_definitions(-DWITH_CINEON)
endif()
-if(WITH_LCMS)
- set(INC ${INC} ${LCMS_INCLUDE_DIR})
- add_definitions(-DWITH_LCMS)
-endif()
-
-blender_add_lib(bf_editor_space_image "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_image "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_image/SConscript b/source/blender/editors/space_image/SConscript
index e84afcdaab1..27696e35701 100644
--- a/source/blender/editors/space_image/SConscript
+++ b/source/blender/editors/space_image/SConscript
@@ -9,9 +9,6 @@ incs += ' ../../render/extern/include ../../makesrna ../../blenloader'
defs = []
-if env['WITH_BF_LCMS']:
- defs.append('WITH_LCMS')
- incs += ' ' + env['BF_LCMS_INC']
if env['WITH_BF_OPENEXR']:
defs.append('WITH_OPENEXR')
if env['WITH_BF_OPENJPEG']:
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c
index c48078118a7..66e844e67a8 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -98,19 +98,6 @@
/* proto */
-static void do_image_panel_events(bContext *C, void *UNUSED(arg), int event)
-{
- SpaceImage *sima= CTX_wm_space_image(C);
-
- switch(event) {
- case B_REDR:
- break;
- }
-
- /* all events now */
- WM_event_add_notifier(C, NC_IMAGE, sima->image);
-}
-
static void image_info(Scene *scene, ImageUser *iuser, Image *ima, ImBuf *ibuf, char *str)
{
int ofs= 0;
@@ -281,7 +268,7 @@ static void preview_cb(struct ScrArea *sa, struct uiBlock *block)
rcti *disprect= &G.scene->r.disprect;
int winx= (G.scene->r.size*G.scene->r.xsch)/100;
int winy= (G.scene->r.size*G.scene->r.ysch)/100;
- short mval[2];
+ int mval[2];
if(G.scene->r.mode & R_BORDER) {
winx*= (G.scene->r.border.xmax - G.scene->r.border.xmin);
@@ -569,20 +556,20 @@ static void uiblock_layer_pass_buttons(uiLayout *layout, RenderResult *rr, Image
/* menu buts */
if(render_slot) {
strp= slot_menu();
- but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu1, 20, render_slot, 0,0,0,0, "Select Slot");
+ but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu1, UI_UNIT_Y, render_slot, 0,0,0,0, "Select Slot");
uiButSetFunc(but, image_multi_cb, rr, iuser);
MEM_freeN(strp);
}
if(rr) {
strp= layer_menu(rr, &iuser->layer);
- but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu2, 20, &iuser->layer, 0,0,0,0, "Select Layer");
+ but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu2, UI_UNIT_Y, &iuser->layer, 0,0,0,0, "Select Layer");
uiButSetFunc(but, image_multi_cb, rr, iuser);
MEM_freeN(strp);
rl= BLI_findlink(&rr->layers, iuser->layer - (rr->rectf?1:0)); /* fake compo layer, return NULL is meant to be */
strp= pass_menu(rl, &iuser->pass);
- but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu3, 20, &iuser->pass, 0,0,0,0, "Select Pass");
+ but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu3, UI_UNIT_Y, &iuser->pass, 0,0,0,0, "Select Pass");
uiButSetFunc(but, image_multi_cb, rr, iuser);
MEM_freeN(strp);
}
@@ -675,7 +662,6 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
block= uiLayoutGetBlock(layout);
-
imaptr= RNA_property_pointer_get(ptr, prop);
ima= imaptr.data;
iuser= userptr->data;
@@ -732,21 +718,17 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
}
}
else {
- row= uiLayoutRow(layout, 0);
- uiItemR(row, &imaptr, "source", 0, NULL, ICON_NONE);
+ uiItemR(layout, &imaptr, "source", 0, NULL, ICON_NONE);
if(ima->source != IMA_SRC_GENERATED) {
row= uiLayoutRow(layout, 1);
- split = uiLayoutSplit(row, 0.0, 0);
if (ima->packedfile)
- uiItemO(split, "", ICON_PACKAGE, "image.unpack");
+ uiItemO(row, "", ICON_PACKAGE, "image.unpack");
else
- uiItemO(split, "", ICON_UGLYPACKAGE, "image.pack");
+ uiItemO(row, "", ICON_UGLYPACKAGE, "image.pack");
- split = uiLayoutSplit(row, 0.0, 0);
- row= uiLayoutRow(split, 1);
+ row= uiLayoutRow(row, 0);
uiLayoutSetEnabled(row, ima->packedfile==NULL);
-
uiItemR(row, &imaptr, "filepath", 0, "", ICON_NONE);
uiItemO(row, "", ICON_FILE_REFRESH, "image.reload");
}
@@ -784,11 +766,10 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
col= uiLayoutColumn(split, 0);
uiItemR(col, &imaptr, "use_fields", 0, NULL, ICON_NONE);
row= uiLayoutRow(col, 0);
- uiItemR(row, &imaptr, "field_order", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetActive(row, RNA_boolean_get(&imaptr, "use_fields"));
-
- col= uiLayoutColumn(split, 0);
- uiItemR(col, &imaptr, "use_premultiply", 0, NULL, ICON_NONE);
+ uiItemR(row, &imaptr, "field_order", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
+
+ uiItemR(split, &imaptr, "use_premultiply", 0, NULL, ICON_NONE);
}
}
@@ -800,10 +781,9 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
col= uiLayoutColumn(split, 0);
sprintf(str, "(%d) Frames", iuser->framenr);
- row= uiLayoutRow(col, 1);
uiItemR(col, userptr, "frame_duration", 0, str, ICON_NONE);
if(ima->anim) {
- block= uiLayoutGetBlock(row);
+ block= uiLayoutGetBlock(col);
but= uiDefBut(block, BUT, 0, "Match Movie Length", 0, 0, UI_UNIT_X*2, UI_UNIT_Y, NULL, 0, 0, 0, 0, "Set the number of frames to match the movie or sequence.");
uiButSetFunc(but, set_frames_cb, ima, iuser);
}
@@ -812,7 +792,9 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
uiItemR(col, userptr, "frame_offset", 0, NULL, ICON_NONE);
col= uiLayoutColumn(split, 0);
- uiItemR(col, userptr, "fields_per_frame", 0, "Fields", ICON_NONE);
+ row= uiLayoutRow(col, 0);
+ uiLayoutSetActive(row, RNA_boolean_get(&imaptr, "use_fields"));
+ uiItemR(row, userptr, "fields_per_frame", 0, "Fields", ICON_NONE);
uiItemR(col, userptr, "use_auto_refresh", 0, NULL, ICON_NONE);
uiItemR(col, userptr, "use_cyclic", 0, NULL, ICON_NONE);
}
@@ -822,9 +804,9 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
col= uiLayoutColumn(split, 1);
uiItemR(col, &imaptr, "generated_width", 0, "X", ICON_NONE);
uiItemR(col, &imaptr, "generated_height", 0, "Y", ICON_NONE);
+ uiItemR(col, &imaptr, "use_generated_float", 0, NULL, ICON_NONE);
- col= uiLayoutColumn(split, 0);
- uiItemR(col, &imaptr, "generated_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
+ uiItemR(split, &imaptr, "generated_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
}
}
diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c
index 0f361b43de6..112359726ea 100644
--- a/source/blender/editors/space_image/image_draw.c
+++ b/source/blender/editors/space_image/image_draw.c
@@ -58,10 +58,6 @@
#include "BKE_image.h"
#include "BKE_paint.h"
-#ifdef WITH_LCMS
-#include "BKE_colortools.h"
-#endif
-
#include "BIF_gl.h"
#include "BIF_glutil.h"
@@ -452,20 +448,6 @@ static void sima_draw_alpha_pixelsf(float x1, float y1, int rectx, int recty, fl
// glColorMask(1, 1, 1, 1);
}
-#ifdef WITH_LCMS
-static int sima_draw_colorcorrected_pixels(float x1, float y1, ImBuf *ibuf)
-{
- colorcorrection_do_ibuf(ibuf, "MONOSCNR.ICM"); /* path is hardcoded here, find some place better */
-
- if(ibuf->crect) {
- glaDrawPixelsSafe(x1, y1, ibuf->x, ibuf->y, ibuf->x, GL_RGBA, GL_UNSIGNED_BYTE, ibuf->crect);
- return 1;
- }
-
- return 0;
-}
-#endif
-
static void sima_draw_zbuf_pixels(float x1, float y1, int rectx, int recty, int *recti)
{
/* zbuffer values are signed, so we need to shift color range */
@@ -544,17 +526,6 @@ static void draw_image_buffer(SpaceImage *sima, ARegion *ar, Scene *scene, Image
else if(ibuf->channels==1)
sima_draw_zbuffloat_pixels(scene, x, y, ibuf->x, ibuf->y, ibuf->rect_float);
}
-#ifdef WITH_LCMS
- else if(sima->flag & SI_COLOR_CORRECTION) {
- image_verify_buffer_float(ima, ibuf, color_manage);
-
- if(sima_draw_colorcorrected_pixels(x, y, ibuf)==0) {
- unsigned char col1[3]= {100, 0, 100}, col2[3]= {160, 0, 160}; /* pink says 'warning' in blender land */
- sima_draw_alpha_backdrop(x, y, ibuf->x, ibuf->y, zoomx, zoomy, col1, col2);
- }
-
- }
-#endif
else {
if(sima->flag & SI_USE_ALPHA) {
unsigned char col1[3]= {100, 100, 100}, col2[3]= {160, 160, 160};
@@ -702,7 +673,7 @@ static void draw_image_view_tool(Scene *scene)
{
ToolSettings *settings= scene->toolsettings;
Brush *brush= settings->imapaint.brush;
- short mval[2];
+ int mval[2];
float radius;
int draw= 0;
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c
index 7d4aaf0c70e..d5515bd1cf8 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -500,7 +500,7 @@ static int view_selected_exec(bContext *C, wmOperator *UNUSED(op))
Scene *scene;
Object *obedit;
Image *ima;
- float size, min[2], max[2], d[2];
+ float size, min[2], max[2], d[2], aspx, aspy;
int width, height;
/* retrieve state */
@@ -511,6 +511,10 @@ static int view_selected_exec(bContext *C, wmOperator *UNUSED(op))
ima= ED_space_image(sima);
ED_space_image_size(sima, &width, &height);
+ ED_image_aspect(ima, &aspx, &aspy);
+
+ width= width*aspx;
+ height= height*aspy;
/* get bounds */
if(!ED_uvedit_minmax(scene, ima, obedit, min, max))
@@ -645,6 +649,9 @@ static const EnumPropertyItem image_file_type_items[] = {
{R_TARGA, "TARGA", 0, "Targa", ""},
{R_RAWTGA, "TARGA RAW", 0, "Targa Raw", ""},
{R_PNG, "PNG", 0, "PNG", ""},
+#ifdef WITH_DDS
+ {R_DDS, "DDS", 0, "DirectDraw Surface", ""},
+#endif
{R_BMP, "BMP", 0, "BMP", ""},
{R_JPEG90, "JPEG", 0, "Jpeg", ""},
#ifdef WITH_OPENJPEG
@@ -799,6 +806,7 @@ void IMAGE_OT_open(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Open Image";
+ ot->description= "Open image";
ot->idname= "IMAGE_OT_open";
/* api callbacks */
@@ -1342,6 +1350,7 @@ void IMAGE_OT_new(wmOperatorType *ot)
/* identifiers */
ot->name= "New Image";
+ ot->description= "Create a new image";
ot->idname= "IMAGE_OT_new";
/* api callbacks */
@@ -1420,6 +1429,9 @@ static int image_invert_exec(bContext *C, wmOperator *op)
}
ibuf->userflags |= IB_BITMAPDIRTY;
+ if(ibuf->mipmap[0])
+ ibuf->userflags |= IB_MIPMAP_INVALID;
+
WM_event_add_notifier(C, NC_IMAGE|NA_EDITED, ima);
return OPERATOR_FINISHED;
}
@@ -1645,16 +1657,13 @@ static void sample_apply(bContext *C, wmOperator *op, wmEvent *event)
ImBuf *ibuf= ED_space_image_acquire_buffer(sima, &lock);
ImageSampleInfo *info= op->customdata;
float fx, fy;
- int mx, my;
if(ibuf == NULL) {
ED_space_image_release_buffer(sima, lock);
return;
}
- mx= event->x - ar->winrct.xmin;
- my= event->y - ar->winrct.ymin;
- UI_view2d_region_to_view(&ar->v2d, mx, my, &fx, &fy);
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &fx, &fy);
if(fx>=0.0f && fy>=0.0f && fx<1.0f && fy<1.0f) {
float *fp;
@@ -1920,6 +1929,7 @@ void IMAGE_OT_sample_line(wmOperatorType *ot)
ot->modal= WM_gesture_straightline_modal;
ot->exec= sample_line_exec;
ot->poll= space_image_main_area_poll;
+ ot->cancel= WM_gesture_straightline_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
diff --git a/source/blender/editors/space_image/image_render.c b/source/blender/editors/space_image/image_render.c
deleted file mode 100644
index 04b65af618e..00000000000
--- a/source/blender/editors/space_image/image_render.c
+++ /dev/null
@@ -1,179 +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) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * Contributor(s): Blender Foundation, 2002-2009
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/space_image/image_render.c
- * \ingroup spimage
- */
-
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "BLI_utildefines.h"
-
-#include "DNA_screen_types.h"
-#include "DNA_space_types.h"
-
-#include "BKE_context.h"
-#include "BKE_image.h"
-
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
-
-
-#include "RE_pipeline.h"
-
-
-#define HEADER_HEIGHT 18
-
-/* *********************** render callbacks ***************** */
-
-/* set on initialize render, only one render output to imagewindow can exist, so the global isnt dangerous yet :) */
-static ScrArea *image_area= NULL;
-
-/* can get as well the full picture, as the parts while rendering */
-/* XXX will be obsolete, here for reference now */
-static void imagewindow_progress(SpaceImage *sima, RenderResult *rr, volatile rcti *renrect)
-{
- float x1, y1, *rectf= NULL;
- unsigned int *rect32= NULL;
- int ymin, ymax, xmin, xmax;
-
- /* if renrect argument, we only display scanlines */
- if(renrect) {
- /* if ymax==recty, rendering of layer is ready, we should not draw, other things happen... */
- if(rr->renlay==NULL || renrect->ymax>=rr->recty)
- return;
-
- /* xmin here is first subrect x coord, xmax defines subrect width */
- xmin = renrect->xmin;
- xmax = renrect->xmax - xmin;
- if (xmax<2) return;
-
- ymin= renrect->ymin;
- ymax= renrect->ymax - ymin;
- if(ymax<2)
- return;
- renrect->ymin= renrect->ymax;
- }
- else {
- xmin = ymin = 0;
- xmax = rr->rectx - 2*rr->crop;
- ymax = rr->recty - 2*rr->crop;
- }
-
- /* image window cruft */
-
- /* find current float rect for display, first case is after composit... still weak */
- if(rr->rectf)
- rectf= rr->rectf;
- else {
- if(rr->rect32)
- rect32= (unsigned int *)rr->rect32;
- else {
- if(rr->renlay==NULL || rr->renlay->rectf==NULL) return;
- rectf= rr->renlay->rectf;
- }
- }
- if(rectf) {
- /* if scanline updates... */
- rectf+= 4*(rr->rectx*ymin + xmin);
-
- /* when rendering more pixels than needed, we crop away cruft */
- if(rr->crop)
- rectf+= 4*(rr->crop*rr->rectx + rr->crop);
- }
-
- /* tilerect defines drawing offset from (0,0) */
- /* however, tilerect (xmin, ymin) is first pixel */
- x1 = sima->centx + (rr->tilerect.xmin + rr->crop + xmin)*sima->zoom;
- y1 = sima->centy + (rr->tilerect.ymin + rr->crop + ymin)*sima->zoom;
-
- /* needed for gla draw */
- // XXX { rcti rct= ar->winrct; rct.ymax-= HEADER_HEIGHT; glaDefine2DArea(&rct);}
-
- glPixelZoom(sima->zoom, sima->zoom);
-
- if(rect32)
- glaDrawPixelsSafe(x1, y1, xmax, ymax, rr->rectx, GL_RGBA, GL_UNSIGNED_BYTE, rect32);
- else
- glaDrawPixelsSafe_to32(x1, y1, xmax, ymax, rr->rectx, rectf, 0);
-
- glPixelZoom(1.0, 1.0);
-
-}
-
-
-/* coming from BIF_toggle_render_display() */
-static void imagewindow_toggle_render(bContext *C)
-{
- bScreen *sc= CTX_wm_screen(C);
- ScrArea *sa;
-
- /* check if any imagewindow is showing temporal render output */
- for(sa=sc->areabase.first; sa; sa= sa->next) {
- if(sa->spacetype==SPACE_IMAGE) {
- SpaceImage *sima= sa->spacedata.first;
-
- if(sima->image && sima->image->type==IMA_TYPE_R_RESULT)
- if(sima->flag & (SI_PREVSPACE|SI_FULLWINDOW))
- break;
- }
- }
-
- if(sa) {
- // XXX addqueue(sa->win, ESCKEY, 1); /* also returns from fullscreen */
- }
- else {
-// sa= imagewindow_set_render_display(C);
- // XXX scrarea_queue_headredraw(sa);
- // XXX scrarea_queue_winredraw(sa);
- }
-}
-
-/* NOTE: called while render, so no malloc allowed! */
-static void imagewindow_renderinfo_cb(void *UNUSED(handle), RenderStats *UNUSED(rs))
-{
- if(image_area) {
- // XXX BIF_make_render_text(rs);
-
- // XXX sima_draw_render_info(sima, ar);
-
- /* no screen_swapbuffers, prevent any other window to draw */
- // XXX myswapbuffers();
- }
-}
-
-static void ED_space_image_render_callbacks(bContext *C, Render *re)
-{
-
-// RE_display_init_cb(re, C, imagewindow_init_display_cb);
-// RE_display_draw_cb(re, C, imagewindow_progress_display_cb);
-// RE_display_clear_cb(re, C, imagewindow_clear_display_cb);
- RE_stats_draw_cb(re, C, imagewindow_renderinfo_cb);
-}
-
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 409ab4b2fc6..2e9544f5d20 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -328,16 +328,13 @@ static void image_scopes_tag_refresh(ScrArea *sa)
ARegion *image_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_UI)
- return ar;
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
/* add subdiv level; after header */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_HEADER)
- break;
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+
/* is error! */
if(ar==NULL) return NULL;
@@ -355,16 +352,13 @@ ARegion *image_has_buttons_region(ScrArea *sa)
ARegion *image_has_scope_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_PREVIEW)
- return ar;
-
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_PREVIEW);
+ if(ar) return ar;
+
/* add subdiv level; after buttons */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_UI)
- break;
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+
/* is error! */
if(ar==NULL) return NULL;
diff --git a/source/blender/editors/space_info/CMakeLists.txt b/source/blender/editors/space_info/CMakeLists.txt
index 16f4b2dedff..22347df93a3 100644
--- a/source/blender/editors/space_info/CMakeLists.txt
+++ b/source/blender/editors/space_info/CMakeLists.txt
@@ -23,13 +23,16 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -45,4 +48,4 @@ set(SRC
textview.h
)
-blender_add_lib(bf_editor_space_info "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_info "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_info/info_report.c b/source/blender/editors/space_info/info_report.c
index 67f02ce4f8e..c8bda434227 100644
--- a/source/blender/editors/space_info/info_report.c
+++ b/source/blender/editors/space_info/info_report.c
@@ -230,7 +230,7 @@ static int borderselect_exec(bContext *C, wmOperator *op)
rcti rect;
//rctf rectf, rq;
short selecting= (RNA_int_get(op->ptr, "gesture_mode")==GESTURE_MODAL_SELECT);
- //short mval[2];
+ //int mval[2];
rect.xmin= RNA_int_get(op->ptr, "xmin");
rect.ymin= RNA_int_get(op->ptr, "ymin");
@@ -302,6 +302,7 @@ void INFO_OT_select_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= borderselect_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_info_active;
diff --git a/source/blender/editors/space_info/info_stats.c b/source/blender/editors/space_info/info_stats.c
index 42ee2112fe8..0abfd4b71a1 100644
--- a/source/blender/editors/space_info/info_stats.c
+++ b/source/blender/editors/space_info/info_stats.c
@@ -357,13 +357,14 @@ static void stats_update(Scene *scene)
}
if(!scene->stats)
- scene->stats= MEM_mallocN(sizeof(SceneStats), "SceneStats");
+ scene->stats= MEM_callocN(sizeof(SceneStats), "SceneStats");
*(scene->stats)= stats;
}
static void stats_string(Scene *scene)
{
+ extern char versionstr[]; /* from blender.c */
SceneStats *stats= scene->stats;
Object *ob= (scene->basact)? scene->basact->object: NULL;
uintptr_t mem_in_use, mmap_in_use;
@@ -379,6 +380,8 @@ static void stats_string(Scene *scene)
sprintf(s, " (%.2fM)", (double)((mmap_in_use)>>10)/1024.0);
s= stats->infostr;
+
+ s+= sprintf(s, "%s | ", versionstr);
if(scene->obedit) {
if(ob_get_keyblock(scene->obedit))
diff --git a/source/blender/editors/space_logic/CMakeLists.txt b/source/blender/editors/space_logic/CMakeLists.txt
index 6323ef779c2..44471902040 100644
--- a/source/blender/editors/space_logic/CMakeLists.txt
+++ b/source/blender/editors/space_logic/CMakeLists.txt
@@ -21,14 +21,17 @@
set(INC
../include
+ ../interface
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
- ../../editors/interface
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -45,4 +48,4 @@ if(WITH_GAMEENGINE)
add_definitions(-DWITH_GAMEENGINE)
endif()
-blender_add_lib(bf_editor_space_logic "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_logic "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_logic/logic_buttons.c b/source/blender/editors/space_logic/logic_buttons.c
index e894fd9cff5..16e916928a9 100644
--- a/source/blender/editors/space_logic/logic_buttons.c
+++ b/source/blender/editors/space_logic/logic_buttons.c
@@ -206,6 +206,7 @@ void LOGIC_OT_links_cut(wmOperatorType *ot)
ot->invoke= WM_gesture_lines_invoke;
ot->modal= WM_gesture_lines_modal;
ot->exec= cut_links_exec;
+ ot->cancel= WM_gesture_lines_cancel;
ot->poll= ED_operator_logic_active;
diff --git a/source/blender/editors/space_logic/logic_window.c b/source/blender/editors/space_logic/logic_window.c
index bce492f5a04..019ce2a714a 100644
--- a/source/blender/editors/space_logic/logic_window.c
+++ b/source/blender/editors/space_logic/logic_window.c
@@ -3786,6 +3786,8 @@ static void draw_actuator_camera(uiLayout *layout, PointerRNA *ptr)
row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "min", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "max", 0, NULL, ICON_NONE);
+
+ uiItemR(layout, ptr, "damping", 0, NULL, ICON_NONE);
}
static void draw_actuator_constraint(uiLayout *layout, PointerRNA *ptr, bContext *C)
diff --git a/source/blender/editors/space_logic/space_logic.c b/source/blender/editors/space_logic/space_logic.c
index 7944f0737e1..f420d0ef690 100644
--- a/source/blender/editors/space_logic/space_logic.c
+++ b/source/blender/editors/space_logic/space_logic.c
@@ -63,16 +63,13 @@
ARegion *logic_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_UI)
- return ar;
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
/* add subdiv level; after header */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_HEADER)
- break;
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+
/* is error! */
if(ar==NULL) return NULL;
diff --git a/source/blender/editors/space_nla/CMakeLists.txt b/source/blender/editors/space_nla/CMakeLists.txt
index 59ccb204d8c..b05d157365d 100644
--- a/source/blender/editors/space_nla/CMakeLists.txt
+++ b/source/blender/editors/space_nla/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -43,4 +46,4 @@ set(SRC
nla_intern.h
)
-blender_add_lib(bf_editor_space_nla "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_nla "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c
index 265616020d5..38f680fff07 100644
--- a/source/blender/editors/space_nla/nla_channels.c
+++ b/source/blender/editors/space_nla/nla_channels.c
@@ -303,7 +303,7 @@ static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *e
bAnimContext ac;
ARegion *ar;
View2D *v2d;
- int mval[2], channel_index;
+ int channel_index;
int notifierFlags = 0;
short selectmode;
float x, y;
@@ -316,10 +316,6 @@ static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *e
ar= ac.ar;
v2d= &ar->v2d;
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
/* select mode is either replace (deselect all, then add) or add/extend */
if (RNA_boolean_get(op->ptr, "extend"))
selectmode= SELECT_INVERT;
@@ -331,7 +327,7 @@ static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *e
* so that the tops of channels get caught ok. Since NLACHANNEL_FIRST is really NLACHANNEL_HEIGHT, we simply use
* NLACHANNEL_HEIGHT_HALF.
*/
- UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, &y);
+ UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, &y);
UI_view2d_listview_view_to_cell(v2d, NLACHANNEL_NAMEWIDTH, NLACHANNEL_STEP, 0, (float)NLACHANNEL_HEIGHT_HALF, x, y, NULL, &channel_index);
/* handle mouse-click in the relevant channel then */
diff --git a/source/blender/editors/space_nla/nla_select.c b/source/blender/editors/space_nla/nla_select.c
index d75c1aa7dd3..8ef63b9a83d 100644
--- a/source/blender/editors/space_nla/nla_select.c
+++ b/source/blender/editors/space_nla/nla_select.c
@@ -333,6 +333,7 @@ void NLA_OT_select_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= nlaedit_borderselect_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= nlaop_poll_tweakmode_off;
@@ -459,16 +460,10 @@ static int nlaedit_select_leftright_invoke (bContext *C, wmOperator *op, wmEvent
Scene *scene= ac.scene;
ARegion *ar= ac.ar;
View2D *v2d= &ar->v2d;
-
- int mval[2];
float x;
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
/* determine which side of the current frame mouse is on */
- UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, NULL);
+ UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, NULL);
if (x < CFRA)
RNA_int_set(op->ptr, "mode", NLAEDIT_LRSEL_LEFT);
else
@@ -503,7 +498,7 @@ void NLA_OT_select_leftright (wmOperatorType *ot)
/* ******************** Mouse-Click Select Operator *********************** */
/* select strip directly under mouse */
-static void mouse_nla_strips (bContext *C, bAnimContext *ac, int mval[2], short select_mode)
+static void mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2], short select_mode)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale = NULL;
@@ -612,10 +607,9 @@ static int nlaedit_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *even
bAnimContext ac;
Scene *scene;
ARegion *ar;
- View2D *v2d;
+ // View2D *v2d; /*UNUSED*/
short selectmode;
- int mval[2];
-
+
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
@@ -623,12 +617,8 @@ static int nlaedit_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *even
/* get useful pointers from animation context data */
scene= ac.scene;
ar= ac.ar;
- v2d= &ar->v2d;
-
- /* get mouse coordinates (in region coordinates) */
- mval[0]= (event->x - ar->winrct.xmin);
- mval[1]= (event->y - ar->winrct.ymin);
-
+ // v2d= &ar->v2d;
+
/* select mode is either replace (deselect all, then add) or add/extend */
if (RNA_boolean_get(op->ptr, "extend"))
selectmode= SELECT_INVERT;
@@ -636,7 +626,7 @@ static int nlaedit_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *even
selectmode= SELECT_REPLACE;
/* select strips based upon mouse position */
- mouse_nla_strips(C, &ac, mval, selectmode);
+ mouse_nla_strips(C, &ac, event->mval, selectmode);
/* set notifier that things have changed */
WM_event_add_notifier(C, NC_ANIMATION|ND_NLA|NA_SELECTED, NULL);
diff --git a/source/blender/editors/space_nla/space_nla.c b/source/blender/editors/space_nla/space_nla.c
index 90f9996e392..f2e0abe1e60 100644
--- a/source/blender/editors/space_nla/space_nla.c
+++ b/source/blender/editors/space_nla/space_nla.c
@@ -69,18 +69,13 @@
ARegion *nla_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for (ar= sa->regionbase.first; ar; ar= ar->next) {
- if (ar->regiontype==RGN_TYPE_UI)
- return ar;
- }
-
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
+
/* add subdiv level; after main */
- for (ar= sa->regionbase.first; ar; ar= ar->next) {
- if (ar->regiontype==RGN_TYPE_WINDOW)
- break;
- }
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+
/* is error! */
if (ar==NULL) return NULL;
diff --git a/source/blender/editors/space_node/CMakeLists.txt b/source/blender/editors/space_node/CMakeLists.txt
index 8604ba3baed..dcd6bcd3403 100644
--- a/source/blender/editors/space_node/CMakeLists.txt
+++ b/source/blender/editors/space_node/CMakeLists.txt
@@ -23,16 +23,19 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../nodes
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../intern/opennl/extern
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -50,4 +53,4 @@ set(SRC
node_intern.h
)
-blender_add_lib(bf_editor_space_node "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_node "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
index b5bb635b544..50e657bbb61 100644
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@ -423,6 +423,7 @@ static void node_shader_buts_dynamic(uiLayout *layout, bContext *C, PointerRNA *
/* only once called */
static void node_shader_set_butfunc(bNodeType *ntype)
{
+ ntype->uifuncbut = NULL;
switch(ntype->type) {
/* case NODE_GROUP: note, typeinfo for group is generated... see "XXX ugly hack" */
@@ -472,6 +473,7 @@ static void node_shader_set_butfunc(bNodeType *ntype)
default:
ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
}
/* ****************** BUTTON CALLBACKS FOR COMPOSITE NODES ***************** */
@@ -862,7 +864,7 @@ static void node_composit_buts_color_spill(uiLayout *layout, bContext *UNUSED(C)
uiItemR(col, ptr, "ratio", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "use_unspill", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "use_unspill")== 1) {
+ if (RNA_boolean_get(ptr, "use_unspill")== 1) {
uiItemR(col, ptr, "unspill_red", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "unspill_green", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "unspill_blue", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
@@ -1036,6 +1038,32 @@ static void node_composit_buts_colorbalance(uiLayout *layout, bContext *UNUSED(C
}
}
+static void node_composit_buts_colorbalance_but(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+{
+ uiItemR(layout, ptr, "correction_method", 0, NULL, ICON_NONE);
+
+ if (RNA_enum_get(ptr, "correction_method")== 0) {
+
+ uiTemplateColorWheel(layout, ptr, "lift", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "lift", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "gamma", 1, 1, 1, 1);
+ uiItemR(layout, ptr, "gamma", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "gain", 1, 1, 1, 1);
+ uiItemR(layout, ptr, "gain", 0, NULL, ICON_NONE);
+ } else {
+ uiTemplateColorWheel(layout, ptr, "offset", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "power", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "power", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "slope", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "slope", 0, NULL, ICON_NONE);
+ }
+}
+
static void node_composit_buts_huecorrect(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
@@ -1050,6 +1078,7 @@ static void node_composit_buts_ycc(uiLayout *layout, bContext *UNUSED(C), Pointe
/* only once called */
static void node_composit_set_butfunc(bNodeType *ntype)
{
+ ntype->uifuncbut = NULL;
switch(ntype->type) {
/* case NODE_GROUP: note, typeinfo for group is generated... see "XXX ugly hack" */
@@ -1184,6 +1213,7 @@ static void node_composit_set_butfunc(bNodeType *ntype)
break;
case CMP_NODE_COLORBALANCE:
ntype->uifunc=node_composit_buts_colorbalance;
+ ntype->uifuncbut=node_composit_buts_colorbalance_but;
break;
case CMP_NODE_HUECORRECT:
ntype->uifunc=node_composit_buts_huecorrect;
@@ -1198,6 +1228,8 @@ static void node_composit_set_butfunc(bNodeType *ntype)
default:
ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
+
}
/* ****************** BUTTON CALLBACKS FOR TEXTURE NODES ***************** */
@@ -1308,6 +1340,7 @@ static void node_texture_buts_output(uiLayout *layout, bContext *UNUSED(C), Poin
/* only once called */
static void node_texture_set_butfunc(bNodeType *ntype)
{
+ ntype->uifuncbut = NULL;
if( ntype->type >= TEX_NODE_PROC && ntype->type < TEX_NODE_PROC_MAX ) {
ntype->uifunc = node_texture_buts_proc;
}
@@ -1352,6 +1385,7 @@ static void node_texture_set_butfunc(bNodeType *ntype)
default:
ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
}
/* ******* init draw callbacks for all tree types, only called in usiblender.c, once ************* */
@@ -1835,10 +1869,17 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
else {
/* check cyclic */
if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) {
- if(link->fromnode->flag & SELECT)
- th_col1= TH_EDGE_SELECT;
- if(link->tonode->flag & SELECT)
- th_col2= TH_EDGE_SELECT;
+ /* special indicated link, on drop-node */
+ if(link->flag & NODE_LINKFLAG_HILITE) {
+ th_col1= th_col2= TH_ACTIVE;
+ }
+ else {
+ /* regular link */
+ if(link->fromnode->flag & SELECT)
+ th_col1= TH_EDGE_SELECT;
+ if(link->tonode->flag & SELECT)
+ th_col2= TH_EDGE_SELECT;
+ }
do_shaded= 1;
do_triple= 1;
}
diff --git a/source/blender/editors/space_node/node_buttons.c b/source/blender/editors/space_node/node_buttons.c
index 684961f2606..4b989a78fab 100644
--- a/source/blender/editors/space_node/node_buttons.c
+++ b/source/blender/editors/space_node/node_buttons.c
@@ -118,8 +118,8 @@ static void active_node_panel(const bContext *C, Panel *pa)
uiItemS(layout);
/* draw this node's settings */
- if (node->typeinfo && node->typeinfo->uifunc)
- node->typeinfo->uifunc(layout, (bContext *)C, &ptr);
+ if (node->typeinfo && node->typeinfo->uifuncbut)
+ node->typeinfo->uifuncbut(layout, (bContext *)C, &ptr);
}
/* ******************* node buttons registration ************** */
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 0c9f12966ef..950b3c72fe7 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -288,7 +288,7 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr);
layout= uiBlockLayout(node->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL,
- node->locx+NODE_DYS, dy, node->butr.xmax, 20, U.uistyles.first);
+ node->locx+NODE_DYS, dy, node->butr.xmax, NODE_DY, U.uistyles.first);
node->typeinfo->uifunc(layout, (bContext *)C, &ptr);
uiBlockEndAlign(node->block);
@@ -392,6 +392,7 @@ static void node_update_group(const bContext *C, bNodeTree *UNUSED(ntree), bNode
bNode *node;
bNodeSocket *sock, *gsock;
rctf *rect= &gnode->totr;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
int counter;
int dy;
@@ -430,7 +431,7 @@ static void node_update_group(const bContext *C, bNodeTree *UNUSED(ntree), bNode
dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->inputs)-1);
for(gsock=ngroup->inputs.first, sock=gnode->inputs.first; gsock; gsock=gsock->next, sock=sock->next) {
gsock->locx = rect->xmin;
- sock->locx = rect->xmin - NODE_GROUP_FRAME;
+ sock->locx = rect->xmin - node_group_frame;
sock->locy = gsock->locy = dy;
/* prevent long socket lists from growing out of the group box */
@@ -446,7 +447,7 @@ static void node_update_group(const bContext *C, bNodeTree *UNUSED(ntree), bNode
dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->outputs)-1);
for(gsock=ngroup->outputs.first, sock=gnode->outputs.first; gsock; gsock=gsock->next, sock=sock->next) {
gsock->locx = rect->xmax;
- sock->locx = rect->xmax + NODE_GROUP_FRAME;
+ sock->locx = rect->xmax + node_group_frame;
sock->locy = gsock->locy = dy - NODE_DYS;
/* prevent long socket lists from growing out of the group box */
@@ -460,6 +461,7 @@ static void node_update_group(const bContext *C, bNodeTree *UNUSED(ntree), bNode
}
/* note: in cmp_util.c is similar code, for node_compo_pass_on() */
+/* note: in node_edit.c is similar code, for untangle node */
static void node_draw_mute_line(View2D *v2d, SpaceNode *snode, bNode *node)
{
bNodeSocket *valsock= NULL, *colsock= NULL, *vecsock= NULL;
@@ -654,7 +656,7 @@ static uiBlock *socket_vector_menu(bContext *C, ARegion *ar, void *args_v)
block= uiBeginBlock(C, ar, "socket menu", UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_KEEP_OPEN);
- layout= uiLayoutColumn(uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, args->x, args->y+2, args->width, 20, U.uistyles.first), 0);
+ layout= uiLayoutColumn(uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, args->x, args->y+2, args->width, NODE_DY, U.uistyles.first), 0);
uiItemR(layout, &args->ptr, "default_value", UI_ITEM_R_EXPAND, "", ICON_NONE);
@@ -675,7 +677,7 @@ static void node_draw_socket_button(bNodeTree *ntree, bNodeSocket *sock, const c
switch (sock->type) {
case SOCK_VALUE:
bt=uiDefButR(block, NUM, B_NODE_EXEC, name,
- x, y+1, width, 17,
+ x, y+1, width, NODE_DY-2,
&ptr, "default_value", 0, sock->ns.min, sock->ns.max, -1, -1, NULL);
if (cb)
uiButSetFunc(bt, cb, arg1, arg2);
@@ -693,7 +695,7 @@ static void node_draw_socket_button(bNodeTree *ntree, bNodeSocket *sock, const c
args->arg2 = arg2;
uiDefBlockButN(block, socket_vector_menu, args, name,
- x, y+1, width, 17,
+ x, y+1, width, NODE_DY-2,
"");
break;
@@ -701,14 +703,14 @@ static void node_draw_socket_button(bNodeTree *ntree, bNodeSocket *sock, const c
labelw= width - 40;
bt=uiDefButR(block, COL, B_NODE_EXEC, "",
- x, y+2, (labelw>0 ? 40 : width), 15,
+ x, y+2, (labelw>0 ? 40 : width), NODE_DY-2,
&ptr, "default_value", 0, sock->ns.min, sock->ns.max, -1, -1, NULL);
if (cb)
uiButSetFunc(bt, cb, arg1, arg2);
if (name[0]!='\0' && labelw>0)
uiDefBut(block, LABEL, 0, name,
- x + 40, y+2, labelw, 15,
+ x + 40, y+2, labelw, NODE_DY-2,
NULL, 0, 0, 0, 0, "");
break;
}
@@ -719,6 +721,8 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
bNodeSocket *sock;
rctf *rct= &node->totr;
float iconofs;
+ float socket_size= NODE_SOCKSIZE*U.dpi/72;
+ float iconbutw= 0.8f*UI_UNIT_X;
int color_id= node_get_colorid(node);
char showname[128]; /* 128 used below */
View2D *v2d = &ar->v2d;
@@ -761,32 +765,33 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
icon_id= ICON_MATERIAL;
else
icon_id= ICON_MATERIAL_DATA;
- iconofs-=15.0f;
+ iconofs-=iconbutw;
uiDefIconBut(node->block, LABEL, B_REDR, icon_id, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
if(node->type == NODE_GROUP) {
- iconofs-=15.0f;
+ iconofs-=iconbutw;
uiDefIconBut(node->block, LABEL, B_REDR, ICON_NODETREE, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
if(node->typeinfo->flag & NODE_OPTIONS) {
- iconofs-=15.0f;
+ iconofs-=iconbutw;
uiDefIconBut(node->block, LABEL, B_REDR, ICON_BUTS, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
{ /* always hide/reveal unused sockets */
- int shade;
-
- iconofs-=15.0f;
// XXX re-enable
- /*if(node_has_hidden_sockets(node))
+ /* int shade;
+ if(node_has_hidden_sockets(node))
shade= -40;
- else*/
- shade= -90;
+ else
+ shade= -90; */
+
+ iconofs-=iconbutw;
+
uiDefIconBut(node->block, LABEL, B_REDR, ICON_PLUS, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
/* title */
@@ -851,7 +856,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
/* socket inputs, buttons */
for(sock= node->inputs.first; sock; sock= sock->next) {
if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ socket_circle_draw(sock, socket_size);
if(node->block && sock->link==NULL) {
node_draw_socket_button(ntree, sock, sock->name, node->block, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY, node_sync_cb, snode, node);
@@ -869,7 +874,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
float slen;
int ofs= 0;
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ socket_circle_draw(sock, socket_size);
UI_ThemeColor(TH_TEXT);
slen= snode->aspect*UI_GetStringWidth(sock->name);
@@ -904,6 +909,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
rctf *rct= &node->totr;
float dx, centy= 0.5f*(rct->ymax+rct->ymin);
float hiddenrad= 0.5f*(rct->ymax-rct->ymin);
+ float socket_size= NODE_SOCKSIZE*U.dpi/72;
int color_id= node_get_colorid(node);
char showname[128]; /* 128 is used below */
@@ -978,12 +984,12 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
/* sockets */
for(sock= node->inputs.first; sock; sock= sock->next) {
if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)))
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ socket_circle_draw(sock, socket_size);
}
for(sock= node->outputs.first; sock; sock= sock->next) {
if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)))
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ socket_circle_draw(sock, socket_size);
}
uiEndBlock(C, node->block);
@@ -1043,17 +1049,30 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
{
bNodeTree *ngroup= (bNodeTree *)gnode->id;
bNodeSocket *sock;
- rctf rect= gnode->totr;
- int index;
uiLayout *layout;
PointerRNA ptr;
uiBut *bt;
+ rctf rect= gnode->totr;
+ float socket_size= NODE_SOCKSIZE*U.dpi/72;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
+ float group_header= 26*U.dpi/72;
+ float arrowbutw= 0.8f*UI_UNIT_X;
+ /* layout stuff for buttons on group left frame */
+ float col1= 6, colw1= 0.6f*node_group_frame;
+ float col2= col1 + colw1+6;
+ float col3= node_group_frame - arrowbutw - 6;
+ /* layout stuff for buttons on group right frame */
+ float cor1= 6;
+ float cor2= cor1 + arrowbutw + 6;
+ float cor3= cor2 + arrowbutw + 6, corw3= node_group_frame - cor3-6;
+
+ int index;
/* backdrop header */
glEnable(GL_BLEND);
uiSetRoundBox(3);
UI_ThemeColorShadeAlpha(TH_NODE_GROUP, 0, -70);
- uiDrawBox(GL_POLYGON, rect.xmin-NODE_GROUP_FRAME, rect.ymax, rect.xmax+NODE_GROUP_FRAME, rect.ymax+26, BASIS_RAD);
+ uiDrawBox(GL_POLYGON, rect.xmin-node_group_frame, rect.ymax, rect.xmax+node_group_frame, rect.ymax+group_header, BASIS_RAD);
/* backdrop body */
UI_ThemeColorShadeAlpha(TH_BACK, -8, -70);
@@ -1063,12 +1082,12 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
/* input column */
UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
uiSetRoundBox(8);
- uiDrawBox(GL_POLYGON, rect.xmin-NODE_GROUP_FRAME, rect.ymin, rect.xmin, rect.ymax, BASIS_RAD);
+ uiDrawBox(GL_POLYGON, rect.xmin-node_group_frame, rect.ymin, rect.xmin, rect.ymax, BASIS_RAD);
/* output column */
UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
uiSetRoundBox(4);
- uiDrawBox(GL_POLYGON, rect.xmax, rect.ymin, rect.xmax+NODE_GROUP_FRAME, rect.ymax, BASIS_RAD);
+ uiDrawBox(GL_POLYGON, rect.xmax, rect.ymin, rect.xmax+node_group_frame, rect.ymax, BASIS_RAD);
/* input column separator */
glColor4ub(200, 200, 200, 140);
@@ -1088,15 +1107,15 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
uiSetRoundBox(15);
glColor4ub(200, 200, 200, 140);
glEnable( GL_LINE_SMOOTH );
- uiDrawBox(GL_LINE_LOOP, rect.xmin-NODE_GROUP_FRAME, rect.ymin, rect.xmax+NODE_GROUP_FRAME, rect.ymax+26, BASIS_RAD);
+ uiDrawBox(GL_LINE_LOOP, rect.xmin-node_group_frame, rect.ymin, rect.xmax+node_group_frame, rect.ymax+group_header, BASIS_RAD);
glDisable( GL_LINE_SMOOTH );
glDisable(GL_BLEND);
/* backdrop title */
UI_ThemeColor(TH_TEXT_HI);
- layout = uiBlockLayout(gnode->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, (short)(rect.xmin+15), (short)(rect.ymax+23),
- MIN2((int)(rect.xmax - rect.xmin-18.0f), 140), 20, U.uistyles.first);
+ layout = uiBlockLayout(gnode->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, (short)(rect.xmin+15), (short)(rect.ymax+group_header),
+ MIN2((int)(rect.xmax - rect.xmin-18.0f), node_group_frame+20), group_header, U.uistyles.first);
RNA_pointer_create(&ntree->id, &RNA_Node, gnode, &ptr);
uiTemplateIDBrowse(layout, (bContext*)C, &ptr, "node_tree", NULL, NULL, NULL);
uiBlockLayoutResolve(gnode->block, NULL, NULL);
@@ -1106,31 +1125,33 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
/* group sockets */
for(sock=ngroup->inputs.first, index=0; sock; sock=sock->next, ++index) {
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ float locx= sock->locx - node_group_frame;
+
+ socket_circle_draw(sock, socket_size);
/* small hack to use socket_circle_draw function with offset */
- sock->locx -= NODE_GROUP_FRAME;
- socket_circle_draw(sock, NODE_SOCKSIZE);
- sock->locx += NODE_GROUP_FRAME;
+ sock->locx -= node_group_frame;
+ socket_circle_draw(sock, socket_size);
+ sock->locx += node_group_frame;
bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx-114, sock->locy+1, 72, NODE_DY,
+ locx+col1, sock->locy+1, colw1, NODE_DY,
sock->name, 0, 31, 0, 0, "");
uiButSetFunc(bt, group_verify_cb, snode, ngroup);
node_draw_socket_button(ngroup, sock, "", gnode->block,
- sock->locx-114, sock->locy-NODE_DY, 72,
+ locx+col1, sock->locy-NODE_DY, colw1,
NULL, NULL, NULL);
uiBlockSetDirection(gnode->block, UI_TOP);
uiBlockBeginAlign(gnode->block);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
- sock->locx-40, sock->locy, 16, 16, "");
+ locx+col2, sock->locy, arrowbutw, arrowbutw, "");
if (!sock->prev)
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_IN);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
- sock->locx-40, sock->locy-16, 16, 16, "");
+ locx+col2, sock->locy-arrowbutw, arrowbutw, arrowbutw, "");
if (!sock->next)
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
@@ -1140,22 +1161,24 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
uiBlockSetEmboss(gnode->block, UI_EMBOSSN);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_remove", 0, ICON_X,
- sock->locx-22, sock->locy-8, 16, 16, "");
+ locx+col3, sock->locy-0.5f*arrowbutw, arrowbutw, arrowbutw, "");
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_IN);
uiBlockSetEmboss(gnode->block, UI_EMBOSS);
}
for(sock=ngroup->outputs.first, index=0; sock; sock=sock->next, ++index) {
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ float locx= sock->locx;
+
+ socket_circle_draw(sock, socket_size);
/* small hack to use socket_circle_draw function with offset */
- sock->locx += NODE_GROUP_FRAME;
- socket_circle_draw(sock, NODE_SOCKSIZE);
- sock->locx -= NODE_GROUP_FRAME;
+ sock->locx += node_group_frame;
+ socket_circle_draw(sock, socket_size);
+ sock->locx -= node_group_frame;
uiBlockSetEmboss(gnode->block, UI_EMBOSSN);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_remove", 0, ICON_X,
- sock->locx+6, sock->locy-8, 16, 16, "");
+ locx+col1, sock->locy-0.5f*arrowbutw, arrowbutw, arrowbutw, "");
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_OUT);
uiBlockSetEmboss(gnode->block, UI_EMBOSS);
@@ -1163,13 +1186,13 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
uiBlockSetDirection(gnode->block, UI_TOP);
uiBlockBeginAlign(gnode->block);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
- sock->locx+24, sock->locy, 16, 16, "");
+ locx+cor2, sock->locy, arrowbutw, arrowbutw, "");
if (!sock->prev)
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_OUT);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
- sock->locx+24, sock->locy-16, 16, 16, "");
+ locx+cor2, sock->locy-arrowbutw, arrowbutw, arrowbutw, "");
if (!sock->next)
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
@@ -1179,17 +1202,17 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
if (sock->link) {
bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx+42, sock->locy-NODE_DYS+1, 72, NODE_DY,
+ locx+cor3, sock->locy-NODE_DYS+1, corw3, NODE_DY,
sock->name, 0, 31, 0, 0, "");
uiButSetFunc(bt, group_verify_cb, snode, ngroup);
}
else {
bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx+42, sock->locy+1, 72, NODE_DY,
+ locx+cor3, sock->locy+1, corw3, NODE_DY,
sock->name, 0, 31, 0, 0, "");
uiButSetFunc(bt, group_verify_cb, snode, ngroup);
- node_draw_socket_button(ngroup, sock, "", gnode->block, sock->locx+42, sock->locy-NODE_DY, 72, NULL, NULL, NULL);
+ node_draw_socket_button(ngroup, sock, "", gnode->block, locx+cor3, sock->locy-NODE_DY, corw3, NULL, NULL, NULL);
}
}
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index 01f32b49888..18d4d85e3ff 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -504,14 +504,7 @@ void node_set_active(SpaceNode *snode, bNode *node)
ED_node_changed_update(snode->id, node);
}
- // XXX
-#if 0
- if(node->id)
- ; // XXX BIF_preview_changed(-1); /* temp hack to force texture preview to update */
-
- // allqueue(REDRAWBUTSSHADING, 1);
- // allqueue(REDRAWIPO, 0);
-#endif
+ WM_main_add_notifier(NC_MATERIAL|ND_NODES, node->id);
}
else if(snode->treetype==NTREE_COMPOSIT) {
Scene *scene= (Scene*)snode->id;
@@ -1010,7 +1003,7 @@ static bNode *visible_node(SpaceNode *snode, rctf *rct)
/* **************************** */
typedef struct NodeViewMove {
- short mvalo[2];
+ int mvalo[2];
int xmin, ymin, xmax, ymax;
} NodeViewMove;
@@ -1086,6 +1079,13 @@ static int snode_bg_viewmove_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+static int snode_bg_viewmove_cancel(bContext *UNUSED(C), wmOperator *op)
+{
+ MEM_freeN(op->customdata);
+ op->customdata= NULL;
+
+ return OPERATOR_CANCELLED;
+}
void NODE_OT_backimage_move(wmOperatorType *ot)
{
@@ -1098,9 +1098,10 @@ void NODE_OT_backimage_move(wmOperatorType *ot)
ot->invoke= snode_bg_viewmove_invoke;
ot->modal= snode_bg_viewmove_modal;
ot->poll= composite_node_active;
+ ot->cancel= snode_bg_viewmove_cancel;
/* flags */
- ot->flag= OPTYPE_BLOCKING;
+ ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
}
static int backimage_zoom(bContext *C, wmOperator *op)
@@ -1166,7 +1167,6 @@ static void sample_apply(bContext *C, wmOperator *op, wmEvent *event)
Image *ima;
ImBuf *ibuf;
float fx, fy, bufx, bufy;
- int mx, my;
ima= BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
ibuf= BKE_image_acquire_ibuf(ima, NULL, &lock);
@@ -1181,13 +1181,11 @@ static void sample_apply(bContext *C, wmOperator *op, wmEvent *event)
IMB_rect_from_float(ibuf);
}
- mx= event->x - ar->winrct.xmin;
- my= event->y - ar->winrct.ymin;
/* map the mouse coords to the backdrop image space */
bufx = ibuf->x * snode->zoom;
bufy = ibuf->y * snode->zoom;
- fx = (bufx > 0.0f ? ((float)mx - 0.5f*ar->winx - snode->xof) / bufx + 0.5f : 0.0f);
- fy = (bufy > 0.0f ? ((float)my - 0.5f*ar->winy - snode->yof) / bufy + 0.5f : 0.0f);
+ fx = (bufx > 0.0f ? ((float)event->mval[0] - 0.5f*ar->winx - snode->xof) / bufx + 0.5f : 0.0f);
+ fy = (bufy > 0.0f ? ((float)event->mval[1] - 0.5f*ar->winy - snode->yof) / bufy + 0.5f : 0.0f);
if(fx>=0.0f && fy>=0.0f && fx<1.0f && fy<1.0f) {
float *fp;
@@ -1317,7 +1315,7 @@ static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
switch (event->type) {
case MOUSEMOVE:
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1],
&mx, &my);
if (node) {
@@ -1327,7 +1325,7 @@ static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
}
else {
node->width= nsw->oldwidth + mx - nsw->mxstart;
- CLAMP(node->width, node->typeinfo->minwidth, node->typeinfo->maxwidth);
+ CLAMP(node->width, UI_DPI_FAC*node->typeinfo->minwidth, UI_DPI_FAC*node->typeinfo->maxwidth);
}
}
@@ -1358,13 +1356,20 @@ static int node_resize_invoke(bContext *C, wmOperator *op, wmEvent *event)
rctf totr;
/* convert mouse coordinates to v2d space */
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1],
&snode->mx, &snode->my);
- /* rect we're interested in is just the bottom right corner */
totr= node->totr;
- totr.xmin= totr.xmax-10.0f;
- totr.ymax= totr.ymin+10.0f;
+
+ if(node->flag & NODE_HIDDEN) {
+ /* right part of node */
+ totr.xmin= node->totr.xmax-20.0f;
+ }
+ else {
+ /* bottom right corner */
+ totr.xmin= totr.xmax-10.0f;
+ totr.ymax= totr.ymin+10.0f;
+ }
if(BLI_in_rctf(&totr, snode->mx, snode->my)) {
NodeSizeWidget *nsw= MEM_callocN(sizeof(NodeSizeWidget), "size widget op data");
@@ -1387,6 +1392,14 @@ static int node_resize_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_CANCELLED|OPERATOR_PASS_THROUGH;
}
+static int node_resize_cancel(bContext *UNUSED(C), wmOperator *op)
+{
+ MEM_freeN(op->customdata);
+ op->customdata= NULL;
+
+ return OPERATOR_CANCELLED;
+}
+
void NODE_OT_resize(wmOperatorType *ot)
{
/* identifiers */
@@ -1397,6 +1410,7 @@ void NODE_OT_resize(wmOperatorType *ot)
ot->invoke= node_resize_invoke;
ot->modal= node_resize_modal;
ot->poll= ED_operator_node_active;
+ ot->cancel= node_resize_cancel;
/* flags */
ot->flag= OPTYPE_BLOCKING;
@@ -1615,7 +1629,7 @@ static int node_mouse_groupheader(SpaceNode *snode)
{
bNode *gnode;
float mx=0, my=0;
-// XXX short mval[2];
+// XXX int mval[2];
gnode= node_tree_get_editgroup(snode->nodetree);
if(gnode==NULL) return 0;
@@ -1986,23 +2000,21 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float
/* ****************** Duplicate *********************** */
-static int node_duplicate_exec(bContext *C, wmOperator *UNUSED(op))
+static int node_duplicate_exec(bContext *C, wmOperator *op)
{
SpaceNode *snode= CTX_wm_space_node(C);
bNodeTree *ntree= snode->edittree;
- bNode *node, *newnode, *last;
+ bNode *node, *newnode, *lastnode;
+ bNodeLink *link, *newlink, *lastlink;
+ int keep_inputs = RNA_boolean_get(op->ptr, "keep_inputs");
ED_preview_kill_jobs(C);
- last = ntree->nodes.last;
+ lastnode = ntree->nodes.last;
for(node= ntree->nodes.first; node; node= node->next) {
if(node->flag & SELECT) {
newnode = nodeCopyNode(ntree, node);
- /* deselect old node, select the copy instead */
- node->flag &= ~(NODE_SELECT|NODE_ACTIVE);
- newnode->flag |= NODE_SELECT;
-
if(newnode->id) {
/* simple id user adjustment, node internal functions dont touch this
* but operators and readfile.c do. */
@@ -2013,7 +2025,54 @@ static int node_duplicate_exec(bContext *C, wmOperator *UNUSED(op))
}
/* make sure we don't copy new nodes again! */
- if (node==last)
+ if (node==lastnode)
+ break;
+ }
+
+ /* copy links between selected nodes
+ * NB: this depends on correct node->new_node and sock->new_sock pointers from above copy!
+ */
+ lastlink = ntree->links.last;
+ for (link=ntree->links.first; link; link=link->next) {
+ /* This creates new links between copied nodes.
+ * If keep_inputs is set, also copies input links from unselected (when fromnode==NULL)!
+ */
+ if (link->tonode && (link->tonode->flag & NODE_SELECT)
+ && (keep_inputs || (link->fromnode && (link->fromnode->flag & NODE_SELECT)))) {
+ newlink = MEM_callocN(sizeof(bNodeLink), "bNodeLink");
+ newlink->flag = link->flag;
+ newlink->tonode = link->tonode->new_node;
+ newlink->tosock = link->tosock->new_sock;
+ if (link->fromnode && (link->fromnode->flag & NODE_SELECT)) {
+ newlink->fromnode = link->fromnode->new_node;
+ newlink->fromsock = link->fromsock->new_sock;
+ }
+ else {
+ /* input node not copied, this keeps the original input linked */
+ newlink->fromnode = link->fromnode;
+ newlink->fromsock = link->fromsock;
+ }
+
+ BLI_addtail(&ntree->links, newlink);
+ }
+
+ /* make sure we don't copy new links again! */
+ if (link==lastlink)
+ break;
+ }
+
+ /* deselect old nodes, select the copies instead */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->flag & SELECT) {
+ /* has been set during copy above */
+ newnode = node->new_node;
+
+ node->flag &= ~(NODE_SELECT|NODE_ACTIVE);
+ newnode->flag |= NODE_SELECT;
+ }
+
+ /* make sure we don't copy new nodes again! */
+ if (node==lastnode)
break;
}
@@ -2039,6 +2098,8 @@ void NODE_OT_duplicate(wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_boolean(ot->srna, "keep_inputs", 0, "Keep Inputs", "Keep the input links to duplicated nodes");
}
/* *************************** add link op ******************** */
@@ -2057,9 +2118,9 @@ static void node_remove_extra_links(SpaceNode *snode, bNodeSocket *tsock, bNodeL
if(tlink) {
/* try to move the existing link to the next available socket */
if (tlink->tonode) {
- /* is there a free input socket with same type? */
+ /* is there a free input socket with the target type? */
for(sock= tlink->tonode->inputs.first; sock; sock= sock->next) {
- if(sock->type==tlink->fromsock->type)
+ if(sock->type==tlink->tosock->type)
if(nodeCountSocketLinks(snode->edittree, sock) < sock->limit)
break;
}
@@ -2094,7 +2155,7 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
sock= nldrag->sock;
link= nldrag->link;
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1],
&snode->mx, &snode->my);
switch (event->type) {
@@ -2244,7 +2305,7 @@ static int node_link_invoke(bContext *C, wmOperator *op, wmEvent *event)
bNodeLinkDrag *nldrag= MEM_callocN(sizeof(bNodeLinkDrag), "drag link op customdata");
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1],
&snode->mx, &snode->my);
ED_preview_kill_jobs(C);
@@ -2282,6 +2343,18 @@ static int node_link_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
}
+static int node_link_cancel(bContext *C, wmOperator *op)
+{
+ SpaceNode *snode= CTX_wm_space_node(C);
+ bNodeLinkDrag *nldrag= op->customdata;
+
+ nodeRemLink(snode->edittree, nldrag->link);
+ BLI_remlink(&snode->linkdrag, nldrag);
+ MEM_freeN(nldrag);
+
+ return OPERATOR_CANCELLED;
+}
+
void NODE_OT_link(wmOperatorType *ot)
{
/* identifiers */
@@ -2293,6 +2366,7 @@ void NODE_OT_link(wmOperatorType *ot)
ot->modal= node_link_modal;
// ot->exec= node_link_exec;
ot->poll= ED_operator_node_active;
+ ot->cancel= node_link_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
@@ -2405,6 +2479,7 @@ void NODE_OT_links_cut(wmOperatorType *ot)
ot->invoke= WM_gesture_lines_invoke;
ot->modal= WM_gesture_lines_modal;
ot->exec= cut_links_exec;
+ ot->cancel= WM_gesture_lines_cancel;
ot->poll= ED_operator_node_active;
@@ -2417,6 +2492,151 @@ void NODE_OT_links_cut(wmOperatorType *ot)
RNA_def_int(ot->srna, "cursor", BC_KNIFECURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
}
+/* ********************* automatic node insert on dragging ******************* */
+
+/* assumes sockets in list */
+static bNodeSocket *socket_best_match(ListBase *sockets, int type)
+{
+ bNodeSocket *sock;
+
+ /* first, match type */
+ for(sock= sockets->first; sock; sock= sock->next)
+ if(!(sock->flag & SOCK_HIDDEN))
+ if(type == sock->type)
+ return sock;
+
+ /* then just use first unhidden socket */
+ for(sock= sockets->first; sock; sock= sock->next)
+ if(!(sock->flag & SOCK_HIDDEN))
+ return sock;
+
+ /* OK, let's unhide proper one */
+ for(sock= sockets->first; sock; sock= sock->next) {
+ if(type == sock->type) {
+ sock->flag &= ~SOCK_HIDDEN;
+ return sock;
+ }
+ }
+
+ /* just the first */
+ sock= sockets->first;
+ sock->flag &= ~SOCK_HIDDEN;
+
+ return sockets->first;
+}
+
+/* prevent duplicate testing code below */
+static SpaceNode *ed_node_link_conditions(ScrArea *sa, bNode **select)
+{
+ SpaceNode *snode= sa?sa->spacedata.first:NULL;
+ bNode *node;
+ bNodeLink *link;
+
+ /* no unlucky accidents */
+ if(sa==NULL || sa->spacetype!=SPACE_NODE) return NULL;
+
+ *select= NULL;
+
+ for(node= snode->edittree->nodes.first; node; node= node->next) {
+ if(node->flag & SELECT) {
+ if(*select)
+ break;
+ else
+ *select= node;
+ }
+ }
+ /* only one selected */
+ if(node || *select==NULL) return NULL;
+
+ /* correct node */
+ if((*select)->inputs.first==NULL || (*select)->outputs.first==NULL) return NULL;
+
+ /* test node for links */
+ for(link= snode->edittree->links.first; link; link=link->next) {
+ if(link->tonode == *select || link->fromnode == *select)
+ return NULL;
+ }
+
+ return snode;
+}
+
+/* assumes link with NODE_LINKFLAG_HILITE set */
+void ED_node_link_insert(ScrArea *sa)
+{
+ bNode *node, *select;
+ SpaceNode *snode= ed_node_link_conditions(sa, &select);
+ bNodeLink *link;
+ bNodeSocket *sockto;
+
+ if(snode==NULL) return;
+
+ /* get the link */
+ for(link= snode->edittree->links.first; link; link=link->next)
+ if(link->flag & NODE_LINKFLAG_HILITE)
+ break;
+
+ if(link) {
+ node= link->tonode;
+ sockto= link->tosock;
+
+ link->tonode= select;
+ link->tosock= socket_best_match(&select->inputs, link->fromsock->type);
+ link->flag &= ~NODE_LINKFLAG_HILITE;
+
+ nodeAddLink(snode->edittree, select, socket_best_match(&select->outputs, sockto->type), node, sockto);
+ ntreeSolveOrder(snode->edittree); /* needed for pointers */
+ snode_tag_changed(snode, select);
+ ED_node_changed_update(snode->id, select);
+ }
+}
+
+
+/* test == 0, clear all intersect flags */
+void ED_node_link_intersect_test(ScrArea *sa, int test)
+{
+ bNode *select;
+ SpaceNode *snode= ed_node_link_conditions(sa, &select);
+ bNodeLink *link, *selink=NULL;
+ float mcoords[6][2];
+
+ if(snode==NULL) return;
+
+ /* clear flags */
+ for(link= snode->edittree->links.first; link; link=link->next)
+ link->flag &= ~NODE_LINKFLAG_HILITE;
+
+ if(test==0) return;
+
+ /* okay, there's 1 node, without links, now intersect */
+ mcoords[0][0]= select->totr.xmin;
+ mcoords[0][1]= select->totr.ymin;
+ mcoords[1][0]= select->totr.xmax;
+ mcoords[1][1]= select->totr.ymin;
+ mcoords[2][0]= select->totr.xmax;
+ mcoords[2][1]= select->totr.ymax;
+ mcoords[3][0]= select->totr.xmin;
+ mcoords[3][1]= select->totr.ymax;
+ mcoords[4][0]= select->totr.xmin;
+ mcoords[4][1]= select->totr.ymin;
+ mcoords[5][0]= select->totr.xmax;
+ mcoords[5][1]= select->totr.ymax;
+
+ /* we only tag a single link for intersect now */
+ /* idea; use header dist when more? */
+ for(link= snode->edittree->links.first; link; link=link->next) {
+
+ if(cut_links_intersect(link, mcoords, 5)) { /* intersect code wants edges */
+ if(selink)
+ break;
+ selink= link;
+ }
+ }
+
+ if(link==NULL && selink)
+ selink->flag |= NODE_LINKFLAG_HILITE;
+}
+
+
/* ******************************** */
// XXX some code needing updating to operators...
@@ -2835,6 +3055,118 @@ void NODE_OT_delete(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+/* ****************** Delete with reconnect ******************* */
+
+/* note: in cmp_util.c is similar code, for node_compo_pass_on() */
+/* used for disabling node (similar code in node_draw.c for disable line) */
+static void node_delete_reconnect(bNodeTree* tree, bNode* node)
+{
+ bNodeLink *link, *next;
+ bNodeSocket *valsocket= NULL, *colsocket= NULL, *vecsocket= NULL;
+ bNodeSocket *deliveringvalsocket= NULL, *deliveringcolsocket= NULL, *deliveringvecsocket= NULL;
+ bNode *deliveringvalnode= NULL, *deliveringcolnode= NULL, *deliveringvecnode= NULL;
+ bNodeSocket *sock;
+
+ /* test the inputs */
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ int type = sock->type;
+ if(type==SOCK_VALUE && valsocket==NULL) valsocket = sock;
+ if(type==SOCK_VECTOR && vecsocket==NULL) vecsocket = sock;
+ if(type==SOCK_RGBA && colsocket==NULL) colsocket = sock;
+ }
+ // we now have the input sockets for the 'data types'
+ // now find the output sockets (and nodes) in the tree that delivers data to these input sockets
+ for(link= tree->links.first; link; link=link->next) {
+ if (valsocket != NULL) {
+ if (link->tosock == valsocket) {
+ deliveringvalnode = link->fromnode;
+ deliveringvalsocket = link->fromsock;
+ }
+ }
+ if (vecsocket != NULL) {
+ if (link->tosock == vecsocket) {
+ deliveringvecnode = link->fromnode;
+ deliveringvecsocket = link->fromsock;
+ }
+ }
+ if (colsocket != NULL) {
+ if (link->tosock == colsocket) {
+ deliveringcolnode = link->fromnode;
+ deliveringcolsocket = link->fromsock;
+ }
+ }
+ }
+ // we now have the sockets+nodes that fill the inputsockets be aware for group nodes these can be NULL
+ // now make the links for all outputlinks of the node to be reconnected
+ for(link= tree->links.first; link; link=next) {
+ next= link->next;
+ if (link->fromnode == node) {
+ sock = link->fromsock;
+ switch(sock->type) {
+ case SOCK_VALUE:
+ if (deliveringvalsocket) {
+ link->fromnode = deliveringvalnode;
+ link->fromsock = deliveringvalsocket;
+ }
+ break;
+ case SOCK_VECTOR:
+ if (deliveringvecsocket) {
+ link->fromnode = deliveringvecnode;
+ link->fromsock = deliveringvecsocket;
+ }
+ break;
+ case SOCK_RGBA:
+ if (deliveringcolsocket) {
+ link->fromnode = deliveringcolnode;
+ link->fromsock = deliveringcolsocket;
+ }
+ break;
+ }
+ }
+ }
+ if(node->id)
+ node->id->us--;
+ nodeFreeNode(tree, node);
+
+}
+
+static int node_delete_reconnect_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceNode *snode= CTX_wm_space_node(C);
+ bNode *node, *next;
+
+ ED_preview_kill_jobs(C);
+
+ for(node= snode->edittree->nodes.first; node; node= next) {
+ next= node->next;
+ if(node->flag & SELECT) {
+ node_delete_reconnect(snode->edittree, node);
+ }
+ }
+
+ node_tree_verify_groups(snode->nodetree);
+
+ snode_notify(C, snode);
+ snode_dag_update(C, snode);
+
+ return OPERATOR_FINISHED;
+}
+
+void NODE_OT_delete_reconnect(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Delete with reconnect";
+ ot->description = "Delete nodes; will reconnect nodes as if deletion was muted";
+ ot->idname= "NODE_OT_delete_reconnect";
+
+ /* api callbacks */
+ ot->exec= node_delete_reconnect_exec;
+ ot->poll= ED_operator_node_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
/* ****************** Show Cyclic Dependencies Operator ******************* */
static int node_show_cycles_exec(bContext *C, wmOperator *UNUSED(op))
@@ -2928,7 +3260,7 @@ static int node_add_file_invoke(bContext *C, wmOperator *op, wmEvent *event)
SpaceNode *snode= CTX_wm_space_node(C);
/* convert mouse coordinates to v2d space */
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin,
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1],
&snode->mx, &snode->my);
if (RNA_property_is_set(op->ptr, "filepath") || RNA_property_is_set(op->ptr, "name"))
@@ -2956,3 +3288,5 @@ void NODE_OT_add_file(wmOperatorType *ot)
RNA_def_string(ot->srna, "name", "Image", 24, "Name", "Datablock name to assign.");
}
+
+
diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c
index a982f4b1994..4f3991e8ff8 100644
--- a/source/blender/editors/space_node/node_header.c
+++ b/source/blender/editors/space_node/node_header.c
@@ -94,8 +94,6 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event)
if(node->flag & NODE_TEST) node->flag |= NODE_SELECT;
}
- snode_autoconnect(snode, 1, 0);
-
/* deselect after autoconnection */
for(node= snode->edittree->nodes.first; node; node= node->next) {
if(node->flag & NODE_TEST) node->flag &= ~NODE_SELECT;
diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h
index fcf1c182600..9122235f33c 100644
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@ -114,6 +114,7 @@ int node_render_changed_exec(bContext *, wmOperator *);
void NODE_OT_duplicate(struct wmOperatorType *ot);
void NODE_OT_delete(struct wmOperatorType *ot);
+void NODE_OT_delete_reconnect(struct wmOperatorType *ot);
void NODE_OT_resize(struct wmOperatorType *ot);
void NODE_OT_link(struct wmOperatorType *ot);
@@ -152,8 +153,8 @@ extern const char *node_context_dir[];
// XXX from BSE_node.h
#define HIDDEN_RAD 15.0f
#define BASIS_RAD 8.0f
-#define NODE_DYS 10
-#define NODE_DY 20
+#define NODE_DYS (U.widget_unit/2)
+#define NODE_DY U.widget_unit
#define NODE_SOCKSIZE 5
// XXX button events (butspace)
diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c
index 11e7949791d..4bb0283690b 100644
--- a/source/blender/editors/space_node/node_ops.c
+++ b/source/blender/editors/space_node/node_ops.c
@@ -70,12 +70,13 @@ void node_operatortypes(void)
WM_operatortype_append(NODE_OT_duplicate);
WM_operatortype_append(NODE_OT_delete);
+ WM_operatortype_append(NODE_OT_delete_reconnect);
WM_operatortype_append(NODE_OT_resize);
WM_operatortype_append(NODE_OT_link);
WM_operatortype_append(NODE_OT_link_make);
WM_operatortype_append(NODE_OT_links_cut);
-
+
WM_operatortype_append(NODE_OT_group_make);
WM_operatortype_append(NODE_OT_group_ungroup);
WM_operatortype_append(NODE_OT_group_edit);
@@ -100,16 +101,22 @@ void node_operatortypes(void)
void ED_operatormacros_node(void)
{
wmOperatorType *ot;
+ wmOperatorTypeMacro *mot;
ot= WM_operatortype_append_macro("NODE_OT_duplicate_move", "Duplicate", OPTYPE_UNDO|OPTYPE_REGISTER);
WM_operatortype_macro_define(ot, "NODE_OT_duplicate");
WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
+ /* modified operator call for duplicating with input links */
+ ot= WM_operatortype_append_macro("NODE_OT_duplicate_move_keep_inputs", "Duplicate", OPTYPE_UNDO|OPTYPE_REGISTER);
+ mot = WM_operatortype_macro_define(ot, "NODE_OT_duplicate");
+ RNA_boolean_set(mot->ptr, "keep_inputs", 1);
+ WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
+
ot= WM_operatortype_append_macro("NODE_OT_select_link_viewer", "Link Viewer", OPTYPE_UNDO);
WM_operatortype_macro_define(ot, "NODE_OT_select");
WM_operatortype_macro_define(ot, "NODE_OT_link_viewer");
-
-}
+ }
void node_keymap(struct wmKeyConfig *keyconf)
{
@@ -155,6 +162,8 @@ void node_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_menu(keymap, "NODE_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "NODE_OT_duplicate_move", DKEY, KM_PRESS, KM_SHIFT, 0);
+ /* modified operator call for duplicating with input links */
+ WM_keymap_add_item(keymap, "NODE_OT_duplicate_move_keep_inputs", DKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
WM_keymap_add_item(keymap, "NODE_OT_hide_toggle", HKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_mute_toggle", MKEY, KM_PRESS, 0, 0);
@@ -167,6 +176,7 @@ void node_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "NODE_OT_select_border", BKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_delete", XKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_delete", DELKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "NODE_OT_delete_reconnect", XKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "NODE_OT_select_all", AKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_select_linked_to", LKEY, KM_PRESS, KM_SHIFT, 0);
diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c
index 78368d91378..1abcaccc939 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -70,7 +70,7 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my)
/* ****** Click Select ****** */
-static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const short mval[2], short extend)
+static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2], short extend)
{
bNode *node;
float mx, my;
@@ -102,7 +102,7 @@ static int node_select_exec(bContext *C, wmOperator *op)
{
SpaceNode *snode= CTX_wm_space_node(C);
ARegion *ar= CTX_wm_region(C);
- short mval[2];
+ int mval[2];
short extend;
bNode *node= NULL;
@@ -124,14 +124,8 @@ static int node_select_exec(bContext *C, wmOperator *op)
static int node_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
- short mval[2];
-
- mval[0]= event->x - ar->winrct.xmin;
- mval[1]= event->y - ar->winrct.ymin;
-
- RNA_int_set(op->ptr, "mouse_x", mval[0]);
- RNA_int_set(op->ptr, "mouse_y", mval[1]);
+ RNA_int_set(op->ptr, "mouse_x", event->mval[0]);
+ RNA_int_set(op->ptr, "mouse_y", event->mval[1]);
return node_select_exec(C,op);
}
@@ -199,17 +193,9 @@ static int node_border_select_invoke(bContext *C, wmOperator *op, wmEvent *event
/* this allows border select on empty space, but drag-translate on nodes */
SpaceNode *snode= CTX_wm_space_node(C);
ARegion *ar= CTX_wm_region(C);
- short mval[2];
float mx, my;
-
- mval[0]= event->x - ar->winrct.xmin;
- mval[1]= event->y - ar->winrct.ymin;
-
- /* get mouse coordinates in view2d space */
- mx= (float)mval[0];
- my= (float)mval[1];
-
- UI_view2d_region_to_view(&ar->v2d, mval[0], mval[1], &mx, &my);
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &mx, &my);
if (node_under_mouse(snode->edittree, mx, my))
return OPERATOR_CANCELLED|OPERATOR_PASS_THROUGH;
@@ -229,6 +215,7 @@ void NODE_OT_select_border(wmOperatorType *ot)
ot->invoke= node_border_select_invoke;
ot->exec= node_borderselect_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_node_active;
diff --git a/source/blender/editors/space_node/node_state.c b/source/blender/editors/space_node/node_state.c
index 1ae36b077af..601ffbd313d 100644
--- a/source/blender/editors/space_node/node_state.c
+++ b/source/blender/editors/space_node/node_state.c
@@ -158,7 +158,7 @@ static int do_header_hidden_node(bNode *node, float mx, float my)
return 0;
}
-static int node_toggle_visibility(SpaceNode *snode, ARegion *ar, const short mval[2])
+static int node_toggle_visibility(SpaceNode *snode, ARegion *ar, const int mval[2])
{
bNode *node;
float mx, my;
@@ -189,7 +189,7 @@ static int node_toggle_visibility_exec(bContext *C, wmOperator *op)
{
SpaceNode *snode= CTX_wm_space_node(C);
ARegion *ar= CTX_wm_region(C);
- short mval[2];
+ int mval[2];
mval[0] = RNA_int_get(op->ptr, "mouse_x");
mval[1] = RNA_int_get(op->ptr, "mouse_y");
@@ -201,14 +201,8 @@ static int node_toggle_visibility_exec(bContext *C, wmOperator *op)
static int node_toggle_visibility_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
- short mval[2];
-
- mval[0]= event->x - ar->winrct.xmin;
- mval[1]= event->y - ar->winrct.ymin;
-
- RNA_int_set(op->ptr, "mouse_x", mval[0]);
- RNA_int_set(op->ptr, "mouse_y", mval[1]);
+ RNA_int_set(op->ptr, "mouse_x", event->mval[0]);
+ RNA_int_set(op->ptr, "mouse_y", event->mval[1]);
return node_toggle_visibility_exec(C,op);
}
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index 1c2f604a650..3c5f4a163a2 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -70,16 +70,13 @@
ARegion *node_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_UI)
- return ar;
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
/* add subdiv level; after header */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_HEADER)
- break;
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+
/* is error! */
if(ar==NULL) return NULL;
@@ -203,6 +200,9 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
ED_area_tag_refresh(sa);
else if(wmn->data==ND_SHADING_DRAW)
ED_area_tag_refresh(sa);
+ else if(wmn->action==NA_ADDED && snode->edittree)
+ nodeSetActiveID(snode->edittree, ID_MA, wmn->reference);
+
}
break;
case NC_TEXTURE:
@@ -225,6 +225,15 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
case NC_NODE:
if (wmn->action == NA_EDITED)
ED_area_tag_refresh(sa);
+ else if (wmn->action == NA_SELECTED)
+ ED_area_tag_redraw(sa);
+ break;
+ case NC_SCREEN:
+ switch(wmn->data) {
+ case ND_ANIMPLAY:
+ ED_area_tag_refresh(sa);
+ break;
+ }
break;
case NC_IMAGE:
diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt
index 871dec4dfc5..4194d463e10 100644
--- a/source/blender/editors/space_outliner/CMakeLists.txt
+++ b/source/blender/editors/space_outliner/CMakeLists.txt
@@ -22,14 +22,17 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
../../../../intern/opennl/extern
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -41,4 +44,4 @@ set(SRC
outliner_intern.h
)
-blender_add_lib(bf_editor_space_outliner "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_outliner "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_outliner/outliner.c b/source/blender/editors/space_outliner/outliner.c
index 0e574ca5ffb..93dc96cf9c0 100644
--- a/source/blender/editors/space_outliner/outliner.c
+++ b/source/blender/editors/space_outliner/outliner.c
@@ -57,6 +57,7 @@
#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 */
@@ -106,21 +107,17 @@
#include "outliner_intern.h"
-
-#define OL_H 19
-#define OL_X 18
-
#define OL_Y_OFFSET 2
-#define OL_TOG_RESTRICT_VIEWX 54
-#define OL_TOG_RESTRICT_SELECTX 36
-#define OL_TOG_RESTRICT_RENDERX 18
+#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 300
-#define OL_RNA_COL_SIZEX 150
-#define OL_RNA_COL_SPACEX 50
+#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
@@ -260,7 +257,7 @@ static void outliner_height(SpaceOops *soops, ListBase *lb, int *h)
TreeStoreElem *tselem= TREESTORE(te);
if((tselem->flag & TSE_CLOSED)==0)
outliner_height(soops, &te->subtree, h);
- (*h) += OL_H;
+ (*h) += UI_UNIT_Y;
te= te->next;
}
}
@@ -297,7 +294,7 @@ static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int start
*w = startx+100;
if((tselem->flag & TSE_CLOSED)==0)
- outliner_rna_width(soops, &te->subtree, w, startx+OL_X);
+ outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X);
te= te->next;
}
}
@@ -440,7 +437,7 @@ static void outliner_sort(SpaceOops *soops, ListBase *lb)
static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
TreeElement *parent, short type, short index);
-#define LOG2I(x) (int)(log(x)/log(2.0))
+#define LOG2I(x) (int)(log(x)/M_LN2)
static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl)
{
@@ -483,6 +480,10 @@ static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, Sc
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;
@@ -1766,7 +1767,7 @@ void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
ot->exec= outliner_toggle_expanded_exec;
ot->poll= ED_operator_outliner_active;
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ /* no undo or registry, UI option */
}
/* --- */
@@ -1801,7 +1802,7 @@ void OUTLINER_OT_selected_toggle(wmOperatorType *ot)
ot->exec= outliner_toggle_selected_exec;
ot->poll= ED_operator_outliner_active;
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ /* no undo or registry, UI option */
}
/* --- */
@@ -1858,7 +1859,7 @@ void OUTLINER_OT_show_one_level(wmOperatorType *ot)
ot->exec= outliner_one_level_exec;
ot->poll= ED_operator_outliner_active;
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ /* no undo or registry, UI option */
/* properties */
RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep.");
@@ -2482,16 +2483,16 @@ static int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops,
return 0;
}
-static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, float *mval)
+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+OL_H) {
+ 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+OL_X)
+ if( mval[0]>te->xs && mval[0]<te->xs+UI_UNIT_X)
openclose= 1;
}
@@ -2510,7 +2511,7 @@ static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, Spa
return 1;
}
/* name and first icon */
- else if(mval[0]>te->xs+OL_X && mval[0]<te->xend) {
+ 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)
@@ -2580,7 +2581,7 @@ static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
float fmval[2];
int extend= RNA_boolean_get(op->ptr, "extend");
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1);
+ 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;
@@ -2597,7 +2598,7 @@ static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
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, OL_H, 0.0f, OL_Y_OFFSET,
+ 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 */
@@ -2628,10 +2629,10 @@ void OUTLINER_OT_item_activate(wmOperatorType *ot)
/* *********** */
-static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, float *mval)
+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+OL_H) {
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
TreeStoreElem *tselem= TREESTORE(te);
/* all below close/open? */
@@ -2664,7 +2665,7 @@ static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event)
float fmval[2];
int all= RNA_boolean_get(op->ptr, "all");
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1);
+ 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))
@@ -2693,14 +2694,14 @@ void OUTLINER_OT_item_openclose(wmOperatorType *ot)
/* ********************************************** */
-static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, float *mval)
+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+OL_H) {
+ 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+OL_X && mval[0]<te->xend) {
+ 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))
@@ -2736,7 +2737,7 @@ static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *ev
TreeElement *te;
float fmval[2];
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1);
+ 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;
@@ -2861,12 +2862,12 @@ static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te,
/* store coord and continue, we need coordinates for elements outside view too */
te->xs= (float)startx;
te->ys= (float)(*starty);
- *starty-= OL_H;
+ *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+OL_X, starty);
+ outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty);
}
}
@@ -2876,7 +2877,7 @@ static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te,
static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
{
TreeElement *te;
- int starty= (int)(ar->v2d.tot.ymax)-OL_H;
+ int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y;
int startx= 0;
for(te= soops->tree.first; te; te= te->next) {
@@ -3053,7 +3054,7 @@ void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
ot->exec= outliner_show_hierarchy_exec;
ot->poll= ED_operator_outliner_active; // TODO: shouldn't be allowed in RNA views...
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ /* no undo or registry, UI option */
}
void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting)
@@ -3728,10 +3729,10 @@ void OUTLINER_OT_data_operation(wmOperatorType *ot)
/* ******************** */
-static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, float *mval)
+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+OL_H) {
+ 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);
@@ -3791,7 +3792,7 @@ static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *even
TreeElement *te;
float fmval[2];
- UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1);
+ 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;
@@ -4309,7 +4310,10 @@ static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon)
if(arg->x >= arg->xmax)
UI_icon_draw(arg->x, arg->y, icon);
else {
- uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-4, arg->y, ICON_DEFAULT_WIDTH, ICON_DEFAULT_WIDTH, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : "");
+ /* 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);
}
@@ -4572,7 +4576,7 @@ static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, Spa
for(te= lb->first; te; te= te->next) {
/* exit drawing early */
- if((*offsx) - OL_X > xmax)
+ if((*offsx) - UI_UNIT_X > xmax)
break;
tselem= TREESTORE(te);
@@ -4589,19 +4593,21 @@ static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, Spa
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, (float)ys-1.0f, (float)*offsx+OL_H-3.0f, (float)ys+OL_H-3.0f, OL_H/2.0f-2.0f);
+ 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+OL_X;
+ te->xend= (short)*offsx+UI_UNIT_X;
te->flag |= TE_ICONROW; // for click
- (*offsx) += OL_X;
+ (*offsx) += UI_UNIT_X;
}
/* this tree element always has same amount of branches, so dont draw */
@@ -4621,7 +4627,7 @@ static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, i
te->ys= (float)(*starty);
for(ten= te->subtree.first; ten; ten= ten->next) {
- outliner_set_coord_tree_element(soops, ten, startx+OL_X, starty);
+ outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty);
}
}
@@ -4630,16 +4636,17 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
{
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*OL_H >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) {
+ 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+ICON_DEFAULT_WIDTH;
+ xmax-= OL_TOGW+UI_UNIT_X;
glEnable(GL_BLEND);
@@ -4708,7 +4715,7 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
/* active circle */
if(active) {
uiSetRoundBox(15);
- uiRoundBox( (float)startx+OL_H-1.5f, (float)*starty+2.0f, (float)startx+2.0f*OL_H-4.0f, (float)*starty+OL_H-1.0f, OL_H/2.0f-2.0f);
+ 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
@@ -4720,35 +4727,35 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE))
icon_x = startx;
else
- icon_x = startx+5;
+ icon_x = startx+5*ufac;
// icons a bit higher
if(tselem->flag & TSE_CLOSED)
- UI_icon_draw((float)icon_x, (float)*starty+2, ICON_DISCLOSURE_TRI_RIGHT);
+ UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT);
else
- UI_icon_draw((float)icon_x, (float)*starty+2, ICON_DISCLOSURE_TRI_DOWN);
+ UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN);
}
- offsx+= OL_X;
+ 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, (float)*starty+2, tselem, te, 1.0f);
+ tselem_draw_icon(block, xmax, (float)startx+offsx - 0.5f*ufac, (float)*starty+2.0f*ufac, tselem, te, 1.0f);
- offsx+= OL_X;
+ offsx+= UI_UNIT_X;
}
else
- offsx+= 2;
+ 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, ICON_LIBRARY_DATA_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, ICON_LIBRARY_DATA_DIRECT);
+ UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT);
glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
- offsx+= OL_X;
+ offsx+= UI_UNIT_X;
}
glDisable(GL_BLEND);
@@ -4757,9 +4764,9 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
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, te->name);
+ UI_DrawString(startx+offsx, *starty+5*ufac, te->name);
- offsx+= (int)(OL_X + UI_GetStringWidth(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) {
@@ -4770,7 +4777,7 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
// divider
UI_ThemeColorShade(TH_BACK, -40);
- glRecti(tempx -10, *starty+4, tempx -8, *starty+OL_H-4);
+ glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4);
glEnable(GL_BLEND);
glPixelTransferf(GL_ALPHA_SCALE, 0.5);
@@ -4789,16 +4796,16 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
te->xend= startx+offsx;
if((tselem->flag & TSE_CLOSED)==0) {
- *starty-= OL_H;
+ *starty-= UI_UNIT_Y;
for(ten= te->subtree.first; ten; ten= ten->next)
- outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+OL_X, starty);
+ 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-= OL_H;
+ *starty-= UI_UNIT_Y;
}
}
@@ -4817,12 +4824,12 @@ static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx,
/* horizontal line? */
if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE))
- glRecti(startx, *starty, startx+OL_X, *starty-1);
+ glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1);
- *starty-= OL_H;
+ *starty-= UI_UNIT_Y;
if((tselem->flag & TSE_CLOSED)==0)
- outliner_draw_hierarchy(soops, &te->subtree, startx+OL_X, starty);
+ outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty);
}
/* vertical line */
@@ -4831,7 +4838,7 @@ static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx,
tselem= TREESTORE(te);
if(tselem->type==0 && te->idcode==ID_OB) {
- glRecti(startx, y1+OL_H, startx+1, y2);
+ glRecti(startx, y1+UI_UNIT_Y, startx+1, y2);
}
}
}
@@ -4847,13 +4854,13 @@ static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *
/* 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+OL_H-1);
+ glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1);
- *starty-= OL_H;
+ *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+OL_H, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+OL_H);
+ fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y);
}
}
}
@@ -4868,9 +4875,9 @@ static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb,
/* selection status */
if(tselem->flag & TSE_SELECTED) {
- glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+OL_H-1);
+ glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1);
}
- *starty-= OL_H;
+ *starty-= UI_UNIT_Y;
if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty);
}
}
@@ -4888,24 +4895,24 @@ static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegio
/* struct marks */
UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
//UI_ThemeColorShade(TH_BACK, -20);
- starty= (int)ar->v2d.tot.ymax-OL_H-OL_Y_OFFSET;
+ 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-OL_H-OL_Y_OFFSET;
+ 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.2f);
- starty= (int)ar->v2d.tot.ymax-OL_H/2-OL_Y_OFFSET;
+ 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-OL_H-OL_Y_OFFSET;
+ 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);
@@ -4919,11 +4926,11 @@ static void outliner_back(ARegion *ar)
UI_ThemeColorShade(TH_BACK, 6);
ystart= (int)ar->v2d.tot.ymax;
- ystart= OL_H*(ystart/(OL_H))-OL_Y_OFFSET;
+ ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
- while(ystart+2*OL_H > ar->v2d.cur.ymin) {
- glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+OL_H);
- ystart-= 2*OL_H;
+ 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;
}
}
@@ -4937,11 +4944,11 @@ static void outliner_draw_restrictcols(ARegion *ar)
UI_ThemeColorShade(TH_BACK, 6);
ystart= (int)ar->v2d.tot.ymax;
- ystart= OL_H*(ystart/(OL_H))-OL_Y_OFFSET;
+ ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
- while(ystart+2*OL_H > ar->v2d.cur.ymin) {
- glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+OL_H);
- ystart-= 2*OL_H;
+ 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);
@@ -5225,7 +5232,7 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
for(te= lb->first; te; te= te->next) {
tselem= TREESTORE(te);
- if(te->ys+2*OL_H >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ 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;
@@ -5235,17 +5242,17 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
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, 17, OL_H-1,
+ (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, 17, OL_H-1,
+ (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, 17, OL_H-1,
+ (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);
@@ -5259,15 +5266,15 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
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, 17, OL_H-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D 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, 17, OL_H-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ 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, 17, OL_H-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
+ 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);
@@ -5277,7 +5284,7 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
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, 17, OL_H-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer");
+ (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);
@@ -5290,13 +5297,13 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, 17, OL_H-1, layflag, 0, 0, 0, 0, "Render this Pass");
+ (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, 17, OL_H-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
+ (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);
@@ -5307,11 +5314,11 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
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, 17, OL_H-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ (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, 17, OL_H-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability");
+ (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) {
@@ -5320,11 +5327,11 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
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, 17, OL_H-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ (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, 17, OL_H-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ (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) {
@@ -5332,11 +5339,11 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
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, 17, OL_H-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ (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, 17, OL_H-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ (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);
}
}
@@ -5377,19 +5384,19 @@ static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, Spa
for(te= lb->first; te; te= te->next) {
tselem= TREESTORE(te);
- if(te->ys+2*OL_H >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ 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, OL_H-1);
+ 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, OL_H-1);
+ uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
}
}
@@ -5444,7 +5451,7 @@ static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi)
/* 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, 19, 0, 0, "");
+ 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);
@@ -5583,11 +5590,11 @@ static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soo
for(te= lb->first; te; te= te->next) {
tselem= TREESTORE(te);
- if(te->ys+2*OL_H >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ 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= 20; /* operator */
+ int butw1= UI_UNIT_X; /* operator */
int butw2= 90; /* event type, menus */
int butw3= 43; /* modifiers */
@@ -5597,7 +5604,7 @@ static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soo
/* modal map? */
if(kmi->propvalue);
else {
- uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, OL_H-1, "Assign new Operator");
+ uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator");
}
xstart+= butw1+10;
@@ -5605,45 +5612,46 @@ static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soo
kmi->maptype= keymap_menu_type(kmi->type);
str= keymap_type_menu();
- but= uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, OL_H-1, &kmi->maptype, 0, 0, 0, 0, "Event type");
+ 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, OL_H-1, &kmi->type, "Key code");
+ 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, OL_H-1, &kmi->type, 0, 0, 0, 0, "Mouse button");
+ 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, OL_H-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture");
+ 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, OL_H-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction");
+ 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, OL_H-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5;
- uiDefButS(block, OPTION, 0, "Ctrl", xstart, (int)te->ys+1, butw3, OL_H-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- uiDefButS(block, OPTION, 0, "Alt", xstart, (int)te->ys+1, butw3, OL_H-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- uiDefButS(block, OPTION, 0, "OS", xstart, (int)te->ys+1, butw3, OL_H-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+ 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, OL_H-1, &kmi->keymodifier, "Key Modifier code");
+ 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, OL_H-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2;
-
-
+ 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;
}
}
@@ -5661,7 +5669,7 @@ static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, Spa
for(te= lb->first; te; te= te->next) {
tselem= TREESTORE(te);
- if(te->ys+2*OL_H >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
if(tselem->flag & TSE_TEXTBUT) {
@@ -5678,10 +5686,10 @@ static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, Spa
dx= (int)UI_GetStringWidth(te->name);
if(dx<100) dx= 100;
- spx=te->xs+2*OL_X-4;
+ 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, OL_H-1, (void *)te->name, 1.0, (float)len, 0, 0, "");
+ 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 */
@@ -5715,7 +5723,7 @@ void draw_outliner(const bContext *C)
* (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 OL_X*(max_indention+100)
+ * (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100)
*/
/* get actual width of column 1 */
diff --git a/source/blender/editors/space_script/CMakeLists.txt b/source/blender/editors/space_script/CMakeLists.txt
index 974dc66e22c..9d3bd4a67aa 100644
--- a/source/blender/editors/space_script/CMakeLists.txt
+++ b/source/blender/editors/space_script/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -41,8 +44,13 @@ set(SRC
)
if(WITH_PYTHON)
- list(APPEND INC ${PYTHON_INCLUDE_DIRS} ../../python)
+ list(APPEND INC
+ ../../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
-blender_add_lib(bf_editor_space_script "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_script "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_script/script_header.c b/source/blender/editors/space_script/script_header.c
index 57a1d36e3a2..d88d4296008 100644
--- a/source/blender/editors/space_script/script_header.c
+++ b/source/blender/editors/space_script/script_header.c
@@ -106,14 +106,14 @@ void script_header_buttons(const bContext *C, ARegion *ar)
xmax= GetButStringLength("View");
uiDefPulldownBut(block, dummy_viewmenu, CTX_wm_area(C),
- "View", xco, yco-2, xmax-3, 24, "");
- xco+=XIC+xmax;
+ "View", xco, yco-2, xmax-3, UI_UNIT_Y, "");
+ xco+=UI_UNIT_X+xmax;
}
uiBlockSetEmboss(block, UI_EMBOSS);
/* always as last */
- UI_view2d_totRect_set(&ar->v2d, xco+XIC+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
+ UI_view2d_totRect_set(&ar->v2d, xco+UI_UNIT_X+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
uiEndBlock(C, block);
uiDrawBlock(C, block);
diff --git a/source/blender/editors/space_sequencer/CMakeLists.txt b/source/blender/editors/space_sequencer/CMakeLists.txt
index 9dc0b7a4258..9ce5f8e5279 100644
--- a/source/blender/editors/space_sequencer/CMakeLists.txt
+++ b/source/blender/editors/space_sequencer/CMakeLists.txt
@@ -22,14 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -46,4 +48,11 @@ set(SRC
sequencer_intern.h
)
-blender_add_lib(bf_editor_space_sequencer "${SRC}" "${INC}")
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+blender_add_lib(bf_editor_space_sequencer "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c
index 2ef8fb12965..b105b2507ab 100644
--- a/source/blender/editors/space_sequencer/sequencer_add.c
+++ b/source/blender/editors/space_sequencer/sequencer_add.c
@@ -70,7 +70,10 @@
#include "UI_view2d.h"
#include "BKE_sound.h"
-#include "AUD_C-API.h"
+
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
/* own include */
#include "sequencer_intern.h"
@@ -82,6 +85,7 @@
#define SEQPROP_ENDFRAME (1<<1)
#define SEQPROP_FILES (1<<2)
#define SEQPROP_NOPATHS (1<<3)
+#define SEQPROP_NOCHAN (1<<4)
#define SELECT 1
@@ -97,6 +101,8 @@ 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", "");
}
@@ -117,19 +123,17 @@ static void sequencer_generic_invoke_path__internal(bContext *C, wmOperator *op,
static void sequencer_generic_invoke_xy__internal(bContext *C, wmOperator *op, wmEvent *event, int flag)
{
- ARegion *ar= CTX_wm_region(C);
View2D *v2d= UI_view2d_fromcontext(C);
- short mval[2];
float mval_v2d[2];
+ UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &mval_v2d[0], &mval_v2d[1]);
+
+ /* effect strips dont need a channel initialized from the mouse */
+ if(!(flag & SEQPROP_NOCHAN)) {
+ RNA_int_set(op->ptr, "channel", (int)mval_v2d[1]+0.5f);
+ }
- mval[0]= event->x - ar->winrct.xmin;
- mval[1]= event->y - ar->winrct.ymin;
-
- UI_view2d_region_to_view(v2d, mval[0], mval[1], &mval_v2d[0], &mval_v2d[1]);
-
- RNA_int_set(op->ptr, "channel", (int)mval_v2d[1]+0.5f);
RNA_int_set(op->ptr, "frame_start", (int)mval_v2d[0]);
if ((flag & SEQPROP_ENDFRAME) && RNA_property_is_set(op->ptr, "frame_end")==0)
@@ -248,7 +252,11 @@ static int sequencer_add_scene_strip_exec(bContext *C, wmOperator *op)
seq_active_set(scene, seq);
seq->flag |= SELECT;
}
-
+
+ if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+ 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;
@@ -303,6 +311,7 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad
SeqLoadInfo seq_load;
Sequence *seq;
int tot_files;
+ const short overlap= RNA_boolean_get(op->ptr, "overlap");
seq_load_operator_info(&seq_load, op);
@@ -323,12 +332,20 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad
BLI_join_dirfile(seq_load.path, sizeof(seq_load.path), dir_only, file_only);
seq= seq_load_func(C, ed->seqbasep, &seq_load);
+
+ if(overlap == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
}
RNA_END;
}
else {
/* single file */
seq= seq_load_func(C, ed->seqbasep, &seq_load);
+
+ if(overlap == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
}
if (seq_load.tot_success==0) {
@@ -504,7 +521,11 @@ static int sequencer_add_image_strip_exec(bContext *C, wmOperator *op)
/* last active name */
strncpy(ed->act_imagedir, strip->dir, FILE_MAXDIR-1);
-
+
+ if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+ 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;
@@ -633,25 +654,30 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
BKE_reportf(op->reports, RPT_ERROR, "Sequencer plugin \"%s\" could not load.", path);
return OPERATOR_CANCELLED;
}
- }
- else if (seq->type==SEQ_COLOR) {
+ } else if (seq->type == SEQ_COLOR) {
SolidColorVars *colvars= (SolidColorVars *)seq->effectdata;
RNA_float_get_array(op->ptr, "color", colvars->col);
seq->blend_mode= SEQ_CROSS; /* so alpha adjustment fade to the strip below */
+ } else if (seq->type == SEQ_ADJUSTMENT) {
+ seq->blend_mode= SEQ_CROSS;
}
- // XXX, this conflicts with giving a channel with invoke, perhaps we should have an active channel
- // but for now this is much more usable
- if(seq->seq1 || seq->seq2 || seq->seq3) {
- int chan= MAX3( seq->seq1 ? seq->seq1->machine : 0,
- seq->seq2 ? seq->seq2->machine : 0,
- seq->seq3 ? seq->seq3->machine : 0);
- if(chan < MAXSEQ)
- seq->machine= chan;
+ /* an unset channel is a special case where we automatically go above
+ * the other strips. */
+ if(!RNA_property_is_set(op->ptr, "channel")) {
+ if(seq->seq1) {
+ int chan= MAX3( seq->seq1 ? seq->seq1->machine : 0,
+ seq->seq2 ? seq->seq2->machine : 0,
+ seq->seq3 ? seq->seq3->machine : 0);
+ if(chan < MAXSEQ)
+ seq->machine= chan;
+ }
}
- if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
update_changed_seq_and_deps(scene, seq, 1, 1); /* runs calc_sequence */
@@ -675,14 +701,30 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
/* add color */
static int sequencer_add_effect_strip_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
+ short is_type_set= RNA_property_is_set(op->ptr, "type");
+ int type= -1;
+ int prop_flag= SEQPROP_ENDFRAME;
+
if(!ED_operator_sequencer_active(C)) {
BKE_report(op->reports, RPT_ERROR, "Sequencer area not active");
return OPERATOR_CANCELLED;
}
- sequencer_generic_invoke_xy__internal(C, op, event, SEQPROP_ENDFRAME);
+ if(is_type_set) {
+ type= RNA_enum_get(op->ptr, "type");
+
+ /* when invoking an effect strip which uses inputs,
+ * skip initialzing the channel from the mouse.
+ * Instead leave the property unset so exec() initializes it to be
+ * above the strips its applied to. */
+ if(get_sequence_effect_num_inputs(type) != 0) {
+ prop_flag |= SEQPROP_NOCHAN;
+ }
+ }
+
+ sequencer_generic_invoke_xy__internal(C, op, event, prop_flag);
- if (RNA_property_is_set(op->ptr, "type") && RNA_enum_get(op->ptr, "type")==SEQ_PLUGIN) {
+ if (is_type_set && type==SEQ_PLUGIN) {
if(!RNA_property_is_set(op->ptr, "relative_path"))
RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 2f95e8fa64c..594d2942e8f 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -126,6 +126,7 @@ static void get_seq_color3ubv(Scene *curscene, Sequence *seq, unsigned char col[
case SEQ_OVERDROP:
case SEQ_GLOW:
case SEQ_MULTICAM:
+ case SEQ_ADJUSTMENT:
UI_GetThemeColor3ubv(TH_SEQ_EFFECT, col);
/* slightly offset hue to distinguish different effects */
@@ -137,6 +138,8 @@ static void get_seq_color3ubv(Scene *curscene, Sequence *seq, unsigned char col[
if (seq->type == SEQ_OVERDROP) rgb_byte_set_hue_float_offset(col,0.24);
if (seq->type == SEQ_GLOW) rgb_byte_set_hue_float_offset(col,0.28);
if (seq->type == SEQ_TRANSFORM) rgb_byte_set_hue_float_offset(col,0.36);
+ if (seq->type == SEQ_MULTICAM) rgb_byte_set_hue_float_offset(col,0.32);
+ if (seq->type == SEQ_ADJUSTMENT) rgb_byte_set_hue_float_offset(col,0.40);
break;
case SEQ_COLOR:
@@ -476,7 +479,7 @@ static void draw_seq_text(View2D *v2d, Sequence *seq, float x1, float x2, float
if(name[0]=='\0')
name= give_seqname(seq);
- if(seq->type == SEQ_META) {
+ if(seq->type == SEQ_META || seq->type == SEQ_ADJUSTMENT) {
sprintf(str, "%d | %s", seq->len, name);
}
else if(seq->type == SEQ_SCENE) {
@@ -547,15 +550,17 @@ static void draw_shadedstrip(Sequence *seq, unsigned char col[3], float x1, floa
glShadeModel(GL_SMOOTH);
glBegin(GL_QUADS);
- if(seq->flag & SELECT) UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, -50);
+ if(seq->flag & SEQ_INVALID_EFFECT) { col[0]= 255; col[1]= 0; col[2]= 255; }
+ else if(seq->flag & SELECT) UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, -50);
else UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 0);
glColor3ubv(col);
glVertex2f(x1,y1);
glVertex2f(x2,y1);
-
- if(seq->flag & SELECT) UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 5);
+
+ if(seq->flag & SEQ_INVALID_EFFECT) { col[0]= 255; col[1]= 0; col[2]= 255; }
+ else if(seq->flag & SELECT) UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 5);
else UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, -5);
glColor3ubv((GLubyte *)col);
@@ -638,10 +643,12 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
if (G.moving && (seq->flag & SELECT)) {
if(seq->flag & SEQ_OVERLAP) {
col[0]= 255; col[1]= col[2]= 40;
- } else UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 120);
+ }
+ else
+ UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 120+outline_tint);
}
-
- UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, outline_tint);
+ else
+ UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, outline_tint);
glColor3ubv((GLubyte *)col);
@@ -964,7 +971,7 @@ static void draw_seq_strips(const bContext *C, Editing *ed, ARegion *ar)
/* loop through strips, checking for those that are visible */
for (seq= ed->seqbasep->first; seq; seq= seq->next) {
/* boundbox and selection tests for NOT drawing the strip... */
- if ((seq->flag & SELECT) == sel) continue;
+ if ((seq->flag & SELECT) != sel) continue;
else if (seq == last_seq) continue;
else if (MIN2(seq->startdisp, seq->start) > v2d->cur.xmax) continue;
else if (MAX2(seq->enddisp, seq->start+seq->len) < v2d->cur.xmin) continue;
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index 92fae3d4820..b7a7b6b5412 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -100,6 +100,7 @@ EnumPropertyItem sequencer_prop_effect_types[] = {
{SEQ_COLOR, "COLOR", 0, "Color", "Color effect strip type"},
{SEQ_SPEED, "SPEED", 0, "Speed", "Color effect strip type"},
{SEQ_MULTICAM, "MULTICAM", 0, "Multicam Selector", ""},
+ {SEQ_ADJUSTMENT, "ADJUSTMENT", 0, "Adjustment Layer", ""},
{0, NULL, 0, NULL, NULL}
};
@@ -123,7 +124,8 @@ typedef struct TransSeq {
int startstill, endstill;
int startdisp, enddisp;
int startofs, endofs;
- int final_left, final_right;
+ int anim_startofs, anim_endofs;
+ /* int final_left, final_right; */ /* UNUSED */
int len;
} TransSeq;
@@ -191,7 +193,7 @@ void boundbox_seq(Scene *scene, rctf *rect)
static int mouse_frame_side(View2D *v2d, short mouse_x, int frame )
{
- short mval[2];
+ int mval[2];
float mouseloc[2];
mval[0]= mouse_x;
@@ -284,7 +286,7 @@ static Sequence *find_next_prev_sequence(Scene *scene, Sequence *test, int lr, i
}
-Sequence *find_nearest_seq(Scene *scene, View2D *v2d, int *hand, const short mval[2])
+Sequence *find_nearest_seq(Scene *scene, View2D *v2d, int *hand, const int mval[2])
{
Sequence *seq;
Editing *ed= seq_give_editing(scene, FALSE);
@@ -406,6 +408,7 @@ int event_to_efftype(int event)
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;
}
@@ -517,7 +520,8 @@ static void change_sequence(Scene *scene)
"|Glow%x14"
"|Transform%x15"
"|Color Generator%x16"
- "|Speed Control%x17");
+ "|Speed Control%x17"
+ "|Adjustment Layer%x18");
if(event > 0) {
if(event==1) {
SWAP(Sequence *,last_seq->seq1,last_seq->seq2);
@@ -703,15 +707,9 @@ static void recurs_del_seq_flag(Scene *scene, ListBase *lb, short flag, short de
while(seq) {
seqn= seq->next;
if((seq->flag & flag) || deleteall) {
- if(seq->type==SEQ_SOUND && seq->sound) {
- ((ID *)seq->sound)->us--; /* TODO, could be moved into seq_free_sequence() */
- }
-
BLI_remlink(lb, seq);
if(seq==last_seq) seq_active_set(scene, NULL);
if(seq->type==SEQ_META) recurs_del_seq_flag(scene, &seq->seqbase, flag, 1);
- /* if(seq->ipo) seq->ipo->id.us--; */
- /* XXX, remove fcurve */
seq_free_sequence(scene, seq);
}
seq= seqn;
@@ -732,8 +730,10 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
ts.endstill= seq->endstill;
ts.startdisp= seq->startdisp;
ts.enddisp= seq->enddisp;
- ts.startofs= seq->anim_startofs;
- ts.endofs= seq->anim_endofs;
+ ts.startofs= seq->startofs;
+ ts.endofs= seq->endofs;
+ ts.anim_startofs= seq->anim_startofs;
+ ts.anim_endofs= seq->anim_endofs;
ts.len= seq->len;
/* First Strip! */
@@ -783,7 +783,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
if ((seqn->startstill) && (cutframe == seqn->start + 1)) {
seqn->start = ts.start;
seqn->startstill= ts.start- cutframe;
- seqn->anim_endofs = ts.endofs;
+ seqn->anim_endofs = ts.anim_endofs;
seqn->endstill = ts.endstill;
}
@@ -792,8 +792,9 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
seqn->start = cutframe;
seqn->startstill = 0;
seqn->startofs = 0;
+ seqn->endofs = ts.endofs;
seqn->anim_startofs += cutframe - ts.start;
- seqn->anim_endofs = ts.endofs;
+ seqn->anim_endofs = ts.anim_endofs;
seqn->endstill = ts.endstill;
}
@@ -828,6 +829,8 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence * seq, int cutframe)
ts.enddisp= seq->enddisp;
ts.startofs= seq->startofs;
ts.endofs= seq->endofs;
+ ts.anim_startofs= seq->anim_startofs;
+ ts.anim_endofs= seq->anim_endofs;
ts.len= seq->len;
/* First Strip! */
@@ -1084,7 +1087,7 @@ static int seq_get_snaplimit(View2D *v2d)
/* fake mouse coords to get the snap value
a bit lazy but its only done once pre transform */
float xmouse, ymouse, x;
- short mval[2] = {24, 0}; /* 24 screen px snap */
+ int mval[2] = {24, 0}; /* 24 screen px snap */
UI_view2d_region_to_view(v2d, mval[0], mval[1], &xmouse, &ymouse);
x = xmouse;
@@ -1576,14 +1579,13 @@ static int sequencer_cut_exec(bContext *C, wmOperator *op)
static int sequencer_cut_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
Scene *scene = CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
View2D *v2d= UI_view2d_fromcontext(C);
int cut_side= SEQ_SIDE_BOTH;
int cut_frame= CFRA;
if (ED_operator_sequencer_active(C) && v2d)
- cut_side= mouse_frame_side(v2d, event->x - ar->winrct.xmin, cut_frame);
+ cut_side= mouse_frame_side(v2d, event->mval[0], cut_frame);
RNA_int_set(op->ptr, "frame", cut_frame);
RNA_enum_set(op->ptr, "side", cut_side);
@@ -1706,11 +1708,6 @@ static int sequencer_delete_exec(bContext *C, wmOperator *UNUSED(op))
if (nothingSelected)
return OPERATOR_FINISHED;
- /* free imbufs of all dependent strips */
- for(seq=ed->seqbasep->first; seq; seq=seq->next)
- if(seq->flag & SELECT)
- update_changed_seq_and_deps(scene, seq, 1, 0);
-
/* for effects, try to find a replacement input */
for(seq=ed->seqbasep->first; seq; seq=seq->next)
if((seq->type & SEQ_EFFECT) && !(seq->flag & SELECT))
@@ -1787,19 +1784,21 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
/* new seq */
se = give_stripelem(seq, cfra);
- seq_new= alloc_sequence(ed->seqbasep, start_ofs, seq->machine);
+ seq_new= seq_dupli_recursive(scene, scene, seq, SEQ_DUPE_UNIQUE_NAME);
+ BLI_addtail(&ed->seqbase, seq_new);
+
+ seq_new->start= start_ofs;
seq_new->type= SEQ_IMAGE;
seq_new->len = 1;
seq_new->endstill = step-1;
/* new strip */
- seq_new->strip= strip_new= MEM_callocN(sizeof(Strip)*1, "strip");
+ strip_new= seq_new->strip;
strip_new->len= 1;
strip_new->us= 1;
- strncpy(strip_new->dir, seq->strip->dir, FILE_MAXDIR-1);
/* new stripdata */
- strip_new->stripdata= se_new= MEM_callocN(sizeof(StripElem)*1, "stripelem");
+ se_new= strip_new->stripdata;
BLI_strncpy(se_new->name, se->name, sizeof(se_new->name));
calc_sequence(scene, seq_new);
@@ -1811,8 +1810,6 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
}
/* XXX, COPY FCURVES */
- strncpy(seq_new->name+2, seq->name+2, sizeof(seq->name)-2);
- seqbase_unique_name_recursive(&scene->ed->seqbase, seq_new);
cfra++;
start_ofs += step;
@@ -2728,14 +2725,15 @@ static int sequencer_swap_data_exec(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C);
Sequence *seq_act;
Sequence *seq_other;
+ const char *error_msg;
if(seq_active_pair_get(scene, &seq_act, &seq_other) == 0) {
BKE_report(op->reports, RPT_ERROR, "Must select 2 strips");
return OPERATOR_CANCELLED;
}
- if(seq_swap(seq_act, seq_other) == 0) {
- BKE_report(op->reports, RPT_ERROR, "Strips were not compatible");
+ if(seq_swap(seq_act, seq_other, &error_msg) == 0) {
+ BKE_report(op->reports, RPT_ERROR, error_msg);
return OPERATOR_CANCELLED;
}
@@ -2825,6 +2823,7 @@ void SEQUENCER_OT_view_ghost_border(wmOperatorType *ot)
ot->exec= view_ghost_border_exec;
ot->modal= WM_border_select_modal;
ot->poll= sequencer_view_poll;
+ ot->cancel= WM_border_select_cancel;
/* flags */
ot->flag= 0;
diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h
index 9a4796ced5e..209b39662aa 100644
--- a/source/blender/editors/space_sequencer/sequencer_intern.h
+++ b/source/blender/editors/space_sequencer/sequencer_intern.h
@@ -61,7 +61,7 @@ void seq_reset_imageofs(struct SpaceSeq *sseq);
struct View2D;
void seq_rectf(struct Sequence *seq, struct rctf *rectf);
void boundbox_seq(struct Scene *scene, struct rctf *rect);
-struct Sequence *find_nearest_seq(struct Scene *scene, struct View2D *v2d, int *hand, const short mval[2]);
+struct Sequence *find_nearest_seq(struct Scene *scene, struct View2D *v2d, int *hand, const int mval[2]);
struct Sequence *find_neighboring_sequence(struct Scene *scene, struct Sequence *test, int lr, int sel);
void deselect_all_seq(struct Scene *scene);
void recurs_sel_seq(struct Sequence *seqm);
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index b2d6ab6f8ca..8d5f372f55e 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -298,7 +298,6 @@ void SEQUENCER_OT_select_inverse(struct wmOperatorType *ot)
static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- ARegion *ar= CTX_wm_region(C);
View2D *v2d= UI_view2d_fromcontext(C);
Scene *scene= CTX_data_scene(C);
Editing *ed= seq_give_editing(scene, FALSE);
@@ -306,8 +305,6 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
short linked_handle= RNA_boolean_get(op->ptr, "linked_handle");
short left_right= RNA_boolean_get(op->ptr, "left_right");
short linked_time= RNA_boolean_get(op->ptr, "linked_time");
-
- short mval[2];
Sequence *seq,*neighbor, *act_orig;
int hand,sel_side;
@@ -318,10 +315,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
marker=find_nearest_marker(SCE_MARKERS, 1); //XXX - dummy function for now
- mval[0]= event->x - ar->winrct.xmin;
- mval[1]= event->y - ar->winrct.ymin;
-
- seq= find_nearest_seq(scene, v2d, &hand, mval);
+ seq= find_nearest_seq(scene, v2d, &hand, event->mval);
// XXX - not nice, Ctrl+RMB needs to do left_right only when not over a strip
if(seq && linked_time && left_right)
@@ -347,7 +341,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* use different logic for this */
float x;
deselect_all_seq(scene);
- UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, NULL);
+ UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, NULL);
SEQP_BEGIN(ed, seq) {
if (x < CFRA) {
@@ -489,7 +483,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* marker transform */
#if 0 // XXX probably need to redo this differently for 2.5
if (marker) {
- short mval[2], xo, yo;
+ int mval[2], xo, yo;
// getmouseco_areawin(mval);
xo= mval[0];
yo= mval[1];
@@ -652,20 +646,15 @@ void SEQUENCER_OT_select_less(wmOperatorType *ot)
static int sequencer_select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
View2D *v2d= UI_view2d_fromcontext(C);
short extend= RNA_boolean_get(op->ptr, "extend");
- short mval[2];
Sequence *mouse_seq;
int selected, hand;
-
- mval[0]= event->x - ar->winrct.xmin;
- mval[1]= event->y - ar->winrct.ymin;
-
+
/* this works like UV, not mesh */
- mouse_seq= find_nearest_seq(scene, v2d, &hand, mval);
+ mouse_seq= find_nearest_seq(scene, v2d, &hand, event->mval);
if (!mouse_seq)
return OPERATOR_FINISHED; /* user error as with mesh?? */
@@ -837,7 +826,7 @@ static int sequencer_borderselect_exec(bContext *C, wmOperator *op)
rcti rect;
rctf rectf, rq;
short selecting = (RNA_int_get(op->ptr, "gesture_mode")==GESTURE_MODAL_SELECT);
- short mval[2];
+ int mval[2];
if(ed==NULL)
return OPERATOR_CANCELLED;
@@ -882,6 +871,7 @@ void SEQUENCER_OT_select_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= sequencer_borderselect_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_sequencer_active;
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c
index 32bd9ce604c..d1df9699fa3 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -66,16 +66,13 @@
ARegion *sequencer_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_UI)
- return ar;
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
/* add subdiv level; after header */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_HEADER)
- break;
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+
/* is error! */
if(ar==NULL) return NULL;
diff --git a/source/blender/editors/space_sound/CMakeLists.txt b/source/blender/editors/space_sound/CMakeLists.txt
index 9e70d1dbda3..870065966cc 100644
--- a/source/blender/editors/space_sound/CMakeLists.txt
+++ b/source/blender/editors/space_sound/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -38,4 +41,4 @@ set(SRC
sound_intern.h
)
-blender_add_lib(bf_editor_space_sound "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_sound "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_sound/sound_header.c b/source/blender/editors/space_sound/sound_header.c
index 60707e18187..2246eb310b5 100644
--- a/source/blender/editors/space_sound/sound_header.c
+++ b/source/blender/editors/space_sound/sound_header.c
@@ -113,14 +113,14 @@ void sound_header_buttons(const bContext *C, ARegion *ar)
xmax= GetButStringLength("View");
uiDefPulldownBut(block, dummy_viewmenu, CTX_wm_area(C),
- "View", xco, yco-2, xmax-3, 24, "");
- xco+=XIC+xmax;
+ "View", xco, yco-2, xmax-3, UI_UNIT_Y, "");
+ xco+=UI_UNIT_X+xmax;
}
uiBlockSetEmboss(block, UI_EMBOSS);
/* always as last */
- UI_view2d_totRect_set(&ar->v2d, xco+XIC+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
+ UI_view2d_totRect_set(&ar->v2d, xco+UI_UNIT_X+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
uiEndBlock(C, block);
uiDrawBlock(C, block);
diff --git a/source/blender/editors/space_text/CMakeLists.txt b/source/blender/editors/space_text/CMakeLists.txt
index 6241d397417..acf00d205a6 100644
--- a/source/blender/editors/space_text/CMakeLists.txt
+++ b/source/blender/editors/space_text/CMakeLists.txt
@@ -23,12 +23,15 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -43,8 +46,13 @@ set(SRC
)
if(WITH_PYTHON)
- list(APPEND INC ${PYTHON_INCLUDE_DIRS} ../../python)
+ list(APPEND INC
+ ../../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
-blender_add_lib(bf_editor_text "${SRC}" "${INC}")
+blender_add_lib(bf_editor_text "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_text/text_draw.c b/source/blender/editors/space_text/text_draw.c
index 2601d1ffdf3..625e5561389 100644
--- a/source/blender/editors/space_text/text_draw.c
+++ b/source/blender/editors/space_text/text_draw.c
@@ -1495,6 +1495,8 @@ static void draw_cursor(SpaceText *st, ARegion *ar)
glRecti(x-4, y, ar->winx, y-st->lheight), y-=st->lheight;
glRecti(x-4, y, x+toc*st->cwidth, y-st->lheight); y-=st->lheight;
+
+ (void)y;
}
}
else {
diff --git a/source/blender/editors/space_text/text_header.c b/source/blender/editors/space_text/text_header.c
index bfc600c774a..165cec238c0 100644
--- a/source/blender/editors/space_text/text_header.c
+++ b/source/blender/editors/space_text/text_header.c
@@ -55,6 +55,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_screen.h"
#include "ED_screen.h"
@@ -78,16 +79,13 @@
static ARegion *text_has_properties_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_UI)
- return ar;
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
/* add subdiv level; after header */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_HEADER)
- break;
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+
/* is error! */
if(ar==NULL) return NULL;
diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c
index c0c928dcb24..13eb24ed1f2 100644
--- a/source/blender/editors/space_text/text_ops.c
+++ b/source/blender/editors/space_text/text_ops.c
@@ -36,6 +36,7 @@
#include <string.h>
#include <ctype.h> /* ispunct */
#include <sys/stat.h>
+#include <errno.h>
#include "MEM_guardedalloc.h"
@@ -449,15 +450,14 @@ static void txt_write_file(Text *text, ReportList *reports)
FILE *fp;
TextLine *tmp;
struct stat st;
- int res;
- char file[FILE_MAXDIR+FILE_MAXFILE];
+ char filepath[FILE_MAXDIR+FILE_MAXFILE];
- BLI_strncpy(file, text->name, FILE_MAXDIR+FILE_MAXFILE);
- BLI_path_abs(file, G.main->name);
+ BLI_strncpy(filepath, text->name, FILE_MAXDIR+FILE_MAXFILE);
+ BLI_path_abs(filepath, G.main->name);
- fp= fopen(file, "w");
+ fp= fopen(filepath, "w");
if(fp==NULL) {
- BKE_report(reports, RPT_ERROR, "Unable to save file.");
+ BKE_reportf(reports, RPT_ERROR, "Unable to save \"%s\": %s.", filepath, errno ? strerror(errno) : "Unknown error writing file");
return;
}
@@ -471,8 +471,13 @@ static void txt_write_file(Text *text, ReportList *reports)
fclose (fp);
- res= stat(file, &st);
- text->mtime= st.st_mtime;
+ if(stat(filepath, &st) == 0) {
+ text->mtime= st.st_mtime;
+ }
+ else {
+ text->mtime= 0;
+ BKE_reportf(reports, RPT_WARNING, "Unable to stat \"%s\": %s.", filepath, errno ? strerror(errno) : "Unknown error starrng file");
+ }
if(text->flags & TXT_ISDIRTY)
text->flags ^= TXT_ISDIRTY;
@@ -894,7 +899,7 @@ static int indent_exec(bContext *C, wmOperator *UNUSED(op))
if(txt_has_sel(text)) {
txt_order_cursors(text);
- indent(text);
+ txt_indent(text);
}
else
txt_add_char(text, '\t');
@@ -929,7 +934,7 @@ static int unindent_exec(bContext *C, wmOperator *UNUSED(op))
text_drawcache_tag_update(CTX_wm_space_text(C), 0);
txt_order_cursors(text);
- unindent(text);
+ txt_unindent(text);
text_update_edited(text);
@@ -1011,7 +1016,7 @@ static int comment_exec(bContext *C, wmOperator *UNUSED(op))
text_drawcache_tag_update(CTX_wm_space_text(C), 0);
txt_order_cursors(text);
- comment(text);
+ txt_comment(text);
text_update_edited(text);
text_update_cursor_moved(C);
@@ -1044,7 +1049,7 @@ static int uncomment_exec(bContext *C, wmOperator *UNUSED(op))
text_drawcache_tag_update(CTX_wm_space_text(C), 0);
txt_order_cursors(text);
- uncomment(text);
+ txt_uncomment(text);
text_update_edited(text);
text_update_cursor_moved(C);
@@ -2109,7 +2114,7 @@ static void scroll_apply(bContext *C, wmOperator *op, wmEvent *event)
SpaceText *st= CTX_wm_space_text(C);
ARegion *ar= CTX_wm_region(C);
TextScroll *tsc= op->customdata;
- short mval[2]= {event->x, event->y};
+ int mval[2]= {event->x, event->y};
short txtdelta[2] = {0, 0};
text_update_character_width(st);
@@ -2283,7 +2288,7 @@ static int scroll_bar_invoke(bContext *C, wmOperator *op, wmEvent *event)
SpaceText *st= CTX_wm_space_text(C);
ARegion *ar= CTX_wm_region(C);
TextScroll *tsc;
- const short *mval= event->mval;
+ const int *mval= event->mval;
int zone= -1;
if(RNA_property_is_set(op->ptr, "lines"))
@@ -2694,7 +2699,7 @@ static int line_number_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *even
SpaceText *st= CTX_wm_space_text(C);
Text *text= CTX_data_edit_text(C);
ARegion *ar= CTX_wm_region(C);
- const short *mval= event->mval;
+ const int *mval= event->mval;
double time;
static int jump_to= 0;
static double last_jump= 0;
@@ -2841,8 +2846,14 @@ static int find_and_replace(bContext *C, wmOperator *op, short mode)
flags ^= ST_FIND_WRAP;
do {
- if(first)
+ int proceed= 0;
+
+ if(first) {
+ if(text->markers.first)
+ WM_event_add_notifier(C, NC_TEXT|NA_EDITED, text);
+
txt_clear_markers(text, TMARK_GRP_FINDALL, 0);
+ }
first= 0;
@@ -2850,7 +2861,10 @@ static int find_and_replace(bContext *C, wmOperator *op, short mode)
if(mode!=TEXT_FIND && txt_has_sel(text)) {
tmp= txt_sel_to_buf(text);
- if(strcmp(st->findstr, tmp)==0) {
+ if(flags & ST_MATCH_CASE) proceed= strcmp(st->findstr, tmp)==0;
+ else proceed= BLI_strcasecmp(st->findstr, tmp)==0;
+
+ if(proceed) {
if(mode==TEXT_REPLACE) {
txt_insert_buf(text, st->replacestr);
if(text->curl && text->curl->format) {
@@ -2880,7 +2894,7 @@ static int find_and_replace(bContext *C, wmOperator *op, short mode)
}
/* Find next */
- if(txt_find_string(text, st->findstr, flags & ST_FIND_WRAP)) {
+ if(txt_find_string(text, st->findstr, flags & ST_FIND_WRAP, flags & ST_MATCH_CASE)) {
text_update_cursor_moved(C);
WM_event_add_notifier(C, NC_TEXT|ND_CURSOR, text);
}
@@ -2897,7 +2911,7 @@ static int find_and_replace(bContext *C, wmOperator *op, short mode)
first= 1;
}
else {
- if(!found) BKE_reportf(op->reports, RPT_ERROR, "Text not found: %s", st->findstr);
+ if(!found && !proceed) BKE_reportf(op->reports, RPT_ERROR, "Text not found: %s", st->findstr);
break;
}
found = 1;
diff --git a/source/blender/editors/space_text/text_python.c b/source/blender/editors/space_text/text_python.c
index bd8710ec120..6e6f131655b 100644
--- a/source/blender/editors/space_text/text_python.c
+++ b/source/blender/editors/space_text/text_python.c
@@ -54,7 +54,7 @@ int text_do_suggest_select(SpaceText *st, ARegion *ar)
TextLine *tmp;
int l, x, y, w, h, i;
int tgti, *top;
- short mval[2] = {0, 0};
+ int mval[2] = {0, 0};
if(!st || !st->text) return 0;
if(!texttool_text_is_active(st->text)) return 0;
diff --git a/source/blender/editors/space_time/CMakeLists.txt b/source/blender/editors/space_time/CMakeLists.txt
index 654930fc95d..758d1e629f9 100644
--- a/source/blender/editors/space_time/CMakeLists.txt
+++ b/source/blender/editors/space_time/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -38,4 +41,4 @@ set(SRC
time_intern.h
)
-blender_add_lib(bf_editor_space_time "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_time "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c
index ca9d786c4de..e55fbe11e52 100644
--- a/source/blender/editors/space_time/space_time.c
+++ b/source/blender/editors/space_time/space_time.c
@@ -367,15 +367,11 @@ static void time_draw_keyframes(const bContext *C, SpaceTime *stime, ARegion *ar
static void time_refresh(const bContext *UNUSED(C), ScrArea *sa)
{
- SpaceTime *stime = (SpaceTime *)sa->spacedata.first;
- ARegion *ar;
-
/* find the main timeline region and refresh cache display*/
- for (ar= sa->regionbase.first; ar; ar= ar->next) {
- if (ar->regiontype==RGN_TYPE_WINDOW) {
- time_cache_refresh(stime);
- break;
- }
+ ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+ if(ar) {
+ SpaceTime *stime = (SpaceTime *)sa->spacedata.first;
+ time_cache_refresh(stime);
}
}
diff --git a/source/blender/editors/space_userpref/CMakeLists.txt b/source/blender/editors/space_userpref/CMakeLists.txt
index 68fe9d3e04c..43ac90dce94 100644
--- a/source/blender/editors/space_userpref/CMakeLists.txt
+++ b/source/blender/editors/space_userpref/CMakeLists.txt
@@ -22,14 +22,18 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
space_userpref.c
userpref_ops.c
@@ -37,4 +41,4 @@ set(SRC
userpref_intern.h
)
-blender_add_lib(bf_editor_space_userpref "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_userpref "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt
index f923c578769..c6e936606c8 100644
--- a/source/blender/editors/space_view3d/CMakeLists.txt
+++ b/source/blender/editors/space_view3d/CMakeLists.txt
@@ -23,16 +23,19 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../intern/smoke/extern
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -58,10 +61,12 @@ set(SRC
)
if(WITH_GAMEENGINE)
- list(APPEND INC ../../../../source/gameengine/BlenderRoutines)
+ list(APPEND INC
+ ../../../gameengine/BlenderRoutines
+ )
add_definitions(-DWITH_GAMEENGINE)
endif()
add_definitions(-DGLEW_STATIC)
-blender_add_lib(bf_editor_space_view3d "${SRC}" "${INC}")
+blender_add_lib(bf_editor_space_view3d "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_view3d/drawanimviz.c b/source/blender/editors/space_view3d/drawanimviz.c
index ee78fd92b79..aa3ba1a3062 100644
--- a/source/blender/editors/space_view3d/drawanimviz.c
+++ b/source/blender/editors/space_view3d/drawanimviz.c
@@ -117,7 +117,11 @@ void draw_motion_path_instance(Scene *scene,
len = mpath->length;
mpv_start= mpath->points;
}
-
+
+ if(len <= 0) {
+ return;
+ }
+
/* draw curve-line of path */
glShadeModel(GL_SMOOTH);
diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c
index 7c66cec5730..ad621257602 100644
--- a/source/blender/editors/space_view3d/drawarmature.c
+++ b/source/blender/editors/space_view3d/drawarmature.c
@@ -197,8 +197,7 @@ static short set_pchan_glColor (short colCode, int boneflag, int constflag)
case PCHAN_COLOR_CONSTS:
{
if ( (bcolor == NULL) || (bcolor->flag & TH_WIRECOLOR_CONSTCOLS) ) {
- if (constflag & PCHAN_HAS_STRIDE) glColor4ub(0, 0, 200, 80);
- else if (constflag & PCHAN_HAS_TARGET) glColor4ub(255, 150, 0, 80);
+ if (constflag & PCHAN_HAS_TARGET) glColor4ub(255, 150, 0, 80);
else if (constflag & PCHAN_HAS_IK) glColor4ub(255, 255, 0, 80);
else if (constflag & PCHAN_HAS_SPLINEIK) glColor4ub(200, 255, 0, 80);
else if (constflag & PCHAN_HAS_CONST) glColor4ub(0, 255, 120, 80);
@@ -269,8 +268,7 @@ static short set_pchan_glColor (short colCode, int boneflag, int constflag)
{
/* inner part in background color or constraint */
if ( (constflag) && ((bcolor==NULL) || (bcolor->flag & TH_WIRECOLOR_CONSTCOLS)) ) {
- if (constflag & PCHAN_HAS_STRIDE) glColor3ub(0, 0, 200);
- else if (constflag & PCHAN_HAS_TARGET) glColor3ub(255, 150, 0);
+ if (constflag & PCHAN_HAS_TARGET) glColor3ub(255, 150, 0);
else if (constflag & PCHAN_HAS_IK) glColor3ub(255, 255, 0);
else if (constflag & PCHAN_HAS_SPLINEIK) glColor3ub(200, 255, 0);
else if (constflag & PCHAN_HAS_CONST) glColor3ub(0, 255, 120);
@@ -1577,7 +1575,7 @@ static void bone_matrix_translate_y(float mat[][4], float y)
}
/* assumes object is Armature with pose */
-static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, short ghost)
+static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, const short is_ghost, const short is_outline)
{
RegionView3D *rv3d= ar->regiondata;
Object *ob= base->object;
@@ -1737,7 +1735,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
}
/* prepare colors */
- if(ghost) {
+ if(is_ghost) {
/* 13 October 2009, Disabled this to make ghosting show the right colors (Aligorith) */
}
else if (arm->flag & ARM_POSEMODE)
@@ -1865,9 +1863,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
constflag= pchan->constflag;
if (pchan->flag & (POSE_ROT|POSE_LOC|POSE_SIZE))
constflag |= PCHAN_HAS_ACTION;
- if (pchan->flag & POSE_STRIDE)
- constflag |= PCHAN_HAS_STRIDE;
-
+
/* set color-set to use */
set_pchan_colorset(ob, pchan);
@@ -1905,7 +1901,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
draw_pose_dofs(ob);
/* finally names and axes */
- if (arm->flag & (ARM_DRAWNAMES|ARM_DRAWAXES)) {
+ if (arm->flag & (ARM_DRAWNAMES|ARM_DRAWAXES) && is_outline == 0) {
/* patch for several 3d cards (IBM mostly) that crash on glSelect with text drawing */
if ((G.f & G_PICKSEL) == 0) {
float vec[3];
@@ -2259,7 +2255,7 @@ static void draw_ghost_poses_range(Scene *scene, View3D *v3d, ARegion *ar, Base
BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
glDisable(GL_BLEND);
if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
@@ -2338,7 +2334,7 @@ static void draw_ghost_poses_keys(Scene *scene, View3D *v3d, ARegion *ar, Base *
BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
glDisable(GL_BLEND);
if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
@@ -2408,7 +2404,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
if (CFRA != cfrao) {
BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
}
@@ -2423,7 +2419,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
if (CFRA != cfrao) {
BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
}
}
@@ -2444,7 +2440,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
/* ********************************** Armature Drawing - Main ************************* */
/* called from drawobject.c, return 1 if nothing was drawn */
-int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag)
+int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag, const short is_outline)
{
Object *ob= base->object;
bArmature *arm= ob->data;
@@ -2510,7 +2506,7 @@ int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, in
}
}
}
- draw_pose_bones(scene, v3d, ar, base, dt, FALSE);
+ draw_pose_bones(scene, v3d, ar, base, dt, FALSE, is_outline);
arm->flag &= ~ARM_POSEMODE;
if(ob->mode & OB_MODE_POSE)
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index d062ca8e25f..f070bae4e54 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -366,7 +366,7 @@ static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, O
}
else {
/* draw with lights in the scene otherwise */
- Gtexdraw.islit= GPU_scene_object_lights(scene, ob, v3d->lay, rv3d->viewmat, get_view3d_ortho(v3d, rv3d));
+ Gtexdraw.islit= GPU_scene_object_lights(scene, ob, v3d->lay, rv3d->viewmat, !rv3d->is_persp);
}
obcol[0]= CLAMPIS(ob->col[0]*255, 0, 255);
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index a3a139181d5..e6889f4563f 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -46,6 +46,7 @@
#include "DNA_scene_types.h"
#include "DNA_smoke_types.h"
#include "DNA_world_types.h"
+#include "DNA_armature_types.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
@@ -76,6 +77,9 @@
#include "smoke_API.h"
+#include "IMB_imbuf.h"
+#include "IMB_imbuf_types.h"
+
#include "BIF_gl.h"
#include "BIF_glutil.h"
@@ -143,7 +147,7 @@ static void view3d_project_short_clip(ARegion *ar, float *vec, short *adr, int l
/* clipplanes in eye space */
if(rv3d->rflag & RV3D_CLIPPING) {
- if(view3d_test_clipping(rv3d, vec, local))
+ if(ED_view3d_test_clipping(rv3d, vec, local))
return;
}
@@ -211,7 +215,7 @@ int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, int dt)
if(ob==OBACT && (ob && ob->mode & OB_MODE_WEIGHT_PAINT))
return 0;
- return (scene->gm.matmode == GAME_MAT_GLSL) && (dt >= OB_SHADED);
+ return (scene->gm.matmode == GAME_MAT_GLSL) && (dt > OB_SOLID);
}
static int check_material_alpha(Base *base, Mesh *me, int glsl)
@@ -515,6 +519,96 @@ void drawaxes(float size, char drawtype)
}
}
+
+/* Function to draw an Image on a empty Object */
+static void draw_empty_image(Object *ob)
+{
+ Image *ima = (Image*)ob->data;
+ ImBuf *ibuf = ima ? BKE_image_get_ibuf(ima, NULL) : NULL;
+
+ float scale, ofs_x, ofs_y, sca_x, sca_y;
+ int ima_x, ima_y;
+
+ if(ibuf && (ibuf->rect == NULL) && (ibuf->rect_float != NULL)) {
+ IMB_rect_from_float(ibuf);
+ }
+
+ /* Get the buffer dimensions so we can fallback to fake ones */
+ if(ibuf && ibuf->rect) {
+ ima_x= ibuf->x;
+ ima_y= ibuf->y;
+ }
+ else {
+ ima_x= 1;
+ ima_y= 1;
+ }
+
+ /* Get the image aspect even if the buffer is invalid */
+ if(ima) {
+ if(ima->aspx > ima->aspy) {
+ sca_x= 1.0f;
+ sca_y= ima->aspy / ima->aspx;
+ }
+ else if(ima->aspx < ima->aspy) {
+ sca_x= ima->aspx / ima->aspy;
+ sca_y= 1.0f;
+ }
+ else {
+ sca_x= 1.0f;
+ sca_y= 1.0f;
+ }
+ }
+ else {
+ sca_x= 1.0f;
+ sca_y= 1.0f;
+ }
+
+ /* Calculate the scale center based on objects origin */
+ ofs_x= ob->ima_ofs[0] * ima_x;
+ ofs_y= ob->ima_ofs[1] * ima_y;
+
+ glMatrixMode(GL_MODELVIEW);
+ glPushMatrix();
+
+ /* Make sure we are drawing at the origin */
+ glTranslatef(0.0f, 0.0f, 0.0f);
+
+ /* Calculate Image scale */
+ scale= (ob->empty_drawsize / (float)MAX2(ima_x * sca_x, ima_y * sca_y));
+
+ /* Set the object scale */
+ glScalef(scale * sca_x, scale * sca_y, 1.0f);
+
+ if(ibuf && ibuf->rect) {
+ /* Setup GL params */
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+ /* Use the object color and alpha */
+ glColor4fv(ob->col);
+
+ /* Draw the Image on the screen */
+ glaDrawPixelsTex(ofs_x, ofs_y, ima_x, ima_y, GL_UNSIGNED_BYTE, ibuf->rect);
+ glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
+
+ glDisable(GL_BLEND);
+ }
+
+ UI_ThemeColor((ob->flag & SELECT) ? TH_SELECT : TH_WIRE);
+
+ /* Calculate the outline vertex positions */
+ glBegin(GL_LINE_LOOP);
+ glVertex2f(ofs_x, ofs_y);
+ glVertex2f(ofs_x + ima_x, ofs_y);
+ glVertex2f(ofs_x + ima_x, ofs_y + ima_y);
+ glVertex2f(ofs_x, ofs_y + ima_y);
+ glEnd();
+
+ /* Reset GL settings */
+ glMatrixMode(GL_MODELVIEW);
+ glPopMatrix();
+}
+
void drawcircball(int mode, const float cent[3], float rad, float tmat[][4])
{
float vec[3], vx[3], vy[3];
@@ -536,7 +630,7 @@ void drawcircball(int mode, const float cent[3], float rad, float tmat[][4])
/* circle for object centers, special_color is for library or ob users */
static void drawcentercircle(View3D *v3d, RegionView3D *rv3d, const float co[3], int selstate, int special_color)
{
- const float size= view3d_pixel_size(rv3d, co) * (float)U.obcenter_dia * 0.5f;
+ const float size= ED_view3d_pixel_size(rv3d, co) * (float)U.obcenter_dia * 0.5f;
/* using gldepthfunc guarantees that it does write z values, but not checks for it, so centers remain visible independt order of drawing */
if(v3d->zbuf) glDepthFunc(GL_ALWAYS);
@@ -572,7 +666,7 @@ typedef struct ViewCachedString {
unsigned char ub[4];
int pack;
} col;
- short mval[2];
+ short sco[2];
short xoffs;
short flag;
int str_len, pad;
@@ -614,8 +708,8 @@ void view3d_cached_text_draw_end(View3D *v3d, ARegion *ar, int depth_write, floa
for(vos= strings->first; vos; vos= vos->next) {
if(mat && !(vos->flag & V3D_CACHE_TEXT_WORLDSPACE))
mul_m4_v3(mat, vos->vec);
- view3d_project_short_clip(ar, vos->vec, vos->mval, 0);
- if(vos->mval[0]!=IS_CLIPPED)
+ view3d_project_short_clip(ar, vos->vec, vos->sco, 0);
+ if(vos->sco[0]!=IS_CLIPPED)
tot++;
}
@@ -655,7 +749,7 @@ void view3d_cached_text_draw_end(View3D *v3d, ARegion *ar, int depth_write, floa
continue;
}
#endif
- if(vos->mval[0]!=IS_CLIPPED) {
+ if(vos->sco[0]!=IS_CLIPPED) {
const char *str= (char *)(vos+1);
if(col_pack_prev != vos->col.pack) {
@@ -663,10 +757,10 @@ void view3d_cached_text_draw_end(View3D *v3d, ARegion *ar, int depth_write, floa
col_pack_prev= vos->col.pack;
}
if(vos->flag & V3D_CACHE_TEXT_ASCII) {
- BLF_draw_default_ascii((float)vos->mval[0]+vos->xoffs, (float)vos->mval[1], (depth_write)? 0.0f: 2.0f, str, vos->str_len);
+ BLF_draw_default_ascii((float)vos->sco[0]+vos->xoffs, (float)vos->sco[1], (depth_write)? 0.0f: 2.0f, str, vos->str_len);
}
else {
- BLF_draw_default((float)vos->mval[0]+vos->xoffs, (float)vos->mval[1], (depth_write)? 0.0f: 2.0f, str, vos->str_len);
+ BLF_draw_default((float)vos->sco[0]+vos->xoffs, (float)vos->sco[1], (depth_write)? 0.0f: 2.0f, str, vos->str_len);
}
}
}
@@ -921,7 +1015,7 @@ static void draw_transp_spot_volume(Lamp *la, float x, float z)
static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, int dt, int flag)
{
Object *ob= base->object;
- const float pixsize= view3d_pixel_size(rv3d, ob->obmat[3]);
+ const float pixsize= ED_view3d_pixel_size(rv3d, ob->obmat[3]);
Lamp *la= ob->data;
float vec[3], lvec[3], vvec[3], circrad, x,y,z;
float lampsize;
@@ -1241,6 +1335,11 @@ static void draw_focus_cross(float dist, float size)
glEnd();
}
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+float view3d_camera_border_hack_col[4];
+short view3d_camera_border_hack_test= FALSE;
+#endif
+
/* flag similar to draw_object() */
static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, int flag)
{
@@ -1254,7 +1353,15 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob
const float scax= 1.0f / len_v3(ob->obmat[0]);
const float scay= 1.0f / len_v3(ob->obmat[1]);
const float scaz= 1.0f / len_v3(ob->obmat[2]);
-
+
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+ if(is_view && !(G.f & G_PICKSEL)) {
+ glGetFloatv(GL_CURRENT_COLOR, view3d_camera_border_hack_col);
+ view3d_camera_border_hack_test= TRUE;
+ return;
+ }
+#endif
+
cam= ob->data;
aspx= (float) scene->r.xsch*scene->r.xasp;
aspy= (float) scene->r.ysch*scene->r.yasp;
@@ -2490,7 +2597,6 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
const short is_paint_sel= (ob==OBACT && paint_facesel_test(ob));
int draw_wire = 0;
int /* totvert,*/ totedge, totface;
- DispList *dl;
DerivedMesh *dm= mesh_get_derived_final(scene, ob, scene->customdata_mask);
if(!dm)
@@ -2557,7 +2663,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
else if(dt==OB_SOLID) {
if(ob==OBACT && ob && ob->mode & OB_MODE_WEIGHT_PAINT) {
/* weight paint in solid mode, special case. focus on making the weights clear
- * rather then the shading, this is also forced in wire view */
+ * rather than the shading, this is also forced in wire view */
GPU_enable_material(0, NULL);
dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material);
@@ -2624,10 +2730,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
}
}
else if(dt==OB_SHADED) {
- int do_draw= 1; /* to resolve all G.f settings below... */
-
if(ob==OBACT) {
- do_draw= 0;
if(ob && ob->mode & OB_MODE_WEIGHT_PAINT) {
/* enforce default material settings */
GPU_enable_material(0, NULL);
@@ -2656,38 +2759,6 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 0, GPU_enable_material);
}
}
- else do_draw= 1;
- }
- if(do_draw) {
- dl = ob->disp.first;
- if (!dl || !dl->col1) {
- /* release and reload derivedmesh because it might be freed in
- shadeDispList due to a different datamask */
- dm->release(dm);
- shadeDispList(scene, base);
- dl = find_displist(&ob->disp, DL_VERTCOL);
- dm= mesh_get_derived_final(scene, ob, scene->customdata_mask);
- }
-
- if ((v3d->flag&V3D_SELECT_OUTLINE) && ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) && (base->flag&SELECT) && !draw_wire) {
- draw_mesh_object_outline(v3d, ob, dm);
- }
-
- /* False for dupliframe objects */
- if (dl) {
- unsigned int *obCol1 = dl->col1;
- unsigned int *obCol2 = dl->col2;
-
- dm->drawFacesColored(dm, me->flag&ME_TWOSIDED, (unsigned char*) obCol1, (unsigned char*) obCol2);
- }
-
- if(base->flag & SELECT) {
- UI_ThemeColor((ob==OBACT)?TH_ACTIVE:TH_SELECT);
- } else {
- UI_ThemeColor(TH_WIRE);
- }
- if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0)
- dm->drawLooseEdges(dm);
}
}
@@ -2792,7 +2863,7 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
}
else {
/* don't create boundbox here with mesh_get_bb(), the derived system will make it, puts deformed bb's OK */
- if(me->totface<=4 || boundbox_clip(rv3d, ob->obmat, (ob->bb)? ob->bb: me->bb)) {
+ if(me->totface<=4 || ED_view3d_boundbox_clip(rv3d, ob->obmat, (ob->bb)? ob->bb: me->bb)) {
glsl = draw_glsl_material(scene, ob, v3d, dt);
check_alpha = check_material_alpha(base, me, glsl);
@@ -3045,57 +3116,6 @@ static void drawDispListsolid(ListBase *lb, Object *ob, int glsl)
glFrontFace(GL_CCW);
}
-static void drawDispListshaded(ListBase *lb, Object *ob)
-{
- DispList *dl, *dlob;
- unsigned int *cdata;
-
- if(lb==NULL) return;
-
- glShadeModel(GL_SMOOTH);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- dl= lb->first;
- dlob= ob->disp.first;
- while(dl && dlob) {
-
- cdata= dlob->col1;
- if(cdata==NULL) break;
-
- switch(dl->type) {
- case DL_SURF:
- if(dl->index) {
- glVertexPointer(3, GL_FLOAT, 0, dl->verts);
- glColorPointer(4, GL_UNSIGNED_BYTE, 0, cdata);
- glDrawElements(GL_QUADS, 4*dl->totindex, GL_UNSIGNED_INT, dl->index);
- }
- break;
-
- case DL_INDEX3:
-
- glVertexPointer(3, GL_FLOAT, 0, dl->verts);
- glColorPointer(4, GL_UNSIGNED_BYTE, 0, cdata);
- glDrawElements(GL_TRIANGLES, 3*dl->parts, GL_UNSIGNED_INT, dl->index);
- break;
-
- case DL_INDEX4:
-
- glVertexPointer(3, GL_FLOAT, 0, dl->verts);
- glColorPointer(4, GL_UNSIGNED_BYTE, 0, cdata);
- glDrawElements(GL_QUADS, 4*dl->parts, GL_UNSIGNED_INT, dl->index);
- break;
- }
-
- dl= dl->next;
- dlob= dlob->next;
- }
-
- glShadeModel(GL_FLAT);
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisableClientState(GL_COLOR_ARRAY);
-}
-
static void drawCurveDMWired(Object *ob)
{
DerivedMesh *dm = ob->derivedFinal;
@@ -3176,10 +3196,6 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
drawDispListsolid(lb, ob, 1);
GPU_end_object_materials();
}
- else if(dt == OB_SHADED) {
- if(ob->disp.first==NULL) shadeDispList(scene, base);
- drawDispListshaded(lb, ob);
- }
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
@@ -3218,10 +3234,6 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
drawDispListsolid(lb, ob, 1);
GPU_end_object_materials();
}
- else if(dt==OB_SHADED) {
- if(ob->disp.first==NULL) shadeDispList(scene, base);
- drawDispListshaded(lb, ob);
- }
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
@@ -3247,11 +3259,6 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
drawDispListsolid(lb, ob, 1);
GPU_end_object_materials();
}
- else if(dt == OB_SHADED) {
- dl= lb->first;
- if(dl && dl->col1==NULL) shadeDispList(scene, base);
- drawDispListshaded(lb, ob);
- }
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
@@ -3578,7 +3585,7 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
case PART_DRAW_CROSS:
case PART_DRAW_AXIS:
/* lets calculate the scale: */
- pixsize= view3d_pixel_size(rv3d, ob->obmat[3]);
+ pixsize= ED_view3d_pixel_size(rv3d, ob->obmat[3]);
if(part->draw_size==0.0)
pixsize *= 2.0f;
@@ -3619,8 +3626,6 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
bb.align = part->bb_align;
bb.anim = part->bb_anim;
bb.lock = part->draw & PART_DRAW_BB_LOCK;
- bb.offset[0] = part->bb_offset[0];
- bb.offset[1] = part->bb_offset[1];
break;
case PART_DRAW_PATH:
break;
@@ -3746,6 +3751,8 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
case PART_DRAW_COL_ACC:
intensity = len_v3v3(pa->state.vel, pa->prev_state.vel)/((pa->state.time-pa->prev_state.time)*part->color_vec_max);
break;
+ default:
+ intensity= 1.0f; /* should never happen */
}
CLAMP(intensity, 0.f, 1.f);
weight_to_rgb(intensity, &ma_r, &ma_g, &ma_b);
@@ -3788,7 +3795,20 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
/* create actiual particle data */
if(draw_as == PART_DRAW_BB) {
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = ct;
}
@@ -3808,7 +3828,20 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
/* create actiual particle data */
if(draw_as == PART_DRAW_BB) {
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = pa_time;
}
@@ -5428,7 +5461,7 @@ static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
hasfaces= displist_has_faces(&ob->disp);
}
- if (hasfaces && boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
+ if (hasfaces && ED_view3d_boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
draw_index_wire= 0;
if (dm) {
draw_mesh_object_outline(v3d, ob, dm);
@@ -5445,7 +5478,7 @@ static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
}
else if(ob->type==OB_ARMATURE) {
if(!(ob->mode & OB_MODE_POSE))
- draw_armature(scene, v3d, ar, base, OB_WIRE, 0);
+ draw_armature(scene, v3d, ar, base, OB_WIRE, FALSE, TRUE);
}
glLineWidth(1.0);
@@ -5481,7 +5514,7 @@ static void drawWireExtra(Scene *scene, RegionView3D *rv3d, Object *ob)
if (ELEM3(ob->type, OB_FONT, OB_CURVE, OB_SURF)) {
Curve *cu = ob->data;
- if (boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
+ if (ED_view3d_boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
if (ob->type==OB_CURVE)
draw_index_wire= 0;
@@ -5716,7 +5749,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* multiply view with object matrix.
* local viewmat and persmat, to calculate projections */
- ED_view3d_init_mats_rv3d(ob, rv3d);
+ ED_view3d_init_mats_rv3d_gl(ob, rv3d);
/* which wire color */
if((flag & DRAW_CONSTCOLOR) == 0) {
@@ -5916,7 +5949,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if((v3d->flag2 & V3D_RENDER_OVERRIDE && v3d->drawtype >= OB_WIRE)==0)
draw_bounding_volume(scene, ob);
}
- else if(boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb))
+ else if(ED_view3d_boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb))
empty_object= drawDispList(scene, v3d, rv3d, base, dt);
break;
@@ -5932,7 +5965,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if((v3d->flag2 & V3D_RENDER_OVERRIDE && v3d->drawtype >= OB_WIRE)==0)
draw_bounding_volume(scene, ob);
}
- else if(boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
+ else if(ED_view3d_boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
empty_object= drawDispList(scene, v3d, rv3d, base, dt);
//XXX old animsys if(cu->path)
@@ -5954,8 +5987,14 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
break;
}
case OB_EMPTY:
- if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0)
- drawaxes(ob->empty_drawsize, ob->empty_drawtype);
+ if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
+ if (ob->empty_drawtype == OB_EMPTY_IMAGE) {
+ draw_empty_image(ob);
+ }
+ else {
+ drawaxes(ob->empty_drawsize, ob->empty_drawtype);
+ }
+ }
break;
case OB_LAMP:
if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
@@ -5975,7 +6014,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
case OB_ARMATURE:
if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
if(dt>OB_WIRE) GPU_enable_material(0, NULL); // we use default material
- empty_object= draw_armature(scene, v3d, ar, base, dt, flag);
+ empty_object= draw_armature(scene, v3d, ar, base, dt, flag, FALSE);
if(dt>OB_WIRE) GPU_disable_material();
}
break;
@@ -6209,7 +6248,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
}
}
- if(dt<OB_SHADED && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
+ if(dt<=OB_SOLID && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
if((ob->gameflag & OB_DYNAMIC) ||
((ob->gameflag & OB_BOUNDS) && (ob->boundtype == OB_BOUND_SPHERE))) {
float imat[4][4], vec[3]= {0.0f, 0.0f, 0.0f};
@@ -6564,7 +6603,12 @@ void draw_object_instance(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object
draw_object_mesh_instance(scene, v3d, rv3d, ob, dt, outline);
break;
case OB_EMPTY:
- drawaxes(ob->empty_drawsize, ob->empty_drawtype);
+ if (ob->empty_drawtype == OB_EMPTY_IMAGE) {
+ draw_empty_image(ob);
+ }
+ else {
+ drawaxes(ob->empty_drawsize, ob->empty_drawtype);
+ }
break;
}
}
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index b26883b8fd6..6833dec2e43 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -70,16 +70,13 @@
ARegion *view3d_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
-
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_UI)
- return ar;
+
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
+ if(ar) return ar;
/* add subdiv level; after header */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_HEADER)
- break;
-
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+
/* is error! */
if(ar==NULL) return NULL;
@@ -147,10 +144,10 @@ RegionView3D *ED_view3d_context_rv3d(bContext *C)
if(rv3d==NULL) {
ScrArea *sa =CTX_wm_area(C);
if(sa && sa->spacetype==SPACE_VIEW3D) {
- ARegion *ar;
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_WINDOW)
- return ar->regiondata;
+ ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+ if(ar) {
+ rv3d= ar->regiondata;
+ }
}
}
return rv3d;
@@ -211,13 +208,18 @@ void ED_view3d_init_mats_rv3d(struct Object *ob, struct RegionView3D *rv3d)
mul_m4_m4m4(rv3d->viewmatob, ob->obmat, rv3d->viewmat);
mul_m4_m4m4(rv3d->persmatob, ob->obmat, rv3d->persmat);
+ /* initializes object space clipping, speeds up clip tests */
+ ED_view3d_local_clipping(rv3d, ob->obmat);
+}
+
+void ED_view3d_init_mats_rv3d_gl(struct Object *ob, struct RegionView3D *rv3d)
+{
+ ED_view3d_init_mats_rv3d(ob, rv3d);
+
/* we have to multiply instead of loading viewmatob to make
it work with duplis using displists, otherwise it will
override the dupli-matrix */
glMultMatrixf(ob->obmat);
-
- /* initializes object space clipping, speeds up clip tests */
- ED_view3d_local_clipping(rv3d, ob->obmat);
}
/* ******************** default callbacks for view3d space ***************** */
diff --git a/source/blender/editors/space_view3d/view3d_buttons.c b/source/blender/editors/space_view3d/view3d_buttons.c
index 549a547b846..6e03866153f 100644
--- a/source/blender/editors/space_view3d/view3d_buttons.c
+++ b/source/blender/editors/space_view3d/view3d_buttons.c
@@ -966,13 +966,13 @@ static void v3d_editarmature_buts(uiLayout *layout, Object *ob)
ebone= arm->act_edbone;
- if (!ebone || (ebone->layer & arm->layer)==0)
+ if (!ebone || (ebone->layer & arm->layer)==0) {
+ uiItemL(layout, "Nothing selected", ICON_NONE);
return;
-
+ }
// row= uiLayoutRow(layout, 0);
RNA_pointer_create(&arm->id, &RNA_EditBone, ebone, &eboneptr);
-
col= uiLayoutColumn(layout, 0);
uiItemR(col, &eboneptr, "head", 0, "Head", ICON_NONE);
if (ebone->parent && ebone->flag & BONE_CONNECTED ) {
@@ -1256,7 +1256,7 @@ static void view3d_panel_object(const bContext *C, Panel *pa)
if(ob==obedit) {
if(ob->type==OB_ARMATURE) v3d_editarmature_buts(col, ob);
- if(ob->type==OB_MBALL) v3d_editmetaball_buts(col, ob);
+ else if(ob->type==OB_MBALL) v3d_editmetaball_buts(col, ob);
else v3d_editvertex_buts(col, v3d, ob, lim);
}
else if(ob->mode & OB_MODE_POSE) {
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 1bbad6220ef..d2ff6eef097 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -61,6 +61,7 @@
#include "BKE_global.h"
#include "BKE_paint.h"
#include "BKE_scene.h"
+#include "BKE_screen.h"
#include "BKE_unit.h"
#include "RE_pipeline.h" // make_stars
@@ -205,7 +206,7 @@ static int test_clipping(const float vec[3], float clip[][4])
/* for 'local' ED_view3d_local_clipping must run first
* then all comparisons can be done in localspace */
-int view3d_test_clipping(RegionView3D *rv3d, const float vec[3], const int local)
+int ED_view3d_test_clipping(RegionView3D *rv3d, const float vec[3], const int local)
{
return test_clipping(vec, local ? rv3d->clip_local : rv3d->clip);
}
@@ -564,13 +565,13 @@ static void drawfloor(Scene *scene, View3D *v3d, const char **grid_unit)
static void drawcursor(Scene *scene, ARegion *ar, View3D *v3d)
{
- short mx,my,co[2];
+ int mx, my, co[2];
int flag;
/* we dont want the clipping for cursor */
flag= v3d->flag;
v3d->flag= 0;
- project_short(ar, give_cursor(scene, v3d), co);
+ project_int(ar, give_cursor(scene, v3d), co);
v3d->flag= flag;
mx = co[0];
@@ -626,7 +627,7 @@ static void draw_view_axis(RegionView3D *rv3d)
glEnd();
if (fabsf(dx) > toll || fabsf(dy) > toll) {
- BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "x", 1);
+ BLF_draw_default_ascii(start + dx + 2, start + dy + ydisp + 2, 0.0f, "x", 1);
}
/* BLF_draw_default disables blending */
@@ -646,7 +647,7 @@ static void draw_view_axis(RegionView3D *rv3d)
glEnd();
if (fabsf(dx) > toll || fabsf(dy) > toll) {
- BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "y", 1);
+ BLF_draw_default_ascii(start + dx + 2, start + dy + ydisp + 2, 0.0f, "y", 1);
}
glEnable(GL_BLEND);
@@ -665,7 +666,7 @@ static void draw_view_axis(RegionView3D *rv3d)
glEnd();
if (fabsf(dx) > toll || fabsf(dy) > toll) {
- BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "z", 1);
+ BLF_draw_default_ascii(start + dx + 2, start + dy + ydisp + 2, 0.0f, "z", 1);
}
/* restore line-width */
@@ -756,14 +757,14 @@ static void draw_viewport_name(ARegion *ar, View3D *v3d)
if (name) {
UI_ThemeColor(TH_TEXT_HI);
- BLF_draw_default(22, ar->winy-17, 0.0f, name, sizeof(tmpstr));
+ BLF_draw_default_ascii(22, ar->winy-17, 0.0f, name, sizeof(tmpstr));
}
}
/* draw info beside axes in bottom left-corner:
* framenum, object name, bone name (if available), marker name (if available)
*/
-static void draw_selected_name(Scene *scene, Object *ob, View3D *v3d)
+static void draw_selected_name(Scene *scene, Object *ob)
{
char info[256], *markern;
short offset=30;
@@ -832,7 +833,7 @@ static void draw_selected_name(Scene *scene, Object *ob, View3D *v3d)
}
/* color depends on whether there is a keyframe */
- if (id_frame_has_keyframe((ID *)ob, /*BKE_curframe(scene)*/(float)(CFRA), v3d->keyflags))
+ if (id_frame_has_keyframe((ID *)ob, /*BKE_curframe(scene)*/(float)(CFRA), ANIMFILTER_KEYS_LOCAL))
UI_ThemeColor(TH_VERTEX_SELECT);
else
UI_ThemeColor(TH_TEXT_HI);
@@ -868,27 +869,14 @@ void view3d_viewborder_size_get(Scene *scene, ARegion *ar, float size_r[2])
}
}
-void view3d_calc_camera_border(Scene *scene, ARegion *ar, RegionView3D *rv3d, View3D *v3d, rctf *viewborder_r, short do_shift)
+void ED_view3d_calc_camera_border(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D *rv3d, rctf *viewborder_r, short do_shift)
{
- float zoomfac, size[2];
+ const float zoomfac= BKE_screen_view3d_zoom_to_fac((float)rv3d->camzoom);
+ float size[2];
float dx= 0.0f, dy= 0.0f;
view3d_viewborder_size_get(scene, ar, size);
-
- if (rv3d == NULL)
- rv3d = ar->regiondata;
-
- /* magic zoom calculation, no idea what
- * it signifies, if you find out, tell me! -zr
- */
- /* simple, its magic dude!
- * well, to be honest, this gives a natural feeling zooming
- * with multiple keypad presses (ton)
- */
-
- zoomfac= ((float)M_SQRT2 + rv3d->camzoom/50.0f);
- zoomfac= (zoomfac*zoomfac) * 0.25f;
-
+
size[0]= size[0]*zoomfac;
size[1]= size[1]*zoomfac;
@@ -921,6 +909,77 @@ void view3d_calc_camera_border(Scene *scene, ARegion *ar, RegionView3D *rv3d, Vi
}
}
+static void drawviewborder_grid3(float x1, float x2, float y1, float y2, float fac)
+{
+ float x3, y3, x4, y4;
+
+ x3= x1 + fac * (x2-x1);
+ y3= y1 + fac * (y2-y1);
+ x4= x1 + (1.0f - fac) * (x2-x1);
+ y4= y1 + (1.0f - fac) * (y2-y1);
+
+ glBegin(GL_LINES);
+ glVertex2f(x1, y3);
+ glVertex2f(x2, y3);
+
+ glVertex2f(x1, y4);
+ glVertex2f(x2, y4);
+
+ glVertex2f(x3, y1);
+ glVertex2f(x3, y2);
+
+ glVertex2f(x4, y1);
+ glVertex2f(x4, y2);
+ glEnd();
+}
+
+/* harmonious triangle */
+static void drawviewborder_triangle(float x1, float x2, float y1, float y2, const char golden, const char dir)
+{
+ float ofs;
+ float w= x2 - x1;
+ float h= y2 - y1;
+
+ glBegin(GL_LINES);
+ if(w > h) {
+ if(golden) {
+ ofs = w * (1.0f-(1.0f/1.61803399));
+ }
+ else {
+ ofs = h * (h / w);
+ }
+ if(dir == 'B') SWAP(float, y1, y2);
+
+ glVertex2f(x1, y1);
+ glVertex2f(x2, y2);
+
+ glVertex2f(x2, y1);
+ glVertex2f(x1 + (w - ofs), y2);
+
+ glVertex2f(x1, y2);
+ glVertex2f(x1 + ofs, y1);
+ }
+ else {
+ if(golden) {
+ ofs = h * (1.0f-(1.0f/1.61803399));
+ }
+ else {
+ ofs = w * (w / h);
+ }
+ if(dir == 'B') SWAP(float, x1, x2);
+
+ glVertex2f(x1, y1);
+ glVertex2f(x2, y2);
+
+ glVertex2f(x2, y1);
+ glVertex2f(x1, y1 + ofs);
+
+ glVertex2f(x1, y2);
+ glVertex2f(x2, y1 + (h - ofs));
+ }
+ glEnd();
+}
+
static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
{
float fac, a;
@@ -936,7 +995,7 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
if(v3d->camera->type==OB_CAMERA)
ca = v3d->camera->data;
- view3d_calc_camera_border(scene, ar, rv3d, v3d, &viewborder, FALSE);
+ ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, &viewborder, FALSE);
/* the offsets */
x1= viewborder.xmin;
y1= viewborder.ymin;
@@ -944,10 +1003,16 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
y2= viewborder.ymax;
/* apply offsets so the real 3D camera shows through */
- x1i= (int)(x1 - 1.0f);
- y1i= (int)(y1 - 1.0f);
- x2i= (int)(x2 + 1.0f);
- y2i= (int)(y2 + 1.0f);
+
+ /* note: quite un-scientific but without this bit extra
+ * 0.0001 on the lower left the 2D border sometimes
+ * obscures the 3D camera border */
+ /* note: with VIEW3D_CAMERA_BORDER_HACK defined this error isn't noticable
+ * but keep it here incase we need to remove the workaround */
+ x1i= (int)(x1 - 1.0001f);
+ y1i= (int)(y1 - 1.0001f);
+ x2i= (int)(x2 + (1.0f-0.0001f));
+ y2i= (int)(y2 + (1.0f-0.0001f));
/* passepartout, specified in camera edit buttons */
if (ca && (ca->flag & CAM_SHOWPASSEPARTOUT) && ca->passepartalpha > 0.000001f) {
@@ -976,7 +1041,17 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
setlinestyle(0);
UI_ThemeColor(TH_BACK);
glRectf(x1i, y1i, x2i, y2i);
-
+
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+ {
+ if(view3d_camera_border_hack_test == TRUE) {
+ glColor4fv(view3d_camera_border_hack_col);
+ glRectf(x1i+1, y1i+1, x2i-1, y2i-1);
+ view3d_camera_border_hack_test= FALSE;
+ }
+ }
+#endif
+
setlinestyle(3);
UI_ThemeColor(TH_WIRE);
glRectf(x1i, y1i, x2i, y2i);
@@ -995,21 +1070,80 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
}
/* safety border */
- if (ca && (ca->flag & CAM_SHOWTITLESAFE)) {
- fac= 0.1;
-
- a= fac*(x2-x1);
- x1+= a;
- x2-= a;
-
- a= fac*(y2-y1);
- y1+= a;
- y2-= a;
-
- UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
-
- uiSetRoundBox(15);
- uiDrawBox(GL_LINE_LOOP, x1, y1, x2, y2, 12.0);
+ if(ca) {
+ if (ca->dtx & CAM_DTX_CENTER) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+
+ x3= x1+ 0.5f*(x2-x1);
+ y3= y1+ 0.5f*(y2-y1);
+
+ glBegin(GL_LINES);
+ glVertex2f(x1, y3);
+ glVertex2f(x2, y3);
+
+ glVertex2f(x3, y1);
+ glVertex2f(x3, y2);
+ glEnd();
+ }
+
+ if (ca->dtx & CAM_DTX_CENTER_DIAG) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+
+ glBegin(GL_LINES);
+ glVertex2f(x1, y1);
+ glVertex2f(x2, y2);
+
+ glVertex2f(x1, y2);
+ glVertex2f(x2, y1);
+ glEnd();
+ }
+
+ if (ca->dtx & CAM_DTX_THIRDS) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+ drawviewborder_grid3(x1, x2, y1, y2, 1.0f/3.0f);
+ }
+
+ if (ca->dtx & CAM_DTX_GOLDEN) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+ drawviewborder_grid3(x1, x2, y1, y2, 1.0f-(1.0f/1.61803399));
+ }
+
+ if (ca->dtx & CAM_DTX_GOLDEN_TRI_A) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+ drawviewborder_triangle(x1, x2, y1, y2, 0, 'A');
+ }
+
+ if (ca->dtx & CAM_DTX_GOLDEN_TRI_B) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+ drawviewborder_triangle(x1, x2, y1, y2, 0, 'B');
+ }
+
+ if (ca->dtx & CAM_DTX_HARMONY_TRI_A) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+ drawviewborder_triangle(x1, x2, y1, y2, 1, 'A');
+ }
+
+ if (ca->dtx & CAM_DTX_HARMONY_TRI_B) {
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+ drawviewborder_triangle(x1, x2, y1, y2, 1, 'B');
+ }
+
+ if (ca->flag & CAM_SHOWTITLESAFE) {
+ fac= 0.1;
+
+ a= fac*(x2-x1);
+ x1+= a;
+ x2-= a;
+
+ a= fac*(y2-y1);
+ y1+= a;
+ y2-= a;
+
+ UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
+
+ uiSetRoundBox(15);
+ uiDrawBox(GL_LINE_LOOP, x1, y1, x2, y2, 12.0);
+ }
}
setlinestyle(0);
@@ -1031,6 +1165,8 @@ static void backdrawview3d(Scene *scene, ARegion *ar, View3D *v3d)
struct Base *base = scene->basact;
rcti winrct;
+ BLI_assert(ar->regiontype == RGN_TYPE_WINDOW);
+
if(base && (base->object->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT) ||
paint_facesel_test(base->object)));
else if((base && (base->object->mode & OB_MODE_TEXTURE_PAINT)) &&
@@ -1172,7 +1308,7 @@ ImBuf *view3d_read_backbuf(ViewContext *vc, short xmin, short ymin, short xmax,
}
/* smart function to sample a rect spiralling outside, nice for backbuf selection */
-unsigned int view3d_sample_backbuf_rect(ViewContext *vc, const short mval[2], int size,
+unsigned int view3d_sample_backbuf_rect(ViewContext *vc, const int mval[2], int size,
unsigned int min, unsigned int max, int *dist, short strict,
void *handle, unsigned int (*indextest)(void *handle, unsigned int index))
{
@@ -1273,7 +1409,7 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d)
if(rv3d->persp==RV3D_CAMOB) {
rctf vb;
- view3d_calc_camera_border(scene, ar, rv3d, v3d, &vb, FALSE);
+ ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, &vb, FALSE);
x1= vb.xmin;
y1= vb.ymin;
@@ -1282,17 +1418,18 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d)
}
else {
float sco[2];
+ const float mval_f[2]= {1.0f, 0.0f};
/* calc window coord */
initgrabz(rv3d, 0.0, 0.0, 0.0);
- window_to_3d_delta(ar, vec, 1, 0);
+ ED_view3d_win_to_delta(ar, mval_f, vec);
fac= MAX3( fabs(vec[0]), fabs(vec[1]), fabs(vec[1]) );
fac= 1.0f/fac;
asp= ( (float)ibuf->y)/(float)ibuf->x;
vec[0] = vec[1] = vec[2] = 0.0;
- view3d_project_float(ar, vec, sco, rv3d->persmat);
+ ED_view3d_project_float(ar, vec, sco, rv3d->persmat);
cx = sco[0];
cy = sco[1];
@@ -1317,7 +1454,11 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d)
float tzoom= MIN2(zoomx, zoomy);
int mip= 0;
- if(ibuf->mipmap[0]==NULL)
+ if((ibuf->userflags&IB_MIPMAP_INVALID) != 0) {
+ IMB_remakemipmap(ibuf, 0);
+ ibuf->userflags&= ~IB_MIPMAP_INVALID;
+ }
+ else if(ibuf->mipmap[0]==NULL)
IMB_makemipmap(ibuf, 0);
while(tzoom < 1.0f && mip<8 && ibuf->mipmap[mip]) {
@@ -1548,7 +1689,7 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas
}
if(use_displist) {
glMultMatrixf(dob->mat);
- if(boundbox_clip(rv3d, dob->mat, &bb))
+ if(ED_view3d_boundbox_clip(rv3d, dob->mat, &bb))
glCallList(displist);
glLoadMatrixf(rv3d->viewmat);
}
@@ -1638,7 +1779,7 @@ void view3d_update_depths_rect(ARegion *ar, ViewDepths *d, rcti *rect)
}
/* note, with nouveau drivers the glReadPixels() is very slow. [#24339] */
-void view3d_update_depths(ARegion *ar)
+void ED_view3d_depth_update(ARegion *ar)
{
RegionView3D *rv3d= ar->regiondata;
@@ -1945,10 +2086,6 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
CustomDataMask ED_view3d_datamask(Scene *scene, View3D *v3d)
{
CustomDataMask mask= 0;
- if(v3d->drawtype == OB_SHADED) {
- /* this includes normals for mesh_create_shadedColors */
- mask |= CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_NORMAL | CD_MASK_ORCO;
- }
if((v3d->drawtype == OB_TEXTURE) || ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) {
mask |= CD_MASK_MTFACE | CD_MASK_MCOL;
@@ -2297,7 +2434,7 @@ static void draw_viewport_fps(Scene *scene, ARegion *ar)
BLI_snprintf(printable, sizeof(printable), "fps: %i", (int)(fps+0.5f));
}
- BLF_draw_default(22, ar->winy-17, 0.0f, printable, sizeof(printable)-1);
+ BLF_draw_default_ascii(22, ar->winy-17, 0.0f, printable, sizeof(printable)-1);
}
/* warning: this function has duplicate drawing in ED_view3d_draw_offscreen() */
@@ -2358,7 +2495,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
// needs to be done always, gridview is adjusted in drawgrid() now
rv3d->gridview= v3d->grid;
- if(rv3d->view==0 || rv3d->persp != RV3D_ORTHO) {
+ if((rv3d->view == RV3D_VIEW_USER) || (rv3d->persp != RV3D_ORTHO)) {
if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
drawfloor(scene, v3d, &grid_unit);
}
@@ -2432,16 +2569,10 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
}
if(v3d->lay_used != lay_used) { /* happens when loading old files or loading with UI load */
- ARegion *ar_iter;
- ScrArea *sa= CTX_wm_area(C);
-
/* find header and force tag redraw */
- for(ar_iter= sa->regionbase.first; ar_iter; ar_iter= ar_iter->next)
- if(ar_iter->regiontype==RGN_TYPE_HEADER) {
- ED_region_tag_redraw(ar_iter);
- break;
- }
-
+ ScrArea *sa= CTX_wm_area(C);
+ ARegion *ar_header= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
+ ED_region_tag_redraw(ar_header); /* can be NULL */
v3d->lay_used= lay_used;
}
@@ -2525,12 +2656,12 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
BLI_snprintf(tstr, sizeof(tstr), "%s x %.4g", grid_unit, v3d->grid);
}
- BLF_draw_default(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */
+ BLF_draw_default_ascii(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */
}
ob= OBACT;
if(U.uiflag & USER_DRAWVIEWINFO)
- draw_selected_name(scene, ob, v3d);
+ draw_selected_name(scene, ob);
/* XXX here was the blockhandlers for floating panels */
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index 2509ae75744..d563c07baf3 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -40,6 +40,7 @@
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_camera_types.h"
+#include "DNA_lamp_types.h"
#include "MEM_guardedalloc.h"
@@ -55,6 +56,8 @@
#include "BKE_paint.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_screen.h"
+#include "BKE_depsgraph.h" /* for ED_view3d_camera_lock_sync */
#include "BIF_gl.h"
@@ -79,6 +82,60 @@
/* ********************** view3d_edit: view manipulations ********************* */
+int ED_view3d_camera_lock_check(View3D *v3d, RegionView3D *rv3d)
+{
+ return ((v3d->camera) &&
+ (v3d->camera->id.lib == NULL) &&
+ (v3d->flag2 & V3D_LOCK_CAMERA) &&
+ (rv3d->persp==RV3D_CAMOB));
+}
+
+void ED_view3d_camera_lock_init(View3D *v3d, RegionView3D *rv3d)
+{
+ if(ED_view3d_camera_lock_check(v3d, rv3d)) {
+ ED_view3d_from_object(v3d->camera, rv3d->ofs, rv3d->viewquat, &rv3d->dist, NULL);
+ }
+}
+
+void ED_view3d_camera_lock_sync(View3D *v3d, RegionView3D *rv3d)
+{
+ if(ED_view3d_camera_lock_check(v3d, rv3d)) {
+ Object *root_parent;
+
+ if((U.uiflag & USER_CAM_LOCK_NO_PARENT)==0 && (root_parent= v3d->camera->parent)) {
+ Object *ob_update;
+ float view_mat[4][4];
+ float diff_mat[4][4];
+ float parent_mat[4][4];
+
+ while(root_parent->parent) {
+ root_parent= root_parent->parent;
+ }
+
+ ED_view3d_to_m4(view_mat, rv3d->ofs, rv3d->viewquat, rv3d->dist);
+
+ invert_m4_m4(v3d->camera->imat, v3d->camera->obmat);
+ mul_m4_m4m4(diff_mat, v3d->camera->imat, view_mat);
+
+ mul_m4_m4m4(parent_mat, root_parent->obmat, diff_mat);
+ object_apply_mat4(root_parent, parent_mat, TRUE, FALSE);
+
+ ob_update= v3d->camera;
+ while(ob_update) {
+ DAG_id_tag_update(&ob_update->id, OB_RECALC_OB);
+ WM_main_add_notifier(NC_OBJECT|ND_TRANSFORM, ob_update);
+ ob_update= ob_update->parent;
+ }
+ }
+ else {
+ ED_view3d_to_object(v3d->camera, rv3d->ofs, rv3d->viewquat, rv3d->dist);
+ DAG_id_tag_update(&v3d->camera->id, OB_RECALC_OB);
+ WM_main_add_notifier(NC_OBJECT|ND_TRANSFORM, v3d->camera);
+ }
+ }
+}
+
+
/* ********************* box view support ***************** */
static void view3d_boxview_clip(ScrArea *sa)
@@ -277,6 +334,7 @@ void ED_view3d_quadview_update(ScrArea *sa, ARegion *ar, short do_clip)
typedef struct ViewOpsData {
ScrArea *sa;
ARegion *ar;
+ View3D *v3d;
RegionView3D *rv3d;
/* needed for continuous zoom */
@@ -331,7 +389,6 @@ static void calctrackballvec(rcti *rect, int mx, int my, float *vec)
static void viewops_data_create(bContext *C, wmOperator *op, wmEvent *event)
{
static float lastofs[3] = {0,0,0};
- View3D *v3d;
RegionView3D *rv3d;
ViewOpsData *vod= MEM_callocN(sizeof(ViewOpsData), "viewops data");
@@ -339,8 +396,13 @@ static void viewops_data_create(bContext *C, wmOperator *op, wmEvent *event)
op->customdata= vod;
vod->sa= CTX_wm_area(C);
vod->ar= CTX_wm_region(C);
- v3d= vod->sa->spacedata.first;
+ vod->v3d= vod->sa->spacedata.first;
vod->rv3d= rv3d= vod->ar->regiondata;
+
+ /* set the view from the camera, if view locking is enabled.
+ * we may want to make this optional but for now its needed always */
+ ED_view3d_camera_lock_init(vod->v3d, vod->rv3d);
+
vod->dist0= rv3d->dist;
copy_qt_qt(vod->oldquat, rv3d->viewquat);
vod->origx= vod->oldx= event->x;
@@ -358,8 +420,8 @@ static void viewops_data_create(bContext *C, wmOperator *op, wmEvent *event)
view3d_operator_needs_opengl(C); /* needed for zbuf drawing */
- if((vod->use_dyn_ofs=view_autodist(CTX_data_scene(C), vod->ar, v3d, event->mval, vod->dyn_ofs))) {
- if (rv3d->persp==RV3D_PERSP) {
+ if((vod->use_dyn_ofs=ED_view3d_autodist(CTX_data_scene(C), vod->ar, vod->v3d, event->mval, vod->dyn_ofs))) {
+ if (rv3d->is_persp) {
float my_origin[3]; /* original G.vd->ofs */
float my_pivot[3]; /* view */
float dvec[3];
@@ -382,7 +444,7 @@ static void viewops_data_create(bContext *C, wmOperator *op, wmEvent *event)
sub_v3_v3v3(my_pivot, rv3d->ofs, upvec);
negate_v3(my_pivot); /* ofs is flipped */
- /* find a new ofs value that is allong the view axis (rather then the mouse location) */
+ /* find a new ofs value that is allong the view axis (rather than the mouse location) */
closest_to_line_v3(dvec, vod->dyn_ofs, my_pivot, my_origin);
vod->dist0 = rv3d->dist = len_v3v3(my_pivot, dvec);
@@ -390,17 +452,19 @@ static void viewops_data_create(bContext *C, wmOperator *op, wmEvent *event)
}
negate_v3(vod->dyn_ofs);
copy_v3_v3(vod->ofs, rv3d->ofs);
- } else {
- vod->ofs[0] = vod->ofs[1] = vod->ofs[2] = 0.0f;
}
}
- /* for dolly */
- window_to_3d_vector(vod->ar, vod->mousevec, (vod->oldx - vod->ar->winrct.xmin)-(vod->ar->winx)/2, (vod->oldy - vod->ar->winrct.ymin)-(vod->ar->winy)/2);
+ {
+ /* for dolly */
+ float mval_f[2];
+ VECCOPY2D(mval_f, event->mval);
+ ED_view3d_win_to_vector(vod->ar, mval_f, vod->mousevec);
+ }
/* lookup, we dont pass on v3d to prevent confusement */
- vod->grid= v3d->grid;
- vod->far= v3d->far;
+ vod->grid= vod->v3d->grid;
+ vod->far= vod->v3d->far;
calctrackballvec(&vod->ar->winrct, event->x, event->y, vod->trackvec);
@@ -546,7 +610,7 @@ static void viewrotate_apply(ViewOpsData *vod, int x, int y)
{
RegionView3D *rv3d= vod->rv3d;
- rv3d->view= 0; /* need to reset everytime because of view snapping */
+ rv3d->view= RV3D_VIEW_USER; /* need to reset everytime because of view snapping */
if (U.flag & USER_TRACKBALL) {
float phi, si, q1[4], dvec[3], newvec[3];
@@ -711,6 +775,8 @@ static void viewrotate_apply(ViewOpsData *vod, int x, int y)
/* avoid precision loss over time */
normalize_qt(rv3d->viewquat);
+ ED_view3d_camera_lock_sync(vod->v3d, rv3d);
+
ED_region_tag_redraw(vod->ar);
}
@@ -754,7 +820,7 @@ static int viewrotate_modal(bContext *C, wmOperator *op, wmEvent *event)
viewrotate_apply(vod, event->x, event->y);
}
else if (event_code==VIEW_CONFIRM) {
- request_depth_update(vod->rv3d);
+ ED_view3d_depth_tag_update(vod->rv3d);
viewops_data_free(C, op);
return OPERATOR_FINISHED;
@@ -782,18 +848,18 @@ static int viewrotate_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(rv3d->persp != RV3D_PERSP) {
if (U.uiflag & USER_AUTOPERSP) {
- rv3d->persp= RV3D_PERSP;
+ if(!ED_view3d_camera_lock_check(vod->v3d, vod->rv3d)) {
+ rv3d->persp= RV3D_PERSP;
+ }
}
else if(rv3d->persp==RV3D_CAMOB) {
/* changed since 2.4x, use the camera view */
- View3D *v3d = vod->sa->spacedata.first;
-
- if(v3d->camera) {
- view3d_apply_ob(v3d->camera, rv3d->ofs, rv3d->viewquat, &rv3d->dist, NULL);
+ if(vod->v3d->camera) {
+ ED_view3d_from_object(vod->v3d->camera, rv3d->ofs, rv3d->viewquat, &rv3d->dist, NULL);
}
- if(rv3d->persp==RV3D_CAMOB) {
+ if(!ED_view3d_camera_lock_check(vod->v3d, vod->rv3d)) {
rv3d->persp= rv3d->lpersp;
}
}
@@ -802,7 +868,7 @@ static int viewrotate_invoke(bContext *C, wmOperator *op, wmEvent *event)
if (event->type == MOUSEPAN) {
viewrotate_apply(vod, event->prevx, event->prevy);
- request_depth_update(rv3d);
+ ED_view3d_depth_tag_update(rv3d);
viewops_data_free(C, op);
@@ -811,7 +877,7 @@ static int viewrotate_invoke(bContext *C, wmOperator *op, wmEvent *event)
else if (event->type == MOUSEROTATE) {
/* MOUSEROTATE performs orbital rotation, so y axis delta is set to 0 */
viewrotate_apply(vod, event->prevx, event->y);
- request_depth_update(rv3d);
+ ED_view3d_depth_tag_update(rv3d);
viewops_data_free(C, op);
@@ -837,6 +903,13 @@ static int view3d_camera_active_poll(bContext *C)
return 0;
}
+static int viewrotate_cancel(bContext *C, wmOperator *op)
+{
+ viewops_data_free(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
void VIEW3D_OT_rotate(wmOperatorType *ot)
{
@@ -849,6 +922,7 @@ void VIEW3D_OT_rotate(wmOperatorType *ot)
ot->invoke= viewrotate_invoke;
ot->modal= viewrotate_modal;
ot->poll= ED_operator_region_view3d_active;
+ ot->cancel= viewrotate_cancel;
/* flags */
ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
@@ -894,20 +968,21 @@ void viewmove_modal_keymap(wmKeyConfig *keyconf)
static void viewmove_apply(ViewOpsData *vod, int x, int y)
{
- if(vod->rv3d->persp==RV3D_CAMOB) {
- float zoomfac= ((float)M_SQRT2 + (float)vod->rv3d->camzoom / 50.0f);
- zoomfac= (zoomfac * zoomfac) * 0.5f;
-
+ if((vod->rv3d->persp==RV3D_CAMOB) && !ED_view3d_camera_lock_check(vod->v3d, vod->rv3d)) {
+ const float zoomfac= BKE_screen_view3d_zoom_to_fac((float)vod->rv3d->camzoom) * 2.0f;
vod->rv3d->camdx += (vod->oldx - x)/(vod->ar->winx * zoomfac);
vod->rv3d->camdy += (vod->oldy - y)/(vod->ar->winy * zoomfac);
CLAMP(vod->rv3d->camdx, -1.0f, 1.0f);
CLAMP(vod->rv3d->camdy, -1.0f, 1.0f);
-// XXX preview3d_event= 0;
}
else {
float dvec[3];
+ float mval_f[2];
+
+ mval_f[0]= x - vod->oldx;
+ mval_f[1]= y - vod->oldy;
+ ED_view3d_win_to_delta(vod->ar, mval_f, dvec);
- window_to_3d_delta(vod->ar, dvec, x-vod->oldx, y-vod->oldy);
add_v3_v3(vod->rv3d->ofs, dvec);
if(vod->rv3d->viewlock & RV3D_BOXVIEW)
@@ -917,6 +992,8 @@ static void viewmove_apply(ViewOpsData *vod, int x, int y)
vod->oldx= x;
vod->oldy= y;
+ ED_view3d_camera_lock_sync(vod->v3d, vod->rv3d);
+
ED_region_tag_redraw(vod->ar);
}
@@ -954,7 +1031,7 @@ static int viewmove_modal(bContext *C, wmOperator *op, wmEvent *event)
viewmove_apply(vod, event->x, event->y);
}
else if (event_code==VIEW_CONFIRM) {
- request_depth_update(vod->rv3d);
+ ED_view3d_depth_tag_update(vod->rv3d);
viewops_data_free(C, op);
@@ -966,13 +1043,15 @@ static int viewmove_modal(bContext *C, wmOperator *op, wmEvent *event)
static int viewmove_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
+ ViewOpsData *vod;
+
/* makes op->customdata */
viewops_data_create(C, op, event);
+ vod= op->customdata;
if (event->type == MOUSEPAN) {
- ViewOpsData *vod= op->customdata;
viewmove_apply(vod, event->prevx, event->prevy);
- request_depth_update(vod->rv3d);
+ ED_view3d_depth_tag_update(vod->rv3d);
viewops_data_free(C, op);
@@ -986,6 +1065,13 @@ static int viewmove_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
}
+static int viewmove_cancel(bContext *C, wmOperator *op)
+{
+ viewops_data_free(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
void VIEW3D_OT_move(wmOperatorType *ot)
{
@@ -998,6 +1084,7 @@ void VIEW3D_OT_move(wmOperatorType *ot)
ot->invoke= viewmove_invoke;
ot->modal= viewmove_modal;
ot->poll= ED_operator_view3d_active;
+ ot->cancel= viewmove_cancel;
/* flags */
ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
@@ -1005,6 +1092,7 @@ void VIEW3D_OT_move(wmOperatorType *ot)
/* ************************ viewzoom ******************************** */
+/* viewdolly_modal_keymap has an exact copy of this, apply fixes to both */
/* called in transform_ops.c, on each regeneration of keymaps */
void viewzoom_modal_keymap(wmKeyConfig *keyconf)
{
@@ -1045,21 +1133,17 @@ static void view_zoom_mouseloc(ARegion *ar, float dfac, int mx, int my)
float dvec[3];
float tvec[3];
float tpos[3];
+ float mval_f[2];
float new_dist;
- short vb[2], mouseloc[2];
-
- mouseloc[0]= mx - ar->winrct.xmin;
- mouseloc[1]= my - ar->winrct.ymin;
-
- /* find the current window width and height */
- vb[0] = ar->winx;
- vb[1] = ar->winy;
negate_v3_v3(tpos, rv3d->ofs);
/* Project cursor position into 3D space */
initgrabz(rv3d, tpos[0], tpos[1], tpos[2]);
- window_to_3d_delta(ar, dvec, mouseloc[0]-vb[0]/2, mouseloc[1]-vb[1]/2);
+
+ mval_f[0]= (float)(((mx - ar->winrct.xmin) * 2) - ar->winx) / 2.0f;
+ mval_f[1]= (float)(((my - ar->winrct.ymin) * 2) - ar->winy) / 2.0f;
+ ED_view3d_win_to_delta(ar, mval_f, dvec);
/* Calculate view target position for dolly */
add_v3_v3v3(tvec, tpos, dvec);
@@ -1137,28 +1221,15 @@ static void viewzoom_apply(ViewOpsData *vod, int x, int y, const short viewzoom,
zfac * vod->rv3d->dist < 10.0f * vod->far)
view_zoom_mouseloc(vod->ar, zfac, vod->oldx, vod->oldy);
-
- if ((U.uiflag & USER_ORBIT_ZBUF) && (viewzoom==USER_ZOOM_CONT) && (vod->rv3d->persp==RV3D_PERSP)) {
- float upvec[3], mat[3][3];
-
- /* Secret apricot feature, translate the view when in continues mode */
- upvec[0] = upvec[1] = 0.0f;
- upvec[2] = (vod->dist0 - vod->rv3d->dist) * vod->grid;
- vod->rv3d->dist = vod->dist0;
- copy_m3_m4(mat, vod->rv3d->viewinv);
- mul_m3_v3(mat, upvec);
- add_v3_v3(vod->rv3d->ofs, upvec);
- } else {
- /* these limits were in old code too */
- if(vod->rv3d->dist<0.001f * vod->grid) vod->rv3d->dist= 0.001f * vod->grid;
- if(vod->rv3d->dist>10.0f * vod->far) vod->rv3d->dist=10.0f * vod->far;
- }
-
-// XXX if(vod->rv3d->persp==RV3D_ORTHO || vod->rv3d->persp==RV3D_CAMOB) preview3d_event= 0;
+ /* these limits were in old code too */
+ if(vod->rv3d->dist<0.001f * vod->grid) vod->rv3d->dist= 0.001f * vod->grid;
+ if(vod->rv3d->dist>10.0f * vod->far) vod->rv3d->dist=10.0f * vod->far;
if(vod->rv3d->viewlock & RV3D_BOXVIEW)
view3d_boxview_sync(vod->sa, vod->ar);
+ ED_view3d_camera_lock_sync(vod->v3d, vod->rv3d);
+
ED_region_tag_redraw(vod->ar);
}
@@ -1199,7 +1270,7 @@ static int viewzoom_modal(bContext *C, wmOperator *op, wmEvent *event)
viewzoom_apply(vod, event->x, event->y, U.viewzoom, (U.uiflag & USER_ZOOM_INVERT) != 0);
}
else if (event_code==VIEW_CONFIRM) {
- request_depth_update(vod->rv3d);
+ ED_view3d_depth_tag_update(vod->rv3d);
viewops_data_free(C, op);
return OPERATOR_FINISHED;
@@ -1214,6 +1285,7 @@ static int viewzoom_exec(bContext *C, wmOperator *op)
RegionView3D *rv3d;
ScrArea *sa;
ARegion *ar;
+ short use_cam_zoom;
int delta= RNA_int_get(op->ptr, "delta");
int mx, my;
@@ -1235,9 +1307,11 @@ static int viewzoom_exec(bContext *C, wmOperator *op)
mx= RNA_property_is_set(op->ptr, "mx") ? RNA_int_get(op->ptr, "mx") : ar->winx / 2;
my= RNA_property_is_set(op->ptr, "my") ? RNA_int_get(op->ptr, "my") : ar->winy / 2;
+ use_cam_zoom= (rv3d->persp==RV3D_CAMOB) && !(rv3d->is_persp && ED_view3d_camera_lock_check(v3d, rv3d));
+
if(delta < 0) {
/* this min and max is also in viewmove() */
- if(rv3d->persp==RV3D_CAMOB) {
+ if(use_cam_zoom) {
rv3d->camzoom-= 10;
if(rv3d->camzoom < RV3D_CAMZOOM_MIN) rv3d->camzoom= RV3D_CAMZOOM_MIN;
}
@@ -1246,7 +1320,7 @@ static int viewzoom_exec(bContext *C, wmOperator *op)
}
}
else {
- if(rv3d->persp==RV3D_CAMOB) {
+ if(use_cam_zoom) {
rv3d->camzoom+= 10;
if(rv3d->camzoom > RV3D_CAMZOOM_MAX) rv3d->camzoom= RV3D_CAMZOOM_MAX;
}
@@ -1258,7 +1332,10 @@ static int viewzoom_exec(bContext *C, wmOperator *op)
if(rv3d->viewlock & RV3D_BOXVIEW)
view3d_boxview_sync(sa, ar);
- request_depth_update(rv3d);
+ ED_view3d_depth_tag_update(rv3d);
+
+ ED_view3d_camera_lock_sync(v3d, rv3d);
+
ED_region_tag_redraw(ar);
viewops_data_free(C, op);
@@ -1266,9 +1343,48 @@ static int viewzoom_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+/* this is an exact copy of viewzoom_modal_keymap */
+/* called in transform_ops.c, on each regeneration of keymaps */
+void viewdolly_modal_keymap(wmKeyConfig *keyconf)
+{
+ static EnumPropertyItem modal_items[] = {
+ {VIEW_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""},
+
+ {VIEWROT_MODAL_SWITCH_ROTATE, "SWITCH_TO_ROTATE", 0, "Switch to Rotate"},
+ {VIEWROT_MODAL_SWITCH_MOVE, "SWITCH_TO_MOVE", 0, "Switch to Move"},
+
+ {0, NULL, 0, NULL, NULL}};
+
+ wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "View3D Dolly Modal");
+
+ /* this function is called for each spacetype, only needs to add map once */
+ if(keymap) return;
+
+ keymap= WM_modalkeymap_add(keyconf, "View3D Dolly Modal", modal_items);
+
+ /* items for modal map */
+ WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_RELEASE, KM_ANY, 0, VIEW_MODAL_CONFIRM);
+ WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, VIEW_MODAL_CONFIRM);
+
+ /* disabled mode switching for now, can re-implement better, later on
+ WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ROTATE);
+ WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_RELEASE, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ROTATE);
+ WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_PRESS, KM_ANY, 0, VIEWROT_MODAL_SWITCH_MOVE);
+ */
+
+ /* assign map to operators */
+ WM_modalkeymap_assign(keymap, "VIEW3D_OT_dolly");
+}
+
/* viewdolly_invoke() copied this function, changes here may apply there */
static int viewzoom_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
+ ViewOpsData *vod;
+
+ /* makes op->customdata */
+ viewops_data_create(C, op, event);
+ vod= op->customdata;
+
/* if one or the other zoom position aren't set, set from event */
if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my"))
{
@@ -1277,18 +1393,9 @@ static int viewzoom_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
if(RNA_property_is_set(op->ptr, "delta")) {
- /* makes op->customdata */
- viewops_data_create(C, op, event);
viewzoom_exec(C, op);
}
else {
- ViewOpsData *vod;
-
- /* makes op->customdata */
- viewops_data_create(C, op, event);
-
- vod= op->customdata;
-
if (event->type == MOUSEZOOM) {
/* Bypass Zoom invert flag for track pads (pass FALSE always) */
@@ -1301,7 +1408,7 @@ static int viewzoom_invoke(bContext *C, wmOperator *op, wmEvent *event)
vod->origy = vod->oldy = vod->origy + event->x - event->prevx;
viewzoom_apply(vod, event->prevx, event->prevy, USER_ZOOM_DOLLY, FALSE);
}
- request_depth_update(vod->rv3d);
+ ED_view3d_depth_tag_update(vod->rv3d);
viewops_data_free(C, op);
return OPERATOR_FINISHED;
@@ -1322,6 +1429,12 @@ static int viewzoom_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_FINISHED;
}
+static int viewzoom_cancel(bContext *C, wmOperator *op)
+{
+ viewops_data_free(C, op);
+
+ return OPERATOR_CANCELLED;
+}
void VIEW3D_OT_zoom(wmOperatorType *ot)
{
@@ -1335,6 +1448,7 @@ void VIEW3D_OT_zoom(wmOperatorType *ot)
ot->exec= viewzoom_exec;
ot->modal= viewzoom_modal;
ot->poll= ED_operator_region_view3d_active;
+ ot->cancel= viewzoom_cancel;
/* flags */
ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
@@ -1349,7 +1463,7 @@ void VIEW3D_OT_zoom(wmOperatorType *ot)
static void view_dolly_mouseloc(ARegion *ar, float orig_ofs[3], float dvec[3], float dfac)
{
RegionView3D *rv3d= ar->regiondata;
- madd_v3_v3v3fl(rv3d->ofs, orig_ofs, dvec, 1.0 - dfac);
+ madd_v3_v3v3fl(rv3d->ofs, orig_ofs, dvec, -(1.0 - dfac));
}
static void viewdolly_apply(ViewOpsData *vod, int x, int y, const short zoom_invert)
@@ -1379,6 +1493,8 @@ static void viewdolly_apply(ViewOpsData *vod, int x, int y, const short zoom_inv
if(vod->rv3d->viewlock & RV3D_BOXVIEW)
view3d_boxview_sync(vod->sa, vod->ar);
+ ED_view3d_camera_lock_sync(vod->v3d, vod->rv3d);
+
ED_region_tag_redraw(vod->ar);
}
@@ -1415,7 +1531,7 @@ static int viewdolly_modal(bContext *C, wmOperator *op, wmEvent *event)
viewdolly_apply(vod, event->x, event->y, (U.uiflag & USER_ZOOM_INVERT) != 0);
}
else if (event_code==VIEW_CONFIRM) {
- request_depth_update(vod->rv3d);
+ ED_view3d_depth_tag_update(vod->rv3d);
viewops_data_free(C, op);
return OPERATOR_FINISHED;
@@ -1426,14 +1542,13 @@ static int viewdolly_modal(bContext *C, wmOperator *op, wmEvent *event)
static int viewdolly_exec(bContext *C, wmOperator *op)
{
- View3D *v3d;
+ /* View3D *v3d; */
RegionView3D *rv3d;
ScrArea *sa;
ARegion *ar;
float mousevec[3];
int delta= RNA_int_get(op->ptr, "delta");
- int mx, my;
if(op->customdata) {
ViewOpsData *vod= op->customdata;
@@ -1445,10 +1560,11 @@ static int viewdolly_exec(bContext *C, wmOperator *op)
else {
sa= CTX_wm_area(C);
ar= CTX_wm_region(C);
- normalize_v3_v3(mousevec, ((RegionView3D *)ar->regiondata)->viewinv[2]);
+ negate_v3_v3(mousevec, ((RegionView3D *)ar->regiondata)->viewinv[2]);
+ normalize_v3(mousevec);
}
- v3d= sa->spacedata.first;
+ /* v3d= sa->spacedata.first; */ /* UNUSED */
rv3d= ar->regiondata;
/* overwrite the mouse vector with the view direction (zoom into the center) */
@@ -1456,11 +1572,6 @@ static int viewdolly_exec(bContext *C, wmOperator *op)
normalize_v3_v3(mousevec, rv3d->viewinv[2]);
}
- mx= RNA_property_is_set(op->ptr, "mx") ? RNA_int_get(op->ptr, "mx") : ar->winx / 2;
- my= RNA_property_is_set(op->ptr, "my") ? RNA_int_get(op->ptr, "my") : ar->winy / 2;
-
-
-
if(delta < 0) {
view_dolly_mouseloc(ar, rv3d->ofs, mousevec, 1.2f);
}
@@ -1471,7 +1582,7 @@ static int viewdolly_exec(bContext *C, wmOperator *op)
if(rv3d->viewlock & RV3D_BOXVIEW)
view3d_boxview_sync(sa, ar);
- request_depth_update(rv3d);
+ ED_view3d_depth_tag_update(rv3d);
ED_region_tag_redraw(ar);
viewops_data_free(C, op);
@@ -1481,7 +1592,13 @@ static int viewdolly_exec(bContext *C, wmOperator *op)
/* copied from viewzoom_invoke(), changes here may apply there */
static int viewdolly_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
+{
+ ViewOpsData *vod;
+
+ /* makes op->customdata */
+ viewops_data_create(C, op, event);
+ vod= op->customdata;
+
/* if one or the other zoom position aren't set, set from event */
if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my"))
{
@@ -1490,21 +1607,13 @@ static int viewdolly_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
if(RNA_property_is_set(op->ptr, "delta")) {
- /* makes op->customdata */
- viewops_data_create(C, op, event);
viewdolly_exec(C, op);
}
else {
- ViewOpsData *vod;
-
- /* makes op->customdata */
- viewops_data_create(C, op, event);
-
- vod= op->customdata;
-
/* overwrite the mouse vector with the view direction (zoom into the center) */
if((U.uiflag & USER_ZOOM_TO_MOUSEPOS) == 0) {
- normalize_v3_v3(vod->mousevec, vod->rv3d->viewinv[2]);
+ negate_v3_v3(vod->mousevec, vod->rv3d->viewinv[2]);
+ normalize_v3(vod->mousevec);
}
if (event->type == MOUSEZOOM) {
@@ -1520,7 +1629,7 @@ static int viewdolly_invoke(bContext *C, wmOperator *op, wmEvent *event)
vod->origy = vod->oldy = vod->origy + event->x - event->prevx;
viewdolly_apply(vod, event->prevx, event->prevy, FALSE);
}
- request_depth_update(vod->rv3d);
+ ED_view3d_depth_tag_update(vod->rv3d);
viewops_data_free(C, op);
return OPERATOR_FINISHED;
@@ -1540,13 +1649,27 @@ static int viewdolly_poll(bContext *C)
{
RegionView3D *rv3d= CTX_wm_region_view3d(C);
- if (rv3d && rv3d->persp == RV3D_PERSP) {
- return 1;
+ if(rv3d) {
+ if (rv3d->persp == RV3D_PERSP) {
+ return 1;
+ }
+ else {
+ View3D *v3d= CTX_wm_view3d(C);
+ if (ED_view3d_camera_lock_check(v3d, rv3d)) {
+ return 1;
+ }
+ }
}
-
return 0;
}
+static int viewdolly_cancel(bContext *C, wmOperator *op)
+{
+ viewops_data_free(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
void VIEW3D_OT_dolly(wmOperatorType *ot)
{
/* identifiers */
@@ -1559,6 +1682,7 @@ void VIEW3D_OT_dolly(wmOperatorType *ot)
ot->exec= viewdolly_exec;
ot->modal= viewdolly_modal;
ot->poll= viewdolly_poll;
+ ot->cancel= viewdolly_cancel;
/* flags */
ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
@@ -1578,6 +1702,7 @@ static int view3d_all_exec(bContext *C, wmOperator *op) /* was view3d_home() in
Scene *scene= CTX_data_scene(C);
Base *base;
float *curs;
+ const short skip_camera= ED_view3d_camera_lock_check(v3d, rv3d);
int center= RNA_boolean_get(op->ptr, "center");
@@ -1598,6 +1723,11 @@ static int view3d_all_exec(bContext *C, wmOperator *op) /* was view3d_home() in
for(base= scene->base.first; base; base= base->next) {
if(BASE_VISIBLE(v3d, base)) {
onedone= 1;
+
+ if(skip_camera && base->object == v3d->camera) {
+ continue;
+ }
+
minmax_object(base->object, min, max);
}
}
@@ -1633,7 +1763,7 @@ static int view3d_all_exec(bContext *C, wmOperator *op) /* was view3d_home() in
new_dist*= size;
}
- if (rv3d->persp==RV3D_CAMOB) {
+ if ((rv3d->persp==RV3D_CAMOB) && !ED_view3d_camera_lock_check(v3d, rv3d)) {
rv3d->persp= RV3D_PERSP;
smooth_view(C, v3d, ar, v3d->camera, NULL, new_ofs, NULL, &new_dist, NULL);
}
@@ -1677,6 +1807,7 @@ static int viewselected_exec(bContext *C, wmOperator *UNUSED(op)) /* like a loca
Object *obedit= CTX_data_edit_object(C);
float size, min[3], max[3], afm[3];
int ok=0, ok_dist=1;
+ const short skip_camera= ED_view3d_camera_lock_check(v3d, rv3d);
/* SMOOTHVIEW */
float new_ofs[3];
@@ -1730,17 +1861,20 @@ static int viewselected_exec(bContext *C, wmOperator *UNUSED(op)) /* like a loca
ok= PE_minmax(scene, min, max);
}
else {
- Base *base= FIRSTBASE;
- while(base) {
+ Base *base;
+ for(base= FIRSTBASE; base; base = base->next) {
if(TESTBASE(v3d, base)) {
+ if(skip_camera && base->object == v3d->camera) {
+ continue;
+ }
+
/* account for duplis */
if (minmax_object_duplis(scene, base->object, min, max)==0)
minmax_object(base->object, min, max); /* use if duplis not found */
ok= 1;
}
- base= base->next;
}
}
@@ -1749,7 +1883,7 @@ static int viewselected_exec(bContext *C, wmOperator *UNUSED(op)) /* like a loca
sub_v3_v3v3(afm, max, min);
size= MAX3(afm[0], afm[1], afm[2]);
- if(rv3d->persp==RV3D_ORTHO) {
+ if(!rv3d->is_persp) {
if(size < 0.0001f) { /* if its a sinble point. dont even re-scale */
ok_dist= 0;
}
@@ -1776,7 +1910,7 @@ static int viewselected_exec(bContext *C, wmOperator *UNUSED(op)) /* like a loca
new_dist*= size;
}
- if (rv3d->persp==RV3D_CAMOB) {
+ if (rv3d->persp==RV3D_CAMOB && !ED_view3d_camera_lock_check(v3d, rv3d)) {
rv3d->persp= RV3D_PERSP;
smooth_view(C, v3d, ar, v3d->camera, NULL, new_ofs, NULL, &new_dist, NULL);
}
@@ -1844,10 +1978,23 @@ void VIEW3D_OT_view_center_cursor(wmOperatorType *ot)
static int view3d_center_camera_exec(bContext *C, wmOperator *UNUSED(op)) /* was view3d_home() in 2.4x */
{
+ ARegion *ar= CTX_wm_region(C);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
+ Scene *scene= CTX_data_scene(C);
+ float xfac, yfac;
+ float size[2];
rv3d->camdx= rv3d->camdy= 0.0f;
+ view3d_viewborder_size_get(scene, ar, size);
+
+ /* 4px is just a little room from the edge of the area */
+ xfac= (float)ar->winx / (float)(size[0] + 4);
+ yfac= (float)ar->winy / (float)(size[1] + 4);
+
+ rv3d->camzoom= BKE_screen_view3d_zoom_from_fac(MIN2(xfac, yfac));
+ CLAMP(rv3d->camzoom, RV3D_CAMZOOM_MIN, RV3D_CAMZOOM_MAX);
+
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, CTX_wm_view3d(C));
return OPERATOR_FINISHED;
@@ -1887,7 +2034,7 @@ static int render_border_exec(bContext *C, wmOperator *op)
rect.ymax= RNA_int_get(op->ptr, "ymax");
/* calculate range */
- view3d_calc_camera_border(scene, ar, rv3d, v3d, &vb, FALSE);
+ ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, &vb, FALSE);
scene->r.border.xmin= ((float)rect.xmin-vb.xmin)/(vb.xmax-vb.xmin);
scene->r.border.ymin= ((float)rect.ymin-vb.ymin)/(vb.ymax-vb.ymin);
@@ -1929,6 +2076,7 @@ void VIEW3D_OT_render_border(wmOperatorType *ot)
ot->invoke= WM_border_select_invoke;
ot->exec= render_border_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= view3d_camera_active_poll;
@@ -1993,7 +2141,7 @@ static int view3d_zoom_border_exec(bContext *C, wmOperator *op)
cent[0] = (((double)rect.xmin)+((double)rect.xmax)) / 2;
cent[1] = (((double)rect.ymin)+((double)rect.ymax)) / 2;
- if (rv3d->persp==RV3D_PERSP) {
+ if (rv3d->is_persp) {
double p_corner[3];
/* no depths to use, we cant do anything! */
@@ -2029,13 +2177,17 @@ static int view3d_zoom_border_exec(bContext *C, wmOperator *op)
new_ofs[0] = -p[0];
new_ofs[1] = -p[1];
new_ofs[2] = -p[2];
- } else {
+ }
+ else {
+ float mval_f[2];
/* We cant use the depth, fallback to the old way that dosnt set the center depth */
copy_v3_v3(new_ofs, rv3d->ofs);
initgrabz(rv3d, -new_ofs[0], -new_ofs[1], -new_ofs[2]);
- window_to_3d_delta(ar, dvec, (rect.xmin+rect.xmax-vb[0])/2, (rect.ymin+rect.ymax-vb[1])/2);
+ mval_f[0]= (rect.xmin + rect.xmax - vb[0]) / 2.0f;
+ mval_f[1]= (rect.ymin + rect.ymax - vb[1]) / 2.0f;
+ ED_view3d_win_to_delta(ar, mval_f, dvec);
/* center the view to the center of the rectangle */
sub_v3_v3(new_ofs, dvec);
}
@@ -2059,10 +2211,11 @@ static int view3d_zoom_border_exec(bContext *C, wmOperator *op)
static int view3d_zoom_border_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
+ View3D *v3d= CTX_wm_view3d(C);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
/* if in camera view do not exec the operator so we do not conflict with set render border*/
- if (rv3d->persp != RV3D_CAMOB)
+ if ((rv3d->persp != RV3D_CAMOB) || ED_view3d_camera_lock_check(v3d, rv3d))
return WM_border_select_invoke(C, op, event);
else
return OPERATOR_PASS_THROUGH;
@@ -2079,6 +2232,7 @@ void VIEW3D_OT_zoom_border(wmOperatorType *ot)
ot->invoke= view3d_zoom_border_invoke;
ot->exec= view3d_zoom_border_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_region_view3d_active;
@@ -2101,9 +2255,9 @@ static void view3d_set_1_to_1_viewborder(Scene *scene, ARegion *ar)
int im_width= (scene->r.size*scene->r.xsch)/100;
view3d_viewborder_size_get(scene, ar, size);
-
- rv3d->camzoom= (sqrtf(4.0f * (float)im_width/size[0]) - (float)M_SQRT2) * 50.0f;
- rv3d->camzoom= CLAMPIS(rv3d->camzoom, RV3D_CAMZOOM_MIN, RV3D_CAMZOOM_MAX);
+
+ rv3d->camzoom= BKE_screen_view3d_zoom_from_fac((float)im_width/size[0]);
+ CLAMP(rv3d->camzoom, RV3D_CAMZOOM_MIN, RV3D_CAMZOOM_MAX);
}
static int view3d_zoom_1_to_1_camera_exec(bContext *C, wmOperator *UNUSED(op))
@@ -2175,7 +2329,7 @@ static void axis_set_view(bContext *C, View3D *v3d, ARegion *ar, float q1, float
invert_qt(obact_quat);
mul_qt_qtqt(new_quat, new_quat, obact_quat);
- rv3d->view= view= 0;
+ rv3d->view= view= RV3D_VIEW_USER;
}
}
@@ -2367,6 +2521,7 @@ static EnumPropertyItem prop_view_orbit_items[] = {
static int vieworbit_exec(bContext *C, wmOperator *op)
{
+ View3D *v3d= CTX_wm_view3d(C);
ARegion *ar= ED_view3d_context_region_unlock(C);
RegionView3D *rv3d= ar->regiondata; /* no NULL check is needed, poll checks */
float phi, q1[4], new_quat[4];
@@ -2375,8 +2530,7 @@ static int vieworbit_exec(bContext *C, wmOperator *op)
orbitdir = RNA_enum_get(op->ptr, "type");
if(rv3d->viewlock==0) {
-
- if(rv3d->persp != RV3D_CAMOB) {
+ if((rv3d->persp != RV3D_CAMOB) || ED_view3d_camera_lock_check(v3d, rv3d)) {
if(orbitdir == V3D_VIEW_STEPLEFT || orbitdir == V3D_VIEW_STEPRIGHT) {
float si;
/* z-axis */
@@ -2387,7 +2541,7 @@ static int vieworbit_exec(bContext *C, wmOperator *op)
q1[1]= q1[2]= 0.0;
q1[3]= si;
mul_qt_qtqt(new_quat, rv3d->viewquat, q1);
- rv3d->view= 0;
+ rv3d->view= RV3D_VIEW_USER;
}
else if(orbitdir == V3D_VIEW_STEPDOWN || orbitdir == V3D_VIEW_STEPUP) {
/* horizontal axis */
@@ -2399,7 +2553,7 @@ static int vieworbit_exec(bContext *C, wmOperator *op)
q1[0]= (float)cos(phi);
mul_v3_fl(q1+1, sin(phi));
mul_qt_qtqt(new_quat, rv3d->viewquat, q1);
- rv3d->view= 0;
+ rv3d->view= RV3D_VIEW_USER;
}
smooth_view(C, CTX_wm_view3d(C), ar, NULL, NULL, NULL, new_quat, NULL, NULL);
@@ -2437,15 +2591,16 @@ static int viewpan_exec(bContext *C, wmOperator *op)
ARegion *ar= CTX_wm_region(C);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
float vec[3];
+ float mval_f[2]= {0.0f, 0.0f};
int pandir;
pandir = RNA_enum_get(op->ptr, "type");
initgrabz(rv3d, 0.0, 0.0, 0.0);
- if(pandir == V3D_VIEW_PANRIGHT) window_to_3d_delta(ar, vec, -32, 0);
- else if(pandir == V3D_VIEW_PANLEFT) window_to_3d_delta(ar, vec, 32, 0);
- else if(pandir == V3D_VIEW_PANUP) window_to_3d_delta(ar, vec, 0, -25);
- else if(pandir == V3D_VIEW_PANDOWN) window_to_3d_delta(ar, vec, 0, 25);
+ if(pandir == V3D_VIEW_PANRIGHT) { mval_f[0]= -32.0f; ED_view3d_win_to_delta(ar, mval_f, vec); }
+ else if(pandir == V3D_VIEW_PANLEFT) { mval_f[0]= 32.0f; ED_view3d_win_to_delta(ar, mval_f, vec); }
+ else if(pandir == V3D_VIEW_PANUP) { mval_f[1]= -25.0f; ED_view3d_win_to_delta(ar, mval_f, vec); }
+ else if(pandir == V3D_VIEW_PANDOWN) { mval_f[1]= 25.0f; ED_view3d_win_to_delta(ar, mval_f, vec); }
add_v3_v3(rv3d->ofs, vec);
if(rv3d->viewlock & RV3D_BOXVIEW)
@@ -2681,7 +2836,7 @@ static int view3d_clipping_exec(bContext *C, wmOperator *op)
view3d_set_viewcontext(C, &vc);
view3d_get_transformation(vc.ar, vc.rv3d, NULL, &mats); /* NULL because we don't want it in object space */
- view3d_calculate_clipping(rv3d->clipbb, rv3d->clip, &mats, &rect);
+ ED_view3d_calc_clipping(rv3d->clipbb, rv3d->clip, &mats, &rect);
return OPERATOR_FINISHED;
}
@@ -2716,6 +2871,7 @@ void VIEW3D_OT_clip_border(wmOperatorType *ot)
ot->invoke= view3d_clipping_invoke;
ot->exec= view3d_clipping_exec;
ot->modal= WM_border_select_modal;
+ ot->cancel= WM_border_select_cancel;
ot->poll= ED_operator_region_view3d_active;
@@ -2739,7 +2895,7 @@ static int set_3dcursor_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *eve
View3D *v3d = CTX_wm_view3d(C);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
float dx, dy, fz, *fp = NULL, dvec[3], oldcurs[3];
- short mx, my, mval[2];
+ int mval[2];
// short ctrl= 0; // XXX
int flip;
fp= give_cursor(scene, v3d);
@@ -2747,10 +2903,7 @@ static int set_3dcursor_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *eve
// if(obedit && ctrl) lr_click= 1;
copy_v3_v3(oldcurs, fp);
- mx= event->x - ar->winrct.xmin;
- my= event->y - ar->winrct.ymin;
-
- project_short_noclip(ar, fp, mval);
+ project_int_noclip(ar, fp, mval);
flip= initgrabz(rv3d, fp[0], fp[1], fp[2]);
/* reset the depth based on the view offset */
@@ -2758,7 +2911,7 @@ static int set_3dcursor_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *eve
negate_v3_v3(fp, rv3d->ofs);
/* re initialize */
- project_short_noclip(ar, fp, mval);
+ project_int_noclip(ar, fp, mval);
flip= initgrabz(rv3d, fp[0], fp[1], fp[2]);
}
@@ -2766,23 +2919,22 @@ static int set_3dcursor_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *eve
short depth_used = 0;
if (U.uiflag & USER_ORBIT_ZBUF) { /* maybe this should be accessed some other way */
- short mval_depth[2];
- mval_depth[0]= mx;
- mval_depth[1]= my;
view3d_operator_needs_opengl(C);
- if (view_autodist(scene, ar, v3d, mval_depth, fp))
+ if (ED_view3d_autodist(scene, ar, v3d, event->mval, fp))
depth_used= 1;
}
if(depth_used==0) {
- window_to_3d_delta(ar, dvec, mval[0]-mx, mval[1]-my);
+ float mval_f[2];
+ VECSUB2D(mval_f, mval, event->mval);
+ ED_view3d_win_to_delta(ar, mval_f, dvec);
sub_v3_v3(fp, dvec);
}
}
else {
- dx= ((float)(mx-(ar->winx/2)))*rv3d->zfac/(ar->winx/2);
- dy= ((float)(my-(ar->winy/2)))*rv3d->zfac/(ar->winy/2);
+ dx= ((float)(event->mval[0]-(ar->winx/2)))*rv3d->zfac/(ar->winx/2);
+ dy= ((float)(event->mval[1]-(ar->winy/2)))*rv3d->zfac/(ar->winy/2);
fz= rv3d->persmat[0][3]*fp[0]+ rv3d->persmat[1][3]*fp[1]+ rv3d->persmat[2][3]*fp[2]+ rv3d->persmat[3][3];
fz= fz/rv3d->zfac;
@@ -2897,7 +3049,7 @@ void VIEW3D_OT_enable_manipulator(wmOperatorType *ot)
/* ************************* below the line! *********************** */
-static float view_autodist_depth_margin(ARegion *ar, const short mval[2], int margin)
+static float view_autodist_depth_margin(ARegion *ar, const int mval[2], int margin)
{
ViewDepths depth_temp= {0};
rcti rect;
@@ -2925,7 +3077,7 @@ static float view_autodist_depth_margin(ARegion *ar, const short mval[2], int ma
}
/* XXX todo Zooms in on a border drawn by the user */
-int view_autodist(Scene *scene, ARegion *ar, View3D *v3d, const short mval[2], float mouse_worldloc[3] ) //, float *autodist )
+int ED_view3d_autodist(Scene *scene, ARegion *ar, View3D *v3d, const int mval[2], float mouse_worldloc[3] ) //, float *autodist )
{
bglMats mats; /* ZBuffer depth vars */
float depth_close= FLT_MAX;
@@ -2952,7 +3104,7 @@ int view_autodist(Scene *scene, ARegion *ar, View3D *v3d, const short mval[2], f
return 1;
}
-int view_autodist_init(Scene *scene, ARegion *ar, View3D *v3d, int mode) //, float *autodist )
+int ED_view3d_autodist_init(Scene *scene, ARegion *ar, View3D *v3d, int mode) //, float *autodist )
{
/* Get Z Depths, needed for perspective, nice for ortho */
switch(mode) {
@@ -2968,7 +3120,7 @@ int view_autodist_init(Scene *scene, ARegion *ar, View3D *v3d, int mode) //, flo
}
// no 4x4 sampling, run view_autodist_init first
-int view_autodist_simple(ARegion *ar, const short mval[2], float mouse_worldloc[3], int margin, float *force_depth) //, float *autodist )
+int ED_view3d_autodist_simple(ARegion *ar, const int mval[2], float mouse_worldloc[3], int margin, float *force_depth) //, float *autodist )
{
bglMats mats; /* ZBuffer depth vars, could cache? */
float depth;
@@ -2996,7 +3148,7 @@ int view_autodist_simple(ARegion *ar, const short mval[2], float mouse_worldloc[
return 1;
}
-int view_autodist_depth(struct ARegion *ar, const short mval[2], int margin, float *depth)
+int ED_view3d_autodist_depth(struct ARegion *ar, const int mval[2], int margin, float *depth)
{
*depth= view_autodist_depth_margin(ar, mval, margin);
@@ -3006,11 +3158,11 @@ int view_autodist_depth(struct ARegion *ar, const short mval[2], int margin, flo
static int depth_segment_cb(int x, int y, void *userData)
{
struct { struct ARegion *ar; int margin; float depth; } *data = userData;
- short mval[2];
+ int mval[2];
float depth;
- mval[0]= (short)x;
- mval[1]= (short)y;
+ mval[0]= x;
+ mval[1]= y;
depth= view_autodist_depth_margin(data->ar, mval, data->margin);
@@ -3023,7 +3175,7 @@ static int depth_segment_cb(int x, int y, void *userData)
}
}
-int view_autodist_depth_segment(struct ARegion *ar, const short mval_sta[2], const short mval_end[2], int margin, float *depth)
+int ED_view3d_autodist_depth_seg(struct ARegion *ar, const int mval_sta[2], const int mval_end[2], int margin, float *depth)
{
struct { struct ARegion *ar; int margin; float depth; } data = {NULL};
int p1[2];
@@ -3434,21 +3586,66 @@ void viewmoveNDOF(Scene *scene, ARegion *ar, View3D *v3d, int UNUSED(mode))
}
#endif // if 0, unused NDof code
-/* give a 4x4 matrix from a perspective view, only needs viewquat, ofs and dist
- * basically the same as...
- * rv3d->persp= RV3D_PERSP
- * setviewmatrixview3d(scene, v3d, rv3d);
- * setcameratoview3d(v3d, rv3d, v3d->camera);
- * ...but less of a hassle
- * */
-void view3d_persp_mat4(RegionView3D *rv3d, float mat[][4])
-{
- float qt[4], dvec[3];
- copy_qt_qt(qt, rv3d->viewquat);
- qt[0]= -qt[0];
- quat_to_mat4(mat, qt);
- mat[3][2] -= rv3d->dist;
- translate_m4(mat, rv3d->ofs[0], rv3d->ofs[1], rv3d->ofs[2]);
- mul_v3_v3fl(dvec, mat[2], -rv3d->dist);
- sub_v3_v3v3(mat[3], dvec, rv3d->ofs);
+
+/* Gets the view trasnformation from a camera
+* currently dosnt take camzoom into account
+*
+* The dist is not modified for this function, if NULL its assimed zero
+* */
+void ED_view3d_from_m4(float mat[][4], float ofs[3], float quat[4], float *dist)
+{
+ /* Offset */
+ if (ofs)
+ negate_v3_v3(ofs, mat[3]);
+
+ /* Quat */
+ if (quat) {
+ float imat[4][4];
+ invert_m4_m4(imat, mat);
+ mat4_to_quat(quat, imat);
+ }
+
+ if (dist) {
+ float nmat[3][3];
+ float vec[3];
+
+ vec[0]= 0.0f;
+ vec[1]= 0.0f;
+ vec[2]= -(*dist);
+
+ copy_m3_m4(nmat, mat);
+ normalize_m3(nmat);
+
+ mul_m3_v3(nmat, vec);;
+ sub_v3_v3(ofs, vec);
+ }
+}
+
+void ED_view3d_to_m4(float mat[][4], const float ofs[3], const float quat[4], const float dist)
+{
+ float iviewquat[4]= {-quat[0], quat[1], quat[2], quat[3]};
+ float dvec[3]= {0.0f, 0.0f, dist};
+
+ quat_to_mat4(mat, iviewquat);
+ mul_mat3_m4_v3(mat, dvec);
+ sub_v3_v3v3(mat[3], dvec, ofs);
+}
+
+
+/* object -> view */
+void ED_view3d_from_object(Object *ob, float ofs[3], float quat[4], float *dist, float *lens)
+{
+ ED_view3d_from_m4(ob->obmat, ofs, quat, dist);
+
+ if (lens) {
+ ED_view3d_ob_clip_range_get(ob, lens, NULL, NULL);
+ }
+}
+
+/* view -> object */
+void ED_view3d_to_object(Object *ob, const float ofs[3], const float quat[4], const float dist)
+{
+ float mat[4][4];
+ ED_view3d_to_m4(mat, ofs, quat, dist);
+ object_apply_mat4(ob, mat, TRUE, TRUE);
}
diff --git a/source/blender/editors/space_view3d/view3d_fly.c b/source/blender/editors/space_view3d/view3d_fly.c
index 32deee50fb2..ed1ed5b3881 100644
--- a/source/blender/editors/space_view3d/view3d_fly.c
+++ b/source/blender/editors/space_view3d/view3d_fly.c
@@ -158,7 +158,7 @@ typedef struct FlyInfo {
short state;
short use_precision;
short redraw;
- short mval[2];
+ int mval[2];
/* fly state state */
float speed; /* the speed the view is moving per redraw */
@@ -287,9 +287,7 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
fly->timer= WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f);
- fly->mval[0] = event->x - fly->ar->winrct.xmin;
- fly->mval[1] = event->y - fly->ar->winrct.ymin;
-
+ VECCOPY2D(fly->mval, event->mval)
fly->time_lastdraw= fly->time_lastwheel= PIL_check_seconds_timer();
@@ -309,7 +307,7 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
fly->dist_backup= fly->rv3d->dist;
if (fly->rv3d->persp==RV3D_CAMOB) {
Object *ob_back;
- if((fly->root_parent=fly->v3d->camera->parent)) {
+ if((U.uiflag & USER_CAM_LOCK_NO_PARENT)==0 && (fly->root_parent=fly->v3d->camera->parent)) {
while(fly->root_parent->parent)
fly->root_parent= fly->root_parent->parent;
ob_back= fly->root_parent;
@@ -418,8 +416,7 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
fly->redraw = 1;
}
else if (event->type == MOUSEMOVE) {
- fly->mval[0] = event->x - fly->ar->winrct.xmin;
- fly->mval[1] = event->y - fly->ar->winrct.ymin;
+ VECCOPY2D(fly->mval, event->mval);
} /* handle modal keymap first */
else if (event->type == EVT_MODAL_MAP) {
switch (event->val) {
@@ -480,7 +477,7 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
/* impliment WASD keys */
case FLY_MODAL_DIR_FORWARD:
- if (fly->speed < 0.0f) fly->speed= -fly->speed; /* flip speed rather then stopping, game like motion */
+ if (fly->speed < 0.0f) fly->speed= -fly->speed; /* flip speed rather than stopping, game like motion */
else if (fly->axis==2) fly->speed += fly->grid; /* increse like mousewheel if were already moving in that difection*/
fly->axis= 2;
break;
@@ -571,7 +568,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
apply_rotation= 1; /* if the user presses shift they can look about without movinf the direction there looking*/
if(fly->root_parent)
- view3d_persp_mat4(rv3d, prev_view_mat);
+ ED_view3d_to_m4(prev_view_mat, fly->rv3d->ofs, fly->rv3d->viewquat, fly->rv3d->dist);
/* the dist defines a vector that is infront of the offset
to rotate the view about.
@@ -800,7 +797,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
float parent_mat[4][4];
invert_m4_m4(prev_view_imat, prev_view_mat);
- view3d_persp_mat4(rv3d, view_mat);
+ ED_view3d_to_m4(view_mat, rv3d->ofs, rv3d->viewquat, rv3d->dist);
mul_m4_m4m4(diff_mat, prev_view_imat, view_mat);
mul_m4_m4m4(parent_mat, fly->root_parent->obmat, diff_mat);
object_apply_mat4(fly->root_parent, parent_mat, TRUE, FALSE);
@@ -820,7 +817,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
}
else {
float view_mat[4][4];
- view3d_persp_mat4(rv3d, view_mat);
+ ED_view3d_to_m4(view_mat, rv3d->ofs, rv3d->viewquat, rv3d->dist);
object_apply_mat4(v3d->camera, view_mat, TRUE, FALSE);
id_key= &v3d->camera->id;
}
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index aad9c1dd3ff..ae80a554e08 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -445,9 +445,9 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C)
row= uiLayoutRow(layout, 1);
block= uiLayoutGetBlock(row);
- uiDefIconButBitS(block, TOG, SCE_SELECT_VERTEX, B_SEL_VERT, ICON_VERTEXSEL, 0,0,XIC,YIC, &em->selectmode, 1.0, 0.0, 0, 0, "Vertex select mode");
- uiDefIconButBitS(block, TOG, SCE_SELECT_EDGE, B_SEL_EDGE, ICON_EDGESEL, 0,0,XIC,YIC, &em->selectmode, 1.0, 0.0, 0, 0, "Edge select mode");
- uiDefIconButBitS(block, TOG, SCE_SELECT_FACE, B_SEL_FACE, ICON_FACESEL, 0,0,XIC,YIC, &em->selectmode, 1.0, 0.0, 0, 0, "Face select mode");
+ uiDefIconButBitS(block, TOG, SCE_SELECT_VERTEX, B_SEL_VERT, ICON_VERTEXSEL, 0,0,UI_UNIT_X,UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Vertex select mode");
+ uiDefIconButBitS(block, TOG, SCE_SELECT_EDGE, B_SEL_EDGE, ICON_EDGESEL, 0,0,UI_UNIT_X,UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Edge select mode");
+ uiDefIconButBitS(block, TOG, SCE_SELECT_FACE, B_SEL_FACE, ICON_FACESEL, 0,0,UI_UNIT_X,UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Face select mode");
BKE_mesh_end_editmesh(obedit->data, em);
}
@@ -485,7 +485,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
uiBlockBeginAlign(block);
uiDefIconTextButS(block, MENU, B_MODESELECT, object_mode_icon(v3d->modeselect), view3d_modeselect_pup(scene) ,
- 0,0,126 * dpi_fac,20, &(v3d->modeselect), 0, 0, 0, 0, "Mode");
+ 0,0,126 * dpi_fac, UI_UNIT_Y, &(v3d->modeselect), 0, 0, 0, 0, "Mode");
uiBlockEndAlign(block);
/* Draw type */
@@ -505,26 +505,15 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
uiItemR(row, &v3dptr, "pivot_point", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
uiItemR(row, &v3dptr, "use_pivot_point_align", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
- /* NDOF */
- /* Not implemented yet
- if (G.ndofdevice ==0 ) {
- uiDefIconTextButC(block, ICONTEXTROW,B_NDOF, ICON_NDOF_TURN, ndof_pup(), 0,0,XIC+10,YIC, &(v3d->ndofmode), 0, 3.0, 0, 0, "Ndof mode");
-
- uiDefIconButC(block, TOG, B_NDOF, ICON_NDOF_DOM,
- 0,0,XIC,YIC,
- &v3d->ndoffilter, 0, 1, 0, 0, "dominant axis");
- }
- */
-
/* Transform widget / manipulators */
row= uiLayoutRow(layout, 1);
uiItemR(row, &v3dptr, "show_manipulator", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
block= uiLayoutGetBlock(row);
if(v3d->twflag & V3D_USE_MANIPULATOR) {
- uiDefIconButBitS(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0,0,XIC,YIC, &v3d->twtype, 1.0, 0.0, 0, 0, "Translate manipulator mode");
- uiDefIconButBitS(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0,0,XIC,YIC, &v3d->twtype, 1.0, 0.0, 0, 0, "Rotate manipulator mode");
- uiDefIconButBitS(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0,0,XIC,YIC, &v3d->twtype, 1.0, 0.0, 0, 0, "Scale manipulator mode");
+ uiDefIconButBitC(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Translate manipulator mode");
+ uiDefIconButBitC(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Rotate manipulator mode");
+ uiDefIconButBitC(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Scale manipulator mode");
}
if (v3d->twmode > (BIF_countTransformOrientation(C) - 1) + V3D_MANIP_CUSTOM) {
@@ -532,7 +521,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
}
str_menu = BIF_menustringTransformOrientation(C, "Orientation");
- uiDefButS(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, YIC, &v3d->twmode, 0, 0, 0, 0, "Transform Orientation");
+ uiDefButC(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, "Transform Orientation");
MEM_freeN((void *)str_menu);
}
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h
index 717e46800b1..d3886d48873 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -91,7 +91,6 @@ void VIEW3D_OT_zoom_border(struct wmOperatorType *ot);
void VIEW3D_OT_drawtype(struct wmOperatorType *ot);
void view3d_boxview_copy(ScrArea *sa, ARegion *ar);
-void view3d_persp_mat4(struct RegionView3D *rv3d, float mat[][4]);
/* view3d_fly.c */
void view3d_keymap(struct wmKeyConfig *keyconf);
@@ -121,7 +120,7 @@ void view3d_cached_text_draw_end(View3D *v3d, ARegion *ar, int depth_write, floa
#define V3D_CACHE_TEXT_ASCII (1<<2)
/* drawarmature.c */
-int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag);
+int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag, const short is_outline);
/* drawmesh.c */
void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, struct Object *ob, struct DerivedMesh *dm, int faceselect);
@@ -154,9 +153,7 @@ void VIEW3D_OT_localview(struct wmOperatorType *ot);
void VIEW3D_OT_game_start(struct wmOperatorType *ot);
-int boundbox_clip(RegionView3D *rv3d, float obmat[][4], struct BoundBox *bb);
-
-void centerview(struct ARegion *ar, View3D *v3d);
+int ED_view3d_boundbox_clip(RegionView3D *rv3d, float obmat[][4], struct BoundBox *bb);
void smooth_view(struct bContext *C, struct View3D *v3d, struct ARegion *ar, struct Object *, struct Object *, float *ofs, float *quat, float *dist, float *lens);
@@ -167,6 +164,7 @@ void fly_modal_keymap(struct wmKeyConfig *keyconf);
void viewrotate_modal_keymap(struct wmKeyConfig *keyconf);
void viewmove_modal_keymap(struct wmKeyConfig *keyconf);
void viewzoom_modal_keymap(struct wmKeyConfig *keyconf);
+void viewdolly_modal_keymap(struct wmKeyConfig *keyconf);
/* view3d_buttons.c */
void VIEW3D_OT_properties(struct wmOperatorType *ot);
@@ -196,6 +194,16 @@ extern const char *view3d_context_dir[]; /* doc access */
/* draw_volume.c */
void draw_volume(struct ARegion *ar, struct GPUTexture *tex, float *min, float *max, int res[3], float dx, struct GPUTexture *tex_shadow);
+/* workaround for trivial but noticable camera bug caused by imprecision
+ * between view border calculation in 2D/3D space, workaround for bug [#28037].
+ * without this deifne we get the old behavior which is to try and align them
+ * both which _mostly_ works fine, but when the camera moves beyond ~1000 in
+ * any direction it starts to fail */
+#define VIEW3D_CAMERA_BORDER_HACK
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+extern float view3d_camera_border_hack_col[4];
+extern short view3d_camera_border_hack_test;
+#endif
#endif /* ED_VIEW3D_INTERN_H */
diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c
index 4942030c516..05ef79a9f29 100644
--- a/source/blender/editors/space_view3d/view3d_ops.c
+++ b/source/blender/editors/space_view3d/view3d_ops.c
@@ -305,5 +305,6 @@ void view3d_keymap(wmKeyConfig *keyconf)
viewrotate_modal_keymap(keyconf);
viewmove_modal_keymap(keyconf);
viewzoom_modal_keymap(keyconf);
+ viewdolly_modal_keymap(keyconf);
}
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index f51a780787e..9290e1fc631 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -93,20 +93,22 @@ void view3d_set_viewcontext(bContext *C, ViewContext *vc)
vc->obedit= CTX_data_edit_object(C);
}
-int view3d_get_view_aligned_coordinate(ViewContext *vc, float fp[3], const short mval[2], const short do_fallback)
+int view3d_get_view_aligned_coordinate(ViewContext *vc, float fp[3], const int mval[2], const short do_fallback)
{
float dvec[3];
- short mval_cpy[2];
+ int mval_cpy[2];
mval_cpy[0]= mval[0];
mval_cpy[1]= mval[1];
- project_short_noclip(vc->ar, fp, mval_cpy);
+ project_int_noclip(vc->ar, fp, mval_cpy);
initgrabz(vc->rv3d, fp[0], fp[1], fp[2]);
if(mval_cpy[0]!=IS_CLIPPED) {
- window_to_3d_delta(vc->ar, dvec, mval_cpy[0]-mval[0], mval_cpy[1]-mval[1]);
+ float mval_f[2];
+ VECSUB2D(mval_f, mval_cpy, mval);
+ ED_view3d_win_to_delta(vc->ar, mval_f, dvec);
sub_v3_v3(fp, dvec);
return TRUE;
@@ -274,12 +276,12 @@ static int edge_inside_rect(rcti *rect, short x1, short y1, short x2, short y2)
#define MOVES_GESTURE 50
#define MOVES_LASSO 500
-int lasso_inside(short mcords[][2], short moves, short sx, short sy)
+int lasso_inside(int mcords[][2], short moves, int sx, int sy)
{
/* we do the angle rule, define that all added angles should be about zero or 2*PI */
float angletot=0.0, len, dot, ang, cross, fp1[2], fp2[2];
int a;
- short *p1, *p2;
+ int *p1, *p2;
if(sx==IS_CLIPPED)
return 0;
@@ -322,9 +324,9 @@ int lasso_inside(short mcords[][2], short moves, short sx, short sy)
}
/* edge version for lasso select. we assume boundbox check was done */
-int lasso_inside_edge(short mcords[][2], short moves, int x0, int y0, int x1, int y1)
+int lasso_inside_edge(int mcords[][2], short moves, int x0, int y0, int x1, int y1)
{
- short v1[2], v2[2];
+ int v1[2], v2[2];
int a;
if(x0==IS_CLIPPED || x1==IS_CLIPPED)
@@ -339,9 +341,9 @@ int lasso_inside_edge(short mcords[][2], short moves, int x0, int y0, int x1, in
/* no points in lasso, so we have to intersect with lasso edge */
- if( isect_line_line_v2_short(mcords[0], mcords[moves-1], v1, v2) > 0) return 1;
+ if( isect_line_line_v2_int(mcords[0], mcords[moves-1], v1, v2) > 0) return 1;
for(a=0; a<moves-1; a++) {
- if( isect_line_line_v2_short(mcords[a], mcords[a+1], v1, v2) > 0) return 1;
+ if( isect_line_line_v2_int(mcords[a], mcords[a+1], v1, v2) > 0) return 1;
}
return 0;
@@ -351,11 +353,11 @@ int lasso_inside_edge(short mcords[][2], short moves, int x0, int y0, int x1, in
/* warning; lasso select with backbuffer-check draws in backbuf with persp(PERSP_WIN)
and returns with persp(PERSP_VIEW). After lasso select backbuf is not OK
*/
-static void do_lasso_select_pose(ViewContext *vc, Object *ob, short mcords[][2], short moves, short select)
+static void do_lasso_select_pose(ViewContext *vc, Object *ob, int mcords[][2], short moves, short select)
{
bPoseChannel *pchan;
float vec[3];
- short sco1[2], sco2[2];
+ int sco1[2], sco2[2];
bArmature *arm= ob->data;
if(ob->type!=OB_ARMATURE || ob->pose==NULL) return;
@@ -363,9 +365,9 @@ static void do_lasso_select_pose(ViewContext *vc, Object *ob, short mcords[][2],
for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
if (PBONE_VISIBLE(arm, pchan->bone) && (pchan->bone->flag & BONE_UNSELECTABLE)==0) {
mul_v3_m4v3(vec, ob->obmat, pchan->pose_head);
- project_short(vc->ar, vec, sco1);
+ project_int(vc->ar, vec, sco1);
mul_v3_m4v3(vec, ob->obmat, pchan->pose_tail);
- project_short(vc->ar, vec, sco2);
+ project_int(vc->ar, vec, sco2);
if(lasso_inside_edge(mcords, moves, sco1[0], sco1[1], sco2[0], sco2[1])) {
if(select) pchan->bone->flag |= BONE_SELECTED;
@@ -386,7 +388,7 @@ static void object_deselect_all_visible(Scene *scene, View3D *v3d)
}
}
-static void do_lasso_select_objects(ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void do_lasso_select_objects(ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
Base *base;
@@ -409,7 +411,7 @@ static void do_lasso_select_objects(ViewContext *vc, short mcords[][2], short mo
}
}
-static void lasso_select_boundbox(rcti *rect, short mcords[][2], short moves)
+static void lasso_select_boundbox(rcti *rect, int mcords[][2], short moves)
{
short a;
@@ -426,7 +428,7 @@ static void lasso_select_boundbox(rcti *rect, short mcords[][2], short moves)
static void do_lasso_select_mesh__doSelectVert(void *userData, EditVert *eve, int x, int y, int UNUSED(index))
{
- struct { ViewContext vc; rcti *rect; short (*mcords)[2], moves, select, pass, done; } *data = userData;
+ struct { ViewContext vc; rcti *rect; int (*mcords)[2], moves, select, pass, done; } *data = userData;
if (BLI_in_rcti(data->rect, x, y) && lasso_inside(data->mcords, data->moves, x, y)) {
eve->f = data->select?(eve->f|1):(eve->f&~1);
@@ -434,7 +436,7 @@ static void do_lasso_select_mesh__doSelectVert(void *userData, EditVert *eve, in
}
static void do_lasso_select_mesh__doSelectEdge(void *userData, EditEdge *eed, int x0, int y0, int x1, int y1, int index)
{
- struct { ViewContext vc; rcti *rect; short (*mcords)[2], moves, select, pass, done; } *data = userData;
+ struct { ViewContext vc; rcti *rect; int (*mcords)[2], moves, select, pass, done; } *data = userData;
if (EM_check_backbuf(em_solidoffs+index)) {
if (data->pass==0) {
@@ -453,16 +455,16 @@ static void do_lasso_select_mesh__doSelectEdge(void *userData, EditEdge *eed, in
}
static void do_lasso_select_mesh__doSelectFace(void *userData, EditFace *efa, int x, int y, int UNUSED(index))
{
- struct { ViewContext vc; rcti *rect; short (*mcords)[2], moves, select, pass, done; } *data = userData;
+ struct { ViewContext vc; rcti *rect; int (*mcords)[2], moves, select, pass, done; } *data = userData;
if (BLI_in_rcti(data->rect, x, y) && lasso_inside(data->mcords, data->moves, x, y)) {
EM_select_face_fgon(data->vc.em, efa, data->select);
}
}
-static void do_lasso_select_mesh(ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
- struct { ViewContext vc; rcti *rect; short (*mcords)[2], moves, select, pass, done; } data;
+ struct { ViewContext vc; rcti *rect; int (*mcords)[2], moves, select, pass, done; } data;
ToolSettings *ts= vc->scene->toolsettings;
rcti rect;
int bbsel;
@@ -483,11 +485,8 @@ static void do_lasso_select_mesh(ViewContext *vc, short mcords[][2], short moves
if (extend == 0 && select)
EM_deselect_all(vc->em);
- /* workaround: init mats first, EM_mask_init_backbuf_border can change
- view matrix to pixel space, breaking edge select with backbuf. fixes bug [#20936] */
-
- /* [#21018] breaks zbuf select. run below. only if bbsel fails */
- /* ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d) */
+ /* for non zbuf projections, dont change the GL state */
+ ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
glLoadMatrixf(vc->rv3d->viewmat);
bbsel= EM_mask_init_backbuf_border(vc, mcords, moves, rect.xmin, rect.ymin, rect.xmax, rect.ymax);
@@ -495,15 +494,13 @@ static void do_lasso_select_mesh(ViewContext *vc, short mcords[][2], short moves
if(ts->selectmode & SCE_SELECT_VERTEX) {
if (bbsel) {
EM_backbuf_checkAndSelectVerts(vc->em, select);
- } else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */
+ }
+ else {
mesh_foreachScreenVert(vc, do_lasso_select_mesh__doSelectVert, &data, 1);
}
}
if(ts->selectmode & SCE_SELECT_EDGE) {
- /* Does both bbsel and non-bbsel versions (need screen cos for both) */
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */
-
+ /* Does both bbsel and non-bbsel versions (need screen cos for both) */
data.pass = 0;
mesh_foreachScreenEdge(vc, do_lasso_select_mesh__doSelectEdge, &data, 0);
@@ -516,8 +513,8 @@ static void do_lasso_select_mesh(ViewContext *vc, short mcords[][2], short moves
if(ts->selectmode & SCE_SELECT_FACE) {
if (bbsel) {
EM_backbuf_checkAndSelectFaces(vc->em, select);
- } else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */
+ }
+ else {
mesh_foreachScreenFace(vc, do_lasso_select_mesh__doSelectFace, &data);
}
}
@@ -528,7 +525,7 @@ static void do_lasso_select_mesh(ViewContext *vc, short mcords[][2], short moves
#if 0
/* this is an exception in that its the only lasso that dosnt use the 3d view (uses space image view) */
-static void do_lasso_select_mesh_uv(short mcords[][2], short moves, short select)
+static void do_lasso_select_mesh_uv(int mcords[][2], short moves, short select)
{
EditFace *efa;
MTFace *tf;
@@ -585,7 +582,7 @@ static void do_lasso_select_mesh_uv(short mcords[][2], short moves, short select
static void do_lasso_select_curve__doSelect(void *userData, Nurb *UNUSED(nu), BPoint *bp, BezTriple *bezt, int beztindex, int x, int y)
{
- struct { ViewContext *vc; short (*mcords)[2]; short moves; short select; } *data = userData;
+ struct { ViewContext *vc; int (*mcords)[2]; short moves; short select; } *data = userData;
Object *obedit= data->vc->obedit;
Curve *cu= (Curve*)obedit->data;
@@ -612,9 +609,9 @@ static void do_lasso_select_curve__doSelect(void *userData, Nurb *UNUSED(nu), BP
}
}
-static void do_lasso_select_curve(ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void do_lasso_select_curve(ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
- struct { ViewContext *vc; short (*mcords)[2]; short moves; short select; } data;
+ struct { ViewContext *vc; int (*mcords)[2]; short moves; short select; } data;
/* set vc->editnurb */
data.vc = vc;
@@ -631,15 +628,15 @@ static void do_lasso_select_curve(ViewContext *vc, short mcords[][2], short move
static void do_lasso_select_lattice__doSelect(void *userData, BPoint *bp, int x, int y)
{
- struct { short (*mcords)[2]; short moves; short select; } *data = userData;
+ struct { int (*mcords)[2]; short moves; short select; } *data = userData;
if (lasso_inside(data->mcords, data->moves, x, y)) {
bp->f1 = data->select?(bp->f1|SELECT):(bp->f1&~SELECT);
}
}
-static void do_lasso_select_lattice(ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void do_lasso_select_lattice(ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
- struct { short (*mcords)[2]; short moves; short select; } data;
+ struct { int (*mcords)[2]; short moves; short select; } data;
/* set editdata in vc */
data.mcords = mcords;
@@ -653,7 +650,7 @@ static void do_lasso_select_lattice(ViewContext *vc, short mcords[][2], short mo
lattice_foreachScreenVert(vc, do_lasso_select_lattice__doSelect, &data);
}
-static void do_lasso_select_armature(ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void do_lasso_select_armature(ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
bArmature *arm= vc->obedit->data;
EditBone *ebone;
@@ -705,7 +702,7 @@ static void do_lasso_select_armature(ViewContext *vc, short mcords[][2], short m
-static void do_lasso_select_meta(ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void do_lasso_select_meta(ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
MetaBall *mb = (MetaBall*)vc->obedit->data;
MetaElem *ml;
@@ -730,7 +727,7 @@ static void do_lasso_select_meta(ViewContext *vc, short mcords[][2], short moves
}
}
-static void do_lasso_select_paintface(ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void do_lasso_select_paintface(ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
Object *ob= vc->obact;
Mesh *me= ob?ob->data:NULL;
@@ -755,7 +752,7 @@ static void do_lasso_select_paintface(ViewContext *vc, short mcords[][2], short
}
#if 0
-static void do_lasso_select_node(short mcords[][2], short moves, short select)
+static void do_lasso_select_node(int mcords[][2], short moves, short select)
{
SpaceNode *snode = sa->spacedata.first;
@@ -785,7 +782,7 @@ static void do_lasso_select_node(short mcords[][2], short moves, short select)
}
#endif
-static void view3d_lasso_select(bContext *C, ViewContext *vc, short mcords[][2], short moves, short extend, short select)
+static void view3d_lasso_select(bContext *C, ViewContext *vc, int mcords[][2], short moves, short extend, short select)
{
Object *ob = CTX_data_active_object(C);
@@ -834,14 +831,14 @@ static int view3d_lasso_select_exec(bContext *C, wmOperator *op)
{
ViewContext vc;
int i= 0;
- short mcords[1024][2];
+ int mcords[1024][2];
RNA_BEGIN(op->ptr, itemptr, "path") {
float loc[2];
RNA_float_get_array(&itemptr, "loc", loc);
- mcords[i][0]= (short)loc[0];
- mcords[i][1]= (short)loc[1];
+ mcords[i][0]= (int)loc[0];
+ mcords[i][1]= (int)loc[1];
i++;
if(i>=1024) break;
}
@@ -873,6 +870,7 @@ void VIEW3D_OT_select_lasso(wmOperatorType *ot)
ot->modal= WM_gesture_lasso_modal;
ot->exec= view3d_lasso_select_exec;
ot->poll= view3d_selectable_data;
+ ot->cancel= WM_gesture_lasso_cancel;
/* flags */
ot->flag= OPTYPE_UNDO;
@@ -953,7 +951,7 @@ static void deselectall_except(Scene *scene, Base *b) /* deselect all except b
}
}
-static Base *mouse_select_menu(bContext *C, ViewContext *vc, unsigned int *buffer, int hits, const short mval[2], short extend)
+static Base *mouse_select_menu(bContext *C, ViewContext *vc, unsigned int *buffer, int hits, const int mval[2], short extend)
{
short baseCount = 0;
short ok;
@@ -1039,7 +1037,7 @@ static Base *mouse_select_menu(bContext *C, ViewContext *vc, unsigned int *buffe
/* we want a select buffer with bones, if there are... */
/* so check three selection levels and compare */
-static short mixed_bones_object_selectbuffer(ViewContext *vc, unsigned int *buffer, const short mval[2])
+static short mixed_bones_object_selectbuffer(ViewContext *vc, unsigned int *buffer, const int mval[2])
{
rcti rect;
int offs;
@@ -1096,12 +1094,12 @@ static short mixed_bones_object_selectbuffer(ViewContext *vc, unsigned int *buff
}
/* returns basact */
-static Base *mouse_select_eval_buffer(ViewContext *vc, unsigned int *buffer, int hits, const short mval[2], Base *startbase, int has_bones)
+static Base *mouse_select_eval_buffer(ViewContext *vc, unsigned int *buffer, int hits, const int mval[2], Base *startbase, int has_bones)
{
Scene *scene= vc->scene;
View3D *v3d= vc->v3d;
Base *base, *basact= NULL;
- static short lastmval[2]={-100, -100};
+ static int lastmval[2]={-100, -100};
int a, donearest= 0;
/* define if we use solid nearest select or not */
@@ -1189,7 +1187,7 @@ static Base *mouse_select_eval_buffer(ViewContext *vc, unsigned int *buffer, int
}
/* mval comes from event->mval, only use within region handlers */
-Base *ED_view3d_give_base_under_cursor(bContext *C, const short mval[2])
+Base *ED_view3d_give_base_under_cursor(bContext *C, const int mval[2])
{
ViewContext vc;
Base *basact= NULL;
@@ -1214,7 +1212,7 @@ Base *ED_view3d_give_base_under_cursor(bContext *C, const short mval[2])
}
/* mval is region coords */
-static int mouse_select(bContext *C, const short mval[2], short extend, short obcenter, short enumerate)
+static int mouse_select(bContext *C, const int mval[2], short extend, short obcenter, short enumerate)
{
ViewContext vc;
ARegion *ar= CTX_wm_region(C);
@@ -1232,7 +1230,7 @@ static int mouse_select(bContext *C, const short mval[2], short extend, short ob
startbase= FIRSTBASE;
if(BASACT && BASACT->next) startbase= BASACT->next;
- /* This block uses the control key to make the object selected by its center point rather then its contents */
+ /* This block uses the control key to make the object selected by its center point rather than its contents */
/* XXX later on, in editmode do not activate */
if(vc.obedit==NULL && obcenter) {
@@ -1488,12 +1486,8 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten
if (extend == 0 && select)
EM_deselect_all(vc->em);
- /* workaround: init mats first, EM_mask_init_backbuf_border can change
- view matrix to pixel space, breaking edge select with backbuf. fixes bug #20936 */
- /*ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);*/ /* for foreach's screen/vert projection */
-
- /* [#21018] breaks zbuf select. run below. only if bbsel fails */
- /* ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d) */
+ /* for non zbuf projections, dont change the GL state */
+ ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
glLoadMatrixf(vc->rv3d->viewmat);
bbsel= EM_init_backbuf_border(vc, rect->xmin, rect->ymin, rect->xmax, rect->ymax);
@@ -1502,7 +1496,6 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten
if (bbsel) {
EM_backbuf_checkAndSelectVerts(vc->em, select);
} else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
mesh_foreachScreenVert(vc, do_mesh_box_select__doSelectVert, &data, 1);
}
}
@@ -1522,7 +1515,6 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten
if(bbsel) {
EM_backbuf_checkAndSelectFaces(vc->em, select);
} else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
mesh_foreachScreenFace(vc, do_mesh_box_select__doSelectFace, &data);
}
}
@@ -1827,6 +1819,7 @@ void VIEW3D_OT_select_border(wmOperatorType *ot)
ot->exec= view3d_borderselect_exec;
ot->modal= WM_border_select_modal;
ot->poll= view3d_selectable_data;
+ ot->cancel= WM_border_select_cancel;
/* flags */
ot->flag= OPTYPE_UNDO;
@@ -1905,7 +1898,7 @@ void VIEW3D_OT_select(wmOperatorType *ot)
static void mesh_circle_doSelectVert(void *userData, EditVert *eve, int x, int y, int UNUSED(index))
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } *data = userData;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } *data = userData;
int mx = x - data->mval[0], my = y - data->mval[1];
float r = sqrt(mx*mx + my*my);
@@ -1915,7 +1908,7 @@ static void mesh_circle_doSelectVert(void *userData, EditVert *eve, int x, int y
}
static void mesh_circle_doSelectEdge(void *userData, EditEdge *eed, int x0, int y0, int x1, int y1, int UNUSED(index))
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } *data = userData;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } *data = userData;
if (edge_inside_circle(data->mval[0], data->mval[1], (short) data->radius, x0, y0, x1, y1)) {
EM_select_edge(eed, data->select);
@@ -1923,7 +1916,7 @@ static void mesh_circle_doSelectEdge(void *userData, EditEdge *eed, int x0, int
}
static void mesh_circle_doSelectFace(void *userData, EditFace *efa, int x, int y, int UNUSED(index))
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } *data = userData;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } *data = userData;
int mx = x - data->mval[0], my = y - data->mval[1];
float r = sqrt(mx*mx + my*my);
@@ -1932,11 +1925,11 @@ static void mesh_circle_doSelectFace(void *userData, EditFace *efa, int x, int y
}
}
-static void mesh_circle_select(ViewContext *vc, int select, const short mval[2], float rad)
+static void mesh_circle_select(ViewContext *vc, int select, const int mval[2], float rad)
{
ToolSettings *ts= vc->scene->toolsettings;
int bbsel;
- struct {ViewContext *vc; short select, mval[2]; float radius; } data;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } data;
bbsel= EM_init_backbuf_circle(vc, mval[0], mval[1], (short)(rad+1.0f));
ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */
@@ -1977,7 +1970,7 @@ static void mesh_circle_select(ViewContext *vc, int select, const short mval[2],
EM_selectmode_flush(vc->em);
}
-static void paint_facesel_circle_select(ViewContext *vc, int select, const short mval[2], float rad)
+static void paint_facesel_circle_select(ViewContext *vc, int select, const int mval[2], float rad)
{
Object *ob= vc->obact;
Mesh *me = ob?ob->data:NULL;
@@ -1995,7 +1988,7 @@ static void paint_facesel_circle_select(ViewContext *vc, int select, const short
static void nurbscurve_circle_doSelect(void *userData, Nurb *UNUSED(nu), BPoint *bp, BezTriple *bezt, int beztindex, int x, int y)
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } *data = userData;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } *data = userData;
int mx = x - data->mval[0], my = y - data->mval[1];
float r = sqrt(mx*mx + my*my);
Object *obedit= data->vc->obedit;
@@ -2024,9 +2017,9 @@ static void nurbscurve_circle_doSelect(void *userData, Nurb *UNUSED(nu), BPoint
}
}
}
-static void nurbscurve_circle_select(ViewContext *vc, int select, const short mval[2], float rad)
+static void nurbscurve_circle_select(ViewContext *vc, int select, const int mval[2], float rad)
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } data;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } data;
/* set vc-> edit data */
@@ -2043,7 +2036,7 @@ static void nurbscurve_circle_select(ViewContext *vc, int select, const short mv
static void latticecurve_circle_doSelect(void *userData, BPoint *bp, int x, int y)
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } *data = userData;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } *data = userData;
int mx = x - data->mval[0], my = y - data->mval[1];
float r = sqrt(mx*mx + my*my);
@@ -2051,9 +2044,9 @@ static void latticecurve_circle_doSelect(void *userData, BPoint *bp, int x, int
bp->f1 = data->select?(bp->f1|SELECT):(bp->f1&~SELECT);
}
}
-static void lattice_circle_select(ViewContext *vc, int select, const short mval[2], float rad)
+static void lattice_circle_select(ViewContext *vc, int select, const int mval[2], float rad)
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } data;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } data;
/* set vc-> edit data */
@@ -2070,7 +2063,7 @@ static void lattice_circle_select(ViewContext *vc, int select, const short mval[
// NOTE: pose-bone case is copied from editbone case...
static short pchan_circle_doSelectJoint(void *userData, bPoseChannel *pchan, int x, int y)
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } *data = userData;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } *data = userData;
int mx = x - data->mval[0], my = y - data->mval[1];
float r = sqrt(mx*mx + my*my);
@@ -2083,9 +2076,9 @@ static short pchan_circle_doSelectJoint(void *userData, bPoseChannel *pchan, int
}
return 0;
}
-static void pose_circle_select(ViewContext *vc, int select, const short mval[2], float rad)
+static void pose_circle_select(ViewContext *vc, int select, const int mval[2], float rad)
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } data;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } data;
bPose *pose = vc->obact->pose;
bPoseChannel *pchan;
int change= FALSE;
@@ -2130,7 +2123,7 @@ static void pose_circle_select(ViewContext *vc, int select, const short mval[2],
static short armature_circle_doSelectJoint(void *userData, EditBone *ebone, int x, int y, short head)
{
- struct {ViewContext *vc; short select, mval[2]; float radius; } *data = userData;
+ struct {ViewContext *vc; short select; int mval[2]; float radius; } *data = userData;
int mx = x - data->mval[0], my = y - data->mval[1];
float r = sqrt(mx*mx + my*my);
@@ -2151,7 +2144,7 @@ static short armature_circle_doSelectJoint(void *userData, EditBone *ebone, int
}
return 0;
}
-static void armature_circle_select(ViewContext *vc, int select, const short mval[2], float rad)
+static void armature_circle_select(ViewContext *vc, int select, const int mval[2], float rad)
{
struct {ViewContext *vc; short select, mval[2]; float radius; } data;
bArmature *arm= vc->obedit->data;
@@ -2210,7 +2203,7 @@ static void armature_circle_select(ViewContext *vc, int select, const short mval
/** Callbacks for circle selection in Editmode */
-static void obedit_circle_select(ViewContext *vc, short select, const short mval[2], float rad)
+static void obedit_circle_select(ViewContext *vc, short select, const int mval[2], float rad)
{
switch(vc->obedit->type) {
case OB_MESH:
@@ -2251,7 +2244,7 @@ static int view3d_circle_select_exec(bContext *C, wmOperator *op)
(obact && (obact->mode & (OB_MODE_PARTICLE_EDIT|OB_MODE_POSE))) )
{
ViewContext vc;
- short mval[2];
+ int mval[2];
view3d_operator_needs_opengl(C);
@@ -2306,6 +2299,7 @@ void VIEW3D_OT_select_circle(wmOperatorType *ot)
ot->modal= WM_gesture_circle_modal;
ot->exec= view3d_circle_select_exec;
ot->poll= view3d_selectable_data;
+ ot->cancel= WM_gesture_circle_cancel;
/* flags */
ot->flag= OPTYPE_UNDO;
diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c
index a3d42aa5579..b4d2fc22143 100644
--- a/source/blender/editors/space_view3d/view3d_snap.c
+++ b/source/blender/editors/space_view3d/view3d_snap.c
@@ -70,6 +70,7 @@
#include "view3d_intern.h"
+extern float originmat[3][3]; /* XXX object.c */
/* ************************************************** */
/* ********************* old transform stuff ******** */
@@ -451,7 +452,6 @@ static void make_trans_verts(Object *obedit, float *min, float *max, int mode)
static int snap_sel_to_grid(bContext *C, wmOperator *UNUSED(op))
{
- extern float originmat[3][3]; /* XXX object.c */
Main *bmain= CTX_data_main(C);
Object *obedit= CTX_data_edit_object(C);
Scene *scene= CTX_data_scene(C);
@@ -588,7 +588,6 @@ void VIEW3D_OT_snap_selected_to_grid(wmOperatorType *ot)
static int snap_sel_to_curs(bContext *C, wmOperator *UNUSED(op))
{
- extern float originmat[3][3]; /* XXX object.c */
Main *bmain= CTX_data_main(C);
Object *obedit= CTX_data_edit_object(C);
Scene *scene= CTX_data_scene(C);
diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c
index 7fad19f16a6..2e96800bf3b 100644
--- a/source/blender/editors/space_view3d/view3d_toolbar.c
+++ b/source/blender/editors/space_view3d/view3d_toolbar.c
@@ -69,19 +69,6 @@
/* ******************* view3d space & buttons ************** */
-static wmOperator *view3d_last_operator(const bContext *C)
-{
- wmWindowManager *wm= CTX_wm_manager(C);
- wmOperator *op;
-
- /* only for operators that are registered and did an undo push */
- for(op= wm->operators.last; op; op= op->prev)
- if((op->type->flag & OPTYPE_REGISTER) && (op->type->flag & OPTYPE_UNDO))
- break;
-
- return op;
-}
-
static void view3d_panel_operator_redo_buts(const bContext *C, Panel *pa, wmOperator *op)
{
uiLayoutOperatorButs(C, pa->layout, op, NULL, 'V', 0);
@@ -89,7 +76,7 @@ static void view3d_panel_operator_redo_buts(const bContext *C, Panel *pa, wmOper
static void view3d_panel_operator_redo_header(const bContext *C, Panel *pa)
{
- wmOperator *op= view3d_last_operator(C);
+ wmOperator *op= WM_operator_last_redo(C);
if(op) BLI_strncpy(pa->drawname, op->type->name, sizeof(pa->drawname));
else BLI_strncpy(pa->drawname, "Operator", sizeof(pa->drawname));
@@ -110,7 +97,7 @@ static void view3d_panel_operator_redo_operator(const bContext *C, Panel *pa, wm
static void view3d_panel_operator_redo(const bContext *C, Panel *pa)
{
- wmOperator *op= view3d_last_operator(C);
+ wmOperator *op= WM_operator_last_redo(C);
uiBlock *block;
if(op==NULL)
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index b46c7236170..eeaf87757ce 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -32,9 +32,9 @@
#include "DNA_camera_types.h"
-#include "DNA_lamp_types.h"
#include "DNA_scene_types.h"
#include "DNA_object_types.h"
+#include "DNA_lamp_types.h"
#include "MEM_guardedalloc.h"
@@ -52,6 +52,7 @@
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_screen.h"
#include "BIF_gl.h"
#include "BIF_glutil.h"
@@ -105,7 +106,7 @@ float *give_cursor(Scene *scene, View3D *v3d)
/* Gets the lens and clipping values from a camera of lamp type object */
-static void object_lens_clip_settings(Object *ob, float *lens, float *clipsta, float *clipend)
+void ED_view3d_ob_clip_range_get(Object *ob, float *lens, float *clipsta, float *clipend)
{
if(ob->type==OB_LAMP ) {
Lamp *la = ob->data;
@@ -129,51 +130,6 @@ static void object_lens_clip_settings(Object *ob, float *lens, float *clipsta, f
}
}
-
-/* Gets the view trasnformation from a camera
-* currently dosnt take camzoom into account
-*
-* The dist is not modified for this function, if NULL its assimed zero
-* */
-void view3d_apply_mat4(float mat[][4], float *ofs, float *quat, float *dist)
-{
- /* Offset */
- if (ofs)
- negate_v3_v3(ofs, mat[3]);
-
- /* Quat */
- if (quat) {
- float imat[4][4];
- invert_m4_m4(imat, mat);
- mat4_to_quat(quat, imat);
- }
-
- if (dist) {
- float nmat[3][3];
- float vec[3];
-
- vec[0]= 0.0f;
- vec[1]= 0.0f;
- vec[2]= -(*dist);
-
- copy_m3_m4(nmat, mat);
- normalize_m3(nmat);
-
- mul_m3_v3(nmat, vec);;
- sub_v3_v3(ofs, vec);
- }
-}
-
-void view3d_apply_ob(Object *ob, float *ofs, float *quat, float *dist, float *lens)
-{
- view3d_apply_mat4(ob->obmat, ofs, quat, dist);
-
- if (lens) {
- object_lens_clip_settings(ob, lens, NULL, NULL);
- }
-}
-
-
/* ****************** smooth view operator ****************** */
/* This operator is one of the 'timer refresh' ones like animation playback */
@@ -206,7 +162,19 @@ void smooth_view(bContext *C, View3D *v3d, ARegion *ar, Object *oldcamera, Objec
sms.new_dist= rv3d->dist;
sms.new_lens= v3d->lens;
sms.to_camera= 0;
-
+
+ /* note on camera locking, this is a little confusing but works ok.
+ * we may be changing the view 'as if' there is no active camera, but infact
+ * there is an active camera which is locked to the view.
+ *
+ * In the case where smooth view is moving _to_ a camera we dont want that
+ * camera to be moved or changed, so only when the camera is not being set should
+ * we allow camera option locking to initialize the view settings from the camera.
+ */
+ if(camera == NULL && oldcamera == NULL) {
+ ED_view3d_camera_lock_init(v3d, rv3d);
+ }
+
/* store the options we want to end with */
if(ofs) copy_v3_v3(sms.new_ofs, ofs);
if(quat) copy_qt_qt(sms.new_quat, quat);
@@ -214,7 +182,7 @@ void smooth_view(bContext *C, View3D *v3d, ARegion *ar, Object *oldcamera, Objec
if(lens) sms.new_lens= *lens;
if (camera) {
- view3d_apply_ob(camera, sms.new_ofs, sms.new_quat, &sms.new_dist, &sms.new_lens);
+ ED_view3d_from_object(camera, sms.new_ofs, sms.new_quat, &sms.new_dist, &sms.new_lens);
sms.to_camera= 1; /* restore view3d values in end */
}
@@ -239,7 +207,7 @@ void smooth_view(bContext *C, View3D *v3d, ARegion *ar, Object *oldcamera, Objec
/* original values */
if (oldcamera) {
sms.orig_dist= rv3d->dist; // below function does weird stuff with it...
- view3d_apply_ob(oldcamera, sms.orig_ofs, sms.orig_quat, &sms.orig_dist, &sms.orig_lens);
+ ED_view3d_from_object(oldcamera, sms.orig_ofs, sms.orig_quat, &sms.orig_dist, &sms.orig_lens);
}
else {
copy_v3_v3(sms.orig_ofs, rv3d->ofs);
@@ -251,7 +219,7 @@ void smooth_view(bContext *C, View3D *v3d, ARegion *ar, Object *oldcamera, Objec
if((rv3d->viewlock & RV3D_LOCKED)==0) {
/* use existing if exists, means multiple calls to smooth view wont loose the original 'view' setting */
sms.orig_view= rv3d->sms ? rv3d->sms->orig_view : rv3d->view;
- rv3d->view= 0;
+ rv3d->view= RV3D_VIEW_USER;
}
sms.time_allowed= (double)U.smooth_viewtx / 1000.0;
@@ -341,6 +309,8 @@ static int view3d_smoothview_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent
copy_qt_qt(rv3d->viewquat, sms->new_quat);
rv3d->dist = sms->new_dist;
v3d->lens = sms->new_lens;
+
+ ED_view3d_camera_lock_sync(v3d, rv3d);
}
if((rv3d->viewlock & RV3D_LOCKED)==0) {
@@ -370,6 +340,8 @@ static int view3d_smoothview_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent
rv3d->dist = sms->new_dist * step + sms->orig_dist*step_inv;
v3d->lens = sms->new_lens * step + sms->orig_lens*step_inv;
+
+ ED_view3d_camera_lock_sync(v3d, rv3d);
}
if(rv3d->viewlock & RV3D_BOXVIEW)
@@ -396,25 +368,6 @@ void VIEW3D_OT_smoothview(wmOperatorType *ot)
/* ****************** change view operators ****************** */
-static void setcameratoview3d(RegionView3D *rv3d, Object *ob)
-{
- float dvec[3];
- float mat3[3][3];
-
- mul_v3_v3fl(dvec, rv3d->viewinv[2], rv3d->dist);
- sub_v3_v3v3(ob->loc, dvec, rv3d->ofs);
- rv3d->viewquat[0]= -rv3d->viewquat[0];
-
- // quat_to_eul( ob->rot,rv3d->viewquat); // in 2.4x for xyz eulers only
- quat_to_mat3(mat3, rv3d->viewquat);
- object_mat3_to_rot(ob, mat3, 0);
-
- rv3d->viewquat[0]= -rv3d->viewquat[0];
-
- ob->recalc= OB_RECALC_OB;
-}
-
-
static int view3d_setcameratoview_exec(bContext *C, wmOperator *UNUSED(op))
{
View3D *v3d = CTX_wm_view3d(C);
@@ -426,7 +379,7 @@ static int view3d_setcameratoview_exec(bContext *C, wmOperator *UNUSED(op))
rv3d->lpersp= rv3d->persp;
}
- setcameratoview3d(rv3d, v3d->camera);
+ ED_view3d_to_object(v3d->camera, rv3d->ofs, rv3d->viewquat, rv3d->dist);
DAG_id_tag_update(&v3d->camera->id, OB_RECALC_OB);
rv3d->persp = RV3D_CAMOB;
@@ -438,12 +391,15 @@ static int view3d_setcameratoview_exec(bContext *C, wmOperator *UNUSED(op))
static int view3d_setcameratoview_poll(bContext *C)
{
- View3D *v3d = CTX_wm_view3d(C);
- RegionView3D *rv3d= CTX_wm_region_view3d(C);
+ View3D *v3d= CTX_wm_view3d(C);
+ if(v3d && v3d->camera && v3d->camera->id.lib==NULL) {
+ RegionView3D *rv3d= CTX_wm_region_view3d(C);
+ if(rv3d && !rv3d->viewlock) {
+ return 1;
+ }
+ }
- if (v3d==NULL || v3d->camera==NULL) return 0;
- if (rv3d && rv3d->viewlock != 0) return 0;
- return 1;
+ return 0;
}
void VIEW3D_OT_setcameratoview(wmOperatorType *ot)
@@ -510,10 +466,11 @@ void VIEW3D_OT_object_as_camera(wmOperatorType *ot)
/* ********************************** */
-void view3d_calculate_clipping(BoundBox *bb, float planes[4][4], bglMats *mats, rcti *rect)
+void ED_view3d_calc_clipping(BoundBox *bb, float planes[4][4], bglMats *mats, rcti *rect)
{
+ float modelview[4][4];
double xs, ys, p[3];
- short val;
+ int val, flip_sign, a;
/* near zero floating point values can give issues with gluUnProject
in side view on some implementations */
@@ -537,11 +494,21 @@ void view3d_calculate_clipping(BoundBox *bb, float planes[4][4], bglMats *mats,
VECCOPY(bb->vec[4+val], p);
}
+ /* verify if we have negative scale. doing the transform before cross
+ product flips the sign of the vector compared to doing cross product
+ before transform then, so we correct for that. */
+ for(a=0; a<16; a++)
+ ((float*)modelview)[a] = mats->modelview[a];
+ flip_sign = is_negative_m4(modelview);
+
/* then plane equations */
for(val=0; val<4; val++) {
normal_tri_v3(planes[val], bb->vec[val], bb->vec[val==3?0:val+1], bb->vec[val+4]);
+ if(flip_sign)
+ negate_v3(planes[val]);
+
planes[val][3]= - planes[val][0]*bb->vec[val][0]
- planes[val][1]*bb->vec[val][1]
- planes[val][2]*bb->vec[val][2];
@@ -549,29 +516,20 @@ void view3d_calculate_clipping(BoundBox *bb, float planes[4][4], bglMats *mats,
}
/* create intersection coordinates in view Z direction at mouse coordinates */
-void viewline(ARegion *ar, View3D *v3d, float mval[2], float ray_start[3], float ray_end[3])
+void ED_view3d_win_to_segment_clip(ARegion *ar, View3D *v3d, const float mval[2], float ray_start[3], float ray_end[3])
{
RegionView3D *rv3d= ar->regiondata;
- float vec[4];
- int a;
-
- if(!get_view3d_ortho(v3d, rv3d)) {
- vec[0]= 2.0f * mval[0] / ar->winx - 1;
- vec[1]= 2.0f * mval[1] / ar->winy - 1;
- vec[2]= -1.0f;
- vec[3]= 1.0f;
-
- mul_m4_v4(rv3d->persinv, vec);
- mul_v3_fl(vec, 1.0f / vec[3]);
-
+
+ if(rv3d->is_persp) {
+ float vec[3];
+ ED_view3d_win_to_vector(ar, mval, vec);
+
copy_v3_v3(ray_start, rv3d->viewinv[3]);
- sub_v3_v3(vec, ray_start);
- normalize_v3(vec);
-
VECADDFAC(ray_start, rv3d->viewinv[3], vec, v3d->near);
VECADDFAC(ray_end, rv3d->viewinv[3], vec, v3d->far);
}
else {
+ float vec[4];
vec[0] = 2.0f * mval[0] / ar->winx - 1;
vec[1] = 2.0f * mval[1] / ar->winy - 1;
vec[2] = 0.0f;
@@ -584,25 +542,27 @@ void viewline(ARegion *ar, View3D *v3d, float mval[2], float ray_start[3], float
}
/* clipping */
- if(rv3d->rflag & RV3D_CLIPPING)
- for(a=0; a<4; a++)
+ if(rv3d->rflag & RV3D_CLIPPING) {
+ int a;
+ for(a=0; a<4; a++) {
clip_line_plane(ray_start, ray_end, rv3d->clip[a]);
+ }
+ }
}
/* create intersection ray in view Z direction at mouse coordinates */
-void viewray(ARegion *ar, View3D *v3d, float mval[2], float ray_start[3], float ray_normal[3])
+void ED_view3d_win_to_ray(ARegion *ar, View3D *v3d, const float mval[2], float ray_start[3], float ray_normal[3])
{
float ray_end[3];
- viewline(ar, v3d, mval, ray_start, ray_end);
+ ED_view3d_win_to_segment_clip(ar, v3d, mval, ray_start, ray_end);
sub_v3_v3v3(ray_normal, ray_end, ray_start);
normalize_v3(ray_normal);
}
-void viewvector(RegionView3D *rv3d, float coord[3], float vec[3])
+void ED_view3d_global_to_vector(RegionView3D *rv3d, const float coord[3], float vec[3])
{
- if (rv3d->persp != RV3D_ORTHO)
- {
+ if (rv3d->is_persp) {
float p1[4], p2[4];
copy_v3_v3(p1, coord);
@@ -646,32 +606,45 @@ int initgrabz(RegionView3D *rv3d, float x, float y, float z)
return flip;
}
-/* always call initgrabz */
-void window_to_3d(ARegion *ar, float out[3], short mx, short my)
+void ED_view3d_win_to_3d(ARegion *ar, const float depth_pt[3], const float mval[2], float out[3])
{
RegionView3D *rv3d= ar->regiondata;
- float dx= ((float)(mx-(ar->winx/2)))*rv3d->zfac/(ar->winx/2);
- float dy= ((float)(my-(ar->winy/2)))*rv3d->zfac/(ar->winy/2);
-
- float fz= rv3d->persmat[0][3]*out[0]+ rv3d->persmat[1][3]*out[1]+ rv3d->persmat[2][3]*out[2]+ rv3d->persmat[3][3];
- fz= fz/rv3d->zfac;
-
- out[0]= (rv3d->persinv[0][0]*dx + rv3d->persinv[1][0]*dy+ rv3d->persinv[2][0]*fz)-rv3d->ofs[0];
- out[1]= (rv3d->persinv[0][1]*dx + rv3d->persinv[1][1]*dy+ rv3d->persinv[2][1]*fz)-rv3d->ofs[1];
- out[2]= (rv3d->persinv[0][2]*dx + rv3d->persinv[1][2]*dy+ rv3d->persinv[2][2]*fz)-rv3d->ofs[2];
-
+ float line_sta[3];
+ float line_end[3];
+
+ if(rv3d->is_persp) {
+ float mousevec[3];
+ copy_v3_v3(line_sta, rv3d->viewinv[3]);
+ ED_view3d_win_to_vector(ar, mval, mousevec);
+ add_v3_v3v3(line_end, line_sta, mousevec);
+
+ if(isect_line_plane_v3(out, line_sta, line_end, depth_pt, rv3d->viewinv[2], TRUE) == 0) {
+ /* highly unlikely to ever happen, mouse vec paralelle with view plane */
+ zero_v3(out);
+ }
+ }
+ else {
+ const float dx= (2.0f * mval[0] / (float)ar->winx) - 1.0f;
+ const float dy= (2.0f * mval[1] / (float)ar->winy) - 1.0f;
+ line_sta[0]= (rv3d->persinv[0][0] * dx) + (rv3d->persinv[1][0] * dy) + rv3d->viewinv[3][0];
+ line_sta[1]= (rv3d->persinv[0][1] * dx) + (rv3d->persinv[1][1] * dy) + rv3d->viewinv[3][1];
+ line_sta[2]= (rv3d->persinv[0][2] * dx) + (rv3d->persinv[1][2] * dy) + rv3d->viewinv[3][2];
+
+ add_v3_v3v3(line_end, line_sta, rv3d->viewinv[2]);
+ closest_to_line_v3(out, depth_pt, line_sta, line_end);
+ }
}
/* always call initgrabz */
/* only to detect delta motion */
-void window_to_3d_delta(ARegion *ar, float out[3], short mx, short my)
+void ED_view3d_win_to_delta(ARegion *ar, const float mval[2], float out[3])
{
RegionView3D *rv3d= ar->regiondata;
float dx, dy;
- dx= 2.0f*mx*rv3d->zfac/ar->winx;
- dy= 2.0f*my*rv3d->zfac/ar->winy;
+ dx= 2.0f*mval[0]*rv3d->zfac/ar->winx;
+ dy= 2.0f*mval[1]*rv3d->zfac/ar->winy;
out[0]= (rv3d->persinv[0][0]*dx + rv3d->persinv[1][0]*dy);
out[1]= (rv3d->persinv[0][1]*dx + rv3d->persinv[1][1]*dy);
@@ -681,26 +654,24 @@ void window_to_3d_delta(ARegion *ar, float out[3], short mx, short my)
/* doesn't rely on initgrabz */
/* for perspective view, get the vector direction to
* the mouse cursor as a normalized vector */
-void window_to_3d_vector(ARegion *ar, float out[3], short mx, short my)
+void ED_view3d_win_to_vector(ARegion *ar, const float mval[2], float out[3])
{
RegionView3D *rv3d= ar->regiondata;
- float dx, dy;
- float viewvec[3];
-
- dx= 2.0f*mx/ar->winx;
- dy= 2.0f*my/ar->winy;
-
- /* normalize here so vecs are proportional to eachother */
- normalize_v3_v3(viewvec, rv3d->viewinv[2]);
-
- out[0]= viewvec[0] - (rv3d->persinv[0][0]*dx + rv3d->persinv[1][0]*dy);
- out[1]= viewvec[1] - (rv3d->persinv[0][1]*dx + rv3d->persinv[1][1]*dy);
- out[2]= viewvec[2] - (rv3d->persinv[0][2]*dx + rv3d->persinv[1][2]*dy);
+ if(rv3d->is_persp) {
+ out[0]= 2.0f * (mval[0] / ar->winx) - 1.0f;
+ out[1]= 2.0f * (mval[1] / ar->winy) - 1.0f;
+ out[2]= -0.5f;
+ mul_project_m4_v3(rv3d->persinv, out);
+ sub_v3_v3(out, rv3d->viewinv[3]);
+ }
+ else {
+ copy_v3_v3(out, rv3d->viewinv[2]);
+ }
normalize_v3(out);
}
-float read_cached_depth(ViewContext *vc, int x, int y)
+float ED_view3d_depth_read_cached(ViewContext *vc, int x, int y)
{
ViewDepths *vd = vc->rv3d->depths;
@@ -713,13 +684,13 @@ float read_cached_depth(ViewContext *vc, int x, int y)
return 1;
}
-void request_depth_update(RegionView3D *rv3d)
+void ED_view3d_depth_tag_update(RegionView3D *rv3d)
{
if(rv3d->depths)
rv3d->depths->damaged= 1;
}
-void view3d_get_object_project_mat(RegionView3D *rv3d, Object *ob, float pmat[4][4])
+void ED_view3d_ob_project_mat_get(RegionView3D *rv3d, Object *ob, float pmat[4][4])
{
float vmat[4][4];
@@ -727,6 +698,7 @@ void view3d_get_object_project_mat(RegionView3D *rv3d, Object *ob, float pmat[4]
mul_m4_m4m4(pmat, vmat, rv3d->winmat);
}
+#if 0
/* Uses window coordinates (x,y) and depth component z to find a point in
modelspace */
void view3d_unproject(bglMats *mats, float out[3], const short x, const short y, const float z)
@@ -739,9 +711,10 @@ void view3d_unproject(bglMats *mats, float out[3], const short x, const short y,
out[1] = uy;
out[2] = uz;
}
+#endif
/* use above call to get projecting mat */
-void view3d_project_float(ARegion *ar, const float vec[3], float adr[2], float mat[4][4])
+void ED_view3d_project_float(ARegion *ar, const float vec[3], float adr[2], float mat[4][4])
{
float vec4[4];
@@ -759,7 +732,7 @@ void view3d_project_float(ARegion *ar, const float vec[3], float adr[2], float m
}
}
-int boundbox_clip(RegionView3D *rv3d, float obmat[][4], BoundBox *bb)
+int ED_view3d_boundbox_clip(RegionView3D *rv3d, float obmat[][4], BoundBox *bb)
{
/* return 1: draw */
@@ -802,7 +775,7 @@ void project_short(ARegion *ar, const float vec[3], short adr[2]) /* clips */
adr[0]= IS_CLIPPED;
if(rv3d->rflag & RV3D_CLIPPING) {
- if(view3d_test_clipping(rv3d, vec, 0))
+ if(ED_view3d_test_clipping(rv3d, vec, 0))
return;
}
@@ -938,31 +911,8 @@ void project_float_noclip(ARegion *ar, const float vec[3], float adr[2])
}
}
-int get_view3d_ortho(View3D *v3d, RegionView3D *rv3d)
-{
- Camera *cam;
-
- if(rv3d->persp==RV3D_CAMOB) {
- if(v3d->camera && v3d->camera->type==OB_CAMERA) {
- cam= v3d->camera->data;
-
- if(cam && cam->type==CAM_ORTHO)
- return 1;
- else
- return 0;
- }
- else
- return 0;
- }
-
- if(rv3d->persp==RV3D_ORTHO)
- return 1;
-
- return 0;
-}
-
/* copies logic of get_view3d_viewplane(), keep in sync */
-int get_view3d_cliprange(View3D *v3d, RegionView3D *rv3d, float *clipsta, float *clipend)
+int ED_view3d_clip_range_get(View3D *v3d, RegionView3D *rv3d, float *clipsta, float *clipend)
{
int orth= 0;
@@ -997,7 +947,7 @@ int get_view3d_cliprange(View3D *v3d, RegionView3D *rv3d, float *clipsta, float
}
/* also exposed in previewrender.c */
-int get_view3d_viewplane(View3D *v3d, RegionView3D *rv3d, int winxi, int winyi, rctf *viewplane, float *clipsta, float *clipend, float *pixsize)
+int ED_view3d_viewplane_get(View3D *v3d, RegionView3D *rv3d, int winxi, int winyi, rctf *viewplane, float *clipsta, float *clipend, float *pixsize)
{
Camera *cam=NULL;
float lens, fac, x1, y1, x2, y2;
@@ -1048,10 +998,11 @@ int get_view3d_viewplane(View3D *v3d, RegionView3D *rv3d, int winxi, int winyi,
else {
/* fac for zoom, also used for camdx */
if(rv3d->persp==RV3D_CAMOB) {
- fac= (1.41421f + ( (float)rv3d->camzoom )/50.0f);
- fac*= fac;
+ fac= BKE_screen_view3d_zoom_to_fac((float)rv3d->camzoom) * 4.0f;
+ }
+ else {
+ fac= 2.0;
}
- else fac= 2.0;
/* viewplane size depends... */
if(cam && cam->type==CAM_ORTHO) {
@@ -1129,7 +1080,9 @@ void setwinmatrixview3d(ARegion *ar, View3D *v3d, rctf *rect) /* rect: for pick
float clipsta, clipend, x1, y1, x2, y2;
int orth;
- orth= get_view3d_viewplane(v3d, rv3d, ar->winx, ar->winy, &viewplane, &clipsta, &clipend, NULL);
+ orth= ED_view3d_viewplane_get(v3d, rv3d, ar->winx, ar->winy, &viewplane, &clipsta, &clipend, NULL);
+ rv3d->is_persp= !orth;
+
// printf("%d %d %f %f %f %f %f %f\n", winx, winy, viewplane.xmin, viewplane.ymin, viewplane.xmax, viewplane.ymax, clipsta, clipend);
x1= viewplane.xmin;
y1= viewplane.ymin;
@@ -1164,7 +1117,7 @@ static void obmat_to_viewmat(View3D *v3d, RegionView3D *rv3d, Object *ob, short
float bmat[4][4];
float tmat[3][3];
- rv3d->view= 0; /* dont show the grid */
+ rv3d->view= RV3D_VIEW_USER; /* dont show the grid */
copy_m4_m4(bmat, ob->obmat);
normalize_m4(bmat);
@@ -1188,7 +1141,7 @@ static void obmat_to_viewmat(View3D *v3d, RegionView3D *rv3d, Object *ob, short
rv3d->persp=RV3D_PERSP;
rv3d->dist= 0.0;
- view3d_apply_ob(v3d->camera, rv3d->ofs, NULL, NULL, &v3d->lens);
+ ED_view3d_from_object(v3d->camera, rv3d->ofs, NULL, NULL, &v3d->lens);
smooth_view(NULL, NULL, NULL, NULL, NULL, orig_ofs, new_quat, &orig_dist, &orig_lens); // XXX
rv3d->persp=RV3D_CAMOB; /* just to be polite, not needed */
@@ -1618,7 +1571,7 @@ static void restore_localviewdata(ScrArea *sa, int free)
}
}
-static void endlocalview(Scene *scene, ScrArea *sa)
+static void endlocalview(Main *bmain, Scene *scene, ScrArea *sa)
{
View3D *v3d= sa->spacedata.first;
struct Base *base;
@@ -1644,6 +1597,8 @@ static void endlocalview(Scene *scene, ScrArea *sa)
base->object->lay= base->lay;
}
}
+
+ DAG_on_visible_update(bmain, FALSE);
}
}
@@ -1652,7 +1607,7 @@ static int localview_exec(bContext *C, wmOperator *UNUSED(unused))
View3D *v3d= CTX_wm_view3d(C);
if(v3d->localvd)
- endlocalview(CTX_data_scene(C), CTX_wm_area(C));
+ endlocalview(CTX_data_main(C), CTX_data_scene(C), CTX_wm_area(C));
else
initlocalview(CTX_data_main(C), CTX_data_scene(C), CTX_wm_area(C));
@@ -1838,7 +1793,7 @@ static int game_engine_exec(bContext *C, wmOperator *op)
if(rv3d->persp==RV3D_CAMOB && startscene->gm.framing.type == SCE_GAMEFRAMING_BARS && startscene->gm.stereoflag != STEREO_DOME) { /* Letterbox */
rctf cam_framef;
- view3d_calc_camera_border(startscene, ar, rv3d, CTX_wm_view3d(C), &cam_framef, FALSE);
+ ED_view3d_calc_camera_border(startscene, ar, CTX_wm_view3d(C), rv3d, &cam_framef, FALSE);
cam_frame.xmin = cam_framef.xmin + ar->winrct.xmin;
cam_frame.xmax = cam_framef.xmax + ar->winrct.xmin;
cam_frame.ymin = cam_framef.ymin + ar->winrct.ymin;
@@ -1917,7 +1872,7 @@ void view3d_align_axis_to_vector(View3D *v3d, RegionView3D *rv3d, int axisidx, f
cross_v3_v3v3(axis, alignaxis, norm);
axis_angle_to_quat( new_quat,axis, -angle);
- rv3d->view= 0;
+ rv3d->view= RV3D_VIEW_USER;
if (rv3d->persp==RV3D_CAMOB && v3d->camera) {
/* switch out of camera view */
@@ -1928,7 +1883,7 @@ void view3d_align_axis_to_vector(View3D *v3d, RegionView3D *rv3d, int axisidx, f
copy_v3_v3(orig_ofs, rv3d->ofs);
rv3d->persp= RV3D_PERSP;
rv3d->dist= 0.0;
- view3d_apply_ob(v3d->camera, rv3d->ofs, NULL, NULL, &v3d->lens);
+ ED_view3d_from_object(v3d->camera, rv3d->ofs, NULL, NULL, &v3d->lens);
smooth_view(NULL, NULL, NULL, NULL, NULL, orig_ofs, new_quat, &orig_dist, &orig_lens); // XXX
} else {
if (rv3d->persp==RV3D_CAMOB) rv3d->persp= RV3D_PERSP; /* switch out of camera mode */
@@ -1936,12 +1891,7 @@ void view3d_align_axis_to_vector(View3D *v3d, RegionView3D *rv3d, int axisidx, f
}
}
-int view3d_is_ortho(View3D *v3d, RegionView3D *rv3d)
-{
- return (rv3d->persp == RV3D_ORTHO || (v3d->camera && ((Camera *)v3d->camera->data)->type == CAM_ORTHO));
-}
-
-float view3d_pixel_size(struct RegionView3D *rv3d, const float co[3])
+float ED_view3d_pixel_size(struct RegionView3D *rv3d, const float co[3])
{
return (rv3d->persmat[3][3] + (
rv3d->persmat[0][3]*co[0] +
diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt
index 1455dc789c7..283b09f42e4 100644
--- a/source/blender/editors/transform/CMakeLists.txt
+++ b/source/blender/editors/transform/CMakeLists.txt
@@ -22,12 +22,15 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -46,4 +49,4 @@ set(SRC
transform.h
)
-blender_add_lib(bf_editor_transform "${SRC}" "${INC}")
+blender_add_lib(bf_editor_transform "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 614b048e0b8..eea77e36f7c 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -120,12 +120,14 @@ void setTransformViewMatrices(TransInfo *t)
calculateCenter2D(t);
}
-void convertViewVec(TransInfo *t, float *vec, short dx, short dy)
+void convertViewVec(TransInfo *t, float *vec, int dx, int dy)
{
if (t->spacetype==SPACE_VIEW3D) {
- if (t->ar->regiontype == RGN_TYPE_WINDOW)
- {
- window_to_3d_delta(t->ar, vec, dx, dy);
+ if (t->ar->regiontype == RGN_TYPE_WINDOW) {
+ float mval_f[2];
+ mval_f[0]= dx;
+ mval_f[1]= dy;
+ ED_view3d_win_to_delta(t->ar, mval_f, vec);
}
}
else if(t->spacetype==SPACE_IMAGE) {
@@ -567,8 +569,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
if (t->modifiers & MOD_CONSTRAINT_SELECT)
t->con.mode |= CON_SELECT;
- t->mval[0] = event->x - t->ar->winrct.xmin;
- t->mval[1] = event->y - t->ar->winrct.ymin;
+ VECCOPY2D(t->mval, event->mval);
// t->redraw |= TREDRAW_SOFT; /* Use this for soft redraw. Might cause flicker in object mode */
t->redraw |= TREDRAW_HARD;
@@ -783,7 +784,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
case SPACEKEY:
if ((t->spacetype==SPACE_VIEW3D) && event->alt) {
#if 0 // TRANSFORM_FIX_ME
- short mval[2];
+ int mval[2];
getmouseco_sc(mval);
BIF_selectOrientation();
@@ -968,7 +969,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
break;
case OKEY:
if (t->flag & T_PROP_EDIT && event->shift) {
- t->prop_mode = (t->prop_mode + 1) % 6;
+ t->prop_mode = (t->prop_mode + 1) % PROP_MODE_MAX;
calculatePropRatio(t);
t->redraw |= TREDRAW_HARD;
}
@@ -1270,7 +1271,7 @@ static void drawHelpline(bContext *UNUSED(C), int x, int y, void *customdata)
setlinestyle(3);
glBegin(GL_LINE_STRIP);
- glVertex2sv(t->mval);
+ glVertex2iv(t->mval);
glVertex2fv(cent);
glEnd();
@@ -1315,7 +1316,7 @@ static void drawHelpline(bContext *UNUSED(C), int x, int y, void *customdata)
setlinestyle(3);
glBegin(GL_LINE_STRIP);
- glVertex2sv(t->mval);
+ glVertex2iv(t->mval);
glVertex2fv(cent);
glEnd();
@@ -2286,7 +2287,7 @@ int handleEventWarp(TransInfo *t, wmEvent *event)
return status;
}
-int Warp(TransInfo *t, const short UNUSED(mval[2]))
+int Warp(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
float vec[3], circumfac, dist, phi0, co, si, *curs, cursor[3], gcursor[3];
@@ -2434,7 +2435,7 @@ int handleEventShear(TransInfo *t, wmEvent *event)
}
-int Shear(TransInfo *t, const short UNUSED(mval[2]))
+int Shear(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
float vec[3];
@@ -2700,7 +2701,7 @@ static void ElementResize(TransInfo *t, TransData *td, float mat[3][3]) {
constraintTransLim(t, td);
}
-int Resize(TransInfo *t, const short mval[2])
+int Resize(TransInfo *t, const int mval[2])
{
TransData *td;
float size[3], mat[3][3];
@@ -2805,7 +2806,7 @@ void initToSphere(TransInfo *t)
t->val /= (float)t->total;
}
-int ToSphere(TransInfo *t, const short UNUSED(mval[2]))
+int ToSphere(TransInfo *t, const int UNUSED(mval[2]))
{
float vec[3];
float ratio, radius;
@@ -3152,7 +3153,7 @@ static void applyRotation(TransInfo *t, float angle, float axis[3])
}
}
-int Rotation(TransInfo *t, const short UNUSED(mval[2]))
+int Rotation(TransInfo *t, const int UNUSED(mval[2]))
{
char str[128], *spos= str;
@@ -3260,7 +3261,7 @@ static void applyTrackball(TransInfo *t, float axis1[3], float axis2[3], float a
}
}
-int Trackball(TransInfo *t, const short UNUSED(mval[2]))
+int Trackball(TransInfo *t, const int UNUSED(mval[2]))
{
char str[128], *spos= str;
float axis1[3], axis2[3];
@@ -3490,7 +3491,7 @@ static void applyTranslation(TransInfo *t, float vec[3]) {
}
/* uses t->vec to store actual translation in */
-int Translation(TransInfo *t, const short UNUSED(mval[2]))
+int Translation(TransInfo *t, const int UNUSED(mval[2]))
{
char str[250];
@@ -3557,7 +3558,7 @@ void initShrinkFatten(TransInfo *t)
-int ShrinkFatten(TransInfo *t, const short UNUSED(mval[2]))
+int ShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
{
float vec[3];
float distance;
@@ -3632,7 +3633,7 @@ void initTilt(TransInfo *t)
-int Tilt(TransInfo *t, const short UNUSED(mval[2]))
+int Tilt(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
int i;
@@ -3704,7 +3705,7 @@ void initCurveShrinkFatten(TransInfo *t)
t->flag |= T_NO_CONSTRAINT;
}
-int CurveShrinkFatten(TransInfo *t, const short UNUSED(mval[2]))
+int CurveShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
float ratio;
@@ -3772,7 +3773,7 @@ void initPushPull(TransInfo *t)
}
-int PushPull(TransInfo *t, const short UNUSED(mval[2]))
+int PushPull(TransInfo *t, const int UNUSED(mval[2]))
{
float vec[3], axis[3];
float distance;
@@ -3905,7 +3906,7 @@ int handleEventBevel(TransInfo *t, wmEvent *event)
return 0;
}
-int Bevel(TransInfo *t, const short UNUSED(mval[2]))
+int Bevel(TransInfo *t, const int UNUSED(mval[2]))
{
float distance,d;
int i;
@@ -3973,7 +3974,7 @@ void initBevelWeight(TransInfo *t)
t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
}
-int BevelWeight(TransInfo *t, const short UNUSED(mval[2]))
+int BevelWeight(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
float weight;
@@ -4046,7 +4047,7 @@ void initCrease(TransInfo *t)
t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
}
-int Crease(TransInfo *t, const short UNUSED(mval[2]))
+int Crease(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
float crease;
@@ -4165,7 +4166,7 @@ static void ElementBoneSize(TransInfo *t, TransData *td, float mat[3][3])
td->loc[1]= oldy;
}
-int BoneSize(TransInfo *t, const short mval[2])
+int BoneSize(TransInfo *t, const int mval[2])
{
TransData *td = t->data;
float size[3], mat[3][3];
@@ -4241,7 +4242,7 @@ void initBoneEnvelope(TransInfo *t)
t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
}
-int BoneEnvelope(TransInfo *t, const short UNUSED(mval[2]))
+int BoneEnvelope(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
float ratio;
@@ -4318,7 +4319,7 @@ static int createSlideVerts(TransInfo *t)
/*ok, let's try to survive this*/
unit_m4(projectMat);
} else {
- view3d_get_object_project_mat(v3d, t->obedit, projectMat);
+ ED_view3d_ob_project_mat_get(v3d, t->obedit, projectMat);
}
numsel =0;
@@ -4611,8 +4612,8 @@ static int createSlideVerts(TransInfo *t)
}
if (v3d) {
- view3d_project_float(t->ar, tempsv->up->v1->co, co, projectMat);
- view3d_project_float(t->ar, tempsv->up->v2->co, co2, projectMat);
+ ED_view3d_project_float(t->ar, tempsv->up->v1->co, co, projectMat);
+ ED_view3d_project_float(t->ar, tempsv->up->v2->co, co2, projectMat);
}
if (ev == tempsv->up->v1) {
@@ -4624,8 +4625,8 @@ static int createSlideVerts(TransInfo *t)
add_v3_v3(start, tvec);
if (v3d) {
- view3d_project_float(t->ar, tempsv->down->v1->co, co, projectMat);
- view3d_project_float(t->ar, tempsv->down->v2->co, co2, projectMat);
+ ED_view3d_project_float(t->ar, tempsv->down->v1->co, co, projectMat);
+ ED_view3d_project_float(t->ar, tempsv->down->v2->co, co2, projectMat);
}
if (ev == tempsv->down->v1) {
@@ -4672,10 +4673,10 @@ static int createSlideVerts(TransInfo *t)
#undef EDGE_SLIDE_MIN
- sld->start[0] = (short) start[0];
- sld->start[1] = (short) start[1];
- sld->end[0] = (short) end[0];
- sld->end[1] = (short) end[1];
+ sld->start[0] = (int) start[0];
+ sld->start[1] = (int) start[1];
+ sld->end[0] = (int) end[0];
+ sld->end[1] = (int) end[1];
if (uvlay_tot) { // XXX && (scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT)) {
int maxnum = 0;
@@ -4857,8 +4858,8 @@ void initEdgeSlide(TransInfo *t)
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
- t->snap[1] = (float)((5.0/180)*M_PI);
- t->snap[2] = t->snap[1] * 0.2f;
+ t->snap[1] = 0.1f;
+ t->snap[2] = t->snap[1] * 0.1f;
t->num.increment = t->snap[1];
@@ -4975,7 +4976,7 @@ int doEdgeSlide(TransInfo *t, float perc)
return 1;
}
-int EdgeSlide(TransInfo *t, const short UNUSED(mval[2]))
+int EdgeSlide(TransInfo *t, const int UNUSED(mval[2]))
{
char str[50];
float final;
@@ -4984,6 +4985,9 @@ int EdgeSlide(TransInfo *t, const short UNUSED(mval[2]))
snapGrid(t, &final);
+ /* only do this so out of range values are not displayed */
+ CLAMP(final, -1.0f, 1.0f);
+
if (hasNumInput(&t->num)) {
char c[20];
@@ -4991,10 +4995,10 @@ int EdgeSlide(TransInfo *t, const short UNUSED(mval[2]))
outputNumInput(&(t->num), c);
- sprintf(str, "Edge Slide Percent: %s", &c[0]);
+ sprintf(str, "Edge Slide: %s", &c[0]);
}
else {
- sprintf(str, "Edge Slide Percent: %.2f", final);
+ sprintf(str, "Edge Slide: %.2f", final);
}
CLAMP(final, -1.0f, 1.0f);
@@ -5034,7 +5038,7 @@ void initBoneRoll(TransInfo *t)
t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
}
-int BoneRoll(TransInfo *t, const short UNUSED(mval[2]))
+int BoneRoll(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
int i;
@@ -5095,7 +5099,7 @@ void initBakeTime(TransInfo *t)
t->num.increment = t->snap[1];
}
-int BakeTime(TransInfo *t, const short mval[2])
+int BakeTime(TransInfo *t, const int mval[2])
{
TransData *td = t->data;
float time;
@@ -5170,7 +5174,7 @@ void initMirror(TransInfo *t)
}
}
-int Mirror(TransInfo *t, const short UNUSED(mval[2]))
+int Mirror(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td;
float size[3], mat[3][3];
@@ -5247,7 +5251,7 @@ void initAlign(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_NONE);
}
-int Align(TransInfo *t, const short UNUSED(mval[2]))
+int Align(TransInfo *t, const int UNUSED(mval[2]))
{
TransData *td = t->data;
float center[3];
@@ -5350,7 +5354,7 @@ static void applySeqSlide(TransInfo *t, float val[2]) {
}
}
-int SeqSlide(TransInfo *t, const short UNUSED(mval[2]))
+int SeqSlide(TransInfo *t, const int UNUSED(mval[2]))
{
char str[200];
@@ -5526,7 +5530,7 @@ static void doAnimEdit_SnapFrame(TransInfo *t, TransData *td, TransData2D *td2d,
void initTimeTranslate(TransInfo *t)
{
/* this tool is only really available in the Action Editor... */
- if (t->spacetype != SPACE_ACTION) {
+ if (!ELEM(t->spacetype, SPACE_ACTION, SPACE_SEQ)) {
t->state = TRANS_CANCEL;
}
@@ -5640,7 +5644,7 @@ static void applyTimeTranslate(TransInfo *t, float UNUSED(sval))
}
}
-int TimeTranslate(TransInfo *t, const short mval[2])
+int TimeTranslate(TransInfo *t, const int mval[2])
{
View2D *v2d = (View2D *)t->view;
float cval[2], sval[2];
@@ -5770,7 +5774,7 @@ static void applyTimeSlide(TransInfo *t, float sval)
}
}
-int TimeSlide(TransInfo *t, const short mval[2])
+int TimeSlide(TransInfo *t, const int mval[2])
{
View2D *v2d = (View2D *)t->view;
float cval[2], sval[2];
@@ -5895,7 +5899,7 @@ static void applyTimeScale(TransInfo *t) {
}
}
-int TimeScale(TransInfo *t, const short UNUSED(mval[2]))
+int TimeScale(TransInfo *t, const int UNUSED(mval[2]))
{
char str[200];
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index b94f2cc525a..d8e42488787 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -95,7 +95,8 @@ typedef struct TransSnap {
short modePoint;
short modeSelect;
short align;
- short project;
+ char project;
+ char snap_self;
short peel;
short status;
float snapPoint[3]; /* snapping from this point */
@@ -119,7 +120,7 @@ typedef struct TransCon {
float pmtx[3][3]; /* Projection Constraint Matrix (same as imtx with some axis == 0) */
float center[3]; /* transformation center to define where to draw the view widget
ALWAYS in global space. Unlike the transformation center */
- short imval[2]; /* initial mouse value for visual calculation */
+ int imval[2]; /* initial mouse value for visual calculation */
/* the one in TransInfo is not garanty to stay the same (Rotates change it) */
int mode; /* Mode flags of the Constraint */
void (*drawExtra)(struct TransInfo *);
@@ -217,7 +218,7 @@ typedef struct SlideData {
struct GHash *vhash, **uvhash;
struct EditVert *nearest;
struct LinkNode *edgelist, *vertlist;
- short start[2], end[2];
+ int start[2], end[2];
} SlideData;
typedef struct TransData {
@@ -242,12 +243,12 @@ typedef struct TransData {
} TransData;
typedef struct MouseInput {
- void (*apply)(struct TransInfo *, struct MouseInput *, const short [2], float [3]);
+ void (*apply)(struct TransInfo *, struct MouseInput *, const int [2], float [3]);
void (*post)(struct TransInfo *, float [3]);
- short imval[2]; /* initial mouse position */
+ int imval[2]; /* initial mouse position */
char precision;
- short precision_mval[2]; /* mouse position when precision key was pressed */
+ int precision_mval[2]; /* mouse position when precision key was pressed */
int center[2];
float factor;
void *data; /* additional data, if needed by the particular function */
@@ -261,7 +262,7 @@ typedef struct TransInfo {
int options; /* current context/options for transform */
float val; /* init value for some transformations (and rotation angle) */
float fac; /* factor for distance based transform */
- int (*transform)(struct TransInfo *, const short *);
+ int (*transform)(struct TransInfo *, const int *);
/* transform function pointer */
int (*handleEvent)(struct TransInfo *, struct wmEvent *);
/* event handler function pointer RETURN 1 if redraw is needed */
@@ -279,7 +280,7 @@ typedef struct TransInfo {
char proptext[20]; /* proportional falloff text */
float center[3]; /* center of transformation */
int center2d[2]; /* center in screen coordinates */
- short imval[2]; /* initial mouse position */
+ int imval[2]; /* initial mouse position */
short event_type; /* event->type used to invoke transform */
short idx_max; /* maximum index on the input vector */
float snap[3]; /* Snapping Gears */
@@ -328,7 +329,7 @@ typedef struct TransInfo {
struct Scene *scene;
struct ToolSettings *settings;
struct wmTimer *animtimer;
- short mval[2]; /* current mouse position */
+ int mval[2]; /* current mouse position */
struct Object *obedit;
void *draw_handle_apply;
void *draw_handle_view;
@@ -458,7 +459,7 @@ void transformApply(struct bContext *C, TransInfo *t);
int transformEnd(struct bContext *C, TransInfo *t);
void setTransformViewMatrices(TransInfo *t);
-void convertViewVec(TransInfo *t, float *vec, short dx, short dy);
+void convertViewVec(TransInfo *t, float *vec, int dx, int dy);
void projectIntView(TransInfo *t, float *vec, int *adr);
void projectFloatView(TransInfo *t, float *vec, float *adr);
@@ -467,81 +468,81 @@ void removeAspectRatio(TransInfo *t, float *vec);
void initWarp(TransInfo *t);
int handleEventWarp(TransInfo *t, struct wmEvent *event);
-int Warp(TransInfo *t, const short mval[2]);
+int Warp(TransInfo *t, const int mval[2]);
void initShear(TransInfo *t);
int handleEventShear(TransInfo *t, struct wmEvent *event);
-int Shear(TransInfo *t, const short mval[2]);
+int Shear(TransInfo *t, const int mval[2]);
void initResize(TransInfo *t);
-int Resize(TransInfo *t, const short mval[2]);
+int Resize(TransInfo *t, const int mval[2]);
void initTranslation(TransInfo *t);
-int Translation(TransInfo *t, const short mval[2]);
+int Translation(TransInfo *t, const int mval[2]);
void initToSphere(TransInfo *t);
-int ToSphere(TransInfo *t, const short mval[2]);
+int ToSphere(TransInfo *t, const int mval[2]);
void initRotation(TransInfo *t);
-int Rotation(TransInfo *t, const short mval[2]);
+int Rotation(TransInfo *t, const int mval[2]);
void initShrinkFatten(TransInfo *t);
-int ShrinkFatten(TransInfo *t, const short mval[2]);
+int ShrinkFatten(TransInfo *t, const int mval[2]);
void initTilt(TransInfo *t);
-int Tilt(TransInfo *t, const short mval[2]);
+int Tilt(TransInfo *t, const int mval[2]);
void initCurveShrinkFatten(TransInfo *t);
-int CurveShrinkFatten(TransInfo *t, const short mval[2]);
+int CurveShrinkFatten(TransInfo *t, const int mval[2]);
void initTrackball(TransInfo *t);
-int Trackball(TransInfo *t, const short mval[2]);
+int Trackball(TransInfo *t, const int mval[2]);
void initPushPull(TransInfo *t);
-int PushPull(TransInfo *t, const short mval[2]);
+int PushPull(TransInfo *t, const int mval[2]);
void initBevel(TransInfo *t);
int handleEventBevel(TransInfo *t, struct wmEvent *event);
-int Bevel(TransInfo *t, const short mval[2]);
+int Bevel(TransInfo *t, const int mval[2]);
void initBevelWeight(TransInfo *t);
-int BevelWeight(TransInfo *t, const short mval[2]);
+int BevelWeight(TransInfo *t, const int mval[2]);
void initCrease(TransInfo *t);
-int Crease(TransInfo *t, const short mval[2]);
+int Crease(TransInfo *t, const int mval[2]);
void initBoneSize(TransInfo *t);
-int BoneSize(TransInfo *t, const short mval[2]);
+int BoneSize(TransInfo *t, const int mval[2]);
void initBoneEnvelope(TransInfo *t);
-int BoneEnvelope(TransInfo *t, const short mval[2]);
+int BoneEnvelope(TransInfo *t, const int mval[2]);
void initBoneRoll(TransInfo *t);
-int BoneRoll(TransInfo *t, const short mval[2]);
+int BoneRoll(TransInfo *t, const int mval[2]);
void initEdgeSlide(TransInfo *t);
-int EdgeSlide(TransInfo *t, const short mval[2]);
+int EdgeSlide(TransInfo *t, const int mval[2]);
void initTimeTranslate(TransInfo *t);
-int TimeTranslate(TransInfo *t, const short mval[2]);
+int TimeTranslate(TransInfo *t, const int mval[2]);
void initTimeSlide(TransInfo *t);
-int TimeSlide(TransInfo *t, const short mval[2]);
+int TimeSlide(TransInfo *t, const int mval[2]);
void initTimeScale(TransInfo *t);
-int TimeScale(TransInfo *t, const short mval[2]);
+int TimeScale(TransInfo *t, const int mval[2]);
void initBakeTime(TransInfo *t);
-int BakeTime(TransInfo *t, const short mval[2]);
+int BakeTime(TransInfo *t, const int mval[2]);
void initMirror(TransInfo *t);
-int Mirror(TransInfo *t, const short mval[2]);
+int Mirror(TransInfo *t, const int mval[2]);
void initAlign(TransInfo *t);
-int Align(TransInfo *t, const short mval[2]);
+int Align(TransInfo *t, const int mval[2]);
void initSeqSlide(TransInfo *t);
-int SeqSlide(TransInfo *t, const short mval[2]);
+int SeqSlide(TransInfo *t, const int mval[2]);
void drawPropCircle(const struct bContext *C, TransInfo *t);
@@ -645,12 +646,12 @@ typedef enum {
INPUT_CUSTOM_RATIO
} MouseInputMode;
-void initMouseInput(TransInfo *t, MouseInput *mi, int center[2], short mval[2]);
+void initMouseInput(TransInfo *t, MouseInput *mi, int center[2], int mval[2]);
void initMouseInputMode(TransInfo *t, MouseInput *mi, MouseInputMode mode);
int handleMouseInput(struct TransInfo *t, struct MouseInput *mi, struct wmEvent *event);
-void applyMouseInput(struct TransInfo *t, struct MouseInput *mi, short mval[2], float output[3]);
+void applyMouseInput(struct TransInfo *t, struct MouseInput *mi, const int mval[2], float output[3]);
-void setCustomPoints(TransInfo *t, MouseInput *mi, short start[2], short end[2]);
+void setCustomPoints(TransInfo *t, MouseInput *mi, int start[2], int end[2]);
void setInputPostFct(MouseInput *mi, void (*post)(struct TransInfo *, float [3]));
/*********************** Generics ********************************/
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index 16a943baabe..be5f539431f 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -105,8 +105,8 @@ void constraintNumInput(TransInfo *t, float vec[3])
if (getConstraintSpaceDimension(t) == 2) {
int axis = mode & (CON_AXIS0|CON_AXIS1|CON_AXIS2);
if (axis == (CON_AXIS0|CON_AXIS1)) {
- vec[0] = vec[0];
- vec[1] = vec[1];
+ /* vec[0] = vec[0]; */ /* same */
+ /* vec[1] = vec[1]; */ /* same */
vec[2] = nval;
}
else if (axis == (CON_AXIS1|CON_AXIS2)) {
@@ -115,14 +115,14 @@ void constraintNumInput(TransInfo *t, float vec[3])
vec[0] = nval;
}
else if (axis == (CON_AXIS0|CON_AXIS2)) {
- vec[0] = vec[0];
+ /* vec[0] = vec[0]; */ /* same */
vec[2] = vec[1];
vec[1] = nval;
}
}
else if (getConstraintSpaceDimension(t) == 1) {
if (mode & CON_AXIS0) {
- vec[0] = vec[0];
+ /* vec[0] = vec[0]; */ /* same */
vec[1] = nval;
vec[2] = nval;
}
@@ -665,7 +665,7 @@ void drawConstraint(TransInfo *t)
char col2[3] = {255,255,255};
int depth_test_enabled;
- convertViewVec(t, vec, (short)(t->mval[0] - t->con.imval[0]), (short)(t->mval[1] - t->con.imval[1]));
+ convertViewVec(t, vec, (t->mval[0] - t->con.imval[0]), (t->mval[1] - t->con.imval[1]));
add_v3_v3(vec, tc->center);
drawLine(t, tc->center, tc->mtx[0], 'X', 0);
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 6be095fa98b..0a5e290643a 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -87,6 +87,7 @@
#include "ED_object.h"
#include "ED_markers.h"
#include "ED_mesh.h"
+#include "ED_node.h"
#include "ED_types.h"
#include "ED_uvedit.h"
#include "ED_curve.h" /* for ED_curve_editnurbs */
@@ -690,7 +691,7 @@ int count_set_pose_transflags(int *out_mode, short around, Object *ob)
for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
bone = pchan->bone;
if (PBONE_VISIBLE(arm, bone)) {
- if ((bone->flag & BONE_SELECTED) && !(ob->proxy && pchan->bone->layer & arm->layer_protected))
+ if ((bone->flag & BONE_SELECTED))
bone->flag |= BONE_TRANSFORM;
else
bone->flag &= ~BONE_TRANSFORM;
@@ -2182,6 +2183,12 @@ void flushTransNodes(TransInfo *t)
td->loc2d[0]= td->loc[0];
td->loc2d[1]= td->loc[1];
}
+
+ /* handle intersection with noodles */
+ if(t->total==1) {
+ ED_node_link_intersect_test(t->sa, 1);
+ }
+
}
/* *** SEQUENCE EDITOR *** */
@@ -3699,7 +3706,7 @@ void flushTransGraphData(TransInfo *t)
/* if int-values only, truncate to integers */
if (td->flag & TD_INTVALUES)
- td2d->loc2d[1]= (float)((int)td2d->loc[1]);
+ td2d->loc2d[1]= floorf(td2d->loc[1] + 0.5f);
else
td2d->loc2d[1]= td2d->loc[1];
@@ -3725,27 +3732,8 @@ void flushTransGraphData(TransInfo *t)
* seq->depth must be set before running this function so we know if the strips
* are root level or not
*/
-#define XXX_DURIAN_ANIM_TX_HACK
static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count, int *flag)
{
-
-#ifdef XXX_DURIAN_ANIM_TX_HACK
- /* hack */
- if((seq->flag & SELECT)==0 && seq->type & SEQ_EFFECT) {
- Sequence *seq_t[3];
- int i;
-
- seq_t[0]= seq->seq1;
- seq_t[1]= seq->seq2;
- seq_t[2]= seq->seq3;
-
- for(i=0; i<3; i++) {
- if (seq_t[i] && ((seq_t[i])->flag & SELECT) && !(seq_t[i]->flag & SEQ_LOCK) && !(seq_t[i]->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)))
- seq->flag |= SELECT;
- }
- }
-#endif
-
/* for extend we need to do some tricks */
if (t->mode == TFM_TIME_EXTEND) {
@@ -4016,6 +4004,7 @@ static void freeSeqData(TransInfo *t)
}
if(overlap) {
+ int has_effect= 0;
for(seq= seqbasep->first; seq; seq= seq->next)
seq->tmp= NULL;
@@ -4024,12 +4013,47 @@ static void freeSeqData(TransInfo *t)
for(a=0; a<t->total; a++, td++) {
seq= ((TransDataSeq *)td->extra)->seq;
if ((seq != seq_prev)) {
- /* Tag seq with a non zero value, used by shuffle_seq_time to identify the ones to shuffle */
- seq->tmp= (void*)1;
+ /* check effects strips, we cant change their time */
+ if((seq->type & SEQ_EFFECT) && seq->seq1) {
+ has_effect= TRUE;
+ }
+ else {
+ /* Tag seq with a non zero value, used by shuffle_seq_time to identify the ones to shuffle */
+ seq->tmp= (void*)1;
+ }
}
}
shuffle_seq_time(seqbasep, t->scene);
+
+ if(has_effect) {
+ /* update effects strips based on strips just moved in time */
+ td= t->data;
+ seq_prev= NULL;
+ for(a=0; a<t->total; a++, td++) {
+ seq= ((TransDataSeq *)td->extra)->seq;
+ if ((seq != seq_prev)) {
+ if((seq->type & SEQ_EFFECT) && seq->seq1) {
+ calc_sequence(t->scene, seq);
+ }
+ }
+ }
+
+ /* now if any effects _still_ overlap, we need to move them up */
+ td= t->data;
+ seq_prev= NULL;
+ for(a=0; a<t->total; a++, td++) {
+ seq= ((TransDataSeq *)td->extra)->seq;
+ if ((seq != seq_prev)) {
+ if((seq->type & SEQ_EFFECT) && seq->seq1) {
+ if(seq_test_overlap(seqbasep, seq)) {
+ shuffle_seq(seqbasep, seq, t->scene);
+ }
+ }
+ }
+ }
+ /* done with effects */
+ }
}
}
#endif
@@ -4069,6 +4093,7 @@ static void freeSeqData(TransInfo *t)
static void createTransSeqData(bContext *C, TransInfo *t)
{
+#define XXX_DURIAN_ANIM_TX_HACK
View2D *v2d= UI_view2d_fromcontext(C);
Scene *scene= t->scene;
@@ -4099,6 +4124,24 @@ static void createTransSeqData(bContext *C, TransInfo *t)
t->frame_side = 'B';
}
+#ifdef XXX_DURIAN_ANIM_TX_HACK
+ {
+ Sequence *seq;
+ for(seq= ed->seqbasep->first; seq; seq= seq->next) {
+ /* hack */
+ if((seq->flag & SELECT)==0 && seq->type & SEQ_EFFECT) {
+ Sequence *seq_user;
+ int i;
+ for(i=0; i<3; i++) {
+ seq_user= *((&seq->seq1) + i);
+ if (seq_user && (seq_user->flag & SELECT) && !(seq_user->flag & SEQ_LOCK) && !(seq_user->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL))) {
+ seq->flag |= SELECT;
+ }
+ }
+ }
+ }
+ }
+#endif
count = SeqTransCount(t, ed->seqbasep, 0);
@@ -4118,6 +4161,8 @@ static void createTransSeqData(bContext *C, TransInfo *t)
/* loop 2: build transdata array */
SeqToTransData_Recursive(t, ed->seqbasep, td, td2d, tdsq);
+
+#undef XXX_DURIAN_ANIM_TX_HACK
}
@@ -4718,7 +4763,12 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
else if (t->spacetype == SPACE_NODE) {
- /* pass */
+ if(cancelled == 0)
+ ED_node_link_insert(t->sa);
+
+ /* clear link line */
+ ED_node_link_intersect_test(t->sa, 0);
+
}
else if (t->spacetype == SPACE_ACTION) {
SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
@@ -4927,22 +4977,24 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
else if ((t->flag & T_POSE) && (t->poseobj)) {
bArmature *arm;
- bPose *pose;
bPoseChannel *pchan;
short targetless_ik= 0;
ob= t->poseobj;
arm= ob->data;
- pose= ob->pose;
if((t->flag & T_AUTOIK) && (t->options & CTX_AUTOCONFIRM)) {
/* when running transform non-interactively (operator exec),
* we need to update the pose otherwise no updates get called during
* transform and the auto-ik is not applied. see [#26164] */
- struct Object *ob=t->poseobj;
- where_is_pose(t->scene, ob);
+ struct Object *pose_ob=t->poseobj;
+ where_is_pose(t->scene, pose_ob);
}
+ /* set BONE_TRANSFORM flags for autokey, manipulator draw might have changed them */
+ if (!cancelled && (t->mode != TFM_DUMMY))
+ count_set_pose_transflags(&t->mode, t->around, ob);
+
/* if target-less IK grabbing, we calculate the pchan transforms and clear flag */
if (!cancelled && t->mode==TFM_TRANSLATION)
targetless_ik= apply_targetless_ik(ob);
@@ -5043,10 +5095,6 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
#if 0 // TRANSFORM_FIX_ME
if(resetslowpar)
reset_slowparents();
-
- /* note; should actually only be done for all objects when a lamp is moved... (ton) */
- if(t->spacetype==SPACE_VIEW3D && G.vd->drawtype == OB_SHADED)
- reshadeall_displist();
#endif
}
@@ -5325,7 +5373,7 @@ void createTransData(bContext *C, TransInfo *t)
sort_trans_data_dist(t);
}
- if (t->ar->regiontype == RGN_TYPE_WINDOW)
+ if ((t->spacetype == SPACE_VIEW3D) && (t->ar->regiontype == RGN_TYPE_WINDOW))
{
View3D *v3d = t->view;
RegionView3D *rv3d = CTX_wm_region_view3d(C);
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 8c7a39e5dff..6d0a978700f 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -675,8 +675,9 @@ void recalcData(TransInfo *t)
EditMesh *em = ((Mesh*)t->obedit->data)->edit_mesh;
/* mirror modifier clipping? */
if(t->state != TRANS_CANCEL) {
- clipMirrorModifier(t, t->obedit);
+ /* apply clipping after so we never project past the clip plane [#25423] */
applyProject(t);
+ clipMirrorModifier(t, t->obedit);
}
if((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR))
editmesh_apply_to_mirror(t);
@@ -839,9 +840,6 @@ void recalcData(TransInfo *t)
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
}
-
- if(((View3D*)t->view)->drawtype == OB_SHADED)
- reshadeall_displist(t->scene);
}
}
@@ -920,9 +918,7 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
if (event)
{
- t->imval[0] = event->x - t->ar->winrct.xmin;
- t->imval[1] = event->y - t->ar->winrct.ymin;
-
+ VECCOPY2D(t->imval, event->mval);
t->event_type = event->type;
}
else
@@ -1039,9 +1035,14 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
}
else
{
- // XXX for now, get View2D from the active region
- t->view = &ar->v2d;
- // XXX for now, the center point is the midpoint of the data
+ if(ar) {
+ // XXX for now, get View2D from the active region
+ t->view = &ar->v2d;
+ // XXX for now, the center point is the midpoint of the data
+ }
+ else {
+ t->view= NULL;
+ }
t->around = V3D_CENTER;
}
@@ -1069,7 +1070,7 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
}
}
// Need stuff to take it from edit mesh or whatnot here
- else
+ else if (t->spacetype == SPACE_VIEW3D)
{
if (t->obedit && t->obedit->type == OB_MESH && (((Mesh *)t->obedit->data)->editflag & ME_EDIT_MIRROR_X))
{
diff --git a/source/blender/editors/transform/transform_input.c b/source/blender/editors/transform/transform_input.c
index b6c4deffe0a..b3608305a7a 100644
--- a/source/blender/editors/transform/transform_input.c
+++ b/source/blender/editors/transform/transform_input.c
@@ -43,25 +43,25 @@
/* ************************** INPUT FROM MOUSE *************************** */
-static void InputVector(TransInfo *t, MouseInput *mi, const short mval[2], float output[3])
+static void InputVector(TransInfo *t, MouseInput *mi, const int mval[2], float output[3])
{
float vec[3], dvec[3];
if(mi->precision)
{
/* calculate the main translation and the precise one separate */
- convertViewVec(t, dvec, (short)(mval[0] - mi->precision_mval[0]), (short)(mval[1] - mi->precision_mval[1]));
+ convertViewVec(t, dvec, (mval[0] - mi->precision_mval[0]), (mval[1] - mi->precision_mval[1]));
mul_v3_fl(dvec, 0.1f);
- convertViewVec(t, vec, (short)(mi->precision_mval[0] - t->imval[0]), (short)(mi->precision_mval[1] - t->imval[1]));
+ convertViewVec(t, vec, (mi->precision_mval[0] - t->imval[0]), (mi->precision_mval[1] - t->imval[1]));
add_v3_v3v3(output, vec, dvec);
}
else
{
- convertViewVec(t, output, (short)(mval[0] - t->imval[0]), (short)(mval[1] - t->imval[1]));
+ convertViewVec(t, output, (mval[0] - t->imval[0]), (mval[1] - t->imval[1]));
}
}
-static void InputSpring(TransInfo *UNUSED(t), MouseInput *mi, const short mval[2], float output[3])
+static void InputSpring(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2], float output[3])
{
float ratio, precise_ratio, dx, dy;
if(mi->precision)
@@ -87,7 +87,7 @@ static void InputSpring(TransInfo *UNUSED(t), MouseInput *mi, const short mval[2
output[0] = ratio;
}
-static void InputSpringFlip(TransInfo *t, MouseInput *mi, const short mval[2], float output[3])
+static void InputSpringFlip(TransInfo *t, MouseInput *mi, const int mval[2], float output[3])
{
InputSpring(t, mi, mval, output);
@@ -100,7 +100,7 @@ static void InputSpringFlip(TransInfo *t, MouseInput *mi, const short mval[2], f
}
}
-static void InputTrackBall(TransInfo *UNUSED(t), MouseInput *mi, const short mval[2], float output[3])
+static void InputTrackBall(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2], float output[3])
{
if(mi->precision)
@@ -118,7 +118,7 @@ static void InputTrackBall(TransInfo *UNUSED(t), MouseInput *mi, const short mva
output[1] *= mi->factor;
}
-static void InputHorizontalRatio(TransInfo *t, MouseInput *mi, const short mval[2], float output[3]) {
+static void InputHorizontalRatio(TransInfo *t, MouseInput *mi, const int mval[2], float output[3]) {
float x, pad;
pad = t->ar->winx / 10;
@@ -135,7 +135,7 @@ static void InputHorizontalRatio(TransInfo *t, MouseInput *mi, const short mval[
output[0] = (x - pad) / (t->ar->winx - 2 * pad);
}
-static void InputHorizontalAbsolute(TransInfo *t, MouseInput *mi, const short mval[2], float output[3]) {
+static void InputHorizontalAbsolute(TransInfo *t, MouseInput *mi, const int mval[2], float output[3]) {
float vec[3];
InputVector(t, mi, mval, vec);
@@ -144,7 +144,7 @@ static void InputHorizontalAbsolute(TransInfo *t, MouseInput *mi, const short mv
output[0] = dot_v3v3(t->viewinv[0], vec) * 2.0f;
}
-static void InputVerticalRatio(TransInfo *t, MouseInput *mi, const short mval[2], float output[3]) {
+static void InputVerticalRatio(TransInfo *t, MouseInput *mi, const int mval[2], float output[3]) {
float y, pad;
pad = t->ar->winy / 10;
@@ -160,7 +160,7 @@ static void InputVerticalRatio(TransInfo *t, MouseInput *mi, const short mval[2]
output[0] = (y - pad) / (t->ar->winy - 2 * pad);
}
-static void InputVerticalAbsolute(TransInfo *t, MouseInput *mi, const short mval[2], float output[3]) {
+static void InputVerticalAbsolute(TransInfo *t, MouseInput *mi, const int mval[2], float output[3]) {
float vec[3];
InputVector(t, mi, mval, vec);
@@ -169,12 +169,12 @@ static void InputVerticalAbsolute(TransInfo *t, MouseInput *mi, const short mval
output[0] = dot_v3v3(t->viewinv[1], vec) * 2.0f;
}
-void setCustomPoints(TransInfo *UNUSED(t), MouseInput *mi, short start[2], short end[2])
+void setCustomPoints(TransInfo *UNUSED(t), MouseInput *mi, int start[2], int end[2])
{
- short *data;
+ int *data;
if (mi->data == NULL) {
- mi->data = MEM_callocN(sizeof(short) * 4, "custom points");
+ mi->data = MEM_callocN(sizeof(int) * 4, "custom points");
}
data = mi->data;
@@ -185,12 +185,12 @@ void setCustomPoints(TransInfo *UNUSED(t), MouseInput *mi, short start[2], short
data[3] = end[1];
}
-static void InputCustomRatio(TransInfo *UNUSED(t), MouseInput *mi, const short mval[2], float output[3])
+static void InputCustomRatio(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2], float output[3])
{
float length;
float distance;
- short *data = mi->data;
- short dx, dy;
+ int *data = mi->data;
+ int dx, dy;
if (data) {
dx = data[2] - data[0];
@@ -200,14 +200,14 @@ static void InputCustomRatio(TransInfo *UNUSED(t), MouseInput *mi, const short m
if (mi->precision) {
/* deal with Shift key by adding motion / 10 to motion before shift press */
- short mdx, mdy;
+ int mdx, mdy;
mdx = (mi->precision_mval[0] + (float)(mval[0] - mi->precision_mval[0]) / 10.0f) - data[2];
mdy = (mi->precision_mval[1] + (float)(mval[1] - mi->precision_mval[1]) / 10.0f) - data[3];
distance = (length != 0.0f)? (mdx*dx + mdy*dy) / length: 0.0f;
}
else {
- short mdx, mdy;
+ int mdx, mdy;
mdx = mval[0] - data[2];
mdy = mval[1] - data[3];
@@ -218,7 +218,7 @@ static void InputCustomRatio(TransInfo *UNUSED(t), MouseInput *mi, const short m
}
}
-static void InputAngle(TransInfo *UNUSED(t), MouseInput *mi, const short mval[2], float output[3])
+static void InputAngle(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2], float output[3])
{
double dx2 = mval[0] - mi->center[0];
double dy2 = mval[1] - mi->center[1];
@@ -279,7 +279,7 @@ static void InputAngle(TransInfo *UNUSED(t), MouseInput *mi, const short mval[2]
output[0] = *angle;
}
-void initMouseInput(TransInfo *UNUSED(t), MouseInput *mi, int center[2], short mval[2])
+void initMouseInput(TransInfo *UNUSED(t), MouseInput *mi, int center[2], int mval[2])
{
mi->factor = 0;
mi->precision = 0;
@@ -372,7 +372,7 @@ void setInputPostFct(MouseInput *mi, void (*post)(struct TransInfo *, float [3])
mi->post = post;
}
-void applyMouseInput(TransInfo *t, MouseInput *mi, short mval[2], float output[3])
+void applyMouseInput(TransInfo *t, MouseInput *mi, const int mval[2], float output[3])
{
if (mi->apply != NULL)
{
@@ -398,8 +398,7 @@ int handleMouseInput(TransInfo *t, MouseInput *mi, wmEvent *event)
t->modifiers |= MOD_PRECISION;
/* shift is modifier for higher precision transform
* store the mouse position where the normal movement ended */
- mi->precision_mval[0] = event->x - t->ar->winrct.xmin;
- mi->precision_mval[1] = event->y - t->ar->winrct.ymin;
+ VECCOPY2D(mi->precision_mval, event->mval);
mi->precision = 1;
}
else
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 2fa094c6b8b..d62227a122d 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -278,6 +278,7 @@ int calc_manipulator_stats(const bContext *C)
ARegion *ar= CTX_wm_region(C);
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
+ ToolSettings *ts = CTX_data_tool_settings(C);
View3D *v3d= sa->spacedata.first;
RegionView3D *rv3d= ar->regiondata;
Base *base;
@@ -309,11 +310,63 @@ int calc_manipulator_stats(const bContext *C)
calc_tw_center(scene, vec);
totsel= 1;
} else {
- /* do vertices for center, and if still no normal found, use vertex normals */
- for(eve= em->verts.first; eve; eve= eve->next) {
- if(eve->f & SELECT) {
- totsel++;
- calc_tw_center(scene, eve->co);
+ /* do vertices/edges/faces for center depending on selection
+ mode. note we can't use just vertex selection flag because
+ it is not flush down on changes */
+ if(ts->selectmode & SCE_SELECT_VERTEX) {
+ for(eve= em->verts.first; eve; eve= eve->next) {
+ if(eve->f & SELECT) {
+ totsel++;
+ calc_tw_center(scene, eve->co);
+ }
+ }
+ }
+ else if(ts->selectmode & SCE_SELECT_EDGE) {
+ EditEdge *eed;
+
+ for(eve= em->verts.first; eve; eve= eve->next) eve->f1= 0;
+ for(eed= em->edges.first; eed; eed= eed->next) {
+ if(eed->h==0 && (eed->f & SELECT)) {
+ if(!eed->v1->f1) {
+ eed->v1->f1= 1;
+ totsel++;
+ calc_tw_center(scene, eed->v1->co);
+ }
+ if(!eed->v2->f1) {
+ eed->v2->f1= 1;
+ totsel++;
+ calc_tw_center(scene, eed->v2->co);
+ }
+ }
+ }
+ }
+ else {
+ EditFace *efa;
+
+ for(eve= em->verts.first; eve; eve= eve->next) eve->f1= 0;
+ for(efa= em->faces.first; efa; efa= efa->next) {
+ if(efa->h==0 && (efa->f & SELECT)) {
+ if(!efa->v1->f1) {
+ efa->v1->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v1->co);
+ }
+ if(!efa->v2->f1) {
+ efa->v2->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v2->co);
+ }
+ if(!efa->v3->f1) {
+ efa->v3->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v3->co);
+ }
+ if(efa->v4 && !efa->v4->f1) {
+ efa->v4->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v4->co);
+ }
+ }
}
}
}
@@ -557,7 +610,7 @@ static void test_manipulator_axis(const bContext *C)
float angle;
float vec[3];
- viewvector(rv3d, rv3d->twmat[3], vec);
+ ED_view3d_global_to_vector(rv3d, rv3d->twmat[3], vec);
angle = fabs(angle_v3v3(rv3d->twmat[0], vec));
if (angle > (float)M_PI / 2.0f) {
@@ -1457,7 +1510,7 @@ void BIF_draw_manipulator(const bContext *C)
break;
}
- mul_mat3_m4_fl(rv3d->twmat, view3d_pixel_size(rv3d, rv3d->twmat[3]) * U.tw_size * 5.0f);
+ mul_mat3_m4_fl(rv3d->twmat, ED_view3d_pixel_size(rv3d, rv3d->twmat[3]) * U.tw_size * 5.0f);
}
test_manipulator_axis(C);
@@ -1487,7 +1540,7 @@ void BIF_draw_manipulator(const bContext *C)
}
}
-static int manipulator_selectbuf(ScrArea *sa, ARegion *ar, const short mval[2], float hotspot)
+static int manipulator_selectbuf(ScrArea *sa, ARegion *ar, const int mval[2], float hotspot)
{
View3D *v3d= sa->spacedata.first;
RegionView3D *rv3d= ar->regiondata;
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 4edaabb9508..2d0c1ac2818 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -514,7 +514,7 @@ void TRANSFORM_OT_translate(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float_vector_xyz(ot->srna, "value", 3, NULL, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
@@ -534,7 +534,7 @@ void TRANSFORM_OT_resize(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float_vector(ot->srna, "value", 3, VecOne, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
@@ -555,7 +555,7 @@ void TRANSFORM_OT_trackball(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float_vector(ot->srna, "value", 2, VecOne, -FLT_MAX, FLT_MAX, "angle", "", -FLT_MAX, FLT_MAX);
@@ -575,7 +575,7 @@ void TRANSFORM_OT_rotate(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI*2, M_PI*2);
@@ -618,7 +618,7 @@ void TRANSFORM_OT_warp(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", 0, 1);
@@ -639,7 +639,7 @@ void TRANSFORM_OT_shear(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float(ot->srna, "value", 0, -FLT_MAX, FLT_MAX, "Offset", "", -FLT_MAX, FLT_MAX);
@@ -660,7 +660,7 @@ void TRANSFORM_OT_push_pull(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float(ot->srna, "value", 0, -FLT_MAX, FLT_MAX, "Distance", "", -FLT_MAX, FLT_MAX);
@@ -701,7 +701,7 @@ void TRANSFORM_OT_tosphere(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
RNA_def_float_factor(ot->srna, "value", 0, 0, 1, "Factor", "", 0, 1);
@@ -721,7 +721,7 @@ void TRANSFORM_OT_mirror(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL);
}
@@ -801,7 +801,7 @@ void TRANSFORM_OT_transform(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = ED_operator_areaactive;
+ ot->poll = ED_operator_screenactive;
prop= RNA_def_enum(ot->srna, "mode", transform_mode_types, TFM_TRANSLATION, "Mode", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -954,6 +954,8 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, OP_SHEAR, SKEY, KM_PRESS, KM_ALT|KM_CTRL|KM_SHIFT, 0);
+
WM_keymap_add_item(keymap, "TRANSFORM_OT_mirror", MKEY, KM_PRESS, KM_CTRL, 0);
km = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index 789a262f075..ca89670dedb 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -162,11 +162,11 @@ void drawSnapping(const struct bContext *C, TransInfo *t)
invert_m4_m4(imat, rv3d->viewmat);
for (p = t->tsnap.points.first; p; p = p->next) {
- drawcircball(GL_LINE_LOOP, p->co, view3d_pixel_size(rv3d, p->co) * size, imat);
+ drawcircball(GL_LINE_LOOP, p->co, ED_view3d_pixel_size(rv3d, p->co) * size, imat);
}
if (t->tsnap.status & POINT_INIT) {
- drawcircball(GL_LINE_LOOP, t->tsnap.snapPoint, view3d_pixel_size(rv3d, t->tsnap.snapPoint) * size, imat);
+ drawcircball(GL_LINE_LOOP, t->tsnap.snapPoint, ED_view3d_pixel_size(rv3d, t->tsnap.snapPoint) * size, imat);
}
/* draw normal if needed */
@@ -385,14 +385,14 @@ static void initSnappingMode(TransInfo *t)
if (t->tsnap.applySnap != NULL && // A snapping function actually exist
(obedit != NULL && ELEM4(obedit->type, OB_MESH, OB_ARMATURE, OB_CURVE, OB_LATTICE)) ) // Temporary limited to edit mode meshes, armature, curves
{
- /* editmode meshes now supported */
- if ((obedit->type != OB_MESH) && ((t->flag & T_PROP_EDIT) || t->tsnap.project)) /* also exclude edit for project, for now */
+ /* Exclude editmesh if using proportional edit */
+ if ((obedit->type == OB_MESH) && (t->flag & T_PROP_EDIT))
{
t->tsnap.modeSelect = SNAP_NOT_OBEDIT;
}
else
{
- t->tsnap.modeSelect = SNAP_ALL;
+ t->tsnap.modeSelect = t->tsnap.snap_self ? SNAP_ALL : SNAP_NOT_OBEDIT;
}
}
/* Particles edit mode*/
@@ -457,18 +457,27 @@ void initSnapping(TransInfo *t, wmOperator *op)
{
t->tsnap.project = RNA_boolean_get(op->ptr, "use_snap_project");
}
+
+ if (RNA_struct_find_property(op->ptr, "use_snap_self"))
+ {
+ t->tsnap.snap_self = RNA_boolean_get(op->ptr, "use_snap_self");
+ }
}
}
/* use scene defaults only when transform is modal */
else if (t->flag & T_MODAL)
{
- if (ts->snap_flag & SCE_SNAP) {
- t->modifiers |= MOD_SNAP;
- }
+ if(ELEM(t->spacetype, SPACE_VIEW3D, SPACE_IMAGE))
+ {
+ if (ts->snap_flag & SCE_SNAP) {
+ t->modifiers |= MOD_SNAP;
+ }
- t->tsnap.align = ((t->settings->snap_flag & SCE_SNAP_ROTATE) == SCE_SNAP_ROTATE);
- t->tsnap.project = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
- t->tsnap.peel = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
+ t->tsnap.align = ((t->settings->snap_flag & SCE_SNAP_ROTATE) == SCE_SNAP_ROTATE);
+ t->tsnap.project = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
+ t->tsnap.snap_self = !((t->settings->snap_flag & SCE_SNAP_NO_SELF) == SCE_SNAP_NO_SELF);
+ t->tsnap.peel = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
+ }
}
t->tsnap.target = snap_target;
@@ -1581,7 +1590,7 @@ static int snapObjects(Scene *scene, View3D *v3d, ARegion *ar, Object *obedit, f
int retval = 0;
float ray_start[3], ray_normal[3];
- viewray(ar, v3d, mval, ray_start, ray_normal);
+ ED_view3d_win_to_ray(ar, v3d, mval, ray_start, ray_normal);
if (mode == SNAP_ALL && obedit)
{
@@ -1613,9 +1622,9 @@ static int snapObjects(Scene *scene, View3D *v3d, ARegion *ar, Object *obedit, f
for(dupli_ob = lb->first; dupli_ob; dupli_ob = dupli_ob->next)
{
- Object *ob = dupli_ob->ob;
+ Object *dob = dupli_ob->ob;
- retval |= snapObject(scene, ar, ob, 0, dupli_ob->mat, ray_start, ray_normal, mval, loc, no, dist, &depth);
+ retval |= snapObject(scene, ar, dob, 0, dupli_ob->mat, ray_start, ray_normal, mval, loc, no, dist, &depth);
}
free_object_duplilist(lb);
@@ -1812,7 +1821,7 @@ static int peelObjects(Scene *scene, View3D *v3d, ARegion *ar, Object *obedit, L
int retval = 0;
float ray_start[3], ray_normal[3];
- viewray(ar, v3d, mval, ray_start, ray_normal);
+ ED_view3d_win_to_ray(ar, v3d, mval, ray_start, ray_normal);
for ( base = scene->base.first; base != NULL; base = base->next ) {
if ( BASE_SELECTABLE(v3d, base) ) {
@@ -1938,6 +1947,11 @@ static void applyGrid(TransInfo *t, float *val, int max_index, float fac[3], Gea
int i;
float asp[3] = {1.0f, 1.0f, 1.0f}; // TODO: Remove hard coded limit here (3)
+ if(max_index > 2) {
+ printf("applyGrid: invalid index %d, clamping\n", max_index);
+ max_index= 2;
+ }
+
// Early bailing out if no need to snap
if (fac[action] == 0.0f)
return;
diff --git a/source/blender/editors/util/CMakeLists.txt b/source/blender/editors/util/CMakeLists.txt
index 0be6ccaee2c..72f13c14f5d 100644
--- a/source/blender/editors/util/CMakeLists.txt
+++ b/source/blender/editors/util/CMakeLists.txt
@@ -22,14 +22,18 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
ed_util.c
editmode_undo.c
@@ -83,4 +87,4 @@ set(SRC
../include/UI_view2d.h
)
-blender_add_lib(bf_editor_util "${SRC}" "${INC}")
+blender_add_lib(bf_editor_util "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c
index 705fb83264c..3dd7514429e 100644
--- a/source/blender/editors/util/ed_util.c
+++ b/source/blender/editors/util/ed_util.c
@@ -106,10 +106,6 @@ void ED_editors_exit(bContext *C)
if(sce->obedit) {
Object *ob= sce->obedit;
- /* global in meshtools... */
- mesh_octree_table(NULL, NULL, NULL, 'e');
- mesh_mirrtopo_table(NULL, 'e');
-
if(ob) {
if(ob->type==OB_MESH) {
Mesh *me= ob->data;
@@ -122,26 +118,13 @@ void ED_editors_exit(bContext *C)
else if(ob->type==OB_ARMATURE) {
ED_armature_edit_free(ob);
}
- else if(ob->type==OB_FONT) {
- // free_editText();
- }
- // else if(ob->type==OB_MBALL)
- // BLI_freelistN(&editelems);
- // free_editLatt();
- // free_posebuf(); // XXX this is still a global...
- }
- }
- else if(sce->basact && sce->basact->object) {
- Object *ob= sce->basact->object;
-
- /* if weight-painting is on, free mesh octree data */
- if(ob->mode & OB_MODE_WEIGHT_PAINT) {
- mesh_octree_table(NULL, NULL, NULL, 'e');
- mesh_mirrtopo_table(NULL, 'e');
}
}
}
-
+
+ /* global in meshtools... */
+ mesh_octree_table(NULL, NULL, NULL, 'e');
+ mesh_mirrtopo_table(NULL, 'e');
}
diff --git a/source/blender/editors/util/editmode_undo.c b/source/blender/editors/util/editmode_undo.c
index 732e5087af2..bcbc134d06d 100644
--- a/source/blender/editors/util/editmode_undo.c
+++ b/source/blender/editors/util/editmode_undo.c
@@ -296,7 +296,7 @@ void undo_editmode_clear(void)
}
/* based on index nr it does a restore */
-static void undo_number(bContext *C, int nr)
+void undo_editmode_number(bContext *C, int nr)
{
UndoElem *uel;
int a=1;
@@ -337,66 +337,28 @@ int undo_editmode_valid(const char *undoname)
return undobase.last != undobase.first;
}
-/* ************** for interaction with menu/pullown */
-void undo_editmode_menu(bContext *C)
+/* get name of undo item, return null if no item with this index */
+/* if active pointer, set it to 1 if true */
+char *undo_editmode_get_name(bContext *C, int nr, int *active)
{
UndoElem *uel;
- DynStr *ds= BLI_dynstr_new();
- short event= 0;
- char *menu;
-
- undo_clean_stack(C); // removes other objects from it
-
- BLI_dynstr_append(ds, "Editmode Undo History %t");
-
- for(uel= undobase.first; uel; uel= uel->next) {
- BLI_dynstr_append(ds, "|");
- BLI_dynstr_append(ds, uel->name);
- }
-
- menu= BLI_dynstr_get_cstring(ds);
- BLI_dynstr_free(ds);
-
-// XXX event= pupmenu_col(menu, 20);
- MEM_freeN(menu);
- if(event>0) undo_number(C, event);
-}
-
-static void do_editmode_undohistorymenu(bContext *C, void *UNUSED(arg), int event)
-{
- Object *obedit= CTX_data_edit_object(C);
-
- if(obedit==NULL || event<1) return;
-
- undo_number(C, event-1);
+ /* prevent wrong numbers to be returned */
+ undo_clean_stack(C);
-}
-
-uiBlock *editmode_undohistorymenu(bContext *C, ARegion *ar, void *UNUSED(arg))
-{
- uiBlock *block;
- UndoElem *uel;
- short yco = 20, menuwidth = 120;
- short item= 1;
+ if(active) *active= 0;
- undo_clean_stack(C); // removes other objects from it
-
- block= uiBeginBlock(C, ar, "view3d_edit_mesh_undohistorymenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_editmode_undohistorymenu, NULL);
-
- for(uel= undobase.first; uel; uel= uel->next, item++) {
- if (uel==curundo) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, uel->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, (float)item, "");
- if (uel==curundo) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
+ uel= BLI_findlink(&undobase, nr);
+ if(uel) {
+ if(active && uel==curundo)
+ *active= 1;
+ return uel->name;
}
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
+ return NULL;
}
+
void *undo_editmode_get_prev(Object *ob)
{
UndoElem *ue= undobase.last;
diff --git a/source/blender/editors/util/undo.c b/source/blender/editors/util/undo.c
index 60f551afa6e..a2381a208ef 100644
--- a/source/blender/editors/util/undo.c
+++ b/source/blender/editors/util/undo.c
@@ -68,6 +68,9 @@
#include "RNA_access.h"
#include "RNA_define.h"
+#include "UI_interface.h"
+#include "UI_resources.h"
+
#include "util_intern.h"
#define MAXUNDONAME 64 /* XXX, make common define */
@@ -111,10 +114,12 @@ void ED_undo_push(bContext *C, const char *str)
if(wm->file_saved) {
wm->file_saved= 0;
+ /* notifier that data changed, for save-over warning or header */
WM_event_add_notifier(C, NC_WM|ND_DATACHANGED, NULL);
}
}
+/* note: also check undo_history_exec() in bottom if you change notifiers */
static int ed_undo_step(bContext *C, int step, const char *undoname)
{
Object *obedit= CTX_data_edit_object(C);
@@ -151,11 +156,11 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
int do_glob_undo= 0;
if(obact && obact->mode & OB_MODE_TEXTURE_PAINT) {
- if(!ED_undo_paint_step(C, UNDO_PAINT_IMAGE, step, undoname) && undoname)
+ if(!ED_undo_paint_step(C, UNDO_PAINT_IMAGE, step, undoname))
do_glob_undo= 1;
}
else if(obact && obact->mode & OB_MODE_SCULPT) {
- if(!ED_undo_paint_step(C, UNDO_PAINT_MESH, step, undoname) && undoname)
+ if(!ED_undo_paint_step(C, UNDO_PAINT_MESH, step, undoname))
do_glob_undo= 1;
}
else if(obact && obact->mode & OB_MODE_PARTICLE_EDIT) {
@@ -260,7 +265,7 @@ int ED_undo_valid(const bContext *C, const char *undoname)
static int ed_undo_exec(bContext *C, wmOperator *UNUSED(op))
{
/* "last operator" should disappear, later we can tie ths with undo stack nicer */
- WM_operator_stack_clear(C);
+ WM_operator_stack_clear(CTX_wm_manager(C));
return ed_undo_step(C, 1, NULL);
}
@@ -277,32 +282,6 @@ static int ed_redo_exec(bContext *C, wmOperator *UNUSED(op))
return ed_undo_step(C, -1, NULL);
}
-#if 0 /* UNUSED */
-void ED_undo_menu(bContext *C)
-{
- Object *obedit= CTX_data_edit_object(C);
- Object *obact= CTX_data_active_object(C);
-
- if(obedit) {
- //if ELEM7(obedit->type, OB_MESH, OB_FONT, OB_CURVE, OB_SURF, OB_MBALL, OB_LATTICE, OB_ARMATURE)
- // undo_editmode_menu();
- }
- else {
- if(obact && obact->mode & OB_MODE_PARTICLE_EDIT)
- PE_undo_menu(CTX_data_scene(C), CTX_data_active_object(C));
- else if(U.uiflag & USER_GLOBALUNDO) {
- char *menu= BKE_undo_menu_string();
- if(menu) {
- short event= 0; // XXX pupmenu_col(menu, 20);
- MEM_freeN(menu);
- if(event>0) {
- BKE_undo_number(C, event);
- }
- }
- }
- }
-}
-#endif
/* ********************** */
@@ -328,6 +307,8 @@ void ED_OT_undo_push(wmOperatorType *ot)
/* api callbacks */
ot->exec= ed_undo_push_exec;
+ ot->flag= OPTYPE_INTERNAL;
+
RNA_def_string(ot->srna, "message", "Add an undo step *function may be moved*", MAXUNDONAME, "Undo Message", "");
}
@@ -344,7 +325,7 @@ void ED_OT_redo(wmOperatorType *ot)
}
-/* ui callbacks should call this rather then calling WM_operator_repeat() themselves */
+/* ui callbacks should call this rather than calling WM_operator_repeat() themselves */
int ED_undo_operator_repeat(bContext *C, struct wmOperator *op)
{
int ret= 0;
@@ -377,19 +358,25 @@ int ED_undo_operator_repeat(bContext *C, struct wmOperator *op)
ret= 1;
}
}
+ else {
+ if (G.f & G_DEBUG) {
+ printf("redo_cb: WM_operator_repeat_check returned false %s\n", op->type->name);
+ }
+ }
/* set region back */
CTX_wm_region_set(C, ar);
}
else {
if (G.f & G_DEBUG) {
- printf("redo_cb: WM_operator_repeat_check returned false %s\n", op->type->name);
+ printf("redo_cb: ED_undo_operator_repeat called with NULL 'op'\n");
}
}
return ret;
}
+
void ED_undo_operator_repeat_cb(bContext *C, void *arg_op, void *UNUSED(arg_unused))
{
ED_undo_operator_repeat(C, (wmOperator *)arg_op);
@@ -399,3 +386,144 @@ void ED_undo_operator_repeat_cb_evt(bContext *C, void *arg_op, int UNUSED(arg_ev
{
ED_undo_operator_repeat(C, (wmOperator *)arg_op);
}
+
+
+/* ************************** */
+
+#define UNDOSYSTEM_GLOBAL 1
+#define UNDOSYSTEM_EDITMODE 2
+#define UNDOSYSTEM_PARTICLE 3
+
+static int get_undo_system(bContext *C)
+{
+ Object *obedit= CTX_data_edit_object(C);
+
+ /* find out which undo system */
+ if(obedit) {
+ if (ELEM7(obedit->type, OB_MESH, OB_FONT, OB_CURVE, OB_SURF, OB_MBALL, OB_LATTICE, OB_ARMATURE))
+ return UNDOSYSTEM_EDITMODE;
+ }
+ else {
+ Object *obact= CTX_data_active_object(C);
+
+ if(obact && obact->mode & OB_MODE_PARTICLE_EDIT)
+ return UNDOSYSTEM_PARTICLE;
+ else if(U.uiflag & USER_GLOBALUNDO)
+ return UNDOSYSTEM_GLOBAL;
+ }
+
+ return 0;
+}
+
+/* create enum based on undo items */
+static EnumPropertyItem *rna_undo_itemf(bContext *C, int undosys, int *totitem)
+{
+ EnumPropertyItem item_tmp= {0}, *item= NULL;
+ int active, i= 0;
+
+ while(TRUE) {
+ char *name= NULL;
+
+ if(undosys==UNDOSYSTEM_PARTICLE) {
+ name= PE_undo_get_name(CTX_data_scene(C), i, &active);
+ }
+ else if(undosys==UNDOSYSTEM_EDITMODE) {
+ name= undo_editmode_get_name(C, i, &active);
+ }
+ else {
+ name= BKE_undo_get_name(i, &active);
+ }
+
+ if(name) {
+ item_tmp.identifier= item_tmp.name= name;
+ if(active)
+ item_tmp.icon= ICON_RESTRICT_VIEW_OFF;
+ else
+ item_tmp.icon= ICON_NONE;
+ item_tmp.value= i++;
+ RNA_enum_item_add(&item, totitem, &item_tmp);
+ }
+ else
+ break;
+ }
+
+ RNA_enum_item_end(&item, totitem);
+
+ return item;
+}
+
+
+static int undo_history_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+{
+ int undosys, totitem= 0;
+
+ undosys= get_undo_system(C);
+
+ if(undosys) {
+ EnumPropertyItem *item= rna_undo_itemf(C, undosys, &totitem);
+
+ if(totitem > 0) {
+ uiPopupMenu *pup= uiPupMenuBegin(C, op->type->name, ICON_NONE);
+ uiLayout *layout= uiPupMenuLayout(pup);
+ uiLayout *split= uiLayoutSplit(layout, 0, 0), *column;
+ int i, c;
+
+ for(c=0, i=totitem-1; i >= 0; i--, c++) {
+ if( (c % 20)==0 )
+ column= uiLayoutColumn(split, 0);
+ if(item[i].identifier)
+ uiItemIntO(column, item[i].name, item[i].icon, op->type->idname, "item", item[i].value);
+
+ }
+
+ MEM_freeN(item);
+
+ uiPupMenuEnd(C, pup);
+ }
+
+ }
+ return OPERATOR_CANCELLED;
+}
+
+/* note: also check ed_undo_step() in top if you change notifiers */
+static int undo_history_exec(bContext *C, wmOperator *op)
+{
+ if(RNA_property_is_set(op->ptr, "item")) {
+ int undosys= get_undo_system(C);
+ int item= RNA_int_get(op->ptr, "item");
+
+ if(undosys==UNDOSYSTEM_PARTICLE) {
+ PE_undo_number(CTX_data_scene(C), item);
+ }
+ else if(undosys==UNDOSYSTEM_EDITMODE) {
+ undo_editmode_number(C, item+1);
+ WM_event_add_notifier(C, NC_GEOM|ND_DATA, NULL);
+ }
+ else {
+ BKE_undo_number(C, item);
+ WM_event_add_notifier(C, NC_SCENE|ND_LAYER_CONTENT, CTX_data_scene(C));
+ }
+ WM_event_add_notifier(C, NC_WINDOW, NULL);
+
+ return OPERATOR_FINISHED;
+ }
+ return OPERATOR_CANCELLED;
+}
+
+void ED_OT_undo_history(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Undo History";
+ ot->description= "Redo specific action in history";
+ ot->idname= "ED_OT_undo_history";
+
+ /* api callbacks */
+ ot->invoke= undo_history_invoke;
+ ot->exec= undo_history_exec;
+ ot->poll= ED_operator_screenactive;
+
+ RNA_def_int(ot->srna, "item", 0, 0, INT_MAX, "Item", "", 0, INT_MAX);
+
+}
+
+
diff --git a/source/blender/editors/util/util_intern.h b/source/blender/editors/util/util_intern.h
index 9ecfb07d535..bfa758b3faa 100644
--- a/source/blender/editors/util/util_intern.h
+++ b/source/blender/editors/util/util_intern.h
@@ -37,9 +37,12 @@
/* internal exports only */
/* editmode_undo.c */
-void undo_editmode_clear(void);
-void undo_editmode_name(bContext *C, const char *undoname);
-int undo_editmode_valid(const char *undoname);
+void undo_editmode_name (struct bContext *C, const char *undoname);
+int undo_editmode_valid (const char *undoname);
+char *undo_editmode_get_name (struct bContext *C, int nr, int *active);
+void *undo_editmode_get_prev (struct Object *ob);
+void undo_editmode_step (struct bContext *C, int step);
+void undo_editmode_number (struct bContext *C, int nr);
#endif /* ED_UTIL_INTERN_H */
diff --git a/source/blender/editors/uvedit/CMakeLists.txt b/source/blender/editors/uvedit/CMakeLists.txt
index 60d730e8c52..552e1b60154 100644
--- a/source/blender/editors/uvedit/CMakeLists.txt
+++ b/source/blender/editors/uvedit/CMakeLists.txt
@@ -22,13 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
../../../../intern/opennl/extern
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -43,4 +46,4 @@ set(SRC
uvedit_parametrizer.h
)
-blender_add_lib(bf_editor_uvedit "${SRC}" "${INC}")
+blender_add_lib(bf_editor_uvedit "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c
index 8d73da0063c..453bea0969b 100644
--- a/source/blender/editors/uvedit/uvedit_draw.c
+++ b/source/blender/editors/uvedit/uvedit_draw.c
@@ -474,7 +474,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit)
if(sima->flag & SI_DRAW_STRETCH) {
draw_uvs_stretch(sima, scene, em, activetf);
}
- else if(me->drawflag & ME_DRAWFACES) {
+ else if(!(sima->flag & SI_NO_DRAWFACES)) {
/* draw transparent faces */
UI_GetThemeColor4ubv(TH_FACE, col1);
UI_GetThemeColor4ubv(TH_FACE_SELECT, col2);
diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index eee7a3d7f69..70659994c55 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -419,7 +419,7 @@ int ED_uvedit_minmax(Scene *scene, Image *ima, Object *obedit, float *min, float
return sel;
}
-int ED_uvedit_median(Scene *scene, Image *ima, Object *obedit, float co[3])
+static int ED_uvedit_median(Scene *scene, Image *ima, Object *obedit, float co[3])
{
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
EditFace *efa;
@@ -1057,6 +1057,134 @@ static void weld_align_uv(bContext *C, int tool)
}
}
+ if(tool == 's' || tool == 't' || tool == 'u') {
+ /* pass 1&2 variables */
+ int i, j;
+ int starttmpl= -1, connectedtostarttmpl= -1, startcorner;
+ int endtmpl= -1, connectedtoendtmpl= -1, endcorner;
+ MTFace *startface, *endface;
+ int itmpl, jtmpl;
+ EditVert *eve;
+ int pass; /* first 2 passes find endpoints, 3rd pass moves middle points, 4th pass is fail-on-face-selected */
+ EditFace *startefa, *endefa;
+
+ /* pass 3 variables */
+ float startx, starty, firstm, firstb, midx, midy;
+ float endx, endy, secondm, secondb, midmovedx, midmovedy;
+ float IsVertical_check= -1;
+ float IsHorizontal_check= -1;
+
+ for(i= 0, eve= em->verts.first; eve; eve= eve->next, i++) /* give each point a unique name */
+ eve->tmp.l= i;
+ for(pass= 1; pass <= 3; pass++) { /* do this for each endpoint */
+ if(pass == 3){ /* calculate */
+ startx= startface->uv[startcorner][0];
+ starty= startface->uv[startcorner][1];
+ endx= endface->uv[endcorner][0];
+ endy= endface->uv[endcorner][1];
+ firstm= (endy-starty)/(endx-startx);
+ firstb= starty-(firstm*startx);
+ secondm= -1.0f/firstm;
+ if(startx == endx) IsVertical_check= startx;
+ if(starty == endy) IsHorizontal_check= starty;
+ }
+ for(efa= em->faces.first; efa; efa= efa->next) { /* for each face */
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); /* get face */
+ if(uvedit_face_visible(scene, ima, efa, tf)) { /* if you can see it */
+ if(uvedit_face_selected(scene, efa, tf)) { /* if the face is selected, get out now! */
+ pass= 4;
+ break;
+ }
+ for(i= 0; (i < 3 || (i == 3 && efa->v4)); i++) { /* for each point of the face */
+ itmpl= (*(&efa->v1 + i))->tmp.l; /* get unique name for points */
+ if(pass == 3) { /* move */
+ if(uvedit_uv_selected(scene, efa, tf, i)) {
+ if(!(itmpl == starttmpl || itmpl == endtmpl)) {
+ if(IsVertical_check != -1) tf->uv[i][0]= IsVertical_check;
+ if(IsHorizontal_check != -1) tf->uv[i][1]= IsHorizontal_check;
+ if((IsVertical_check == -1) && (IsHorizontal_check == -1)) {
+ midx= tf->uv[i][0];
+ midy= tf->uv[i][1];
+ if(tool == 's') {
+ secondb= midy-(secondm*midx);
+ midmovedx= (secondb-firstb)/(firstm-secondm);
+ midmovedy= (secondm*midmovedx)+secondb;
+ tf->uv[i][0]= midmovedx;
+ tf->uv[i][1]= midmovedy;
+ }
+ else if(tool == 't') {
+ tf->uv[i][0]= (midy-firstb)/firstm; /* midmovedx */
+ }
+ else if(tool == 'u') {
+ tf->uv[i][1]= (firstm*midx)+firstb; /* midmovedy */
+ }
+ }
+ }
+ }
+ }
+ else {
+ for(j= 0; (j < 3 || (j == 3 && efa->v4)); j++) { /* also for each point on the face */
+ jtmpl= (*(&efa->v1 + j))->tmp.l;
+ if(i != j && (!efa->v4 || ABS(i-j) != 2)) { /* if the points are connected */
+ /* quad (0,1,2,3) 0,1 0,3 1,0 1,2 2,1 2,3 3,0 3,2
+ * triangle (0,1,2) 0,1 0,2 1,0 1,2 2,0 2,1 */
+ if(uvedit_uv_selected(scene, efa, tf, i) && uvedit_uv_selected(scene, efa, tf, j)) {
+ /* if the edge is selected */
+ if(pass == 1) { /* if finding first endpoint */
+ if(starttmpl == -1) { /* if the first endpoint isn't found yet */
+ starttmpl= itmpl; /* set unique name for endpoint */
+ connectedtostarttmpl= jtmpl;
+ /* get point that endpoint is connected to */
+ startface= tf; /* get face it's on */
+ startcorner= i; /* what corner of the face? */
+ startefa= efa;
+ efa= em->faces.first;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= -1;
+ break;
+ }
+ if(starttmpl == itmpl && jtmpl != connectedtostarttmpl) {
+ starttmpl= -1; /* not an endpoint */
+ efa= startefa;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= startcorner;
+ break;
+ }
+ }
+ else if(pass == 2) { /* if finding second endpoint */
+ if(endtmpl == -1 && itmpl != starttmpl) {
+ endtmpl= itmpl;
+ connectedtoendtmpl= jtmpl;
+ endface= tf;
+ endcorner= i;
+ endefa= efa;
+ efa= em->faces.first;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= -1;
+ break;
+ }
+ if(endtmpl == itmpl && jtmpl != connectedtoendtmpl) {
+ endtmpl= -1;
+ efa= endefa;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= endcorner;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if(pass == 2 && (starttmpl == -1 || endtmpl == -1)) {
+ /* if endpoints aren't found */
+ pass=4;
+ }
+ }
+ }
+
uvedit_live_unwrap_update(sima, scene, obedit);
DAG_id_tag_update(obedit->data, 0);
WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data);
@@ -1074,6 +1202,9 @@ static int align_exec(bContext *C, wmOperator *op)
static void UV_OT_align(wmOperatorType *ot)
{
static EnumPropertyItem axis_items[] = {
+ {'s', "ALIGN_S", 0, "Straighten", "Align UVs along the line defined by the endpoints"},
+ {'t', "ALIGN_T", 0, "Straighten X", "Align UVs along the line defined by the endpoints along the X axis"},
+ {'u', "ALIGN_U", 0, "Straighten Y", "Align UVs along the line defined by the endpoints along the Y axis"},
{'a', "ALIGN_AUTO", 0, "Align Auto", "Automatically choose the axis on which there is most alignment already"},
{'x', "ALIGN_X", 0, "Align X", "Align UVs on X axis"},
{'y', "ALIGN_Y", 0, "Align Y", "Align UVs on Y axis"},
@@ -1444,7 +1575,7 @@ static int mouse_select(bContext *C, float co[2], int extend, int loop)
* remove doubles and could annoying if it joined points when zoomed out.
* 'penalty' is in screen pixel space otherwise zooming in on a uv-vert and
* shift-selecting can consider an adjacent point close enough to add to
- * the selection rather then de-selecting the closest. */
+ * the selection rather than de-selecting the closest. */
uvedit_pixel_to_float(sima, limit, 0.05f);
uvedit_pixel_to_float(sima, penalty, 5.0f / sima->zoom);
@@ -1715,12 +1846,8 @@ static int select_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
ARegion *ar= CTX_wm_region(C);
float co[2];
- int x, y;
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
-
- UI_view2d_region_to_view(&ar->v2d, x, y, &co[0], &co[1]);
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &co[0], &co[1]);
RNA_float_set_array(op->ptr, "location", co);
return select_exec(C, op);
@@ -1764,12 +1891,8 @@ static int select_loop_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
ARegion *ar= CTX_wm_region(C);
float co[2];
- int x, y;
-
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
- UI_view2d_region_to_view(&ar->v2d, x, y, &co[0], &co[1]);
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &co[0], &co[1]);
RNA_float_set_array(op->ptr, "location", co);
return select_loop_exec(C, op);
@@ -1825,12 +1948,8 @@ static int select_linked_internal(bContext *C, wmOperator *op, wmEvent *event, i
if(event) {
/* invoke */
ARegion *ar= CTX_wm_region(C);
- int x, y;
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
-
- UI_view2d_region_to_view(&ar->v2d, x, y, &co[0], &co[1]);
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &co[0], &co[1]);
RNA_float_set_array(op->ptr, "location", co);
}
else {
@@ -2233,6 +2352,7 @@ static void UV_OT_select_border(wmOperatorType *ot)
ot->exec= border_select_exec;
ot->modal= WM_border_select_modal;
ot->poll= ED_operator_image_active; /* requires space image */;
+ ot->cancel= WM_border_select_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -2322,6 +2442,7 @@ static void UV_OT_circle_select(wmOperatorType *ot)
ot->modal= WM_gesture_circle_modal;
ot->exec= circle_select_exec;
ot->poll= ED_operator_image_active; /* requires space image */;
+ ot->cancel= WM_gesture_circle_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -3036,12 +3157,9 @@ static int set_2d_cursor_exec(bContext *C, wmOperator *op)
static int set_2d_cursor_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
ARegion *ar= CTX_wm_region(C);
- int x, y;
float location[2];
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
- UI_view2d_region_to_view(&ar->v2d, x, y, &location[0], &location[1]);
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &location[0], &location[1]);
RNA_float_set_array(op->ptr, "location", location);
return set_2d_cursor_exec(C, op);
@@ -3092,14 +3210,12 @@ static int set_tile_invoke(bContext *C, wmOperator *op, wmEvent *event)
Image *ima= CTX_data_edit_image(C);
ARegion *ar= CTX_wm_region(C);
float fx, fy;
- int x, y, tile[2];
+ int tile[2];
if(!ima || !(ima->tpageflag & IMA_TILES))
return OPERATOR_CANCELLED;
- x= event->x - ar->winrct.xmin;
- y= event->y - ar->winrct.ymin;
- UI_view2d_region_to_view(&ar->v2d, x, y, &fx, &fy);
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &fx, &fy);
if(fx >= 0.0f && fy >= 0.0f && fx < 1.0f && fy < 1.0f) {
fx= fx*ima->xrep;
diff --git a/source/blender/editors/uvedit/uvedit_parametrizer.c b/source/blender/editors/uvedit/uvedit_parametrizer.c
index a9ee65b027b..dd7c336c98e 100644
--- a/source/blender/editors/uvedit/uvedit_parametrizer.c
+++ b/source/blender/editors/uvedit/uvedit_parametrizer.c
@@ -4140,7 +4140,7 @@ void param_construct_end(ParamHandle *handle, ParamBool fill, ParamBool impl)
param_assert(phandle->state == PHANDLE_STATE_ALLOCATED);
- phandle->ncharts = p_connect_pairs(phandle, impl);
+ phandle->ncharts = p_connect_pairs(phandle, (PBool)impl);
phandle->charts = p_split_charts(phandle, chart, phandle->ncharts);
p_chart_delete(phandle->construction_chart);
@@ -4189,7 +4189,7 @@ void param_lscm_begin(ParamHandle *handle, ParamBool live, ParamBool abf)
for (i = 0; i < phandle->ncharts; i++) {
for (f=phandle->charts[i]->faces; f; f=f->nextlink)
p_face_backup_uvs(f);
- p_chart_lscm_begin(phandle->charts[i], live, abf);
+ p_chart_lscm_begin(phandle->charts[i], (PBool)live, (PBool)abf);
}
}
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index e1eab55b434..ae6836446fa 100644
--- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
@@ -134,6 +134,41 @@ static int ED_uvedit_ensure_uvs(bContext *C, Scene *scene, Object *obedit)
/****************** Parametrizer Conversion ***************/
+static int uvedit_have_selection(Scene *scene, EditMesh *em, short implicit)
+{
+ EditFace *efa;
+ MTFace *tf;
+
+ /* verify if we have any selected uv's before unwrapping,
+ so we can cancel the operator early */
+ for(efa= em->faces.first; efa; efa= efa->next) {
+ if(scene->toolsettings->uv_flag & UV_SYNC_SELECTION) {
+ if(efa->h)
+ continue;
+ }
+ else if((efa->h) || ((efa->f & SELECT)==0))
+ continue;
+
+ tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+
+ if(!tf)
+ return 1; /* default selected if doesn't exists */
+
+ if(implicit &&
+ !( uvedit_uv_selected(scene, efa, tf, 0) ||
+ uvedit_uv_selected(scene, efa, tf, 1) ||
+ uvedit_uv_selected(scene, efa, tf, 2) ||
+ (efa->v4 && uvedit_uv_selected(scene, efa, tf, 3)) )
+ ) {
+ continue;
+ }
+
+ return 1;
+ }
+
+ return 0;
+}
+
static ParamHandle *construct_param_handle(Scene *scene, EditMesh *em, short implicit, short fill, short sel, short correct_aspect)
{
ParamHandle *handle;
@@ -171,15 +206,11 @@ static ParamHandle *construct_param_handle(Scene *scene, EditMesh *em, short imp
int nverts;
if(scene->toolsettings->uv_flag & UV_SYNC_SELECTION) {
- if(efa->h) {
- continue;
- }
- }
- else {
- if((efa->h) || (sel && (efa->f & SELECT)==0)) {
+ if(efa->h)
continue;
- }
}
+ else if((efa->h) || (sel && (efa->f & SELECT)==0))
+ continue;
tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
@@ -256,13 +287,19 @@ typedef struct MinStretch {
wmTimer *timer;
} MinStretch;
-static void minimize_stretch_init(bContext *C, wmOperator *op)
+static int minimize_stretch_init(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
MinStretch *ms;
int fill_holes= RNA_boolean_get(op->ptr, "fill_holes");
+ short implicit= 1;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return 0;
+ }
ms= MEM_callocN(sizeof(MinStretch), "MinStretch");
ms->scene= scene;
@@ -270,7 +307,8 @@ static void minimize_stretch_init(bContext *C, wmOperator *op)
ms->em= em;
ms->blend= RNA_float_get(op->ptr, "blend");
ms->iterations= RNA_int_get(op->ptr, "iterations");
- ms->handle= construct_param_handle(scene, em, 1, fill_holes, 1, 1);
+ ms->i= 0;
+ ms->handle= construct_param_handle(scene, em, implicit, fill_holes, 1, 1);
ms->lasttime= PIL_check_seconds_timer();
param_stretch_begin(ms->handle);
@@ -278,6 +316,8 @@ static void minimize_stretch_init(bContext *C, wmOperator *op)
param_stretch_blend(ms->handle, ms->blend);
op->customdata= ms;
+
+ return 1;
}
static void minimize_stretch_iteration(bContext *C, wmOperator *op, int interactive)
@@ -288,6 +328,9 @@ static void minimize_stretch_iteration(bContext *C, wmOperator *op, int interact
param_stretch_blend(ms->handle, ms->blend);
param_stretch_iter(ms->handle);
+ ms->i++;
+ RNA_int_set(op->ptr, "iterations", ms->i);
+
if(interactive && (PIL_check_seconds_timer() - ms->lasttime > 0.5)) {
char str[100];
@@ -334,7 +377,8 @@ static int minimize_stretch_exec(bContext *C, wmOperator *op)
{
int i, iterations;
- minimize_stretch_init(C, op);
+ if(!minimize_stretch_init(C, op))
+ return OPERATOR_CANCELLED;
iterations= RNA_int_get(op->ptr, "iterations");
for(i=0; i<iterations; i++)
@@ -348,7 +392,9 @@ static int minimize_stretch_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(
{
MinStretch *ms;
- minimize_stretch_init(C, op);
+ if(!minimize_stretch_init(C, op))
+ return OPERATOR_CANCELLED;
+
minimize_stretch_iteration(C, op, 1);
ms= op->customdata;
@@ -445,6 +491,12 @@ static int pack_islands_exec(bContext *C, wmOperator *op)
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
ParamHandle *handle;
+ short implicit= 1;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_CANCELLED;
+ }
if(RNA_property_is_set(op->ptr, "margin")) {
scene->toolsettings->uvcalc_margin= RNA_float_get(op->ptr, "margin");
@@ -453,7 +505,7 @@ static int pack_islands_exec(bContext *C, wmOperator *op)
RNA_float_set(op->ptr, "margin", scene->toolsettings->uvcalc_margin);
}
- handle = construct_param_handle(scene, em, 1, 0, 1, 1);
+ handle = construct_param_handle(scene, em, implicit, 0, 1, 1);
param_pack(handle, scene->toolsettings->uvcalc_margin);
param_flush(handle);
param_delete(handle);
@@ -488,8 +540,14 @@ static int average_islands_scale_exec(bContext *C, wmOperator *UNUSED(op))
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
ParamHandle *handle;
+ short implicit= 1;
- handle= construct_param_handle(scene, em, 1, 0, 1, 1);
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_CANCELLED;
+ }
+
+ handle= construct_param_handle(scene, em, implicit, 0, 1, 1);
param_average(handle);
param_flush(handle);
param_delete(handle);
@@ -834,11 +892,13 @@ static void uv_map_clip_correct(EditMesh *em, wmOperator *op)
void ED_unwrap_lscm(Scene *scene, Object *obedit, const short sel)
{
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
+ ParamHandle *handle;
const short fill_holes= scene->toolsettings->uvcalc_flag & UVCALC_FILLHOLES;
const short correct_aspect= !(scene->toolsettings->uvcalc_flag & UVCALC_NO_ASPECT_CORRECT);
+ short implicit= 0;
- ParamHandle *handle= construct_param_handle(scene, em, 0, fill_holes, sel, correct_aspect);
+ handle= construct_param_handle(scene, em, implicit, fill_holes, sel, correct_aspect);
param_lscm_begin(handle, PARAM_FALSE, scene->toolsettings->unwrapper == 0);
param_lscm_solve(handle);
@@ -857,9 +917,18 @@ static int unwrap_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
int method = RNA_enum_get(op->ptr, "method");
int fill_holes = RNA_boolean_get(op->ptr, "fill_holes");
int correct_aspect = RNA_boolean_get(op->ptr, "correct_aspect");
+ short implicit= 0;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return 0;
+ }
+
+ BKE_mesh_end_editmesh(obedit->data, em);
/* add uvs if they don't exist yet */
if(!ED_uvedit_ensure_uvs(C, scene, obedit)) {
@@ -893,6 +962,7 @@ void UV_OT_unwrap(wmOperatorType *ot)
/* identifiers */
ot->name= "Unwrap";
+ ot->description= "Unwrap the mesh of the object being edited";
ot->idname= "UV_OT_unwrap";
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index fc7e3408683..8f575dfb50b 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -26,15 +26,18 @@
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
../imbuf
../makesdna
../makesrna
../../../intern/guardedalloc
../../../intern/smoke/extern
- ${GLEW_INCLUDE_PATH}
+)
+
+set(INC_SYS
+ ${GLEW_INCLUDE_PATH}
)
set(SRC
@@ -53,7 +56,11 @@ set(SRC
intern/gpu_codegen.h
)
+if(WITH_MOD_SMOKE)
+ add_definitions(-DWITH_SMOKE)
+endif()
+
add_definitions(-DGLEW_STATIC)
-blender_add_lib(bf_gpu "${SRC}" "${INC}")
+blender_add_lib(bf_gpu "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/gpu/GPU_buffers.h b/source/blender/gpu/GPU_buffers.h
index 7ce166d92bd..6cee9e95cf6 100644
--- a/source/blender/gpu/GPU_buffers.h
+++ b/source/blender/gpu/GPU_buffers.h
@@ -37,8 +37,6 @@
#ifndef __GPU_BUFFERS_H__
#define __GPU_BUFFERS_H__
-#define MAX_FREE_GPU_BUFFERS 8
-
#ifdef _DEBUG
/*#define DEBUG_VBO(X) printf(X)*/
#define DEBUG_VBO(X)
@@ -46,112 +44,92 @@
#define DEBUG_VBO(X)
#endif
-#ifdef _DEBUG
-#define ERROR_VBO(X) printf(X)
-#else
-#define ERROR_VBO(X)
-#endif
-
struct DerivedMesh;
struct DMGridData;
struct GHash;
struct DMGridData;
+struct GPUVertPointLink;
-/* V - vertex, N - normal, T - uv, C - color
- F - float, UB - unsigned byte */
-#define GPU_BUFFER_INTER_V3F 1
-#define GPU_BUFFER_INTER_N3F 2
-#define GPU_BUFFER_INTER_T2F 3
-#define GPU_BUFFER_INTER_C3UB 4
-#define GPU_BUFFER_INTER_C4UB 5
-#define GPU_BUFFER_INTER_END -1
-
-typedef struct GPUBuffer
-{
+typedef struct GPUBuffer {
int size; /* in bytes */
void *pointer; /* used with vertex arrays */
unsigned int id; /* used with vertex buffer objects */
} GPUBuffer;
-/* stores deleted buffers so that new buffers wouldn't have to
-be recreated that often. */
-typedef struct GPUBufferPool
-{
- int size; /* number of allocated buffers stored */
- int maxsize; /* size of the array */
- GPUBuffer **buffers;
-} GPUBufferPool;
-
-typedef struct GPUBufferMaterial
-{
- int start; /* at which vertex in the buffer the material starts */
- int end; /* at which vertex it ends */
- char mat_nr;
-} GPUBufferMaterial;
+typedef struct GPUBufferMaterial {
+ /* range of points used for this material */
+ int start;
+ int totpoint;
-typedef struct IndexLink {
- int element;
- struct IndexLink *next;
-} IndexLink;
+ /* original material index */
+ short mat_nr;
+} GPUBufferMaterial;
-typedef struct GPUDrawObject
-{
- GPUBuffer *vertices;
+/* meshes are split up by material since changing materials requires
+ GL state changes that can't occur in the middle of drawing an
+ array.
+
+ some simplifying assumptions are made:
+ * all quads are treated as two triangles.
+ * no vertex sharing is used; each triangle gets its own copy of the
+ vertices it uses (this makes it easy to deal with a vertex used
+ by faces with different properties, such as smooth/solid shading,
+ different MCols, etc.)
+
+ to avoid confusion between the original MVert vertices and the
+ arrays of OpenGL vertices, the latter are referred to here and in
+ the source as `points'. similarly, the OpenGL triangles generated
+ for MFaces are referred to as triangles rather than faces.
+ */
+typedef struct GPUDrawObject {
+ GPUBuffer *points;
GPUBuffer *normals;
GPUBuffer *uv;
GPUBuffer *colors;
GPUBuffer *edges;
GPUBuffer *uvedges;
- int *faceRemap; /* at what index was the face originally in DerivedMesh */
- IndexLink *indices; /* given an index, find all elements using it */
- IndexLink *indexMem; /* for faster memory allocation/freeing */
- int indexMemUsage; /* how many are already allocated */
+ /* for each triangle, the original MFace index */
+ int *triangle_to_mface;
+
+ /* for each original vertex, the list of related points */
+ struct GPUVertPointLink *vert_points;
+ /* storage for the vert_points lists */
+ struct GPUVertPointLink *vert_points_mem;
+ int vert_points_usage;
+
int colType;
GPUBufferMaterial *materials;
-
- int nmaterials;
- int nelements; /* (number of faces) * 3 */
- int nlooseverts;
- int nedges;
- int nindices;
- int legacy; /* if there was a failure allocating some buffer, use old rendering code */
-
+ int totmaterial;
+
+ int tot_triangle_point;
+ int tot_loose_point;
+
+ /* caches of the original DerivedMesh values */
+ int totvert;
+ int totedge;
+
+ /* if there was a failure allocating some buffer, use old
+ rendering code */
+ int legacy;
} GPUDrawObject;
/* used for GLSL materials */
-typedef struct GPUAttrib
-{
+typedef struct GPUAttrib {
int index;
int size;
int type;
} GPUAttrib;
-GPUBufferPool *GPU_buffer_pool_new(void);
-void GPU_buffer_pool_free( GPUBufferPool *pool );
-void GPU_buffer_pool_free_unused( GPUBufferPool *pool );
+void GPU_global_buffer_pool_free(void);
-GPUBuffer *GPU_buffer_alloc( int size, GPUBufferPool *pool );
-void GPU_buffer_free( GPUBuffer *buffer, GPUBufferPool *pool );
+GPUBuffer *GPU_buffer_alloc(int size);
+void GPU_buffer_free(GPUBuffer *buffer);
GPUDrawObject *GPU_drawobject_new( struct DerivedMesh *dm );
void GPU_drawobject_free( struct DerivedMesh *dm );
-/* Buffers for non-DerivedMesh drawing */
-void *GPU_build_mesh_buffers(struct GHash *map, struct MVert *mvert,
- struct MFace *mface, int *face_indices,
- int totface, int *vert_indices, int uniq_verts,
- int totvert);
-void GPU_update_mesh_buffers(void *buffers, struct MVert *mvert,
- int *vert_indices, int totvert);
-void *GPU_build_grid_buffers(struct DMGridData **grids,
- int *grid_indices, int totgrid, int gridsize);
-void GPU_update_grid_buffers(void *buffers_v, struct DMGridData **grids,
- int *grid_indices, int totgrid, int gridsize, int smooth);
-void GPU_draw_buffers(void *buffers);
-void GPU_free_buffers(void *buffers);
-
/* called before drawing */
void GPU_vertex_setup( struct DerivedMesh *dm );
void GPU_normal_setup( struct DerivedMesh *dm );
@@ -175,6 +153,7 @@ void GPU_color4_upload( struct DerivedMesh *dm, unsigned char *data );
/* switch color rendering on=1/off=0 */
void GPU_color_switch( int mode );
+/* used for drawing edges */
void GPU_buffer_draw_elements( GPUBuffer *elements, unsigned int mode, int start, int count );
/* called after drawing */
@@ -183,4 +162,18 @@ void GPU_buffer_unbind(void);
/* used to check whether to use the old (without buffers) code */
int GPU_buffer_legacy( struct DerivedMesh *dm );
+/* Buffers for non-DerivedMesh drawing */
+void *GPU_build_mesh_buffers(struct GHash *map, struct MVert *mvert,
+ struct MFace *mface, int *face_indices,
+ int totface, int *vert_indices, int uniq_verts,
+ int totvert);
+void GPU_update_mesh_buffers(void *buffers, struct MVert *mvert,
+ int *vert_indices, int totvert);
+void *GPU_build_grid_buffers(struct DMGridData **grids,
+ int *grid_indices, int totgrid, int gridsize);
+void GPU_update_grid_buffers(void *buffers_v, struct DMGridData **grids,
+ int *grid_indices, int totgrid, int gridsize, int smooth);
+void GPU_draw_buffers(void *buffers);
+void GPU_free_buffers(void *buffers);
+
#endif
diff --git a/source/blender/gpu/GPU_draw.h b/source/blender/gpu/GPU_draw.h
index 18a6f1ba73d..d75b8db2c4e 100644
--- a/source/blender/gpu/GPU_draw.h
+++ b/source/blender/gpu/GPU_draw.h
@@ -112,6 +112,11 @@ void GPU_set_mipmap(int mipmap);
void GPU_set_linear_mipmap(int linear);
void GPU_paint_set_mipmap(int mipmap);
+/* Anisotropic filtering settings
+ * - these will free textures on changes */
+void GPU_set_anisotropic(float value);
+float GPU_get_anisotropic(void);
+
/* Image updates and free
* - these deal with images bound as opengl textures */
diff --git a/source/blender/gpu/SConscript b/source/blender/gpu/SConscript
index 515c7166c2a..b48e1d5a8e2 100644
--- a/source/blender/gpu/SConscript
+++ b/source/blender/gpu/SConscript
@@ -13,4 +13,6 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
incs += ' ' + env['BF_OPENGL_INC']
+defs.append('WITH_SMOKE') # TODO, make optional
+
env.BlenderLib ( 'bf_gpu', sources, Split(incs), defines = defs, libtype=['core','player'], priority=[160,110] )
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 0d843dedbaa..4d4561e66db 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -56,11 +56,13 @@
#include "GPU_buffers.h"
-#define GPU_BUFFER_VERTEX_STATE 1
-#define GPU_BUFFER_NORMAL_STATE 2
-#define GPU_BUFFER_TEXCOORD_STATE 4
-#define GPU_BUFFER_COLOR_STATE 8
-#define GPU_BUFFER_ELEMENT_STATE 16
+typedef enum {
+ GPU_BUFFER_VERTEX_STATE = 1,
+ GPU_BUFFER_NORMAL_STATE = 2,
+ GPU_BUFFER_TEXCOORD_STATE = 4,
+ GPU_BUFFER_COLOR_STATE = 8,
+ GPU_BUFFER_ELEMENT_STATE = 16,
+} GPUBufferState;
#define MAX_GPU_ATTRIB_DATA 32
@@ -69,342 +71,1207 @@
/* -1 - undefined, 0 - vertex arrays, 1 - VBOs */
static int useVBOs = -1;
-static GPUBufferPool *globalPool = 0;
-static int GLStates = 0;
+static GPUBufferState GLStates = 0;
static GPUAttrib attribData[MAX_GPU_ATTRIB_DATA] = { { -1, 0, 0 } };
-GPUBufferPool *GPU_buffer_pool_new(void)
+/* stores recently-deleted buffers so that new buffers won't have to
+ be recreated as often
+
+ only one instance of this pool is created, stored in
+ gpu_buffer_pool
+
+ note that the number of buffers in the pool is usually limited to
+ MAX_FREE_GPU_BUFFERS, but this limit may be exceeded temporarily
+ when a GPUBuffer is released outside the main thread; due to OpenGL
+ restrictions it cannot be immediately released
+ */
+typedef struct GPUBufferPool {
+ /* number of allocated buffers stored */
+ int totbuf;
+ /* actual allocated length of the array */
+ int maxsize;
+ GPUBuffer **buffers;
+} GPUBufferPool;
+#define MAX_FREE_GPU_BUFFERS 8
+
+/* create a new GPUBufferPool */
+static GPUBufferPool *gpu_buffer_pool_new(void)
{
GPUBufferPool *pool;
- DEBUG_VBO("GPU_buffer_pool_new\n");
+ /* enable VBOs if supported */
+ if(useVBOs == -1)
+ useVBOs = (GLEW_ARB_vertex_buffer_object ? 1 : 0);
- if( useVBOs < 0 ) {
- if( GL_ARB_vertex_buffer_object ) {
- DEBUG_VBO( "Vertex Buffer Objects supported.\n" );
- useVBOs = 1;
- }
- else {
- DEBUG_VBO( "Vertex Buffer Objects NOT supported.\n" );
- useVBOs = 0;
- }
- }
+ pool = MEM_callocN(sizeof(GPUBufferPool), "GPUBuffer");
- pool = MEM_callocN(sizeof(GPUBufferPool), "GPU_buffer_pool_new");
pool->maxsize = MAX_FREE_GPU_BUFFERS;
- pool->buffers = MEM_callocN(sizeof(GPUBuffer*)*pool->maxsize, "GPU_buffer_pool_new buffers");
+ pool->buffers = MEM_callocN(sizeof(GPUBuffer*)*pool->maxsize,
+ "GPUBuffer.buffers");
return pool;
}
-static void GPU_buffer_pool_remove( int index, GPUBufferPool *pool )
+/* remove a GPUBuffer from the pool (does not free the GPUBuffer) */
+static void gpu_buffer_pool_remove_index(GPUBufferPool *pool, int index)
{
int i;
- if( index >= pool->size || index < 0 ) {
- ERROR_VBO("Wrong index, out of bounds in call to GPU_buffer_pool_remove");
+ if(!pool || index < 0 || index >= pool->totbuf)
return;
- }
- DEBUG_VBO("GPU_buffer_pool_remove\n");
- for( i = index; i < pool->size-1; i++ ) {
+ /* shift entries down, overwriting the buffer at `index' */
+ for(i = index; i < pool->totbuf - 1; i++)
pool->buffers[i] = pool->buffers[i+1];
- }
- if( pool->size > 0 )
- pool->buffers[pool->size-1] = 0;
- pool->size--;
+ /* clear the last entry */
+ if(pool->totbuf > 0)
+ pool->buffers[pool->totbuf - 1] = NULL;
+
+ pool->totbuf--;
}
-static void GPU_buffer_pool_delete_last( GPUBufferPool *pool )
+/* delete the last entry in the pool */
+static void gpu_buffer_pool_delete_last(GPUBufferPool *pool)
{
- int last;
+ GPUBuffer *last;
- DEBUG_VBO("GPU_buffer_pool_delete_last\n");
+ if(pool->totbuf <= 0)
+ return;
- if( pool->size <= 0 )
+ /* get the last entry */
+ if(!(last = pool->buffers[pool->totbuf - 1]))
return;
- last = pool->size-1;
+ /* delete the buffer's data */
+ if(useVBOs)
+ glDeleteBuffersARB(1, &last->id);
+ else
+ MEM_freeN(last->pointer);
- if( pool->buffers[last] != 0 ) {
- if( useVBOs ) {
- glDeleteBuffersARB(1,&pool->buffers[last]->id);
- MEM_freeN( pool->buffers[last] );
- }
- else {
- MEM_freeN( pool->buffers[last]->pointer );
- MEM_freeN( pool->buffers[last] );
- }
- pool->buffers[last] = 0;
- } else {
- DEBUG_VBO("Why are we accessing a null buffer?\n");
- }
- pool->size--;
+ /* delete the buffer and remove from pool */
+ MEM_freeN(last);
+ pool->totbuf--;
+ pool->buffers[pool->totbuf] = NULL;
}
-void GPU_buffer_pool_free(GPUBufferPool *pool)
+/* free a GPUBufferPool; also frees the data in the pool's
+ GPUBuffers */
+static void gpu_buffer_pool_free(GPUBufferPool *pool)
{
- DEBUG_VBO("GPU_buffer_pool_free\n");
-
- if( pool == 0 )
- pool = globalPool;
- if( pool == 0 )
+ if(!pool)
return;
- while( pool->size )
- GPU_buffer_pool_delete_last(pool);
+ while(pool->totbuf)
+ gpu_buffer_pool_delete_last(pool);
MEM_freeN(pool->buffers);
MEM_freeN(pool);
- /* if we are releasing the global pool, stop keeping a reference to it */
- if (pool == globalPool)
- globalPool = NULL;
}
-void GPU_buffer_pool_free_unused(GPUBufferPool *pool)
+static GPUBufferPool *gpu_buffer_pool = NULL;
+static GPUBufferPool *gpu_get_global_buffer_pool(void)
{
- DEBUG_VBO("GPU_buffer_pool_free_unused\n");
+ /* initialize the pool */
+ if(!gpu_buffer_pool)
+ gpu_buffer_pool = gpu_buffer_pool_new();
- if( pool == 0 )
- pool = globalPool;
- if( pool == 0 )
- return;
-
- while( pool->size > MAX_FREE_GPU_BUFFERS )
- GPU_buffer_pool_delete_last(pool);
+ return gpu_buffer_pool;
}
-GPUBuffer *GPU_buffer_alloc( int size, GPUBufferPool *pool )
+void GPU_global_buffer_pool_free(void)
{
- char buffer[60];
- int i;
- int cursize;
- GPUBuffer *allocated;
- int bestfit = -1;
+ gpu_buffer_pool_free(gpu_buffer_pool);
+ gpu_buffer_pool = NULL;
+}
+
+/* get a GPUBuffer of at least `size' bytes; uses one from the buffer
+ pool if possible, otherwise creates a new one */
+GPUBuffer *GPU_buffer_alloc(int size)
+{
+ GPUBufferPool *pool;
+ GPUBuffer *buf;
+ int i, bufsize, bestfit = -1;
- DEBUG_VBO("GPU_buffer_alloc\n");
+ pool = gpu_get_global_buffer_pool();
- if( pool == 0 ) {
- if( globalPool == 0 )
- globalPool = GPU_buffer_pool_new();
- pool = globalPool;
- }
+ /* not sure if this buffer pool code has been profiled much,
+ seems to me that the graphics driver and system memory
+ management might do this stuff anyway. --nicholas
+ */
+
+ /* check the global buffer pool for a recently-deleted buffer
+ that is at least as big as the request, but not more than
+ twice as big */
+ for(i = 0; i < pool->totbuf; i++) {
+ bufsize = pool->buffers[i]->size;
- for( i = 0; i < pool->size; i++ ) {
- cursize = pool->buffers[i]->size;
- if( cursize == size ) {
- allocated = pool->buffers[i];
- GPU_buffer_pool_remove(i,pool);
- DEBUG_VBO("free buffer of exact size found\n");
- return allocated;
+ /* check for an exact size match */
+ if(bufsize == size) {
+ bestfit = i;
+ break;
}
- /* smaller buffers won't fit data and buffers at least twice as big are a waste of memory */
- else if( cursize > size && size > cursize/2 ) {
- /* is it closer to the required size than the last appropriate buffer found. try to save memory */
- if( bestfit == -1 || pool->buffers[bestfit]->size > cursize ) {
+ /* smaller buffers won't fit data and buffers at least
+ twice as big are a waste of memory */
+ else if(bufsize > size && size > (bufsize / 2)) {
+ /* is it closer to the required size than the
+ last appropriate buffer found. try to save
+ memory */
+ if(bestfit == -1 || pool->buffers[bestfit]->size > bufsize) {
bestfit = i;
}
}
}
- if( bestfit == -1 ) {
- DEBUG_VBO("allocating a new buffer\n");
-
- allocated = MEM_mallocN(sizeof(GPUBuffer), "GPU_buffer_alloc");
- allocated->size = size;
- if( useVBOs == 1 ) {
- glGenBuffersARB( 1, &allocated->id );
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, allocated->id );
- glBufferDataARB( GL_ARRAY_BUFFER_ARB, size, 0, GL_STATIC_DRAW_ARB );
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, 0 );
- }
- else {
- allocated->pointer = MEM_mallocN(size, "GPU_buffer_alloc_vertexarray");
- while( allocated->pointer == 0 && pool->size > 0 ) {
- GPU_buffer_pool_delete_last(pool);
- allocated->pointer = MEM_mallocN(size, "GPU_buffer_alloc_vertexarray");
- }
- if( allocated->pointer == 0 && pool->size == 0 ) {
- return 0;
- }
- }
+
+ /* if an acceptable buffer was found in the pool, remove it
+ from the pool and return it */
+ if(bestfit != -1) {
+ buf = pool->buffers[bestfit];
+ gpu_buffer_pool_remove_index(pool, bestfit);
+ return buf;
}
- else {
- sprintf(buffer,"free buffer found. Wasted %d bytes\n", pool->buffers[bestfit]->size-size);
- DEBUG_VBO(buffer);
- allocated = pool->buffers[bestfit];
- GPU_buffer_pool_remove(bestfit,pool);
+ /* no acceptable buffer found in the pool, create a new one */
+ buf = MEM_callocN(sizeof(GPUBuffer), "GPUBuffer");
+ buf->size = size;
+
+ if(useVBOs == 1) {
+ /* create a new VBO and initialize it to the requested
+ size */
+ glGenBuffersARB(1, &buf->id);
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buf->id);
+ glBufferDataARB(GL_ARRAY_BUFFER_ARB, size, 0, GL_STATIC_DRAW_ARB);
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+ }
+ else {
+ buf->pointer = MEM_mallocN(size, "GPUBuffer.pointer");
+
+ /* purpose of this seems to be dealing with
+ out-of-memory errors? looks a bit iffy to me
+ though, at least on Linux I expect malloc() would
+ just overcommit. --nicholas */
+ while(!buf->pointer && pool->totbuf > 0) {
+ gpu_buffer_pool_delete_last(pool);
+ buf->pointer = MEM_mallocN(size, "GPUBuffer.pointer");
+ }
+ if(!buf->pointer)
+ return NULL;
}
- return allocated;
+
+ return buf;
}
-void GPU_buffer_free( GPUBuffer *buffer, GPUBufferPool *pool )
+/* release a GPUBuffer; does not free the actual buffer or its data,
+ but rather moves it to the pool of recently-free'd buffers for
+ possible re-use*/
+void GPU_buffer_free(GPUBuffer *buffer)
{
+ GPUBufferPool *pool;
int i;
- DEBUG_VBO("GPU_buffer_free\n");
-
- if( buffer == 0 )
+ if(!buffer)
return;
- if( pool == 0 )
- pool = globalPool;
- if( pool == 0 )
- pool = globalPool = GPU_buffer_pool_new();
+
+ pool = gpu_get_global_buffer_pool();
/* free the last used buffer in the queue if no more space, but only
if we are in the main thread. for e.g. rendering or baking it can
happen that we are in other thread and can't call OpenGL, in that
case cleanup will be done GPU_buffer_pool_free_unused */
- if( BLI_thread_is_main() ) {
- while( pool->size >= MAX_FREE_GPU_BUFFERS )
- GPU_buffer_pool_delete_last( pool );
+ if(BLI_thread_is_main()) {
+ /* in main thread, safe to decrease size of pool back
+ down to MAX_FREE_GPU_BUFFERS */
+ while(pool->totbuf >= MAX_FREE_GPU_BUFFERS)
+ gpu_buffer_pool_delete_last(pool);
}
else {
- if( pool->maxsize == pool->size ) {
+ /* outside of main thread, can't safely delete the
+ buffer, so increase pool size */
+ if(pool->maxsize == pool->totbuf) {
pool->maxsize += MAX_FREE_GPU_BUFFERS;
- pool->buffers = MEM_reallocN(pool->buffers, sizeof(GPUBuffer*)*pool->maxsize);
+ pool->buffers = MEM_reallocN(pool->buffers,
+ sizeof(GPUBuffer*) * pool->maxsize);
}
}
- for( i =pool->size; i > 0; i-- ) {
+ /* shift pool entries up by one */
+ for(i = pool->totbuf; i > 0; i--)
pool->buffers[i] = pool->buffers[i-1];
- }
+
+ /* insert the buffer into the beginning of the pool */
pool->buffers[0] = buffer;
- pool->size++;
+ pool->totbuf++;
}
+typedef struct GPUVertPointLink {
+ struct GPUVertPointLink *next;
+ /* -1 means uninitialized */
+ int point_index;
+} GPUVertPointLink;
+
+/* add a new point to the list of points related to a particular
+ vertex */
+static void gpu_drawobject_add_vert_point(GPUDrawObject *gdo, int vert_index, int point_index)
+{
+ GPUVertPointLink *lnk;
+
+ lnk = &gdo->vert_points[vert_index];
+
+ /* if first link is in use, add a new link at the end */
+ if(lnk->point_index != -1) {
+ /* get last link */
+ for(; lnk->next; lnk = lnk->next);
+
+ /* add a new link from the pool */
+ lnk = lnk->next = &gdo->vert_points_mem[gdo->vert_points_usage];
+ gdo->vert_points_usage++;
+ }
+
+ lnk->point_index = point_index;
+}
+
+/* update the vert_points and triangle_to_mface fields with a new
+ triangle */
+static void gpu_drawobject_add_triangle(GPUDrawObject *gdo,
+ int base_point_index,
+ int face_index,
+ int v1, int v2, int v3)
+{
+ int i, v[3] = {v1, v2, v3};
+ for(i = 0; i < 3; i++)
+ gpu_drawobject_add_vert_point(gdo, v[i], base_point_index + i);
+ gdo->triangle_to_mface[base_point_index / 3] = face_index;
+}
+
+/* for each vertex, build a list of points related to it; these lists
+ are stored in an array sized to the number of vertices */
+static void gpu_drawobject_init_vert_points(GPUDrawObject *gdo, MFace *f, int totface)
+{
+ GPUBufferMaterial *mat;
+ int i, mat_orig_to_new[MAX_MATERIALS];
+
+ /* allocate the array and space for links */
+ gdo->vert_points = MEM_callocN(sizeof(GPUVertPointLink) * gdo->totvert,
+ "GPUDrawObject.vert_points");
+ gdo->vert_points_mem = MEM_callocN(sizeof(GPUVertPointLink) * gdo->tot_triangle_point,
+ "GPUDrawObject.vert_points_mem");
+ gdo->vert_points_usage = 0;
+
+ /* build a map from the original material indices to the new
+ GPUBufferMaterial indices */
+ for(i = 0; i < gdo->totmaterial; i++)
+ mat_orig_to_new[gdo->materials[i].mat_nr] = i;
+
+ /* -1 indicates the link is not yet used */
+ for(i = 0; i < gdo->totvert; i++)
+ gdo->vert_points[i].point_index = -1;
+
+ for(i = 0; i < totface; i++, f++) {
+ mat = &gdo->materials[mat_orig_to_new[f->mat_nr]];
+
+ /* add triangle */
+ gpu_drawobject_add_triangle(gdo, mat->start + mat->totpoint,
+ i, f->v1, f->v2, f->v3);
+ mat->totpoint += 3;
+
+ /* add second triangle for quads */
+ if(f->v4) {
+ gpu_drawobject_add_triangle(gdo, mat->start + mat->totpoint,
+ i, f->v3, f->v4, f->v1);
+ mat->totpoint += 3;
+ }
+ }
+
+ /* map any unused vertices to loose points */
+ for(i = 0; i < gdo->totvert; i++) {
+ if(gdo->vert_points[i].point_index == -1) {
+ gdo->vert_points[i].point_index = gdo->tot_triangle_point + gdo->tot_loose_point;
+ gdo->tot_loose_point++;
+ }
+ }
+}
+
+/* see GPUDrawObject's structure definition for a description of the
+ data being initialized here */
GPUDrawObject *GPU_drawobject_new( DerivedMesh *dm )
{
- GPUDrawObject *object;
+ GPUDrawObject *gdo;
MFace *mface;
- int numverts[MAX_MATERIALS];
- int redir[MAX_MATERIALS];
- int *index;
- int i;
- int curmat, curverts, numfaces;
+ int points_per_mat[MAX_MATERIALS];
+ int i, curmat, curpoint, totface;
+
+ mface = dm->getFaceArray(dm);
+ totface= dm->getNumFaces(dm);
- DEBUG_VBO("GPU_drawobject_new\n");
+ /* get the number of points used by each material, treating
+ each quad as two triangles */
+ memset(points_per_mat, 0, sizeof(int)*MAX_MATERIALS);
+ for(i = 0; i < totface; i++)
+ points_per_mat[mface[i].mat_nr] += mface[i].v4 ? 6 : 3;
- object = MEM_callocN(sizeof(GPUDrawObject),"GPU_drawobject_new_object");
- object->nindices = dm->getNumVerts(dm);
- object->indices = MEM_mallocN(sizeof(IndexLink)*object->nindices, "GPU_drawobject_new_indices");
- object->nedges = dm->getNumEdges(dm);
+ /* create the GPUDrawObject */
+ gdo = MEM_callocN(sizeof(GPUDrawObject),"GPUDrawObject");
+ gdo->totvert = dm->getNumVerts(dm);
+ gdo->totedge = dm->getNumEdges(dm);
- for( i = 0; i < object->nindices; i++ ) {
- object->indices[i].element = -1;
- object->indices[i].next = 0;
+ /* count the number of materials used by this DerivedMesh */
+ for(i = 0; i < MAX_MATERIALS; i++) {
+ if(points_per_mat[i] > 0)
+ gdo->totmaterial++;
}
- /*object->legacy = 1;*/
- memset(numverts,0,sizeof(int)*MAX_MATERIALS);
- mface = dm->getFaceArray(dm);
+ /* allocate an array of materials used by this DerivedMesh */
+ gdo->materials = MEM_mallocN(sizeof(GPUBufferMaterial) * gdo->totmaterial,
+ "GPUDrawObject.materials");
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- if( mface[i].v4 )
- numverts[mface[i].mat_nr] += 6; /* split every quad into two triangles */
- else
- numverts[mface[i].mat_nr] += 3;
+ /* initialize the materials array */
+ for(i = 0, curmat = 0, curpoint = 0; i < MAX_MATERIALS; i++) {
+ if(points_per_mat[i] > 0) {
+ gdo->materials[curmat].start = curpoint;
+ gdo->materials[curmat].totpoint = 0;
+ gdo->materials[curmat].mat_nr = i;
+
+ curpoint += points_per_mat[i];
+ curmat++;
+ }
}
- for( i = 0; i < MAX_MATERIALS; i++ ) {
- if( numverts[i] > 0 ) {
- object->nmaterials++;
- object->nelements += numverts[i];
+ /* store total number of points used for triangles */
+ gdo->tot_triangle_point = curpoint;
+
+ gdo->triangle_to_mface = MEM_mallocN(sizeof(int) * (gdo->tot_triangle_point / 3),
+ "GPUDrawObject.triangle_to_mface");
+
+ gpu_drawobject_init_vert_points(gdo, mface, totface);
+
+ return gdo;
+}
+
+void GPU_drawobject_free(DerivedMesh *dm)
+{
+ GPUDrawObject *gdo;
+
+ if(!dm || !(gdo = dm->drawObject))
+ return;
+
+ MEM_freeN(gdo->materials);
+ MEM_freeN(gdo->triangle_to_mface);
+ MEM_freeN(gdo->vert_points);
+ MEM_freeN(gdo->vert_points_mem);
+ GPU_buffer_free(gdo->points);
+ GPU_buffer_free(gdo->normals);
+ GPU_buffer_free(gdo->uv);
+ GPU_buffer_free(gdo->colors);
+ GPU_buffer_free(gdo->edges);
+ GPU_buffer_free(gdo->uvedges);
+
+ MEM_freeN(gdo);
+ dm->drawObject = NULL;
+}
+
+typedef void (*GPUBufferCopyFunc)(DerivedMesh *dm, float *varray, int *index,
+ int *mat_orig_to_new, void *user_data);
+
+static GPUBuffer *gpu_buffer_setup(DerivedMesh *dm, GPUDrawObject *object,
+ int vector_size, int size, GLenum target,
+ void *user, GPUBufferCopyFunc copy_f)
+{
+ GPUBufferPool *pool;
+ GPUBuffer *buffer;
+ float *varray;
+ int mat_orig_to_new[MAX_MATERIALS];
+ int *cur_index_per_mat;
+ int i;
+ int success;
+ GLboolean uploaded;
+
+ pool = gpu_get_global_buffer_pool();
+
+ /* alloc a GPUBuffer; fall back to legacy mode on failure */
+ if(!(buffer = GPU_buffer_alloc(size)))
+ dm->drawObject->legacy = 1;
+
+ /* nothing to do for legacy mode */
+ if(dm->drawObject->legacy)
+ return 0;
+
+ cur_index_per_mat = MEM_mallocN(sizeof(int)*object->totmaterial,
+ "GPU_buffer_setup.cur_index_per_mat");
+ for(i = 0; i < object->totmaterial; i++) {
+ /* for each material, the current index to copy data to */
+ cur_index_per_mat[i] = object->materials[i].start * vector_size;
+
+ /* map from original material index to new
+ GPUBufferMaterial index */
+ mat_orig_to_new[object->materials[i].mat_nr] = i;
+ }
+
+ if(useVBOs) {
+ success = 0;
+
+ while(!success) {
+ /* bind the buffer and discard previous data,
+ avoids stalling gpu */
+ glBindBufferARB(target, buffer->id);
+ glBufferDataARB(target, buffer->size, 0, GL_STATIC_DRAW_ARB);
+
+ /* attempt to map the buffer */
+ if(!(varray = glMapBufferARB(target, GL_WRITE_ONLY_ARB))) {
+ /* failed to map the buffer; delete it */
+ GPU_buffer_free(buffer);
+ gpu_buffer_pool_delete_last(pool);
+ buffer= NULL;
+
+ /* try freeing an entry from the pool
+ and reallocating the buffer */
+ if(pool->totbuf > 0) {
+ gpu_buffer_pool_delete_last(pool);
+ buffer = GPU_buffer_alloc(size);
+ }
+
+ /* allocation still failed; fall back
+ to legacy mode */
+ if(!buffer) {
+ dm->drawObject->legacy = 1;
+ success = 1;
+ }
+ }
+ else {
+ success = 1;
+ }
+ }
+
+ /* check legacy fallback didn't happen */
+ if(dm->drawObject->legacy == 0) {
+ uploaded = GL_FALSE;
+ /* attempt to upload the data to the VBO */
+ while(uploaded == GL_FALSE) {
+ (*copy_f)(dm, varray, cur_index_per_mat, mat_orig_to_new, user);
+ /* glUnmapBuffer returns GL_FALSE if
+ the data store is corrupted; retry
+ in that case */
+ uploaded = glUnmapBufferARB(target);
+ }
}
+ glBindBufferARB(target, 0);
}
- object->materials = MEM_mallocN(sizeof(GPUBufferMaterial)*object->nmaterials,"GPU_drawobject_new_materials");
- index = MEM_mallocN(sizeof(int)*object->nmaterials,"GPU_drawobject_new_index");
-
- curmat = curverts = 0;
- for( i = 0; i < MAX_MATERIALS; i++ ) {
- if( numverts[i] > 0 ) {
- object->materials[curmat].mat_nr = i;
- object->materials[curmat].start = curverts;
- index[curmat] = curverts/3;
- object->materials[curmat].end = curverts+numverts[i];
- curverts += numverts[i];
- curmat++;
+ else {
+ /* VBO not supported, use vertex array fallback */
+ if(buffer->pointer) {
+ varray = buffer->pointer;
+ (*copy_f)(dm, varray, cur_index_per_mat, mat_orig_to_new, user);
+ }
+ else {
+ dm->drawObject->legacy = 1;
}
}
- object->faceRemap = MEM_mallocN(sizeof(int)*object->nelements/3,"GPU_drawobject_new_faceRemap");
- for( i = 0; i < object->nmaterials; i++ ) {
- redir[object->materials[i].mat_nr] = i; /* material number -> material index */
+
+ MEM_freeN(cur_index_per_mat);
+
+ return buffer;
+}
+
+static void GPU_buffer_copy_vertex(DerivedMesh *dm, float *varray, int *index, int *mat_orig_to_new, void *UNUSED(user))
+{
+ MVert *mvert;
+ MFace *f;
+ int i, j, start, totface;
+
+ mvert = dm->getVertArray(dm);
+ f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i = 0; i < totface; i++, f++) {
+ start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ copy_v3_v3(&varray[start], mvert[f->v1].co);
+ copy_v3_v3(&varray[start+3], mvert[f->v2].co);
+ copy_v3_v3(&varray[start+6], mvert[f->v3].co);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ copy_v3_v3(&varray[start+9], mvert[f->v3].co);
+ copy_v3_v3(&varray[start+12], mvert[f->v4].co);
+ copy_v3_v3(&varray[start+15], mvert[f->v1].co);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+ }
}
- object->indexMem = MEM_callocN(sizeof(IndexLink)*object->nelements,"GPU_drawobject_new_indexMem");
- object->indexMemUsage = 0;
-
-#define ADDLINK( INDEX, ACTUAL ) \
- if( object->indices[INDEX].element == -1 ) { \
- object->indices[INDEX].element = ACTUAL; \
- } else { \
- IndexLink *lnk = &object->indices[INDEX]; \
- while( lnk->next != 0 ) lnk = lnk->next; \
- lnk->next = &object->indexMem[object->indexMemUsage]; \
- lnk->next->element = ACTUAL; \
- object->indexMemUsage++; \
+ /* copy loose points */
+ j = dm->drawObject->tot_triangle_point*3;
+ for(i = 0; i < dm->drawObject->totvert; i++) {
+ if(dm->drawObject->vert_points[i].point_index >= dm->drawObject->tot_triangle_point) {
+ copy_v3_v3(&varray[j],mvert[i].co);
+ j+=3;
}
+ }
+}
- for( i=0; i < numfaces; i++ ) {
- int curInd = index[redir[mface[i].mat_nr]];
- object->faceRemap[curInd] = i;
- ADDLINK( mface[i].v1, curInd*3 );
- ADDLINK( mface[i].v2, curInd*3+1 );
- ADDLINK( mface[i].v3, curInd*3+2 );
- if( mface[i].v4 ) {
- object->faceRemap[curInd+1] = i;
- ADDLINK( mface[i].v3, curInd*3+3 );
- ADDLINK( mface[i].v4, curInd*3+4 );
- ADDLINK( mface[i].v1, curInd*3+5 );
-
- index[redir[mface[i].mat_nr]]+=2;
+static void GPU_buffer_copy_normal(DerivedMesh *dm, float *varray, int *index, int *mat_orig_to_new, void *UNUSED(user))
+{
+ int i, totface;
+ int start;
+ float f_no[3];
+
+ float *nors= dm->getFaceDataArray(dm, CD_NORMAL);
+ MVert *mvert = dm->getVertArray(dm);
+ MFace *f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i = 0; i < totface; i++, f++) {
+ const int smoothnormal = (f->flag & ME_SMOOTH);
+
+ start = index[mat_orig_to_new[f->mat_nr]];
+ index[mat_orig_to_new[f->mat_nr]] += f->v4 ? 18 : 9;
+
+ if(smoothnormal) {
+ /* copy vertex normal */
+ normal_short_to_float_v3(&varray[start], mvert[f->v1].no);
+ normal_short_to_float_v3(&varray[start+3], mvert[f->v2].no);
+ normal_short_to_float_v3(&varray[start+6], mvert[f->v3].no);
+
+ if(f->v4) {
+ normal_short_to_float_v3(&varray[start+9], mvert[f->v3].no);
+ normal_short_to_float_v3(&varray[start+12], mvert[f->v4].no);
+ normal_short_to_float_v3(&varray[start+15], mvert[f->v1].no);
+ }
+ }
+ else if(nors) {
+ /* copy cached face normal */
+ copy_v3_v3(&varray[start], &nors[i*3]);
+ copy_v3_v3(&varray[start+3], &nors[i*3]);
+ copy_v3_v3(&varray[start+6], &nors[i*3]);
+
+ if(f->v4) {
+ copy_v3_v3(&varray[start+9], &nors[i*3]);
+ copy_v3_v3(&varray[start+12], &nors[i*3]);
+ copy_v3_v3(&varray[start+15], &nors[i*3]);
+ }
}
else {
- index[redir[mface[i].mat_nr]]++;
+ /* calculate face normal */
+ if(f->v4)
+ normal_quad_v3(f_no, mvert[f->v1].co, mvert[f->v2].co, mvert[f->v3].co, mvert[f->v4].co);
+ else
+ normal_tri_v3(f_no, mvert[f->v1].co, mvert[f->v2].co, mvert[f->v3].co);
+
+ copy_v3_v3(&varray[start], f_no);
+ copy_v3_v3(&varray[start+3], f_no);
+ copy_v3_v3(&varray[start+6], f_no);
+
+ if(f->v4) {
+ copy_v3_v3(&varray[start+9], f_no);
+ copy_v3_v3(&varray[start+12], f_no);
+ copy_v3_v3(&varray[start+15], f_no);
+ }
+ }
+ }
+}
+
+static void GPU_buffer_copy_uv(DerivedMesh *dm, float *varray, int *index, int *mat_orig_to_new, void *UNUSED(user))
+{
+ int start;
+ int i, totface;
+
+ MTFace *mtface;
+ MFace *f;
+
+ if(!(mtface = DM_get_face_data_layer(dm, CD_MTFACE)))
+ return;
+ f = dm->getFaceArray(dm);
+
+ totface = dm->getNumFaces(dm);
+ for(i = 0; i < totface; i++, f++) {
+ start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ copy_v2_v2(&varray[start],mtface[i].uv[0]);
+ copy_v2_v2(&varray[start+2],mtface[i].uv[1]);
+ copy_v2_v2(&varray[start+4],mtface[i].uv[2]);
+ index[mat_orig_to_new[f->mat_nr]] += 6;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ copy_v2_v2(&varray[start+6],mtface[i].uv[2]);
+ copy_v2_v2(&varray[start+8],mtface[i].uv[3]);
+ copy_v2_v2(&varray[start+10],mtface[i].uv[0]);
+ index[mat_orig_to_new[f->mat_nr]] += 6;
+ }
+ }
+}
+
+
+static void GPU_buffer_copy_color3(DerivedMesh *dm, float *varray_, int *index, int *mat_orig_to_new, void *user)
+{
+ int i, totface;
+ unsigned char *varray = (unsigned char *)varray_;
+ unsigned char *mcol = (unsigned char *)user;
+ MFace *f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i=0; i < totface; i++, f++) {
+ int start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ VECCOPY(&varray[start], &mcol[i*12]);
+ VECCOPY(&varray[start+3], &mcol[i*12+3]);
+ VECCOPY(&varray[start+6], &mcol[i*12+6]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ VECCOPY(&varray[start+9], &mcol[i*12+6]);
+ VECCOPY(&varray[start+12], &mcol[i*12+9]);
+ VECCOPY(&varray[start+15], &mcol[i*12]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+ }
+ }
+}
+
+static void copy_mcol_uc3(unsigned char *v, unsigned char *col)
+{
+ v[0] = col[3];
+ v[1] = col[2];
+ v[2] = col[1];
+}
+
+/* treat varray_ as an array of MCol, four MCol's per face */
+static void GPU_buffer_copy_mcol(DerivedMesh *dm, float *varray_, int *index, int *mat_orig_to_new, void *user)
+{
+ int i, totface;
+ unsigned char *varray = (unsigned char *)varray_;
+ unsigned char *mcol = (unsigned char *)user;
+ MFace *f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i=0; i < totface; i++, f++) {
+ int start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ copy_mcol_uc3(&varray[start], &mcol[i*16]);
+ copy_mcol_uc3(&varray[start+3], &mcol[i*16+4]);
+ copy_mcol_uc3(&varray[start+6], &mcol[i*16+8]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ copy_mcol_uc3(&varray[start+9], &mcol[i*16+8]);
+ copy_mcol_uc3(&varray[start+12], &mcol[i*16+12]);
+ copy_mcol_uc3(&varray[start+15], &mcol[i*16]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+ }
+ }
+}
+
+static void GPU_buffer_copy_edge(DerivedMesh *dm, float *varray_, int *UNUSED(index), int *UNUSED(mat_orig_to_new), void *UNUSED(user))
+{
+ MEdge *medge;
+ unsigned int *varray = (unsigned int *)varray_;
+ int i, totedge;
+
+ medge = dm->getEdgeArray(dm);
+ totedge = dm->getNumEdges(dm);
+
+ for(i = 0; i < totedge; i++, medge++) {
+ varray[i*2] = dm->drawObject->vert_points[medge->v1].point_index;
+ varray[i*2+1] = dm->drawObject->vert_points[medge->v2].point_index;
+ }
+}
+
+static void GPU_buffer_copy_uvedge(DerivedMesh *dm, float *varray, int *UNUSED(index), int *UNUSED(mat_orig_to_new), void *UNUSED(user))
+{
+ MTFace *tf = DM_get_face_data_layer(dm, CD_MTFACE);
+ int i, j=0;
+
+ if(!tf)
+ return;
+
+ for(i = 0; i < dm->numFaceData; i++, tf++) {
+ MFace mf;
+ dm->getFace(dm,i,&mf);
+
+ copy_v2_v2(&varray[j],tf->uv[0]);
+ copy_v2_v2(&varray[j+2],tf->uv[1]);
+
+ copy_v2_v2(&varray[j+4],tf->uv[1]);
+ copy_v2_v2(&varray[j+6],tf->uv[2]);
+
+ if(!mf.v4) {
+ copy_v2_v2(&varray[j+8],tf->uv[2]);
+ copy_v2_v2(&varray[j+10],tf->uv[0]);
+ j+=12;
+ } else {
+ copy_v2_v2(&varray[j+8],tf->uv[2]);
+ copy_v2_v2(&varray[j+10],tf->uv[3]);
+
+ copy_v2_v2(&varray[j+12],tf->uv[3]);
+ copy_v2_v2(&varray[j+14],tf->uv[0]);
+ j+=16;
}
}
+}
- for( i = 0; i < object->nindices; i++ ) {
- if( object->indices[i].element == -1 ) {
- object->indices[i].element = object->nelements + object->nlooseverts;
- object->nlooseverts++;
+/* get the DerivedMesh's MCols; choose (in decreasing order of
+ preference) from CD_ID_MCOL, CD_WEIGHT_MCOL, or CD_MCOL */
+static MCol *gpu_buffer_color_type(DerivedMesh *dm)
+{
+ MCol *c;
+ int type;
+
+ type = CD_ID_MCOL;
+ c = DM_get_face_data_layer(dm, type);
+ if(!c) {
+ type = CD_WEIGHT_MCOL;
+ c = DM_get_face_data_layer(dm, type);
+ if(!c) {
+ type = CD_MCOL;
+ c = DM_get_face_data_layer(dm, type);
}
}
-#undef ADDLINK
- MEM_freeN(index);
- return object;
+ dm->drawObject->colType = type;
+ return c;
}
-void GPU_drawobject_free( DerivedMesh *dm )
+typedef enum {
+ GPU_BUFFER_VERTEX = 0,
+ GPU_BUFFER_NORMAL,
+ GPU_BUFFER_COLOR,
+ GPU_BUFFER_UV,
+ GPU_BUFFER_EDGE,
+ GPU_BUFFER_UVEDGE,
+} GPUBufferType;
+
+typedef struct {
+ GPUBufferCopyFunc copy;
+ GLenum gl_buffer_type;
+ int vector_size;
+} GPUBufferTypeSettings;
+
+const GPUBufferTypeSettings gpu_buffer_type_settings[] = {
+ {GPU_buffer_copy_vertex, GL_ARRAY_BUFFER_ARB, 3},
+ {GPU_buffer_copy_normal, GL_ARRAY_BUFFER_ARB, 3},
+ {GPU_buffer_copy_mcol, GL_ARRAY_BUFFER_ARB, 3},
+ {GPU_buffer_copy_uv, GL_ARRAY_BUFFER_ARB, 2},
+ {GPU_buffer_copy_edge, GL_ELEMENT_ARRAY_BUFFER_ARB, 2},
+ {GPU_buffer_copy_uvedge, GL_ELEMENT_ARRAY_BUFFER_ARB, 4}
+};
+
+/* get the GPUDrawObject buffer associated with a type */
+static GPUBuffer **gpu_drawobject_buffer_from_type(GPUDrawObject *gdo, GPUBufferType type)
+{
+ switch(type) {
+ case GPU_BUFFER_VERTEX:
+ return &gdo->points;
+ case GPU_BUFFER_NORMAL:
+ return &gdo->normals;
+ case GPU_BUFFER_COLOR:
+ return &gdo->colors;
+ case GPU_BUFFER_UV:
+ return &gdo->uv;
+ case GPU_BUFFER_EDGE:
+ return &gdo->edges;
+ case GPU_BUFFER_UVEDGE:
+ return &gdo->uvedges;
+ default:
+ return NULL;
+ }
+}
+
+/* get the amount of space to allocate for a buffer of a particular type */
+static int gpu_buffer_size_from_type(DerivedMesh *dm, GPUBufferType type)
+{
+ switch(type) {
+ case GPU_BUFFER_VERTEX:
+ return sizeof(float)*3 * (dm->drawObject->tot_triangle_point + dm->drawObject->tot_loose_point);
+ case GPU_BUFFER_NORMAL:
+ return sizeof(float)*3*dm->drawObject->tot_triangle_point;
+ case GPU_BUFFER_COLOR:
+ return sizeof(char)*3*dm->drawObject->tot_triangle_point;
+ case GPU_BUFFER_UV:
+ return sizeof(float)*2*dm->drawObject->tot_triangle_point;
+ case GPU_BUFFER_EDGE:
+ return sizeof(int)*2*dm->drawObject->totedge;
+ case GPU_BUFFER_UVEDGE:
+ /* each face gets 3 points, 3 edges per triangle, and
+ each edge has its own, non-shared coords, so each
+ tri corner needs minimum of 4 floats, quads used
+ less so here we can over allocate and assume all
+ tris. */
+ return sizeof(float) * dm->drawObject->tot_triangle_point;
+ default:
+ return -1;
+ }
+}
+
+/* call gpu_buffer_setup with settings for a particular type of buffer */
+static GPUBuffer *gpu_buffer_setup_type(DerivedMesh *dm, GPUBufferType type)
+{
+ const GPUBufferTypeSettings *ts;
+ void *user_data = NULL;
+ GPUBuffer *buf;
+
+ ts = &gpu_buffer_type_settings[type];
+
+ /* special handling for MCol and UV buffers */
+ if(type == GPU_BUFFER_COLOR) {
+ if(!(user_data = gpu_buffer_color_type(dm)))
+ return NULL;
+ }
+ else if(type == GPU_BUFFER_UV) {
+ if(!DM_get_face_data_layer(dm, CD_MTFACE))
+ return NULL;
+ }
+
+ buf = gpu_buffer_setup(dm, dm->drawObject, ts->vector_size,
+ gpu_buffer_size_from_type(dm, type),
+ ts->gl_buffer_type, user_data, ts->copy);
+
+ return buf;
+}
+
+/* get the buffer of `type', initializing the GPUDrawObject and
+ buffer if needed */
+static GPUBuffer *gpu_buffer_setup_common(DerivedMesh *dm, GPUBufferType type)
{
- GPUDrawObject *object;
+ GPUBuffer **buf;
+
+ if(!dm->drawObject)
+ dm->drawObject = GPU_drawobject_new(dm);
+
+ buf = gpu_drawobject_buffer_from_type(dm->drawObject, type);
+ if(!(*buf))
+ *buf = gpu_buffer_setup_type(dm, type);
- DEBUG_VBO("GPU_drawobject_free\n");
+ return *buf;
+}
- if( dm == 0 )
+void GPU_vertex_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_VERTEX))
return;
- object = dm->drawObject;
- if( object == 0 )
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->points->id);
+ glVertexPointer(3, GL_FLOAT, 0, 0);
+ }
+ else {
+ glVertexPointer(3, GL_FLOAT, 0, dm->drawObject->points->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_VERTEX_STATE;
+}
+
+void GPU_normal_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_NORMAL))
+ return;
+
+ glEnableClientState(GL_NORMAL_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->normals->id);
+ glNormalPointer(GL_FLOAT, 0, 0);
+ }
+ else {
+ glNormalPointer(GL_FLOAT, 0, dm->drawObject->normals->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_NORMAL_STATE;
+}
+
+void GPU_uv_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_UV))
+ return;
+
+ glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->uv->id);
+ glTexCoordPointer(2, GL_FLOAT, 0, 0);
+ }
+ else {
+ glTexCoordPointer(2, GL_FLOAT, 0, dm->drawObject->uv->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_TEXCOORD_STATE;
+}
+
+void GPU_color_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_COLOR))
+ return;
+
+ glEnableClientState(GL_COLOR_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->colors->id);
+ glColorPointer(3, GL_UNSIGNED_BYTE, 0, 0);
+ }
+ else {
+ glColorPointer(3, GL_UNSIGNED_BYTE, 0, dm->drawObject->colors->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_COLOR_STATE;
+}
+
+void GPU_edge_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_EDGE))
+ return;
+
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_VERTEX))
+ return;
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->points->id);
+ glVertexPointer(3, GL_FLOAT, 0, 0);
+ }
+ else {
+ glVertexPointer(3, GL_FLOAT, 0, dm->drawObject->points->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_VERTEX_STATE;
+
+ if(useVBOs)
+ glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, dm->drawObject->edges->id);
+
+ GLStates |= GPU_BUFFER_ELEMENT_STATE;
+}
+
+void GPU_uvedge_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_UVEDGE))
return;
- MEM_freeN(object->materials);
- MEM_freeN(object->faceRemap);
- MEM_freeN(object->indices);
- MEM_freeN(object->indexMem);
- GPU_buffer_free( object->vertices, globalPool );
- GPU_buffer_free( object->normals, globalPool );
- GPU_buffer_free( object->uv, globalPool );
- GPU_buffer_free( object->colors, globalPool );
- GPU_buffer_free( object->edges, globalPool );
- GPU_buffer_free( object->uvedges, globalPool );
-
- MEM_freeN(object);
- dm->drawObject = 0;
+ glEnableClientState(GL_VERTEX_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->uvedges->id);
+ glVertexPointer(2, GL_FLOAT, 0, 0);
+ }
+ else {
+ glVertexPointer(2, GL_FLOAT, 0, dm->drawObject->uvedges->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_VERTEX_STATE;
+}
+
+static int GPU_typesize(int type) {
+ switch(type) {
+ case GL_FLOAT:
+ return sizeof(float);
+ case GL_INT:
+ return sizeof(int);
+ case GL_UNSIGNED_INT:
+ return sizeof(unsigned int);
+ case GL_BYTE:
+ return sizeof(char);
+ case GL_UNSIGNED_BYTE:
+ return sizeof(unsigned char);
+ default:
+ return 0;
+ }
+}
+
+int GPU_attrib_element_size(GPUAttrib data[], int numdata) {
+ int i, elementsize = 0;
+
+ for(i = 0; i < numdata; i++) {
+ int typesize = GPU_typesize(data[i].type);
+ if(typesize != 0)
+ elementsize += typesize*data[i].size;
+ }
+ return elementsize;
+}
+
+void GPU_interleaved_attrib_setup(GPUBuffer *buffer, GPUAttrib data[], int numdata) {
+ int i;
+ int elementsize;
+ intptr_t offset = 0;
+
+ for(i = 0; i < MAX_GPU_ATTRIB_DATA; i++) {
+ if(attribData[i].index != -1) {
+ glDisableVertexAttribArrayARB(attribData[i].index);
+ }
+ else
+ break;
+ }
+ elementsize = GPU_attrib_element_size(data, numdata);
+
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer->id);
+ for(i = 0; i < numdata; i++) {
+ glEnableVertexAttribArrayARB(data[i].index);
+ glVertexAttribPointerARB(data[i].index, data[i].size, data[i].type,
+ GL_FALSE, elementsize, (void *)offset);
+ offset += data[i].size*GPU_typesize(data[i].type);
+
+ attribData[i].index = data[i].index;
+ attribData[i].size = data[i].size;
+ attribData[i].type = data[i].type;
+ }
+ attribData[numdata].index = -1;
+ }
+ else {
+ for(i = 0; i < numdata; i++) {
+ glEnableVertexAttribArrayARB(data[i].index);
+ glVertexAttribPointerARB(data[i].index, data[i].size, data[i].type,
+ GL_FALSE, elementsize, (char *)buffer->pointer + offset);
+ offset += data[i].size*GPU_typesize(data[i].type);
+ }
+ }
}
+
+void GPU_buffer_unbind(void)
+{
+ int i;
+
+ if(GLStates & GPU_BUFFER_VERTEX_STATE)
+ glDisableClientState(GL_VERTEX_ARRAY);
+ if(GLStates & GPU_BUFFER_NORMAL_STATE)
+ glDisableClientState(GL_NORMAL_ARRAY);
+ if(GLStates & GPU_BUFFER_TEXCOORD_STATE)
+ glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+ if(GLStates & GPU_BUFFER_COLOR_STATE)
+ glDisableClientState(GL_COLOR_ARRAY);
+ if(GLStates & GPU_BUFFER_ELEMENT_STATE) {
+ if(useVBOs) {
+ glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0);
+ }
+ }
+ GLStates &= !(GPU_BUFFER_VERTEX_STATE | GPU_BUFFER_NORMAL_STATE |
+ GPU_BUFFER_TEXCOORD_STATE | GPU_BUFFER_COLOR_STATE |
+ GPU_BUFFER_ELEMENT_STATE);
+
+ for(i = 0; i < MAX_GPU_ATTRIB_DATA; i++) {
+ if(attribData[i].index != -1) {
+ glDisableVertexAttribArrayARB(attribData[i].index);
+ }
+ else
+ break;
+ }
+
+ if(useVBOs)
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+}
+
+/* confusion: code in cdderivedmesh calls both GPU_color_setup and
+ GPU_color3_upload; both of these set the `colors' buffer, so seems
+ like it will just needlessly overwrite? --nicholas */
+void GPU_color3_upload(DerivedMesh *dm, unsigned char *data)
+{
+ if(dm->drawObject == 0)
+ dm->drawObject = GPU_drawobject_new(dm);
+ GPU_buffer_free(dm->drawObject->colors);
+
+ dm->drawObject->colors = gpu_buffer_setup(dm, dm->drawObject, 3,
+ sizeof(char)*3*dm->drawObject->tot_triangle_point,
+ GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color3);
+}
+
+/* this is used only in cdDM_drawFacesColored, which I think is no
+ longer used, so can probably remove this --nicholas */
+void GPU_color4_upload(DerivedMesh *UNUSED(dm), unsigned char *UNUSED(data))
+{
+ /*if(dm->drawObject == 0)
+ dm->drawObject = GPU_drawobject_new(dm);
+ GPU_buffer_free(dm->drawObject->colors);
+ dm->drawObject->colors = gpu_buffer_setup(dm, dm->drawObject, 3,
+ sizeof(char)*3*dm->drawObject->tot_triangle_point,
+ GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color4);*/
+}
+
+void GPU_color_switch(int mode)
+{
+ if(mode) {
+ if(!(GLStates & GPU_BUFFER_COLOR_STATE))
+ glEnableClientState(GL_COLOR_ARRAY);
+ GLStates |= GPU_BUFFER_COLOR_STATE;
+ }
+ else {
+ if(GLStates & GPU_BUFFER_COLOR_STATE)
+ glDisableClientState(GL_COLOR_ARRAY);
+ GLStates &= (!GPU_BUFFER_COLOR_STATE);
+ }
+}
+
+/* return 1 if drawing should be done using old immediate-mode
+ code, 0 otherwise */
+int GPU_buffer_legacy(DerivedMesh *dm)
+{
+ int test= (U.gameflags & USER_DISABLE_VBO);
+ if(test)
+ return 1;
+
+ if(dm->drawObject == 0)
+ dm->drawObject = GPU_drawobject_new(dm);
+ return dm->drawObject->legacy;
+}
+
+void *GPU_buffer_lock(GPUBuffer *buffer)
+{
+ float *varray;
+
+ if(!buffer)
+ return 0;
+
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer->id);
+ varray = glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
+ return varray;
+ }
+ else {
+ return buffer->pointer;
+ }
+}
+
+void *GPU_buffer_lock_stream(GPUBuffer *buffer)
+{
+ float *varray;
+
+ if(!buffer)
+ return 0;
+
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer->id);
+ /* discard previous data, avoid stalling gpu */
+ glBufferDataARB(GL_ARRAY_BUFFER_ARB, buffer->size, 0, GL_STREAM_DRAW_ARB);
+ varray = glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
+ return varray;
+ }
+ else {
+ return buffer->pointer;
+ }
+}
+
+void GPU_buffer_unlock(GPUBuffer *buffer)
+{
+ if(useVBOs) {
+ if(buffer) {
+ /* note: this operation can fail, could return
+ an error code from this function? */
+ glUnmapBufferARB(GL_ARRAY_BUFFER_ARB);
+ }
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+ }
+}
+
+/* used for drawing edges */
+void GPU_buffer_draw_elements(GPUBuffer *elements, unsigned int mode, int start, int count)
+{
+ glDrawElements(mode, count, GL_UNSIGNED_INT,
+ (useVBOs ?
+ (void*)(start * sizeof(unsigned int)) :
+ ((int*)elements->pointer) + start));
+}
+
+
+/* XXX: the rest of the code in this file is used for optimized PBVH
+ drawing and doesn't interact at all with the buffer code above */
+
/* Convenience struct for building the VBO. */
typedef struct {
float co[3];
@@ -484,7 +1351,7 @@ void *GPU_build_mesh_buffers(GHash *map, MVert *mvert, MFace *mface,
for(i = 0, tottri = 0; i < totface; ++i)
tottri += mface[face_indices[i]].v4 ? 2 : 1;
- if(GL_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
+ if(GLEW_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
glGenBuffersARB(1, &buffers->index_buf);
if(buffers->index_buf) {
@@ -615,7 +1482,7 @@ void *GPU_build_grid_buffers(DMGridData **UNUSED(grids), int *UNUSED(grid_indice
totquad= (gridsize-1)*(gridsize-1)*totgrid;
/* Generate index buffer object */
- if(GL_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
+ if(GLEW_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
glGenBuffersARB(1, &buffers->index_buf);
if(buffers->index_buf) {
@@ -781,887 +1648,3 @@ void GPU_free_buffers(void *buffers_v)
}
}
-static GPUBuffer *GPU_buffer_setup( DerivedMesh *dm, GPUDrawObject *object, int vector_size, int size, GLenum target, void *user, void (*copy_f)(DerivedMesh *, float *, int *, int *, void *) )
-{
- GPUBuffer *buffer;
- float *varray;
- int redir[MAX_MATERIALS];
- int *index;
- int i;
- int success;
- GLboolean uploaded;
-
- DEBUG_VBO("GPU_buffer_setup\n");
-
- if( globalPool == 0 )
- globalPool = GPU_buffer_pool_new();
-
- buffer = GPU_buffer_alloc(size,globalPool);
- if( buffer == 0 ) {
- dm->drawObject->legacy = 1;
- }
- if( dm->drawObject->legacy ) {
- return 0;
- }
-
- index = MEM_mallocN(sizeof(int)*object->nmaterials,"GPU_buffer_setup");
- for( i = 0; i < object->nmaterials; i++ ) {
- index[i] = object->materials[i].start*vector_size;
- redir[object->materials[i].mat_nr] = i;
- }
-
- if( useVBOs ) {
- success = 0;
- while( success == 0 ) {
- glBindBufferARB( target, buffer->id );
- glBufferDataARB( target, buffer->size, 0, GL_STATIC_DRAW_ARB ); /* discard previous data, avoid stalling gpu */
- varray = glMapBufferARB( target, GL_WRITE_ONLY_ARB );
- if( varray == 0 ) {
- DEBUG_VBO( "Failed to map buffer to client address space\n" );
- GPU_buffer_free( buffer, globalPool );
- GPU_buffer_pool_delete_last( globalPool );
- buffer= NULL;
- if( globalPool->size > 0 ) {
- GPU_buffer_pool_delete_last( globalPool );
- buffer = GPU_buffer_alloc( size, globalPool );
- if( buffer == 0 ) {
- dm->drawObject->legacy = 1;
- success = 1;
- }
- }
- else {
- dm->drawObject->legacy = 1;
- success = 1;
- }
- }
- else {
- success = 1;
- }
- }
-
- if( dm->drawObject->legacy == 0 ) {
- uploaded = GL_FALSE;
- while( !uploaded ) {
- (*copy_f)( dm, varray, index, redir, user );
- uploaded = glUnmapBufferARB( target ); /* returns false if data got corruped during transfer */
- }
- }
- glBindBufferARB(target, 0);
- }
- else {
- if( buffer->pointer != 0 ) {
- varray = buffer->pointer;
- (*copy_f)( dm, varray, index, redir, user );
- }
- else {
- dm->drawObject->legacy = 1;
- }
- }
-
- MEM_freeN(index);
-
- return buffer;
-}
-
-static void GPU_buffer_copy_vertex(DerivedMesh *dm, float *varray, int *index, int *redir, void *UNUSED(user))
-{
- int start;
- int i, j, numfaces;
-
- MVert *mvert;
- MFace *mface;
-
- DEBUG_VBO("GPU_buffer_copy_vertex\n");
-
- mvert = dm->getVertArray(dm);
- mface = dm->getFaceArray(dm);
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- VECCOPY(&varray[start],mvert[mface[i].v1].co);
- VECCOPY(&varray[start+3],mvert[mface[i].v2].co);
- VECCOPY(&varray[start+6],mvert[mface[i].v3].co);
-
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY(&varray[start+9],mvert[mface[i].v3].co);
- VECCOPY(&varray[start+12],mvert[mface[i].v4].co);
- VECCOPY(&varray[start+15],mvert[mface[i].v1].co);
- }
- }
- j = dm->drawObject->nelements*3;
- for( i = 0; i < dm->drawObject->nindices; i++ ) {
- if( dm->drawObject->indices[i].element >= dm->drawObject->nelements ) {
- VECCOPY(&varray[j],mvert[i].co);
- j+=3;
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_vertex( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_vertex\n");
-
- return GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(float)*3*(dm->drawObject->nelements+dm->drawObject->nlooseverts), GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_vertex);
-}
-
-static void GPU_buffer_copy_normal(DerivedMesh *dm, float *varray, int *index, int *redir, void *UNUSED(user))
-{
- int i, numfaces;
- int start;
- float norm[3];
-
- float *nors= dm->getFaceDataArray(dm, CD_NORMAL);
- MVert *mvert = dm->getVertArray(dm);
- MFace *mface = dm->getFaceArray(dm);
-
- DEBUG_VBO("GPU_buffer_copy_normal\n");
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- const int smoothnormal = (mface[i].flag & ME_SMOOTH);
-
- start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- if(smoothnormal) {
- VECCOPY(&varray[start],mvert[mface[i].v1].no);
- VECCOPY(&varray[start+3],mvert[mface[i].v2].no);
- VECCOPY(&varray[start+6],mvert[mface[i].v3].no);
- }
- else {
- if( nors ) {
- VECCOPY(&varray[start],&nors[i*3]);
- VECCOPY(&varray[start+3],&nors[i*3]);
- VECCOPY(&varray[start+6],&nors[i*3]);
- }
- if( mface[i].v4 )
- normal_quad_v3( norm,mvert[mface[i].v1].co, mvert[mface[i].v2].co, mvert[mface[i].v3].co, mvert[mface[i].v4].co);
- else
- normal_tri_v3( norm,mvert[mface[i].v1].co, mvert[mface[i].v2].co, mvert[mface[i].v3].co);
- VECCOPY(&varray[start],norm);
- VECCOPY(&varray[start+3],norm);
- VECCOPY(&varray[start+6],norm);
- }
-
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- if(smoothnormal) {
- VECCOPY(&varray[start+9],mvert[mface[i].v3].no);
- VECCOPY(&varray[start+12],mvert[mface[i].v4].no);
- VECCOPY(&varray[start+15],mvert[mface[i].v1].no);
- }
- else {
- VECCOPY(&varray[start+9],norm);
- VECCOPY(&varray[start+12],norm);
- VECCOPY(&varray[start+15],norm);
- }
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_normal( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_normal\n");
-
- return GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(float)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_normal);
-}
-
-static void GPU_buffer_copy_uv(DerivedMesh *dm, float *varray, int *index, int *redir, void *UNUSED(user))
-{
- int start;
- int i, numfaces;
-
- MTFace *mtface;
- MFace *mface;
-
- DEBUG_VBO("GPU_buffer_copy_uv\n");
-
- mface = dm->getFaceArray(dm);
- mtface = DM_get_face_data_layer(dm, CD_MTFACE);
-
- if( mtface == 0 ) {
- DEBUG_VBO("Texture coordinates do not exist for this mesh");
- return;
- }
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 12;
- else
- index[redir[mface[i].mat_nr]] += 6;
-
- /* v1 v2 v3 */
- VECCOPY2D(&varray[start],mtface[i].uv[0]);
- VECCOPY2D(&varray[start+2],mtface[i].uv[1]);
- VECCOPY2D(&varray[start+4],mtface[i].uv[2]);
-
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY2D(&varray[start+6],mtface[i].uv[2]);
- VECCOPY2D(&varray[start+8],mtface[i].uv[3]);
- VECCOPY2D(&varray[start+10],mtface[i].uv[0]);
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_uv( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_uv\n");
- if( DM_get_face_data_layer(dm, CD_MTFACE) != 0 )
- return GPU_buffer_setup( dm, dm->drawObject, 2, sizeof(float)*2*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_uv);
- else
- return 0;
-}
-
-static void GPU_buffer_copy_color3( DerivedMesh *dm, float *varray_, int *index, int *redir, void *user )
-{
- int i, numfaces;
- unsigned char *varray = (unsigned char *)varray_;
- unsigned char *mcol = (unsigned char *)user;
- MFace *mface = dm->getFaceArray(dm);
-
- DEBUG_VBO("GPU_buffer_copy_color3\n");
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- int start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- VECCOPY(&varray[start],&mcol[i*12]);
- VECCOPY(&varray[start+3],&mcol[i*12+3]);
- VECCOPY(&varray[start+6],&mcol[i*12+6]);
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY(&varray[start+9],&mcol[i*12+6]);
- VECCOPY(&varray[start+12],&mcol[i*12+9]);
- VECCOPY(&varray[start+15],&mcol[i*12]);
- }
- }
-}
-
-static void GPU_buffer_copy_color4( DerivedMesh *dm, float *varray_, int *index, int *redir, void *user )
-{
- int i, numfaces;
- unsigned char *varray = (unsigned char *)varray_;
- unsigned char *mcol = (unsigned char *)user;
- MFace *mface = dm->getFaceArray(dm);
-
- DEBUG_VBO("GPU_buffer_copy_color4\n");
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- int start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- VECCOPY(&varray[start],&mcol[i*16]);
- VECCOPY(&varray[start+3],&mcol[i*16+4]);
- VECCOPY(&varray[start+6],&mcol[i*16+8]);
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY(&varray[start+9],&mcol[i*16+8]);
- VECCOPY(&varray[start+12],&mcol[i*16+12]);
- VECCOPY(&varray[start+15],&mcol[i*16]);
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_color( DerivedMesh *dm )
-{
- unsigned char *colors;
- int i, numfaces;
- MCol *mcol;
- GPUBuffer *result;
- DEBUG_VBO("GPU_buffer_color\n");
-
- mcol = DM_get_face_data_layer(dm, CD_ID_MCOL);
- dm->drawObject->colType = CD_ID_MCOL;
- if(!mcol) {
- mcol = DM_get_face_data_layer(dm, CD_WEIGHT_MCOL);
- dm->drawObject->colType = CD_WEIGHT_MCOL;
- }
- if(!mcol) {
- mcol = DM_get_face_data_layer(dm, CD_MCOL);
- dm->drawObject->colType = CD_MCOL;
- }
-
- numfaces= dm->getNumFaces(dm);
- colors = MEM_mallocN(numfaces*12*sizeof(unsigned char), "GPU_buffer_color");
- for( i=0; i < numfaces*4; i++ ) {
- colors[i*3] = mcol[i].b;
- colors[i*3+1] = mcol[i].g;
- colors[i*3+2] = mcol[i].r;
- }
-
- result = GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(char)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, colors, GPU_buffer_copy_color3 );
-
- MEM_freeN(colors);
- return result;
-}
-
-static void GPU_buffer_copy_edge(DerivedMesh *dm, float *varray, int *UNUSED(index), int *UNUSED(redir), void *UNUSED(user))
-{
- int i;
-
- MEdge *medge;
- unsigned int *varray_ = (unsigned int *)varray;
- int numedges;
-
- DEBUG_VBO("GPU_buffer_copy_edge\n");
-
- medge = dm->getEdgeArray(dm);
-
- numedges= dm->getNumEdges(dm);
- for(i = 0; i < numedges; i++) {
- varray_[i*2] = (unsigned int)dm->drawObject->indices[medge[i].v1].element;
- varray_[i*2+1] = (unsigned int)dm->drawObject->indices[medge[i].v2].element;
- }
-}
-
-static GPUBuffer *GPU_buffer_edge( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_edge\n");
-
- return GPU_buffer_setup( dm, dm->drawObject, 2, sizeof(int)*2*dm->drawObject->nedges, GL_ELEMENT_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_edge);
-}
-
-static void GPU_buffer_copy_uvedge(DerivedMesh *dm, float *varray, int *UNUSED(index), int *UNUSED(redir), void *UNUSED(user))
-{
- MTFace *tf = DM_get_face_data_layer(dm, CD_MTFACE);
- int i, j=0;
-
- DEBUG_VBO("GPU_buffer_copy_uvedge\n");
-
- if(tf) {
- for(i = 0; i < dm->numFaceData; i++, tf++) {
- MFace mf;
- dm->getFace(dm,i,&mf);
-
- VECCOPY2D(&varray[j],tf->uv[0]);
- VECCOPY2D(&varray[j+2],tf->uv[1]);
-
- VECCOPY2D(&varray[j+4],tf->uv[1]);
- VECCOPY2D(&varray[j+6],tf->uv[2]);
-
- if(!mf.v4) {
- VECCOPY2D(&varray[j+8],tf->uv[2]);
- VECCOPY2D(&varray[j+10],tf->uv[0]);
- j+=12;
- } else {
- VECCOPY2D(&varray[j+8],tf->uv[2]);
- VECCOPY2D(&varray[j+10],tf->uv[3]);
-
- VECCOPY2D(&varray[j+12],tf->uv[3]);
- VECCOPY2D(&varray[j+14],tf->uv[0]);
- j+=16;
- }
- }
- }
- else {
- DEBUG_VBO("Could not get MTFACE data layer");
- }
-}
-
-static GPUBuffer *GPU_buffer_uvedge( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_uvedge\n");
- /* logic here:
- * ...each face gets 3 'nelements'
- * ...3 edges per triangle
- * ...each edge has its own, non-shared coords.
- * so each tri corner needs minimum of 4 floats, quads used less so here we can over allocate and assume all tris.
- * */
- return GPU_buffer_setup( dm, dm->drawObject, 4, 4 * sizeof(float) * dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_uvedge);
-}
-
-
-void GPU_vertex_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_vertex_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->vertices == 0 )
- dm->drawObject->vertices = GPU_buffer_vertex( dm );
- if( dm->drawObject->vertices == 0 ) {
- DEBUG_VBO( "Failed to setup vertices\n" );
- return;
- }
-
- glEnableClientState( GL_VERTEX_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->vertices->id );
- glVertexPointer( 3, GL_FLOAT, 0, 0 );
- }
- else {
- glVertexPointer( 3, GL_FLOAT, 0, dm->drawObject->vertices->pointer );
- }
-
- GLStates |= GPU_BUFFER_VERTEX_STATE;
-}
-
-void GPU_normal_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_normal_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->normals == 0 )
- dm->drawObject->normals = GPU_buffer_normal( dm );
- if( dm->drawObject->normals == 0 ) {
- DEBUG_VBO( "Failed to setup normals\n" );
- return;
- }
- glEnableClientState( GL_NORMAL_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->normals->id );
- glNormalPointer( GL_FLOAT, 0, 0 );
- }
- else {
- glNormalPointer( GL_FLOAT, 0, dm->drawObject->normals->pointer );
- }
-
- GLStates |= GPU_BUFFER_NORMAL_STATE;
-}
-
-void GPU_uv_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_uv_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->uv == 0 )
- dm->drawObject->uv = GPU_buffer_uv( dm );
-
- if( dm->drawObject->uv != 0 ) {
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->uv->id );
- glTexCoordPointer( 2, GL_FLOAT, 0, 0 );
- }
- else {
- glTexCoordPointer( 2, GL_FLOAT, 0, dm->drawObject->uv->pointer );
- }
-
- GLStates |= GPU_BUFFER_TEXCOORD_STATE;
- }
-}
-
-void GPU_color_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_color_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->colors == 0 )
- dm->drawObject->colors = GPU_buffer_color( dm );
- if( dm->drawObject->colors == 0 ) {
- DEBUG_VBO( "Failed to setup colors\n" );
- return;
- }
- glEnableClientState( GL_COLOR_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->colors->id );
- glColorPointer( 3, GL_UNSIGNED_BYTE, 0, 0 );
- }
- else {
- glColorPointer( 3, GL_UNSIGNED_BYTE, 0, dm->drawObject->colors->pointer );
- }
-
- GLStates |= GPU_BUFFER_COLOR_STATE;
-}
-
-void GPU_edge_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_edge_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->edges == 0 )
- dm->drawObject->edges = GPU_buffer_edge( dm );
- if( dm->drawObject->edges == 0 ) {
- DEBUG_VBO( "Failed to setup edges\n" );
- return;
- }
- if( dm->drawObject->vertices == 0 )
- dm->drawObject->vertices = GPU_buffer_vertex( dm );
- if( dm->drawObject->vertices == 0 ) {
- DEBUG_VBO( "Failed to setup vertices\n" );
- return;
- }
-
- glEnableClientState( GL_VERTEX_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->vertices->id );
- glVertexPointer( 3, GL_FLOAT, 0, 0 );
- }
- else {
- glVertexPointer( 3, GL_FLOAT, 0, dm->drawObject->vertices->pointer );
- }
-
- GLStates |= GPU_BUFFER_VERTEX_STATE;
-
- if( useVBOs ) {
- glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, dm->drawObject->edges->id );
- }
-
- GLStates |= GPU_BUFFER_ELEMENT_STATE;
-}
-
-void GPU_uvedge_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_uvedge_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->uvedges == 0 )
- dm->drawObject->uvedges = GPU_buffer_uvedge( dm );
- if( dm->drawObject->uvedges == 0 ) {
- DEBUG_VBO( "Failed to setup UV edges\n" );
- return;
- }
-
- glEnableClientState( GL_VERTEX_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->uvedges->id );
- glVertexPointer( 2, GL_FLOAT, 0, 0 );
- }
- else {
- glVertexPointer( 2, GL_FLOAT, 0, dm->drawObject->uvedges->pointer );
- }
-
- GLStates |= GPU_BUFFER_VERTEX_STATE;
-}
-
-void GPU_interleaved_setup( GPUBuffer *buffer, int data[] ) {
- int i;
- int elementsize = 0;
- intptr_t offset = 0;
-
- DEBUG_VBO("GPU_interleaved_setup\n");
-
- for( i = 0; data[i] != GPU_BUFFER_INTER_END; i++ ) {
- switch( data[i] ) {
- case GPU_BUFFER_INTER_V3F:
- elementsize += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_N3F:
- elementsize += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_T2F:
- elementsize += 2*sizeof(float);
- break;
- case GPU_BUFFER_INTER_C3UB:
- elementsize += 3*sizeof(unsigned char);
- break;
- case GPU_BUFFER_INTER_C4UB:
- elementsize += 4*sizeof(unsigned char);
- break;
- default:
- DEBUG_VBO( "Unknown element in data type array in GPU_interleaved_setup\n" );
- }
- }
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- for( i = 0; data[i] != GPU_BUFFER_INTER_END; i++ ) {
- switch( data[i] ) {
- case GPU_BUFFER_INTER_V3F:
- glEnableClientState( GL_VERTEX_ARRAY );
- glVertexPointer( 3, GL_FLOAT, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_VERTEX_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_N3F:
- glEnableClientState( GL_NORMAL_ARRAY );
- glNormalPointer( GL_FLOAT, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_NORMAL_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_T2F:
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- glTexCoordPointer( 2, GL_FLOAT, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_TEXCOORD_STATE;
- offset += 2*sizeof(float);
- break;
- case GPU_BUFFER_INTER_C3UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 3, GL_UNSIGNED_BYTE, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 3*sizeof(unsigned char);
- break;
- case GPU_BUFFER_INTER_C4UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 4, GL_UNSIGNED_BYTE, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 4*sizeof(unsigned char);
- break;
- }
- }
- }
- else {
- for( i = 0; data[i] != GPU_BUFFER_INTER_END; i++ ) {
- switch( data[i] ) {
- case GPU_BUFFER_INTER_V3F:
- glEnableClientState( GL_VERTEX_ARRAY );
- glVertexPointer( 3, GL_FLOAT, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_VERTEX_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_N3F:
- glEnableClientState( GL_NORMAL_ARRAY );
- glNormalPointer( GL_FLOAT, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_NORMAL_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_T2F:
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- glTexCoordPointer( 2, GL_FLOAT, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_TEXCOORD_STATE;
- offset += 2*sizeof(float);
- break;
- case GPU_BUFFER_INTER_C3UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 3, GL_UNSIGNED_BYTE, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 3*sizeof(unsigned char);
- break;
- case GPU_BUFFER_INTER_C4UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 4, GL_UNSIGNED_BYTE, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 4*sizeof(unsigned char);
- break;
- }
- }
- }
-}
-
-static int GPU_typesize( int type ) {
- switch( type ) {
- case GL_FLOAT:
- return sizeof(float);
- case GL_INT:
- return sizeof(int);
- case GL_UNSIGNED_INT:
- return sizeof(unsigned int);
- case GL_BYTE:
- return sizeof(char);
- case GL_UNSIGNED_BYTE:
- return sizeof(unsigned char);
- default:
- return 0;
- }
-}
-
-int GPU_attrib_element_size( GPUAttrib data[], int numdata ) {
- int i, elementsize = 0;
-
- for( i = 0; i < numdata; i++ ) {
- int typesize = GPU_typesize(data[i].type);
- if( typesize == 0 )
- DEBUG_VBO( "Unknown element in data type array in GPU_attrib_element_size\n" );
- else {
- elementsize += typesize*data[i].size;
- }
- }
- return elementsize;
-}
-
-void GPU_interleaved_attrib_setup( GPUBuffer *buffer, GPUAttrib data[], int numdata ) {
- int i;
- int elementsize;
- intptr_t offset = 0;
-
- DEBUG_VBO("GPU_interleaved_attrib_setup\n");
-
- for( i = 0; i < MAX_GPU_ATTRIB_DATA; i++ ) {
- if( attribData[i].index != -1 ) {
- glDisableVertexAttribArrayARB( attribData[i].index );
- }
- else
- break;
- }
- elementsize = GPU_attrib_element_size( data, numdata );
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- for( i = 0; i < numdata; i++ ) {
- glEnableVertexAttribArrayARB( data[i].index );
- glVertexAttribPointerARB( data[i].index, data[i].size, data[i].type, GL_FALSE, elementsize, (void *)offset );
- offset += data[i].size*GPU_typesize(data[i].type);
-
- attribData[i].index = data[i].index;
- attribData[i].size = data[i].size;
- attribData[i].type = data[i].type;
- }
- attribData[numdata].index = -1;
- }
- else {
- for( i = 0; i < numdata; i++ ) {
- glEnableVertexAttribArrayARB( data[i].index );
- glVertexAttribPointerARB( data[i].index, data[i].size, data[i].type, GL_FALSE, elementsize, (char *)buffer->pointer + offset );
- offset += data[i].size*GPU_typesize(data[i].type);
- }
- }
-}
-
-
-void GPU_buffer_unbind(void)
-{
- int i;
- DEBUG_VBO("GPU_buffer_unbind\n");
-
- if( GLStates & GPU_BUFFER_VERTEX_STATE )
- glDisableClientState( GL_VERTEX_ARRAY );
- if( GLStates & GPU_BUFFER_NORMAL_STATE )
- glDisableClientState( GL_NORMAL_ARRAY );
- if( GLStates & GPU_BUFFER_TEXCOORD_STATE )
- glDisableClientState( GL_TEXTURE_COORD_ARRAY );
- if( GLStates & GPU_BUFFER_COLOR_STATE )
- glDisableClientState( GL_COLOR_ARRAY );
- if( GLStates & GPU_BUFFER_ELEMENT_STATE ) {
- if( useVBOs ) {
- glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, 0 );
- }
- }
- GLStates &= !(GPU_BUFFER_VERTEX_STATE | GPU_BUFFER_NORMAL_STATE | GPU_BUFFER_TEXCOORD_STATE | GPU_BUFFER_COLOR_STATE | GPU_BUFFER_ELEMENT_STATE);
-
- for( i = 0; i < MAX_GPU_ATTRIB_DATA; i++ ) {
- if( attribData[i].index != -1 ) {
- glDisableVertexAttribArrayARB( attribData[i].index );
- }
- else
- break;
- }
- if( GLStates != 0 ) {
- DEBUG_VBO( "Some weird OpenGL state is still set. Why?" );
- }
- if( useVBOs )
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, 0 );
-}
-
-void GPU_color3_upload( DerivedMesh *dm, unsigned char *data )
-{
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new(dm);
- GPU_buffer_free(dm->drawObject->colors,globalPool);
- dm->drawObject->colors = GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(char)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color3 );
-}
-void GPU_color4_upload( DerivedMesh *dm, unsigned char *data )
-{
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new(dm);
- GPU_buffer_free(dm->drawObject->colors,globalPool);
- dm->drawObject->colors = GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(char)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color4 );
-}
-
-void GPU_color_switch( int mode )
-{
- if( mode ) {
- if( !(GLStates & GPU_BUFFER_COLOR_STATE) )
- glEnableClientState( GL_COLOR_ARRAY );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- }
- else {
- if( GLStates & GPU_BUFFER_COLOR_STATE )
- glDisableClientState( GL_COLOR_ARRAY );
- GLStates &= (!GPU_BUFFER_COLOR_STATE);
- }
-}
-
-int GPU_buffer_legacy( DerivedMesh *dm )
-{
- int test= (U.gameflags & USER_DISABLE_VBO);
- if( test )
- return 1;
-
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new(dm);
- return dm->drawObject->legacy;
-}
-
-void *GPU_buffer_lock( GPUBuffer *buffer )
-{
- float *varray;
-
- DEBUG_VBO("GPU_buffer_lock\n");
- if( buffer == 0 ) {
- DEBUG_VBO( "Failed to lock NULL buffer\n" );
- return 0;
- }
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- varray = glMapBufferARB( GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB );
- if( varray == 0 ) {
- DEBUG_VBO( "Failed to map buffer to client address space\n" );
- }
- return varray;
- }
- else {
- return buffer->pointer;
- }
-}
-
-void *GPU_buffer_lock_stream( GPUBuffer *buffer )
-{
- float *varray;
-
- DEBUG_VBO("GPU_buffer_lock_stream\n");
- if( buffer == 0 ) {
- DEBUG_VBO( "Failed to lock NULL buffer\n" );
- return 0;
- }
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- glBufferDataARB( GL_ARRAY_BUFFER_ARB, buffer->size, 0, GL_STREAM_DRAW_ARB ); /* discard previous data, avoid stalling gpu */
- varray = glMapBufferARB( GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB );
- if( varray == 0 ) {
- DEBUG_VBO( "Failed to map buffer to client address space\n" );
- }
- return varray;
- }
- else {
- return buffer->pointer;
- }
-}
-
-void GPU_buffer_unlock( GPUBuffer *buffer )
-{
- DEBUG_VBO( "GPU_buffer_unlock\n" );
- if( useVBOs ) {
- if( buffer != 0 ) {
- if( glUnmapBufferARB( GL_ARRAY_BUFFER_ARB ) == 0 ) {
- DEBUG_VBO( "Failed to copy new data\n" );
- }
- }
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
- }
-}
-
-void GPU_buffer_draw_elements( GPUBuffer *elements, unsigned int mode, int start, int count )
-{
- if( useVBOs ) {
- glDrawElements( mode, count, GL_UNSIGNED_INT, (void *)(start*sizeof(unsigned int)) );
- }
- else {
- glDrawElements( mode, count, GL_UNSIGNED_INT, ((int *)elements->pointer)+start );
- }
-}
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index 25be2e2aeb4..9878d83ff5a 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -76,6 +76,8 @@
#include "smoke_API.h"
+extern Material defmaterial; /* from material.c */
+
/* These are some obscure rendering functions shared between the
* game engine and the blender, in this module to avoid duplicaten
* and abstract them away from the rest a bit */
@@ -244,8 +246,9 @@ static struct GPUTextureState {
int domipmap, linearmipmap;
int alphamode;
+ float anisotropic;
MTFace *lasttface;
-} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, -1, NULL};
+} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, -1, 1.f, NULL};
/* Mipmap settings */
@@ -290,6 +293,26 @@ static GLenum gpu_get_mipmap_filter(int mag)
}
}
+/* Anisotropic filtering settings */
+void GPU_set_anisotropic(float value)
+{
+ if (GTS.anisotropic != value)
+ {
+ GPU_free_images();
+
+ /* Clamp value to the maximum value the graphics card supports */
+ if (value > GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT)
+ value = GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT;
+
+ GTS.anisotropic = value;
+ }
+}
+
+float GPU_get_anisotropic()
+{
+ return GTS.anisotropic;
+}
+
/* Set OpenGL state for an MTFace */
static void gpu_make_repbind(Image *ima)
@@ -557,6 +580,8 @@ int GPU_verify_image(Image *ima, ImageUser *iuser, int tftile, int compare, int
ima->tpageflag |= IMA_MIPMAP_COMPLETE;
}
+ if (GLEW_EXT_texture_filter_anisotropic)
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, GPU_get_anisotropic());
/* set to modulate with vertex color */
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
@@ -685,9 +710,25 @@ void GPU_paint_update_image(Image *ima, int x, int y, int w, int h, int mipmap)
glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skip_pixels);
glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skip_rows);
- if ((ibuf->rect==NULL) && ibuf->rect_float)
- IMB_rect_from_float(ibuf);
-
+ if (ibuf->rect_float){
+ /*This case needs a whole new buffer*/
+ if(ibuf->rect==NULL) {
+ IMB_rect_from_float(ibuf);
+ }
+ else {
+ /* Do partial drawing. 'buffer' holds only the changed part. Needed for color corrected result */
+ float *buffer = (float *)MEM_mallocN(w*h*sizeof(float)*4, "temp_texpaint_float_buf");
+ IMB_partial_rect_from_float(ibuf, buffer, x, y, w, h);
+ glBindTexture(GL_TEXTURE_2D, ima->bindcode);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, x, y, w, h, GL_RGBA,
+ GL_FLOAT, buffer);
+ MEM_freeN(buffer);
+ if(ima->tpageflag & IMA_MIPMAP_COMPLETE)
+ ima->tpageflag &= ~IMA_MIPMAP_COMPLETE;
+ return;
+ }
+ }
+
glBindTexture(GL_TEXTURE_2D, ima->bindcode);
glPixelStorei(GL_UNPACK_ROW_LENGTH, ibuf->x);
@@ -781,12 +822,18 @@ void GPU_free_smoke(SmokeModifierData *smd)
void GPU_create_smoke(SmokeModifierData *smd, int highres)
{
+#ifdef WITH_SMOKE
if(smd->type & MOD_SMOKE_TYPE_DOMAIN && !smd->domain->tex && !highres)
smd->domain->tex = GPU_texture_create_3D(smd->domain->res[0], smd->domain->res[1], smd->domain->res[2], smoke_get_density(smd->domain->fluid));
else if(smd->type & MOD_SMOKE_TYPE_DOMAIN && !smd->domain->tex && highres)
smd->domain->tex = GPU_texture_create_3D(smd->domain->res_wt[0], smd->domain->res_wt[1], smd->domain->res_wt[2], smoke_turbulence_get_density(smd->domain->wt));
smd->domain->tex_shadow = GPU_texture_create_3D(smd->domain->res[0], smd->domain->res[1], smd->domain->res[2], smd->domain->shadow);
+#else // WITH_SMOKE
+ (void)highres;
+ smd->domain->tex= NULL;
+ smd->domain->tex_shadow= NULL;
+#endif // WITH_SMOKE
}
static ListBase image_free_queue = {NULL, NULL};
@@ -951,7 +998,6 @@ static Material *gpu_active_node_material(Material *ma)
void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, Object *ob, int glsl, int *do_alpha_pass)
{
- extern Material defmaterial; /* from material.c */
Material *ma;
GPUMaterial *gpumat;
GPUBlendMode blendmode;
@@ -1042,7 +1088,6 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O
int GPU_enable_material(int nr, void *attribs)
{
- extern Material defmaterial; /* from material.c */
GPUVertexAttribs *gattribs = attribs;
GPUMaterial *gpumat;
GPUBlendMode blendmode;
diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c
index 1bf70fbd38b..274884000db 100644
--- a/source/blender/gpu/intern/gpu_material.c
+++ b/source/blender/gpu/intern/gpu_material.c
@@ -671,7 +671,7 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la
i = is;
GPU_link(mat, "shade_visifac", i, visifac, shi->refl, &i);
- vn = shi->vn;
+
/*if(ma->mode & MA_TANGENT_VN)
GPU_link(mat, "shade_tangent_v_spec", GPU_attribute(CD_TANGENT, ""), &vn);*/
@@ -900,7 +900,7 @@ static void do_material_tex(GPUShadeInput *shi)
GPUNodeLink *texco_norm, *texco_orco, *texco_object;
GPUNodeLink *texco_global, *texco_uv = NULL;
GPUNodeLink *newnor, *orn;
- char *lastuvname = NULL;
+ /*char *lastuvname = NULL;*/ /*UNUSED*/
float one = 1.0f, norfac, ofs[3];
int tex_nr, rgbnor, talpha;
int init_done = 0, iBumpSpacePrev;
@@ -942,12 +942,14 @@ static void do_material_tex(GPUShadeInput *shi)
texco= texco_object;
else if(mtex->texco==TEXCO_GLOB)
texco= texco_global;
- else if(mtex->texco==TEXCO_REFL)
+ else if(mtex->texco==TEXCO_REFL) {
+ GPU_link(mat, "texco_refl", shi->vn, shi->view, &shi->ref);
texco= shi->ref;
+ }
else if(mtex->texco==TEXCO_UV) {
if(1) { //!(texco_uv && strcmp(mtex->uvname, lastuvname) == 0)) {
GPU_link(mat, "texco_uv", GPU_attribute(CD_MTFACE, mtex->uvname), &texco_uv);
- lastuvname = mtex->uvname;
+ /*lastuvname = mtex->uvname;*/ /*UNUSED*/
}
texco= texco_uv;
}
@@ -1173,7 +1175,6 @@ static void do_material_tex(GPUShadeInput *shi)
}
GPU_link(mat, "vec_math_negate", shi->vn, &orn);
- GPU_link(mat, "texco_refl", shi->vn, shi->view, &shi->ref);
}
if((mtex->mapto & MAP_VARS)) {
@@ -1370,9 +1371,6 @@ void GPU_shaderesult_set(GPUShadeInput *shi, GPUShadeResult *shr)
mat->obcolalpha = 1;
GPU_link(mat, "shade_alpha_obcolor", shr->combined, GPU_builtin(GPU_OBCOLOR), &shr->combined);
}
-
- if(gpu_do_color_management(mat))
- GPU_link(mat, "linearrgb_to_srgb", shr->combined, &shr->combined);
}
static GPUNodeLink *GPU_blender_material(GPUMaterial *mat, Material *ma)
@@ -1407,6 +1405,10 @@ GPUMaterial *GPU_material_from_blender(Scene *scene, Material *ma)
GPU_material_output_link(mat, outlink);
}
+ if(gpu_do_color_management(mat))
+ if(mat->outlink)
+ GPU_link(mat, "linearrgb_to_srgb", mat->outlink, &mat->outlink);
+
/*if(!GPU_material_construct_end(mat)) {
GPU_material_free(mat);
mat= NULL;
diff --git a/source/blender/ikplugin/CMakeLists.txt b/source/blender/ikplugin/CMakeLists.txt
index 47c773756a9..dc637aedd6d 100644
--- a/source/blender/ikplugin/CMakeLists.txt
+++ b/source/blender/ikplugin/CMakeLists.txt
@@ -25,14 +25,18 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
+ .
+ ../blenkernel
../blenlib
../makesdna
- ../blenkernel
- ../ikplugin
../../../intern/guardedalloc
../../../intern/iksolver/extern
)
+set(INC_SYS
+
+)
+
set(SRC
intern/ikplugin_api.c
intern/iksolver_plugin.c
@@ -45,11 +49,13 @@ set(SRC
if(WITH_IK_ITASC)
add_definitions(-DWITH_IK_ITASC)
- list(APPEND INC ../../../extern/Eigen2)
- list(APPEND INC ../../../intern/itasc)
+ list(APPEND INC
+ ../../../extern/Eigen2
+ ../../../intern/itasc
+ )
list(APPEND SRC
- ./intern/itasc_plugin.cpp
+ intern/itasc_plugin.cpp
)
endif()
-blender_add_lib(bf_ikplugin "${SRC}" "${INC}")
+blender_add_lib(bf_ikplugin "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt
index 6404ae3de75..18b5eff5c73 100644
--- a/source/blender/imbuf/CMakeLists.txt
+++ b/source/blender/imbuf/CMakeLists.txt
@@ -32,12 +32,15 @@ endif()
set(INC
.
../avi
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
../makesdna
- ../../../intern/memutil
../../../intern/guardedalloc
+ ../../../intern/memutil
+)
+
+set(INC_SYS
${JPEG_INCLUDE_DIR}
${PNG_INCLUDE_DIR}
${ZLIB_INCLUDE_DIRS}
@@ -100,6 +103,9 @@ set(SRC
intern/md5.h
intern/openexr/openexr_api.h
intern/openexr/openexr_multi.h
+
+ # orphan include
+ ../../../intern/ffmpeg/ffmpeg_compat.h
)
if(WITH_IMAGE_OPENEXR)
@@ -107,30 +113,43 @@ if(WITH_IMAGE_OPENEXR)
endif()
if(WITH_IMAGE_TIFF)
- list(APPEND INC ${TIFF_INCLUDE_DIR})
+ list(APPEND INC_SYS
+ ${TIFF_INCLUDE_DIR}
+ )
add_definitions(-DWITH_TIFF)
endif()
if(WITH_IMAGE_OPENJPEG)
- list(APPEND INC ${OPENJPEG_INC})
+ list(APPEND INC_SYS
+ ${OPENJPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_OPENJPEG)
endif()
if(WITH_IMAGE_REDCODE)
- list(APPEND INC ${REDCODE_INC})
+ list(APPEND INC_SYS
+ ${REDCODE_INC}
+ )
add_definitions(-DWITH_REDCODE)
endif()
if(WITH_CODEC_QUICKTIME)
list(APPEND INC
../quicktime
- ${QUICKTIME_INC}
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
)
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC ${FFMPEG_INC})
+ list(APPEND INC
+ ../../../intern/ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
@@ -146,4 +165,4 @@ if(WITH_IMAGE_HDR)
add_definitions(-DWITH_HDR)
endif()
-blender_add_lib(bf_imbuf "${SRC}" "${INC}")
+blender_add_lib(bf_imbuf "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h
index 21249c9e8f7..36123592c54 100644
--- a/source/blender/imbuf/IMB_imbuf.h
+++ b/source/blender/imbuf/IMB_imbuf.h
@@ -243,9 +243,16 @@ void IMB_free_anim(struct anim *anim);
*
* @attention Defined in filter.c
*/
+
+#define FILTER_MASK_NULL 0
+#define FILTER_MASK_MARGIN 1
+#define FILTER_MASK_USED 2
+
void IMB_filter(struct ImBuf *ibuf);
void IMB_filterN(struct ImBuf *out, struct ImBuf *in);
-void IMB_filter_extend(struct ImBuf *ibuf, char *mask);
+void IMB_mask_filter_extend(char *mask, int width, int height);
+void IMB_mask_clear(struct ImBuf *ibuf, char *mask, int val);
+void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter);
void IMB_makemipmap(struct ImBuf *ibuf, int use_filter);
void IMB_remakemipmap(struct ImBuf *ibuf, int use_filter);
struct ImBuf *IMB_getmipmap(struct ImBuf *ibuf, int level);
@@ -320,12 +327,18 @@ int imb_get_anim_type(const char *name);
*/
void IMB_de_interlace(struct ImBuf *ibuf);
void IMB_interlace(struct ImBuf *ibuf);
+
+/* create char buffer, color corrected if necessary, for ImBufs that lack one */
void IMB_rect_from_float(struct ImBuf *ibuf);
+/* create char buffer for part of the image, color corrected if necessary,
+ Changed part will be stored in buffer. This is expected to be used for texture painting updates */
+void IMB_partial_rect_from_float(struct ImBuf *ibuf, float *buffer, int x, int y, int w, int h);
void IMB_float_from_rect(struct ImBuf *ibuf);
void IMB_float_from_rect_simple(struct ImBuf *ibuf); /* no profile conversion */
/* note, check that the conversion exists, only some are supported */
void IMB_convert_profile(struct ImBuf *ibuf, int profile);
float *IMB_float_profile_ensure(struct ImBuf *ibuf, int profile, int *alloc);
+void IMB_color_to_bw(struct ImBuf *ibuf);
/**
* Change the ordering of the color bytes pointed to by rect from
@@ -430,8 +443,9 @@ void IMB_freezbuffloatImBuf(struct ImBuf *ibuf);
*
* @attention Defined in rectop.c
*/
-void IMB_rectfill(struct ImBuf *drect, float col[4]);
+void IMB_rectfill(struct ImBuf *drect, const float col[4]);
void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, int y2);
+void IMB_rectfill_alpha(struct ImBuf *ibuf, const float value);
/* this should not be here, really, we needed it for operating on render data, IMB_rectfill_area calls it */
void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2);
diff --git a/source/blender/imbuf/IMB_imbuf_types.h b/source/blender/imbuf/IMB_imbuf_types.h
index 81512adf065..f5e2bf71468 100644
--- a/source/blender/imbuf/IMB_imbuf_types.h
+++ b/source/blender/imbuf/IMB_imbuf_types.h
@@ -84,11 +84,13 @@ typedef struct ImBuf {
/* pixels */
unsigned int *rect; /* pixel values stored here */
- unsigned int *crect; /* color corrected pixel values stored here */
float *rect_float; /* floating point Rect equivalent
Linear RGB color space - may need gamma correction to
sRGB when generating 8bit representations */
-
+
+ /* resolution - pixels per meter */
+ double ppm[2];
+
/* tiled pixel storage */
int tilex, tiley;
int xtiles, ytiles;
@@ -101,7 +103,6 @@ typedef struct ImBuf {
/* parameters used by conversion between byte and float */
float dither; /* random dither value, for conversion from float -> byte rect */
short profile; /* color space/profile preset that the byte rect buffer represents */
- char profile_filename[256]; /* to be implemented properly, specific filename for custom profiles */
/* mipmapping */
struct ImBuf *mipmap[IB_MIPMAP_LEVELS]; /* MipMap levels, a series of halved images */
diff --git a/source/blender/imbuf/SConscript b/source/blender/imbuf/SConscript
index ecb9a89c274..a80f92b4421 100644
--- a/source/blender/imbuf/SConscript
+++ b/source/blender/imbuf/SConscript
@@ -5,7 +5,7 @@ sources = env.Glob('intern/*.c')
incs = '. ../makesdna #/intern/guardedalloc #/intern/memutil ../blenlib'
incs += ' ../avi ../blenkernel ../blenloader'
-
+incs += ' #/intern/ffmpeg'
incs += ' ' + env['BF_JPEG_INC']
incs += ' ' + env['BF_PNG_INC']
diff --git a/source/blender/imbuf/intern/IMB_anim.h b/source/blender/imbuf/intern/IMB_anim.h
index 4804d363628..fba0772dd93 100644
--- a/source/blender/imbuf/intern/IMB_anim.h
+++ b/source/blender/imbuf/intern/IMB_anim.h
@@ -107,7 +107,7 @@
#define SWAP_S(x) (((x << 8) & 0xff00) | ((x >> 8) & 0xff))
/* more endianness... should move to a separate file... */
-#if defined(__sgi) || defined (__sparc) || (__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__hppa__) || defined (__BIG_ENDIAN__)
+#if defined(__sgi) || defined (__sparc) || defined (__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__hppa__) || defined (__BIG_ENDIAN__)
#define GET_ID GET_BIG_LONG
#define LITTLE_LONG SWAP_LONG
#else
diff --git a/source/blender/imbuf/intern/allocimbuf.c b/source/blender/imbuf/intern/allocimbuf.c
index a8b9e21331d..59772771f3b 100644
--- a/source/blender/imbuf/intern/allocimbuf.c
+++ b/source/blender/imbuf/intern/allocimbuf.c
@@ -84,17 +84,13 @@ void imb_freerectfloatImBuf(ImBuf *ibuf)
void imb_freerectImBuf(ImBuf *ibuf)
{
if(ibuf==NULL) return;
-
- if(ibuf->crect)
- MEM_freeN(ibuf->crect);
if(ibuf->rect && (ibuf->mall & IB_rect))
MEM_freeN(ibuf->rect);
+ ibuf->rect= NULL;
imb_freemipmapImBuf(ibuf);
-
- ibuf->rect= NULL;
- ibuf->crect= NULL;
+
ibuf->mall &= ~IB_rect;
}
@@ -346,6 +342,7 @@ ImBuf *IMB_allocImBuf(unsigned int x, unsigned int y, uchar d, unsigned int flag
ibuf->depth= d;
ibuf->ftype= TGA;
ibuf->channels= 4; /* float option, is set to other values when buffers get assigned */
+ ibuf->ppm[0]= ibuf->ppm[1]= 150.0 / 0.0254; /* 150dpi -> pixels-per-meter */
if(flags & IB_rect) {
if(imb_addrectImBuf(ibuf)==FALSE) {
diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
index 4de96bb17bc..919b0eb0c29 100644
--- a/source/blender/imbuf/intern/anim_movie.c
+++ b/source/blender/imbuf/intern/anim_movie.c
@@ -97,16 +97,7 @@
#include <libavutil/rational.h>
#include <libswscale/swscale.h>
-#if LIBAVFORMAT_VERSION_INT < (49 << 16)
-#define FFMPEG_OLD_FRAME_RATE 1
-#else
-#define FFMPEG_CODEC_IS_POINTER 1
-#endif
-
-#if (LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 29) && \
- (LIBSWSCALE_VERSION_MAJOR >= 0) && (LIBSWSCALE_VERSION_MINOR >= 10)
-#define FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT
-#endif
+#include "ffmpeg_compat.h"
#endif //WITH_FFMPEG
@@ -520,18 +511,6 @@ static ImBuf * avi_fetchibuf (struct anim *anim, int position) {
extern void do_init_ffmpeg(void);
-#ifdef FFMPEG_CODEC_IS_POINTER
-static AVCodecContext* get_codec_from_stream(AVStream* stream)
-{
- return stream->codec;
-}
-#else
-static AVCodecContext* get_codec_from_stream(AVStream* stream)
-{
- return &stream->codec;
-}
-#endif
-
static int startffmpeg(struct anim * anim) {
int i, videoStream;
@@ -559,14 +538,14 @@ static int startffmpeg(struct anim * anim) {
return -1;
}
- dump_format(pFormatCtx, 0, anim->name, 0);
+ av_dump_format(pFormatCtx, 0, anim->name, 0);
/* Find the first video stream */
videoStream=-1;
for(i=0; i<pFormatCtx->nb_streams; i++)
- if(get_codec_from_stream(pFormatCtx->streams[i])->codec_type
- == CODEC_TYPE_VIDEO) {
+ if(pFormatCtx->streams[i]->codec->codec_type
+ == AVMEDIA_TYPE_VIDEO) {
videoStream=i;
break;
}
@@ -576,7 +555,7 @@ static int startffmpeg(struct anim * anim) {
return -1;
}
- pCodecCtx = get_codec_from_stream(pFormatCtx->streams[videoStream]);
+ pCodecCtx = pFormatCtx->streams[videoStream]->codec;
/* Find the decoder for the video stream */
pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
@@ -592,19 +571,10 @@ static int startffmpeg(struct anim * anim) {
return -1;
}
-#ifdef FFMPEG_OLD_FRAME_RATE
- if(pCodecCtx->frame_rate>1000 && pCodecCtx->frame_rate_base==1)
- pCodecCtx->frame_rate_base=1000;
-
-
- anim->duration = pFormatCtx->duration * pCodecCtx->frame_rate
- / pCodecCtx->frame_rate_base / AV_TIME_BASE;
-#else
anim->duration = ceil(pFormatCtx->duration
* av_q2d(pFormatCtx->streams[videoStream]->r_frame_rate)
/ AV_TIME_BASE);
-#endif
anim->params = 0;
anim->x = pCodecCtx->width;
@@ -830,10 +800,10 @@ static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) {
&& position - (anim->curposition + 1) < anim->preseek) {
while(av_read_frame(anim->pFormatCtx, &packet)>=0) {
if (packet.stream_index == anim->videoStream) {
- avcodec_decode_video(
+ avcodec_decode_video2(
anim->pCodecCtx,
anim->pFrame, &frameFinished,
- packet.data, packet.size);
+ &packet);
if (frameFinished) {
anim->curposition++;
@@ -858,15 +828,9 @@ static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) {
#endif
if (position != anim->curposition + 1) {
-#ifdef FFMPEG_OLD_FRAME_RATE
- double frame_rate =
- (double) anim->pCodecCtx->frame_rate
- / (double) anim->pCodecCtx->frame_rate_base;
-#else
double frame_rate =
av_q2d(anim->pFormatCtx->streams[anim->videoStream]
->r_frame_rate);
-#endif
double pts_time_base = av_q2d(anim->pFormatCtx->streams[anim->videoStream]->time_base);
long long pos;
long long st_time = anim->pFormatCtx->start_time;
@@ -915,9 +879,9 @@ static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) {
while(av_read_frame(anim->pFormatCtx, &packet)>=0) {
if(packet.stream_index == anim->videoStream) {
- avcodec_decode_video(anim->pCodecCtx,
- anim->pFrame, &frameFinished,
- packet.data, packet.size);
+ avcodec_decode_video2(anim->pCodecCtx,
+ anim->pFrame, &frameFinished,
+ &packet);
if (seek_by_bytes && preseek_count > 0) {
preseek_count--;
diff --git a/source/blender/imbuf/intern/cineon/CMakeLists.txt b/source/blender/imbuf/intern/cineon/CMakeLists.txt
index 92cba72c094..4f7f20beecf 100644
--- a/source/blender/imbuf/intern/cineon/CMakeLists.txt
+++ b/source/blender/imbuf/intern/cineon/CMakeLists.txt
@@ -25,14 +25,18 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- .
- ..
- ../..
- ../../../blenkernel
- ../../../blenloader
- ../../../blenlib
- ../../../makesdna
- ../../../../../intern/guardedalloc
+ .
+ ..
+ ../..
+ ../../../blenkernel
+ ../../../blenlib
+ ../../../blenloader
+ ../../../makesdna
+ ../../../../../intern/guardedalloc
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -44,4 +48,4 @@ set(SRC
logmemfile.c
)
-blender_add_lib(bf_imbuf_cineon "${SRC}" "${INC}")
+blender_add_lib(bf_imbuf_cineon "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/imbuf/intern/cineon/cineon_dpx.c b/source/blender/imbuf/intern/cineon/cineon_dpx.c
index 504817b263f..8df2a9f6985 100644
--- a/source/blender/imbuf/intern/cineon/cineon_dpx.c
+++ b/source/blender/imbuf/intern/cineon/cineon_dpx.c
@@ -44,6 +44,7 @@
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
+#include "IMB_filetype.h"
#include "BKE_global.h"
@@ -192,7 +193,7 @@ static int imb_save_dpx_cineon(ImBuf *ibuf, const char *filename, int use_cineon
return 1;
}
-short imb_savecineon(struct ImBuf *buf, const char *myfile, int flags)
+int imb_savecineon(struct ImBuf *buf, const char *myfile, int flags)
{
return imb_save_dpx_cineon(buf, myfile, 1, flags);
}
@@ -203,14 +204,14 @@ int imb_is_cineon(unsigned char *buf)
return cineonIsMemFileCineon(buf);
}
-ImBuf *imb_loadcineon(unsigned char *mem, int size, int flags)
+ImBuf *imb_loadcineon(unsigned char *mem, size_t size, int flags)
{
if(imb_is_cineon(mem))
return imb_load_dpx_cineon(mem, 1, size, flags);
return NULL;
}
-short imb_save_dpx(struct ImBuf *buf, const char *myfile, int flags)
+int imb_save_dpx(struct ImBuf *buf, const char *myfile, int flags)
{
return imb_save_dpx_cineon(buf, myfile, 0, flags);
}
@@ -220,7 +221,7 @@ int imb_is_dpx(unsigned char *buf)
return dpxIsMemFileCineon(buf);
}
-ImBuf *imb_loaddpx(unsigned char *mem, int size, int flags)
+ImBuf *imb_loaddpx(unsigned char *mem, size_t size, int flags)
{
if(imb_is_dpx(mem))
return imb_load_dpx_cineon(mem, 0, size, flags);
diff --git a/source/blender/imbuf/intern/cineon/cineonfile.h b/source/blender/imbuf/intern/cineon/cineonfile.h
index 31aa56f560c..896e0af65b3 100644
--- a/source/blender/imbuf/intern/cineon/cineonfile.h
+++ b/source/blender/imbuf/intern/cineon/cineonfile.h
@@ -126,19 +126,6 @@ typedef struct {
ASCII reserved[740];
} CineonMPISpecificInformation;
-#if 0
-/* create CineonFile from data in header */
-/* return 0 for OK */
-int readCineonGenericHeader(CineonFile* cineon, CineonGenericHeader* header);
-
-/* create header from data in CineonFile */
-int initCineonGenericHeader(
- CineonFile* cineon, CineonGenericHeader* header, const char* imagename);
-
-/* Note: dump routine assumes network byte order */
-void dumpCineonGenericHeader(CineonGenericHeader* header);
-#endif
-
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/imbuf/intern/cineon/cineonlib.c b/source/blender/imbuf/intern/cineon/cineonlib.c
index fdcd3491af1..922cfcf9629 100644
--- a/source/blender/imbuf/intern/cineon/cineonlib.c
+++ b/source/blender/imbuf/intern/cineon/cineonlib.c
@@ -276,7 +276,7 @@ dumpCineonOriginationInfo(CineonOriginationInformation* originInfo) {
d_printf("Input device gamma %f\n", ntohf(originInfo->input_device_gamma));
}
-int
+static int
initCineonGenericHeader(CineonFile* cineon, CineonGenericHeader* header, const char* imagename) {
fillCineonFileInfo(cineon, &header->fileInfo, imagename);
@@ -287,7 +287,7 @@ initCineonGenericHeader(CineonFile* cineon, CineonGenericHeader* header, const c
return 0;
}
-void
+static void
dumpCineonGenericHeader(CineonGenericHeader* header) {
dumpCineonFileInfo(&header->fileInfo);
dumpCineonImageInfo(&header->imageInfo);
diff --git a/source/blender/imbuf/intern/cineon/logmemfile.c b/source/blender/imbuf/intern/cineon/logmemfile.c
index 6347eb5fdf9..d3a32774efd 100644
--- a/source/blender/imbuf/intern/cineon/logmemfile.c
+++ b/source/blender/imbuf/intern/cineon/logmemfile.c
@@ -27,6 +27,8 @@
#include "logImageCore.h"
+#include "logmemfile.h" /* own include */
+
int logimage_fseek(void* logfile, intptr_t offsett, int origin)
{
struct _Log_Image_File_t_ *file = (struct _Log_Image_File_t_*) logfile;
diff --git a/source/blender/imbuf/intern/dds/BlockDXT.cpp b/source/blender/imbuf/intern/dds/BlockDXT.cpp
index 2989361efe6..0d17f16532b 100644
--- a/source/blender/imbuf/intern/dds/BlockDXT.cpp
+++ b/source/blender/imbuf/intern/dds/BlockDXT.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -123,6 +123,53 @@ uint BlockDXT1::evaluatePalette(Color32 color_array[4]) const
}
}
+
+uint BlockDXT1::evaluatePaletteNV5x(Color32 color_array[4]) const
+{
+ // Does bit expansion before interpolation.
+ color_array[0].b = (3 * col0.b * 22) / 8;
+ color_array[0].g = (col0.g << 2) | (col0.g >> 4);
+ color_array[0].r = (3 * col0.r * 22) / 8;
+ color_array[0].a = 0xFF;
+
+ color_array[1].r = (3 * col1.r * 22) / 8;
+ color_array[1].g = (col1.g << 2) | (col1.g >> 4);
+ color_array[1].b = (3 * col1.b * 22) / 8;
+ color_array[1].a = 0xFF;
+
+ int gdiff = color_array[1].g - color_array[0].g;
+
+ if( col0.u > col1.u ) {
+ // Four-color block: derive the other two colors.
+ color_array[2].r = ((2 * col0.r + col1.r) * 22) / 8;
+ color_array[2].g = (256 * color_array[0].g + gdiff / 4 + 128 + gdiff * 80) / 256;
+ color_array[2].b = ((2 * col0.b + col1.b) * 22) / 8;
+ color_array[2].a = 0xFF;
+
+ color_array[3].r = ((2 * col1.r + col0.r) * 22) / 8;
+ color_array[3].g = (256 * color_array[1].g - gdiff / 4 + 128 - gdiff * 80) / 256;
+ color_array[3].b = ((2 * col1.b + col0.b) * 22) / 8;
+ color_array[3].a = 0xFF;
+
+ return 4;
+ }
+ else {
+ // Three-color block: derive the other color.
+ color_array[2].r = ((col0.r + col1.r) * 33) / 8;
+ color_array[2].g = (256 * color_array[0].g + gdiff / 4 + 128 + gdiff * 128) / 256;
+ color_array[2].b = ((col0.b + col1.b) * 33) / 8;
+ color_array[2].a = 0xFF;
+
+ // Set all components to 0 to match DXT specs.
+ color_array[3].r = 0x00; // color_array[2].r;
+ color_array[3].g = 0x00; // color_array[2].g;
+ color_array[3].b = 0x00; // color_array[2].b;
+ color_array[3].a = 0x00;
+
+ return 3;
+ }
+}
+
// Evaluate palette assuming 3 color block.
void BlockDXT1::evaluatePalette3(Color32 color_array[4]) const
{
@@ -174,6 +221,7 @@ void BlockDXT1::evaluatePalette4(Color32 color_array[4]) const
color_array[3].a = 0xFF;
}
+
void BlockDXT1::decodeBlock(ColorBlock * block) const
{
// Decode color block.
@@ -189,6 +237,21 @@ void BlockDXT1::decodeBlock(ColorBlock * block) const
}
}
+void BlockDXT1::decodeBlockNV5x(ColorBlock * block) const
+{
+ // Decode color block.
+ Color32 color_array[4];
+ evaluatePaletteNV5x(color_array);
+
+ // Write color block.
+ for( uint j = 0; j < 4; j++ ) {
+ for( uint i = 0; i < 4; i++ ) {
+ uint idx = (row[j] >> (2 * i)) & 3;
+ block->color(i, j) = color_array[idx];
+ }
+ }
+}
+
void BlockDXT1::setIndices(int * idx)
{
indices = 0;
@@ -225,6 +288,12 @@ void BlockDXT3::decodeBlock(ColorBlock * block) const
alpha.decodeBlock(block);
}
+void BlockDXT3::decodeBlockNV5x(ColorBlock * block) const
+{
+ color.decodeBlockNV5x(block);
+ alpha.decodeBlock(block);
+}
+
void AlphaBlockDXT3::decodeBlock(ColorBlock * block) const
{
block->color(0x0).a = (alpha0 << 4) | alpha0;
@@ -394,7 +463,15 @@ void BlockDXT5::decodeBlock(ColorBlock * block) const
// Decode alpha.
alpha.decodeBlock(block);
+}
+void BlockDXT5::decodeBlockNV5x(ColorBlock * block) const
+{
+ // Decode color.
+ color.decodeBlockNV5x(block);
+
+ // Decode alpha.
+ alpha.decodeBlock(block);
}
/// Flip DXT5 block vertically.
diff --git a/source/blender/imbuf/intern/dds/BlockDXT.h b/source/blender/imbuf/intern/dds/BlockDXT.h
index 7c5b9acffd2..aa0c1c509ca 100644
--- a/source/blender/imbuf/intern/dds/BlockDXT.h
+++ b/source/blender/imbuf/intern/dds/BlockDXT.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -78,11 +78,13 @@ struct BlockDXT1
bool isFourColorMode() const;
uint evaluatePalette(Color32 color_array[4]) const;
- uint evaluatePaletteFast(Color32 color_array[4]) const;
+ uint evaluatePaletteNV5x(Color32 color_array[4]) const;
+
void evaluatePalette3(Color32 color_array[4]) const;
void evaluatePalette4(Color32 color_array[4]) const;
void decodeBlock(ColorBlock * block) const;
+ void decodeBlockNV5x(ColorBlock * block) const;
void setIndices(int * idx);
@@ -136,6 +138,7 @@ struct BlockDXT3
BlockDXT1 color;
void decodeBlock(ColorBlock * block) const;
+ void decodeBlockNV5x(ColorBlock * block) const;
void flip4();
void flip2();
@@ -213,6 +216,7 @@ struct BlockDXT5
BlockDXT1 color;
void decodeBlock(ColorBlock * block) const;
+ void decodeBlockNV5x(ColorBlock * block) const;
void flip4();
void flip2();
diff --git a/source/blender/imbuf/intern/dds/CMakeLists.txt b/source/blender/imbuf/intern/dds/CMakeLists.txt
index 7564287ce4a..53822b830f7 100644
--- a/source/blender/imbuf/intern/dds/CMakeLists.txt
+++ b/source/blender/imbuf/intern/dds/CMakeLists.txt
@@ -28,13 +28,16 @@ set(INC
.
..
../..
- ./intern/include
- ../../../blenlib
../../../blenkernel
+ ../../../blenlib
../../../makesdna
../../../../../intern/guardedalloc
)
+set(INC_SYS
+
+)
+
set(SRC
BlockDXT.cpp
ColorBlock.cpp
@@ -48,4 +51,4 @@ if(WITH_IMAGE_DDS)
add_definitions(-DWITH_DDS)
endif()
-blender_add_lib(bf_imbuf_dds "${SRC}" "${INC}")
+blender_add_lib(bf_imbuf_dds "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/imbuf/intern/dds/Color.h b/source/blender/imbuf/intern/dds/Color.h
index 5efc259b795..42ed34daf76 100644
--- a/source/blender/imbuf/intern/dds/Color.h
+++ b/source/blender/imbuf/intern/dds/Color.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
diff --git a/source/blender/imbuf/intern/dds/ColorBlock.cpp b/source/blender/imbuf/intern/dds/ColorBlock.cpp
index 711d1b54cfa..edb69934231 100644
--- a/source/blender/imbuf/intern/dds/ColorBlock.cpp
+++ b/source/blender/imbuf/intern/dds/ColorBlock.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -83,65 +83,90 @@ ColorBlock::ColorBlock(const Image * img, uint x, uint y)
void ColorBlock::init(const Image * img, uint x, uint y)
{
- const uint bw = min(img->width() - x, 4U);
- const uint bh = min(img->height() - y, 4U);
+ init(img->width(), img->height(), (const uint *)img->pixels(), x, y);
+}
- static int remainder[] = {
- 0, 0, 0, 0,
- 0, 1, 0, 1,
- 0, 1, 2, 0,
- 0, 1, 2, 3,
- };
+void ColorBlock::init(uint w, uint h, const uint * data, uint x, uint y)
+{
+ const uint bw = min(w - x, 4U);
+ const uint bh = min(h - y, 4U);
- // Blocks that are smaller than 4x4 are handled by repeating the pixels.
- // @@ Thats only correct when block size is 1, 2 or 4, but not with 3. :(
+ // Blocks that are smaller than 4x4 are handled by repeating the pixels.
+ // @@ Thats only correct when block size is 1, 2 or 4, but not with 3. :(
+ // @@ Ideally we should zero the weights of the pixels out of range.
- for(uint i = 0; i < 4; i++) {
- //const int by = i % bh;
- const int by = remainder[(bh - 1) * 4 + i];
- for(uint e = 0; e < 4; e++) {
- //const int bx = e % bw;
- const int bx = remainder[(bw - 1) * 4 + e];
- color(e, i) = img->pixel(x + bx, y + by);
- }
- }
-}
+ for (uint i = 0; i < 4; i++)
+ {
+ const int by = i % bh;
+
+ for (uint e = 0; e < 4; e++)
+ {
+ const int bx = e % bw;
+ const uint idx = (y + by) * w + x + bx;
+ color(e, i).u = data[idx];
+ }
+ }
+}
-void ColorBlock::swizzleDXT5n()
+void ColorBlock::init(uint w, uint h, const float * data, uint x, uint y)
{
- for(int i = 0; i < 16; i++)
+ const uint bw = min(w - x, 4U);
+ const uint bh = min(h - y, 4U);
+
+ // Blocks that are smaller than 4x4 are handled by repeating the pixels.
+ // @@ Thats only correct when block size is 1, 2 or 4, but not with 3. :(
+ // @@ Ideally we should zero the weights of the pixels out of range.
+
+ uint srcPlane = w * h;
+
+ for (uint i = 0; i < 4; i++)
{
- Color32 c = m_color[i];
- m_color[i] = Color32(0xFF, c.g, 0, c.r);
+ const uint by = i % bh;
+
+ for (uint e = 0; e < 4; e++)
+ {
+ const uint bx = e % bw;
+ const uint idx = ((y + by) * w + x + bx);
+
+ Color32 & c = color(e, i);
+ c.r = uint8(255 * clamp(data[idx + 0 * srcPlane], 0.0f, 1.0f)); // @@ Is this the right way to quantize floats to bytes?
+ c.g = uint8(255 * clamp(data[idx + 1 * srcPlane], 0.0f, 1.0f));
+ c.b = uint8(255 * clamp(data[idx + 2 * srcPlane], 0.0f, 1.0f));
+ c.a = uint8(255 * clamp(data[idx + 3 * srcPlane], 0.0f, 1.0f));
+ }
}
}
-void ColorBlock::splatX()
+static inline uint8 component(Color32 c, uint i)
{
- for(int i = 0; i < 16; i++)
- {
- uint8 x = m_color[i].r;
- m_color[i] = Color32(x, x, x, x);
- }
+ if (i == 0) return c.r;
+ if (i == 1) return c.g;
+ if (i == 2) return c.b;
+ if (i == 3) return c.a;
+ if (i == 4) return 0xFF;
+ return 0;
}
-void ColorBlock::splatY()
+void ColorBlock::swizzle(uint x, uint y, uint z, uint w)
{
- for(int i = 0; i < 16; i++)
+ for (int i = 0; i < 16; i++)
{
- uint8 y = m_color[i].g;
- m_color[i] = Color32(y, y, y, y);
+ Color32 c = m_color[i];
+ m_color[i].r = component(c, x);
+ m_color[i].g = component(c, y);
+ m_color[i].b = component(c, z);
+ m_color[i].a = component(c, w);
}
}
+
/// Returns true if the block has a single color.
-bool ColorBlock::isSingleColor() const
+bool ColorBlock::isSingleColor(Color32 mask/*= Color32(0xFF, 0xFF, 0xFF, 0x00)*/) const
{
- Color32 mask(0xFF, 0xFF, 0xFF, 0x00);
uint u = m_color[0].u & mask.u;
- for(int i = 1; i < 16; i++)
+ for (int i = 1; i < 16; i++)
{
if (u != (m_color[i].u & mask.u))
{
@@ -152,6 +177,7 @@ bool ColorBlock::isSingleColor() const
return true;
}
+/*
/// Returns true if the block has a single color, ignoring transparent pixels.
bool ColorBlock::isSingleColorNoAlpha() const
{
@@ -159,7 +185,7 @@ bool ColorBlock::isSingleColorNoAlpha() const
int i;
for(i = 0; i < 16; i++)
{
- if (m_color[i].a != 0) c = m_color[i];
+ if (m_color[i].a != 0) c = m_color[i];
}
Color32 mask(0xFF, 0xFF, 0xFF, 0x00);
@@ -175,9 +201,10 @@ bool ColorBlock::isSingleColorNoAlpha() const
return true;
}
+*/
/// Count number of unique colors in this color block.
-uint ColorBlock::countUniqueColors() const
+/*uint ColorBlock::countUniqueColors() const
{
uint count = 0;
@@ -197,9 +224,9 @@ uint ColorBlock::countUniqueColors() const
}
return count;
-}
+}*/
-/// Get average color of the block.
+/*/// Get average color of the block.
Color32 ColorBlock::averageColor() const
{
uint r, g, b, a;
@@ -213,7 +240,7 @@ Color32 ColorBlock::averageColor() const
}
return Color32(uint8(r / 16), uint8(g / 16), uint8(b / 16), uint8(a / 16));
-}
+}*/
/// Return true if the block is not fully opaque.
bool ColorBlock::hasAlpha() const
@@ -225,6 +252,7 @@ bool ColorBlock::hasAlpha() const
return false;
}
+#if 0
/// Get diameter color range.
void ColorBlock::diameterRange(Color32 * start, Color32 * end) const
@@ -345,8 +373,9 @@ void ColorBlock::boundsRangeAlpha(Color32 * start, Color32 * end) const
*start = minColor;
*end = maxColor;
}
+#endif
-/// Sort colors by abosolute value in their 16 bit representation.
+/*/// Sort colors by abosolute value in their 16 bit representation.
void ColorBlock::sortColorsByAbsoluteValue()
{
// Dummy selection sort.
@@ -364,4 +393,75 @@ void ColorBlock::sortColorsByAbsoluteValue()
}
swap( m_color[a], m_color[max] );
}
+}*/
+
+
+/*/// Find extreme colors in the given axis.
+void ColorBlock::computeRange(Vector3::Arg axis, Color32 * start, Color32 * end) const
+{
+
+ int mini, maxi;
+ mini = maxi = 0;
+
+ float min, max;
+ min = max = dot(Vector3(m_color[0].r, m_color[0].g, m_color[0].b), axis);
+
+ for(uint i = 1; i < 16; i++)
+ {
+ const Vector3 vec(m_color[i].r, m_color[i].g, m_color[i].b);
+
+ float val = dot(vec, axis);
+ if( val < min ) {
+ mini = i;
+ min = val;
+ }
+ else if( val > max ) {
+ maxi = i;
+ max = val;
+ }
+ }
+
+ *start = m_color[mini];
+ *end = m_color[maxi];
+}*/
+
+
+/*/// Sort colors in the given axis.
+void ColorBlock::sortColors(const Vector3 & axis)
+{
+ float luma_array[16];
+
+ for(uint i = 0; i < 16; i++) {
+ const Vector3 vec(m_color[i].r, m_color[i].g, m_color[i].b);
+ luma_array[i] = dot(vec, axis);
+ }
+
+ // Dummy selection sort.
+ for( uint a = 0; a < 16; a++ ) {
+ uint min = a;
+ for( uint b = a+1; b < 16; b++ ) {
+ if( luma_array[b] < luma_array[min] ) {
+ min = b;
+ }
+ }
+ swap( luma_array[a], luma_array[min] );
+ swap( m_color[a], m_color[min] );
+ }
+}*/
+
+
+/*/// Get the volume of the color block.
+float ColorBlock::volume() const
+{
+ Box bounds;
+ bounds.clearBounds();
+
+ for(int i = 0; i < 16; i++) {
+ const Vector3 point(m_color[i].r, m_color[i].g, m_color[i].b);
+ bounds.addPointToBounds(point);
+ }
+
+ return bounds.volume();
}
+*/
+
diff --git a/source/blender/imbuf/intern/dds/ColorBlock.h b/source/blender/imbuf/intern/dds/ColorBlock.h
index dd40d21e8b3..d4e4e8a809f 100644
--- a/source/blender/imbuf/intern/dds/ColorBlock.h
+++ b/source/blender/imbuf/intern/dds/ColorBlock.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -51,26 +51,15 @@ struct ColorBlock
ColorBlock(const Image * img, uint x, uint y);
void init(const Image * img, uint x, uint y);
+ void init(uint w, uint h, const uint * data, uint x, uint y);
+ void init(uint w, uint h, const float * data, uint x, uint y);
- void swizzleDXT5n();
- void splatX();
- void splatY();
+ void swizzle(uint x, uint y, uint z, uint w); // 0=r, 1=g, 2=b, 3=a, 4=0xFF, 5=0
- bool isSingleColor() const;
- bool isSingleColorNoAlpha() const;
- uint countUniqueColors() const;
- Color32 averageColor() const;
+ bool isSingleColor(Color32 mask = Color32(0xFF, 0xFF, 0xFF, 0x00)) const;
bool hasAlpha() const;
- void diameterRange(Color32 * start, Color32 * end) const;
- void luminanceRange(Color32 * start, Color32 * end) const;
- void boundsRange(Color32 * start, Color32 * end) const;
- void boundsRangeAlpha(Color32 * start, Color32 * end) const;
- void sortColorsByAbsoluteValue();
-
- float volume() const;
-
// Accessors
const Color32 * colors() const;
diff --git a/source/blender/imbuf/intern/dds/Common.h b/source/blender/imbuf/intern/dds/Common.h
index 25b743311d2..a6dcf69febf 100644
--- a/source/blender/imbuf/intern/dds/Common.h
+++ b/source/blender/imbuf/intern/dds/Common.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -55,4 +55,10 @@ typedef unsigned int uint;
typedef unsigned int uint32;
typedef unsigned long long uint64;
+// copied from nvtt src/nvimage/nvimage.h
+inline uint computePitch(uint w, uint bitsize, uint alignment)
+{
+ return ((w * bitsize + 8 * alignment - 1) / (8 * alignment)) * alignment;
+}
+
#endif
diff --git a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
index ede82896554..971658ff482 100644
--- a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
+++ b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -69,12 +69,11 @@
#if !defined(MAKEFOURCC)
# define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((uint)((unsigned char)(ch0)) | \
- ((uint)((unsigned char)(ch1)) << 8) | \
- ((uint)((unsigned char)(ch2)) << 16) | \
- ((uint)((unsigned char)(ch3)) << 24 ))
+ (uint(uint8(ch0)) | (uint(uint8(ch1)) << 8) | \
+ (uint(uint8(ch2)) << 16) | (uint(uint8(ch3)) << 24 ))
#endif
+static const uint FOURCC_NVTT = MAKEFOURCC('N', 'V', 'T', 'T');
static const uint FOURCC_DDS = MAKEFOURCC('D', 'D', 'S', ' ');
static const uint FOURCC_DXT1 = MAKEFOURCC('D', 'X', 'T', '1');
static const uint FOURCC_DXT2 = MAKEFOURCC('D', 'X', 'T', '2');
@@ -89,6 +88,8 @@ static const uint FOURCC_A2XY = MAKEFOURCC('A', '2', 'X', 'Y');
static const uint FOURCC_DX10 = MAKEFOURCC('D', 'X', '1', '0');
+static const uint FOURCC_UVER = MAKEFOURCC('U', 'V', 'E', 'R');
+
// 32 bit RGB formats.
static const uint D3DFMT_R8G8B8 = 20;
static const uint D3DFMT_A8R8G8B8 = 21;
@@ -160,7 +161,10 @@ static const uint DDPF_PALETTEINDEXED4 = 0x00000008U;
static const uint DDPF_PALETTEINDEXED8 = 0x00000020U;
static const uint DDPF_LUMINANCE = 0x00020000U;
static const uint DDPF_ALPHAPREMULT = 0x00008000U;
-static const uint DDPF_NORMAL = 0x80000000U; // @@ Custom nv flag.
+
+// Custom NVTT flags.
+static const uint DDPF_NORMAL = 0x80000000U;
+static const uint DDPF_SRGB = 0x40000000U;
// DX10 formats.
enum DXGI_FORMAT
@@ -277,6 +281,20 @@ static const uint DDPF_NORMAL = 0x80000000U; // @@ Custom nv flag.
DXGI_FORMAT_B5G5R5A1_UNORM = 86,
DXGI_FORMAT_B8G8R8A8_UNORM = 87,
DXGI_FORMAT_B8G8R8X8_UNORM = 88,
+
+ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89,
+ DXGI_FORMAT_B8G8R8A8_TYPELESS = 90,
+ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91,
+ DXGI_FORMAT_B8G8R8X8_TYPELESS = 92,
+ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93,
+
+ DXGI_FORMAT_BC6H_TYPELESS = 94,
+ DXGI_FORMAT_BC6H_UF16 = 95,
+ DXGI_FORMAT_BC6H_SF16 = 96,
+
+ DXGI_FORMAT_BC7_TYPELESS = 97,
+ DXGI_FORMAT_BC7_UNORM = 98,
+ DXGI_FORMAT_BC7_UNORM_SRGB = 99,
};
enum D3D10_RESOURCE_DIMENSION
@@ -478,6 +496,63 @@ void mem_read(Stream & mem, DDSHeader & header)
}
}
+namespace
+{
+ struct FormatDescriptor
+ {
+ uint format;
+ uint bitcount;
+ uint rmask;
+ uint gmask;
+ uint bmask;
+ uint amask;
+ };
+
+ static const FormatDescriptor s_d3dFormats[] =
+ {
+ { D3DFMT_R8G8B8, 24, 0xFF0000, 0xFF00, 0xFF, 0 },
+ { D3DFMT_A8R8G8B8, 32, 0xFF0000, 0xFF00, 0xFF, 0xFF000000 }, // DXGI_FORMAT_B8G8R8A8_UNORM
+ { D3DFMT_X8R8G8B8, 32, 0xFF0000, 0xFF00, 0xFF, 0 }, // DXGI_FORMAT_B8G8R8X8_UNORM
+ { D3DFMT_R5G6B5, 16, 0xF800, 0x7E0, 0x1F, 0 }, // DXGI_FORMAT_B5G6R5_UNORM
+ { D3DFMT_X1R5G5B5, 16, 0x7C00, 0x3E0, 0x1F, 0 },
+ { D3DFMT_A1R5G5B5, 16, 0x7C00, 0x3E0, 0x1F, 0x8000 }, // DXGI_FORMAT_B5G5R5A1_UNORM
+ { D3DFMT_A4R4G4B4, 16, 0xF00, 0xF0, 0xF, 0xF000 },
+ { D3DFMT_R3G3B2, 8, 0xE0, 0x1C, 0x3, 0 },
+ { D3DFMT_A8, 8, 0, 0, 0, 8 }, // DXGI_FORMAT_A8_UNORM
+ { D3DFMT_A8R3G3B2, 16, 0xE0, 0x1C, 0x3, 0xFF00 },
+ { D3DFMT_X4R4G4B4, 16, 0xF00, 0xF0, 0xF, 0 },
+ { D3DFMT_A2B10G10R10, 32, 0x3FF, 0xFFC00, 0x3FF00000, 0xC0000000 }, // DXGI_FORMAT_R10G10B10A2
+ { D3DFMT_A8B8G8R8, 32, 0xFF, 0xFF00, 0xFF0000, 0xFF000000 }, // DXGI_FORMAT_R8G8B8A8_UNORM
+ { D3DFMT_X8B8G8R8, 32, 0xFF, 0xFF00, 0xFF0000, 0 },
+ { D3DFMT_G16R16, 32, 0xFFFF, 0xFFFF0000, 0, 0 }, // DXGI_FORMAT_R16G16_UNORM
+ { D3DFMT_A2R10G10B10, 32, 0x3FF00000, 0xFFC00, 0x3FF, 0xC0000000 },
+ { D3DFMT_A2B10G10R10, 32, 0x3FF, 0xFFC00, 0x3FF00000, 0xC0000000 },
+
+ { D3DFMT_L8, 8, 8, 0, 0, 0 }, // DXGI_FORMAT_R8_UNORM
+ { D3DFMT_L16, 16, 16, 0, 0, 0 }, // DXGI_FORMAT_R16_UNORM
+ };
+
+ static const uint s_d3dFormatCount = sizeof(s_d3dFormats) / sizeof(s_d3dFormats[0]);
+
+} // namespace
+
+uint findD3D9Format(uint bitcount, uint rmask, uint gmask, uint bmask, uint amask)
+{
+ for (int i = 0; i < s_d3dFormatCount; i++)
+ {
+ if (s_d3dFormats[i].bitcount == bitcount &&
+ s_d3dFormats[i].rmask == rmask &&
+ s_d3dFormats[i].gmask == gmask &&
+ s_d3dFormats[i].bmask == bmask &&
+ s_d3dFormats[i].amask == amask)
+ {
+ return s_d3dFormats[i].format;
+ }
+ }
+
+ return 0;
+ }
+
DDSHeader::DDSHeader()
@@ -493,8 +568,8 @@ DDSHeader::DDSHeader()
for (uint i = 0; i < 11; i++) this->reserved[i] = 0;
// Store version information on the reserved header attributes.
- this->reserved[9] = MAKEFOURCC('N', 'V', 'T', 'T');
- this->reserved[10] = (0 << 16) | (9 << 8) | (5); // major.minor.revision
+ this->reserved[9] = FOURCC_NVTT;
+ this->reserved[10] = (2 << 16) | (1 << 8) | (0); // major.minor.revision
this->pf.size = 32;
this->pf.flags = 0;
@@ -532,7 +607,7 @@ void DDSHeader::setHeight(uint h)
void DDSHeader::setDepth(uint d)
{
this->flags |= DDSD_DEPTH;
- this->height = d;
+ this->depth = d;
}
void DDSHeader::setMipmapCount(uint count)
@@ -540,7 +615,7 @@ void DDSHeader::setMipmapCount(uint count)
if (count == 0 || count == 1)
{
this->flags &= ~DDSD_MIPMAPCOUNT;
- this->mipmapcount = 0;
+ this->mipmapcount = 1;
if (this->caps.caps2 == 0) {
this->caps.caps1 = DDSCAPS_TEXTURE;
@@ -561,6 +636,7 @@ void DDSHeader::setMipmapCount(uint count)
void DDSHeader::setTexture2D()
{
this->header10.resourceDimension = D3D10_RESOURCE_DIMENSION_TEXTURE2D;
+ this->header10.arraySize = 1;
}
void DDSHeader::setTexture3D()
@@ -568,6 +644,7 @@ void DDSHeader::setTexture3D()
this->caps.caps2 = DDSCAPS2_VOLUME;
this->header10.resourceDimension = D3D10_RESOURCE_DIMENSION_TEXTURE3D;
+ this->header10.arraySize = 1;
}
void DDSHeader::setTextureCube()
@@ -599,21 +676,32 @@ void DDSHeader::setFourCC(uint8 c0, uint8 c1, uint8 c2, uint8 c3)
this->pf.flags = DDPF_FOURCC;
this->pf.fourcc = MAKEFOURCC(c0, c1, c2, c3);
- if (this->pf.fourcc == FOURCC_ATI2)
- {
- this->pf.bitcount = FOURCC_A2XY;
- }
- else
- {
- this->pf.bitcount = 0;
- }
+ this->pf.bitcount = 0;
+ this->pf.rmask = 0;
+ this->pf.gmask = 0;
+ this->pf.bmask = 0;
+ this->pf.amask = 0;
+}
+
+void DDSHeader::setFormatCode(uint32 code)
+{
+ // set fourcc pixel format.
+ this->pf.flags = DDPF_FOURCC;
+ this->pf.fourcc = code;
+ this->pf.bitcount = 0;
this->pf.rmask = 0;
this->pf.gmask = 0;
this->pf.bmask = 0;
this->pf.amask = 0;
}
+void DDSHeader::setSwizzleCode(uint8 c0, uint8 c1, uint8 c2, uint8 c3)
+{
+ this->pf.bitcount = MAKEFOURCC(c0, c1, c2, c3);
+}
+
+
void DDSHeader::setPixelFormat(uint bitcount, uint rmask, uint gmask, uint bmask, uint amask)
{
// Make sure the masks are correct.
@@ -627,10 +715,24 @@ void DDSHeader::setPixelFormat(uint bitcount, uint rmask, uint gmask, uint bmask
return;
}
- this->pf.flags = DDPF_RGB;
-
- if (amask != 0) {
- this->pf.flags |= DDPF_ALPHAPIXELS;
+ if (rmask != 0 || gmask != 0 || bmask != 0)
+ {
+ if (gmask == 0 && bmask == 0)
+ {
+ this->pf.flags = DDPF_LUMINANCE;
+ }
+ else
+ {
+ this->pf.flags = DDPF_RGB;
+ }
+
+ if (amask != 0) {
+ this->pf.flags |= DDPF_ALPHAPIXELS;
+ }
+ }
+ else if (amask != 0)
+ {
+ this->pf.flags |= DDPF_ALPHA;
}
if (bitcount == 0)
@@ -643,18 +745,16 @@ void DDSHeader::setPixelFormat(uint bitcount, uint rmask, uint gmask, uint bmask
}
}
+ // D3DX functions do not like this:
+ this->pf.fourcc = 0; //findD3D9Format(bitcount, rmask, gmask, bmask, amask);
+ /*if (this->pf.fourcc) {
+ this->pf.flags |= DDPF_FOURCC;
+ }*/
+
if (!(bitcount > 0 && bitcount <= 32)) {
printf("DDS: bad bit count, pixel format not set\n");
return;
}
-
- // Align to 8.
- if (bitcount <= 8) bitcount = 8;
- else if (bitcount <= 16) bitcount = 16;
- else if (bitcount <= 24) bitcount = 24;
- else bitcount = 32;
-
- this->pf.fourcc = 0; //findD3D9Format(bitcount, rmask, gmask, bmask, amask);
this->pf.bitcount = bitcount;
this->pf.rmask = rmask;
this->pf.gmask = gmask;
@@ -675,10 +775,108 @@ void DDSHeader::setNormalFlag(bool b)
else this->pf.flags &= ~DDPF_NORMAL;
}
+void DDSHeader::setSrgbFlag(bool b)
+{
+ if (b) this->pf.flags |= DDPF_SRGB;
+ else this->pf.flags &= ~DDPF_SRGB;
+}
+
+void DDSHeader::setHasAlphaFlag(bool b)
+{
+ if (b) this->pf.flags |= DDPF_ALPHAPIXELS;
+ else this->pf.flags &= ~DDPF_ALPHAPIXELS;
+}
+
+void DDSHeader::setUserVersion(int version)
+{
+ this->reserved[7] = FOURCC_UVER;
+ this->reserved[8] = version;
+}
+
+/*
+void DDSHeader::swapBytes()
+{
+ this->fourcc = POSH_LittleU32(this->fourcc);
+ this->size = POSH_LittleU32(this->size);
+ this->flags = POSH_LittleU32(this->flags);
+ this->height = POSH_LittleU32(this->height);
+ this->width = POSH_LittleU32(this->width);
+ this->pitch = POSH_LittleU32(this->pitch);
+ this->depth = POSH_LittleU32(this->depth);
+ this->mipmapcount = POSH_LittleU32(this->mipmapcount);
+
+ for(int i = 0; i < 11; i++) {
+ this->reserved[i] = POSH_LittleU32(this->reserved[i]);
+ }
+
+ this->pf.size = POSH_LittleU32(this->pf.size);
+ this->pf.flags = POSH_LittleU32(this->pf.flags);
+ this->pf.fourcc = POSH_LittleU32(this->pf.fourcc);
+ this->pf.bitcount = POSH_LittleU32(this->pf.bitcount);
+ this->pf.rmask = POSH_LittleU32(this->pf.rmask);
+ this->pf.gmask = POSH_LittleU32(this->pf.gmask);
+ this->pf.bmask = POSH_LittleU32(this->pf.bmask);
+ this->pf.amask = POSH_LittleU32(this->pf.amask);
+ this->caps.caps1 = POSH_LittleU32(this->caps.caps1);
+ this->caps.caps2 = POSH_LittleU32(this->caps.caps2);
+ this->caps.caps3 = POSH_LittleU32(this->caps.caps3);
+ this->caps.caps4 = POSH_LittleU32(this->caps.caps4);
+ this->notused = POSH_LittleU32(this->notused);
+
+ this->header10.dxgiFormat = POSH_LittleU32(this->header10.dxgiFormat);
+ this->header10.resourceDimension = POSH_LittleU32(this->header10.resourceDimension);
+ this->header10.miscFlag = POSH_LittleU32(this->header10.miscFlag);
+ this->header10.arraySize = POSH_LittleU32(this->header10.arraySize);
+ this->header10.reserved = POSH_LittleU32(this->header10.reserved);
+}
+*/
+
bool DDSHeader::hasDX10Header() const
{
- return this->pf.fourcc == FOURCC_DX10; // @@ This is according to AMD
- //return this->pf.flags == 0; // @@ This is according to MS
+ return this->pf.fourcc == FOURCC_DX10;
+}
+
+uint DDSHeader::signature() const
+{
+ return this->reserved[9];
+}
+
+uint DDSHeader::toolVersion() const
+{
+ return this->reserved[10];
+}
+
+uint DDSHeader::userVersion() const
+{
+ if (this->reserved[7] == FOURCC_UVER) {
+ return this->reserved[8];
+ }
+ return 0;
+}
+
+bool DDSHeader::isNormalMap() const
+{
+ return (pf.flags & DDPF_NORMAL) != 0;
+}
+
+bool DDSHeader::isSrgb() const
+{
+ return (pf.flags & DDPF_SRGB) != 0;
+}
+
+bool DDSHeader::hasAlpha() const
+{
+ return (pf.flags & DDPF_ALPHAPIXELS) != 0;
+}
+
+uint DDSHeader::d3d9Format() const
+{
+ if (pf.flags & DDPF_FOURCC) {
+ return pf.fourcc;
+ }
+ else {
+ return findD3D9Format(pf.bitcount, pf.rmask, pf.gmask, pf.bmask, pf.amask);
+ }
}
DirectDrawSurface::DirectDrawSurface(unsigned char *mem, uint size) : stream(mem, size), header()
@@ -725,6 +923,16 @@ bool DirectDrawSurface::isSupported() const
{
if (header.hasDX10Header())
{
+ if (header.header10.dxgiFormat == DXGI_FORMAT_BC1_UNORM ||
+ header.header10.dxgiFormat == DXGI_FORMAT_BC2_UNORM ||
+ header.header10.dxgiFormat == DXGI_FORMAT_BC3_UNORM ||
+ header.header10.dxgiFormat == DXGI_FORMAT_BC4_UNORM ||
+ header.header10.dxgiFormat == DXGI_FORMAT_BC5_UNORM)
+ {
+ return true;
+ }
+
+ return false;
}
else
{
@@ -743,9 +951,9 @@ bool DirectDrawSurface::isSupported() const
return false;
}
}
- else if (header.pf.flags & DDPF_RGB)
- {
- // All RGB formats are supported now.
+ else if ((header.pf.flags & DDPF_RGB) || (header.pf.flags & DDPF_LUMINANCE))
+ {
+ // All RGB and luminance formats are supported now.
}
else
{
@@ -768,6 +976,41 @@ bool DirectDrawSurface::isSupported() const
return true;
}
+bool DirectDrawSurface::hasAlpha() const
+{
+ if (header.hasDX10Header())
+ {
+ /* TODO: Update hasAlpha to handle all DX10 formats. */
+ return
+ header.header10.dxgiFormat == DXGI_FORMAT_BC1_UNORM ||
+ header.header10.dxgiFormat == DXGI_FORMAT_BC2_UNORM ||
+ header.header10.dxgiFormat == DXGI_FORMAT_BC3_UNORM;
+ }
+ else
+ {
+ if (header.pf.flags & DDPF_RGB)
+ {
+ return header.pf.amask != 0;
+ }
+ else if (header.pf.flags & DDPF_FOURCC)
+ {
+ if (header.pf.fourcc == FOURCC_RXGB ||
+ header.pf.fourcc == FOURCC_ATI1 ||
+ header.pf.fourcc == FOURCC_ATI2 ||
+ header.pf.flags & DDPF_NORMAL)
+ {
+ return false;
+ }
+ else
+ {
+ // @@ Here we could check the ALPHA_PIXELS flag, but nobody sets it. (except us?)
+ return true;
+ }
+ }
+
+ return false;
+ }
+}
uint DirectDrawSurface::mipmapCount() const
{
@@ -794,22 +1037,6 @@ uint DirectDrawSurface::depth() const
else return 1;
}
-bool DirectDrawSurface::hasAlpha() const
-{
- if ((header.pf.flags & DDPF_RGB) && (header.pf.amask == 0))
- {
- return false;
- }
- else if (header.pf.fourcc == FOURCC_DXT1)
- {
- return false;
- }
- else
- {
- return true;
- }
-}
-
bool DirectDrawSurface::isTexture1D() const
{
if (header.hasDX10Header())
@@ -853,6 +1080,16 @@ void DirectDrawSurface::setNormalFlag(bool b)
header.setNormalFlag(b);
}
+void DirectDrawSurface::setHasAlphaFlag(bool b)
+{
+ header.setHasAlphaFlag(b);
+}
+
+void DirectDrawSurface::setUserVersion(int version)
+{
+ header.setUserVersion(version);
+}
+
void DirectDrawSurface::mipmap(Image * img, uint face, uint mipmap)
{
stream.seek(offset(face, mipmap));
@@ -869,14 +1106,31 @@ void DirectDrawSurface::mipmap(Image * img, uint face, uint mipmap)
img->allocate(w, h);
- if (header.pf.flags & DDPF_RGB)
+ if (hasAlpha())
+ {
+ img->setFormat(Image::Format_ARGB);
+ }
+ else
{
- readLinearImage(img);
+ img->setFormat(Image::Format_RGB);
}
- else if (header.pf.flags & DDPF_FOURCC)
+
+ if (header.hasDX10Header())
{
+ // So far only block formats supported.
readBlockImage(img);
}
+ else
+ {
+ if (header.pf.flags & DDPF_RGB)
+ {
+ readLinearImage(img);
+ }
+ else if (header.pf.flags & DDPF_FOURCC)
+ {
+ readBlockImage(img);
+ }
+ }
}
void DirectDrawSurface::readLinearImage(Image * img)
@@ -906,17 +1160,6 @@ void DirectDrawSurface::readLinearImage(Image * img)
return;
}
- // set image format: RGB or ARGB
- // alpha channel exists if and only if the alpha mask is non-zero
- if (header.pf.amask == 0)
- {
- img->setFormat(Image::Format_RGB);
- }
- else
- {
- img->setFormat(Image::Format_ARGB);
- }
-
// Read linear RGB images.
for (uint y = 0; y < h; y++)
{
@@ -926,10 +1169,10 @@ void DirectDrawSurface::readLinearImage(Image * img)
mem_read(stream, (unsigned char *)(&c), byteCount);
Color32 pixel(0, 0, 0, 0xFF);
- pixel.r = PixelFormat::convert(c >> rshift, rsize, 8);
- pixel.g = PixelFormat::convert(c >> gshift, gsize, 8);
- pixel.b = PixelFormat::convert(c >> bshift, bsize, 8);
- pixel.a = PixelFormat::convert(c >> ashift, asize, 8);
+ pixel.r = PixelFormat::convert((c & header.pf.rmask) >> rshift, rsize, 8);
+ pixel.g = PixelFormat::convert((c & header.pf.gmask) >> gshift, gsize, 8);
+ pixel.b = PixelFormat::convert((c & header.pf.bmask) >> bshift, bsize, 8);
+ pixel.a = PixelFormat::convert((c & header.pf.amask) >> ashift, asize, 8);
img->pixel(x, y) = pixel;
}
@@ -939,19 +1182,6 @@ void DirectDrawSurface::readLinearImage(Image * img)
void DirectDrawSurface::readBlockImage(Image * img)
{
- // set image format: RGB or ARGB
- if (header.pf.fourcc == FOURCC_RXGB ||
- header.pf.fourcc == FOURCC_ATI1 ||
- header.pf.fourcc == FOURCC_ATI2 ||
- header.pf.flags & DDPF_NORMAL)
- {
- img->setFormat(Image::Format_RGB);
- }
- else
- {
- img->setFormat(Image::Format_ARGB);
- }
-
const uint w = img->width();
const uint h = img->height();
@@ -993,20 +1223,33 @@ static Color32 buildNormal(uint8 x, uint8 y)
void DirectDrawSurface::readBlock(ColorBlock * rgba)
{
- if (header.pf.fourcc == FOURCC_DXT1)
+ uint fourcc = header.pf.fourcc;
+
+ // Map DX10 block formats to fourcc codes.
+ if (header.hasDX10Header())
+ {
+ if (header.header10.dxgiFormat == DXGI_FORMAT_BC1_UNORM) fourcc = FOURCC_DXT1;
+ if (header.header10.dxgiFormat == DXGI_FORMAT_BC2_UNORM) fourcc = FOURCC_DXT3;
+ if (header.header10.dxgiFormat == DXGI_FORMAT_BC3_UNORM) fourcc = FOURCC_DXT5;
+ if (header.header10.dxgiFormat == DXGI_FORMAT_BC4_UNORM) fourcc = FOURCC_ATI1;
+ if (header.header10.dxgiFormat == DXGI_FORMAT_BC5_UNORM) fourcc = FOURCC_ATI2;
+ }
+
+
+ if (fourcc == FOURCC_DXT1)
{
BlockDXT1 block;
mem_read(stream, block);
block.decodeBlock(rgba);
}
- else if (header.pf.fourcc == FOURCC_DXT2 ||
+ else if (fourcc == FOURCC_DXT2 ||
header.pf.fourcc == FOURCC_DXT3)
{
BlockDXT3 block;
mem_read(stream, block);
block.decodeBlock(rgba);
}
- else if (header.pf.fourcc == FOURCC_DXT4 ||
+ else if (fourcc == FOURCC_DXT4 ||
header.pf.fourcc == FOURCC_DXT5 ||
header.pf.fourcc == FOURCC_RXGB)
{
@@ -1014,7 +1257,7 @@ void DirectDrawSurface::readBlock(ColorBlock * rgba)
mem_read(stream, block);
block.decodeBlock(rgba);
- if (header.pf.fourcc == FOURCC_RXGB)
+ if (fourcc == FOURCC_RXGB)
{
// Swap R & A.
for (int i = 0; i < 16; i++)
@@ -1026,13 +1269,13 @@ void DirectDrawSurface::readBlock(ColorBlock * rgba)
}
}
}
- else if (header.pf.fourcc == FOURCC_ATI1)
+ else if (fourcc == FOURCC_ATI1)
{
BlockATI1 block;
mem_read(stream, block);
block.decodeBlock(rgba);
}
- else if (header.pf.fourcc == FOURCC_ATI2)
+ else if (fourcc == FOURCC_ATI2)
{
BlockATI2 block;
mem_read(stream, block);
@@ -1042,7 +1285,7 @@ void DirectDrawSurface::readBlock(ColorBlock * rgba)
// If normal flag set, convert to normal.
if (header.pf.flags & DDPF_NORMAL)
{
- if (header.pf.fourcc == FOURCC_ATI2)
+ if (fourcc == FOURCC_ATI2)
{
for (int i = 0; i < 16; i++)
{
@@ -1050,7 +1293,7 @@ void DirectDrawSurface::readBlock(ColorBlock * rgba)
c = buildNormal(c.r, c.g);
}
}
- else if (header.pf.fourcc == FOURCC_DXT5)
+ else if (fourcc == FOURCC_DXT5)
{
for (int i = 0; i < 16; i++)
{
@@ -1076,6 +1319,27 @@ uint DirectDrawSurface::blockSize() const
case FOURCC_RXGB:
case FOURCC_ATI2:
return 16;
+ case FOURCC_DX10:
+ switch(header.header10.dxgiFormat)
+ {
+ case DXGI_FORMAT_BC1_TYPELESS:
+ case DXGI_FORMAT_BC1_UNORM:
+ case DXGI_FORMAT_BC1_UNORM_SRGB:
+ case DXGI_FORMAT_BC4_TYPELESS:
+ case DXGI_FORMAT_BC4_UNORM:
+ case DXGI_FORMAT_BC4_SNORM:
+ return 8;
+ case DXGI_FORMAT_BC2_TYPELESS:
+ case DXGI_FORMAT_BC2_UNORM:
+ case DXGI_FORMAT_BC2_UNORM_SRGB:
+ case DXGI_FORMAT_BC3_TYPELESS:
+ case DXGI_FORMAT_BC3_UNORM:
+ case DXGI_FORMAT_BC3_UNORM_SRGB:
+ case DXGI_FORMAT_BC5_TYPELESS:
+ case DXGI_FORMAT_BC5_UNORM:
+ case DXGI_FORMAT_BC5_SNORM:
+ return 16;
+ };
};
// Not a block image.
@@ -1102,14 +1366,10 @@ uint DirectDrawSurface::mipmapSize(uint mipmap) const
h = (h + 3) / 4;
return blockSize() * w * h;
}
- else if (header.pf.flags & DDPF_RGB)
+ else if (header.pf.flags & DDPF_RGB || (header.pf.flags & DDPF_LUMINANCE))
{
- // Align pixels to bytes.
- uint byteCount = (header.pf.bitcount + 7) / 8;
-
- // Align pitch to 4 bytes.
- uint pitch = 4 * ((w * byteCount + 3) / 4);
-
+ uint pitch = computePitch(w, header.pf.bitcount, 8); // Asuming 8 bit alignment, which is the same D3DX expects.
+
return pitch * h * d;
}
else {
@@ -1133,7 +1393,7 @@ uint DirectDrawSurface::faceSize() const
uint DirectDrawSurface::offset(const uint face, const uint mipmap)
{
- uint size = 128; //sizeof(DDSHeader);
+ uint size = 128; // sizeof(DDSHeader);
if (header.hasDX10Header())
{
@@ -1156,7 +1416,6 @@ uint DirectDrawSurface::offset(const uint face, const uint mipmap)
void DirectDrawSurface::printInfo() const
{
- /* printf("FOURCC: %c%c%c%c\n", ((unsigned char *)&header.fourcc)[0], ((unsigned char *)&header.fourcc)[1], ((unsigned char *)&header.fourcc)[2], ((unsigned char *)&header.fourcc)[3]); */
printf("Flags: 0x%.8X\n", header.flags);
if (header.flags & DDSD_CAPS) printf("\tDDSD_CAPS\n");
if (header.flags & DDSD_PIXELFORMAT) printf("\tDDSD_PIXELFORMAT\n");
@@ -1175,9 +1434,9 @@ void DirectDrawSurface::printInfo() const
printf("Mipmap count: %d\n", header.mipmapcount);
printf("Pixel Format:\n");
- /* printf("\tSize: %d\n", header.pf.size); */
printf("\tFlags: 0x%.8X\n", header.pf.flags);
if (header.pf.flags & DDPF_RGB) printf("\t\tDDPF_RGB\n");
+ if (header.pf.flags & DDPF_LUMINANCE) printf("\t\tDDPF_LUMINANCE\n");
if (header.pf.flags & DDPF_FOURCC) printf("\t\tDDPF_FOURCC\n");
if (header.pf.flags & DDPF_ALPHAPIXELS) printf("\t\tDDPF_ALPHAPIXELS\n");
if (header.pf.flags & DDPF_ALPHA) printf("\t\tDDPF_ALPHA\n");
@@ -1188,23 +1447,30 @@ void DirectDrawSurface::printInfo() const
if (header.pf.flags & DDPF_ALPHAPREMULT) printf("\t\tDDPF_ALPHAPREMULT\n");
if (header.pf.flags & DDPF_NORMAL) printf("\t\tDDPF_NORMAL\n");
- printf("\tFourCC: '%c%c%c%c'\n",
- ((header.pf.fourcc >> 0) & 0xFF),
- ((header.pf.fourcc >> 8) & 0xFF),
- ((header.pf.fourcc >> 16) & 0xFF),
- ((header.pf.fourcc >> 24) & 0xFF));
- if ((header.pf.fourcc & DDPF_FOURCC) && (header.pf.bitcount != 0))
+ if (header.pf.fourcc != 0) {
+ // Display fourcc code even when DDPF_FOURCC flag not set.
+ printf("\tFourCC: '%c%c%c%c' (0x%.8X)\n",
+ ((header.pf.fourcc >> 0) & 0xFF),
+ ((header.pf.fourcc >> 8) & 0xFF),
+ ((header.pf.fourcc >> 16) & 0xFF),
+ ((header.pf.fourcc >> 24) & 0xFF),
+ header.pf.fourcc);
+ }
+
+ if ((header.pf.flags & DDPF_FOURCC) && (header.pf.bitcount != 0))
{
- printf("\tSwizzle: '%c%c%c%c'\n",
+ printf("\tSwizzle: '%c%c%c%c' (0x%.8X)\n",
(header.pf.bitcount >> 0) & 0xFF,
(header.pf.bitcount >> 8) & 0xFF,
(header.pf.bitcount >> 16) & 0xFF,
- (header.pf.bitcount >> 24) & 0xFF);
+ (header.pf.bitcount >> 24) & 0xFF,
+ header.pf.bitcount);
}
else
{
printf("\tBit count: %d\n", header.pf.bitcount);
}
+
printf("\tRed mask: 0x%.8X\n", header.pf.rmask);
printf("\tGreen mask: 0x%.8X\n", header.pf.gmask);
printf("\tBlue mask: 0x%.8X\n", header.pf.bmask);
@@ -1244,7 +1510,7 @@ void DirectDrawSurface::printInfo() const
printf("\tArray size: %u\n", header.header10.arraySize);
}
- if (header.reserved[9] == MAKEFOURCC('N', 'V', 'T', 'T'))
+ if (header.reserved[9] == FOURCC_NVTT)
{
int major = (header.reserved[10] >> 16) & 0xFF;
int minor = (header.reserved[10] >> 8) & 0xFF;
@@ -1253,5 +1519,10 @@ void DirectDrawSurface::printInfo() const
printf("Version:\n");
printf("\tNVIDIA Texture Tools %d.%d.%d\n", major, minor, revision);
}
+
+ if (header.reserved[7] == FOURCC_UVER)
+ {
+ printf("User Version: %d\n", header.reserved[8]);
+ }
}
diff --git a/source/blender/imbuf/intern/dds/DirectDrawSurface.h b/source/blender/imbuf/intern/dds/DirectDrawSurface.h
index cc04c50e795..5978e780991 100644
--- a/source/blender/imbuf/intern/dds/DirectDrawSurface.h
+++ b/source/blender/imbuf/intern/dds/DirectDrawSurface.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -126,11 +126,25 @@ struct DDSHeader
void setLinearSize(uint size);
void setPitch(uint pitch);
void setFourCC(uint8 c0, uint8 c1, uint8 c2, uint8 c3);
+ void setFormatCode(uint code);
+ void setSwizzleCode(uint8 c0, uint8 c1, uint8 c2, uint8 c3);
void setPixelFormat(uint bitcount, uint rmask, uint gmask, uint bmask, uint amask);
void setDX10Format(uint format);
void setNormalFlag(bool b);
+ void setSrgbFlag(bool b);
+ void setHasAlphaFlag(bool b);
+ void setUserVersion(int version);
+
+ /*void swapBytes();*/
bool hasDX10Header() const;
+ uint signature() const;
+ uint toolVersion() const;
+ uint userVersion() const;
+ bool isNormalMap() const;
+ bool isSrgb() const;
+ bool hasAlpha() const;
+ uint d3d9Format() const;
};
/// DirectDraw Surface. (DDS)
@@ -142,6 +156,8 @@ public:
bool isValid() const;
bool isSupported() const;
+
+ bool hasAlpha() const;
uint mipmapCount() const;
uint width() const;
@@ -153,8 +169,8 @@ public:
bool isTextureCube() const;
void setNormalFlag(bool b);
-
- bool hasAlpha() const; /* false for DXT1, true for all other DXTs */
+ void setHasAlphaFlag(bool b);
+ void setUserVersion(int version);
void mipmap(Image * img, uint f, uint m);
// void mipmap(FloatImage * img, uint f, uint m);
diff --git a/source/blender/imbuf/intern/dds/Image.cpp b/source/blender/imbuf/intern/dds/Image.cpp
index a775a9125d2..b9ec1c0c3aa 100644
--- a/source/blender/imbuf/intern/dds/Image.cpp
+++ b/source/blender/imbuf/intern/dds/Image.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -41,7 +41,7 @@
#include <stdio.h> // printf
-Image::Image() : m_width(0), m_height(0), m_format(Format_RGB), m_data(0)
+Image::Image() : m_width(0), m_height(0), m_format(Format_RGB), m_data(NULL)
{
}
@@ -61,7 +61,7 @@ void Image::allocate(uint w, uint h)
void Image::free()
{
if (m_data) delete [] m_data;
- m_data = 0;
+ m_data = NULL;
}
@@ -132,3 +132,4 @@ void Image::setFormat(Image::Format f)
m_format = f;
}
+
diff --git a/source/blender/imbuf/intern/dds/Image.h b/source/blender/imbuf/intern/dds/Image.h
index 88051410056..96e455fc75b 100644
--- a/source/blender/imbuf/intern/dds/Image.h
+++ b/source/blender/imbuf/intern/dds/Image.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
diff --git a/source/blender/imbuf/intern/dds/PixelFormat.h b/source/blender/imbuf/intern/dds/PixelFormat.h
index c483c525570..35c6eacb972 100644
--- a/source/blender/imbuf/intern/dds/PixelFormat.h
+++ b/source/blender/imbuf/intern/dds/PixelFormat.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -107,6 +107,38 @@
}
}
+ inline float quantizeCeil(float f, int inbits, int outbits)
+ {
+ //uint i = f * (float(1 << inbits) - 1);
+ //i = convert(i, inbits, outbits);
+ //float result = float(i) / (float(1 << outbits) - 1);
+ //nvCheck(result >= f);
+ float result;
+ int offset = 0;
+ do {
+ uint i = offset + uint(f * (float(1 << inbits) - 1));
+ i = convert(i, inbits, outbits);
+ result = float(i) / (float(1 << outbits) - 1);
+ offset++;
+ } while (result < f);
+
+ return result;
+ }
+
+ /*
+ inline float quantizeRound(float f, int bits)
+ {
+ float scale = float(1 << bits);
+ return fround(f * scale) / scale;
+ }
+
+ inline float quantizeFloor(float f, int bits)
+ {
+ float scale = float(1 << bits);
+ return floor(f * scale) / scale;
+ }
+ */
+
} // PixelFormat namespace
#endif // _DDS_IMAGE_PIXELFORMAT_H
diff --git a/source/blender/imbuf/intern/dds/Stream.cpp b/source/blender/imbuf/intern/dds/Stream.cpp
index 88c5277e097..497109efd25 100644
--- a/source/blender/imbuf/intern/dds/Stream.cpp
+++ b/source/blender/imbuf/intern/dds/Stream.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
diff --git a/source/blender/imbuf/intern/dds/Stream.h b/source/blender/imbuf/intern/dds/Stream.h
index acc2c8bb176..ca081d331fe 100644
--- a/source/blender/imbuf/intern/dds/Stream.h
+++ b/source/blender/imbuf/intern/dds/Stream.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
diff --git a/source/blender/imbuf/intern/dds/dds_api.cpp b/source/blender/imbuf/intern/dds/dds_api.cpp
index a7b2934cafa..73ee3a2cb9c 100644
--- a/source/blender/imbuf/intern/dds/dds_api.cpp
+++ b/source/blender/imbuf/intern/dds/dds_api.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -106,10 +106,21 @@ struct ImBuf *imb_load_dds(unsigned char *mem, size_t size, int flags)
}
/* convert DDS into ImBuf */
- // TODO use the image RGB or RGBA tag to determine the bits per pixel
- if (dds.hasAlpha()) bits_per_pixel = 32;
- else bits_per_pixel = 24;
- ibuf = IMB_allocImBuf(dds.width(), dds.height(), bits_per_pixel, 0);
+ dds.mipmap(&img, 0, 0); /* load first face, first mipmap */
+ pixels = img.pixels();
+ numpixels = dds.width() * dds.height();
+ bits_per_pixel = 24;
+ if (img.format() == Image::Format_ARGB) {
+ /* check that there is effectively an alpha channel */
+ for (unsigned int i = 0; i < numpixels; i++) {
+ pixel = pixels[i];
+ if (pixel.a != 255) {
+ bits_per_pixel = 32;
+ break;
+ };
+ };
+ };
+ ibuf = IMB_allocImBuf(dds.width(), dds.height(), bits_per_pixel, 0);
if (ibuf == 0) return(0); /* memory allocation failed */
ibuf->ftype = DDS;
@@ -120,9 +131,6 @@ struct ImBuf *imb_load_dds(unsigned char *mem, size_t size, int flags)
if (ibuf->rect == 0) return(ibuf);
rect = ibuf->rect;
- dds.mipmap(&img, 0, 0); /* load first face, first mipmap */
- pixels = img.pixels();
- numpixels = dds.width() * dds.height();
cp[3] = 0xff; /* default alpha if alpha channel is not present */
for (unsigned int i = 0; i < numpixels; i++) {
diff --git a/source/blender/imbuf/intern/dds/dds_api.h b/source/blender/imbuf/intern/dds/dds_api.h
index cfc6910e71d..d78e4f31474 100644
--- a/source/blender/imbuf/intern/dds/dds_api.h
+++ b/source/blender/imbuf/intern/dds/dds_api.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributors: Amorilia (amorilia@gamebox.net)
+ * Contributors: Amorilia (amorilia@users.sourceforge.net)
*
* ***** END GPL LICENSE BLOCK *****
*/
diff --git a/source/blender/imbuf/intern/divers.c b/source/blender/imbuf/intern/divers.c
index 6b35d7df397..7fc7669601d 100644
--- a/source/blender/imbuf/intern/divers.c
+++ b/source/blender/imbuf/intern/divers.c
@@ -197,6 +197,135 @@ void IMB_rect_from_float(struct ImBuf *ibuf)
ibuf->userflags &= ~IB_RECT_INVALID;
}
+
+
+/* converts from linear float to sRGB byte for part of the texture, buffer will hold the changed part */
+void IMB_partial_rect_from_float(struct ImBuf *ibuf,float *buffer, int x, int y, int w, int h)
+{
+ /* indices to source and destination image pixels */
+ float *srcFloatPxl;
+ unsigned char *dstBytePxl;
+ /* buffer index will fill buffer */
+ float *bufferIndex;
+
+ /* convenience pointers to start of image buffers */
+ float *init_srcFloatPxl = (float *)ibuf->rect_float;
+ unsigned char *init_dstBytePxl = (unsigned char *) ibuf->rect;
+
+ /* Dithering factor */
+ float dither= ibuf->dither / 255.0f;
+ /* respective attributes of image */
+ short profile= ibuf->profile;
+ int channels= ibuf->channels;
+
+ int i, j;
+
+ /*
+ if called -only- from GPU_paint_update_image this test will never fail
+ but leaving it here for better or worse
+ */
+ if(init_srcFloatPxl==NULL || (buffer == NULL)){
+ return;
+ }
+ if(init_dstBytePxl==NULL) {
+ imb_addrectImBuf(ibuf);
+ init_dstBytePxl = (unsigned char *) ibuf->rect;
+ }
+ if(channels==1) {
+ for (j = 0; j < h; j++){
+ bufferIndex = buffer + w*j*4;
+ dstBytePxl = init_dstBytePxl + (ibuf->x*(y + j) + x)*4;
+ srcFloatPxl = init_srcFloatPxl + (ibuf->x*(y + j) + x);
+ for(i = 0; i < w; i++, dstBytePxl+=4, srcFloatPxl++, bufferIndex+=4) {
+ dstBytePxl[1]= dstBytePxl[2]= dstBytePxl[3]= dstBytePxl[0] = FTOCHAR(srcFloatPxl[0]);
+ bufferIndex[0] = bufferIndex[1] = bufferIndex[2] = bufferIndex[3] = srcFloatPxl[0];
+ }
+ }
+ }
+ else if (profile == IB_PROFILE_LINEAR_RGB) {
+ if(channels == 3) {
+ for (j = 0; j < h; j++){
+ bufferIndex = buffer + w*j*4;
+ dstBytePxl = init_dstBytePxl + (ibuf->x*(y + j) + x)*4;
+ srcFloatPxl = init_srcFloatPxl + (ibuf->x*(y + j) + x)*3;
+ for(i = 0; i < w; i++, dstBytePxl+=4, srcFloatPxl+=3, bufferIndex += 4) {
+ linearrgb_to_srgb_v3_v3(bufferIndex, srcFloatPxl);
+ F3TOCHAR4(bufferIndex, dstBytePxl);
+ bufferIndex[3]= 1.0;
+ }
+ }
+ }
+ else if (channels == 4) {
+ if (dither != 0.f) {
+ for (j = 0; j < h; j++){
+ bufferIndex = buffer + w*j*4;
+ dstBytePxl = init_dstBytePxl + (ibuf->x*(y + j) + x)*4;
+ srcFloatPxl = init_srcFloatPxl + (ibuf->x*(y + j) + x)*4;
+ for(i = 0; i < w; i++, dstBytePxl+=4, srcFloatPxl+=4, bufferIndex+=4) {
+ const float d = (BLI_frand()-0.5f)*dither;
+ linearrgb_to_srgb_v3_v3(bufferIndex, srcFloatPxl);
+ bufferIndex[3] = srcFloatPxl[3];
+ add_v4_fl(bufferIndex, d);
+ F4TOCHAR4(bufferIndex, dstBytePxl);
+ }
+ }
+ } else {
+ for (j = 0; j < h; j++){
+ bufferIndex = buffer + w*j*4;
+ dstBytePxl = init_dstBytePxl + (ibuf->x*(y + j) + x)*4;
+ srcFloatPxl = init_srcFloatPxl + (ibuf->x*(y + j) + x)*4;
+ for(i = 0; i < w; i++, dstBytePxl+=4, srcFloatPxl+=4, bufferIndex+=4) {
+ linearrgb_to_srgb_v3_v3(bufferIndex, srcFloatPxl);
+ bufferIndex[3]= srcFloatPxl[3];
+ F4TOCHAR4(bufferIndex, dstBytePxl);
+ }
+ }
+ }
+ }
+ }
+ else if(ELEM(profile, IB_PROFILE_NONE, IB_PROFILE_SRGB)) {
+ if(channels==3) {
+ for (j = 0; j < h; j++){
+ bufferIndex = buffer + w*j*4;
+ dstBytePxl = init_dstBytePxl + (ibuf->x*(y + j) + x)*4;
+ srcFloatPxl = init_srcFloatPxl + (ibuf->x*(y + j) + x)*3;
+ for(i = 0; i < w; i++, dstBytePxl+=4, srcFloatPxl+=3, bufferIndex+=4) {
+ copy_v3_v3(bufferIndex, srcFloatPxl);
+ F3TOCHAR4(bufferIndex, dstBytePxl);
+ bufferIndex[3] = 1.0;
+ }
+ }
+ }
+ else {
+ if (dither != 0.f) {
+ for (j = 0; j < h; j++){
+ bufferIndex = buffer + w*j*4;
+ dstBytePxl = init_dstBytePxl + (ibuf->x*(y + j) + x)*4;
+ srcFloatPxl = init_srcFloatPxl + (ibuf->x*(y + j) + x)*4;
+ for(i = 0; i < w; i++, dstBytePxl+=4, srcFloatPxl+=4, bufferIndex+=4) {
+ const float d = (BLI_frand()-0.5f)*dither;
+ copy_v4_v4(bufferIndex, srcFloatPxl);
+ add_v4_fl(bufferIndex,d);
+ F4TOCHAR4(bufferIndex, dstBytePxl);
+ }
+ }
+ } else {
+ for (j = 0; j < h; j++){
+ bufferIndex = buffer + w*j*4;
+ dstBytePxl = init_dstBytePxl + (ibuf->x*(y + j) + x)*4;
+ srcFloatPxl = init_srcFloatPxl + (ibuf->x*(y + j) + x)*4;
+ for(i = 0; i < w; i++, dstBytePxl+=4, srcFloatPxl+=4, bufferIndex+=4) {
+ copy_v4_v4(bufferIndex, srcFloatPxl);
+ F4TOCHAR4(bufferIndex, dstBytePxl);
+ }
+ }
+ }
+ }
+ }
+ /* ensure user flag is reset */
+ ibuf->userflags &= ~IB_RECT_INVALID;
+}
+
static void imb_float_from_rect_nonlinear(struct ImBuf *ibuf, float *fbuf)
{
float *tof = fbuf;
@@ -361,3 +490,23 @@ float *IMB_float_profile_ensure(struct ImBuf *ibuf, int profile, int *alloc)
return fbuf;
}
}
+
+
+/* no profile conversion */
+void IMB_color_to_bw(struct ImBuf *ibuf)
+{
+ float *rctf= ibuf->rect_float;
+ unsigned char *rct= (unsigned char *)ibuf->rect;
+ int i;
+ if(rctf) {
+ for (i = ibuf->x * ibuf->y; i > 0; i--, rctf+=4) {
+ rctf[0]= rctf[1]= rctf[2]= rgb_to_grayscale(rctf);
+ }
+ }
+
+ if(rct) {
+ for (i = ibuf->x * ibuf->y; i > 0; i--, rct+=4) {
+ rct[0]= rct[1]= rct[2]= rgb_to_grayscale_byte(rct);
+ }
+ }
+}
diff --git a/source/blender/imbuf/intern/filter.c b/source/blender/imbuf/intern/filter.c
index 2821ba2a361..1644e653df4 100644
--- a/source/blender/imbuf/intern/filter.c
+++ b/source/blender/imbuf/intern/filter.c
@@ -21,7 +21,7 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Morten Mikkelsen.
*
* ***** END GPL LICENSE BLOCK *****
* filter.c
@@ -262,121 +262,196 @@ void IMB_filter(struct ImBuf *ibuf)
imb_filterx(ibuf);
}
-#define EXTEND_PIXEL(color, w) if((color)[3]) {r+= w*(color)[0]; g+= w*(color)[1]; b+= w*(color)[2]; a+= w*(color)[3]; tot+=w;}
-
-/* if alpha is zero, it checks surrounding pixels and averages color. sets new alphas to 1.0
- *
- * When a mask is given, only effect pixels with a mask value of 1, defined as BAKE_MASK_MARGIN in rendercore.c
- * */
-void IMB_filter_extend(struct ImBuf *ibuf, char *mask)
+void IMB_mask_filter_extend(char *mask, int width, int height)
{
- register char *row1, *row2, *row3;
- register char *cp;
+ char *row1, *row2, *row3;
int rowlen, x, y;
-
- rowlen= ibuf->x;
-
-
+ char *temprect;
+
+ rowlen= width;
+
+ /* make a copy, to prevent flooding */
+ temprect= MEM_dupallocN(mask);
+
+ for(y=1; y<=height; y++) {
+ /* setup rows */
+ row1= (char *)(temprect + (y-2)*rowlen);
+ row2= row1 + rowlen;
+ row3= row2 + rowlen;
+ if(y==1)
+ row1= row2;
+ else if(y==height)
+ row3= row2;
+
+ for(x=0; x<rowlen; x++) {
+ if (mask[((y-1)*rowlen)+x]==0) {
+ if (*row1 || *row2 || *row3 || *(row1+1) || *(row3+1) ) {
+ mask[((y-1)*rowlen)+x] = FILTER_MASK_MARGIN;
+ } else if((x!=rowlen-1) && (*(row1+2) || *(row2+2) || *(row3+2)) ) {
+ mask[((y-1)*rowlen)+x] = FILTER_MASK_MARGIN;
+ }
+ }
+
+ if(x!=0) {
+ row1++; row2++; row3++;
+ }
+ }
+ }
+
+ MEM_freeN(temprect);
+}
+
+void IMB_mask_clear(ImBuf *ibuf, char *mask, int val)
+{
+ int x,y;
if (ibuf->rect_float) {
- float *temprect;
- float *row1f, *row2f, *row3f;
- float *fp;
- temprect= MEM_dupallocN(ibuf->rect_float);
-
- for(y=1; y<=ibuf->y; y++) {
- /* setup rows */
- row1f= (float *)(temprect + (y-2)*rowlen*4);
- row2f= row1f + 4*rowlen;
- row3f= row2f + 4*rowlen;
- if(y==1)
- row1f= row2f;
- else if(y==ibuf->y)
- row3f= row2f;
-
- fp= (float *)(ibuf->rect_float + (y-1)*rowlen*4);
-
- for(x=0; x<rowlen; x++) {
- if((mask==NULL && fp[3]==0.0f) || (mask && mask[((y-1)*rowlen)+x]==1)) {
- int tot= 0;
- float r=0.0f, g=0.0f, b=0.0f, a=0.0f;
-
- EXTEND_PIXEL(row1f, 1);
- EXTEND_PIXEL(row2f, 2);
- EXTEND_PIXEL(row3f, 1);
- EXTEND_PIXEL(row1f+4, 2);
- EXTEND_PIXEL(row3f+4, 2);
- if(x!=rowlen-1) {
- EXTEND_PIXEL(row1f+8, 1);
- EXTEND_PIXEL(row2f+8, 2);
- EXTEND_PIXEL(row3f+8, 1);
- }
- if(tot) {
- fp[0]= r/tot;
- fp[1]= g/tot;
- fp[2]= b/tot;
- fp[3]= a/tot;
- }
+ for(x=0; x<ibuf->x; x++) {
+ for(y=0; y<ibuf->y; y++) {
+ if (mask[ibuf->x*y + x] == val) {
+ float *col= ibuf->rect_float + 4*(ibuf->x*y + x);
+ col[0] = col[1] = col[2] = col[3] = 0.0f;
}
- fp+=4;
-
- if(x!=0) {
- row1f+=4; row2f+=4; row3f+=4;
+ }
+ }
+ } else {
+ /* char buffer */
+ for(x=0; x<ibuf->x; x++) {
+ for(y=0; y<ibuf->y; y++) {
+ if (mask[ibuf->x*y + x] == val) {
+ char *col= (char *)(ibuf->rect + ibuf->x*y + x);
+ col[0] = col[1] = col[2] = col[3] = 0;
}
}
}
+ }
+}
+
+static int filter_make_index(const int x, const int y, const int w, const int h)
+{
+ if(x<0 || x>=w || y<0 || y>=h) return -1; /* return bad index */
+ else return y*w+x;
+}
+
+static int check_pixel_assigned(const void *buffer, const char *mask, const int index, const int depth, const int is_float)
+{
+ int res = 0;
+
+ if(index>=0) {
+ const int alpha_index = depth*index+(depth-1);
- MEM_freeN(temprect);
+ if(mask!=NULL) {
+ res = mask[index]!=0 ? 1 : 0;
+ }
+ else if( (is_float && ((const float *) buffer)[alpha_index]!=0.0f) ||
+ (!is_float && ((const unsigned char *) buffer)[alpha_index]!=0) ) {
+ res=1;
+ }
}
- else if(ibuf->rect) {
- int *temprect;
-
- /* make a copy, to prevent flooding */
- temprect= MEM_dupallocN(ibuf->rect);
-
- for(y=1; y<=ibuf->y; y++) {
- /* setup rows */
- row1= (char *)(temprect + (y-2)*rowlen);
- row2= row1 + 4*rowlen;
- row3= row2 + 4*rowlen;
- if(y==1)
- row1= row2;
- else if(y==ibuf->y)
- row3= row2;
-
- cp= (char *)(ibuf->rect + (y-1)*rowlen);
-
- for(x=0; x<rowlen; x++) {
- /*if(cp[3]==0) {*/
- if((mask==NULL && cp[3]==0) || (mask && mask[((y-1)*rowlen)+x]==1)) {
- int tot= 0, r=0, g=0, b=0, a=0;
-
- EXTEND_PIXEL(row1, 1);
- EXTEND_PIXEL(row2, 2);
- EXTEND_PIXEL(row3, 1);
- EXTEND_PIXEL(row1+4, 2);
- EXTEND_PIXEL(row3+4, 2);
- if(x!=rowlen-1) {
- EXTEND_PIXEL(row1+8, 1);
- EXTEND_PIXEL(row2+8, 2);
- EXTEND_PIXEL(row3+8, 1);
- }
- if(tot) {
- cp[0]= r/tot;
- cp[1]= g/tot;
- cp[2]= b/tot;
- cp[3]= a/tot;
+
+ return res;
+}
+
+/* if alpha is zero, it checks surrounding pixels and averages color. sets new alphas to 1.0
+ *
+ * When a mask is given, only effect pixels with a mask value of 1, defined as BAKE_MASK_MARGIN in rendercore.c
+ * */
+void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter)
+{
+ const int width= ibuf->x;
+ const int height= ibuf->y;
+ const int depth= 4; /* always 4 channels */
+ const int chsize= ibuf->rect_float ? sizeof(float) : sizeof(unsigned char);
+ const int bsize= width*height*depth*chsize;
+ const int is_float= ibuf->rect_float!=NULL;
+ void *dstbuf= (void *) MEM_dupallocN(ibuf->rect_float ? (void *) ibuf->rect_float : (void *) ibuf->rect);
+ char *dstmask= mask==NULL ? NULL : (char *) MEM_dupallocN(mask);
+ void *srcbuf= ibuf->rect_float ? (void *) ibuf->rect_float : (void *) ibuf->rect;
+ char *srcmask= mask;
+ int cannot_early_out= 1, r, n, k, i, j, c;
+ float weight[25];
+
+ /* build a weights buffer */
+ n= 2;
+ k= 0;
+ for(i = -n; i <= n; i++)
+ for(j = -n; j <= n; j++)
+ weight[k++] = sqrt((float) i * i + j * j);
+
+ /* run passes */
+ for(r = 0; cannot_early_out == 1 && r < filter; r++) {
+ int x, y;
+ cannot_early_out = 0;
+
+ for(y= 0; y<height; y++) {
+ for(x= 0; x<width; x++) {
+ const int index= filter_make_index(x, y, width, height);
+
+ /* only update unassigned pixels */
+ if(!check_pixel_assigned(srcbuf, srcmask, index, depth, is_float)) {
+ float tmp[4];
+ float wsum=0;
+ 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) ||
+ 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)) {
+ for(i= -n; i<=n; i++) {
+ for(j=-n; j<=n; j++) {
+ if(i != 0 || j != 0) {
+ const int tmpindex= filter_make_index(x+i, y+j, width, height);
+
+ if(check_pixel_assigned(srcbuf, srcmask, tmpindex, depth, is_float)) {
+ if(is_float) {
+ for(c=0; c<depth; c++)
+ tmp[c] = ((const float *) srcbuf)[depth*tmpindex+c];
+ }
+ else {
+ for(c=0; c<depth; c++)
+ tmp[c] = (float) ((const unsigned char *) srcbuf)[depth*tmpindex+c];
+ }
+
+ wsum+= weight[k];
+
+ for(c=0; c<depth; c++)
+ acc[c]+= weight[k] * tmp[c];
+ }
+ }
+ k++;
+ }
+ }
+
+ if(wsum!=0) {
+ for(c=0; c<depth; c++)
+ acc[c]/= wsum;
+
+ if(is_float) {
+ for(c=0; c<depth; c++)
+ ((float *) dstbuf)[depth*index+c] = acc[c];
+ }
+ else {
+ for(c=0; c<depth; c++) {
+ ((unsigned char *) dstbuf)[depth*index+c]= acc[c] > 255 ? 255 : (acc[c] < 0 ? 0 : ((unsigned char) (acc[c]+0.5f)));
+ }
+ }
+
+ if(dstmask!=NULL) dstmask[index]=FILTER_MASK_MARGIN; /* assigned */
+ cannot_early_out = 1;
+ }
}
}
- cp+=4;
-
- if(x!=0) {
- row1+=4; row2+=4; row3+=4;
- }
}
}
-
- MEM_freeN(temprect);
+
+ /* keep the original buffer up to date. */
+ memcpy(srcbuf, dstbuf, bsize);
+ if(dstmask!=NULL) memcpy(srcmask, dstmask, width*height);
}
+
+ /* free memory */
+ MEM_freeN(dstbuf);
+ if(dstmask!=NULL) MEM_freeN(dstmask);
}
/* threadsafe version, only recreates existing maps */
@@ -437,7 +512,7 @@ void IMB_makemipmap(ImBuf *ibuf, int use_filter)
hbuf= ibuf->mipmap[curmap];
hbuf->miplevel= curmap+1;
- if(!hbuf || (hbuf->x == 1 && hbuf->y == 1))
+ if(!hbuf || (hbuf->x <= 2 && hbuf->y <= 2))
break;
curmap++;
diff --git a/source/blender/imbuf/intern/imageprocess.c b/source/blender/imbuf/intern/imageprocess.c
index fa5e951067d..1ac4e4e06cb 100644
--- a/source/blender/imbuf/intern/imageprocess.c
+++ b/source/blender/imbuf/intern/imageprocess.c
@@ -315,7 +315,7 @@ void bilinear_interpolation_color(struct ImBuf *in, unsigned char *outI, float *
/* Note about wrapping, the u/v still needs to be within the image bounds,
* just the interpolation is wrapped.
- * This the same as bilinear_interpolation_color except it wraps rather then using empty and emptyI */
+ * This the same as bilinear_interpolation_color except it wraps rather than using empty and emptyI */
void bilinear_interpolation_color_wrap(struct ImBuf *in, unsigned char *outI, float *outF, float u, float v)
{
float *row1, *row2, *row3, *row4, a, b;
diff --git a/source/blender/imbuf/intern/md5.h b/source/blender/imbuf/intern/md5.h
index 5fc1f80216f..79c480d8152 100644
--- a/source/blender/imbuf/intern/md5.h
+++ b/source/blender/imbuf/intern/md5.h
@@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include <stdio.h>
-#if defined HAVE_LIMITS_H || _LIBC
+#if defined HAVE_LIMITS_H || defined _LIBC
# include <limits.h>
#endif
diff --git a/source/blender/imbuf/intern/openexr/CMakeLists.txt b/source/blender/imbuf/intern/openexr/CMakeLists.txt
index ace4f4f9a65..3be5219ae44 100644
--- a/source/blender/imbuf/intern/openexr/CMakeLists.txt
+++ b/source/blender/imbuf/intern/openexr/CMakeLists.txt
@@ -30,10 +30,12 @@ set(INC
../..
../../../blenkernel
../../../blenlib
- intern/include
- ../../../../../intern/guardedalloc
../../../makesdna
- ${OPENEXR_INC}
+ ../../../../../intern/guardedalloc
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -41,7 +43,10 @@ set(SRC
)
if(WITH_IMAGE_OPENEXR)
+ list(APPEND INC_SYS
+ ${OPENEXR_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_OPENEXR)
endif()
-blender_add_lib(bf_imbuf_openexr "${SRC}" "${INC}")
+blender_add_lib(bf_imbuf_openexr "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
index 9fd6cd1c3fa..7b528ed9624 100644
--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
@@ -76,18 +76,18 @@ _CRTIMP void __cdecl _invalid_parameter_noinfo(void)
#include <IlmImf/ImfStringAttribute.h>
#include <Imath/ImathBox.h>
#else
-#include <OpenEXR/half.h>
-#include <OpenEXR/ImfVersion.h>
-#include <OpenEXR/ImathBox.h>
-#include <OpenEXR/ImfArray.h>
-#include <OpenEXR/ImfIO.h>
-#include <OpenEXR/ImfChannelList.h>
-#include <OpenEXR/ImfPixelType.h>
-#include <OpenEXR/ImfInputFile.h>
-#include <OpenEXR/ImfOutputFile.h>
-#include <OpenEXR/ImfCompression.h>
-#include <OpenEXR/ImfCompressionAttribute.h>
-#include <OpenEXR/ImfStringAttribute.h>
+#include <half.h>
+#include <ImfVersion.h>
+#include <ImathBox.h>
+#include <ImfArray.h>
+#include <ImfIO.h>
+#include <ImfChannelList.h>
+#include <ImfPixelType.h>
+#include <ImfInputFile.h>
+#include <ImfOutputFile.h>
+#include <ImfCompression.h>
+#include <ImfCompressionAttribute.h>
+#include <ImfStringAttribute.h>
#endif
using namespace Imf;
diff --git a/source/blender/imbuf/intern/png.c b/source/blender/imbuf/intern/png.c
index 200ff0af9af..f0c06ec0ae7 100644
--- a/source/blender/imbuf/intern/png.c
+++ b/source/blender/imbuf/intern/png.c
@@ -257,6 +257,10 @@ int imb_savepng(struct ImBuf *ibuf, const char *name, int flags)
}
+ if(ibuf->ppm[0] > 0.0 && ibuf->ppm[1] > 0.0) {
+ png_set_pHYs(png_ptr, info_ptr, (unsigned int)(ibuf->ppm[0] + 0.5), (unsigned int)(ibuf->ppm[1] + 0.5), PNG_RESOLUTION_METER);
+ }
+
// write the file header information
png_write_info(png_ptr, info_ptr);
@@ -384,7 +388,19 @@ struct ImBuf *imb_loadpng(unsigned char *mem, size_t size, int flags)
if (ibuf) {
ibuf->ftype = PNG;
ibuf->profile = IB_PROFILE_SRGB;
- } else {
+
+ if (png_get_valid (png_ptr, info_ptr, PNG_INFO_pHYs)) {
+ int unit_type;
+ png_uint_32 xres, yres;
+
+ if(png_get_pHYs(png_ptr, info_ptr, &xres, &yres, &unit_type))
+ if(unit_type == PNG_RESOLUTION_METER) {
+ ibuf->ppm[0]= xres;
+ ibuf->ppm[1]= yres;
+ }
+ }
+ }
+ else {
printf("Couldn't allocate memory for PNG image\n");
}
diff --git a/source/blender/imbuf/intern/rectop.c b/source/blender/imbuf/intern/rectop.c
index 44af7ffdb3f..844478e03cb 100644
--- a/source/blender/imbuf/intern/rectop.c
+++ b/source/blender/imbuf/intern/rectop.c
@@ -450,7 +450,7 @@ void IMB_rectblend(struct ImBuf *dbuf, struct ImBuf *sbuf, int destx,
/* fill */
-void IMB_rectfill(struct ImBuf *drect, float col[4])
+void IMB_rectfill(struct ImBuf *drect, const float col[4])
{
int num;
@@ -561,3 +561,18 @@ void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, i
if (!ibuf) return;
buf_rectfill_area((unsigned char *) ibuf->rect, ibuf->rect_float, ibuf->x, ibuf->y, col, x1, y1, x2, y2);
}
+
+
+void IMB_rectfill_alpha(ImBuf *ibuf, const float value)
+{
+ int i;
+ if (ibuf->rect_float) {
+ float *fbuf= ibuf->rect_float + 3;
+ for (i = ibuf->x * ibuf->y; i > 0; i--, fbuf+= 4) { *fbuf = value; }
+ }
+ else {
+ const unsigned char cvalue= value * 255;
+ unsigned char *cbuf= ((unsigned char *)ibuf->rect) + 3;
+ for (i = ibuf->x * ibuf->y; i > 0; i--, cbuf+= 4) { *cbuf = cvalue; }
+ }
+}
diff --git a/source/blender/imbuf/intern/scaling.c b/source/blender/imbuf/intern/scaling.c
index f6a6a644977..5389d90867e 100644
--- a/source/blender/imbuf/intern/scaling.c
+++ b/source/blender/imbuf/intern/scaling.c
@@ -300,17 +300,18 @@ void imb_onehalf_no_alloc(struct ImBuf *ibuf2, struct ImBuf *ibuf1)
uchar *p1, *p2 = NULL, *dest;
float *p1f, *destf, *p2f = NULL;
int x,y;
- int do_rect, do_float;
+ const short do_rect= (ibuf1->rect != NULL);
+ const short do_float= (ibuf1->rect_float != NULL) && (ibuf2->rect_float != NULL);
+
+ if(do_rect && (ibuf2->rect == NULL)) {
+ imb_addrectImBuf(ibuf2);
+ }
- do_rect= (ibuf1->rect != NULL);
-
p1f = ibuf1->rect_float;
destf=ibuf2->rect_float;
p1 = (uchar *) ibuf1->rect;
dest=(uchar *) ibuf2->rect;
- do_float= (ibuf1->rect_float != NULL && ibuf2->rect_float != NULL);
-
for(y=ibuf2->y;y>0;y--){
if (do_rect) p2 = p1 + (ibuf1->x << 2);
if (do_float) p2f = p1f + (ibuf1->x << 2);
diff --git a/source/blender/imbuf/intern/targa.c b/source/blender/imbuf/intern/targa.c
index f334409133f..ec00b15c079 100644
--- a/source/blender/imbuf/intern/targa.c
+++ b/source/blender/imbuf/intern/targa.c
@@ -532,7 +532,7 @@ struct ImBuf *imb_loadtarga(unsigned char *mem, size_t mem_size, int flags)
TARGA tga;
struct ImBuf * ibuf;
int col, count, size;
- unsigned int *rect, *cmap= NULL, mincol= 0, maxcol= 0;
+ unsigned int *rect, *cmap= NULL /*, mincol= 0*/, maxcol= 0;
uchar * cp = (uchar *) &col;
if (checktarga(&tga,mem) == 0) return(NULL);
@@ -550,7 +550,7 @@ struct ImBuf *imb_loadtarga(unsigned char *mem, size_t mem_size, int flags)
if (tga.mapsize){
/* load color map */
- mincol = tga.maporig;
+ /*mincol = tga.maporig;*/ /*UNUSED*/
maxcol = tga.mapsize;
cmap = MEM_callocN(sizeof(unsigned int)*maxcol, "targa cmap");
@@ -586,7 +586,7 @@ struct ImBuf *imb_loadtarga(unsigned char *mem, size_t mem_size, int flags)
ibuf->depth = size;
if (tga.mapbits != 32) { /* set alpha bits */
- cmap[0] &= BIG_LONG(0x00ffffff);
+ cmap[0] &= BIG_LONG(0x00ffffffl);
}
}
diff --git a/source/blender/imbuf/intern/tiff.c b/source/blender/imbuf/intern/tiff.c
index 67d20d56466..36130aa0dbf 100644
--- a/source/blender/imbuf/intern/tiff.c
+++ b/source/blender/imbuf/intern/tiff.c
@@ -354,6 +354,25 @@ static void scanline_separate_32bit(float *rectf, float *fbuf, int scanline_w, i
rectf[i*4 + chan] = fbuf[i];
}
+static void imb_read_tiff_resolution(ImBuf *ibuf, TIFF *image)
+{
+ uint16 unit;
+ float xres;
+ float yres;
+
+ TIFFGetFieldDefaulted(image, TIFFTAG_RESOLUTIONUNIT, &unit);
+ TIFFGetFieldDefaulted(image, TIFFTAG_XRESOLUTION, &xres);
+ TIFFGetFieldDefaulted(image, TIFFTAG_YRESOLUTION, &yres);
+
+ if(unit == RESUNIT_CENTIMETER) {
+ ibuf->ppm[0]= (double)xres * 100.0;
+ ibuf->ppm[1]= (double)yres * 100.0;
+ }
+ else {
+ ibuf->ppm[0]= (double)xres / 0.0254;
+ ibuf->ppm[1]= (double)yres / 0.0254;
+ }
+}
/*
* Use the libTIFF scanline API to read a TIFF image.
@@ -369,10 +388,13 @@ static int imb_read_tiff_pixels(ImBuf *ibuf, TIFF *image, int premul)
int ib_flag=0, row, chan;
float *fbuf=NULL;
unsigned short *sbuf=NULL;
-
+
TIFFGetField(image, TIFFTAG_BITSPERSAMPLE, &bitspersample);
TIFFGetField(image, TIFFTAG_SAMPLESPERPIXEL, &spp); /* number of 'channels' */
TIFFGetField(image, TIFFTAG_PLANARCONFIG, &config);
+
+ imb_read_tiff_resolution(ibuf, image);
+
scanline = TIFFScanlineSize(image);
if (bitspersample == 32) {
@@ -658,6 +680,7 @@ int imb_savetiff(ImBuf *ibuf, const char *name, int flags)
unsigned char *from = NULL, *to = NULL;
unsigned short *pixels16 = NULL, *to16 = NULL;
float *fromf = NULL;
+ float xres, yres;
int x, y, from_i, to_i, i;
int extraSampleTypes[1] = { EXTRASAMPLE_ASSOCALPHA };
@@ -783,8 +806,18 @@ int imb_savetiff(ImBuf *ibuf, const char *name, int flags)
TIFFSetField(image, TIFFTAG_COMPRESSION, COMPRESSION_DEFLATE);
TIFFSetField(image, TIFFTAG_FILLORDER, FILLORDER_MSB2LSB);
TIFFSetField(image, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
- TIFFSetField(image, TIFFTAG_XRESOLUTION, 150.0);
- TIFFSetField(image, TIFFTAG_YRESOLUTION, 150.0);
+
+
+ if(ibuf->ppm[0] > 0.0 && ibuf->ppm[1] > 0.0) {
+ xres= (float)(ibuf->ppm[0] * 0.0254);
+ yres= (float)(ibuf->ppm[1] * 0.0254);
+ }
+ else {
+ xres= yres= 150.0f;
+ }
+
+ TIFFSetField(image, TIFFTAG_XRESOLUTION, xres);
+ TIFFSetField(image, TIFFTAG_YRESOLUTION, yres);
TIFFSetField(image, TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH);
if(TIFFWriteEncodedStrip(image, 0,
(bitspersample == 16)? (unsigned char*)pixels16: pixels,
diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c
index 3e4136cbef9..6db8dcc06cf 100644
--- a/source/blender/imbuf/intern/util.c
+++ b/source/blender/imbuf/intern/util.c
@@ -63,11 +63,7 @@
#include <libavdevice/avdevice.h>
#include <libavutil/log.h>
-#if LIBAVFORMAT_VERSION_INT < (49 << 16)
-#define FFMPEG_OLD_FRAME_RATE 1
-#else
-#define FFMPEG_CODEC_IS_POINTER 1
-#endif
+#include "ffmpeg_compat.h"
#endif
@@ -117,6 +113,7 @@ const char *imb_ext_movie[] = {
".m4v",
".m2v",
".m2t",
+ ".m2ts",
".mts",
".mv",
".avs",
@@ -146,6 +143,9 @@ const char *imb_ext_audio[] = {
".flac",
".wma",
".eac3",
+ ".aif",
+ ".aiff",
+ ".m4a",
NULL};
static int IMB_ispic_name(const char *name)
@@ -241,19 +241,6 @@ void do_init_ffmpeg(void)
}
}
-#ifdef FFMPEG_CODEC_IS_POINTER
-static AVCodecContext* get_codec_from_stream(AVStream* stream)
-{
- return stream->codec;
-}
-#else
-static AVCodecContext* get_codec_from_stream(AVStream* stream)
-{
- return &stream->codec;
-}
-#endif
-
-
static int isffmpeg (const char *filename) {
AVFormatContext *pFormatCtx;
unsigned int i;
@@ -284,15 +271,15 @@ static int isffmpeg (const char *filename) {
return 0;
}
- if(UTIL_DEBUG) dump_format(pFormatCtx, 0, filename, 0);
+ if(UTIL_DEBUG) av_dump_format(pFormatCtx, 0, filename, 0);
/* Find the first video stream */
videoStream=-1;
for(i=0; i<pFormatCtx->nb_streams; i++)
if(pFormatCtx->streams[i] &&
- get_codec_from_stream(pFormatCtx->streams[i]) &&
- (get_codec_from_stream(pFormatCtx->streams[i])->codec_type==CODEC_TYPE_VIDEO))
+ pFormatCtx->streams[i]->codec &&
+ (pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO))
{
videoStream=i;
break;
@@ -303,7 +290,7 @@ static int isffmpeg (const char *filename) {
return 0;
}
- pCodecCtx = get_codec_from_stream(pFormatCtx->streams[videoStream]);
+ pCodecCtx = pFormatCtx->streams[videoStream]->codec;
/* Find the decoder for the video stream */
pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 267283ee47a..4cf9f47041b 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -123,12 +123,14 @@ typedef struct Library {
struct Library *parent; /* set for indirectly linked libs, used in the outliner and while reading */
} Library;
-#define PREVIEW_MIPMAPS 2
-#define PREVIEW_MIPMAP_ZERO 0
-#define PREVIEW_MIPMAP_LARGE 1
+enum eIconSizes {
+ ICON_SIZE_ICON,
+ ICON_SIZE_PREVIEW,
+};
+#define NUM_ICON_SIZES (ICON_SIZE_PREVIEW + 1)
typedef struct PreviewImage {
- /* All values of 2 are really PREVIEW_MIPMAPS */
+ /* All values of 2 are really NUM_ICON_SIZES */
unsigned int w[2];
unsigned int h[2];
short changed[2];
diff --git a/source/blender/makesdna/DNA_actuator_types.h b/source/blender/makesdna/DNA_actuator_types.h
index 683d8142cc9..887a0300ee2 100644
--- a/source/blender/makesdna/DNA_actuator_types.h
+++ b/source/blender/makesdna/DNA_actuator_types.h
@@ -133,7 +133,7 @@ typedef struct bIpoActuator {
typedef struct bCameraActuator {
struct Object *ob;
float height, min, max;
- float pad;
+ float damping;
short pad1, axis;
float pad2;
} bCameraActuator ;
diff --git a/source/blender/makesdna/DNA_camera_types.h b/source/blender/makesdna/DNA_camera_types.h
index 4ebd7318ea8..952b4e799b5 100644
--- a/source/blender/makesdna/DNA_camera_types.h
+++ b/source/blender/makesdna/DNA_camera_types.h
@@ -47,7 +47,9 @@ typedef struct Camera {
ID id;
struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
- short type, flag;
+ char type; /* CAM_PERSP or CAM_ORTHO */
+ char dtx; /* draw type extra */
+ short flag;
float passepartalpha;
float clipsta, clipend;
float lens, ortho_scale, drawsize;
@@ -69,6 +71,16 @@ typedef struct Camera {
#define CAM_PERSP 0
#define CAM_ORTHO 1
+/* dtx */
+#define CAM_DTX_CENTER 1
+#define CAM_DTX_CENTER_DIAG 2
+#define CAM_DTX_THIRDS 4
+#define CAM_DTX_GOLDEN 8
+#define CAM_DTX_GOLDEN_TRI_A 16
+#define CAM_DTX_GOLDEN_TRI_B 32
+#define CAM_DTX_HARMONY_TRI_A 64
+#define CAM_DTX_HARMONY_TRI_B 128
+
/* flag */
#define CAM_SHOWLIMITS 1
#define CAM_SHOWMIST 2
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index 99ed2319415..dd033339ca4 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -102,7 +102,8 @@ typedef struct Image {
short animspeed;
/* for generated images */
- short gen_x, gen_y, gen_type;
+ short gen_x, gen_y;
+ char gen_type, gen_flag;
/* display aspect - for UV editing images resized for faster openGL display */
float aspx, aspy;
@@ -136,5 +137,8 @@ typedef struct Image {
#define IMA_MAX_RENDER_TEXT 512
#define IMA_MAX_RENDER_SLOT 8
+/* gen_flag */
+#define IMA_GEN_FLOAT 1
+
#endif
diff --git a/source/blender/makesdna/DNA_lattice_types.h b/source/blender/makesdna/DNA_lattice_types.h
index 662ef9e8a45..a9e745b8148 100644
--- a/source/blender/makesdna/DNA_lattice_types.h
+++ b/source/blender/makesdna/DNA_lattice_types.h
@@ -83,5 +83,7 @@ typedef struct Lattice {
#define LT_DS_EXPAND 4
+#define LT_INDEX(lt, u, v, w) ((w) * ((lt)->pntsu * (lt)->pntsv) + ((v) * (lt)->pntsu) + (u))
+
#endif
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index 1489593f7f6..060b1bf42d1 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -161,7 +161,7 @@ typedef struct Material {
int mapto_textured; /* render-time cache to optimise texture lookups */
short shadowonly_flag; /* "shadowsonly" type */
- short pad;
+ short index; /* custom index for render passes */
ListBase gpumaterial; /* runtime */
} Material;
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index d2d8e014015..3787675f339 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -624,6 +624,7 @@ typedef struct MultiresModifierData {
typedef enum {
eMultiresModifierFlag_ControlEdges = (1<<0),
+ eMultiresModifierFlag_PlainUv = (1<<1),
} MultiresModifierFlag;
typedef struct FluidsimModifierData {
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 03387c3a63a..efaf30b02f6 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -179,6 +179,10 @@ typedef struct bNodeLink {
} bNodeLink;
+
+/* link->flag */
+#define NODE_LINKFLAG_HILITE 1
+
/* the basis for a Node tree, all links and nodes reside internal here */
/* only re-usable node trees are in the library though, materials and textures allocate own tree struct */
typedef struct bNodeTree {
diff --git a/source/blender/makesdna/DNA_object_fluidsim.h b/source/blender/makesdna/DNA_object_fluidsim.h
index e8360b99d69..578bf8dd415 100644
--- a/source/blender/makesdna/DNA_object_fluidsim.h
+++ b/source/blender/makesdna/DNA_object_fluidsim.h
@@ -42,7 +42,10 @@ extern "C" {
struct Mesh;
struct Ipo;
-struct MVert;
+
+typedef struct FluidVertexVelocity {
+ float vel[3];
+} FluidVertexVelocity;
typedef struct FluidsimSettings {
struct FluidsimModifierData *fmd; /* for fast RNA access */
@@ -66,7 +69,7 @@ typedef struct FluidsimSettings {
short viscosityMode;
short viscosityExponent;
/* gravity strength */
- float gravx,gravy,gravz;
+ float grav[3];
/* anim start end time (in seconds) */
float animStart, animEnd;
/* bake start end time (in blender frames) */
@@ -82,8 +85,6 @@ typedef struct FluidsimSettings {
/* store pointer to original mesh (for replacing the current one) */
struct Mesh *orgMesh;
- /* pointer to the currently loaded fluidsim mesh */
- struct Mesh *meshSurface;
/* a mesh to display the bounding box used for simulation */
struct Mesh *meshBB;
@@ -122,8 +123,10 @@ typedef struct FluidsimSettings {
/* testing vars */
float farFieldSize;
- /* save fluidsurface normals in mvert.no, and surface vertex velocities (if available) in mvert.co */
- struct MVert *meshSurfNormals;
+ /* vertex velocities of simulated fluid mesh */
+ struct FluidVertexVelocity *meshVelocities;
+ /* number of vertices in simulated fluid mesh */
+ int totvert;
/* Fluid control settings */
float cpsTimeStart;
@@ -136,6 +139,8 @@ typedef struct FluidsimSettings {
float velocityforceRadius;
int lastgoodframe;
+
+ int pad;
} FluidsimSettings;
@@ -156,6 +161,9 @@ typedef struct FluidsimSettings {
#define OB_FSBND_FREESLIP (1<<(OB_TYPEFLAG_START+4))
#define OB_FSINFLOW_LOCALCOORD (1<<(OB_TYPEFLAG_START+5))
+/* surface generation flag (part of enabling chapter 6 of "Free Surface Flows with Moving and Deforming Objects for LBM") */
+#define OB_FSSG_NOOBS (1<<(OB_TYPEFLAG_START+6))
+
// guiDisplayMode particle flags
#define OB_FSDOM_GEOM 1
#define OB_FSDOM_PREVIEW 2
diff --git a/source/blender/makesdna/DNA_object_force.h b/source/blender/makesdna/DNA_object_force.h
index 37568a22f54..fc8ce1b5820 100644
--- a/source/blender/makesdna/DNA_object_force.h
+++ b/source/blender/makesdna/DNA_object_force.h
@@ -420,7 +420,7 @@ typedef struct SoftBody {
#define OB_SB_SELF 512
#define OB_SB_FACECOLL 1024
#define OB_SB_EDGECOLL 2048
-#define OB_SB_COLLFINAL 4096
+#define OB_SB_COLLFINAL 4096 /* deprecated */
#define OB_SB_BIG_UI 8192
#define OB_SB_AERO_ANGLE 16384
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 7c6affa1ff2..639bb7e2cec 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -251,15 +251,17 @@ typedef struct Object {
struct FluidsimSettings *fluidsimSettings; /* if fluidsim enabled, store additional settings */
struct DerivedMesh *derivedDeform, *derivedFinal;
- int lastDataMask; /* the custom data layer mask that was last used to calculate derivedDeform and derivedFinal */
+ unsigned int lastDataMask; /* the custom data layer mask that was last used to calculate derivedDeform and derivedFinal */
+ unsigned int customdata_mask; /* (extra) custom data layer mask to use for creating derivedmesh, set by depsgraph */
unsigned int state; /* bit masks of game controllers that are active */
unsigned int init_state; /* bit masks of initial state as recorded by the users */
- int pad2;
-
ListBase gpulamp; /* runtime, for lamps only */
ListBase pc_ids;
ListBase *duplilist; /* for temporary dupli list storage, only for use by RNA API */
+
+ float ima_ofs[2]; /* offset for image empties */
+ char pad3[8];
} Object;
/* Warning, this is not used anymore because hooks are now modifiers */
@@ -289,10 +291,6 @@ typedef struct DupliObject {
float orco[3], uv[2];
} DupliObject;
-/* this work object is defined in object.c */
-extern Object workob;
-
-
/* **************** OBJECT ********************* */
/* used many places... should be specialized */
@@ -400,6 +398,7 @@ extern Object workob;
#define OB_CUBE 5
#define OB_EMPTY_SPHERE 6
#define OB_EMPTY_CONE 7
+#define OB_EMPTY_IMAGE 8
/* boundtype */
#define OB_BOUND_BOX 0
diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h
index 09053848b28..69ee530c0b6 100644
--- a/source/blender/makesdna/DNA_particle_types.h
+++ b/source/blender/makesdna/DNA_particle_types.h
@@ -89,7 +89,8 @@ typedef struct ParticleDupliWeight {
struct ParticleDupliWeight *next, *prev;
struct Object *ob;
short count;
- short flag, rt[2];
+ short flag;
+ short index, rt; /* only updated on file save and used on file load */
} ParticleDupliWeight;
typedef struct ParticleData {
@@ -168,7 +169,7 @@ typedef struct ParticleSettings {
/* billboards */
short bb_align, bb_uv_split, bb_anim, bb_split_offset;
- float bb_tilt, bb_rand_tilt, bb_offset[2];
+ float bb_tilt, bb_rand_tilt, bb_offset[2], bb_size[2], bb_vel_head, bb_vel_tail;
/* draw color */
float color_vec_max;
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 657bfb1c884..2211f93a8ae 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -201,6 +201,7 @@ typedef struct SceneRenderLayer {
#define SCE_PASS_RAYHITS (1<<15)
#define SCE_PASS_EMIT (1<<16)
#define SCE_PASS_ENVIRONMENT (1<<17)
+#define SCE_PASS_INDEXMA (1<<18)
/* note, srl->passflag is treestore element 'nr' in outliner, short still... */
@@ -253,19 +254,12 @@ typedef struct RenderData {
*/
short yparts;
- short winpos, planes, imtype, subimtype;
-
- /** Mode bits: */
- /* 0: Enable backbuffering for images */
- short bufflag;
- short quality;
+ short planes, imtype, subimtype, quality;
/**
* Render to image editor, fullscreen or to new window.
*/
short displaymode;
-
- short rpad1, rpad2;
/**
* Flags for render settings. Use bit-masking to access the settings.
@@ -322,11 +316,7 @@ typedef struct RenderData {
/**
* Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
*/
- float xasp;
- /**
- * Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
- */
- float yasp;
+ float xasp, yasp;
float frs_sec_base;
@@ -349,8 +339,8 @@ typedef struct RenderData {
short bake_normal_space, bake_quad_split;
float bake_maxdist, bake_biasdist, bake_pad;
- /* paths to backbufffer, output */
- char backbuf[160], pic[160];
+ /* path to render output */
+ char pic[240];
/* stamps flags. */
int stamp;
@@ -440,7 +430,8 @@ typedef struct GameData {
/*
* Radius of the activity bubble, in Manhattan length. Objects
* outside the box are activity-culled. */
- float activityBoxRadius; //it's not being used ANYWHERE !!!!!!!!!!!!!!
+ float activityBoxRadius;
+
/*
* bit 3: (gameengine): Activity culling is enabled.
* bit 5: (gameengine) : enable Bullet DBVT tree for view frustrum culling
@@ -457,7 +448,8 @@ typedef struct GameData {
/* stereo/dome mode */
struct GameDome dome;
- short stereoflag, stereomode, xsch, ysch; //xsch and ysch used for backwards compat.
+ short stereoflag, stereomode;
+ short pad2, pad3;
float eyeseparation, pad1;
} GameData;
@@ -1009,13 +1001,14 @@ typedef struct Scene {
#define R_JPEG2K_CINE_PRESET 256
#define R_JPEG2K_CINE_48FPS 512
-
/* bake_mode: same as RE_BAKE_xxx defines */
/* bake_flag: */
#define R_BAKE_CLEAR 1
#define R_BAKE_OSA 2
#define R_BAKE_TO_ACTIVE 4
#define R_BAKE_NORMALIZE 8
+#define R_BAKE_MULTIRES 16
+#define R_BAKE_LORES_MESH 32
/* bake_normal_space */
#define R_BAKE_SPACE_CAMERA 0
@@ -1081,6 +1074,7 @@ typedef struct Scene {
#define SCE_SNAP_ROTATE 2
#define SCE_SNAP_PEEL_OBJECT 4
#define SCE_SNAP_PROJECT 8
+#define SCE_SNAP_NO_SELF 16
/* toolsettings->snap_target */
#define SCE_SNAP_TARGET_CLOSEST 0
#define SCE_SNAP_TARGET_CENTER 1
@@ -1113,7 +1107,8 @@ typedef struct Scene {
#define PROP_SHARP 3
#define PROP_LIN 4
#define PROP_CONST 5
-#define PROP_RANDOM 6
+#define PROP_RANDOM 6
+#define PROP_MODE_MAX 7
/* toolsettings->proportional */
#define PROP_EDIT_OFF 0
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index cd19f4cb3de..b52ed35ddce 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -187,7 +187,6 @@ typedef struct ARegion {
#define AREA_FLAG_DRAWSPLIT_H 16
#define AREA_FLAG_DRAWSPLIT_V 32
-/* If you change EDGEWIDTH, also do the global arrat edcol[] */
#define EDGEWIDTH 1
#define AREAGRID 4
#define AREAMINX 32
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 22f0c23ea9b..3e7654bcf47 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -253,27 +253,30 @@ typedef struct SpeedControlVars {
#define SEQ_NAME_MAXSTR 24
/* seq->flag */
-#define SEQ_LEFTSEL 2
-#define SEQ_RIGHTSEL 4
-#define SEQ_OVERLAP 8
-#define SEQ_FILTERY 16
-#define SEQ_MUTE 32
-#define SEQ_MAKE_PREMUL 64
-#define SEQ_REVERSE_FRAMES 128
-#define SEQ_IPO_FRAME_LOCKED 256
-#define SEQ_EFFECT_NOT_LOADED 512
-#define SEQ_FLAG_DELETE 1024
-#define SEQ_FLIPX 2048
-#define SEQ_FLIPY 4096
-#define SEQ_MAKE_FLOAT 8192
-#define SEQ_LOCK 16384
-#define SEQ_USE_PROXY 32768
-#define SEQ_USE_TRANSFORM 65536
-#define SEQ_USE_CROP 131072
-#define SEQ_USE_COLOR_BALANCE 262144
-#define SEQ_USE_PROXY_CUSTOM_DIR 524288
-#define SEQ_USE_PROXY_CUSTOM_FILE 2097152
-#define SEQ_USE_EFFECT_DEFAULT_FADE 4194304
+#define SEQ_LEFTSEL (1<<1)
+#define SEQ_RIGHTSEL (1<<2)
+#define SEQ_OVERLAP (1<<3)
+#define SEQ_FILTERY (1<<4)
+#define SEQ_MUTE (1<<5)
+#define SEQ_MAKE_PREMUL (1<<6)
+#define SEQ_REVERSE_FRAMES (1<<7)
+#define SEQ_IPO_FRAME_LOCKED (1<<8)
+#define SEQ_EFFECT_NOT_LOADED (1<<9)
+#define SEQ_FLAG_DELETE (1<<10)
+#define SEQ_FLIPX (1<<11)
+#define SEQ_FLIPY (1<<12)
+#define SEQ_MAKE_FLOAT (1<<13)
+#define SEQ_LOCK (1<<14)
+#define SEQ_USE_PROXY (1<<15)
+#define SEQ_USE_TRANSFORM (1<<16)
+#define SEQ_USE_CROP (1<<17)
+#define SEQ_USE_COLOR_BALANCE (1<<18)
+#define SEQ_USE_PROXY_CUSTOM_DIR (1<<19)
+
+#define SEQ_USE_PROXY_CUSTOM_FILE (1<<21)
+#define SEQ_USE_EFFECT_DEFAULT_FADE (1<<22)
+
+#define SEQ_INVALID_EFFECT (1<<31)
/* convenience define for all selection flags */
#define SEQ_ALLSEL (SELECT+SEQ_LEFTSEL+SEQ_RIGHTSEL)
@@ -310,7 +313,8 @@ typedef struct SpeedControlVars {
#define SEQ_COLOR 28
#define SEQ_SPEED 29
#define SEQ_MULTICAM 30
-#define SEQ_EFFECT_MAX 30
+#define SEQ_ADJUSTMENT 31
+#define SEQ_EFFECT_MAX 31
#define STRIPELEM_FAILED 0
#define STRIPELEM_OK 1
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 8272b0d5493..f90bbc7cbba 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -698,18 +698,19 @@ enum FileSortTypeE {
#define FILE_OPENFILE 0
#define FILE_SAVE 1
-/* sfile->flag and simasel->flag */
-#define FILE_SHOWSHORT 1
-#define FILE_RELPATH 2 /* was FILE_STRINGCODE */
-#define FILE_LINK 4
-#define FILE_HIDE_DOT 8
-#define FILE_AUTOSELECT 16
-#define FILE_ACTIVELAY 32
-#define FILE_ATCURSOR 64
-#define FILE_SYNCPOSE 128
-#define FILE_FILTER 256
-#define FILE_BOOKMARKS 512
-#define FILE_GROUP_INSTANCE 1024
+/* sfile->params->flag and simasel->flag */
+#define FILE_SHOWSHORT (1<<0)
+#define FILE_RELPATH (1<<1) /* was FILE_STRINGCODE */
+#define FILE_LINK (1<<2)
+#define FILE_HIDE_DOT (1<<3)
+#define FILE_AUTOSELECT (1<<4)
+#define FILE_ACTIVELAY (1<<5)
+#define FILE_ATCURSOR (1<<6)
+#define FILE_DIRSEL_ONLY (1<<7)
+#define FILE_FILTER (1<<8)
+#define FILE_BOOKMARKS (1<<9)
+#define FILE_GROUP_INSTANCE (1<<10)
+
/* files in filesel list: file types */
#define BLENDERFILE (1<<2)
@@ -755,7 +756,7 @@ enum FileSortTypeE {
#define SI_EDITTILE (1<<1)
#define SI_CLIP_UV (1<<2)
#define SI_DRAWTOOL (1<<3)
-#define SI_DEPRECATED1 (1<<4) /* stick UVs to others in the same location */
+#define SI_NO_DRAWFACES (1<<4)
#define SI_DRAWSHADOW (1<<5)
#define SI_SELACTFACE (1<<6) /* deprecated */
#define SI_DEPRECATED2 (1<<7)
@@ -826,6 +827,7 @@ enum {
#define ST_FIND_WRAP 0x0020
#define ST_FIND_ALL 0x0040
#define ST_SHOW_MARGIN 0x0080
+#define ST_MATCH_CASE 0x0100
/* stext->findstr/replacestr */
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 1be67a4501b..ae57cf3f80b 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -305,7 +305,7 @@ typedef struct UserDef {
int savetime;
char tempdir[160]; // FILE_MAXDIR length
char fontdir[160];
- char renderdir[160];
+ char renderdir[240]; // FILE_MAX length
char textudir[160];
char plugtexdir[160];
char plugseqdir[160];
@@ -374,7 +374,8 @@ typedef struct UserDef {
short scrcastfps; /* frame rate for screencast to be played back */
short scrcastwait; /* milliseconds between screencast snapshots */
- short pad8, pad[3]; /* Value for Dual/Single Column UI */
+ short widget_unit; /* defaults to 20 for 72 DPI setting */
+ short anisotropic_filter;
char versemaster[160];
char verseuser[160];
@@ -384,7 +385,6 @@ typedef struct UserDef {
short autokey_flag; /* flags for autokeying */
short text_render, pad9; /*options for text rendering*/
- float pad10;
struct ColorBand coba_weight; /* from texture.h */
@@ -469,7 +469,7 @@ extern UserDef U; /* from blenkernel blender.c */
#define USER_HIDE_DOT (1 << 16)
#define USER_SHOW_ROTVIEWICON (1 << 17)
#define USER_SHOW_VIEWPORTNAME (1 << 18)
-// old flag for #define USER_KEYINSERTNEED (1 << 19)
+#define USER_CAM_LOCK_NO_PARENT (1 << 19)
#define USER_ZOOM_TO_MOUSEPOS (1 << 20)
#define USER_SHOW_FPS (1 << 21)
#define USER_MMB_PASTE (1 << 22)
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index c9a440522d1..7379493003d 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -96,10 +96,13 @@ typedef struct RegionView3D {
float zfac; /* initgrabz() result */
float camdx, camdy; /* camera view offsets, 1.0 = viewplane moves entire width/height */
float pixsize; /* runtime only */
- float ofs[3]; /* view center & orbit pivot, negative of worldspace location */
- short camzoom;
+ float ofs[3]; /* view center & orbit pivot, negative of worldspace location,
+ * also matches -viewinv[3][0:3] in ortho mode.*/
+ short camzoom; /* viewport zoom on the camera frame, see BKE_screen_view3d_zoom_to_fac */
short twdrawflag;
- int pad;
+ char is_persp; /* check if persp/ortho view, since 'persp' cant be used for this since
+ * it can have cameras assigned as well. (only set in setwinmatrixview3d) */
+ char pad[3];
short rflag, viewlock;
short persp;
@@ -163,26 +166,21 @@ typedef struct View3D {
* OB_SHADED or OB_TEXTURE */
short drawtype;
short ob_centre_cursor; /* optional bool for 3d cursor to define center */
- short scenelock, around, pad3;
+ short scenelock, around;
short flag, flag2;
- short pivot_last; /* pivot_last is for rotating around the last edited element */
-
float lens, grid;
- float gridview; /* XXX deprecated, now in RegionView3D */
float near, far;
float ofs[3]; /* XXX deprecated */
float cursor[3];
- short gridlines, pad4;
- short gridflag;
- short gridsubdiv; /* Number of subdivisions in the grid between each highlighted grid line */
short modeselect;
- short keyflags; /* flags for display of keyframes */
-
+ short gridlines;
+ short gridsubdiv; /* Number of subdivisions in the grid between each highlighted grid line */
+ char gridflag;
+
/* transform widget info */
- short twtype, twmode, twflag;
- short twdrawflag; /* XXX deprecated */
+ char twtype, twmode, twflag, pad2[2];
/* afterdraw, for xray & transparent */
struct ListBase afterdraw_transp;
@@ -195,7 +193,7 @@ typedef struct View3D {
char ndofmode; /* mode of transform for 6DOF devices -1 not found, 0 normal, 1 fly, 2 ob transform */
char ndoffilter; /* filter for 6DOF devices 0 normal, 1 dominant */
- void *properties_storage; /* Nkey panel stores stuff here, not in file */
+ void *properties_storage; /* Nkey panel stores stuff here (runtime only!) */
/* XXX depricated? */
struct bGPdata *gpd; /* Grease-Pencil Data (annotation layers) */
@@ -231,10 +229,11 @@ typedef struct View3D {
#define RV3D_BOXCLIP 4
/* RegionView3d->view */
-#define RV3D_VIEW_FRONT 1
+#define RV3D_VIEW_USER 0
+#define RV3D_VIEW_FRONT 1
#define RV3D_VIEW_BACK 2
#define RV3D_VIEW_LEFT 3
-#define RV3D_VIEW_RIGHT 4
+#define RV3D_VIEW_RIGHT 4
#define RV3D_VIEW_TOP 5
#define RV3D_VIEW_BOTTOM 6
#define RV3D_VIEW_PERSPORTHO 7
@@ -244,6 +243,7 @@ typedef struct View3D {
#define V3D_RENDER_OVERRIDE 4
#define V3D_SOLID_TEX 8
#define V3D_DISPGP 16
+#define V3D_LOCK_CAMERA 32
/* View3D->around */
#define V3D_CENTER 0
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h
index 3072c2c3430..31e59f18626 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -316,10 +316,4 @@ typedef struct wmOperator {
/* wmOperator flag */
#define OP_GRAB_POINTER 1
-typedef enum wmRadialControlMode {
- WM_RADIALCONTROL_SIZE,
- WM_RADIALCONTROL_STRENGTH,
- WM_RADIALCONTROL_ANGLE
-} wmRadialControlMode;
-
#endif /* DNA_WINDOWMANAGER_TYPES_H */
diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt
index bb95e2c0fbc..429db63b526 100644
--- a/source/blender/makesdna/intern/CMakeLists.txt
+++ b/source/blender/makesdna/intern/CMakeLists.txt
@@ -58,6 +58,11 @@ add_custom_command(
# Build bf_dna library
set(INC
+
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -66,4 +71,4 @@ set(SRC
${SRC_DNA_INC}
)
-blender_add_lib(bf_dna "${SRC}" "${INC}")
+blender_add_lib(bf_dna "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c
index 4f26a406dda..77092dacc06 100644
--- a/source/blender/makesdna/intern/makesdna.c
+++ b/source/blender/makesdna/intern/makesdna.c
@@ -671,6 +671,8 @@ int arraysize(char *astr, int len)
}
else if( str[a]==']' && cp) {
str[a]= 0;
+ /* if 'cp' is a preprocessor definition, it will evaluate to 0,
+ * the caller needs to check for this case and throw an error */
mul*= atoi(cp);
}
}
@@ -714,7 +716,12 @@ static int calculate_structlens(int firststruct)
/* has the name an extra length? (array) */
mul= 1;
if( cp[namelen-1]==']') mul= arraysize(cp, namelen);
-
+
+ if (mul == 0) {
+ printf("Zero array size found or could not parse %s: '%.*s'\n", types[structtype], namelen + 1, cp);
+ dna_error = 1;
+ }
+
/* 4-8 aligned/ */
if(sizeof(void *) == 4) {
if (len % 4) {
@@ -744,7 +751,12 @@ static int calculate_structlens(int firststruct)
/* has the name an extra length? (array) */
mul= 1;
if( cp[namelen-1]==']') mul= arraysize(cp, namelen);
-
+
+ if (mul == 0) {
+ printf("Zero array size found or could not parse %s: '%.*s'\n", types[structtype], namelen + 1, cp);
+ dna_error = 1;
+ }
+
/* struct alignment */
if(type >= firststruct) {
if(sizeof(void *)==8 && (len % 8) ) {
@@ -856,12 +868,13 @@ void dna_write(FILE *file, void *pntr, int size)
void printStructLenghts(void)
{
- int a, unknown= nr_structs, lastunknown, structtype;
+ int a, unknown= nr_structs, structtype;
+ /*int lastunknown;*/ /*UNUSED*/
short *structpoin;
printf("\n\n*** All detected structs:\n");
while(unknown) {
- lastunknown= unknown;
+ /*lastunknown= unknown;*/ /*UNUSED*/
unknown= 0;
/* check all structs... */
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index 4d04da1c25d..dc143ec410d 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -31,7 +31,6 @@
#include <stdarg.h>
-#include "DNA_listBase.h"
#include "RNA_types.h"
#ifdef __cplusplus
@@ -40,6 +39,7 @@ extern "C" {
struct bContext;
struct ID;
+struct ListBase;
struct Main;
struct ReportList;
struct Scene;
@@ -53,6 +53,7 @@ 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;
@@ -611,6 +612,7 @@ int RNA_struct_is_a(StructRNA *type, StructRNA *srna);
StructRegisterFunc RNA_struct_register(StructRNA *type);
StructUnregisterFunc RNA_struct_unregister(StructRNA *type);
+void **RNA_struct_instance(PointerRNA *ptr);
void *RNA_struct_py_type_get(StructRNA *srna);
void RNA_struct_py_type_set(StructRNA *srna, void *py_type);
@@ -649,6 +651,7 @@ 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);
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop);
int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop);
@@ -714,6 +717,7 @@ int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
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);
@@ -724,6 +728,7 @@ int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int i
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);
@@ -742,6 +747,7 @@ 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);
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop);
void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value);
@@ -903,7 +909,7 @@ int RNA_property_is_idprop(PropertyRNA *prop);
/* python compatible string representation of this property, (must be freed!) */
char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop);
-char *RNA_pointer_as_string(PointerRNA *ptr);
+char *RNA_pointer_as_string(struct bContext *C, PointerRNA *ptr);
/* Function */
diff --git a/source/blender/makesrna/RNA_define.h b/source/blender/makesrna/RNA_define.h
index f131f7c9ebe..ac2a89161d9 100644
--- a/source/blender/makesrna/RNA_define.h
+++ b/source/blender/makesrna/RNA_define.h
@@ -60,7 +60,7 @@ void RNA_def_struct_flag(StructRNA *srna, int flag);
void RNA_def_struct_clear_flag(StructRNA *srna, int flag);
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine);
void RNA_def_struct_idprops_func(StructRNA *srna, const char *refine);
-void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg);
+void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg, const char *instance);
void RNA_def_struct_path_func(StructRNA *srna, const char *path);
void RNA_def_struct_identifier(StructRNA *srna, const char *identifier);
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description);
@@ -90,6 +90,7 @@ PropertyRNA *RNA_def_string_file_name(StructOrFunctionRNA *cont, const char *ide
PropertyRNA *RNA_def_enum(StructOrFunctionRNA *cont, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description);
PropertyRNA *RNA_def_enum_flag(StructOrFunctionRNA *cont, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description);
void RNA_def_enum_funcs(PropertyRNA *prop, EnumPropertyItemFunc itemfunc);
+void RNA_def_enum_py_data(PropertyRNA *prop, void *py_data);
PropertyRNA *RNA_def_float(StructOrFunctionRNA *cont, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax);
PropertyRNA *RNA_def_float_vector(StructOrFunctionRNA *cont, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax);
@@ -162,6 +163,8 @@ void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *update
void RNA_def_property_editable_func(PropertyRNA *prop, const char *editable);
void RNA_def_property_editable_array_func(PropertyRNA *prop, const char *editable);
+void RNA_def_property_update_runtime(PropertyRNA *prop, void *func);
+
void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength);
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set);
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range);
@@ -171,6 +174,7 @@ void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const cha
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *typef, const char *poll);
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring);
void RNA_def_property_srna(PropertyRNA *prop, const char *type);
+void RNA_def_py_data(PropertyRNA *prop, void *py_data);
/* Function */
diff --git a/source/blender/makesrna/RNA_enum_types.h b/source/blender/makesrna/RNA_enum_types.h
index 0bda47b4c7c..fc415dc8082 100644
--- a/source/blender/makesrna/RNA_enum_types.h
+++ b/source/blender/makesrna/RNA_enum_types.h
@@ -112,19 +112,20 @@ extern EnumPropertyItem ramp_blend_items[];
struct bContext;
struct PointerRNA;
-EnumPropertyItem *rna_TransformOrientation_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *rna_Sensor_type_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *rna_Actuator_type_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
+struct PropertyRNA;
+EnumPropertyItem *rna_TransformOrientation_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *rna_Sensor_type_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *rna_Actuator_type_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
/* Generic functions, return an enum from library data, index is the position
* in the linked list can add more for different types as needed */
-EnumPropertyItem *RNA_action_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *RNA_action_local_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *RNA_group_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *RNA_group_local_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *RNA_image_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *RNA_image_local_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *RNA_scene_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
-EnumPropertyItem *RNA_scene_local_itemf(struct bContext *C, struct PointerRNA *ptr, int *free);
+EnumPropertyItem *RNA_action_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *RNA_action_local_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *RNA_group_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *RNA_group_local_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *RNA_image_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *RNA_image_local_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *RNA_scene_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
+EnumPropertyItem *RNA_scene_local_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
#endif /* RNA_ENUM_TYPES_H */
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h
index 3a15146770f..ec213d6a496 100644
--- a/source/blender/makesrna/RNA_types.h
+++ b/source/blender/makesrna/RNA_types.h
@@ -39,10 +39,12 @@ extern "C" {
struct ParameterList;
struct FunctionRNA;
struct PropertyRNA;
+struct EnumPropertyRNA;
struct StructRNA;
struct BlenderRNA;
struct IDProperty;
struct bContext;
+struct Main;
struct ReportList;
/** Pointer
@@ -157,6 +159,8 @@ typedef enum PropertyFlag {
/* hidden in the user interface */
PROP_HIDDEN = 1<<19,
+ /* do not write in presets */
+ PROP_SKIP_SAVE = 1<<28,
/* function paramater flags */
PROP_REQUIRED = 1<<2,
@@ -188,6 +192,7 @@ typedef enum PropertyFlag {
/* need context for update function */
PROP_CONTEXT_UPDATE = 1<<22,
+ PROP_CONTEXT_PROPERTY_UPDATE = (1<<22)|(1<<27),
/* Use for arrays or for any data that should not have a referene kept
* most common case is functions that return arrays where the array */
@@ -254,7 +259,8 @@ typedef struct EnumPropertyItem {
const char *description;
} EnumPropertyItem;
-typedef EnumPropertyItem *(*EnumPropertyItemFunc)(struct bContext *C, PointerRNA *ptr, int *free);
+/* this is a copy of 'PropEnumItemFunc' defined in rna_internal_types.h */
+typedef EnumPropertyItem *(*EnumPropertyItemFunc)(struct bContext *C, PointerRNA *ptr, struct PropertyRNA *prop, int *free);
typedef struct PropertyRNA PropertyRNA;
@@ -329,9 +335,10 @@ typedef enum StructFlag {
typedef int (*StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function);
typedef int (*StructCallbackFunc)(struct bContext *C, struct PointerRNA *ptr, struct FunctionRNA *func, ParameterList *list);
typedef void (*StructFreeFunc)(void *data);
-typedef struct StructRNA *(*StructRegisterFunc)(struct bContext *C, struct ReportList *reports, void *data,
+typedef struct StructRNA *(*StructRegisterFunc)(struct Main *bmain, struct ReportList *reports, void *data,
const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free);
-typedef void (*StructUnregisterFunc)(const struct bContext *C, struct StructRNA *type);
+typedef void (*StructUnregisterFunc)(struct Main *bmain, struct StructRNA *type);
+typedef void **(*StructInstanceFunc)(PointerRNA *ptr);
typedef struct StructRNA StructRNA;
diff --git a/source/blender/makesrna/SConscript b/source/blender/makesrna/SConscript
index 86ba81aae58..b706db5e64c 100644
--- a/source/blender/makesrna/SConscript
+++ b/source/blender/makesrna/SConscript
@@ -42,10 +42,6 @@ if env['WITH_BF_QUICKTIME']:
defs.append('WITH_QUICKTIME')
incs += ' ../quicktime'
-if env['WITH_BF_LCMS']:
- defs.append('WITH_LCMS')
- incs += ' ' + env['BF_LCMS_INC']
-
if env['WITH_BF_GAMEENGINE']:
defs.append('WITH_GAMEENGINE')
diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt
index 8e72a70bab9..1968d0306f4 100644
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@ -132,8 +132,14 @@ set(SRC
)
set(INC
+
+)
+
+set(INC_SYS
+
)
+
if(WITH_PYTHON)
add_definitions(-DWITH_PYTHON)
endif()
@@ -166,21 +172,28 @@ if(WITH_IMAGE_HDR)
add_definitions(-DWITH_HDR)
endif()
+if(WITH_IMAGE_FRAMESERVER)
+ add_definitions(-DWITH_FRAMESERVER)
+endif()
+
+if(WITH_AUDASPACE)
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../../quicktime)
+ list(APPEND INC
+ ../../quicktime
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC ${FFMPEG_INC})
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
-if(WITH_LCMS)
- list(APPEND INC ${LCMS_INCLUDE_DIR})
- add_definitions(-DWITH_LCMS)
-endif()
-
if(NOT WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM)
endif()
@@ -223,7 +236,10 @@ blender_include_dirs(
../../../../intern/audaspace/intern
../../../../intern/guardedalloc
../../../../intern/memutil
- ${GLEW_INCLUDE_PATH}
+)
+
+blender_include_dirs_sys(
+ ${GLEW_INCLUDE_PATH}
)
add_executable(makesrna ${SRC} ${SRC_RNA_INC} ${SRC_DNA_INC})
@@ -248,4 +264,4 @@ set(SRC
rna_nodetree_types.h
)
-blender_add_lib(bf_rna "${SRC}" "${INC}")
+blender_add_lib(bf_rna "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/makesrna/intern/SConscript b/source/blender/makesrna/intern/SConscript
index c48b479da16..5e43ed9b2fb 100644
--- a/source/blender/makesrna/intern/SConscript
+++ b/source/blender/makesrna/intern/SConscript
@@ -54,6 +54,8 @@ if env['WITH_BF_CINEON']:
if env['WITH_BF_HDR']:
defs.append('WITH_HDR')
+defs.append('WITH_FRAMESERVER') # TODO, make optional
+
if env['WITH_BF_FFMPEG']:
defs.append('WITH_FFMPEG')
incs += ' ' + env['BF_FFMPEG_INC']
@@ -65,9 +67,6 @@ if env['WITH_BF_QUICKTIME']:
defs.append('WITH_QUICKTIME')
incs += ' ../../quicktime'
-if env['WITH_BF_LCMS']:
- defs.append('WITH_LCMS')
-
if env['WITH_BF_GAMEENGINE']:
defs.append('WITH_GAMEENGINE')
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index abb30ffc53e..b28020cc593 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -193,7 +193,17 @@ static int replace_if_different(char *tmpfile, const char *dep_files[])
#undef REN_IF_DIFF
}
+/* Helper to solve keyword problems with C/C++ */
+static const char *rna_safe_id(const char *id)
+{
+ if(strcmp(id, "default") == 0)
+ return "default_value";
+ else if(strcmp(id, "operator") == 0)
+ return "operator_value";
+
+ return id;
+}
/* Sorting */
@@ -501,7 +511,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
}
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "get");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get");
switch(prop->type) {
case PROP_STRING: {
@@ -569,7 +579,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
rna_print_data_get(f, dp);
if(prop->flag & PROP_DYNAMIC) {
- char *lenfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "get_length");
+ char *lenfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get_length");
fprintf(f, " int i, arraylen[RNA_MAX_ARRAY_DIMENSION];\n");
fprintf(f, " int len= %s(ptr, arraylen);\n\n", lenfunc);
fprintf(f, " for(i=0; i<len; i++) {\n");
@@ -634,6 +644,25 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
return func;
}
+/* defined min/max variables to be used by rna_clamp_value() */
+static void rna_clamp_value_range(FILE *f, PropertyRNA *prop)
+{
+ if(prop->type == PROP_FLOAT) {
+ FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
+ if(fprop->range) {
+ fprintf(f, " float prop_clamp_min, prop_clamp_max;\n");
+ fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max);\n", rna_function_string(fprop->range));
+ }
+ }
+ else if(prop->type == PROP_INT) {
+ IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
+ if(iprop->range) {
+ fprintf(f, " int prop_clamp_min, prop_clamp_max;\n");
+ fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max);\n", rna_function_string(iprop->range));
+ }
+ }
+}
+
static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
{
if(prop->type == PROP_INT) {
@@ -642,8 +671,13 @@ static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
if(iprop->hardmin != INT_MIN || iprop->hardmax != INT_MAX) {
if(array) fprintf(f, "CLAMPIS(values[i], ");
else fprintf(f, "CLAMPIS(value, ");
- rna_int_print(f, iprop->hardmin); fprintf(f, ", ");
- rna_int_print(f, iprop->hardmax); fprintf(f, ");\n");
+ if(iprop->range) {
+ fprintf(f, "prop_clamp_min, prop_clamp_max);");
+ }
+ else {
+ rna_int_print(f, iprop->hardmin); fprintf(f, ", ");
+ rna_int_print(f, iprop->hardmax); fprintf(f, ");\n");
+ }
return;
}
}
@@ -653,8 +687,13 @@ static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
if(fprop->hardmin != -FLT_MAX || fprop->hardmax != FLT_MAX) {
if(array) fprintf(f, "CLAMPIS(values[i], ");
else fprintf(f, "CLAMPIS(value, ");
- rna_float_print(f, fprop->hardmin); fprintf(f, ", ");
- rna_float_print(f, fprop->hardmax); fprintf(f, ");\n");
+ if(fprop->range) {
+ fprintf(f, "prop_clamp_min, prop_clamp_max);");
+ }
+ else {
+ rna_float_print(f, fprop->hardmin); fprintf(f, ", ");
+ rna_float_print(f, fprop->hardmax); fprintf(f, ");\n");
+ }
return;
}
}
@@ -684,7 +723,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
}
}
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "set");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "set");
switch(prop->type) {
case PROP_STRING: {
@@ -754,14 +793,16 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
rna_print_data_get(f, dp);
if(prop->flag & PROP_DYNAMIC) {
- char *lenfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "set_length");
+ char *lenfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "set_length");
fprintf(f, " int i, arraylen[RNA_MAX_ARRAY_DIMENSION];\n");
fprintf(f, " int len= %s(ptr, arraylen);\n\n", lenfunc);
+ rna_clamp_value_range(f, prop);
fprintf(f, " for(i=0; i<len; i++) {\n");
MEM_freeN(lenfunc);
}
else {
fprintf(f, " int i;\n\n");
+ rna_clamp_value_range(f, prop);
fprintf(f, " for(i=0; i<%d; i++) {\n", prop->totarraylength);
}
@@ -823,6 +864,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
fprintf(f, " data->%s |= value;\n", dp->dnaname);
}
else {
+ rna_clamp_value_range(f, prop);
fprintf(f, " data->%s= %s", dp->dnaname, (dp->booleannegative)? "!": "");
rna_clamp_value(f, prop, 0);
}
@@ -851,7 +893,7 @@ static char *rna_def_property_length_func(FILE *f, StructRNA *srna, PropertyRNA
}
}
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "length");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length");
fprintf(f, "int %s(PointerRNA *ptr)\n", func);
fprintf(f, "{\n");
@@ -873,7 +915,7 @@ static char *rna_def_property_length_func(FILE *f, StructRNA *srna, PropertyRNA
}
}
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "length");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length");
fprintf(f, "int %s(PointerRNA *ptr)\n", func);
fprintf(f, "{\n");
@@ -908,7 +950,7 @@ static char *rna_def_property_begin_func(FILE *f, StructRNA *srna, PropertyRNA *
}
}
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "begin");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "begin");
fprintf(f, "void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func);
fprintf(f, "{\n");
@@ -940,7 +982,7 @@ static char *rna_def_property_begin_func(FILE *f, StructRNA *srna, PropertyRNA *
fprintf(f, "\n rna_iterator_listbase_begin(iter, data->%s, NULL);\n", dp->dnaname);
}
- getfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "get");
+ getfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get");
fprintf(f, "\n if(iter->valid)\n");
fprintf(f, " iter->ptr= %s(iter);\n", getfunc);
@@ -970,7 +1012,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property
else return NULL;
}
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "lookup_int");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "lookup_int");
fprintf(f, "int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func);
fprintf(f, "{\n");
@@ -984,7 +1026,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property
fprintf(f, " int found= 0;\n");
fprintf(f, " CollectionPropertyIterator iter;\n\n");
- fprintf(f, " %s_%s_begin(&iter, ptr);\n\n", srna->identifier, prop->identifier);
+ fprintf(f, " %s_%s_begin(&iter, ptr);\n\n", srna->identifier, rna_safe_id(prop->identifier));
fprintf(f, " if(iter.valid){\n");
if(strcmp(nextfunc, "rna_iterator_array_next") == 0) {
@@ -1022,9 +1064,9 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property
fprintf(f, " }\n");
}
- fprintf(f, " if(found) *r_ptr = %s_%s_get(&iter);\n", srna->identifier, prop->identifier);
+ fprintf(f, " if(found) *r_ptr = %s_%s_get(&iter);\n", srna->identifier, rna_safe_id(prop->identifier));
fprintf(f, " }\n\n");
- fprintf(f, " %s_%s_end(&iter);\n\n", srna->identifier, prop->identifier);
+ fprintf(f, " %s_%s_end(&iter);\n\n", srna->identifier, rna_safe_id(prop->identifier));
fprintf(f, " return found;\n");
@@ -1061,13 +1103,13 @@ static char *rna_def_property_next_func(FILE *f, StructRNA *srna, PropertyRNA *p
if(!manualfunc)
return NULL;
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "next");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "next");
fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func);
fprintf(f, "{\n");
fprintf(f, " %s(iter);\n", manualfunc);
- getfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "get");
+ getfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get");
fprintf(f, "\n if(iter->valid)\n");
fprintf(f, " iter->ptr= %s(iter);\n", getfunc);
@@ -1084,7 +1126,7 @@ static char *rna_def_property_end_func(FILE *f, StructRNA *srna, PropertyRNA *pr
if(prop->flag & PROP_IDPROPERTY && manualfunc==NULL)
return NULL;
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "end");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "end");
fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func);
fprintf(f, "{\n");
@@ -1272,7 +1314,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
if(prop->flag & (PROP_IDPROPERTY|PROP_BUILTIN))
return;
- func= rna_alloc_function_name(srna->identifier, prop->identifier, "");
+ func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "");
switch(prop->type) {
case PROP_BOOLEAN:
@@ -1281,10 +1323,14 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
fprintf(f, "int %sget(PointerRNA *ptr);\n", func);
//fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func);
}
- else {
+ else if(prop->arraydimension && prop->totarraylength) {
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, "void %sget(PointerRNA *ptr, int values[]);\n", func);
+ //fprintf(f, "void %sset(PointerRNA *ptr, const int values[]);\n", func);
+ }
break;
}
case PROP_FLOAT: {
@@ -1292,10 +1338,14 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
fprintf(f, "float %sget(PointerRNA *ptr);\n", func);
//fprintf(f, "void %sset(PointerRNA *ptr, float value);\n", func);
}
- else {
+ else if(prop->arraydimension && prop->totarraylength) {
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, "void %sget(PointerRNA *ptr, float values[]);\n", func);
+ //fprintf(f, "void %sset(PointerRNA *ptr, const float values[]);\n", func);
+ }
break;
}
case PROP_ENUM: {
@@ -1368,23 +1418,23 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property
switch(prop->type) {
case PROP_BOOLEAN: {
if(!prop->arraydimension)
- fprintf(f, "\tbool %s(void);", prop->identifier);
+ fprintf(f, "\tinline bool %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tArray<int, %d> %s(void);", prop->totarraylength, prop->identifier);
+ fprintf(f, "\tinline Array<int, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_INT: {
if(!prop->arraydimension)
- fprintf(f, "\tint %s(void);", prop->identifier);
+ fprintf(f, "\tinline int %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tArray<int, %d> %s(void);", prop->totarraylength, prop->identifier);
+ fprintf(f, "\tinline Array<int, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_FLOAT: {
if(!prop->arraydimension)
- fprintf(f, "\tfloat %s(void);", prop->identifier);
+ fprintf(f, "\tinline float %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tArray<float, %d> %s(void);", prop->totarraylength, prop->identifier);
+ fprintf(f, "\tinline Array<float, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_ENUM: {
@@ -1392,38 +1442,38 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property
int i;
if(eprop->item) {
- fprintf(f, "\tenum %s_enum {\n", prop->identifier);
+ fprintf(f, "\tenum %s_enum {\n", rna_safe_id(prop->identifier));
for(i=0; i<eprop->totitem; i++)
if(eprop->item[i].identifier[0])
- fprintf(f, "\t\t%s_%s = %d,\n", prop->identifier, eprop->item[i].identifier, eprop->item[i].value);
+ fprintf(f, "\t\t%s_%s = %d,\n", rna_safe_id(prop->identifier), eprop->item[i].identifier, eprop->item[i].value);
fprintf(f, "\t};\n");
}
- fprintf(f, "\t%s_enum %s(void);", prop->identifier, prop->identifier);
+ fprintf(f, "\tinline %s_enum %s(void);", rna_safe_id(prop->identifier), rna_safe_id(prop->identifier));
break;
}
case PROP_STRING: {
- fprintf(f, "\tstd::string %s(void);", prop->identifier);
+ fprintf(f, "\tinline std::string %s(void);", rna_safe_id(prop->identifier));
break;
}
case PROP_POINTER: {
PointerPropertyRNA *pprop= (PointerPropertyRNA*)dp->prop;
if(pprop->type)
- fprintf(f, "\t%s %s(void);", (char*)pprop->type, prop->identifier);
+ fprintf(f, "\tinline %s %s(void);", (char*)pprop->type, rna_safe_id(prop->identifier));
else
- fprintf(f, "\t%s %s(void);", "UnknownType", prop->identifier);
+ fprintf(f, "\tinline %s %s(void);", "UnknownType", rna_safe_id(prop->identifier));
break;
}
case PROP_COLLECTION: {
CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)dp->prop;
if(cprop->item_type)
- fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", (char*)cprop->item_type, srna->identifier, prop->identifier);
+ fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", (char*)cprop->item_type, srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, prop->identifier);
+ fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, rna_safe_id(prop->identifier));
break;
}
}
@@ -1443,41 +1493,41 @@ static void rna_def_property_funcs_impl_cpp(FILE *f, StructRNA *srna, PropertyDe
switch(prop->type) {
case PROP_BOOLEAN: {
if(!prop->arraydimension)
- fprintf(f, "\tBOOLEAN_PROPERTY(%s, %s)", srna->identifier, prop->identifier);
+ fprintf(f, "\tBOOLEAN_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tBOOLEAN_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, prop->identifier);
+ fprintf(f, "\tBOOLEAN_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_INT: {
if(!prop->arraydimension)
- fprintf(f, "\tINT_PROPERTY(%s, %s)", srna->identifier, prop->identifier);
+ fprintf(f, "\tINT_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, prop->identifier);
+ fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_FLOAT: {
if(!prop->arraydimension)
- fprintf(f, "\tFLOAT_PROPERTY(%s, %s)", srna->identifier, prop->identifier);
+ fprintf(f, "\tFLOAT_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, prop->identifier);
+ fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_ENUM: {
- fprintf(f, "\tENUM_PROPERTY(%s_enum, %s, %s)", prop->identifier, srna->identifier, prop->identifier);
+ fprintf(f, "\tENUM_PROPERTY(%s_enum, %s, %s)", rna_safe_id(prop->identifier), srna->identifier, rna_safe_id(prop->identifier));
break;
}
case PROP_STRING: {
- fprintf(f, "\tSTRING_PROPERTY(%s, %s)", srna->identifier, prop->identifier);
+ fprintf(f, "\tSTRING_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier));
break;
}
case PROP_POINTER: {
PointerPropertyRNA *pprop= (PointerPropertyRNA*)dp->prop;
if(pprop->type)
- fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", (char*)pprop->type, srna->identifier, prop->identifier);
+ fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", (char*)pprop->type, srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, prop->identifier);
+ fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, rna_safe_id(prop->identifier));
break;
}
case PROP_COLLECTION: {
@@ -2205,7 +2255,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
}
case PROP_ENUM: {
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
- fprintf(f, "\t%s, %s, %s, ", rna_function_string(eprop->get), rna_function_string(eprop->set), rna_function_string(eprop->itemf));
+ fprintf(f, "\t%s, %s, %s, NULL, ", rna_function_string(eprop->get), rna_function_string(eprop->set), rna_function_string(eprop->itemf));
if(eprop->item)
fprintf(f, "rna_%s%s_%s_items, ", srna->identifier, strnest, prop->identifier);
else
@@ -2337,6 +2387,7 @@ static void rna_generate_struct(BlenderRNA *brna, StructRNA *srna, FILE *f)
fprintf(f, "\t%s,\n", rna_function_string(srna->path));
fprintf(f, "\t%s,\n", rna_function_string(srna->reg));
fprintf(f, "\t%s,\n", rna_function_string(srna->unreg));
+ fprintf(f, "\t%s,\n", rna_function_string(srna->instance));
fprintf(f, "\t%s,\n", rna_function_string(srna->idproperties));
if(srna->reg && !srna->refine) {
@@ -2547,40 +2598,40 @@ static const char *cpp_classes = ""
"\n"
"#include <string>\n"
"\n"
-"namespace RNA {\n"
+"namespace BL {\n"
"\n"
"#define BOOLEAN_PROPERTY(sname, identifier) \\\n"
-" bool sname::identifier(void) { return (bool)sname##_##identifier##_get(&ptr); }\n"
+" inline bool sname::identifier(void) { return sname##_##identifier##_get(&ptr)? true: false; }\n"
"\n"
"#define BOOLEAN_ARRAY_PROPERTY(sname, size, identifier) \\\n"
-" Array<int,size> sname::identifier(void) \\\n"
+" inline Array<int,size> sname::identifier(void) \\\n"
" { Array<int, size> ar; sname##_##identifier##_get(&ptr, ar.data); return ar; }\n"
"\n"
"#define INT_PROPERTY(sname, identifier) \\\n"
-" int sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n"
+" inline int sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n"
"\n"
"#define INT_ARRAY_PROPERTY(sname, size, identifier) \\\n"
-" Array<int,size> sname::identifier(void) \\\n"
+" inline Array<int,size> sname::identifier(void) \\\n"
" { Array<int, size> ar; sname##_##identifier##_get(&ptr, ar.data); return ar; }\n"
"\n"
"#define FLOAT_PROPERTY(sname, identifier) \\\n"
-" float sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n"
+" inline float sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n"
"\n"
"#define FLOAT_ARRAY_PROPERTY(sname, size, identifier) \\\n"
-" Array<float,size> sname::identifier(void) \\\n"
+" inline Array<float,size> sname::identifier(void) \\\n"
" { Array<float, size> ar; sname##_##identifier##_get(&ptr, ar.data); return ar; }\n"
"\n"
"#define ENUM_PROPERTY(type, sname, identifier) \\\n"
-" sname::type sname::identifier(void) { return (type)sname##_##identifier##_get(&ptr); }\n"
+" inline sname::type sname::identifier(void) { return (type)sname##_##identifier##_get(&ptr); }\n"
"\n"
"#define STRING_PROPERTY(sname, identifier) \\\n"
-" std::string sname::identifier(void) { \\\n"
+" inline std::string sname::identifier(void) { \\\n"
" int len= sname##_##identifier##_length(&ptr); \\\n"
" std::string str; str.resize(len); \\\n"
" sname##_##identifier##_get(&ptr, &str[0]); return str; } \\\n"
"\n"
"#define POINTER_PROPERTY(type, sname, identifier) \\\n"
-" type sname::identifier(void) { return type(sname##_##identifier##_get(&ptr)); }\n"
+" inline type sname::identifier(void) { return type(sname##_##identifier##_get(&ptr)); }\n"
"\n"
"#define COLLECTION_PROPERTY(type, sname, identifier) \\\n"
" typedef CollectionIterator<type, sname##_##identifier##_begin, \\\n"
@@ -2592,7 +2643,7 @@ static const char *cpp_classes = ""
"public:\n"
" Pointer(const PointerRNA& p) : ptr(p) { }\n"
" operator const PointerRNA&() { return ptr; }\n"
-" bool is_a(StructRNA *type) { return RNA_struct_is_a(&ptr, type); }\n"
+" bool is_a(StructRNA *type) { return RNA_struct_is_a(ptr.type, type)? true: false; }\n"
" operator void*() { return ptr.data; }\n"
" operator bool() { return ptr.data != NULL; }\n"
"\n"
@@ -2616,12 +2667,13 @@ static const char *cpp_classes = ""
"public:\n"
" CollectionIterator() : t(iter.ptr), init(false) { iter.valid= false; }\n"
" ~CollectionIterator(void) { if(init) Tend(&iter); };\n"
-" const CollectionIterator<T, Tbegin, Tnext, Tend>& operator=(const CollectionIterator<T, Tbegin, Tnext, Tend>& copy)\n"
-" { if(init) Tend(&iter); iter= copy.iter; if(iter.internal) iter.internal= MEM_dupallocN(iter.internal); t= copy.t; init= copy.init; return *this; }\n"
"\n"
" operator bool(void)\n"
" { return iter.valid != 0; }\n"
" const CollectionIterator<T, Tbegin, Tnext, Tend>& operator++() { Tnext(&iter); t = T(iter.ptr); return *this; }\n"
+" const CollectionIterator<T, Tbegin, Tnext, Tend>& operator=(const CollectionIterator<T, Tbegin, Tnext, Tend>& copy)\n"
+" { if(init) Tend(&iter); iter= copy.iter; if(iter.internal) iter.internal= MEM_dupallocN(iter.internal); t= copy.t; init= copy.init; return *this; }\n"
+"\n"
" T& operator*(void) { return t; }\n"
" T* operator->(void) { return &t; }\n"
" bool operator==(const CollectionIterator<T, Tbegin, Tnext, Tend>& other) { return iter.valid == other.iter.valid; }\n"
@@ -2662,7 +2714,7 @@ static void rna_generate_header_cpp(BlenderRNA *brna, FILE *f)
fprintf(f, "/* Automatically generated classes for the Data API.\n"
" Do not edit manually, changes will be overwritten. */\n\n");
-
+
fprintf(f, "#include \"RNA_blender.h\"\n");
fprintf(f, "#include \"RNA_types.h\"\n");
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index bde7c99c7df..3ce84e3a19f 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -205,17 +205,17 @@ void rna_ID_fake_user_set(PointerRNA *ptr, int value)
}
}
-IDProperty *rna_PropertyGroup_idprops(PointerRNA *ptr, int create)
+IDProperty *rna_PropertyGroup_idprops(PointerRNA *ptr, int UNUSED(create))
{
return ptr->data;
}
-void rna_PropertyGroup_unregister(const bContext *C, StructRNA *type)
+void rna_PropertyGroup_unregister(Main *UNUSED(bmain), StructRNA *type)
{
RNA_struct_free(&BLENDER_RNA, type);
}
-StructRNA *rna_PropertyGroup_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+StructRNA *rna_PropertyGroup_register(Main *UNUSED(bmain), ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc UNUSED(call), StructFreeFunc UNUSED(free))
{
PointerRNA dummyptr;
@@ -384,7 +384,7 @@ static void rna_def_ID_properties(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "IDPropertyGroup");
RNA_def_struct_ui_text(srna, "ID Property Group", "Group of ID properties");
RNA_def_struct_idprops_func(srna, "rna_PropertyGroup_idprops");
- RNA_def_struct_register_funcs(srna, "rna_PropertyGroup_register", "rna_PropertyGroup_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_PropertyGroup_register", "rna_PropertyGroup_unregister", NULL);
RNA_def_struct_refine_func(srna, "rna_PropertyGroup_refine");
/* important so python types can have their name used in list views
@@ -410,15 +410,15 @@ static void rna_def_ID_materials(BlenderRNA *brna)
RNA_def_struct_ui_text(srna, "ID Materials", "Collection of materials");
func= RNA_def_function(srna, "append", "material_append_id");
- RNA_def_function_ui_description(func, "Add a new material to Mesh.");
+ RNA_def_function_ui_description(func, "Add a new material to the data block.");
parm= RNA_def_pointer(func, "material", "Material", "", "Material to add.");
RNA_def_property_flag(parm, PROP_REQUIRED);
func= RNA_def_function(srna, "pop", "material_pop_id");
- RNA_def_function_ui_description(func, "Add a new material to Mesh.");
- parm= RNA_def_int(func, "index", 0, 0, INT_MAX, "", "Frame number to set.", 0, INT_MAX);
+ RNA_def_function_ui_description(func, "Remove a material from the data block.");
+ parm= RNA_def_int(func, "index", 0, 0, INT_MAX, "", "Index of material to remove.", 0, INT_MAX);
RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_pointer(func, "material", "Material", "", "Material to add.");
+ parm= RNA_def_pointer(func, "material", "Material", "", "Material to remove.");
RNA_def_function_return(func, parm);
}
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index 03622ec756f..e71be8c153e 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -288,7 +288,7 @@ static int rna_ensure_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
}
}
-static int rna_ensure_property_array_check(PointerRNA *ptr, PropertyRNA *prop)
+static int rna_ensure_property_array_check(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
{
if(prop->magic == RNA_MAGIC) {
return (prop->getlength || prop->totarraylength) ? 1:0;
@@ -681,6 +681,18 @@ StructUnregisterFunc RNA_struct_unregister(StructRNA *type)
return NULL;
}
+void **RNA_struct_instance(PointerRNA *ptr)
+{
+ StructRNA *type= ptr->type;
+
+ do {
+ if(type->instance)
+ return type->instance(ptr);
+ } while((type=type->base));
+
+ return NULL;
+}
+
void *RNA_struct_py_type_get(StructRNA *srna)
{
return srna->py_type;
@@ -743,6 +755,11 @@ int RNA_property_flag(PropertyRNA *prop)
return rna_ensure_property(prop)->flag;
}
+void *RNA_property_py_data_get(PropertyRNA *prop)
+{
+ return prop->py_data;
+}
+
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
{
return rna_ensure_property_array_length(ptr, prop);
@@ -1084,9 +1101,9 @@ void RNA_property_enum_items(bContext *C, PointerRNA *ptr, PropertyRNA *prop, En
int tot= 0;
if (prop->flag & PROP_ENUM_NO_CONTEXT)
- *item= eprop->itemf(NULL, ptr, free);
+ *item= eprop->itemf(NULL, ptr, prop, free);
else
- *item= eprop->itemf(C, ptr, free);
+ *item= eprop->itemf(C, ptr, prop, free);
if(totitem) {
if(*item) {
@@ -1107,21 +1124,26 @@ int RNA_property_enum_value(bContext *C, PointerRNA *ptr, PropertyRNA *prop, con
{
EnumPropertyItem *item, *item_array;
int free, found;
-
+
RNA_property_enum_items(C, ptr, prop, &item_array, NULL, &free);
-
- for(item= item_array; item->identifier; item++) {
- if(item->identifier[0] && strcmp(item->identifier, identifier)==0) {
- *value = item->value;
- break;
+
+ if(item_array) {
+ for(item= item_array; item->identifier; item++) {
+ if(item->identifier[0] && strcmp(item->identifier, identifier)==0) {
+ *value = item->value;
+ break;
+ }
}
- }
-
- found= (item->identifier != NULL); /* could be alloc'd, assign before free */
- if(free)
- MEM_freeN(item_array);
+ found= (item->identifier != NULL); /* could be alloc'd, assign before free */
+ if(free) {
+ MEM_freeN(item_array);
+ }
+ }
+ else {
+ found= 0;
+ }
return found;
}
@@ -1287,7 +1309,7 @@ int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop)
return (prop->flag & PROP_EDITABLE);
}
-int RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_animated(PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop))
{
/* would need to ask animation system */
@@ -1327,7 +1349,14 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR
/* ideally no context would be needed for update, but there's some
parts of the code that need it still, so we have this exception */
if(prop->flag & PROP_CONTEXT_UPDATE) {
- if(C) ((ContextUpdateFunc)prop->update)(C, ptr);
+ if(C) {
+ if(prop->flag & PROP_CONTEXT_PROPERTY_UPDATE) {
+ ((ContextPropUpdateFunc)prop->update)(C, ptr, prop);
+ }
+ else {
+ ((ContextUpdateFunc)prop->update)(C, ptr);
+ }
+ }
}
else
prop->update(bmain, scene, ptr);
@@ -1335,13 +1364,13 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR
if(prop->noteflag)
WM_main_add_notifier(prop->noteflag, ptr->id.data);
}
- else {
+
+ if(!is_rna || (prop->flag & PROP_IDPROPERTY)) {
/* WARNING! This is so property drivers update the display!
* not especially nice */
DAG_id_tag_update(ptr->id.data, OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME);
WM_main_add_notifier(NC_WINDOW, NULL);
}
-
}
/* must keep in sync with 'rna_property_update'
@@ -1507,7 +1536,7 @@ void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int inde
}
}
-int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_boolean_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
{
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
@@ -1516,7 +1545,7 @@ int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop)
return bprop->defaultvalue;
}
-void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
+void RNA_property_boolean_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *prop, int *values)
{
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
@@ -1574,6 +1603,8 @@ void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ /* useful to check on bad values but set function should clamp */
+ /* BLI_assert(RNA_property_int_clamp(ptr, prop, &value) == 0); */
if((idprop=rna_idproperty_check(&prop, ptr)))
IDP_Int(idprop)= value;
@@ -1614,6 +1645,43 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
memset(values, 0, sizeof(int)*prop->totarraylength);
}
+void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2])
+{
+ const int array_len= RNA_property_array_length(ptr, prop);
+
+ if(array_len <= 0) {
+ values[0]= 0;
+ values[1]= 0;
+ }
+ else if (array_len == 1) {
+ RNA_property_int_get_array(ptr, prop, values);
+ values[1]= values[0];
+ }
+ else {
+ int arr_stack[32];
+ int *arr;
+ int i;
+
+ if(array_len > 32) {
+ arr= MEM_mallocN(sizeof(int) * array_len, "RNA_property_int_get_array_range");
+ }
+ else {
+ arr= arr_stack;
+ }
+
+ RNA_property_int_get_array(ptr, prop, arr);
+ values[0]= values[1]= arr[0];
+ for(i= 1; i < array_len; i++) {
+ values[0]= MIN2(values[0], arr[i]);
+ values[1]= MAX2(values[1], arr[i]);
+ }
+
+ if(arr != arr_stack) {
+ MEM_freeN(arr);
+ }
+ }
+}
+
int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
{
int tmp[RNA_MAX_ARRAY_LENGTH];
@@ -1693,13 +1761,13 @@ void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, i
}
}
-int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_int_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
{
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
return iprop->defaultvalue;
}
-void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
+void RNA_property_int_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *prop, int *values)
{
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
@@ -1759,6 +1827,8 @@ void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ /* useful to check on bad values but set function should clamp */
+ /* BLI_assert(RNA_property_float_clamp(ptr, prop, &value) == 0); */
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(idprop->type == IDP_FLOAT)
@@ -1810,6 +1880,43 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val
memset(values, 0, sizeof(float)*prop->totarraylength);
}
+void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2])
+{
+ const int array_len= RNA_property_array_length(ptr, prop);
+
+ if(array_len <= 0) {
+ values[0]= 0.0f;
+ values[1]= 0.0f;
+ }
+ else if (array_len == 1) {
+ RNA_property_float_get_array(ptr, prop, values);
+ values[1]= values[0];
+ }
+ else {
+ float arr_stack[32];
+ float *arr;
+ int i;
+
+ if(array_len > 32) {
+ arr= MEM_mallocN(sizeof(float) * array_len, "RNA_property_float_get_array_range");
+ }
+ else {
+ arr= arr_stack;
+ }
+
+ RNA_property_float_get_array(ptr, prop, arr);
+ values[0]= values[1]= arr[0];
+ for(i= 1; i < array_len; i++) {
+ values[0]= MIN2(values[0], arr[i]);
+ values[1]= MAX2(values[1], arr[i]);
+ }
+
+ if(arr != arr_stack) {
+ MEM_freeN(arr);
+ }
+ }
+}
+
float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
{
float tmp[RNA_MAX_ARRAY_LENGTH];
@@ -1901,7 +2008,7 @@ void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index,
}
}
-float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop)
+float RNA_property_float_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
{
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
@@ -1910,7 +2017,7 @@ float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop)
return fprop->defaultvalue;
}
-void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values)
+void RNA_property_float_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *prop, float *values)
{
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
@@ -2017,7 +2124,7 @@ void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *val
}
}
-void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value)
+void RNA_property_string_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop, char *value)
{
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
@@ -2046,7 +2153,7 @@ char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop,
}
/* this is the length without \0 terminator */
-int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_string_default_length(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
{
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
@@ -2094,7 +2201,7 @@ void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value)
}
}
-int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_enum_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
{
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
@@ -2103,6 +2210,14 @@ int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop)
return eprop->defaultvalue;
}
+void *RNA_property_enum_py_data_get(PropertyRNA *prop)
+{
+ EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
+
+ BLI_assert(RNA_property_type(prop) == PROP_ENUM);
+
+ return eprop->py_data;
+}
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
{
@@ -2724,7 +2839,7 @@ static int rna_raw_access(ReportList *reports, PointerRNA *ptr, PropertyRNA *pro
}
/* editable check */
- if(RNA_property_editable(&itemptr, iprop)) {
+ if(!set || RNA_property_editable(&itemptr, iprop)) {
if(a+itemlen > in.len) {
BKE_reportf(reports, RPT_ERROR, "Array length mismatch (got %d, expected more).", in.len);
err= 1;
@@ -3358,7 +3473,7 @@ int RNA_path_resolve_full(PointerRNA *ptr, const char *path, PointerRNA *r_ptr,
}
-char *RNA_path_append(const char *path, PointerRNA *ptr, PropertyRNA *prop, int intkey, const char *strkey)
+char *RNA_path_append(const char *path, PointerRNA *UNUSED(ptr), PropertyRNA *prop, int intkey, const char *strkey)
{
DynStr *dynstr;
const char *s;
@@ -4036,8 +4151,9 @@ int RNA_property_is_idprop(PropertyRNA *prop)
}
/* string representation of a property, python
- * compatible but can be used for display too*/
-char *RNA_pointer_as_string(PointerRNA *ptr)
+ * compatible but can be used for display too,
+ * context may be NULL */
+char *RNA_pointer_as_string(bContext *C, PointerRNA *ptr)
{
DynStr *dynstr= BLI_dynstr_new();
char *cstring;
@@ -4057,7 +4173,7 @@ char *RNA_pointer_as_string(PointerRNA *ptr)
BLI_dynstr_append(dynstr, ", ");
first_time= 0;
- cstring = RNA_property_as_string(NULL, ptr, prop);
+ cstring = RNA_property_as_string(C, ptr, prop);
BLI_dynstr_appendf(dynstr, "\"%s\":%s", propname, cstring);
MEM_freeN(cstring);
}
@@ -4175,7 +4291,7 @@ char *RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
case PROP_POINTER:
{
PointerRNA tptr= RNA_property_pointer_get(ptr, prop);
- cstring= RNA_pointer_as_string(&tptr);
+ cstring= RNA_pointer_as_string(C, &tptr);
BLI_dynstr_append(dynstr, cstring);
MEM_freeN(cstring);
break;
@@ -4194,7 +4310,7 @@ char *RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
first_time= 0;
/* now get every prop of the collection */
- cstring= RNA_pointer_as_string(&itemptr);
+ cstring= RNA_pointer_as_string(C, &itemptr);
BLI_dynstr_append(dynstr, cstring);
MEM_freeN(cstring);
}
@@ -4235,12 +4351,12 @@ int RNA_function_defined(FunctionRNA *func)
return func->call != NULL;
}
-PropertyRNA *RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index)
+PropertyRNA *RNA_function_get_parameter(PointerRNA *UNUSED(ptr), FunctionRNA *func, int index)
{
return BLI_findlink(&func->cont.properties, index);
}
-PropertyRNA *RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier)
+PropertyRNA *RNA_function_find_parameter(PointerRNA *UNUSED(ptr), FunctionRNA *func, const char *identifier)
{
return BLI_findstring(&func->cont.properties, identifier, offsetof(PropertyRNA, identifier));
}
@@ -4252,7 +4368,7 @@ const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func)
/* Utility */
-ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func)
+ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *UNUSED(ptr), FunctionRNA *func)
{
PropertyRNA *parm;
void *data;
@@ -4291,15 +4407,15 @@ ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr,
if(!(parm->flag & PROP_REQUIRED) && !(parm->flag & PROP_DYNAMIC)) {
switch(parm->type) {
case PROP_BOOLEAN:
- if(parm->arraydimension) memcpy(data, &((BooleanPropertyRNA*)parm)->defaultarray, size);
+ if(parm->arraydimension) memcpy(data, ((BooleanPropertyRNA*)parm)->defaultarray, size);
else memcpy(data, &((BooleanPropertyRNA*)parm)->defaultvalue, size);
break;
case PROP_INT:
- if(parm->arraydimension) memcpy(data, &((IntPropertyRNA*)parm)->defaultarray, size);
+ if(parm->arraydimension) memcpy(data, ((IntPropertyRNA*)parm)->defaultarray, size);
else memcpy(data, &((IntPropertyRNA*)parm)->defaultvalue, size);
break;
case PROP_FLOAT:
- if(parm->arraydimension) memcpy(data, &((FloatPropertyRNA*)parm)->defaultarray, size);
+ if(parm->arraydimension) memcpy(data, ((FloatPropertyRNA*)parm)->defaultarray, size);
else memcpy(data, &((FloatPropertyRNA*)parm)->defaultvalue, size);
break;
case PROP_ENUM:
@@ -4390,7 +4506,7 @@ void RNA_parameter_list_next(ParameterIterator *iter)
}
}
-void RNA_parameter_list_end(ParameterIterator *iter)
+void RNA_parameter_list_end(ParameterIterator *UNUSED(iter))
{
/* nothing to do */
}
@@ -4490,12 +4606,12 @@ void RNA_parameter_length_set(ParameterList *parms, PropertyRNA *parm, int lengt
RNA_parameter_list_end(&iter);
}
-int RNA_parameter_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data)
+int RNA_parameter_length_get_data(ParameterList *UNUSED(parms), PropertyRNA *UNUSED(parm), void *data)
{
return *((int *)((char *)data));
}
-void RNA_parameter_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length)
+void RNA_parameter_length_set_data(ParameterList *UNUSED(parms), PropertyRNA *UNUSED(parm), void *data, int length)
{
*((int *)data)= length;
}
diff --git a/source/blender/makesrna/intern/rna_actuator.c b/source/blender/makesrna/intern/rna_actuator.c
index 2afba954be3..cddba59f979 100644
--- a/source/blender/makesrna/intern/rna_actuator.c
+++ b/source/blender/makesrna/intern/rna_actuator.c
@@ -411,7 +411,7 @@ static void rna_StateActuator_state_set(PointerRNA *ptr, const int *values)
}
/* Always keep in alphabetical order */
-EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, int *free)
+EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
EnumPropertyItem *item= NULL;
Object *ob= NULL;
@@ -584,7 +584,7 @@ static void rna_def_action_actuator(BlenderRNA *brna)
RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "use_continue_last_frame", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "end_reset", 1);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "end_reset", 1);
RNA_def_property_ui_text(prop, "Continue", "Restore last frame when switching on/off, otherwise play from the start each time");
RNA_def_property_update(prop, NC_LOGIC, NULL);
@@ -922,6 +922,13 @@ static void rna_def_camera_actuator(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Max", "");
RNA_def_property_update(prop, NC_LOGIC, NULL);
+ prop= RNA_def_property(srna, "damping", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "damping");
+ RNA_def_property_range(prop, 0, 10.0);
+ RNA_def_property_ui_range(prop, 0, 5.0, 1, 2);
+ RNA_def_property_ui_text(prop, "Damping", "Specify the strength of the constraint that drive the camera behind the target");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
/* x/y */
prop= RNA_def_property(srna, "axis", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "axis");
@@ -1383,7 +1390,7 @@ static void rna_def_edit_object_actuator(BlenderRNA *brna)
RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "use_replace_display_mesh", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_EDOB_REPLACE_MESH_NOGFX);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", ACT_EDOB_REPLACE_MESH_NOGFX);
RNA_def_property_ui_text(prop, "Gfx", "Replace the display mesh");
RNA_def_property_update(prop, NC_LOGIC, NULL);
@@ -1769,12 +1776,12 @@ static void rna_def_parent_actuator(BlenderRNA *brna)
/* booleans */
prop= RNA_def_property(srna, "use_compound", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_PARENT_COMPOUND);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", ACT_PARENT_COMPOUND);
RNA_def_property_ui_text(prop, "Compound", "Add this object shape to the parent shape (only if the parent shape is already compound)");
RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "use_ghost", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_PARENT_GHOST);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", ACT_PARENT_GHOST);
RNA_def_property_ui_text(prop, "Ghost", "Make this object ghost while parented");
RNA_def_property_update(prop, NC_LOGIC, NULL);
}
@@ -1816,7 +1823,7 @@ static void rna_def_shape_action_actuator(BlenderRNA *brna)
RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "use_continue_last_frame", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "end_reset", 1);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "end_reset", 1);
RNA_def_property_ui_text(prop, "Continue", "Restore last frame when switching on/off, otherwise play from the start each time");
RNA_def_property_update(prop, NC_LOGIC, NULL);
diff --git a/source/blender/makesrna/intern/rna_animation.c b/source/blender/makesrna/intern/rna_animation.c
index 106c51865fd..7f817aa5b4b 100644
--- a/source/blender/makesrna/intern/rna_animation.c
+++ b/source/blender/makesrna/intern/rna_animation.c
@@ -188,7 +188,7 @@ static StructRNA *rna_KeyingSetInfo_refine(PointerRNA *ptr)
return (ksi->ext.srna)? ksi->ext.srna: &RNA_KeyingSetInfo;
}
-static void rna_KeyingSetInfo_unregister(const bContext *C, StructRNA *type)
+static void rna_KeyingSetInfo_unregister(Main *bmain, StructRNA *type)
{
KeyingSetInfo *ksi= RNA_struct_blender_type_get(type);
@@ -200,10 +200,10 @@ static void rna_KeyingSetInfo_unregister(const bContext *C, StructRNA *type)
RNA_struct_free(&BLENDER_RNA, type);
/* unlink Blender-side data */
- ANIM_keyingset_info_unregister(C, ksi);
+ ANIM_keyingset_info_unregister(bmain, ksi);
}
-static StructRNA *rna_KeyingSetInfo_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+static StructRNA *rna_KeyingSetInfo_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
{
KeyingSetInfo dummyksi = {NULL};
KeyingSetInfo *ksi;
@@ -226,7 +226,7 @@ static StructRNA *rna_KeyingSetInfo_register(bContext *C, ReportList *reports, v
/* check if we have registered this info before, and remove it */
ksi = ANIM_keyingset_info_find_named(dummyksi.idname);
if (ksi && ksi->ext.srna)
- rna_KeyingSetInfo_unregister(C, ksi->ext.srna);
+ rna_KeyingSetInfo_unregister(bmain, ksi->ext.srna);
/* create a new KeyingSetInfo type */
ksi= MEM_callocN(sizeof(KeyingSetInfo), "python keying set info");
@@ -509,7 +509,7 @@ static void rna_def_keyingset_info(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "KeyingSetInfo");
RNA_def_struct_ui_text(srna, "Keying Set Info", "Callback function defines for builtin Keying Sets");
RNA_def_struct_refine_func(srna, "rna_KeyingSetInfo_refine");
- RNA_def_struct_register_funcs(srna, "rna_KeyingSetInfo_register", "rna_KeyingSetInfo_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_KeyingSetInfo_register", "rna_KeyingSetInfo_unregister", NULL);
/* Properties --------------------- */
diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c
index 1b07b224f87..0310ce917d4 100644
--- a/source/blender/makesrna/intern/rna_armature.c
+++ b/source/blender/makesrna/intern/rna_armature.c
@@ -52,7 +52,7 @@
#include "ED_armature.h"
#include "BKE_armature.h"
-static void rna_Armature_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Armature_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
ID *id= ptr->id.data;
@@ -126,7 +126,7 @@ void rna_Armature_edit_bone_remove(bArmature *arm, ReportList *reports, EditBone
ED_armature_edit_bone_remove(arm, ebone);
}
-static void rna_Armature_update_layers(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Armature_update_layers(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
bArmature *arm= ptr->id.data;
Object *ob;
@@ -140,7 +140,7 @@ static void rna_Armature_update_layers(Main *bmain, Scene *scene, PointerRNA *pt
WM_main_add_notifier(NC_GEOM|ND_DATA, arm);
}
-static void rna_Armature_redraw_data(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Armature_redraw_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
ID *id= ptr->id.data;
@@ -149,7 +149,20 @@ static void rna_Armature_redraw_data(Main *bmain, Scene *scene, PointerRNA *ptr)
static char *rna_Bone_path(PointerRNA *ptr)
{
- return BLI_sprintfN("bones[\"%s\"]", ((Bone*)ptr->data)->name);
+ Bone *bone = (Bone*)ptr->data;
+
+ /* special exception for trying to get the path where ID-block is Object
+ * - this will be assumed to be from a Pose Bone...
+ */
+ if (ptr->id.data) {
+ ID *id = (ID *)ptr->id.data;
+
+ if (GS(id->name) == ID_OB)
+ return BLI_sprintfN("pose.bones[\"%s\"].bone", bone->name);
+ }
+
+ /* from armature... */
+ return BLI_sprintfN("bones[\"%s\"]", bone->name);
}
static IDProperty *rna_Bone_idprops(PointerRNA *ptr, int create)
@@ -496,6 +509,7 @@ static void rna_def_bone_common(StructRNA *srna, int editbone)
prop= RNA_def_property(srna, "head_radius", PROP_FLOAT, PROP_UNSIGNED);
if(editbone) RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
+ else RNA_def_property_update(prop, 0, "rna_Armature_update_data");
RNA_def_property_float_sdna(prop, NULL, "rad_head");
//RNA_def_property_range(prop, 0, 1000); // XXX range is 0 to lim, where lim= 10000.0f*MAX2(1.0, view3d->grid);
RNA_def_property_ui_range(prop, 0.01, 100, 0.1, 3);
@@ -503,6 +517,7 @@ static void rna_def_bone_common(StructRNA *srna, int editbone)
prop= RNA_def_property(srna, "tail_radius", PROP_FLOAT, PROP_UNSIGNED);
if(editbone) RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
+ else RNA_def_property_update(prop, 0, "rna_Armature_update_data");
RNA_def_property_float_sdna(prop, NULL, "rad_tail");
//RNA_def_property_range(prop, 0, 1000); // XXX range is 0 to lim, where lim= 10000.0f*MAX2(1.0, view3d->grid);
RNA_def_property_ui_range(prop, 0.01, 100, 0.1, 3);
diff --git a/source/blender/makesrna/intern/rna_brush.c b/source/blender/makesrna/intern/rna_brush.c
index 7bb56380ba5..da735f25345 100644
--- a/source/blender/makesrna/intern/rna_brush.c
+++ b/source/blender/makesrna/intern/rna_brush.c
@@ -28,6 +28,7 @@
#include <stdlib.h>
+#include <assert.h>
#include "RNA_define.h"
@@ -116,7 +117,7 @@ static void rna_Brush_reset_icon(Brush *br, const char *UNUSED(type))
id->icon_id = 0;
}
-static void rna_Brush_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Brush_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Brush *br= (Brush*)ptr->data;
WM_main_add_notifier(NC_BRUSH|NA_EDITED, br);
@@ -144,7 +145,7 @@ static void rna_Brush_imagepaint_tool_update(Main *bmain, Scene *scene, PointerR
rna_Brush_update(bmain, scene, ptr);
}
-static void rna_Brush_icon_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Brush_icon_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Brush *br= (Brush*)ptr->data;
@@ -166,6 +167,17 @@ static void rna_Brush_icon_update(Main *bmain, Scene *scene, PointerRNA *ptr)
static void rna_Brush_set_size(PointerRNA *ptr, int value)
{
Brush* me = (Brush*)(ptr->data);
+
+ float size= (float)brush_size(me);
+ float unprojected_radius;
+
+ // paranoia: previous checks should make sure we don't divide by zero
+ assert(size != 0);
+
+ // set unprojected radius, so it remains consistent with size
+ unprojected_radius= (float)(brush_unprojected_radius(me) * value / size);
+ brush_set_unprojected_radius(me, unprojected_radius);
+
brush_set_size(me, value);
}
@@ -214,6 +226,17 @@ static int rna_Brush_get_use_alpha_pressure(PointerRNA *ptr)
static void rna_Brush_set_unprojected_radius(PointerRNA *ptr, float value)
{
Brush* me = (Brush*)(ptr->data);
+
+ float unprojected_radius= brush_unprojected_radius(me);
+ int size;
+
+ // paranoia: previous checks should make sure we don't divide by zero
+ assert(unprojected_radius != 0.0f);
+
+ // set size, so that it is consistent with unprojected_radius
+ size= (int)((float)brush_size(me) * value / unprojected_radius);
+ brush_set_size(me, size);
+
brush_set_unprojected_radius(me, value);
}
@@ -235,7 +258,7 @@ static float rna_Brush_get_alpha(PointerRNA *ptr)
return brush_alpha(me);
}
-static EnumPropertyItem *rna_Brush_direction_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Brush_direction_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
static EnumPropertyItem prop_default_items[]= {
{0, NULL, 0, NULL, NULL}};
diff --git a/source/blender/makesrna/intern/rna_camera.c b/source/blender/makesrna/intern/rna_camera.c
index 34b1dc85881..37912f810fc 100644
--- a/source/blender/makesrna/intern/rna_camera.c
+++ b/source/blender/makesrna/intern/rna_camera.c
@@ -67,6 +67,16 @@ void RNA_def_camera(BlenderRNA *brna)
{CAM_PERSP, "PERSP", 0, "Perspective", ""},
{CAM_ORTHO, "ORTHO", 0, "Orthographic", ""},
{0, NULL, 0, NULL, NULL}};
+ static EnumPropertyItem prop_draw_type_extra_items[] = {
+ {CAM_DTX_CENTER, "CENTER", 0, "Center", ""},
+ {CAM_DTX_CENTER_DIAG, "CENTER_DIAGONAL", 0, "Center Diagonal", ""},
+ {CAM_DTX_THIRDS, "THIRDS", 0, "Thirds", ""},
+ {CAM_DTX_GOLDEN, "GOLDEN", 0, "Golden", ""},
+ {CAM_DTX_GOLDEN_TRI_A, "GOLDEN_TRIANGLE_A", 0, "Golden Triangle A", ""},
+ {CAM_DTX_GOLDEN_TRI_B, "GOLDEN_TRIANGLE_B", 0, "Golden Triangle B", ""},
+ {CAM_DTX_HARMONY_TRI_A, "HARMONY_TRIANGLE_A", 0, "Harmonious Triangle A", ""},
+ {CAM_DTX_HARMONY_TRI_B, "HARMONY_TRIANGLE_B", 0, "Harmonious Triangle B", ""},
+ {0, NULL, 0, NULL, NULL}};
static EnumPropertyItem prop_lens_unit_items[] = {
{0, "MILLIMETERS", 0, "Millimeters", ""},
{CAM_ANGLETOGGLE, "DEGREES", 0, "Degrees", ""},
@@ -81,6 +91,13 @@ void RNA_def_camera(BlenderRNA *brna)
RNA_def_property_enum_items(prop, prop_type_items);
RNA_def_property_ui_text(prop, "Type", "Camera types");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
+
+ prop= RNA_def_property(srna, "show_guide", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "dtx");
+ RNA_def_property_enum_items(prop, prop_draw_type_extra_items);
+ RNA_def_property_flag(prop, PROP_ENUM_FLAG);
+ RNA_def_property_ui_text(prop, "Composition Guides", "Draw overlay");
+ RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
/* Number values */
@@ -91,7 +108,7 @@ void RNA_def_camera(BlenderRNA *brna)
prop= RNA_def_property(srna, "clip_start", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "clipsta");
- RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_range(prop, 0.001f, FLT_MAX);
RNA_def_property_ui_text(prop, "Clip Start", "Camera near clipping distance");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
@@ -116,7 +133,7 @@ void RNA_def_camera(BlenderRNA *brna)
prop= RNA_def_property(srna, "ortho_scale", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "ortho_scale");
- RNA_def_property_range(prop, 0.01f, 1000.0f);
+ RNA_def_property_range(prop, 0.01f, 4000.0f);
RNA_def_property_ui_text(prop, "Orthographic Scale", "Orthographic Camera scale (similar to zoom)");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
diff --git a/source/blender/makesrna/intern/rna_cloth.c b/source/blender/makesrna/intern/rna_cloth.c
index afd30433c5d..1ce4108bab2 100644
--- a/source/blender/makesrna/intern/rna_cloth.c
+++ b/source/blender/makesrna/intern/rna_cloth.c
@@ -49,7 +49,7 @@
#include "BKE_context.h"
#include "BKE_depsgraph.h"
-static void rna_cloth_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_cloth_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
@@ -57,7 +57,7 @@ static void rna_cloth_update(Main *bmain, Scene *scene, PointerRNA *ptr)
WM_main_add_notifier(NC_OBJECT|ND_MODIFIER, ob);
}
-static void rna_cloth_pinning_changed(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_cloth_pinning_changed(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
// ClothSimSettings *settings = (ClothSimSettings*)ptr->data;
@@ -69,7 +69,7 @@ static void rna_cloth_pinning_changed(Main *bmain, Scene *scene, PointerRNA *ptr
WM_main_add_notifier(NC_OBJECT|ND_MODIFIER, ob);
}
-static void rna_cloth_reset(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_cloth_reset(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
ClothSimSettings *settings = (ClothSimSettings*)ptr->data;
diff --git a/source/blender/makesrna/intern/rna_color.c b/source/blender/makesrna/intern/rna_color.c
index a8e3500f08f..cea130a4b74 100644
--- a/source/blender/makesrna/intern/rna_color.c
+++ b/source/blender/makesrna/intern/rna_color.c
@@ -237,7 +237,7 @@ MEM_freeN(texture_path); \
return path;
}
-static void rna_ColorRamp_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
if (ptr->id.data) {
ID *id= ptr->id.data;
@@ -300,7 +300,7 @@ static void rna_ColorRampElement_remove(struct ColorBand *coba, ReportList *repo
}
-static void rna_Scopes_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Scopes_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Scopes *s= (Scopes*)ptr->data;
s->ok = 0;
@@ -435,13 +435,13 @@ static void rna_def_color_ramp_element(BlenderRNA *brna)
prop= RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "r");
RNA_def_property_array(prop, 4);
- RNA_def_property_ui_text(prop, "Color", "");
+ RNA_def_property_ui_text(prop, "Color", "Set color of selected color stop");
RNA_def_property_update(prop, 0, "rna_ColorRamp_update");
prop= RNA_def_property(srna, "position", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "pos");
RNA_def_property_range(prop, 0, 1);
- RNA_def_property_ui_text(prop, "Position", "");
+ RNA_def_property_ui_text(prop, "Position", "Set position of selected color stop");
RNA_def_property_update(prop, 0, "rna_ColorRamp_update");
}
diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c
index 966e679f0fe..0163dd5db32 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -75,18 +75,25 @@ EnumPropertyItem constraint_type_items[] ={
{CONSTRAINT_TYPE_SHRINKWRAP, "SHRINKWRAP", ICON_CONSTRAINT_DATA, "Shrinkwrap", ""},
{0, NULL, 0, NULL, NULL}};
-static EnumPropertyItem space_pchan_items[] = {
- {0, "WORLD", 0, "World Space", ""},
- {2, "POSE", 0, "Pose Space", ""},
- {3, "LOCAL_WITH_PARENT", 0, "Local With Parent", ""},
- {1, "LOCAL", 0, "Local Space", ""},
+static EnumPropertyItem target_space_pchan_items[] = {
+ {0, "WORLD", 0, "World Space", "The transformation of the target is evaluated relative to the world coordinate system"},
+ {2, "POSE", 0, "Pose Space", "The transformation of the target is only evaluated in the Pose Space, the target armature object transformation is ignored"},
+ {3, "LOCAL_WITH_PARENT", 0, "Local With Parent", "The transformation of the target bone is evaluated relative its local coordinate system, with the parent transformation added"},
+ {1, "LOCAL", 0, "Local Space", "The transformation of the target is evaluated relative to its local coordinate system"},
+ {0, NULL, 0, NULL, NULL}};
+
+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"},
+ {1, "LOCAL", 0, "Local Space", "The constraint is applied relative to the local coordinate sytem of the object"},
{0, NULL, 0, NULL, NULL}};
#ifdef RNA_RUNTIME
static EnumPropertyItem space_object_items[] = {
- {0, "WORLD", 0, "World Space", ""},
- {1, "LOCAL", 0, "Local Space", ""},
+ {0, "WORLD", 0, "World Space", "The transformation of the target is evaluated relative to the world coordinate system"},
+ {1, "LOCAL", 0, "Local Space", "The transformation of the target is evaluated relative to its local coordinate system"},
{0, NULL, 0, NULL, NULL}};
#include "BKE_animsys.h"
@@ -198,7 +205,7 @@ static char *rna_Constraint_path(PointerRNA *ptr)
return BLI_sprintfN("constraints[\"%s\"]", con->name);
}
-static void rna_Constraint_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Constraint_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
ED_object_constraint_update(ptr->id.data);
}
@@ -236,18 +243,18 @@ static void rna_Constraint_ik_type_set(struct PointerRNA *ptr, int value)
}
}
-static EnumPropertyItem *rna_Constraint_owner_space_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Constraint_owner_space_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
Object *ob= (Object*)ptr->id.data;
bConstraint *con= (bConstraint*)ptr->data;
if(BLI_findindex(&ob->constraints, con) == -1)
- return space_pchan_items;
+ return owner_space_pchan_items;
else /* object */
return space_object_items;
}
-static EnumPropertyItem *rna_Constraint_target_space_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Constraint_target_space_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
bConstraint *con= (bConstraint*)ptr->data;
bConstraintTypeInfo *cti= constraint_get_typeinfo(con);
@@ -265,7 +272,7 @@ static EnumPropertyItem *rna_Constraint_target_space_itemf(bContext *C, PointerR
cti->flush_constraint_targets(con, &targets, 1);
if(ct)
- return space_pchan_items;
+ return target_space_pchan_items;
}
return space_object_items;
@@ -318,9 +325,9 @@ static void rna_SplineIKConstraint_joint_bindings_set(PointerRNA *ptr, const flo
#else
EnumPropertyItem constraint_distance_items[] = {
- {LIMITDIST_INSIDE, "LIMITDIST_INSIDE", 0, "Inside", ""},
- {LIMITDIST_OUTSIDE, "LIMITDIST_OUTSIDE", 0, "Outside", ""},
- {LIMITDIST_ONSURFACE, "LIMITDIST_ONSURFACE", 0, "On Surface", ""},
+ {LIMITDIST_INSIDE, "LIMITDIST_INSIDE", 0, "Inside", "The object is constrained inside a virtual sphere around the target object, with a radius defined by the limit distance"},
+ {LIMITDIST_OUTSIDE, "LIMITDIST_OUTSIDE", 0, "Outside", "The object is constrained outside a virtual sphere around the target object, with a radius defined by the limit distance"},
+ {LIMITDIST_ONSURFACE, "LIMITDIST_ONSURFACE", 0, "On Surface", "The object is constrained on the surface of a virtual sphere around the target object, with a radius defined by the limit distance"},
{0, NULL, 0, NULL, NULL}
};
@@ -350,6 +357,7 @@ static void rna_def_constrainttarget(BlenderRNA *brna)
static void rna_def_constraint_childof(BlenderRNA *brna)
{
+ static int rna_matrix_dimsize_4x4[]= {4, 4};
StructRNA *srna;
PropertyRNA *prop;
@@ -412,6 +420,13 @@ static void rna_def_constraint_childof(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", CHILDOF_SIZEZ);
RNA_def_property_ui_text(prop, "Scale Z", "Use Z Scale of Parent");
RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
+ prop= RNA_def_property(srna, "inverse_matrix", PROP_FLOAT, PROP_MATRIX);
+ RNA_def_property_float_sdna(prop, NULL, "invmat");
+ RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Inverse Matrix", "Transformation matrix to apply before");
+
}
static void rna_def_constraint_python(BlenderRNA *brna)
@@ -966,7 +981,7 @@ static void rna_def_constraint_action(BlenderRNA *brna)
prop= RNA_def_property(srna, "action", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "act");
- RNA_def_property_ui_text(prop, "Action", "");
+ RNA_def_property_ui_text(prop, "Action", "The constraining action");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
@@ -1183,10 +1198,10 @@ static void rna_def_constraint_rigid_body_joint(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem pivot_items[] = {
- {CONSTRAINT_RB_BALL, "BALL", 0, "Ball", ""},
- {CONSTRAINT_RB_HINGE, "HINGE", 0, "Hinge", ""},
- {CONSTRAINT_RB_CONETWIST, "CONE_TWIST", 0, "Cone Twist", ""},
- {CONSTRAINT_RB_GENERIC6DOF, "GENERIC_6_DOF", 0, "Generic 6 DoF", ""},
+ {CONSTRAINT_RB_BALL, "BALL", 0, "Ball", "Allows rotations around all axes"},
+ {CONSTRAINT_RB_HINGE, "HINGE", 0, "Hinge", "Works in one plane, allows rotations around one axis only"},
+ {CONSTRAINT_RB_CONETWIST, "CONE_TWIST", 0, "Cone Twist", "Allows rotations around all axes with limits for the cone and twist axes"},
+ {CONSTRAINT_RB_GENERIC6DOF, "GENERIC_6_DOF", 0, "Generic 6 DoF", "No constraints by default, limits can be set individually"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "RigidBodyJointConstraint", "Constraint");
@@ -1788,9 +1803,9 @@ static void rna_def_constraint_shrinkwrap(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem type_items[] = {
- {MOD_SHRINKWRAP_NEAREST_SURFACE, "NEAREST_SURFACE", 0, "Nearest Surface Point", ""},
- {MOD_SHRINKWRAP_PROJECT, "PROJECT", 0, "Project", ""},
- {MOD_SHRINKWRAP_NEAREST_VERTEX, "NEAREST_VERTEX", 0, "Nearest Vertex", ""},
+ {MOD_SHRINKWRAP_NEAREST_SURFACE, "NEAREST_SURFACE", 0, "Nearest Surface Point", "Shrinks the location to the nearest target surface"},
+ {MOD_SHRINKWRAP_PROJECT, "PROJECT", 0, "Project", "Shrinks the location to the nearest target surface along a given axis"},
+ {MOD_SHRINKWRAP_NEAREST_VERTEX, "NEAREST_VERTEX", 0, "Nearest Vertex", "Shrinks the location to the nearest target vertex"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "ShrinkwrapConstraint", "Constraint");
@@ -1940,13 +1955,13 @@ static void rna_def_constraint_pivot(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem pivot_rotAxis_items[] = {
- {PIVOTCON_AXIS_NONE, "ALWAYS_ACTIVE", 0, "Always", ""},
- {PIVOTCON_AXIS_X_NEG, "NX", 0, "-X Rot", ""},
- {PIVOTCON_AXIS_Y_NEG, "NY", 0, "-Y Rot", ""},
- {PIVOTCON_AXIS_Z_NEG, "NZ", 0, "-Z Rot", ""},
- {PIVOTCON_AXIS_X, "X", 0, "X Rot", ""},
- {PIVOTCON_AXIS_Y, "Y", 0, "Y Rot", ""},
- {PIVOTCON_AXIS_Z, "Z", 0, "Z Rot", ""},
+ {PIVOTCON_AXIS_NONE, "ALWAYS_ACTIVE", 0, "Always", "Use the pivot point in every rotation"},
+ {PIVOTCON_AXIS_X_NEG, "NX", 0, "-X Rot", "Use the pivot point in the negative rotation range around the X-axis"},
+ {PIVOTCON_AXIS_Y_NEG, "NY", 0, "-Y Rot", "Use the pivot point in the negative rotation range around the Y-axis"},
+ {PIVOTCON_AXIS_Z_NEG, "NZ", 0, "-Z Rot", "Use the pivot point in the negative rotation range around the Z-axis"},
+ {PIVOTCON_AXIS_X, "X", 0, "X Rot", "Use the pivot point in the positive rotation range around the X-axis"},
+ {PIVOTCON_AXIS_Y, "Y", 0, "Y Rot", "Use the pivot point in the positive rotation range around the Y-axis"},
+ {PIVOTCON_AXIS_Z, "Z", 0, "Z Rot", "Use the pivot point in the positive rotation range around the Z-axis"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "PivotConstraint", "Constraint");
@@ -2019,13 +2034,13 @@ void RNA_def_constraint(BlenderRNA *brna)
prop= RNA_def_property(srna, "owner_space", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "ownspace");
- RNA_def_property_enum_items(prop, space_pchan_items);
+ RNA_def_property_enum_items(prop, owner_space_pchan_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_Constraint_owner_space_itemf");
RNA_def_property_ui_text(prop, "Owner Space", "Space that owner is evaluated in");
prop= RNA_def_property(srna, "target_space", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "tarspace");
- RNA_def_property_enum_items(prop, space_pchan_items);
+ RNA_def_property_enum_items(prop, target_space_pchan_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_Constraint_target_space_itemf");
RNA_def_property_ui_text(prop, "Target Space", "Space that target is evaluated in");
diff --git a/source/blender/makesrna/intern/rna_controller.c b/source/blender/makesrna/intern/rna_controller.c
index 92c762098c7..db5409bf7ef 100644
--- a/source/blender/makesrna/intern/rna_controller.c
+++ b/source/blender/makesrna/intern/rna_controller.c
@@ -87,6 +87,20 @@ static void rna_Controller_type_set(struct PointerRNA *ptr, int value)
}
}
+static void rna_Controller_mode_set(struct PointerRNA *ptr, int value)
+{
+ bController *cont= (bController *)ptr->data;
+ bPythonCont *pycon= (bPythonCont *)cont->data;
+
+ // if mode changed and previous mode were Script
+ if (value != pycon->mode && pycon->mode == CONT_PY_SCRIPT)
+ {
+ // clear script to avoid it to get linked with the controller
+ pycon->text = NULL;
+ }
+ pycon->mode = value;
+}
+
static int rna_Controller_state_number_get(struct PointerRNA *ptr)
{
bController *cont= (bController *)ptr->data;
@@ -222,6 +236,7 @@ void RNA_def_controller(BlenderRNA *brna)
prop= RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, python_controller_modes);
+ RNA_def_property_enum_funcs(prop, NULL, "rna_Controller_mode_set", NULL);
RNA_def_property_ui_text(prop, "Execution Method", "Python script type (textblock or module - faster)");
RNA_def_property_update(prop, NC_LOGIC, NULL);
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c
index ec640531fa0..260d483b9d2 100644
--- a/source/blender/makesrna/intern/rna_curve.c
+++ b/source/blender/makesrna/intern/rna_curve.c
@@ -180,7 +180,7 @@ static void rna_BezTriple_ctrlpoint_set(PointerRNA *ptr, const float *values)
bt->vec[1][2]= values[2];
}
-static void rna_Curve_texspace_set(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Curve_texspace_set(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Curve *cu= (Curve*)ptr->data;
@@ -233,6 +233,7 @@ static void rna_Curve_material_index_range(PointerRNA *ptr, int *min, int *max)
Curve *cu= (Curve*)ptr->id.data;
*min= 0;
*max= cu->totcol-1;
+ *max= MAX2(0, *max);
}
static void rna_Curve_active_textbox_index_range(PointerRNA *ptr, int *min, int *max)
@@ -240,6 +241,7 @@ static void rna_Curve_active_textbox_index_range(PointerRNA *ptr, int *min, int
Curve *cu= (Curve*)ptr->id.data;
*min= 0;
*max= cu->totbox-1;
+ *max= MAX2(0, *max);
}
@@ -279,8 +281,7 @@ static int rna_Nurb_length(PointerRNA *ptr)
static void rna_Nurb_type_set(PointerRNA *ptr, int value)
{
Nurb *nu= (Nurb*)ptr->data;
- nu->type = value;
- // XXX - TODO change datatypes
+ ED_nurb_set_spline_type(nu, value);
}
static void rna_BPoint_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
@@ -289,7 +290,7 @@ static void rna_BPoint_array_begin(CollectionPropertyIterator *iter, PointerRNA
rna_iterator_array_begin(iter, (void*)nu->bp, sizeof(BPoint), nu->pntsv>0 ? nu->pntsu*nu->pntsv : nu->pntsu, 0, NULL);
}
-static void rna_Curve_update_data_id(Main *bmain, Scene *scene, ID *id)
+static void rna_Curve_update_data_id(Main *UNUSED(bmain), Scene *UNUSED(scene), ID *id)
{
DAG_id_tag_update(id, 0);
WM_main_add_notifier(NC_GEOM|ND_DATA, id);
@@ -979,19 +980,19 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
prop= RNA_def_property(srna, "font_bold", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "vfontb");
- RNA_def_property_ui_text(prop, "Font", "");
+ RNA_def_property_ui_text(prop, "Font Bold", "");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
prop= RNA_def_property(srna, "font_italic", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "vfonti");
- RNA_def_property_ui_text(prop, "Font", "");
+ RNA_def_property_ui_text(prop, "Font Italic", "");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
prop= RNA_def_property(srna, "font_bold_italic", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "vfontbi");
- RNA_def_property_ui_text(prop, "Font", "");
+ RNA_def_property_ui_text(prop, "Font Bold Italic", "");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
@@ -1003,7 +1004,7 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
/* flags */
prop= RNA_def_property(srna, "use_fast_edit", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", CU_FAST);
- RNA_def_property_ui_text(prop, "Fast", "Don't fill polygons while editing");
+ RNA_def_property_ui_text(prop, "Fast Editing", "Don't fill polygons while editing");
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
}
@@ -1446,7 +1447,6 @@ static void rna_def_curve_nurb(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Radius Interpolation", "The type of radius interpolation for Bezier curves");
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
- // XXX - switching type probably needs comprehensive recalc of data like in 2.4x
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, curve_type_items);
RNA_def_property_enum_funcs(prop, NULL, "rna_Nurb_type_set", NULL);
diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c
index 3afec03a13f..8e9c7e287d6 100644
--- a/source/blender/makesrna/intern/rna_define.c
+++ b/source/blender/makesrna/intern/rna_define.c
@@ -446,7 +446,7 @@ BlenderRNA *RNA_create(void)
return brna;
}
-void RNA_define_free(BlenderRNA *brna)
+void RNA_define_free(BlenderRNA *UNUSED(brna))
{
StructDefRNA *ds;
FunctionDefRNA *dfunc;
@@ -813,7 +813,7 @@ void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties)
if(idproperties) srna->idproperties= (IDPropertiesFunc)idproperties;
}
-void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg)
+void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg, const char *instance)
{
if(!DefRNA.preprocess) {
fprintf(stderr, "RNA_def_struct_register_funcs: only during preprocessing.\n");
@@ -822,6 +822,7 @@ void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char
if(reg) srna->reg= (StructRegisterFunc)reg;
if(unreg) srna->unreg= (StructUnregisterFunc)unreg;
+ if(instance) srna->instance= (StructInstanceFunc)instance;
}
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
@@ -1838,6 +1839,11 @@ void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
prop->update= (UpdateFunc)func;
}
+void RNA_def_property_update_runtime(PropertyRNA *prop, void *func)
+{
+ prop->update= func;
+}
+
void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength)
{
if(!DefRNA.preprocess) {
@@ -2056,6 +2062,11 @@ void RNA_def_property_srna(PropertyRNA *prop, const char *type)
prop->srna= (StructRNA*)type;
}
+void RNA_def_py_data(PropertyRNA *prop, void *py_data)
+{
+ prop->py_data= py_data;
+}
+
/* Compact definitions */
PropertyRNA *RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, int default_value, const char *ui_name, const char *ui_description)
@@ -2275,6 +2286,12 @@ void RNA_def_enum_funcs(PropertyRNA *prop, EnumPropertyItemFunc itemfunc)
eprop->itemf= itemfunc;
}
+void RNA_def_enum_py_data(PropertyRNA *prop, void *py_data)
+{
+ EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
+ eprop->py_data= py_data;
+}
+
PropertyRNA *RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, float default_value,
float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
{
@@ -2555,7 +2572,7 @@ void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
RNA_def_function_output(func, ret);
}
-void RNA_def_function_output(FunctionRNA *func, PropertyRNA *ret)
+void RNA_def_function_output(FunctionRNA *UNUSED(func), PropertyRNA *ret)
{
ret->flag|= PROP_OUTPUT;
}
@@ -2815,6 +2832,7 @@ void RNA_def_property_free_pointers(PropertyRNA *prop)
if(prop->identifier) MEM_freeN((void*)prop->identifier);
if(prop->name) MEM_freeN((void*)prop->name);
if(prop->description) MEM_freeN((void*)prop->description);
+ if(prop->py_data) MEM_freeN(prop->py_data);
switch(prop->type) {
case PROP_BOOLEAN: {
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c
index 1b18f88efcc..a46f84a22d2 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -446,7 +446,7 @@ static void rna_FCurve_modifiers_remove(FCurve *fcu, ReportList *reports, FModif
remove_fmodifier(&fcu->modifiers, fcm);
}
-static void rna_FModifier_active_set(PointerRNA *ptr, int value)
+static void rna_FModifier_active_set(PointerRNA *ptr, int UNUSED(value))
{
FModifier *fm= (FModifier*)ptr->data;
@@ -454,7 +454,7 @@ static void rna_FModifier_active_set(PointerRNA *ptr, int value)
fm->flag |= FMODIFIER_FLAG_ACTIVE;
}
-static void rna_FModifier_active_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_FModifier_active_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
FModifier *fm, *fmo= (FModifier*)ptr->data;
diff --git a/source/blender/makesrna/intern/rna_fluidsim.c b/source/blender/makesrna/intern/rna_fluidsim.c
index acec2ca7a24..1ba2e32502f 100644
--- a/source/blender/makesrna/intern/rna_fluidsim.c
+++ b/source/blender/makesrna/intern/rna_fluidsim.c
@@ -195,6 +195,18 @@ static char *rna_FluidSettings_path(PointerRNA *ptr)
return BLI_sprintfN("modifiers[\"%s\"].settings", md->name);
}
+static void rna_FluidMeshVertex_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+{
+ FluidsimSettings *fss = (FluidsimSettings*)ptr->data;
+ rna_iterator_array_begin(iter, fss->meshVelocities, sizeof(float)*3, fss->totvert, 0, NULL);
+}
+
+static int rna_FluidMeshVertex_data_length(PointerRNA *ptr)
+{
+ FluidsimSettings *fss = (FluidsimSettings*)ptr->data;
+ return fss->totvert;
+}
+
#else
static void rna_def_fluidsim_slip(StructRNA *srna)
@@ -219,6 +231,24 @@ static void rna_def_fluidsim_slip(StructRNA *srna)
RNA_def_property_ui_text(prop, "Partial Slip Amount", "Amount of mixing between no- and free-slip, 0 is no slip and 1 is free slip");
}
+static void rna_def_fluid_mesh_vertices(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna= RNA_def_struct(brna, "FluidMeshVertex", NULL);
+ RNA_def_struct_sdna(srna, "FluidVertexVelocity");
+ RNA_def_struct_ui_text(srna, "Fluid Mesh Vertex", "Vertex of a simulated fluid mesh");
+ RNA_def_struct_ui_icon(srna, ICON_VERTEXSEL);
+
+ prop= RNA_def_property(srna, "velocity", PROP_FLOAT, PROP_VELOCITY);
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_float_sdna(prop, NULL, "vel");
+ RNA_def_property_ui_text(prop, "Velocity", "");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+}
+
+
static void rna_def_fluidsim_domain(BlenderRNA *brna)
{
StructRNA *srna;
@@ -282,7 +312,7 @@ static void rna_def_fluidsim_domain(BlenderRNA *brna)
/* advanced settings */
prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_ACCELERATION);
- RNA_def_property_float_sdna(prop, NULL, "gravx");
+ RNA_def_property_float_sdna(prop, NULL, "grav");
RNA_def_property_array(prop, 3);
RNA_def_property_range(prop, -1000.1, 1000.1);
RNA_def_property_ui_text(prop, "Gravity", "Gravity in X, Y and Z direction");
@@ -354,6 +384,12 @@ static void rna_def_fluidsim_domain(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_ui_text(prop, "Generate Speed Vectors", "Generate speed vectors for vector blur");
+ /* no collision object surface */
+ prop= RNA_def_property(srna, "surface_noobs", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "typeFlags", OB_FSSG_NOOBS);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Hide fluid surface", "");
+
/* particles */
prop= RNA_def_property(srna, "tracer_particles", PROP_INT, PROP_NONE);
@@ -367,6 +403,13 @@ static void rna_def_fluidsim_domain(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.0, 10.0);
RNA_def_property_ui_text(prop, "Generate Particles", "Amount of particles to generate (0=off, 1=normal, >1=more)");
+
+ /* simulated fluid mesh data */
+ prop= RNA_def_property(srna, "fluid_mesh_vertices", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_struct_type(prop, "FluidMeshVertex");
+ RNA_def_property_ui_text(prop, "Fluid Mesh Vertices", "Vertices of the fluid mesh generated by simulation");
+ RNA_def_property_collection_funcs(prop, "rna_FluidMeshVertex_data_begin", "rna_iterator_array_next", "rna_iterator_array_end", "rna_iterator_array_get", "rna_FluidMeshVertex_data_length", 0, 0);
+ rna_def_fluid_mesh_vertices(brna);
}
static void rna_def_fluidsim_volume(StructRNA *srna)
diff --git a/source/blender/makesrna/intern/rna_group.c b/source/blender/makesrna/intern/rna_group.c
index a5097cc8b41..5d71d204a72 100644
--- a/source/blender/makesrna/intern/rna_group.c
+++ b/source/blender/makesrna/intern/rna_group.c
@@ -95,7 +95,7 @@ static void rna_def_group_objects(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_function_ui_description(func, "Add this object to a group");
/* object to add */
parm= RNA_def_pointer(func, "object", "Object", "", "Object to add.");
- RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
/* remove object */
func= RNA_def_function(srna, "unlink", "rna_Group_objects_unlink");
diff --git a/source/blender/makesrna/intern/rna_image.c b/source/blender/makesrna/intern/rna_image.c
index 5872542d10a..eac4932ac43 100644
--- a/source/blender/makesrna/intern/rna_image.c
+++ b/source/blender/makesrna/intern/rna_image.c
@@ -55,7 +55,7 @@ static EnumPropertyItem image_source_items[]= {
#include "IMB_imbuf_types.h"
-static void rna_Image_animated_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Image_animated_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Image *ima= (Image*)ptr->data;
int nr;
@@ -80,14 +80,14 @@ static int rna_Image_dirty_get(PointerRNA *ptr)
return 0;
}
-static void rna_Image_source_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Image_source_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Image *ima= ptr->id.data;
BKE_image_signal(ima, NULL, IMA_SIGNAL_SRC_CHANGE);
DAG_id_tag_update(&ima->id, 0);
}
-static void rna_Image_fields_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Image_fields_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Image *ima= ptr->id.data;
ImBuf *ibuf;
@@ -108,20 +108,20 @@ static void rna_Image_fields_update(Main *bmain, Scene *scene, PointerRNA *ptr)
BKE_image_release_ibuf(ima, lock);
}
-static void rna_Image_reload_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Image_reload_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Image *ima= ptr->id.data;
BKE_image_signal(ima, NULL, IMA_SIGNAL_RELOAD);
DAG_id_tag_update(&ima->id, 0);
}
-static void rna_Image_generated_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Image_generated_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Image *ima= ptr->id.data;
BKE_image_signal(ima, NULL, IMA_SIGNAL_FREE);
}
-static void rna_ImageUser_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_ImageUser_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
ImageUser *iuser= ptr->data;
@@ -143,7 +143,7 @@ char *rna_ImageUser_path(PointerRNA *ptr)
return BLI_strdup("");
}
-static EnumPropertyItem *rna_Image_source_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Image_source_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
Image *ima= (Image*)ptr->data;
EnumPropertyItem *item= NULL;
@@ -221,6 +221,39 @@ static void rna_Image_size_get(PointerRNA *ptr,int *values)
BKE_image_release_ibuf(im, lock);
}
+static void rna_Image_resolution_get(PointerRNA *ptr, float *values)
+{
+ Image *im= (Image*)ptr->data;
+ ImBuf *ibuf;
+ void *lock;
+
+ ibuf = BKE_image_acquire_ibuf(im, NULL , &lock);
+ if (ibuf) {
+ values[0]= ibuf->ppm[0];
+ values[1]= ibuf->ppm[1];
+ }
+ else {
+ values[0]= 0;
+ values[1]= 0;
+ }
+
+ BKE_image_release_ibuf(im, lock);
+}
+
+static void rna_Image_resolution_set(PointerRNA *ptr, const float *values)
+{
+ Image *im= (Image*)ptr->data;
+ ImBuf *ibuf;
+ void *lock;
+
+ ibuf = BKE_image_acquire_ibuf(im, NULL , &lock);
+ if (ibuf) {
+ ibuf->ppm[0]= values[0];
+ ibuf->ppm[1]= values[1];
+ }
+
+ BKE_image_release_ibuf(im, lock);
+}
static int rna_Image_depth_get(PointerRNA *ptr)
{
@@ -469,6 +502,11 @@ static void rna_def_image(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Generated Height", "Generated image height");
RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_generated_update");
+ prop= RNA_def_property(srna, "use_generated_float", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "gen_flag", IMA_GEN_FLOAT);
+ RNA_def_property_ui_text(prop, "Float Buffer", "Generate floating point buffer");
+ RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_generated_update");
+
/* realtime properties */
prop= RNA_def_property(srna, "mapping", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
@@ -557,6 +595,9 @@ static void rna_def_image(BlenderRNA *brna)
RNA_def_property_int_funcs(prop, "rna_Image_size_get" , NULL, NULL);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ prop= RNA_def_float_vector(srna, "resolution" , 2 , NULL , 0, 0, "Resolution" , "X/Y pixels per meter" , 0 , 0);
+ RNA_def_property_float_funcs(prop, "rna_Image_resolution_get" , "rna_Image_resolution_set", NULL);
+
prop= RNA_def_property(srna, "pixels", PROP_FLOAT, PROP_NONE);
RNA_def_property_flag(prop, PROP_DYNAMIC);
RNA_def_property_multi_array(prop, 1, NULL);
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h
index 9211d897230..8c9bcd11858 100644
--- a/source/blender/makesrna/intern/rna_internal.h
+++ b/source/blender/makesrna/intern/rna_internal.h
@@ -188,7 +188,7 @@ void rna_def_animviz_common(struct StructRNA *srna);
void rna_def_motionpath_common(struct StructRNA *srna);
void rna_def_texmat_common(struct StructRNA *srna, const char *texspace_editable);
-void rna_def_mtex_common(struct BlenderRNA *brna, struct StructRNA *srna, const char *begin, const char *activeget, const char *activeset, const char *structname, const char *structname_slots, const char *update);
+void rna_def_mtex_common(struct BlenderRNA *brna, struct StructRNA *srna, const char *begin, const char *activeget, const char *activeset, const char *activeeditable, const char *structname, const char *structname_slots, const char *update);
void rna_def_render_layer_common(struct StructRNA *srna, int scene);
void rna_ID_name_get(struct PointerRNA *ptr, char *value);
@@ -198,8 +198,8 @@ struct StructRNA *rna_ID_refine(struct PointerRNA *ptr);
struct IDProperty *rna_ID_idprops(struct PointerRNA *ptr, int create);
void rna_ID_fake_user_set(struct PointerRNA *ptr, int value);
struct IDProperty *rna_PropertyGroup_idprops(struct PointerRNA *ptr, int create);
-void rna_PropertyGroup_unregister(const struct bContext *C, struct StructRNA *type);
-struct StructRNA *rna_PropertyGroup_register(struct bContext *C, struct ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free);
+void rna_PropertyGroup_unregister(struct Main *bmain, struct StructRNA *type);
+struct StructRNA *rna_PropertyGroup_register(struct Main *bmain, struct ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free);
struct StructRNA* rna_PropertyGroup_refine(struct PointerRNA *ptr);
void rna_object_vgroup_name_index_get(struct PointerRNA *ptr, char *value, int index);
diff --git a/source/blender/makesrna/intern/rna_internal_types.h b/source/blender/makesrna/intern/rna_internal_types.h
index eb1beb90567..249833ae94b 100644
--- a/source/blender/makesrna/intern/rna_internal_types.h
+++ b/source/blender/makesrna/intern/rna_internal_types.h
@@ -41,6 +41,7 @@ struct FunctionRNA;
struct ReportList;
struct CollectionPropertyIterator;
struct bContext;
+struct EnumProperty;
struct IDProperty;
struct GHash;
struct Main;
@@ -61,6 +62,7 @@ struct Scene;
/* Function Callbacks */
typedef void (*UpdateFunc)(struct Main *main, struct Scene *scene, struct PointerRNA *ptr);
+typedef void (*ContextPropUpdateFunc)(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop);
typedef void (*ContextUpdateFunc)(struct bContext *C, struct PointerRNA *ptr);
typedef int (*EditableFunc)(struct PointerRNA *ptr);
typedef int (*ItemEditableFunc)(struct PointerRNA *ptr, int index);
@@ -88,7 +90,7 @@ typedef int (*PropStringLengthFunc)(struct PointerRNA *ptr);
typedef void (*PropStringSetFunc)(struct PointerRNA *ptr, const char *value);
typedef int (*PropEnumGetFunc)(struct PointerRNA *ptr);
typedef void (*PropEnumSetFunc)(struct PointerRNA *ptr, int value);
-typedef EnumPropertyItem *(*PropEnumItemFunc)(struct bContext *C, struct PointerRNA *ptr, int *free);
+typedef EnumPropertyItem *(*PropEnumItemFunc)(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int *free);
typedef PointerRNA (*PropPointerGetFunc)(struct PointerRNA *ptr);
typedef StructRNA* (*PropPointerTypeFunc)(struct PointerRNA *ptr);
typedef void (*PropPointerSetFunc)(struct PointerRNA *ptr, const PointerRNA value);
@@ -176,6 +178,10 @@ struct PropertyRNA {
* any property can have this but should only be used for collections and arrays
* since python will convert int/bool/pointer's */
struct StructRNA *srna; /* attributes attached directly to this collection */
+
+ /* python handle to hold all callbacks
+ * (in a pointer array at the moment, may later be a tuple) */
+ void *py_data;
};
/* Property Types */
@@ -250,6 +256,7 @@ typedef struct EnumPropertyRNA {
PropEnumGetFunc get;
PropEnumSetFunc set;
PropEnumItemFunc itemf;
+ void *py_data; /* store py callback here */
EnumPropertyItem *item;
int totitem;
@@ -330,6 +337,7 @@ struct StructRNA {
/* function to register/unregister subclasses */
StructRegisterFunc reg;
StructUnregisterFunc unreg;
+ StructInstanceFunc instance;
/* callback to get id properties */
IDPropertiesFunc idproperties;
diff --git a/source/blender/makesrna/intern/rna_key.c b/source/blender/makesrna/intern/rna_key.c
index 3f0ccf99266..3e65eb8665e 100644
--- a/source/blender/makesrna/intern/rna_key.c
+++ b/source/blender/makesrna/intern/rna_key.c
@@ -521,7 +521,7 @@ static void rna_def_keyblock(BlenderRNA *brna)
RNA_def_struct_ui_icon(srna, ICON_SHAPEKEY_DATA);
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
- RNA_def_property_ui_text(prop, "Name", "");
+ RNA_def_property_ui_text(prop, "Name", "Name of Shape Key");
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_ShapeKey_name_set");
RNA_def_struct_name_property(srna, prop);
diff --git a/source/blender/makesrna/intern/rna_lamp.c b/source/blender/makesrna/intern/rna_lamp.c
index d1679a19d8c..f18308591db 100644
--- a/source/blender/makesrna/intern/rna_lamp.c
+++ b/source/blender/makesrna/intern/rna_lamp.c
@@ -107,7 +107,7 @@ static StructRNA* rna_Lamp_refine(struct PointerRNA *ptr)
}
}
-static void rna_Lamp_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Lamp_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
Lamp *la= ptr->id.data;
@@ -118,7 +118,7 @@ static void rna_Lamp_update(Main *bmain, Scene *scene, PointerRNA *ptr)
WM_main_add_notifier(NC_LAMP|ND_LIGHTING, la);
}
-static void rna_Lamp_draw_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Lamp_draw_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Lamp *la= ptr->id.data;
@@ -126,7 +126,7 @@ static void rna_Lamp_draw_update(Main *bmain, Scene *scene, PointerRNA *ptr)
WM_main_add_notifier(NC_LAMP|ND_LIGHTING_DRAW, la);
}
-static void rna_Lamp_sky_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Lamp_sky_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Lamp *la= ptr->id.data;
@@ -374,7 +374,7 @@ static void rna_def_lamp(BlenderRNA *brna)
/* textures */
rna_def_mtex_common(brna, srna, "rna_Lamp_mtex_begin", "rna_Lamp_active_texture_get",
- "rna_Lamp_active_texture_set", "LampTextureSlot", "LampTextureSlots", "rna_Lamp_update");
+ "rna_Lamp_active_texture_set", NULL, "LampTextureSlot", "LampTextureSlots", "rna_Lamp_update");
}
static void rna_def_lamp_falloff(StructRNA *srna)
diff --git a/source/blender/makesrna/intern/rna_lattice.c b/source/blender/makesrna/intern/rna_lattice.c
index a3503999a4c..8387b3286d6 100644
--- a/source/blender/makesrna/intern/rna_lattice.c
+++ b/source/blender/makesrna/intern/rna_lattice.c
@@ -92,7 +92,7 @@ static void rna_Lattice_points_begin(CollectionPropertyIterator *iter, PointerRN
rna_iterator_array_begin(iter, NULL, 0, 0, 0, NULL);
}
-static void rna_Lattice_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Lattice_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
ID *id= ptr->id.data;
diff --git a/source/blender/makesrna/intern/rna_main.c b/source/blender/makesrna/intern/rna_main.c
index eedf199bf1c..bb13a3b1bf1 100644
--- a/source/blender/makesrna/intern/rna_main.c
+++ b/source/blender/makesrna/intern/rna_main.c
@@ -42,7 +42,7 @@
/* all the list begin functions are added manually here, Main is not in SDNA */
-static int rna_Main_is_saved_get(PointerRNA *ptr)
+static int rna_Main_is_saved_get(PointerRNA *UNUSED(ptr))
{
return G.relbase_valid;
}
@@ -50,8 +50,9 @@ static int rna_Main_is_saved_get(PointerRNA *ptr)
static int rna_Main_is_dirty_get(PointerRNA *ptr)
{
/* XXX, not totally nice to do it this way, should store in main ? */
+ Main *bmain= (Main*)ptr->data;
wmWindowManager *wm;
- for(wm= G.main->wm.first; wm; wm= wm->id.next) {
+ for(wm= bmain->wm.first; wm; wm= wm->id.next) {
return !wm->file_saved;
}
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index f5cbc6b2e87..8ac620c2fcf 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -84,12 +84,12 @@
#include "ED_screen.h"
-Tex *rna_Main_add_texture(Main *bmain, const char *name)
+Tex *rna_Main_add_texture(Main *UNUSED(bmain), const char *name)
{
return add_texture(name);
}
-Camera *rna_Main_cameras_new(Main *bmain, const char *name)
+Camera *rna_Main_cameras_new(Main *UNUSED(bmain), const char *name)
{
ID *id= add_camera(name);
id_us_min(id);
@@ -105,7 +105,7 @@ void rna_Main_cameras_remove(Main *bmain, ReportList *reports, struct Camera *ca
/* XXX python now has invalid pointer? */
}
-Scene *rna_Main_scenes_new(Main *bmain, const char *name)
+Scene *rna_Main_scenes_new(Main *UNUSED(bmain), const char *name)
{
return add_scene(name);
}
@@ -129,7 +129,7 @@ void rna_Main_scenes_remove(Main *bmain, bContext *C, ReportList *reports, struc
unlink_scene(bmain, scene, newscene);
}
-Object *rna_Main_objects_new(Main *bmain, ReportList *reports, const char *name, ID *data)
+Object *rna_Main_objects_new(Main *UNUSED(bmain), ReportList *reports, const char *name, ID *data)
{
Object *ob;
int type= OB_EMPTY;
@@ -190,7 +190,7 @@ void rna_Main_objects_remove(Main *bmain, ReportList *reports, struct Object *ob
}
}
-struct Material *rna_Main_materials_new(Main *bmain, const char *name)
+struct Material *rna_Main_materials_new(Main *UNUSED(bmain), const char *name)
{
ID *id= (ID *)add_material(name);
id_us_min(id);
@@ -206,7 +206,7 @@ void rna_Main_materials_remove(Main *bmain, ReportList *reports, struct Material
/* XXX python now has invalid pointer? */
}
-struct bNodeTree *rna_Main_nodetree_new(Main *bmain, const char *name, int type)
+struct bNodeTree *rna_Main_nodetree_new(Main *UNUSED(bmain), const char *name, int type)
{
bNodeTree *tree = ntreeAddTree(name, type, TRUE);
@@ -225,7 +225,7 @@ void rna_Main_nodetree_remove(Main *bmain, ReportList *reports, struct bNodeTree
/* XXX python now has invalid pointer? */
}
-Mesh *rna_Main_meshes_new(Main *bmain, const char *name)
+Mesh *rna_Main_meshes_new(Main *UNUSED(bmain), const char *name)
{
Mesh *me= add_mesh(name);
id_us_min(&me->id);
@@ -241,7 +241,7 @@ void rna_Main_meshes_remove(Main *bmain, ReportList *reports, Mesh *mesh)
/* XXX python now has invalid pointer? */
}
-Lamp *rna_Main_lamps_new(Main *bmain, const char *name, int type)
+Lamp *rna_Main_lamps_new(Main *UNUSED(bmain), const char *name, int type)
{
Lamp *lamp= add_lamp(name);
lamp->type= type;
@@ -258,14 +258,14 @@ void rna_Main_lamps_remove(Main *bmain, ReportList *reports, Lamp *lamp)
/* XXX python now has invalid pointer? */
}
-Image *rna_Main_images_new(Main *bmain, const char *name, int width, int height, int alpha, int float_buffer)
+Image *rna_Main_images_new(Main *UNUSED(bmain), const char *name, int width, int height, int alpha, int float_buffer)
{
float color[4]= {0.0, 0.0, 0.0, 1.0};
Image *image= BKE_add_image_size(width, height, name, alpha ? 32:24, float_buffer, 0, color);
id_us_min(&image->id);
return image;
}
-Image *rna_Main_images_load(Main *bmain, ReportList *reports, const char *filepath)
+Image *rna_Main_images_load(Main *UNUSED(bmain), ReportList *reports, const char *filepath)
{
Image *ima;
@@ -287,7 +287,7 @@ void rna_Main_images_remove(Main *bmain, ReportList *reports, Image *image)
/* XXX python now has invalid pointer? */
}
-Lattice *rna_Main_lattices_new(Main *bmain, const char *name)
+Lattice *rna_Main_lattices_new(Main *UNUSED(bmain), const char *name)
{
Lattice *lt= add_lattice(name);
id_us_min(&lt->id);
@@ -301,7 +301,7 @@ void rna_Main_lattices_remove(Main *bmain, ReportList *reports, struct Lattice *
BKE_reportf(reports, RPT_ERROR, "Lattice \"%s\" must have zero users to be removed, found %d.", lt->id.name+2, ID_REAL_USERS(lt));
}
-Curve *rna_Main_curves_new(Main *bmain, const char *name, int type)
+Curve *rna_Main_curves_new(Main *UNUSED(bmain), const char *name, int type)
{
Curve *cu= add_curve(name, type);
id_us_min(&cu->id);
@@ -315,7 +315,7 @@ void rna_Main_curves_remove(Main *bmain, ReportList *reports, struct Curve *cu)
BKE_reportf(reports, RPT_ERROR, "Curve \"%s\" must have zero users to be removed, found %d.", cu->id.name+2, ID_REAL_USERS(cu));
}
-MetaBall *rna_Main_metaballs_new(Main *bmain, const char *name)
+MetaBall *rna_Main_metaballs_new(Main *UNUSED(bmain), const char *name)
{
MetaBall *mb= add_mball(name);
id_us_min(&mb->id);
@@ -329,7 +329,7 @@ void rna_Main_metaballs_remove(Main *bmain, ReportList *reports, struct MetaBall
BKE_reportf(reports, RPT_ERROR, "MetaBall \"%s\" must have zero users to be removed, found %d.", mb->id.name+2, ID_REAL_USERS(mb));
}
-VFont *rna_Main_fonts_load(Main *bmain, ReportList *reports, const char *filepath)
+VFont *rna_Main_fonts_load(Main *UNUSED(bmain), ReportList *reports, const char *filepath)
{
VFont *font;
@@ -352,7 +352,7 @@ void rna_Main_fonts_remove(Main *bmain, ReportList *reports, VFont *vfont)
/* XXX python now has invalid pointer? */
}
-Tex *rna_Main_textures_new(Main *bmain, const char *name, int type)
+Tex *rna_Main_textures_new(Main *UNUSED(bmain), const char *name, int type)
{
Tex *tex= add_texture(name);
tex_set_type(tex, type);
@@ -367,7 +367,7 @@ void rna_Main_textures_remove(Main *bmain, ReportList *reports, struct Tex *tex)
BKE_reportf(reports, RPT_ERROR, "Texture \"%s\" must have zero users to be removed, found %d.", tex->id.name+2, ID_REAL_USERS(tex));
}
-Brush *rna_Main_brushes_new(Main *bmain, const char *name)
+Brush *rna_Main_brushes_new(Main *UNUSED(bmain), const char *name)
{
Brush *brush = add_brush(name);
id_us_min(&brush->id);
@@ -381,7 +381,7 @@ void rna_Main_brushes_remove(Main *bmain, ReportList *reports, struct Brush *bru
BKE_reportf(reports, RPT_ERROR, "Brush \"%s\" must have zero users to be removed, found %d.", brush->id.name+2, ID_REAL_USERS(brush));
}
-World *rna_Main_worlds_new(Main *bmain, const char *name)
+World *rna_Main_worlds_new(Main *UNUSED(bmain), const char *name)
{
World *world = add_world(name);
id_us_min(&world->id);
@@ -395,7 +395,7 @@ void rna_Main_worlds_remove(Main *bmain, ReportList *reports, struct World *worl
BKE_reportf(reports, RPT_ERROR, "World \"%s\" must have zero users to be removed, found %d.", world->id.name+2, ID_REAL_USERS(world));
}
-Group *rna_Main_groups_new(Main *bmain, const char *name)
+Group *rna_Main_groups_new(Main *UNUSED(bmain), const char *name)
{
return add_group(name);
}
@@ -406,7 +406,7 @@ void rna_Main_groups_remove(Main *bmain, Group *group)
/* XXX python now has invalid pointer? */
}
-Text *rna_Main_texts_new(Main *bmain, const char *name)
+Text *rna_Main_texts_new(Main *UNUSED(bmain), const char *name)
{
return add_empty_text(name);
}
@@ -430,7 +430,7 @@ Text *rna_Main_texts_load(Main *bmain, ReportList *reports, const char *filepath
return txt;
}
-bArmature *rna_Main_armatures_new(Main *bmain, const char *name)
+bArmature *rna_Main_armatures_new(Main *UNUSED(bmain), const char *name)
{
bArmature *arm= add_armature(name);
id_us_min(&arm->id);
@@ -446,7 +446,7 @@ void rna_Main_armatures_remove(Main *bmain, ReportList *reports, bArmature *arm)
/* XXX python now has invalid pointer? */
}
-bAction *rna_Main_actions_new(Main *bmain, const char *name)
+bAction *rna_Main_actions_new(Main *UNUSED(bmain), const char *name)
{
bAction *act= add_empty_action(name);
id_us_min(&act->id);
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index 909c824074e..f407aba82fb 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -89,7 +89,7 @@ EnumPropertyItem ramp_blend_items[] = {
#include "ED_node.h"
-static void rna_Material_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Material_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
Material *ma= ptr->id.data;
@@ -100,7 +100,7 @@ static void rna_Material_update(Main *bmain, Scene *scene, PointerRNA *ptr)
WM_main_add_notifier(NC_MATERIAL|ND_SHADING, ma);
}
-static void rna_Material_draw_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Material_draw_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Material *ma= ptr->id.data;
@@ -170,6 +170,13 @@ static void rna_Material_active_texture_set(PointerRNA *ptr, PointerRNA value)
set_current_material_texture(ma, value.data);
}
+static int rna_Material_active_texture_editable(PointerRNA *ptr)
+{
+ Material *ma= (Material*)ptr->id.data;
+
+ return has_current_material_texture(ma);
+}
+
static PointerRNA rna_Material_active_node_material_get(PointerRNA *ptr)
{
Material *ma= give_node_material((Material*)ptr->data);
@@ -272,7 +279,7 @@ static void rna_Material_use_nodes_set(PointerRNA *ptr, int value)
ED_node_shader_default(ma);
}
-static EnumPropertyItem *rna_Material_texture_coordinates_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Material_texture_coordinates_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
Material *ma= (Material*)ptr->id.data;
EnumPropertyItem *item= NULL;
@@ -743,7 +750,7 @@ static void rna_def_material_colors(StructRNA *srna)
prop= RNA_def_property(srna, "diffuse_color", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "r");
RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "Diffuse Color", "");
+ RNA_def_property_ui_text(prop, "Diffuse Color", "Diffuse color of the material");
RNA_def_property_update(prop, 0, "rna_Material_draw_update");
prop= RNA_def_property(srna, "specular_color", PROP_FLOAT, PROP_COLOR);
@@ -797,25 +804,25 @@ static void rna_def_material_colors(StructRNA *srna)
prop= RNA_def_property(srna, "diffuse_ramp_blend", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "rampblend_col");
RNA_def_property_enum_items(prop, ramp_blend_items);
- RNA_def_property_ui_text(prop, "Diffuse Ramp Blend", "");
+ RNA_def_property_ui_text(prop, "Diffuse Ramp Blend", "Blending method of the ramp and the diffuse color");
RNA_def_property_update(prop, 0, "rna_Material_update");
prop= RNA_def_property(srna, "specular_ramp_blend", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "rampblend_spec");
RNA_def_property_enum_items(prop, ramp_blend_items);
- RNA_def_property_ui_text(prop, "Diffuse Ramp Blend", "");
+ RNA_def_property_ui_text(prop, "Diffuse Ramp Blend", "Blending method of the ramp and the specular color");
RNA_def_property_update(prop, 0, "rna_Material_update");
prop= RNA_def_property(srna, "diffuse_ramp_input", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "rampin_col");
RNA_def_property_enum_items(prop, prop_ramp_input_items);
- RNA_def_property_ui_text(prop, "Diffuse Ramp Input", "");
+ RNA_def_property_ui_text(prop, "Diffuse Ramp Input", "Determines how the ramp maps on the surface");
RNA_def_property_update(prop, 0, "rna_Material_update");
prop= RNA_def_property(srna, "specular_ramp_input", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "rampin_spec");
RNA_def_property_enum_items(prop, prop_ramp_input_items);
- RNA_def_property_ui_text(prop, "Specular Ramp Input", "");
+ RNA_def_property_ui_text(prop, "Specular Ramp Input", "Determines how the ramp maps on the surface");
RNA_def_property_update(prop, 0, "rna_Material_update");
prop= RNA_def_property(srna, "diffuse_ramp_factor", PROP_FLOAT, PROP_FACTOR);
@@ -836,11 +843,11 @@ static void rna_def_material_diffuse(StructRNA *srna)
PropertyRNA *prop;
static EnumPropertyItem prop_diff_shader_items[] = {
- {MA_DIFF_LAMBERT, "LAMBERT", 0, "Lambert", ""},
- {MA_DIFF_ORENNAYAR, "OREN_NAYAR", 0, "Oren-Nayar", ""},
- {MA_DIFF_TOON, "TOON", 0, "Toon", ""},
- {MA_DIFF_MINNAERT, "MINNAERT", 0, "Minnaert", ""},
- {MA_DIFF_FRESNEL, "FRESNEL", 0, "Fresnel", ""},
+ {MA_DIFF_LAMBERT, "LAMBERT", 0, "Lambert", "Use a Lambertian shader"},
+ {MA_DIFF_ORENNAYAR, "OREN_NAYAR", 0, "Oren-Nayar", "Use an Oren-Nayar shader"},
+ {MA_DIFF_TOON, "TOON", 0, "Toon", "Use a toon shader"},
+ {MA_DIFF_MINNAERT, "MINNAERT", 0, "Minnaert", "Use a Minnaert shader"},
+ {MA_DIFF_FRESNEL, "FRESNEL", 0, "Fresnel", "Use a Fresnel shader"},
{0, NULL, 0, NULL, NULL}};
prop= RNA_def_property(srna, "diffuse_shader", PROP_ENUM, PROP_NONE);
@@ -1048,7 +1055,7 @@ static void rna_def_material_volume(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem prop_lighting_items[] = {
- {MA_VOL_SHADE_SHADELESS, "SHADELESS", 0, "Shadeless", ""},
+ {MA_VOL_SHADE_SHADELESS, "SHADELESS", 0, "Shadeless", "Do not calculate lighting and shadows"},
{MA_VOL_SHADE_SHADOWED, "SHADOWED", 0, "Shadowed", ""},
{MA_VOL_SHADE_SHADED, "SHADED", 0, "Shaded", ""},
{MA_VOL_SHADE_MULTIPLE, "MULTIPLE_SCATTERING", 0, "Multiple Scattering", ""},
@@ -1168,7 +1175,7 @@ static void rna_def_material_volume(BlenderRNA *brna)
prop= RNA_def_property(srna, "emission_color", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "emission_col");
RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "Emission Color", "");
+ RNA_def_property_ui_text(prop, "Emission Color", "Color of emitted light");
RNA_def_property_update(prop, 0, "rna_Material_draw_update");
prop= RNA_def_property(srna, "emission", PROP_FLOAT, PROP_NONE);
@@ -1389,11 +1396,11 @@ static void rna_def_material_specularity(StructRNA *srna)
PropertyRNA *prop;
static EnumPropertyItem prop_specular_shader_items[] = {
- {MA_SPEC_COOKTORR, "COOKTORR", 0, "CookTorr", ""},
- {MA_SPEC_PHONG, "PHONG", 0, "Phong", ""},
- {MA_SPEC_BLINN, "BLINN", 0, "Blinn", ""},
- {MA_SPEC_TOON, "TOON", 0, "Toon", ""},
- {MA_SPEC_WARDISO, "WARDISO", 0, "WardIso", ""},
+ {MA_SPEC_COOKTORR, "COOKTORR", 0, "CookTorr", "Use a Cook-Torrance shader"},
+ {MA_SPEC_PHONG, "PHONG", 0, "Phong", "Use a Phong shader"},
+ {MA_SPEC_BLINN, "BLINN", 0, "Blinn", "Use a Blinn shader"},
+ {MA_SPEC_TOON, "TOON", 0, "Toon", "Use a toon shader"},
+ {MA_SPEC_WARDISO, "WARDISO", 0, "WardIso", "Use a Ward anisotropic shader"},
{0, NULL, 0, NULL, NULL}};
prop= RNA_def_property(srna, "specular_shader", PROP_ENUM, PROP_NONE);
@@ -1405,7 +1412,7 @@ static void rna_def_material_specularity(StructRNA *srna)
prop= RNA_def_property(srna, "specular_intensity", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "spec");
RNA_def_property_range(prop, 0, 1);
- RNA_def_property_ui_text(prop, "Specular Intensity", "");
+ RNA_def_property_ui_text(prop, "Specular Intensity", "How intense (bright) the specular reflection is");
RNA_def_property_update(prop, 0, "rna_Material_draw_update");
/* NOTE: "har", "param", etc are used for multiple purposes depending on
@@ -1416,13 +1423,13 @@ static void rna_def_material_specularity(StructRNA *srna)
prop= RNA_def_property(srna, "specular_hardness", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "har");
RNA_def_property_range(prop, 1, 511);
- RNA_def_property_ui_text(prop, "Specular Hardness", "");
+ RNA_def_property_ui_text(prop, "Specular Hardness", "How hard (sharp) the specular reflection is");
RNA_def_property_update(prop, 0, "rna_Material_draw_update");
prop= RNA_def_property(srna, "specular_ior", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "refrac");
RNA_def_property_range(prop, 1, 10);
- RNA_def_property_ui_text(prop, "Specular IOR", "");
+ RNA_def_property_ui_text(prop, "Specular IOR", "Specular index of refraction");
RNA_def_property_update(prop, 0, "rna_Material_update");
prop= RNA_def_property(srna, "specular_toon_size", PROP_FLOAT, PROP_NONE);
@@ -1585,9 +1592,9 @@ void RNA_def_material(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem prop_shadows_only_items[] = {
- {MA_SO_OLD, "SHADOW_ONLY_OLD", 0, "Shadow and Distance", ""},
- {MA_SO_SHADOW, "SHADOW_ONLY", 0, "Shadow Only", ""},
- {MA_SO_SHADED, "SHADOW_ONLY_SHADED", 0, "Shadow and Shading", ""},
+ {MA_SO_OLD, "SHADOW_ONLY_OLD", 0, "Shadow and Distance", "Old shadow only method"},
+ {MA_SO_SHADOW, "SHADOW_ONLY", 0, "Shadow Only", "Improved shadow only method"},
+ {MA_SO_SHADED, "SHADOW_ONLY_SHADED", 0, "Shadow and Shading", "Improved shadow only method which also renders lightless areas as shadows"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "Material", "ID");
@@ -1668,7 +1675,12 @@ void RNA_def_material(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Light Group", "Limit lighting to lamps in this Group");
RNA_def_property_update(prop, 0, "rna_Material_update");
-
+
+ prop= RNA_def_property(srna, "pass_index", PROP_INT, PROP_UNSIGNED);
+ RNA_def_property_int_sdna(prop, NULL, "index");
+ RNA_def_property_ui_text(prop, "Pass Index", "Index # for the IndexMA render pass");
+ RNA_def_property_update(prop, NC_OBJECT, NULL);
+
/* flags */
prop= RNA_def_property(srna, "use_light_group_exclusive", PROP_BOOLEAN, PROP_NONE);
@@ -1841,7 +1853,8 @@ void RNA_def_material(BlenderRNA *brna)
/* common */
rna_def_animdata_common(srna);
rna_def_mtex_common(brna, srna, "rna_Material_mtex_begin", "rna_Material_active_texture_get",
- "rna_Material_active_texture_set", "MaterialTextureSlot", "MaterialTextureSlots", "rna_Material_update");
+ "rna_Material_active_texture_set", "rna_Material_active_texture_editable",
+ "MaterialTextureSlot", "MaterialTextureSlots", "rna_Material_update");
/* only material has this one */
prop= RNA_def_property(srna, "use_textures", PROP_BOOLEAN, PROP_NONE);
@@ -1899,7 +1912,9 @@ static void rna_def_texture_slots(BlenderRNA *brna, PropertyRNA *cprop, const ch
RNA_def_property_flag(parm, PROP_REQUIRED);
}
-void rna_def_mtex_common(BlenderRNA *brna, StructRNA *srna, const char *begin, const char *activeget, const char *activeset, const char *structname, const char *structname_slots, const char *update)
+void rna_def_mtex_common(BlenderRNA *brna, StructRNA *srna, const char *begin,
+ const char *activeget, const char *activeset, const char *activeeditable,
+ const char *structname, const char *structname_slots, const char *update)
{
PropertyRNA *prop;
@@ -1913,6 +1928,8 @@ void rna_def_mtex_common(BlenderRNA *brna, StructRNA *srna, const char *begin, c
prop= RNA_def_property(srna, "active_texture", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "Texture");
RNA_def_property_flag(prop, PROP_EDITABLE);
+ if(activeeditable)
+ RNA_def_property_editable_func(prop, activeeditable);
RNA_def_property_pointer_funcs(prop, activeget, activeset, NULL, NULL);
RNA_def_property_ui_text(prop, "Active Texture", "Active texture slot being displayed");
RNA_def_property_update(prop, 0, update);
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index 03c79af1907..80c98e8c428 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -40,6 +40,9 @@
#include "WM_types.h"
+#include "BLI_math_base.h"
+#include "BLI_math_rotation.h"
+
#ifdef RNA_RUNTIME
#include "DNA_scene_types.h"
@@ -58,7 +61,7 @@
#include "WM_api.h"
#include "WM_types.h"
-static void rna_Mesh_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Mesh_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
ID *id= ptr->id.data;
@@ -69,7 +72,7 @@ static void rna_Mesh_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
}
}
-static void rna_Mesh_update_select(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Mesh_update_select(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
ID *id= ptr->id.data;
/* cheating way for importers to avoid slow updates */
@@ -78,7 +81,7 @@ static void rna_Mesh_update_select(Main *bmain, Scene *scene, PointerRNA *ptr)
}
}
-void rna_Mesh_update_draw(Main *bmain, Scene *scene, PointerRNA *ptr)
+void rna_Mesh_update_draw(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
ID *id= ptr->id.data;
/* cheating way for importers to avoid slow updates */
@@ -234,7 +237,7 @@ static void rna_MeshColor_color4_set(PointerRNA *ptr, const float *values)
(&mcol[3].r)[0]= (char)(CLAMPIS(values[2]*255.0f, 0, 255));
}
-static void rna_Mesh_texspace_set(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Mesh_texspace_set(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Mesh *me= (Mesh*)ptr->data;
@@ -302,6 +305,7 @@ static void rna_MeshFace_material_index_range(PointerRNA *ptr, int *min, int *ma
Mesh *me= (Mesh*)ptr->id.data;
*min= 0;
*max= me->totcol-1;
+ *max= MAX2(0, *max);
}
static CustomData *rna_mesh_fdata(Mesh *me)
@@ -333,7 +337,7 @@ static int rna_CustomDataLayer_active_get(PointerRNA *ptr, int type, int render)
else return (n == CustomData_get_active_layer_index(fdata, type));
}
-static int rna_CustomDataLayer_clone_get(PointerRNA *ptr, int type, int render)
+static int rna_CustomDataLayer_clone_get(PointerRNA *ptr, int type, int UNUSED(render))
{
Mesh *me= (Mesh*)ptr->id.data;
CustomData *fdata= rna_mesh_fdata(me);
@@ -355,7 +359,7 @@ static void rna_CustomDataLayer_active_set(PointerRNA *ptr, int value, int type,
else CustomData_set_layer_active_index(fdata, type, n);
}
-static void rna_CustomDataLayer_clone_set(PointerRNA *ptr, int value, int type, int render)
+static void rna_CustomDataLayer_clone_set(PointerRNA *ptr, int value, int type, int UNUSED(render))
{
Mesh *me= (Mesh*)ptr->id.data;
CustomData *fdata= rna_mesh_fdata(me);
@@ -367,7 +371,7 @@ static void rna_CustomDataLayer_clone_set(PointerRNA *ptr, int value, int type,
CustomData_set_layer_clone_index(fdata, type, n);
}
-static int rna_uv_texture_check(CollectionPropertyIterator *iter, void *data)
+static int rna_uv_texture_check(CollectionPropertyIterator *UNUSED(iter), void *data)
{
CustomDataLayer *layer= (CustomDataLayer*)data;
return (layer->type != CD_MTFACE);
@@ -690,7 +694,7 @@ static void rna_MeshTextureFaceLayer_name_set(PointerRNA *ptr, const char *value
CustomData_set_layer_unique_name(fdata, cdl - fdata->layers);
}
-static int rna_vertex_color_check(CollectionPropertyIterator *iter, void *data)
+static int rna_vertex_color_check(CollectionPropertyIterator *UNUSED(iter), void *data)
{
CustomDataLayer *layer= (CustomDataLayer*)data;
return (layer->type != CD_MCOL);
@@ -815,7 +819,7 @@ static int rna_MeshFloatPropertyLayer_data_length(PointerRNA *ptr)
return (me->edit_mesh)? 0: me->totface;
}
-static int rna_float_layer_check(CollectionPropertyIterator *iter, void *data)
+static int rna_float_layer_check(CollectionPropertyIterator *UNUSED(iter), void *data)
{
CustomDataLayer *layer= (CustomDataLayer*)data;
return (layer->type != CD_PROP_FLT);
@@ -833,7 +837,7 @@ static int rna_Mesh_float_layers_length(PointerRNA *ptr)
return rna_CustomDataLayer_length(ptr, CD_PROP_FLT);
}
-static int rna_int_layer_check(CollectionPropertyIterator *iter, void *data)
+static int rna_int_layer_check(CollectionPropertyIterator *UNUSED(iter), void *data)
{
CustomDataLayer *layer= (CustomDataLayer*)data;
return (layer->type != CD_PROP_INT);
@@ -864,7 +868,7 @@ static int rna_Mesh_int_layers_length(PointerRNA *ptr)
return rna_CustomDataLayer_length(ptr, CD_PROP_INT);
}
-static int rna_string_layer_check(CollectionPropertyIterator *iter, void *data)
+static int rna_string_layer_check(CollectionPropertyIterator *UNUSED(iter), void *data)
{
CustomDataLayer *layer= (CustomDataLayer*)data;
return (layer->type != CD_PROP_STR);
@@ -912,6 +916,20 @@ static void rna_TextureFace_image_set(PointerRNA *ptr, PointerRNA value)
tf->tpage= (struct Image*)id;
}
+static void rna_Mesh_auto_smooth_angle_set(PointerRNA *ptr, float value)
+{
+ Mesh *me= (Mesh*)ptr->id.data;
+ value= RAD2DEGF(value);
+ CLAMP(value, 1.0f, 80.0f);
+ me->smoothresh= (int)value;
+}
+
+static float rna_Mesh_auto_smooth_angle_get(PointerRNA *ptr)
+{
+ Mesh *me= (Mesh*)ptr->id.data;
+ return DEG2RADF((float)me->smoothresh);
+}
+
static int rna_MeshFace_verts_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
{
MFace *face= (MFace*)ptr->data;
@@ -1346,7 +1364,7 @@ static void rna_def_mtface(BlenderRNA *brna)
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_struct_name_property(srna, prop);
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_MeshTextureFaceLayer_name_set");
- RNA_def_property_ui_text(prop, "Name", "");
+ RNA_def_property_ui_text(prop, "Name", "Name of UV unwrapping layer");
RNA_def_property_update(prop, 0, "rna_Mesh_update_data");
prop= RNA_def_property(srna, "active", PROP_BOOLEAN, PROP_NONE);
@@ -1530,7 +1548,7 @@ static void rna_def_mcol(BlenderRNA *brna)
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_struct_name_property(srna, prop);
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_MeshColorLayer_name_set");
- RNA_def_property_ui_text(prop, "Name", "");
+ RNA_def_property_ui_text(prop, "Name", "Name of Vertex color layer");
RNA_def_property_update(prop, 0, "rna_Mesh_update_data");
prop= RNA_def_property(srna, "active", PROP_BOOLEAN, PROP_NONE);
@@ -1913,9 +1931,15 @@ static void rna_def_mesh(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_AUTOSMOOTH);
RNA_def_property_ui_text(prop, "Auto Smooth", "Treats all set-smoothed faces with angles less than the specified angle as 'smooth' during render");
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "auto_smooth_angle", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_Mesh_auto_smooth_angle_get", "rna_Mesh_auto_smooth_angle_set", NULL);
+ RNA_def_property_ui_range(prop, DEG2RAD(1.0), DEG2RAD(80), 1.0, 1);
+#else
prop= RNA_def_property(srna, "auto_smooth_angle", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "smoothresh");
RNA_def_property_range(prop, 1, 80);
+#endif
RNA_def_property_ui_text(prop, "Auto Smooth Angle", "Defines maximum angle between face normals that 'Auto Smooth' will operate on");
prop= RNA_def_property(srna, "show_double_sided", PROP_BOOLEAN, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_mesh_api.c b/source/blender/makesrna/intern/rna_mesh_api.c
index c1289374681..87bbea334db 100644
--- a/source/blender/makesrna/intern/rna_mesh_api.c
+++ b/source/blender/makesrna/intern/rna_mesh_api.c
@@ -65,7 +65,7 @@ void RNA_api_mesh(StructRNA *srna)
func= RNA_def_function(srna, "validate", "BKE_mesh_validate");
RNA_def_function_ui_description(func, "validate geometry, return True when the mesh has had invalid geometry corrected/removed.");
- parm= RNA_def_boolean(func, "verbose", 0, "Verbose", "Output information about the errors found");
+ RNA_def_boolean(func, "verbose", 0, "Verbose", "Output information about the errors found");
parm= RNA_def_boolean(func, "result", 0, "Result", "");
RNA_def_function_return(func, parm);
}
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 18a93b9defb..ba655915fb6 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -79,7 +79,7 @@ EnumPropertyItem modifier_type_items[] ={
{eModifierType_Shrinkwrap, "SHRINKWRAP", ICON_MOD_SHRINKWRAP, "Shrinkwrap", ""},
{eModifierType_SimpleDeform, "SIMPLE_DEFORM", ICON_MOD_SIMPLEDEFORM, "Simple Deform", ""},
{eModifierType_Smooth, "SMOOTH", ICON_MOD_SMOOTH, "Smooth", ""},
- {eModifierType_Warp, "WARP", ICON_MOD_SUBSURF, "Warp", ""},
+ {eModifierType_Warp, "WARP", ICON_MOD_SUBSURF, "Warp", ""},
{eModifierType_Wave, "WAVE", ICON_MOD_WAVE, "Wave", ""},
{0, "", 0, "Simulate", ""},
{eModifierType_Cloth, "CLOTH", ICON_MOD_CLOTH, "Cloth", ""},
@@ -214,7 +214,7 @@ static char *rna_Modifier_path(PointerRNA *ptr)
return BLI_sprintfN("modifiers[\"%s\"]", ((ModifierData*)ptr->data)->name);
}
-static void rna_Modifier_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Modifier_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
DAG_id_tag_update(ptr->id.data, OB_RECALC_DATA);
WM_main_add_notifier(NC_OBJECT|ND_MODIFIER, ptr->id.data);
@@ -404,7 +404,8 @@ static void rna_MultiresModifier_level_range(PointerRNA *ptr, int *min, int *max
MultiresModifierData *mmd = (MultiresModifierData*)ptr->data;
*min = 0;
- *max = mmd->totlvl;
+ *max = mmd->totlvl; /* intentionally _not_ -1 */
+ *max= MAX2(0, *max);
}
static int rna_MultiresModifier_external_get(PointerRNA *ptr)
@@ -578,6 +579,34 @@ static void rna_UVProjectModifier_num_projectors_set(PointerRNA *ptr, int value)
md->projectors[a]= NULL;
}
+static float rna_EdgeSplitModifier_split_angle_get(PointerRNA *ptr)
+{
+ EdgeSplitModifierData *md= (EdgeSplitModifierData*)ptr->data;
+ return DEG2RADF(md->split_angle);
+}
+
+static void rna_EdgeSplitModifier_split_angle_set(PointerRNA *ptr, float value)
+{
+ EdgeSplitModifierData *md= (EdgeSplitModifierData*)ptr->data;
+ value= RAD2DEGF(value);
+ CLAMP(value, 0.0f, 180.0f);
+ md->split_angle= (int)value;
+}
+
+static float rna_BevelModifier_angle_limit_get(PointerRNA *ptr)
+{
+ BevelModifierData *md= (BevelModifierData*)ptr->data;
+ return DEG2RADF(md->bevel_angle);
+}
+
+static void rna_BevelModifier_angle_limit_set(PointerRNA *ptr, float value)
+{
+ BevelModifierData *md= (BevelModifierData*)ptr->data;
+ value= RAD2DEGF(value);
+ CLAMP(value, 0.0f, 180.0f);
+ md->bevel_angle= (int)value;
+}
+
#else
static void rna_def_property_subdivision_common(StructRNA *srna, const char type[])
@@ -631,10 +660,10 @@ static void rna_def_modifier_subsurf(BlenderRNA *brna)
static void rna_def_modifier_generic_map_info(StructRNA *srna)
{
static EnumPropertyItem prop_texture_coordinates_items[] = {
- {MOD_DISP_MAP_LOCAL, "LOCAL", 0, "Map", ""},
- {MOD_DISP_MAP_GLOBAL, "GLOBAL", 0, "Global", ""},
- {MOD_DISP_MAP_OBJECT, "OBJECT", 0, "Object", ""},
- {MOD_DISP_MAP_UV, "UV", 0, "UV", ""},
+ {MOD_DISP_MAP_LOCAL, "LOCAL", 0, "Map", "Uses the local coordinate system for the texture coordinates"},
+ {MOD_DISP_MAP_GLOBAL, "GLOBAL", 0, "Global", "Uses the global coordinate system for the texture coordinates"},
+ {MOD_DISP_MAP_OBJECT, "OBJECT", 0, "Object", "Uses the linked object's local coordinate system for the texture coordinates"},
+ {MOD_DISP_MAP_UV, "UV", 0, "UV", "Uses UV coordinates for the texture coordinates"},
{0, NULL, 0, NULL, NULL}};
PropertyRNA *prop;
@@ -656,9 +685,9 @@ static void rna_def_modifier_generic_map_info(StructRNA *srna)
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_MappingInfo_uvlayer_set");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
- prop= RNA_def_property(srna, "texture_coordinate_object", PROP_POINTER, PROP_NONE);
+ prop= RNA_def_property(srna, "texture_coords_object", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "map_object");
- RNA_def_property_ui_text(prop, "Texture Coordinate Object", "");
+ RNA_def_property_ui_text(prop, "Texture Coordinate Object", "Object to set the texture coordinates");
RNA_def_property_flag(prop, PROP_EDITABLE|PROP_ID_SELF_CHECK);
RNA_def_property_update(prop, 0, "rna_Modifier_dependency_update");
}
@@ -754,7 +783,7 @@ static void rna_def_modifier_multires(BlenderRNA *brna)
prop= RNA_def_property(srna, "render_levels", PROP_INT, PROP_UNSIGNED);
RNA_def_property_int_sdna(prop, NULL, "renderlvl");
- RNA_def_property_ui_text(prop, "Render Levels", "");
+ RNA_def_property_ui_text(prop, "Render Levels", "The subdivision level visible at render time");
RNA_def_property_int_funcs(prop, NULL, NULL, "rna_MultiresModifier_level_range");
prop= RNA_def_property(srna, "total_levels", PROP_INT, PROP_UNSIGNED);
@@ -776,6 +805,11 @@ static void rna_def_modifier_multires(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flags", eMultiresModifierFlag_ControlEdges);
RNA_def_property_ui_text(prop, "Optimal Display", "Skip drawing/rendering of interior subdivided edges");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
+ prop= RNA_def_property(srna, "use_subsurf_uv", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flags", eMultiresModifierFlag_PlainUv);
+ RNA_def_property_ui_text(prop, "Subdivide UVs", "Use subsurf to subdivide UVs");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
static void rna_def_modifier_lattice(BlenderRNA *brna)
@@ -1020,39 +1054,39 @@ static void rna_def_modifier_wave(BlenderRNA *brna)
prop= RNA_def_property(srna, "lifetime", PROP_FLOAT, PROP_TIME);
RNA_def_property_float_sdna(prop, NULL, "lifetime");
RNA_def_property_range(prop, MINAFRAMEF, MAXFRAMEF);
- RNA_def_property_ui_text(prop, "Lifetime", "");
+ RNA_def_property_ui_text(prop, "Lifetime", "Lifetime of the wave in frames, zero means infinite");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "damping_time", PROP_FLOAT, PROP_TIME);
RNA_def_property_float_sdna(prop, NULL, "damp");
RNA_def_property_range(prop, MINAFRAMEF, MAXFRAMEF);
- RNA_def_property_ui_text(prop, "Damping Time", "");
+ RNA_def_property_ui_text(prop, "Damping Time", "Number of frames in which the waves damps out after it dies");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "falloff_radius", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "falloff");
RNA_def_property_range(prop, 0, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 100, 100, 2);
- RNA_def_property_ui_text(prop, "Falloff Radius", "");
+ RNA_def_property_ui_text(prop, "Falloff Radius", "Distance after which it fades out");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "start_position_x", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "startx");
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, -100, 100, 100, 2);
- RNA_def_property_ui_text(prop, "Start Position X", "");
+ RNA_def_property_ui_text(prop, "Start Position X", "X coordinate of the start position");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "start_position_y", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "starty");
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, -100, 100, 100, 2);
- RNA_def_property_ui_text(prop, "Start Position Y", "");
+ RNA_def_property_ui_text(prop, "Start Position Y", "Z coordinate of the start position");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "start_position_object", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "objectcenter");
- RNA_def_property_ui_text(prop, "Start Position Object", "");
+ RNA_def_property_ui_text(prop, "Start Position Object", "Object which defines the wave center");
RNA_def_property_flag(prop, PROP_EDITABLE|PROP_ID_SELF_CHECK);
RNA_def_property_update(prop, 0, "rna_Modifier_dependency_update");
@@ -1088,26 +1122,26 @@ static void rna_def_modifier_wave(BlenderRNA *brna)
prop= RNA_def_property(srna, "speed", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, -1, 1, 10, 2);
- RNA_def_property_ui_text(prop, "Speed", "");
+ RNA_def_property_ui_text(prop, "Speed", "Speed of the wave, towards the starting point when negative");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "height", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, -2, 2, 10, 2);
- RNA_def_property_ui_text(prop, "Height", "");
+ RNA_def_property_ui_text(prop, "Height", "Height of the wave");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "width", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_range(prop, 0, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 5, 10, 2);
- RNA_def_property_ui_text(prop, "Width", "");
+ RNA_def_property_ui_text(prop, "Width", "Distance between the waves");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "narrowness", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "narrow");
RNA_def_property_range(prop, 0, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 10, 10, 2);
- RNA_def_property_ui_text(prop, "Narrowness", "");
+ RNA_def_property_ui_text(prop, "Narrowness", "Distance between the top and the base of a wave, the higher the value, the more narrow the wave");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
@@ -1129,12 +1163,12 @@ static void rna_def_modifier_armature(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_bone_envelopes", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "deformflag", ARM_DEF_ENVELOPE);
- RNA_def_property_ui_text(prop, "Use Bone Envelopes", "");
+ RNA_def_property_ui_text(prop, "Use Bone Envelopes", "Binds Bone envelope to armature modifier");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "use_vertex_groups", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "deformflag", ARM_DEF_VGROUP);
- RNA_def_property_ui_text(prop, "Use Vertex Groups", "");
+ RNA_def_property_ui_text(prop, "Use Vertex Groups", "Binds vertex group to armature modifier");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "use_deform_preserve_volume", PROP_BOOLEAN, PROP_NONE);
@@ -1226,9 +1260,9 @@ static void rna_def_modifier_boolean(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem prop_operation_items[] = {
- {eBooleanModifierOp_Intersect, "INTERSECT", 0, "Intersect", ""},
- {eBooleanModifierOp_Union, "UNION", 0, "Union", ""},
- {eBooleanModifierOp_Difference, "DIFFERENCE", 0, "Difference", ""},
+ {eBooleanModifierOp_Intersect, "INTERSECT", 0, "Intersect", "Keeps the part of the mesh that intersects with the other selected object"},
+ {eBooleanModifierOp_Union, "UNION", 0, "Union", "Combines two meshes in an additive way"},
+ {eBooleanModifierOp_Difference, "DIFFERENCE", 0, "Difference", "Combines two meshes in a subtractive way"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "BooleanModifier", "Modifier");
@@ -1254,9 +1288,9 @@ static void rna_def_modifier_array(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem prop_fit_type_items[] = {
- {MOD_ARR_FIXEDCOUNT, "FIXED_COUNT", 0, "Fixed Count", ""},
- {MOD_ARR_FITLENGTH, "FIT_LENGTH", 0, "Fit Length", ""},
- {MOD_ARR_FITCURVE, "FIT_CURVE", 0, "Fit Curve", ""},
+ {MOD_ARR_FIXEDCOUNT, "FIXED_COUNT", 0, "Fixed Count", "Duplicate the object a certain number of times"},
+ {MOD_ARR_FITLENGTH, "FIT_LENGTH", 0, "Fit Length", "Duplicate the object as many times as fits in a certain length"},
+ {MOD_ARR_FITCURVE, "FIT_CURVE", 0, "Fit Curve", "Fit the duplicated objects to a curve"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "ArrayModifier", "Modifier");
@@ -1298,7 +1332,7 @@ static void rna_def_modifier_array(BlenderRNA *brna)
prop= RNA_def_property(srna, "constant_offset_displace", PROP_FLOAT, PROP_TRANSLATION);
RNA_def_property_float_sdna(prop, NULL, "offset");
- RNA_def_property_ui_text(prop, "Constant Offset Displacement", "");
+ RNA_def_property_ui_text(prop, "Constant Offset Displacement", "Value for the distance between arrayed items");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "use_relative_offset", PROP_BOOLEAN, PROP_NONE);
@@ -1308,7 +1342,7 @@ static void rna_def_modifier_array(BlenderRNA *brna)
prop= RNA_def_property(srna, "relative_offset_displace", PROP_FLOAT, PROP_NONE); /* PROP_TRANSLATION causes units to be used which we dont want */
RNA_def_property_float_sdna(prop, NULL, "scale");
- RNA_def_property_ui_text(prop, "Relative Offset Displacement", "");
+ RNA_def_property_ui_text(prop, "Relative Offset Displacement", "The size of the geometry will determine the distance between arrayed items");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
/* Vertex merging parameters */
@@ -1337,7 +1371,7 @@ static void rna_def_modifier_array(BlenderRNA *brna)
prop= RNA_def_property(srna, "offset_object", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "offset_ob");
- RNA_def_property_ui_text(prop, "Object Offset", "");
+ RNA_def_property_ui_text(prop, "Object Offset", "Uses the location and rotation of another object to determine the distance and rotational change between arrayed items");
RNA_def_property_flag(prop, PROP_EDITABLE|PROP_ID_SELF_CHECK);
RNA_def_property_update(prop, 0, "rna_Modifier_dependency_update");
@@ -1365,10 +1399,16 @@ static void rna_def_modifier_edgesplit(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "EdgeSplitModifierData");
RNA_def_struct_ui_icon(srna, ICON_MOD_EDGESPLIT);
- // XXX, convert to radians.
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "split_angle", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_EdgeSplitModifier_split_angle_get", "rna_EdgeSplitModifier_split_angle_set", NULL);
+ RNA_def_property_range(prop, 0, DEG2RAD(180));
+ RNA_def_property_ui_range(prop, 0, DEG2RAD(180), 100, 2);
+#else
prop= RNA_def_property(srna, "split_angle", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, 0, 180);
RNA_def_property_ui_range(prop, 0, 180, 100, 2);
+#endif
RNA_def_property_ui_text(prop, "Split Angle", "Angle above which to split edges");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
@@ -1389,11 +1429,11 @@ static void rna_def_modifier_displace(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem prop_direction_items[] = {
- {MOD_DISP_DIR_X, "X", 0, "X", ""},
- {MOD_DISP_DIR_Y, "Y", 0, "Y", ""},
- {MOD_DISP_DIR_Z, "Z", 0, "Z", ""},
- {MOD_DISP_DIR_NOR, "NORMAL", 0, "Normal", ""},
- {MOD_DISP_DIR_RGB_XYZ, "RGB_TO_XYZ", 0, "RGB to XYZ", ""},
+ {MOD_DISP_DIR_X, "X", 0, "X", "Uses the texture's intensity value to displace in the X direction"},
+ {MOD_DISP_DIR_Y, "Y", 0, "Y", "Uses the texture's intensity value to displace in the Y direction"},
+ {MOD_DISP_DIR_Z, "Z", 0, "Z", "Uses the texture's intensity value to displace in the Z direction"},
+ {MOD_DISP_DIR_NOR, "NORMAL", 0, "Normal", "Uses the texture's intensity value to displace in the normal direction"},
+ {MOD_DISP_DIR_RGB_XYZ, "RGB_TO_XYZ", 0, "RGB to XYZ", "Uses the texture's RGB values to displace the mesh in the XYZ direction"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "DisplaceModifier", "Modifier");
@@ -1409,7 +1449,7 @@ static void rna_def_modifier_displace(BlenderRNA *brna)
prop= RNA_def_property(srna, "mid_level", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "midlevel");
- RNA_def_property_range(prop, 0, 1);
+ RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 1, 10, 3);
RNA_def_property_ui_text(prop, "Midlevel", "Material value that gives no displacement");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
@@ -1417,7 +1457,7 @@ static void rna_def_modifier_displace(BlenderRNA *brna)
prop= RNA_def_property(srna, "strength", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, -100, 100, 10, 3);
- RNA_def_property_ui_text(prop, "Strength", "");
+ RNA_def_property_ui_text(prop, "Strength", "Amount to displace geometry");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "direction", PROP_ENUM, PROP_NONE);
@@ -1517,24 +1557,24 @@ static void rna_def_modifier_smooth(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_x", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SMOOTH_X);
- RNA_def_property_ui_text(prop, "X", "");
+ RNA_def_property_ui_text(prop, "X", "Smooth object along X axis");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "use_y", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SMOOTH_Y);
- RNA_def_property_ui_text(prop, "Y", "");
+ RNA_def_property_ui_text(prop, "Y", "Smooth object along Y axis");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "use_z", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SMOOTH_Z);
- RNA_def_property_ui_text(prop, "Z", "");
+ RNA_def_property_ui_text(prop, "Z", "Smooth object along Z axis");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "factor", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "fac");
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, -10, 10, 1, 3);
- RNA_def_property_ui_text(prop, "Factor", "");
+ RNA_def_property_ui_text(prop, "Factor", "Strength of modifier effect");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "iterations", PROP_INT, PROP_NONE);
@@ -1569,7 +1609,7 @@ static void rna_def_modifier_cast(BlenderRNA *brna)
prop= RNA_def_property(srna, "cast_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "type");
RNA_def_property_enum_items(prop, prop_cast_type_items);
- RNA_def_property_ui_text(prop, "Cast Type", "");
+ RNA_def_property_ui_text(prop, "Cast Type", "Target object shape");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
@@ -1965,10 +2005,17 @@ static void rna_def_modifier_bevel(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Edge Weight Method", "What edge weight to use for weighting a vertex");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "angle_limit", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_BevelModifier_angle_limit_get", "rna_BevelModifier_angle_limit_set", NULL);
+ RNA_def_property_range(prop, 0, DEG2RAD(180));
+ RNA_def_property_ui_range(prop, 0, DEG2RAD(180), 100, 2);
+#else
prop= RNA_def_property(srna, "angle_limit", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "bevel_angle");
RNA_def_property_range(prop, 0, 180);
RNA_def_property_ui_range(prop, 0, 180, 100, 2);
+#endif
RNA_def_property_ui_text(prop, "Angle", "Angle above which to bevel edges");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
@@ -1979,9 +2026,9 @@ static void rna_def_modifier_shrinkwrap(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem shrink_type_items[] = {
- {MOD_SHRINKWRAP_NEAREST_SURFACE, "NEAREST_SURFACEPOINT", 0, "Nearest Surface Point", ""},
- {MOD_SHRINKWRAP_PROJECT, "PROJECT", 0, "Project", ""},
- {MOD_SHRINKWRAP_NEAREST_VERTEX, "NEAREST_VERTEX", 0, "Nearest Vertex", ""},
+ {MOD_SHRINKWRAP_NEAREST_SURFACE, "NEAREST_SURFACEPOINT", 0, "Nearest Surface Point", "Shrinks the mesh to the nearest target surface"},
+ {MOD_SHRINKWRAP_PROJECT, "PROJECT", 0, "Project", "Shrinks the mesh to the nearest target surface along a given axis"},
+ {MOD_SHRINKWRAP_NEAREST_VERTEX, "NEAREST_VERTEX", 0, "Nearest Vertex", "Shrinks the mesh to the nearest target vertex"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem shrink_face_cull_items[] = {
@@ -2133,10 +2180,10 @@ static void rna_def_modifier_simpledeform(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem simple_deform_mode_items[] = {
- {MOD_SIMPLEDEFORM_MODE_TWIST, "TWIST", 0, "Twist", ""},
- {MOD_SIMPLEDEFORM_MODE_BEND, "BEND", 0, "Bend", ""},
- {MOD_SIMPLEDEFORM_MODE_TAPER, "TAPER", 0, "Taper", ""},
- {MOD_SIMPLEDEFORM_MODE_STRETCH, "STRETCH", 0, "Stretch", ""},
+ {MOD_SIMPLEDEFORM_MODE_TWIST, "TWIST", 0, "Twist", "Rotates around the Z axis of the modifier space"},
+ {MOD_SIMPLEDEFORM_MODE_BEND, "BEND", 0, "Bend", "Bends the mesh over the Z axis of the modifier space"},
+ {MOD_SIMPLEDEFORM_MODE_TAPER, "TAPER", 0, "Taper", "Linearly scales along Z axis of the modifier space"},
+ {MOD_SIMPLEDEFORM_MODE_STRETCH, "STRETCH", 0, "Stretch", "Stretches the object along the Z axis of the modifier space"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "SimpleDeformModifier", "Modifier");
@@ -2169,7 +2216,7 @@ static void rna_def_modifier_simpledeform(BlenderRNA *brna)
prop= RNA_def_property(srna, "factor", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_range(prop, -10, 10, 1, 3);
- RNA_def_property_ui_text(prop, "Factor", "");
+ RNA_def_property_ui_text(prop, "Factor", "Amount to deform object");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "limits", PROP_FLOAT, PROP_NONE);
@@ -2182,12 +2229,12 @@ static void rna_def_modifier_simpledeform(BlenderRNA *brna)
prop= RNA_def_property(srna, "lock_x", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "axis", MOD_SIMPLEDEFORM_LOCK_AXIS_X);
- RNA_def_property_ui_text(prop, "Lock X Axis", "");
+ RNA_def_property_ui_text(prop, "Lock X Axis", "Do not allow tapering along the X axis");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop= RNA_def_property(srna, "lock_y", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "axis", MOD_SIMPLEDEFORM_LOCK_AXIS_Y);
- RNA_def_property_ui_text(prop, "Lock Y Axis", "");
+ RNA_def_property_ui_text(prop, "Lock Y Axis", "Do not allow tapering along the Y axis");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
diff --git a/source/blender/makesrna/intern/rna_nla.c b/source/blender/makesrna/intern/rna_nla.c
index 9bf5f53f8b7..71bff06a864 100644
--- a/source/blender/makesrna/intern/rna_nla.c
+++ b/source/blender/makesrna/intern/rna_nla.c
@@ -94,7 +94,7 @@ static char *rna_NlaStrip_path(PointerRNA *ptr)
return "";
}
-static void rna_NlaStrip_transform_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_NlaStrip_transform_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
NlaStrip *strip= (NlaStrip*)ptr->data;
@@ -273,7 +273,7 @@ static void rna_NlaStrip_animated_time_set(PointerRNA *ptr, int value)
data->flag &= ~NLASTRIP_FLAG_USR_TIME;
}
-static NlaStrip *rna_NlaStrip_new(NlaTrack *track, bContext *C, ReportList *reports, const char *name, int start, bAction *action)
+static NlaStrip *rna_NlaStrip_new(NlaTrack *track, bContext *C, ReportList *reports, const char *UNUSED(name), int start, bAction *action)
{
NlaStrip *strip = add_nlastrip(action);
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index 3c26c18f17f..7fd6a9dacfe 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -257,7 +257,7 @@ static void rna_Node_scene_set(PointerRNA *ptr, PointerRNA value)
-static void node_update(Main *bmain, Scene *scene, bNodeTree *ntree, bNode *node)
+static void node_update(Main *bmain, Scene *UNUSED(scene), bNodeTree *ntree, bNode *node)
{
ED_node_generic_update(bmain, ntree, node);
}
@@ -367,7 +367,7 @@ static EnumPropertyItem *renderresult_layers_add_enum(RenderLayer *rl)
return item;
}
-static EnumPropertyItem *rna_Node_image_layer_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Node_image_layer_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
bNode *node= (bNode*)ptr->data;
Image *ima = (Image *)node->id;
@@ -384,7 +384,7 @@ static EnumPropertyItem *rna_Node_image_layer_itemf(bContext *C, PointerRNA *ptr
return item;
}
-static EnumPropertyItem *rna_Node_scene_layer_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Node_scene_layer_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
bNode *node= (bNode*)ptr->data;
Scene *sce = (Scene *)node->id;
@@ -401,7 +401,7 @@ static EnumPropertyItem *rna_Node_scene_layer_itemf(bContext *C, PointerRNA *ptr
return item;
}
-static EnumPropertyItem *rna_Node_channel_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Node_channel_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
bNode *node= (bNode*)ptr->data;
EnumPropertyItem *item= NULL;
@@ -451,7 +451,7 @@ static EnumPropertyItem *rna_Node_channel_itemf(bContext *C, PointerRNA *ptr, in
return item;
}
-static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *C, ReportList *reports, int type, bNodeTree *group)
+static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *UNUSED(C), ReportList *reports, int type, bNodeTree *group)
{
bNode *node;
@@ -1323,6 +1323,9 @@ static void def_cmp_output_file(StructRNA *srna)
{R_TARGA, "TARGA", 0, "Targa", ""},
{R_RAWTGA, "RAW_TARGA", 0, "Targa Raw", ""},
{R_PNG, "PNG", 0, "PNG", ""},
+#ifdef WITH_DDS
+ {R_DDS, "DDS", 0, "DirectDraw Surface", ""},
+#endif
{R_BMP, "BMP", 0, "BMP", ""},
{R_JPEG90, "JPEG", 0, "JPEG", ""},
{R_IRIS, "IRIS", 0, "IRIS", ""},
@@ -2218,6 +2221,7 @@ static void def_cmp_colorbalance(StructRNA *srna)
RNA_def_property_float_sdna(prop, NULL, "gamma");
RNA_def_property_array(prop, 3);
RNA_def_property_float_array_default(prop, default_1);
+ RNA_def_property_range(prop, 0.f, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 2, 0.1, 3);
RNA_def_property_ui_text(prop, "Power", "Correction for Midtones");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
@@ -2226,6 +2230,7 @@ static void def_cmp_colorbalance(StructRNA *srna)
RNA_def_property_float_sdna(prop, NULL, "gain");
RNA_def_property_array(prop, 3);
RNA_def_property_float_array_default(prop, default_1);
+ RNA_def_property_range(prop, 0.f, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 2, 0.1, 3);
RNA_def_property_ui_text(prop, "Slope", "Correction for Highlights");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 021ce177751..58a85c274ea 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -69,14 +69,14 @@ EnumPropertyItem object_mode_items[] = {
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem parent_type_items[] = {
- {PAROBJECT, "OBJECT", 0, "Object", ""},
- {PARCURVE, "CURVE", 0, "Curve", ""},
+ {PAROBJECT, "OBJECT", 0, "Object", "The object is parented to an object"},
+ {PARCURVE, "CURVE", 0, "Curve", "The object is parented to a curve"},
{PARKEY, "KEY", 0, "Key", ""},
{PARSKEL, "ARMATURE", 0, "Armature", ""},
- {PARSKEL, "LATTICE", 0, "Lattice", ""}, // PARSKEL reuse will give issues
- {PARVERT1, "VERTEX", 0, "Vertex", ""},
+ {PARSKEL, "LATTICE", 0, "Lattice", "The object is parented to a lattice"}, // PARSKEL reuse will give issues
+ {PARVERT1, "VERTEX", 0, "Vertex", "The object is parented to a vertex"},
{PARVERT3, "VERTEX_3", 0, "3 Vertices", ""},
- {PARBONE, "BONE", 0, "Bone", ""},
+ {PARBONE, "BONE", 0, "Bone", "The object is parented to a bone"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem collision_bounds_items[] = {
@@ -157,7 +157,7 @@ EnumPropertyItem object_type_curve_items[] = {
#include "ED_curve.h"
#include "ED_lattice.h"
-static void rna_Object_internal_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Object_internal_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
DAG_id_tag_update(ptr->id.data, OB_RECALC_OB);
}
@@ -215,7 +215,7 @@ static void rna_Object_matrix_basis_set(PointerRNA *ptr, const float values[16])
object_apply_mat4(ob, (float(*)[4])values, FALSE, FALSE);
}
-void rna_Object_internal_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
+void rna_Object_internal_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
DAG_id_tag_update(ptr->id.data, OB_RECALC_DATA);
WM_main_add_notifier(NC_OBJECT|ND_DRAW, ptr->id.data);
@@ -255,14 +255,14 @@ static void rna_Object_dependency_update(Main *bmain, Scene *scene, PointerRNA *
}
/* when changing the selection flag the scene needs updating */
-static void rna_Object_select_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Object_select_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
short mode = ob->flag & SELECT ? BA_SELECT : BA_DESELECT;
ED_base_object_select(object_in_scene(ob, scene), mode);
}
-static void rna_Base_select_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Base_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Base *base= (Base*)ptr->data;
short mode = base->flag & BA_SELECT ? BA_SELECT : BA_DESELECT;
@@ -272,11 +272,16 @@ static void rna_Base_select_update(Main *bmain, Scene *scene, PointerRNA *ptr)
static void rna_Object_layer_update__internal(Main *bmain, Scene *scene, Base *base, Object *ob)
{
/* try to avoid scene sort */
- if((ob->lay & scene->lay) && (base->lay & scene->lay)) {
+ if(scene == NULL) {
+ /* pass - unlikely but when running scripts on startup it happens */
+ }
+ else if((ob->lay & scene->lay) && (base->lay & scene->lay)) {
/* pass */
- } else if((ob->lay & scene->lay)==0 && (base->lay & scene->lay)==0) {
+ }
+ else if((ob->lay & scene->lay)==0 && (base->lay & scene->lay)==0) {
/* pass */
- } else {
+ }
+ else {
DAG_scene_sort(bmain, scene);
}
}
@@ -286,7 +291,7 @@ static void rna_Object_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
Object *ob= (Object*)ptr->id.data;
Base *base;
- base= object_in_scene(ob, scene);
+ base= scene ? object_in_scene(ob, scene) : NULL;
if(!base)
return;
@@ -309,22 +314,26 @@ static void rna_Base_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
WM_main_add_notifier(NC_SCENE|ND_LAYER_CONTENT, scene);
}
-static int rna_Object_data_editable(PointerRNA *ptr)
-{
- Object *ob= (Object*)ptr->data;
-
- return (ob->type == OB_EMPTY)? 0: PROP_EDITABLE;
-}
-
static void rna_Object_data_set(PointerRNA *ptr, PointerRNA value)
{
Object *ob= (Object*)ptr->data;
ID *id= value.data;
- if(ob->type == OB_EMPTY || id == NULL || ob->mode & OB_MODE_EDIT)
+ if (id == NULL || ob->mode & OB_MODE_EDIT)
return;
-
- if(ob->type == OB_MESH) {
+
+ if (ob->type == OB_EMPTY) {
+ if(ob->data) {
+ id_us_min((ID*)ob->data);
+ ob->data = NULL;
+ }
+
+ if (id && GS(id->name) == ID_IM) {
+ id_us_plus(id);
+ ob->data = id;
+ }
+ }
+ else if(ob->type == OB_MESH) {
set_mesh(ob, (Mesh*)id);
}
else {
@@ -348,6 +357,7 @@ static StructRNA *rna_Object_data_typef(PointerRNA *ptr)
Object *ob= (Object*)ptr->data;
switch(ob->type) {
+ case OB_EMPTY: return &RNA_Image;
case OB_MESH: return &RNA_Mesh;
case OB_CURVE: return &RNA_Curve;
case OB_SURF: return &RNA_Curve;
@@ -376,7 +386,7 @@ static void rna_Object_parent_type_set(PointerRNA *ptr, int value)
ED_object_parent(ob, ob->parent, value, ob->parsubstr);
}
-static EnumPropertyItem *rna_Object_parent_type_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Object_parent_type_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
Object *ob= (Object*)ptr->data;
EnumPropertyItem *item= NULL;
@@ -407,7 +417,7 @@ static EnumPropertyItem *rna_Object_parent_type_itemf(bContext *C, PointerRNA *p
return item;
}
-static EnumPropertyItem *rna_Object_collision_bounds_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Object_collision_bounds_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
Object *ob= (Object*)ptr->data;
EnumPropertyItem *item= NULL;
@@ -451,6 +461,14 @@ static void rna_Object_dup_group_set(PointerRNA *ptr, PointerRNA value)
BKE_report(NULL, RPT_ERROR, "Cannot set dupli-group as object belongs in group being instanced thus causing a cycle");
}
+void rna_VertexGroup_name_set(PointerRNA *ptr, const char *value)
+{
+ Object *ob= (Object *)ptr->id.data;
+ bDeformGroup *dg= (bDeformGroup *)ptr->data;
+ BLI_strncpy(dg->name, value, sizeof(dg->name));
+ defgroup_unique_name(dg, ob);
+}
+
static int rna_VertexGroup_index_get(PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
@@ -467,7 +485,7 @@ static PointerRNA rna_Object_active_vertex_group_get(PointerRNA *ptr)
static int rna_Object_active_vertex_group_index_get(PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
- return MAX2(ob->actdef-1, 0);
+ return ob->actdef-1;
}
static void rna_Object_active_vertex_group_index_set(PointerRNA *ptr, int value)
@@ -633,7 +651,7 @@ static void rna_Object_active_particle_system_index_set(PointerRNA *ptr, int val
psys_set_current_num(ob, value);
}
-static void rna_Object_particle_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Object_particle_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
@@ -1023,8 +1041,13 @@ static void rna_Object_active_shape_key_index_range(PointerRNA *ptr, int *min, i
Key *key= ob_get_key(ob);
*min= 0;
- *max= (key)? BLI_countlist(&key->block)-1: 0;
- *max= MAX2(0, *max);
+ if(key) {
+ *max= BLI_countlist(&key->block)-1;
+ if(*max < 0) *max= 0;
+ }
+ else {
+ *max= 0;
+ }
}
static int rna_Object_active_shape_key_index_get(PointerRNA *ptr)
@@ -1193,27 +1216,27 @@ static float rna_VertexGroup_weight(ID *id, bDeformGroup *dg, ReportList *report
}
/* generic poll functions */
-int rna_Lattice_object_poll(PointerRNA *ptr, PointerRNA value)
+int rna_Lattice_object_poll(PointerRNA *UNUSED(ptr), PointerRNA value)
{
return ((Object *)value.id.data)->type == OB_LATTICE;
}
-int rna_Curve_object_poll(PointerRNA *ptr, PointerRNA value)
+int rna_Curve_object_poll(PointerRNA *UNUSED(ptr), PointerRNA value)
{
return ((Object *)value.id.data)->type == OB_CURVE;
}
-int rna_Armature_object_poll(PointerRNA *ptr, PointerRNA value)
+int rna_Armature_object_poll(PointerRNA *UNUSED(ptr), PointerRNA value)
{
return ((Object *)value.id.data)->type == OB_ARMATURE;
}
-int rna_Mesh_object_poll(PointerRNA *ptr, PointerRNA value)
+int rna_Mesh_object_poll(PointerRNA *UNUSED(ptr), PointerRNA value)
{
return ((Object *)value.id.data)->type == OB_MESH;
}
-int rna_Camera_object_poll(PointerRNA *ptr, PointerRNA value)
+int rna_Camera_object_poll(PointerRNA *UNUSED(ptr), PointerRNA value)
{
return ((Object *)value.id.data)->type == OB_CAMERA;
}
@@ -1243,6 +1266,7 @@ static void rna_def_vertex_group(BlenderRNA *brna)
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_property_ui_text(prop, "Name", "Vertex group name");
RNA_def_struct_name_property(srna, prop);
+ RNA_def_property_string_funcs(prop, NULL, NULL, "rna_VertexGroup_name_set");
RNA_def_property_update(prop, NC_GEOM|ND_DATA|NA_RENAME, "rna_Object_internal_update_data"); /* update data because modifiers may use [#24761] */
prop= RNA_def_property(srna, "index", PROP_INT, PROP_UNSIGNED);
@@ -1738,6 +1762,7 @@ static void rna_def_object(BlenderRNA *brna)
{OB_CUBE, "CUBE", 0, "Cube", ""},
{OB_EMPTY_SPHERE, "SPHERE", 0, "Sphere", ""},
{OB_EMPTY_CONE, "CONE", 0, "Cone", ""},
+ {OB_EMPTY_IMAGE, "IMAGE", 0, "Image", ""},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem track_items[] = {
@@ -1756,20 +1781,20 @@ static void rna_def_object(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem drawtype_items[] = {
- {OB_BOUNDBOX, "BOUNDS", 0, "Bounds", ""},
- {OB_WIRE, "WIRE", 0, "Wire", ""},
- {OB_SOLID, "SOLID", 0, "Solid", ""},
+ {OB_BOUNDBOX, "BOUNDS", 0, "Bounds", "Draw the bounding box of the object"},
+ {OB_WIRE, "WIRE", 0, "Wire", "Draw the object as a wireframe"},
+ {OB_SOLID, "SOLID", 0, "Solid", "Draw the object as a solid (If solid drawing is enabled in the viewport)"},
// disabled {OB_SHADED, "SHADED", 0, "Shaded", ""},
- {OB_TEXTURE, "TEXTURED", 0, "Textured", ""},
+ {OB_TEXTURE, "TEXTURED", 0, "Textured", "Draw the object with textures (If textures are enabled in the viewport)"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem boundtype_items[] = {
- {OB_BOUND_BOX, "BOX", 0, "Box", ""},
- {OB_BOUND_SPHERE, "SPHERE", 0, "Sphere", ""},
- {OB_BOUND_CYLINDER, "CYLINDER", 0, "Cylinder", ""},
- {OB_BOUND_CONE, "CONE", 0, "Cone", ""},
- {OB_BOUND_POLYH, "POLYHEDRON", 0, "Polyhedron", ""},
- {OB_BOUND_CAPSULE, "CAPSULE", 0, "Capsule", ""},
+ {OB_BOUND_BOX, "BOX", 0, "Box", "Draw bounds as box"},
+ {OB_BOUND_SPHERE, "SPHERE", 0, "Sphere", "Draw bounds as sphere"},
+ {OB_BOUND_CYLINDER, "CYLINDER", 0, "Cylinder", "Draw bounds as cylinder"},
+ {OB_BOUND_CONE, "CONE", 0, "Cone", "Draw bounds as cone"},
+ {OB_BOUND_POLYH, "POLYHEDRON", 0, "Polyhedron", "Draw bounds as polyhedron"},
+ {OB_BOUND_CAPSULE, "CAPSULE", 0, "Capsule", "Draw bounds as capsule"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem dupli_items[] = {
@@ -1805,7 +1830,6 @@ static void rna_def_object(BlenderRNA *brna)
prop= RNA_def_property(srna, "data", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "ID");
RNA_def_property_pointer_funcs(prop, NULL, "rna_Object_data_set", "rna_Object_data_typef", NULL);
- RNA_def_property_editable_func(prop, "rna_Object_data_editable");
RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_UNLINK);
RNA_def_property_ui_text(prop, "Data", "Object data");
RNA_def_property_update(prop, 0, "rna_Object_internal_update_data");
@@ -1859,7 +1883,6 @@ static void rna_def_object(BlenderRNA *brna)
prop= RNA_def_property(srna, "parent_vertices", PROP_INT, PROP_UNSIGNED);
RNA_def_property_int_sdna(prop, NULL, "par1");
RNA_def_property_array(prop, 3);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Parent Vertices", "Indices of vertices in cases of a vertex parenting relation");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_internal_update");
@@ -2090,6 +2113,12 @@ static void rna_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Empty Display Size", "Size of display for empties in the viewport");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
+ prop= RNA_def_property(srna, "empty_image_offset", PROP_FLOAT, PROP_DISTANCE);
+ RNA_def_property_float_sdna(prop, NULL, "ima_ofs");
+ RNA_def_property_ui_text(prop, "Origin Offset", "Origin offset distance");
+ RNA_def_property_ui_range(prop, -FLT_MAX, FLT_MAX, 0.1f, 2);
+ RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
+
/* render */
prop= RNA_def_property(srna, "pass_index", PROP_INT, PROP_UNSIGNED);
RNA_def_property_int_sdna(prop, NULL, "index");
@@ -2292,12 +2321,12 @@ static void rna_def_object(BlenderRNA *brna)
prop= RNA_def_property(srna, "show_transparent", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dtx", OB_DRAWTRANSP);
- RNA_def_property_ui_text(prop, "Draw Transparent", "Displays material transparency in the object");
+ RNA_def_property_ui_text(prop, "Draw Transparent", "Displays material transparency in the object (unsupported for duplicator drawing)");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
prop= RNA_def_property(srna, "show_x_ray", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dtx", OB_DRAWXRAY);
- RNA_def_property_ui_text(prop, "X-Ray", "Makes the object draw in front of others");
+ RNA_def_property_ui_text(prop, "X-Ray", "Makes the object draw in front of others (unsupported for duplicator drawing)");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
/* Grease Pencil */
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index d6af04f2475..21fa28af01a 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -45,6 +45,8 @@
// #include "ED_mesh.h"
+#include "BLI_math.h"
+
#ifdef RNA_RUNTIME
#include "BKE_main.h"
@@ -64,8 +66,6 @@
#include "BKE_mball.h"
#include "BKE_modifier.h"
-#include "BLI_math.h"
-
#include "DNA_mesh_types.h"
#include "DNA_scene_types.h"
#include "DNA_meshdata_types.h"
@@ -415,6 +415,41 @@ void rna_Object_ray_cast(Object *ob, ReportList *reports, float ray_start[3], fl
*index= -1;
}
+void rna_Object_closest_point_on_mesh(Object *ob, ReportList *reports, float point_co[3], float max_dist, float n_location[3], float n_normal[3], int *index)
+{
+ BVHTreeFromMesh treeData= {NULL};
+
+ if(ob->derivedFinal==NULL) {
+ BKE_reportf(reports, RPT_ERROR, "object \"%s\" has no mesh data to be used for finding nearest point.", ob->id.name+2);
+ return;
+ }
+
+ /* no need to managing allocation or freeing of the BVH data. this is generated and freed as needed */
+ bvhtree_from_mesh_faces(&treeData, ob->derivedFinal, 0.0f, 4, 6);
+
+ if(treeData.tree==NULL) {
+ BKE_reportf(reports, RPT_ERROR, "object \"%s\" could not create internal data for finding nearest point", ob->id.name+2);
+ return;
+ }
+ else {
+ BVHTreeNearest nearest;
+
+ nearest.index = -1;
+ nearest.dist = max_dist * max_dist;
+
+ if(BLI_bvhtree_find_nearest(treeData.tree, point_co, &nearest, treeData.nearest_callback, &treeData) != -1) {
+ copy_v3_v3(n_location, nearest.co);
+ copy_v3_v3(n_normal, nearest.no);
+ *index= nearest.index;
+ return;
+ }
+ }
+
+ zero_v3(n_location);
+ zero_v3(n_normal);
+ *index= -1;
+}
+
/* ObjectBase */
void rna_ObjectBase_layers_from_view(Base *base, View3D *v3d)
@@ -501,6 +536,27 @@ void RNA_api_object(StructRNA *srna)
parm= RNA_def_int(func, "index", 0, 0, 0, "", "The face index, -1 when no intersection is found.", 0, 0);
RNA_def_function_output(func, parm);
+ /* Nearest Point */
+ func= RNA_def_function(srna, "closest_point_on_mesh", "rna_Object_closest_point_on_mesh");
+ RNA_def_function_ui_description(func, "Find the nearest point on the object.");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+
+ /* location of point for test and max distance */
+ parm= RNA_def_float_vector(func, "point", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_float(func, "max_dist", sqrt(FLT_MAX), 0.0, FLT_MAX, "", "", 0.0, FLT_MAX);
+
+ /* return location and normal */
+ parm= RNA_def_float_vector(func, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location", "The location on the object closest to the point", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_THICK_WRAP);
+ RNA_def_function_output(func, parm);
+ parm= RNA_def_float_vector(func, "normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal", "The face normal at the closest point", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_THICK_WRAP);
+ RNA_def_function_output(func, parm);
+
+ parm= RNA_def_int(func, "index", 0, 0, 0, "", "The face index, -1 when no closest point is found.", 0, 0);
+ RNA_def_function_output(func, parm);
+
/* View */
func= RNA_def_function(srna, "is_visible", "rna_Object_is_visible");
RNA_def_function_ui_description(func, "Determine if object is visible in a given scene.");
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c
index a4fbd7c160e..ca679239dd3 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -101,7 +101,7 @@ EnumPropertyItem empty_vortex_shape_items[] = {
#include "ED_object.h"
-static void rna_Cache_change(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Cache_change(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = (Object*)ptr->id.data;
PointCache *cache = (PointCache*)ptr->data;
@@ -132,7 +132,7 @@ static void rna_Cache_change(Main *bmain, Scene *scene, PointerRNA *ptr)
BLI_freelistN(&pidlist);
}
-static void rna_Cache_toggle_disk_cache(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Cache_toggle_disk_cache(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = (Object*)ptr->id.data;
PointCache *cache = (PointCache*)ptr->data;
@@ -158,7 +158,7 @@ static void rna_Cache_toggle_disk_cache(Main *bmain, Scene *scene, PointerRNA *p
BLI_freelistN(&pidlist);
}
-static void rna_Cache_idname_change(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Cache_idname_change(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = (Object*)ptr->id.data;
PointCache *cache = (PointCache*)ptr->data;
@@ -320,7 +320,7 @@ static void rna_PointCache_frame_step_range(PointerRNA *ptr, int *min, int *max)
BLI_freelistN(&pidlist);
}
-static char *rna_CollisionSettings_path(PointerRNA *ptr)
+static char *rna_CollisionSettings_path(PointerRNA *UNUSED(ptr))
{
/* both methods work ok, but return the shorter path */
#if 0
@@ -481,7 +481,7 @@ static int particle_id_check(PointerRNA *ptr)
return (GS(id->name) == ID_PA);
}
-static void rna_FieldSettings_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_FieldSettings_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
if(particle_id_check(ptr)) {
ParticleSettings *part = (ParticleSettings*)ptr->id.data;
@@ -587,7 +587,7 @@ static char *rna_FieldSettings_path(PointerRNA *ptr)
return NULL;
}
-static void rna_EffectorWeight_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_EffectorWeight_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
DAG_id_tag_update((ID*)ptr->id.data, OB_RECALC_DATA|PSYS_RECALC_RESET);
@@ -661,7 +661,7 @@ static void rna_CollisionSettings_dependency_update(Main *bmain, Scene *scene, P
WM_main_add_notifier(NC_OBJECT|ND_DRAW, ob);
}
-static void rna_CollisionSettings_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_CollisionSettings_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
@@ -669,7 +669,7 @@ static void rna_CollisionSettings_update(Main *bmain, Scene *scene, PointerRNA *
WM_main_add_notifier(NC_OBJECT|ND_DRAW, ob);
}
-static void rna_softbody_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_softbody_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
@@ -678,7 +678,7 @@ static void rna_softbody_update(Main *bmain, Scene *scene, PointerRNA *ptr)
}
-static EnumPropertyItem *rna_Effector_shape_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Effector_shape_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
Object *ob= NULL;
@@ -910,13 +910,6 @@ static void rna_def_collision(BlenderRNA *brna)
RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_ui_text(prop, "Damping", "Amount of damping during collision");
RNA_def_property_update(prop, 0, "rna_CollisionSettings_update");
-
- /* Does this belong here?
- prop= RNA_def_property(srna, "collision_stack", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "softflag", OB_SB_COLLFINAL);
- RNA_def_property_ui_text(prop, "Collision from Stack", "Pick collision object from modifier stack (softbody only)");
- RNA_def_property_update(prop, 0, "rna_CollisionSettings_update");
- */
prop= RNA_def_property(srna, "absorption", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_range(prop, 0.0f, 1.0f);
@@ -1055,18 +1048,18 @@ static void rna_def_field(BlenderRNA *brna)
static EnumPropertyItem field_type_items[] = {
{0, "NONE", 0, "None", ""},
- {PFIELD_FORCE, "FORCE", ICON_FORCE_FORCE, "Force", ""},
- {PFIELD_WIND, "WIND", ICON_FORCE_WIND, "Wind", ""},
- {PFIELD_VORTEX, "VORTEX", ICON_FORCE_VORTEX, "Vortex", ""},
- {PFIELD_MAGNET, "MAGNET", ICON_FORCE_MAGNETIC, "Magnetic", ""},
- {PFIELD_HARMONIC, "HARMONIC", ICON_FORCE_HARMONIC, "Harmonic", ""},
- {PFIELD_CHARGE, "CHARGE", ICON_FORCE_CHARGE, "Charge", ""},
- {PFIELD_LENNARDJ, "LENNARDJ", ICON_FORCE_LENNARDJONES, "Lennard-Jones", ""},
- {PFIELD_TEXTURE, "TEXTURE", ICON_FORCE_TEXTURE, "Texture", ""},
- {PFIELD_GUIDE, "GUIDE", ICON_FORCE_CURVE, "Curve Guide", ""},
+ {PFIELD_FORCE, "FORCE", ICON_FORCE_FORCE, "Force", "Gives a radial field toward the center of object"},
+ {PFIELD_WIND, "WIND", ICON_FORCE_WIND, "Wind", "Gives a constant force along the force objects local Z axis"},
+ {PFIELD_VORTEX, "VORTEX", ICON_FORCE_VORTEX, "Vortex", "Gives a spiraling force that twists the force objects local Z axis"},
+ {PFIELD_MAGNET, "MAGNET", ICON_FORCE_MAGNETIC, "Magnetic", "Forcefield depends on the speed of the particles"},
+ {PFIELD_HARMONIC, "HARMONIC", ICON_FORCE_HARMONIC, "Harmonic", "The source of this force field is the zero point of a harmonic oscillator"},
+ {PFIELD_CHARGE, "CHARGE", ICON_FORCE_CHARGE, "Charge", "Spherical forcefield based on the charge of particles, only influences other charge force fields"},
+ {PFIELD_LENNARDJ, "LENNARDJ", ICON_FORCE_LENNARDJONES, "Lennard-Jones", "Forcefield based on the Lennard-Jones potential"},
+ {PFIELD_TEXTURE, "TEXTURE", ICON_FORCE_TEXTURE, "Texture", "Forcefield based on a texture"},
+ {PFIELD_GUIDE, "GUIDE", ICON_FORCE_CURVE, "Curve Guide", "Creates a force along a curve object"},
{PFIELD_BOID, "BOID", ICON_FORCE_BOID, "Boid", ""},
- {PFIELD_TURBULENCE, "TURBULENCE", ICON_FORCE_TURBULENCE, "Turbulence", ""},
- {PFIELD_DRAG, "DRAG", ICON_FORCE_DRAG, "Drag", ""},
+ {PFIELD_TURBULENCE, "TURBULENCE", ICON_FORCE_TURBULENCE, "Turbulence", "Creates turbulence with a noise field"},
+ {PFIELD_DRAG, "DRAG", ICON_FORCE_DRAG, "Drag", "Creates a force that dampens motion"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem falloff_items[] = {
@@ -1126,7 +1119,7 @@ static void rna_def_field(BlenderRNA *brna)
prop= RNA_def_property(srna, "falloff_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "falloff");
RNA_def_property_enum_items(prop, falloff_items);
- RNA_def_property_ui_text(prop, "Fall-Off", "Fall-off shape");
+ RNA_def_property_ui_text(prop, "Fall-Off", "");
RNA_def_property_update(prop, 0, "rna_FieldSettings_update");
prop= RNA_def_property(srna, "texture_mode", PROP_ENUM, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c
index 9fd5fafc712..30fce5716a9 100644
--- a/source/blender/makesrna/intern/rna_particle.c
+++ b/source/blender/makesrna/intern/rna_particle.c
@@ -233,7 +233,7 @@ static void rna_ParticleHairKey_location_object_set(PointerRNA *ptr, const float
}
/* property update functions */
-static void particle_recalc(Main *bmain, Scene *scene, PointerRNA *ptr, short flag)
+static void particle_recalc(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr, short flag)
{
if(ptr->type==&RNA_ParticleSystem) {
ParticleSystem *psys = (ParticleSystem*)ptr->data;
@@ -325,7 +325,7 @@ static void rna_Particle_target_reset(Main *bmain, Scene *scene, PointerRNA *ptr
WM_main_add_notifier(NC_OBJECT|ND_PARTICLE|NA_EDITED, NULL);
}
-static void rna_Particle_target_redo(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Particle_target_redo(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
if(ptr->type==&RNA_ParticleTarget) {
Object *ob = (Object*)ptr->id.data;
@@ -702,7 +702,7 @@ static void rna_ParticleDupliWeight_name_get(PointerRNA *ptr, char *str)
strcpy(str, "No object");
}
-static EnumPropertyItem *rna_Particle_from_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Particle_from_itemf(bContext *UNUSED(C), PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
//if(part->type==PART_REACTOR)
// return part_reactor_from_items;
@@ -710,7 +710,7 @@ static EnumPropertyItem *rna_Particle_from_itemf(bContext *C, PointerRNA *ptr, i
return part_from_items;
}
-static EnumPropertyItem *rna_Particle_dist_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Particle_dist_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
ParticleSettings *part = ptr->id.data;
@@ -720,7 +720,7 @@ static EnumPropertyItem *rna_Particle_dist_itemf(bContext *C, PointerRNA *ptr, i
return part_dist_items;
}
-static EnumPropertyItem *rna_Particle_draw_as_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Particle_draw_as_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
ParticleSettings *part = ptr->id.data;
@@ -730,7 +730,7 @@ static EnumPropertyItem *rna_Particle_draw_as_itemf(bContext *C, PointerRNA *ptr
return part_draw_as_items;
}
-static EnumPropertyItem *rna_Particle_ren_as_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_Particle_ren_as_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
ParticleSettings *part = ptr->id.data;
@@ -1560,7 +1560,7 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_struct_ui_icon(srna, ICON_PARTICLE_DATA);
rna_def_mtex_common(brna, srna, "rna_ParticleSettings_mtex_begin", "rna_ParticleSettings_active_texture_get",
- "rna_ParticleSettings_active_texture_set", "ParticleSettingsTextureSlot", "ParticleSettingsTextureSlots", "rna_Particle_reset");
+ "rna_ParticleSettings_active_texture_set", NULL, "ParticleSettingsTextureSlot", "ParticleSettingsTextureSlots", "rna_Particle_reset");
/* fluid particle type can't be checked from the type value in rna as it's not shown in the menu */
prop= RNA_def_property(srna, "is_fluid", PROP_BOOLEAN, PROP_NONE);
@@ -1682,7 +1682,7 @@ static void rna_def_particle_settings(BlenderRNA *brna)
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, type_items);
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
- RNA_def_property_ui_text(prop, "Type", "");
+ RNA_def_property_ui_text(prop, "Type", "Particle Type");
RNA_def_property_update(prop, 0, "rna_Particle_change_type");
prop= RNA_def_property(srna, "emit_from", PROP_ENUM, PROP_NONE);
@@ -1757,11 +1757,6 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Absolute Path Time", "Path timing is in absolute frames");
RNA_def_property_update(prop, 0, "rna_Particle_abspathtime_update");
- prop= RNA_def_property(srna, "lock_billboard", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "draw", PART_DRAW_BB_LOCK);
- RNA_def_property_ui_text(prop, "Lock Billboard", "Lock the billboards align axis");
- RNA_def_property_update(prop, 0, "rna_Particle_redo");
-
prop= RNA_def_property(srna, "use_parent_particles", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "draw", PART_DRAW_PARENT);
RNA_def_property_ui_text(prop, "Parents", "Render parent particles");
@@ -1840,15 +1835,15 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_property_update(prop, 0, "rna_Particle_redo_child");
prop= RNA_def_property(srna, "draw_step", PROP_INT, PROP_NONE);
- RNA_def_property_range(prop, 0, 7);
- RNA_def_property_ui_range(prop, 0, 10, 1, 0);
+ RNA_def_property_range(prop, 0, 10);
+ RNA_def_property_ui_range(prop, 0, 7, 1, 0);
RNA_def_property_ui_text(prop, "Steps", "How many steps paths are drawn with (power of 2)");
RNA_def_property_update(prop, 0, "rna_Particle_redo");
prop= RNA_def_property(srna, "render_step", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "ren_step");
- RNA_def_property_range(prop, 0, 9);
- RNA_def_property_ui_range(prop, 0, 20, 1, 0);
+ RNA_def_property_range(prop, 0, 20);
+ RNA_def_property_ui_range(prop, 0, 9, 1, 0);
RNA_def_property_ui_text(prop, "Render", "How many steps paths are rendered with (power of 2)");
prop= RNA_def_property(srna, "hair_step", PROP_INT, PROP_NONE);
@@ -1896,7 +1891,7 @@ static void rna_def_particle_settings(BlenderRNA *brna)
prop= RNA_def_property(srna, "integrator", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, integrator_type_items);
- RNA_def_property_ui_text(prop, "Integration", "Select physics integrator type");
+ RNA_def_property_ui_text(prop, "Integration", "Algorithm used to calculate physics. Fastest to most stable/accurate: Midpoint, Euler, Verlet, RK4 (Old)");
RNA_def_property_update(prop, 0, "rna_Particle_reset");
prop= RNA_def_property(srna, "kink", PROP_ENUM, PROP_NONE);
@@ -1910,6 +1905,11 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_property_update(prop, 0, "rna_Particle_redo_child");
/* billboards */
+ prop= RNA_def_property(srna, "lock_billboard", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "draw", PART_DRAW_BB_LOCK);
+ RNA_def_property_ui_text(prop, "Lock Billboard", "Lock the billboards align axis");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
prop= RNA_def_property(srna, "billboard_align", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "bb_align");
RNA_def_property_enum_items(prop, bb_align_items);
@@ -1958,6 +1958,25 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Billboard Offset", "");
RNA_def_property_update(prop, 0, "rna_Particle_redo");
+ prop= RNA_def_property(srna, "billboard_size", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "bb_size");
+ RNA_def_property_array(prop, 2);
+ RNA_def_property_range(prop, 0.001f, 10.0f);
+ RNA_def_property_ui_text(prop, "Billboard Scale", "Scale billboards relative to particle size");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
+ prop= RNA_def_property(srna, "billboard_velocity_head", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "bb_vel_head");
+ RNA_def_property_range(prop, 0.0f, 10.0f);
+ RNA_def_property_ui_text(prop, "Billboard Velocity Head", "Scale billboards by velocity");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
+ prop= RNA_def_property(srna, "billboard_velocity_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "bb_vel_tail");
+ RNA_def_property_range(prop, 0.0f, 10.0f);
+ RNA_def_property_ui_text(prop, "Billboard Velocity Tail", "Scale billboards by velocity");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
/* simplification */
prop= RNA_def_property(srna, "use_simplify", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "simplify_flag", PART_SIMPLIFY_ENABLE);
diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c
index 996a80548b3..47c8435cc46 100644
--- a/source/blender/makesrna/intern/rna_pose.c
+++ b/source/blender/makesrna/intern/rna_pose.c
@@ -71,14 +71,14 @@
#include "RNA_access.h"
-static void rna_Pose_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Pose_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
// XXX when to use this? ob->pose->flag |= (POSE_LOCKED|POSE_DO_UNLOCK);
DAG_id_tag_update(ptr->id.data, OB_RECALC_DATA);
}
-static void rna_Pose_IK_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Pose_IK_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
// XXX when to use this? ob->pose->flag |= (POSE_LOCKED|POSE_DO_UNLOCK);
Object *ob= ptr->id.data;
@@ -254,7 +254,7 @@ static StructRNA *rna_Pose_ikparam_typef(PointerRNA *ptr)
}
}
-static void rna_Itasc_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Itasc_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = ptr->id.data;
bItasc *itasc = ptr->data;
@@ -585,6 +585,25 @@ static void rna_PoseChannel_matrix_basis_set(PointerRNA *ptr, const float *value
pchan_apply_mat4(pchan, (float (*)[4])values, FALSE); /* no compat for predictable result */
}
+static void rna_PoseChannel_matrix_set(PointerRNA *ptr, const float *values)
+{
+ bPoseChannel *pchan= (bPoseChannel*)ptr->data;
+ Object *ob= (Object*)ptr->id.data;
+ float umat[4][4]= MAT4_UNITY;
+ float tmat[4][4];
+
+ /* recalculate pose matrix with only parent transformations,
+ * bone loc/sca/rot is ignored, scene and frame are not used. */
+ where_is_pose_bone(NULL, ob, pchan, 0.0f, FALSE);
+
+ /* find the matrix, need to remove the bone transforms first so this is
+ * calculated as a matrix to set rather then a difference ontop of whats
+ * already there. */
+ pchan_apply_mat4(pchan, umat, FALSE);
+ armature_mat_pose_to_bone(pchan, (float (*)[4])values, tmat);
+ pchan_apply_mat4(pchan, tmat, FALSE); /* no compat for predictable result */
+}
+
#else
static void rna_def_bone_group(BlenderRNA *brna)
@@ -830,8 +849,9 @@ static void rna_def_pose_channel(BlenderRNA *brna)
prop= RNA_def_property(srna, "matrix", PROP_FLOAT, PROP_MATRIX);
RNA_def_property_float_sdna(prop, NULL, "pose_mat");
RNA_def_property_multi_array(prop, 2, matrix_dimsize);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_float_funcs(prop, NULL, "rna_PoseChannel_matrix_set", NULL);
RNA_def_property_ui_text(prop, "Pose Matrix", "Final 4x4 matrix after constraints and drivers are applied (object space)");
+ RNA_def_property_update(prop, NC_OBJECT|ND_POSE, "rna_Pose_update");
/* Head/Tail Coordinates (in Pose Space) - Automatically calculated... */
prop= RNA_def_property(srna, "head", PROP_FLOAT, PROP_TRANSLATION);
diff --git a/source/blender/makesrna/intern/rna_property.c b/source/blender/makesrna/intern/rna_property.c
index 08a3f174c15..9fd5610a577 100644
--- a/source/blender/makesrna/intern/rna_property.c
+++ b/source/blender/makesrna/intern/rna_property.c
@@ -101,11 +101,11 @@ void RNA_def_gameproperty(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem gameproperty_type_items[] ={
- {GPROP_BOOL, "BOOL", 0, "Boolean", ""},
- {GPROP_INT, "INT", 0, "Integer", ""},
- {GPROP_FLOAT, "FLOAT", 0, "Float", ""},
- {GPROP_STRING, "STRING", 0, "String", ""},
- {GPROP_TIME, "TIMER", 0, "Timer", ""},
+ {GPROP_BOOL, "BOOL", 0, "Boolean", "Boolean Property"},
+ {GPROP_INT, "INT", 0, "Integer", "Integer Property"},
+ {GPROP_FLOAT, "FLOAT", 0, "Float", "Floating-Point Property"},
+ {GPROP_STRING, "STRING", 0, "String", "String Property"},
+ {GPROP_TIME, "TIMER", 0, "Timer", "Timer Property"},
{0, NULL, 0, NULL, NULL}};
/* Base Struct for GameProperty */
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c
index 93754d324df..e3e3296cb70 100644
--- a/source/blender/makesrna/intern/rna_render.c
+++ b/source/blender/makesrna/intern/rna_render.c
@@ -32,6 +32,7 @@
#include "DNA_scene_types.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -101,7 +102,7 @@ static void engine_render(RenderEngine *engine, struct Scene *scene)
RNA_parameter_list_free(&list);
}
-static void rna_RenderEngine_unregister(const bContext *C, StructRNA *type)
+static void rna_RenderEngine_unregister(Main *UNUSED(bmain), StructRNA *type)
{
RenderEngineType *et= RNA_struct_blender_type_get(type);
@@ -113,7 +114,7 @@ static void rna_RenderEngine_unregister(const bContext *C, StructRNA *type)
RNA_struct_free(&BLENDER_RNA, type);
}
-static StructRNA *rna_RenderEngine_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+static StructRNA *rna_RenderEngine_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
{
RenderEngineType *et, dummyet = {NULL};
RenderEngine dummyengine= {NULL};
@@ -137,7 +138,7 @@ static StructRNA *rna_RenderEngine_register(bContext *C, ReportList *reports, vo
for(et=R_engines.first; et; et=et->next) {
if(strcmp(et->idname, dummyet.idname) == 0) {
if(et->ext.srna)
- rna_RenderEngine_unregister(C, et->ext.srna);
+ rna_RenderEngine_unregister(bmain, et->ext.srna);
break;
}
}
@@ -233,7 +234,7 @@ static void rna_def_render_engine(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "RenderEngine");
RNA_def_struct_ui_text(srna, "Render Engine", "Render engine");
RNA_def_struct_refine_func(srna, "rna_RenderEngine_refine");
- RNA_def_struct_register_funcs(srna, "rna_RenderEngine_register", "rna_RenderEngine_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_RenderEngine_register", "rna_RenderEngine_unregister", NULL);
/* render */
func= RNA_def_function(srna, "render", NULL);
@@ -271,6 +272,12 @@ static void rna_def_render_engine(BlenderRNA *brna)
prop= RNA_def_string(func, "info", "", 0, "Info", "");
RNA_def_property_flag(prop, PROP_REQUIRED);
+ func= RNA_def_function(srna, "report", "RE_engine_report");
+ prop= RNA_def_enum_flag(func, "type", wm_report_items, 0, "Type", "");
+ RNA_def_property_flag(prop, PROP_REQUIRED);
+ prop= RNA_def_string(func, "message", "", 0, "Report Message", "");
+ RNA_def_property_flag(prop, PROP_REQUIRED);
+
/* registration */
RNA_define_verify_sdna(0);
@@ -339,8 +346,8 @@ static void rna_def_render_layer(BlenderRNA *brna)
RNA_def_function_flag(func, FUNC_USE_REPORTS);
prop= RNA_def_string(func, "filename", "", 0, "Filename", "Filename to load into this render tile, must be no smaller than the renderlayer");
RNA_def_property_flag(prop, PROP_REQUIRED);
- prop= RNA_def_int(func, "x", 0, 0, INT_MAX, "Offset X", "Offset the position to copy from if the image is larger than the render layer", 0, INT_MAX);
- prop= RNA_def_int(func, "y", 0, 0, INT_MAX, "Offset Y", "Offset the position to copy from if the image is larger than the render layer", 0, INT_MAX);
+ RNA_def_int(func, "x", 0, 0, INT_MAX, "Offset X", "Offset the position to copy from if the image is larger than the render layer", 0, INT_MAX);
+ RNA_def_int(func, "y", 0, 0, INT_MAX, "Offset Y", "Offset the position to copy from if the image is larger than the render layer", 0, INT_MAX);
RNA_define_verify_sdna(0);
@@ -381,6 +388,7 @@ static void rna_def_render_pass(BlenderRNA *brna)
{SCE_PASS_MIST, "MIST", 0, "Mist", ""},
{SCE_PASS_EMIT, "EMIT", 0, "Emit", ""},
{SCE_PASS_ENVIRONMENT, "ENVIRONMENT", 0, "Environment", ""},
+ {SCE_PASS_INDEXMA, "MATERIAL_INDEX", 0, "Material Index", ""},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "RenderPass", NULL);
diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c
index de2b551909c..e063f8ec85a 100644
--- a/source/blender/makesrna/intern/rna_rna.c
+++ b/source/blender/makesrna/intern/rna_rna.c
@@ -341,7 +341,7 @@ int rna_builtin_properties_lookup_string(PointerRNA *ptr, const char *key, Point
/* this was used pre 2.5beta0, now ID property access uses python's
* getitem style access
- * - ob["foo"] rather then ob.foo */
+ * - ob["foo"] rather than ob.foo */
#if 0
if(ptr->data) {
IDProperty *group, *idp;
@@ -493,6 +493,13 @@ static int rna_Property_is_hidden_get(PointerRNA *ptr)
return prop->flag & PROP_HIDDEN ? 1:0;
}
+static int rna_Property_is_skip_save_get(PointerRNA *ptr)
+{
+ PropertyRNA *prop= (PropertyRNA*)ptr->data;
+ return prop->flag & PROP_SKIP_SAVE ? 1:0;
+}
+
+
static int rna_Property_is_enum_flag_get(PointerRNA *ptr)
{
PropertyRNA *prop= (PropertyRNA*)ptr->data;
@@ -697,7 +704,7 @@ static int rna_StringProperty_max_length_get(PointerRNA *ptr)
return ((StringPropertyRNA*)prop)->maxlength;
}
-static EnumPropertyItem *rna_EnumProperty_default_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_EnumProperty_default_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
PropertyRNA *prop= (PropertyRNA*)ptr->data;
EnumPropertyRNA *eprop;
@@ -713,7 +720,7 @@ static EnumPropertyItem *rna_EnumProperty_default_itemf(bContext *C, PointerRNA
return eprop->item;
}
- return eprop->itemf(C, ptr, free);
+ return eprop->itemf(C, ptr, prop, free);
}
/* XXX - not sure this is needed? */
@@ -1037,6 +1044,11 @@ static void rna_def_property(BlenderRNA *brna)
RNA_def_property_boolean_funcs(prop, "rna_Property_is_hidden_get", NULL);
RNA_def_property_ui_text(prop, "Hidden", "True when the property is hidden");
+ prop= RNA_def_property(srna, "is_skip_save", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_boolean_funcs(prop, "rna_Property_is_skip_save_get", NULL);
+ RNA_def_property_ui_text(prop, "Skip Save", "True when the property is not saved in presets");
+
prop= RNA_def_property(srna, "is_output", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_boolean_funcs(prop, "rna_Property_use_output_get", NULL);
@@ -1055,7 +1067,7 @@ static void rna_def_property(BlenderRNA *brna)
prop= RNA_def_property(srna, "is_runtime", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_boolean_funcs(prop, "rna_Property_runtime_get", NULL);
- RNA_def_property_ui_text(prop, "Read Only", "Property is editable through RNA");
+ RNA_def_property_ui_text(prop, "Runtime", "Property has been dynamically created at runtime");
prop= RNA_def_property(srna, "is_enum_flag", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index e06e71d6a0e..f4028e45e96 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -45,7 +45,9 @@
#ifdef WITH_QUICKTIME
#include "quicktime_export.h"
-#include "AUD_C-API.h"
+# ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+# endif
#endif
#ifdef WITH_FFMPEG
@@ -67,13 +69,13 @@ EnumPropertyItem snap_target_items[] = {
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem proportional_falloff_items[] ={
- {PROP_SMOOTH, "SMOOTH", ICON_SMOOTHCURVE, "Smooth", ""},
- {PROP_SPHERE, "SPHERE", ICON_SPHERECURVE, "Sphere", ""},
- {PROP_ROOT, "ROOT", ICON_ROOTCURVE, "Root", ""},
- {PROP_SHARP, "SHARP", ICON_SHARPCURVE, "Sharp", ""},
- {PROP_LIN, "LINEAR", ICON_LINCURVE, "Linear", ""},
- {PROP_CONST, "CONSTANT", ICON_NOCURVE, "Constant", ""},
- {PROP_RANDOM, "RANDOM", ICON_RNDCURVE, "Random", ""},
+ {PROP_SMOOTH, "SMOOTH", ICON_SMOOTHCURVE, "Smooth", "Smooth falloff"},
+ {PROP_SPHERE, "SPHERE", ICON_SPHERECURVE, "Sphere", "Spherical falloff"},
+ {PROP_ROOT, "ROOT", ICON_ROOTCURVE, "Root", "Root falloff"},
+ {PROP_SHARP, "SHARP", ICON_SHARPCURVE, "Sharp", "Sharp falloff"},
+ {PROP_LIN, "LINEAR", ICON_LINCURVE, "Linear", "Linear falloff"},
+ {PROP_CONST, "CONSTANT", ICON_NOCURVE, "Constant", "Consant falloff"},
+ {PROP_RANDOM, "RANDOM", ICON_RNDCURVE, "Random", "Random falloff"},
{0, NULL, 0, NULL, NULL}};
@@ -100,52 +102,56 @@ EnumPropertyItem snap_element_items[] = {
EnumPropertyItem image_type_items[] = {
{0, "", 0, "Image", NULL},
- {R_BMP, "BMP", ICON_FILE_IMAGE, "BMP", ""},
- //{R_DDS, "DDS", ICON_FILE_IMAGE, "DDS", ""}, // XXX not yet implemented
- {R_IRIS, "IRIS", ICON_FILE_IMAGE, "Iris", ""},
- {R_PNG, "PNG", ICON_FILE_IMAGE, "PNG", ""},
- {R_JPEG90, "JPEG", ICON_FILE_IMAGE, "JPEG", ""},
+ {R_BMP, "BMP", ICON_FILE_IMAGE, "BMP", "Output image in bitmap format"},
+#ifdef WITH_DDS
+ {R_DDS, "DDS", ICON_FILE_IMAGE, "DDS", "Output image in DDS format"},
+#endif
+ {R_IRIS, "IRIS", ICON_FILE_IMAGE, "Iris", "Output image in (old!) SGI IRIS format"},
+ {R_PNG, "PNG", ICON_FILE_IMAGE, "PNG", "Output image in PNG format"},
+ {R_JPEG90, "JPEG", ICON_FILE_IMAGE, "JPEG", "Output image in JPEG format"},
#ifdef WITH_OPENJPEG
- {R_JP2, "JPEG2000", ICON_FILE_IMAGE, "JPEG 2000", ""},
+ {R_JP2, "JPEG2000", ICON_FILE_IMAGE, "JPEG 2000", "Output image in JPEG 2000 format"},
#endif
- {R_TARGA, "TARGA", ICON_FILE_IMAGE, "Targa", ""},
- {R_RAWTGA, "TARGA_RAW", ICON_FILE_IMAGE, "Targa Raw", ""},
+ {R_TARGA, "TARGA", ICON_FILE_IMAGE, "Targa", "Output image in Targa format"},
+ {R_RAWTGA, "TARGA_RAW", ICON_FILE_IMAGE, "Targa Raw", "Output image in uncompressed Targa format"},
{0, "", 0, " ", NULL},
#ifdef WITH_CINEON
- {R_CINEON, "CINEON", ICON_FILE_IMAGE, "Cineon", ""},
- {R_DPX, "DPX",ICON_FILE_IMAGE, "DPX", ""},
+ {R_CINEON, "CINEON", ICON_FILE_IMAGE, "Cineon", "Output image in Cineon format"},
+ {R_DPX, "DPX",ICON_FILE_IMAGE, "DPX", "Output image in DPX format"},
#endif
#ifdef WITH_OPENEXR
- {R_MULTILAYER, "MULTILAYER", ICON_FILE_IMAGE, "MultiLayer", ""},
- {R_OPENEXR, "OPEN_EXR", ICON_FILE_IMAGE, "OpenEXR", ""},
+ {R_MULTILAYER, "MULTILAYER", ICON_FILE_IMAGE, "MultiLayer", "Output image in multilayer OpenEXR format"},
+ {R_OPENEXR, "OPEN_EXR", ICON_FILE_IMAGE, "OpenEXR", "Output image in OpenEXR format"},
#endif
#ifdef WITH_HDR
- {R_RADHDR, "HDR", ICON_FILE_IMAGE, "Radiance HDR", ""},
+ {R_RADHDR, "HDR", ICON_FILE_IMAGE, "Radiance HDR", "Output image in Radiance HDR format"},
#endif
#ifdef WITH_TIFF
- {R_TIFF, "TIFF", ICON_FILE_IMAGE, "TIFF", ""},
+ {R_TIFF, "TIFF", ICON_FILE_IMAGE, "TIFF", "Output image in TIFF format"},
#endif
{0, "", 0, "Movie", NULL},
#ifdef _WIN32
- {R_AVICODEC, "AVICODEC", ICON_FILE_MOVIE, "AVI Codec", ""}, // XXX Missing codec menu
+ {R_AVICODEC, "AVICODEC", ICON_FILE_MOVIE, "AVI Codec", "Output video in AVI format"}, // XXX Missing codec menu
+#endif
+ {R_AVIJPEG, "AVI_JPEG", ICON_FILE_MOVIE, "AVI JPEG", "Output video in AVI JPEG format"},
+ {R_AVIRAW, "AVI_RAW", ICON_FILE_MOVIE, "AVI Raw", "Output video in AVI Raw format"},
+#ifdef WITH_FRAMESERVER
+ {R_FRAMESERVER, "FRAMESERVER", ICON_FILE_SCRIPT, "Frame Server", "Output image to a frameserver"},
#endif
- {R_AVIJPEG, "AVI_JPEG", ICON_FILE_MOVIE, "AVI JPEG", ""},
- {R_AVIRAW, "AVI_RAW", ICON_FILE_MOVIE, "AVI Raw", ""},
- {R_FRAMESERVER, "FRAMESERVER", ICON_FILE_SCRIPT, "Frame Server", ""},
#ifdef WITH_FFMPEG
- {R_H264, "H264", ICON_FILE_MOVIE, "H.264", ""},
- {R_FFMPEG, "FFMPEG", ICON_FILE_MOVIE, "MPEG", ""},
- {R_THEORA, "THEORA", ICON_FILE_MOVIE, "Ogg Theora", ""},
+ {R_H264, "H264", ICON_FILE_MOVIE, "H.264", "Output video in H.264 format"},
+ {R_FFMPEG, "FFMPEG", ICON_FILE_MOVIE, "MPEG", "Output video in MPEG format"},
+ {R_THEORA, "THEORA", ICON_FILE_MOVIE, "Ogg Theora", "Output video in Ogg format"},
#endif
#ifdef WITH_QUICKTIME
# ifdef USE_QTKIT
- {R_QUICKTIME, "QUICKTIME_QTKIT", ICON_FILE_MOVIE, "QuickTime", ""},
+ {R_QUICKTIME, "QUICKTIME_QTKIT", ICON_FILE_MOVIE, "QuickTime", "Output video in Quicktime format"},
# else
- {R_QUICKTIME, "QUICKTIME_CARBON", ICON_FILE_MOVIE, "QuickTime", ""},
+ {R_QUICKTIME, "QUICKTIME_CARBON", ICON_FILE_MOVIE, "QuickTime", "Output video in Quicktime format"},
# endif
#endif
#ifdef WITH_FFMPEG
- {R_XVID, "XVID", ICON_FILE_MOVIE, "Xvid", ""},
+ {R_XVID, "XVID", ICON_FILE_MOVIE, "Xvid", "Output video in Xvid format"},
#endif
{0, NULL, 0, NULL, NULL}};
@@ -326,7 +332,7 @@ static void rna_Scene_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
DAG_on_visible_update(bmain, FALSE);
}
-static void rna_Scene_framelen_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Scene_framelen_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
{
scene->r.framelen= (float)scene->r.framapto/(float)scene->r.images;
}
@@ -406,7 +412,7 @@ static void rna_Scene_preview_range_end_frame_set(PointerRNA *ptr, int value)
data->r.pefra= value;
}
-static void rna_Scene_frame_update(bContext *C, PointerRNA *ptr)
+static void rna_Scene_frame_update(bContext *C, PointerRNA *UNUSED(ptr))
{
//Scene *scene= ptr->id.data;
//ED_update_for_newframe(C);
@@ -478,7 +484,7 @@ static void rna_Scene_all_keyingsets_next(CollectionPropertyIterator *iter)
}
-static char *rna_RenderSettings_path(PointerRNA *ptr)
+static char *rna_RenderSettings_path(PointerRNA *UNUSED(ptr))
{
return BLI_sprintfN("render");
}
@@ -595,7 +601,7 @@ static void rna_RenderSettings_qtcodecsettings_codecType_set(PointerRNA *ptr, in
rd->qtcodecsettings.codecType = quicktime_videocodecType_from_rnatmpvalue(value);
}
-static EnumPropertyItem *rna_RenderSettings_qtcodecsettings_codecType_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_RenderSettings_qtcodecsettings_codecType_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
EnumPropertyItem *item= NULL;
EnumPropertyItem tmp = {0, "", 0, "", ""};
@@ -636,7 +642,7 @@ static void rna_RenderSettings_qtcodecsettings_audiocodecType_set(PointerRNA *pt
rd->qtcodecsettings.audiocodecType = quicktime_audiocodecType_from_rnatmpvalue(value);
}
-static EnumPropertyItem *rna_RenderSettings_qtcodecsettings_audiocodecType_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_RenderSettings_qtcodecsettings_audiocodecType_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
EnumPropertyItem *item= NULL;
EnumPropertyItem tmp = {0, "", 0, "", ""};
@@ -707,7 +713,7 @@ static void rna_RenderSettings_engine_set(PointerRNA *ptr, int value)
BLI_strncpy(rd->engine, type->idname, sizeof(rd->engine));
}
-static EnumPropertyItem *rna_RenderSettings_engine_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_RenderSettings_engine_itemf(bContext *UNUSED(C), PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
RenderEngineType *type;
EnumPropertyItem *item= NULL;
@@ -740,14 +746,14 @@ static int rna_RenderSettings_engine_get(PointerRNA *ptr)
return 0;
}
-static void rna_Scene_glsl_update(Main *bmain, Scene *UNUSED(scene_unused), PointerRNA *ptr)
+static void rna_Scene_glsl_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Scene *scene= (Scene*)ptr->id.data;
DAG_id_tag_update(&scene->id, 0);
}
-static void rna_RenderSettings_color_management_update(Main *bmain, Scene *UNUSED(scene_unused), PointerRNA *ptr)
+static void rna_RenderSettings_color_management_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
/* reset image nodes */
Scene *scene= (Scene*)ptr->id.data;
@@ -792,7 +798,7 @@ static void rna_SceneRenderLayer_name_set(PointerRNA *ptr, const char *value)
}
}
-static int rna_RenderSettings_multiple_engines_get(PointerRNA *ptr)
+static int rna_RenderSettings_multiple_engines_get(PointerRNA *UNUSED(ptr))
{
return (BLI_countlist(&R_engines) > 1);
}
@@ -815,7 +821,7 @@ static void rna_SceneRenderLayer_layer_set(PointerRNA *ptr, const int *values)
rl->lay= ED_view3d_scene_layer_set(rl->lay, values, NULL);
}
-static void rna_SceneRenderLayer_pass_update(Main *bmain, Scene *UNUSED(scene_unused), PointerRNA *ptr)
+static void rna_SceneRenderLayer_pass_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Scene *scene= (Scene*)ptr->id.data;
@@ -832,7 +838,7 @@ static void rna_Scene_use_nodes_set(PointerRNA *ptr, int value)
ED_node_composit_default(scene);
}
-static void rna_Physics_update(Main *bmain, Scene *UNUSED(scene_unused), PointerRNA *ptr)
+static void rna_Physics_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Scene *scene= (Scene*)ptr->id.data;
Base *base;
@@ -860,7 +866,7 @@ static void rna_Scene_editmesh_select_mode_set(PointerRNA *ptr, const int *value
}
}
-static void rna_Scene_editmesh_select_mode_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Scene_editmesh_select_mode_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
{
Mesh *me= NULL;
@@ -894,7 +900,7 @@ static void object_simplify_update(Object *ob)
}
}
-static void rna_Scene_use_simplify_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Scene_use_simplify_update(Main *bmain, Scene *scene, PointerRNA *UNUSED(ptr))
{
Scene *sce_iter;
Base *base;
@@ -956,7 +962,7 @@ static void rna_Scene_sync_mode_set(PointerRNA *ptr, int value)
}
}
-static int rna_GameSettings_auto_start_get(PointerRNA *ptr)
+static int rna_GameSettings_auto_start_get(PointerRNA *UNUSED(ptr))
{
if (G.fileflags & G_FILE_AUTOPLAY)
return 1;
@@ -964,7 +970,7 @@ static int rna_GameSettings_auto_start_get(PointerRNA *ptr)
return 0;
}
-static void rna_GameSettings_auto_start_set(PointerRNA *ptr, int value)
+static void rna_GameSettings_auto_start_set(PointerRNA *UNUSED(ptr), int value)
{
if(value)
G.fileflags |= G_FILE_AUTOPLAY;
@@ -1171,6 +1177,12 @@ static void rna_def_tool_settings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Project Individual Elements", "Project individual elements on the surface of other objects");
RNA_def_property_ui_icon(prop, ICON_RETOPO, 0);
RNA_def_property_update(prop, NC_SCENE|ND_TOOLSETTINGS, NULL); /* header redraw */
+
+ prop= RNA_def_property(srna, "use_snap_self", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "snap_flag", SCE_SNAP_NO_SELF);
+ RNA_def_property_ui_text(prop, "Project to Self", "Snap onto its self (editmode)");
+ RNA_def_property_ui_icon(prop, ICON_ORTHO, 0);
+ RNA_def_property_update(prop, NC_SCENE|ND_TOOLSETTINGS, NULL); /* header redraw */
/* Grease Pencil */
prop = RNA_def_property(srna, "use_grease_pencil_sessions", PROP_BOOLEAN, PROP_NONE);
@@ -1326,7 +1338,7 @@ static void rna_def_unit_settings(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem rotation_units[] = {
- {0, "DEGREES", 0, "Degrees", ""},
+ {0, "DEGREES", 0, "Degrees", "Use degrees for measuring rotation"},
{USER_UNIT_ROT_RADIANS, "RADIANS", 0, "Radians", ""},
{0, NULL, 0, NULL, NULL}};
@@ -1505,6 +1517,12 @@ void rna_def_render_layer_common(StructRNA *srna, int scene)
if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ prop= RNA_def_property(srna, "use_pass_material_index", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_INDEXMA);
+ RNA_def_property_ui_text(prop, "Material Index", "Deliver material index pass");
+ if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
+ else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+
prop= RNA_def_property(srna, "use_pass_color", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_RGBA);
RNA_def_property_ui_text(prop, "Color", "Deliver shade-less color pass");
@@ -1657,12 +1675,12 @@ static void rna_def_scene_game_data(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem physics_engine_items[] = {
- {WOPHY_NONE, "NONE", 0, "None", ""},
+ {WOPHY_NONE, "NONE", 0, "None", "Don't use a physics engine"},
//{WOPHY_ENJI, "ENJI", 0, "Enji", ""},
//{WOPHY_SUMO, "SUMO", 0, "Sumo (Deprecated)", ""},
//{WOPHY_DYNAMO, "DYNAMO", 0, "Dynamo", ""},
//{WOPHY_ODE, "ODE", 0, "ODE", ""},
- {WOPHY_BULLET, "BULLET", 0, "Bullet", ""},
+ {WOPHY_BULLET, "BULLET", 0, "Bullet", "Use the Bullet physics engine"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem material_items[] ={
@@ -1786,7 +1804,8 @@ static void rna_def_scene_game_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "physics_gravity", PROP_FLOAT, PROP_ACCELERATION);
RNA_def_property_float_sdna(prop, NULL, "gravity");
- RNA_def_property_range(prop, 0.0, 25.0);
+ RNA_def_property_ui_range(prop, 0.0, 25.0, 1, 2);
+ RNA_def_property_range(prop, 0.0, 10000.0);
RNA_def_property_ui_text(prop, "Physics Gravity", "Gravitational constant used for physics simulation in the game engine");
RNA_def_property_update(prop, NC_SCENE, NULL);
@@ -1966,13 +1985,13 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem pixel_filter_items[] ={
- {R_FILTER_BOX, "BOX", 0, "Box", ""},
- {R_FILTER_TENT, "TENT", 0, "Tent", ""},
- {R_FILTER_QUAD, "QUADRATIC", 0, "Quadratic", ""},
- {R_FILTER_CUBIC, "CUBIC", 0, "Cubic", ""},
- {R_FILTER_CATROM, "CATMULLROM", 0, "Catmull-Rom", ""},
- {R_FILTER_GAUSS, "GAUSSIAN", 0, "Gaussian", ""},
- {R_FILTER_MITCH, "MITCHELL", 0, "Mitchell-Netravali", ""},
+ {R_FILTER_BOX, "BOX", 0, "Box", "Use a box filter for anti-aliasing"},
+ {R_FILTER_TENT, "TENT", 0, "Tent", "Use a tent filter for anti-aliasing"},
+ {R_FILTER_QUAD, "QUADRATIC", 0, "Quadratic", "Use a quadratic filter for anti-aliasing"},
+ {R_FILTER_CUBIC, "CUBIC", 0, "Cubic", "Use a cubic filter for anti-aliasing"},
+ {R_FILTER_CATROM, "CATMULLROM", 0, "Catmull-Rom", "Use a Catmull-Rom filter for anti-aliasing"},
+ {R_FILTER_GAUSS, "GAUSSIAN", 0, "Gaussian", "Use a Gaussian filter for anti-aliasing"},
+ {R_FILTER_MITCH, "MITCHELL", 0, "Mitchell-Netravali", "Use a Mitchell-Netravali filter for anti-aliasing"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem alpha_mode_items[] ={
@@ -1996,19 +2015,25 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
/* Bake */
static EnumPropertyItem bake_mode_items[] ={
- {RE_BAKE_ALL, "FULL", 0, "Full Render", ""},
- {RE_BAKE_AO, "AO", 0, "Ambient Occlusion", ""},
- {RE_BAKE_SHADOW, "SHADOW", 0, "Shadow", ""},
- {RE_BAKE_NORMALS, "NORMALS", 0, "Normals", ""},
- {RE_BAKE_TEXTURE, "TEXTURE", 0, "Textures", ""},
- {RE_BAKE_DISPLACEMENT, "DISPLACEMENT", 0, "Displacement", ""},
+ {RE_BAKE_ALL, "FULL", 0, "Full Render", "Bake everything"},
+ {RE_BAKE_AO, "AO", 0, "Ambient Occlusion", "Bake ambient occlusion"},
+ {RE_BAKE_SHADOW, "SHADOW", 0, "Shadow", "Bake shadows"},
+ {RE_BAKE_NORMALS, "NORMALS", 0, "Normals", "Bake normals"},
+ {RE_BAKE_TEXTURE, "TEXTURE", 0, "Textures", "Bake textures"},
+ {RE_BAKE_DISPLACEMENT, "DISPLACEMENT", 0, "Displacement", "Bake displacement"},
+ {RE_BAKE_EMIT, "EMIT", 0, "Emission", "Bake Emit values (glow)"},
+ {RE_BAKE_ALPHA, "ALPHA", 0, "Alpha", "Bake Alpha values (transparency)"},
+ {RE_BAKE_MIRROR_INTENSITY, "MIRROR_INTENSITY", 0, "Mirror Intensity", "Bake Mirror values"},
+ {RE_BAKE_MIRROR_COLOR, "MIRROR_COLOR", 0, "Mirror Colors", "Bake Mirror colors"},
+ {RE_BAKE_SPEC_INTENSITY, "SPEC_INTENSITY", 0, "Specular Intensity", "Bake Specular values"},
+ {RE_BAKE_SPEC_COLOR, "SPEC_COLOR", 0, "Specular Colors", "Bake Specular colors"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem bake_normal_space_items[] ={
- {R_BAKE_SPACE_CAMERA, "CAMERA", 0, "Camera", ""},
- {R_BAKE_SPACE_WORLD, "WORLD", 0, "World", ""},
- {R_BAKE_SPACE_OBJECT, "OBJECT", 0, "Object", ""},
- {R_BAKE_SPACE_TANGENT, "TANGENT", 0, "Tangent", ""},
+ {R_BAKE_SPACE_CAMERA, "CAMERA", 0, "Camera", "Bake the normals in camera space"},
+ {R_BAKE_SPACE_WORLD, "WORLD", 0, "World", "Bake the normals in world space"},
+ {R_BAKE_SPACE_OBJECT, "OBJECT", 0, "Object", "Bake the normals in object space"},
+ {R_BAKE_SPACE_TANGENT, "TANGENT", 0, "Tangent", "Bake the normals in tangent space"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem bake_qyad_split_items[] ={
@@ -2025,12 +2050,12 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem raytrace_structure_items[] = {
- {R_RAYSTRUCTURE_AUTO, "AUTO", 0, "Auto", ""},
+ {R_RAYSTRUCTURE_AUTO, "AUTO", 0, "Auto", "Automatically select acceleration structure"},
{R_RAYSTRUCTURE_OCTREE, "OCTREE", 0, "Octree", "Use old Octree structure"},
{R_RAYSTRUCTURE_BLIBVH, "BLIBVH", 0, "BLI BVH", "Use BLI K-Dop BVH.c"},
- {R_RAYSTRUCTURE_VBVH, "VBVH", 0, "vBVH", ""},
- {R_RAYSTRUCTURE_SIMD_SVBVH, "SIMD_SVBVH", 0, "SIMD SVBVH", ""},
- {R_RAYSTRUCTURE_SIMD_QBVH, "SIMD_QBVH", 0, "SIMD QBVH", ""},
+ {R_RAYSTRUCTURE_VBVH, "VBVH", 0, "vBVH", "Use vBVH"},
+ {R_RAYSTRUCTURE_SIMD_SVBVH, "SIMD_SVBVH", 0, "SIMD SVBVH", "Use SIMD SVBVH"},
+ {R_RAYSTRUCTURE_SIMD_QBVH, "SIMD_QBVH", 0, "SIMD QBVH", "Use SIMD QBVH"},
{0, NULL, 0, NULL, NULL}
};
@@ -2140,7 +2165,6 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
{CODEC_ID_HUFFYUV, "HUFFYUV", 0, "HuffYUV", ""},
{CODEC_ID_DVVIDEO, "DV", 0, "DV", ""},
{CODEC_ID_H264, "H264", 0, "H.264", ""},
- {CODEC_ID_XVID, "XVID", 0, "Xvid", ""},
{CODEC_ID_THEORA, "THEORA", 0, "Theora", ""},
{CODEC_ID_FLV1, "FLASH", 0, "Flash Video", ""},
{CODEC_ID_FFV1, "FFV1", 0, "FFmpeg video codec #1", ""},
@@ -2159,7 +2183,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
#endif
static EnumPropertyItem engine_items[] = {
- {0, "BLENDER_RENDER", 0, "Blender Render", ""},
+ {0, "BLENDER_RENDER", 0, "Blender Render", "Use the Blender internal rendering engine for rendering"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "RenderSettings", NULL);
@@ -2600,7 +2624,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "edge_color", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "edgeR");
RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "Edge Color", "");
+ RNA_def_property_ui_text(prop, "Edge Color", "Edge color");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
/* threads */
@@ -2791,7 +2815,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "bake_margin", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "bake_filter");
- RNA_def_property_range(prop, 0, 32);
+ RNA_def_property_range(prop, 0, 64);
RNA_def_property_ui_text(prop, "Margin", "Amount of pixels to extend the baked result with, as post process filter");
prop= RNA_def_property(srna, "bake_distance", PROP_FLOAT, PROP_NONE);
@@ -2804,6 +2828,14 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
RNA_def_property_range(prop, 0.0, 1000.0);
RNA_def_property_ui_text(prop, "Bias", "Bias towards faces further away from the object (in blender units)");
+ prop= RNA_def_property(srna, "use_bake_multires", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_MULTIRES);
+ RNA_def_property_ui_text(prop, "Bake from Multires", "Bake directly from multires object");
+
+ prop= RNA_def_property(srna, "use_bake_lores_mesh", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_LORES_MESH);
+ RNA_def_property_ui_text(prop, "Low Resolution Mesh", "Calculate heights against unsubdivided low resolution mesh");
+
/* stamp */
prop= RNA_def_property(srna, "use_stamp_time", PROP_BOOLEAN, PROP_NONE);
@@ -3219,10 +3251,15 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_def_property_int_sdna(prop, NULL, "r.cfra");
RNA_def_property_range(prop, MINAFRAME, MAXFRAME);
RNA_def_property_int_funcs(prop, NULL, "rna_Scene_current_frame_set", NULL);
- RNA_def_property_ui_text(prop, "Current Frame", "");
+ RNA_def_property_ui_text(prop, "Current Frame", "Current Frame");
RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, NC_SCENE|ND_FRAME, "rna_Scene_frame_update");
+ prop= RNA_def_property(srna, "frame_subframe", PROP_FLOAT, PROP_TIME);
+ RNA_def_property_float_sdna(prop, NULL, "r.subframe");
+ RNA_def_property_ui_text(prop, "Current Sub-Frame", "");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE|PROP_EDITABLE);
+
prop= RNA_def_property(srna, "frame_start", PROP_INT, PROP_TIME);
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_int_sdna(prop, NULL, "r.sfra");
diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c
index c2194636cd3..1220c4f34a1 100644
--- a/source/blender/makesrna/intern/rna_scene_api.c
+++ b/source/blender/makesrna/intern/rna_scene_api.c
@@ -85,9 +85,9 @@ static void rna_SceneRender_get_frame_path(RenderData *rd, int frame, char *name
/* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */
#include "../../collada/collada.h"
-static void rna_Scene_collada_export(Scene *scene, const char *filepath)
+static void rna_Scene_collada_export(Scene *scene, const char *filepath, int selected)
{
- collada_export(scene, filepath);
+ collada_export(scene, filepath, selected);
}
#endif
@@ -112,6 +112,7 @@ void RNA_api_scene(StructRNA *srna)
/* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */
func= RNA_def_function(srna, "collada_export", "rna_Scene_collada_export");
parm= RNA_def_string(func, "filepath", "", FILE_MAX, "File Path", "File path to write Collada file.");
+ parm= RNA_def_boolean(func, "selected", 0, "Export only selected", "Export only selected elements.");
RNA_def_property_flag(parm, PROP_REQUIRED);
RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */
RNA_def_function_ui_description(func, "Export to collada file.");
diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c
index d129fccc717..be4adb405e2 100644
--- a/source/blender/makesrna/intern/rna_screen.c
+++ b/source/blender/makesrna/intern/rna_screen.c
@@ -82,7 +82,7 @@ static void rna_Screen_scene_update(bContext *C, PointerRNA *ptr)
static void rna_Screen_redraw_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
bScreen *screen= (bScreen*)ptr->data;
-
+
/* the settings for this are currently only available from a menu in the TimeLine, hence refresh=SPACE_TIME */
ED_screen_animation_timer_update(screen, screen->redraws_flag, SPACE_TIME);
}
@@ -116,12 +116,29 @@ static void rna_Area_type_update(bContext *C, PointerRNA *ptr)
#else
+/* Area.spaces */
+static void rna_def_area_spaces(BlenderRNA *brna, PropertyRNA *cprop)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ RNA_def_property_srna(cprop, "AreaSpaces");
+ srna= RNA_def_struct(brna, "AreaSpaces", NULL);
+ RNA_def_struct_sdna(srna, "ScrArea");
+ RNA_def_struct_ui_text(srna, "Area Spaces", "Collection of spaces");
+
+ prop= RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "spacedata.first");
+ RNA_def_property_struct_type(prop, "Space");
+ RNA_def_property_ui_text(prop, "Active Space", "Space currently being displayed in this area");
+}
+
static void rna_def_area(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
FunctionRNA *func;
-
+
srna= RNA_def_struct(brna, "Area", NULL);
RNA_def_struct_ui_text(srna, "Area", "Area in a subdivided screen, containing an editor");
RNA_def_struct_sdna(srna, "ScrArea");
@@ -130,11 +147,7 @@ static void rna_def_area(BlenderRNA *brna)
RNA_def_property_collection_sdna(prop, NULL, "spacedata", NULL);
RNA_def_property_struct_type(prop, "Space");
RNA_def_property_ui_text(prop, "Spaces", "Spaces contained in this area, the first being the active space. NOTE: Useful for example to restore a previously used 3d view space in a certain area to get the old view orientation.");
-
- prop= RNA_def_property(srna, "active_space", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "spacedata.first");
- RNA_def_property_struct_type(prop, "Space");
- RNA_def_property_ui_text(prop, "Active Space", "Space currently being displayed in this area");
+ rna_def_area_spaces(brna, prop);
prop= RNA_def_property(srna, "regions", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "regionbase", NULL);
@@ -144,7 +157,7 @@ static void rna_def_area(BlenderRNA *brna)
prop= RNA_def_property(srna, "show_menus", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", HEADER_NO_PULLDOWN);
RNA_def_property_ui_text(prop, "Show Menus", "Show menus in the header");
-
+
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "spacetype");
RNA_def_property_enum_items(prop, space_type_items);
@@ -174,11 +187,11 @@ static void rna_def_region(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
-
+
srna= RNA_def_struct(brna, "Region", NULL);
RNA_def_struct_ui_text(srna, "Region", "Region in a subdivided screen area");
RNA_def_struct_sdna(srna, "ARegion");
-
+
prop= RNA_def_property(srna, "id", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "swinid");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -199,7 +212,7 @@ static void rna_def_region(BlenderRNA *brna)
RNA_def_property_int_sdna(prop, NULL, "winy");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Height", "Region height");
-
+
RNA_def_function(srna, "tag_redraw", "ED_region_tag_redraw");
}
@@ -207,12 +220,12 @@ static void rna_def_screen(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
-
+
srna= RNA_def_struct(brna, "Screen", "ID");
RNA_def_struct_sdna(srna, "Screen"); /* it is actually bScreen but for 2.5 the dna is patched! */
RNA_def_struct_ui_text(srna, "Screen", "Screen datablock, defining the layout of areas in a window");
RNA_def_struct_ui_icon(srna, ICON_SPLITSCREEN);
-
+
/* pointers */
prop= RNA_def_property(srna, "scene", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_NULL);
@@ -220,55 +233,55 @@ static void rna_def_screen(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Scene", "Active scene to be edited in the screen");
RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, 0, "rna_Screen_scene_update");
-
+
/* collections */
prop= RNA_def_property(srna, "areas", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "areabase", NULL);
RNA_def_property_struct_type(prop, "Area");
RNA_def_property_ui_text(prop, "Areas", "Areas the screen is subdivided into");
-
+
/* readonly status indicators */
prop= RNA_def_property(srna, "is_animation_playing", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_boolean_funcs(prop, "rna_Screen_is_animation_playing_get", NULL);
RNA_def_property_ui_text(prop, "Animation Playing", "Animation playback is active");
-
+
prop= RNA_def_property(srna, "show_fullscreen", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_boolean_funcs(prop, "rna_Screen_fullscreen_get", NULL);
RNA_def_property_ui_text(prop, "Fullscreen", "An area is maximised, filling this screen");
-
+
/* Define Anim Playback Areas */
prop= RNA_def_property(srna, "use_play_top_left_3d_editor", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "redraws_flag", TIME_REGION);
RNA_def_property_ui_text(prop, "Top-Left 3D Editor", "");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, "rna_Screen_redraw_update");
-
+
prop= RNA_def_property(srna, "use_play_3d_editors", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "redraws_flag", TIME_ALL_3D_WIN);
RNA_def_property_ui_text(prop, "All 3D View Editors", "");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, "rna_Screen_redraw_update");
-
+
prop= RNA_def_property(srna, "use_play_animation_editors", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "redraws_flag", TIME_ALL_ANIM_WIN);
RNA_def_property_ui_text(prop, "Animation Editors", "");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, "rna_Screen_redraw_update");
-
+
prop= RNA_def_property(srna, "use_play_properties_editors", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "redraws_flag", TIME_ALL_BUTS_WIN);
RNA_def_property_ui_text(prop, "Property Editors", "");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, "rna_Screen_redraw_update");
-
+
prop= RNA_def_property(srna, "use_play_image_editors", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "redraws_flag", TIME_ALL_IMAGE_WIN);
RNA_def_property_ui_text(prop, "Image Editors", "");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, "rna_Screen_redraw_update");
-
+
prop= RNA_def_property(srna, "use_play_sequence_editors", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "redraws_flag", TIME_SEQ);
RNA_def_property_ui_text(prop, "Sequencer Editors", "");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, "rna_Screen_redraw_update");
-
+
prop= RNA_def_property(srna, "use_play_node_editors", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "redraws_flag", TIME_NODES);
RNA_def_property_ui_text(prop, "Node Editors", "");
diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c
index ce018fdfd6e..b350956047c 100644
--- a/source/blender/makesrna/intern/rna_sculpt_paint.c
+++ b/source/blender/makesrna/intern/rna_sculpt_paint.c
@@ -95,7 +95,7 @@ static PointerRNA rna_ParticleBrush_curve_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_CurveMapping, NULL);
}
-static void rna_ParticleEdit_redo(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_ParticleEdit_redo(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
{
Object *ob= (scene->basact)? scene->basact->object: NULL;
PTCacheEdit *edit = PE_get_current(scene, ob);
@@ -106,7 +106,7 @@ static void rna_ParticleEdit_redo(Main *bmain, Scene *scene, PointerRNA *ptr)
psys_free_path_cache(edit->psys, edit);
}
-static void rna_ParticleEdit_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_ParticleEdit_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
{
Object *ob= (scene->basact)? scene->basact->object: NULL;
@@ -127,7 +127,7 @@ static void rna_ParticleEdit_tool_set(PointerRNA *ptr, int value)
pset->brushtype = value;
}
-static EnumPropertyItem *rna_ParticleEdit_tool_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_ParticleEdit_tool_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
Scene *scene= CTX_data_scene(C);
Object *ob= (scene->basact)? scene->basact->object: NULL;
@@ -184,7 +184,7 @@ static int rna_Brush_mode_poll(PointerRNA *ptr, PointerRNA value)
return brush->ob_mode & mode;
}
-static void rna_Sculpt_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Sculpt_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
{
Object *ob= (scene->basact)? scene->basact->object: NULL;
@@ -481,12 +481,12 @@ static void rna_def_particle_edit(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "ParticleBrushData");
RNA_def_struct_ui_text(srna, "Particle Brush", "Particle editing brush");
- prop= RNA_def_property(srna, "size", PROP_INT, PROP_NONE);
+ prop= RNA_def_property(srna, "size", PROP_INT, PROP_DISTANCE);
RNA_def_property_range(prop, 1, SHRT_MAX);
RNA_def_property_ui_range(prop, 1, 100, 10, 3);
RNA_def_property_ui_text(prop, "Radius", "Radius of the brush in pixels");
- prop= RNA_def_property(srna, "strength", PROP_FLOAT, PROP_NONE);
+ prop= RNA_def_property(srna, "strength", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_range(prop, 0.001, 1.0);
RNA_def_property_ui_text(prop, "Strength", "Brush strength");
diff --git a/source/blender/makesrna/intern/rna_sensor.c b/source/blender/makesrna/intern/rna_sensor.c
index 5bf398ae3a7..5cc8539f187 100644
--- a/source/blender/makesrna/intern/rna_sensor.c
+++ b/source/blender/makesrna/intern/rna_sensor.c
@@ -115,7 +115,7 @@ static void rna_Sensor_type_set(struct PointerRNA *ptr, int value)
}
/* Always keep in alphabetical order */
-EnumPropertyItem *rna_Sensor_type_itemf(bContext *C, PointerRNA *ptr, int *free)
+EnumPropertyItem *rna_Sensor_type_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
EnumPropertyItem *item= NULL;
Object *ob=NULL;
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index 34963e9507f..8c4e4d9e736 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -107,6 +107,23 @@ static void rna_SequenceEditor_sequences_all_next(CollectionPropertyIterator *it
}
/* internal use */
+static int rna_SequenceEditor_elements_length(PointerRNA *ptr)
+{
+ Sequence *seq= (Sequence*)ptr->data;
+
+ /* Hack? copied from sequencer.c::reload_sequence_new_file() */
+ size_t olen = MEM_allocN_len(seq->strip->stripdata)/sizeof(struct StripElem);
+
+ /* the problem with seq->strip->len and seq->len is that it's discounted from the offset (hard cut trim) */
+ return (int) olen;
+}
+
+static void rna_SequenceEditor_elements_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+{
+ Sequence *seq= (Sequence*)ptr->data;
+ rna_iterator_array_begin(iter, (void*)seq->strip->stripdata, sizeof(StripElem), rna_SequenceEditor_elements_length(ptr), 0, NULL);
+}
+
static void rna_Sequence_frame_change_update(Scene *scene, Sequence *seq)
{
Editing *ed= seq_give_editing(scene, FALSE);
@@ -387,6 +404,8 @@ static StructRNA* rna_Sequence_refine(struct PointerRNA *ptr)
return &RNA_EffectSequence;
case SEQ_MULTICAM:
return &RNA_MulticamSequence;
+ case SEQ_ADJUSTMENT:
+ return &RNA_AdjustmentSequence;
case SEQ_PLUGIN:
return &RNA_PluginSequence;
case SEQ_WIPE:
@@ -433,7 +452,7 @@ static void rna_Sequence_filepath_set(PointerRNA *ptr, const char *value)
if(seq->type == SEQ_SOUND && seq->sound) {
/* for sound strips we need to update the sound as well.
- * arguably, this could load in a new sound rather then modify an existing one.
+ * arguably, this could load in a new sound rather than modify an existing one.
* but while using the sequencer its most likely your not using the sound in the game engine too.
*/
PointerRNA id_ptr;
@@ -532,7 +551,7 @@ static void rna_SequenceElement_filename_set(PointerRNA *ptr, const char *value)
BLI_strncpy(elem->name, name, sizeof(elem->name));
}*/
-static void rna_Sequence_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Sequence_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
Editing *ed= seq_give_editing(scene, FALSE);
@@ -542,7 +561,7 @@ static void rna_Sequence_update(Main *bmain, Scene *scene, PointerRNA *ptr)
seq_update_sound(scene, ptr->data);
}
-static void rna_Sequence_update_reopen_files(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Sequence_update_reopen_files(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
Editing *ed= seq_give_editing(scene, FALSE);
@@ -569,11 +588,16 @@ static void rna_Sequence_filepath_update(Main *bmain, Scene *scene, PointerRNA *
}
/* do_versions? */
-static float rna_Sequence_opacity_get(PointerRNA *ptr) {
- return ((Sequence*)(ptr->data))->blend_opacity / 100.0f;
+static float rna_Sequence_opacity_get(PointerRNA *ptr)
+{
+ Sequence *seq= (Sequence*)(ptr->data);
+ return seq->blend_opacity / 100.0f;
}
-static void rna_Sequence_opacity_set(PointerRNA *ptr, float value) {
- ((Sequence*)(ptr->data))->blend_opacity = value * 100.0f;
+static void rna_Sequence_opacity_set(PointerRNA *ptr, float value)
+{
+ Sequence *seq= (Sequence*)(ptr->data);
+ CLAMP(value, 0.0f, 1.0f);
+ seq->blend_opacity = value * 100.0f;
}
@@ -656,6 +680,23 @@ static void rna_SequenceEditor_overlay_frame_set(PointerRNA *ptr, int value)
ed->over_ofs= value;
}
+
+static void rna_WipeSequence_angle_set(PointerRNA *ptr, float value)
+{
+ Sequence *seq= (Sequence *)(ptr->data);
+ value= RAD2DEGF(value);
+ CLAMP(value, -90.0f, 90.0f);
+ ((WipeVars *)seq->effectdata)->angle= value;
+}
+
+static float rna_WipeSequence_angle_get(PointerRNA *ptr)
+{
+ Sequence *seq= (Sequence *)(ptr->data);
+
+ return DEG2RADF(((WipeVars *)seq->effectdata)->angle);
+}
+
+
#else
static void rna_def_strip_element(BlenderRNA *brna)
@@ -844,6 +885,7 @@ static void rna_def_sequence(BlenderRNA *brna)
{SEQ_COLOR, "COLOR", 0, "Color", ""},
{SEQ_SPEED, "SPEED", 0, "Speed", ""},
{SEQ_MULTICAM, "MULTICAM", 0, "Multicam Selector", ""},
+ {SEQ_ADJUSTMENT, "ADJUSTMENT", 0, "Adjustment Layer", ""},
{0, NULL, 0, NULL, NULL}};
static const EnumPropertyItem blend_mode_items[]= {
@@ -1219,9 +1261,10 @@ static void rna_def_image(BlenderRNA *brna)
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
prop= RNA_def_property(srna, "elements", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "strip->stripdata", "strip->len");
+ RNA_def_property_collection_sdna(prop, NULL, "strip->stripdata", NULL);
RNA_def_property_struct_type(prop, "SequenceElement");
RNA_def_property_ui_text(prop, "Elements", "");
+ RNA_def_property_collection_funcs(prop, "rna_SequenceEditor_elements_begin", "rna_iterator_array_next", "rna_iterator_array_end", "rna_iterator_array_get", "rna_SequenceEditor_elements_length", 0, 0);
rna_def_filter_video(srna);
rna_def_proxy(srna);
@@ -1288,9 +1331,10 @@ static void rna_def_movie(BlenderRNA *brna)
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
prop= RNA_def_property(srna, "elements", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "strip->stripdata", "strip->len");
+ RNA_def_property_collection_sdna(prop, NULL, "strip->stripdata", NULL);
RNA_def_property_struct_type(prop, "SequenceElement");
RNA_def_property_ui_text(prop, "Elements", "");
+ RNA_def_property_collection_funcs(prop, "rna_SequenceEditor_elements_begin", "rna_iterator_array_next", "rna_iterator_array_end", "rna_iterator_array_get", "rna_SequenceEditor_elements_length", 0, 0);
prop= RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
RNA_def_property_ui_text(prop, "File", "");
@@ -1371,6 +1415,20 @@ static void rna_def_multicam(BlenderRNA *brna)
rna_def_input(srna);
}
+static void rna_def_adjustment(BlenderRNA *brna)
+{
+ StructRNA *srna;
+// PropertyRNA *prop;
+
+ srna = RNA_def_struct(brna, "AdjustmentSequence", "Sequence");
+ RNA_def_struct_ui_text(srna, "Adjustment Layer Sequence", "Sequence strip to perform filter adjustments to layers below");
+ RNA_def_struct_sdna(srna, "Sequence");
+
+ rna_def_filter_video(srna);
+ rna_def_proxy(srna);
+ rna_def_input(srna);
+}
+
static void rna_def_plugin(BlenderRNA *brna)
{
StructRNA *srna;
@@ -1419,10 +1477,16 @@ static void rna_def_wipe(BlenderRNA *brna)
RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_ui_text(prop, "Blur Width", "Width of the blur edge, in percentage relative to the image size");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
-
+
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_WipeSequence_angle_get", "rna_WipeSequence_angle_set", NULL);
+ RNA_def_property_range(prop, DEG2RAD(-90.0f), DEG2RAD(90.0f));
+#else
prop= RNA_def_property(srna, "angle", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "angle");
RNA_def_property_range(prop, -90.0f, 90.0f);
+#endif
RNA_def_property_ui_text(prop, "Angle", "Edge angle");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
@@ -1620,6 +1684,7 @@ void RNA_def_sequencer(BlenderRNA *brna)
rna_def_sound(brna);
rna_def_effect(brna);
rna_def_multicam(brna);
+ rna_def_adjustment(brna);
rna_def_plugin(brna);
rna_def_wipe(brna);
rna_def_glow(brna);
diff --git a/source/blender/makesrna/intern/rna_sequencer_api.c b/source/blender/makesrna/intern/rna_sequencer_api.c
index d2c2787784b..fa240fa225a 100644
--- a/source/blender/makesrna/intern/rna_sequencer_api.c
+++ b/source/blender/makesrna/intern/rna_sequencer_api.c
@@ -51,8 +51,10 @@
static void rna_Sequence_swap_internal(Sequence *seq_self, ReportList *reports, Sequence *seq_other)
{
- if(seq_swap(seq_self, seq_other) == 0)
- BKE_report(reports, RPT_ERROR, "both strips must be the same length");
+ const char *error_msg;
+
+ if(seq_swap(seq_self, seq_other, &error_msg) == 0)
+ BKE_report(reports, RPT_ERROR, error_msg);
}
#else
diff --git a/source/blender/makesrna/intern/rna_smoke.c b/source/blender/makesrna/intern/rna_smoke.c
index 922c68f45bd..43d1aa24229 100644
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@ -53,7 +53,7 @@
#include "BKE_particle.h"
-static void rna_Smoke_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Smoke_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
DAG_id_tag_update(ptr->id.data, OB_RECALC_DATA);
}
@@ -212,7 +212,7 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "strength");
RNA_def_property_range(prop, 0.0, 10.0);
RNA_def_property_ui_range(prop, 0.0, 10.0, 1, 2);
- RNA_def_property_ui_text(prop, "Strength", "Strength of wavelet noise");
+ RNA_def_property_ui_text(prop, "Strength", "Strength of noise");
RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Smoke_reset");
prop= RNA_def_property(srna, "dissolve_speed", PROP_INT, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index b86fc266e17..b89c0b36097 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -76,9 +76,6 @@ static EnumPropertyItem draw_channels_items[] = {
{SI_USE_ALPHA, "COLOR_ALPHA", ICON_IMAGE_RGB_ALPHA, "Color and Alpha", "Draw image with RGB colors and alpha transparency"},
{SI_SHOW_ALPHA, "ALPHA", ICON_IMAGE_ALPHA, "Alpha", "Draw alpha transparency channel"},
{SI_SHOW_ZBUF, "Z_BUFFER", ICON_IMAGE_ZDEPTH, "Z-Buffer", "Draw Z-buffer associated with image (mapped from camera clip start to end)"},
-#ifdef WITH_LCMS
- {SI_COLOR_CORRECTION, "COLOR_CORRECTED", ICON_IMAGE_ALPHA, "Color Corrected", "Display color corrected image"},
-#endif
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem transform_orientation_items[] = {
@@ -113,6 +110,7 @@ EnumPropertyItem viewport_shade_items[] = {
#include "BLI_math.h"
+#include "BKE_screen.h"
#include "BKE_animsys.h"
#include "BKE_brush.h"
#include "BKE_colortools.h"
@@ -220,7 +218,7 @@ static PointerRNA rna_CurrentOrientation_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_TransformOrientation, BLI_findlink(&scene->transform_spaces, v3d->twmode - V3D_MANIP_CUSTOM));
}
-EnumPropertyItem *rna_TransformOrientation_itemf(bContext *C, PointerRNA *ptr, int *free)
+EnumPropertyItem *rna_TransformOrientation_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
Scene *scene = NULL;
ListBase *transform_spaces;
@@ -314,7 +312,7 @@ static void rna_SpaceView3D_layer_set(PointerRNA *ptr, const int *values)
v3d->lay= ED_view3d_scene_layer_set(v3d->lay, values, &v3d->layact);
}
-static void rna_SpaceView3D_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceView3D_layer_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
DAG_on_visible_update(bmain, FALSE);
}
@@ -377,7 +375,7 @@ static PointerRNA rna_SpaceView3D_region_quadview_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_RegionView3D, regiondata);
}
-static void rna_RegionView3D_quadview_update(Main *main, Scene *scene, PointerRNA *ptr)
+static void rna_RegionView3D_quadview_update(Main *UNUSED(main), Scene *UNUSED(scene), PointerRNA *ptr)
{
ScrArea *sa;
ARegion *ar;
@@ -388,7 +386,7 @@ static void rna_RegionView3D_quadview_update(Main *main, Scene *scene, PointerRN
}
/* same as above but call clip==TRUE */
-static void rna_RegionView3D_quadview_clip_update(Main *main, Scene *scene, PointerRNA *ptr)
+static void rna_RegionView3D_quadview_clip_update(Main *UNUSED(main), Scene *UNUSED(scene), PointerRNA *ptr)
{
ScrArea *sa;
ARegion *ar;
@@ -426,7 +424,7 @@ static void rna_RegionView3D_view_matrix_set(PointerRNA *ptr, const float *value
{
RegionView3D *rv3d= (RegionView3D *)(ptr->data);
negate_v3_v3(rv3d->ofs, values);
- view3d_apply_mat4((float (*)[4])values, rv3d->ofs, rv3d->viewquat, &rv3d->dist);
+ ED_view3d_from_m4((float (*)[4])values, rv3d->ofs, rv3d->viewquat, &rv3d->dist);
}
/* Space Image Editor */
@@ -436,7 +434,7 @@ static PointerRNA rna_SpaceImageEditor_uvedit_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_SpaceUVEditor, ptr->data);
}
-static void rna_SpaceImageEditor_paint_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceImageEditor_paint_update(Main *bmain, Scene *scene, PointerRNA *UNUSED(ptr))
{
paint_init(&scene->toolsettings->imapaint.paint, PAINT_CURSOR_TEXTURE_PAINT);
@@ -470,7 +468,7 @@ static void rna_SpaceImageEditor_image_set(PointerRNA *ptr, PointerRNA value)
ED_space_image_set(NULL, sima, sc->scene, sc->scene->obedit, (Image*)value.data);
}
-static EnumPropertyItem *rna_SpaceImageEditor_draw_channels_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_SpaceImageEditor_draw_channels_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
SpaceImage *sima= (SpaceImage*)ptr->data;
EnumPropertyItem *item= NULL;
@@ -498,16 +496,28 @@ static EnumPropertyItem *rna_SpaceImageEditor_draw_channels_itemf(bContext *C, P
RNA_enum_items_add_value(&item, &totitem, draw_channels_items, SI_SHOW_ZBUF);
}
-#ifdef WITH_LCMS
- RNA_enum_items_add_value(&item, &totitem, draw_channels_items, SI_COLOR_CORRECTION);
-#endif
-
RNA_enum_item_end(&item, &totitem);
*free= 1;
return item;
}
+static void rna_SpaceImageEditor_zoom_get(PointerRNA *ptr, float *values)
+{
+ SpaceImage *sima= (SpaceImage*)ptr->data;
+ ScrArea *sa;
+ ARegion *ar;
+
+ values[0] = values[1] = 1;
+
+ /* find aregion */
+ sa= rna_area_from_space(ptr); /* can be NULL */
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+ if(ar) {
+ ED_space_image_zoom(sima, ar, &values[0], &values[1]);
+ }
+}
+
static void rna_SpaceImageEditor_cursor_location_get(PointerRNA *ptr, float *values)
{
SpaceImage *sima= (SpaceImage*)ptr->data;
@@ -538,7 +548,7 @@ static void rna_SpaceImageEditor_cursor_location_set(PointerRNA *ptr, const floa
}
}
-static void rna_SpaceImageEditor_curves_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceImageEditor_curves_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
SpaceImage *sima= (SpaceImage*)ptr->data;
ImBuf *ibuf;
@@ -552,7 +562,7 @@ static void rna_SpaceImageEditor_curves_update(Main *bmain, Scene *scene, Pointe
WM_main_add_notifier(NC_IMAGE, sima->image);
}
-static void rna_SpaceImageEditor_scopes_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceImageEditor_scopes_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
SpaceImage *sima= (SpaceImage*)ptr->data;
ImBuf *ibuf;
@@ -584,7 +594,7 @@ static void rna_SpaceTextEditor_text_set(PointerRNA *ptr, PointerRNA value)
st->top= 0;
}
-static void rna_SpaceTextEditor_updateEdited(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceTextEditor_updateEdited(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
SpaceText *st= (SpaceText*)ptr->data;
@@ -612,7 +622,7 @@ static StructRNA *rna_SpaceProperties_pin_id_typef(PointerRNA *ptr)
return &RNA_ID;
}
-static void rna_SpaceProperties_pin_id_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceProperties_pin_id_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
SpaceButs *sbuts= (SpaceButs*)(ptr->data);
ID *id = sbuts->pinid;
@@ -690,7 +700,7 @@ static void rna_ConsoleLine_cursor_index_range(PointerRNA *ptr, int *min, int *m
ConsoleLine *ci= (ConsoleLine*)ptr->data;
*min= 0;
- *max= ci->len;
+ *max= ci->len; /* intentionally _not_ -1 */
}
/* Space Dopesheet */
@@ -726,7 +736,7 @@ static void rna_SpaceDopeSheetEditor_action_set(PointerRNA *ptr, PointerRNA valu
}
}
-static void rna_SpaceDopeSheetEditor_action_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceDopeSheetEditor_action_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
SpaceAction *saction= (SpaceAction*)(ptr->data);
Object *obact= (scene->basact)? scene->basact->object: NULL;
@@ -760,7 +770,7 @@ static void rna_SpaceDopeSheetEditor_action_update(Main *bmain, Scene *scene, Po
}
}
-static void rna_SpaceDopeSheetEditor_mode_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_SpaceDopeSheetEditor_mode_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
SpaceAction *saction= (SpaceAction*)(ptr->data);
Object *obact= (scene->basact)? scene->basact->object: NULL;
@@ -794,7 +804,7 @@ static void rna_SpaceDopeSheetEditor_mode_update(Main *bmain, Scene *scene, Poin
/* Space Graph Editor */
-static void rna_SpaceGraphEditor_display_mode_update(bContext *C, PointerRNA *ptr)
+static void rna_SpaceGraphEditor_display_mode_update(bContext *C, PointerRNA *UNUSED(ptr))
{
//SpaceIpo *sipo= (SpaceIpo*)(ptr->data);
ScrArea *sa= CTX_wm_area(C);
@@ -830,7 +840,7 @@ static void rna_BackgroundImage_opacity_set(PointerRNA *ptr, float value)
bgpic->blend = 1.0f - value;
}
-static EnumPropertyItem *rna_SpaceProperties_texture_context_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_SpaceProperties_texture_context_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
@@ -980,7 +990,12 @@ static void rna_def_space_image_uv(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", SI_COORDFLOATS);
RNA_def_property_ui_text(prop, "Normalized Coordinates", "Display UV coordinates from 0.0 to 1.0 rather than in pixels");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, NULL);
-
+
+ prop= RNA_def_property(srna, "show_faces", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SI_NO_DRAWFACES);
+ RNA_def_property_ui_text(prop, "Draw Faces", "Draw faces over the image");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, NULL);
+
prop= RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_XYZ);
RNA_def_property_array(prop, 2);
RNA_def_property_float_funcs(prop, "rna_SpaceImageEditor_cursor_location_get", "rna_SpaceImageEditor_cursor_location_set", NULL);
@@ -1017,18 +1032,18 @@ static void rna_def_space_outliner(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem display_mode_items[] = {
- {SO_ALL_SCENES, "ALL_SCENES", 0, "All Scenes", ""},
- {SO_CUR_SCENE, "CURRENT_SCENE", 0, "Current Scene", ""},
- {SO_VISIBLE, "VISIBLE_LAYERS", 0, "Visible Layers", ""},
- {SO_SELECTED, "SELECTED", 0, "Selected", ""},
- {SO_ACTIVE, "ACTIVE", 0, "Active", ""},
- {SO_SAME_TYPE, "SAME_TYPES", 0, "Same Types", ""},
- {SO_GROUPS, "GROUPS", 0, "Groups", ""},
- {SO_LIBRARIES, "LIBRARIES", 0, "Libraries", ""},
- {SO_SEQUENCE, "SEQUENCE", 0, "Sequence", ""},
- {SO_DATABLOCKS, "DATABLOCKS", 0, "Datablocks", ""},
- {SO_USERDEF, "USER_PREFERENCES", 0, "User Preferences", ""},
- {SO_KEYMAP, "KEYMAPS", 0, "Key Maps", ""},
+ {SO_ALL_SCENES, "ALL_SCENES", 0, "All Scenes", "Display datablocks in all scenes"},
+ {SO_CUR_SCENE, "CURRENT_SCENE", 0, "Current Scene", "Display datablocks in current scene"},
+ {SO_VISIBLE, "VISIBLE_LAYERS", 0, "Visible Layers", "Display datablocks in visible layers"},
+ {SO_SELECTED, "SELECTED", 0, "Selected", "Display datablocks of selected objects"},
+ {SO_ACTIVE, "ACTIVE", 0, "Active", "Display datablocks of active object"},
+ {SO_SAME_TYPE, "SAME_TYPES", 0, "Same Types", "Display datablocks of all objects of same type as selected object"},
+ {SO_GROUPS, "GROUPS", 0, "Groups", "Display groups and their datablocks"},
+ {SO_LIBRARIES, "LIBRARIES", 0, "Libraries", "Display libraries"},
+ {SO_SEQUENCE, "SEQUENCE", 0, "Sequence", "Display sequence datablocks"},
+ {SO_DATABLOCKS, "DATABLOCKS", 0, "Datablocks", "Display raw datablocks"},
+ {SO_USERDEF, "USER_PREFERENCES", 0, "User Preferences", "Display the user preference datablocks"},
+ {SO_KEYMAP, "KEYMAPS", 0, "Key Maps", "Display keymap datablocks"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "SpaceOutliner", "Space");
@@ -1070,20 +1085,20 @@ static void rna_def_background_image(BlenderRNA *brna)
/* note: combinations work but dont flip so arnt that useful */
static EnumPropertyItem bgpic_axis_items[] = {
{0, "", 0, "X Axis", ""},
- {(1<<RV3D_VIEW_LEFT), "LEFT", 0, "Left", ""},
- {(1<<RV3D_VIEW_RIGHT), "RIGHT", 0, "Right", ""},
+ {(1<<RV3D_VIEW_LEFT), "LEFT", 0, "Left", "Show background image while looking to the left"},
+ {(1<<RV3D_VIEW_RIGHT), "RIGHT", 0, "Right", "Show background image while looking to the right"},
/*{(1<<RV3D_VIEW_LEFT)|(1<<RV3D_VIEW_RIGHT), "LEFT_RIGHT", 0, "Left/Right", ""},*/
{0, "", 0, "Y Axis", ""},
- {(1<<RV3D_VIEW_BACK), "BACK", 0, "Back", ""},
- {(1<<RV3D_VIEW_FRONT), "FRONT", 0, "Front", ""},
+ {(1<<RV3D_VIEW_BACK), "BACK", 0, "Back", "Show background image in back view"},
+ {(1<<RV3D_VIEW_FRONT), "FRONT", 0, "Front", "Show background image in front view"},
/*{(1<<RV3D_VIEW_BACK)|(1<<RV3D_VIEW_FRONT), "BACK_FRONT", 0, "Back/Front", ""},*/
{0, "", 0, "Z Axis", ""},
- {(1<<RV3D_VIEW_BOTTOM), "BOTTOM", 0, "Bottom", ""},
- {(1<<RV3D_VIEW_TOP), "TOP", 0, "Top", ""},
+ {(1<<RV3D_VIEW_BOTTOM), "BOTTOM", 0, "Bottom", "Show background image in bottom view"},
+ {(1<<RV3D_VIEW_TOP), "TOP", 0, "Top", "Show background image in top view"},
/*{(1<<RV3D_VIEW_BOTTOM)|(1<<RV3D_VIEW_TOP), "BOTTOM_TOP", 0, "Top/Bottom", ""},*/
{0, "", 0, "Other", ""},
- {0, "ALL", 0, "All Views", ""},
- {(1<<RV3D_VIEW_CAMERA), "CAMERA", 0, "Camera", ""},
+ {0, "ALL", 0, "All Views", "Show background image in all views"},
+ {(1<<RV3D_VIEW_CAMERA), "CAMERA", 0, "Camera", "Show background image in camera view"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "BackgroundImage", NULL);
@@ -1145,11 +1160,11 @@ static void rna_def_space_view3d(BlenderRNA *brna)
const int matrix_dimsize[]= {4, 4};
static EnumPropertyItem pivot_items[] = {
- {V3D_CENTER, "BOUNDING_BOX_CENTER", ICON_ROTATE, "Bounding Box Center", ""},
- {V3D_CURSOR, "CURSOR", ICON_CURSOR, "3D Cursor", ""},
- {V3D_LOCAL, "INDIVIDUAL_ORIGINS", ICON_ROTATECOLLECTION, "Individual Origins", ""},
- {V3D_CENTROID, "MEDIAN_POINT", ICON_ROTATECENTER, "Median Point", ""},
- {V3D_ACTIVE, "ACTIVE_ELEMENT", ICON_ROTACTIVE, "Active Element", ""},
+ {V3D_CENTER, "BOUNDING_BOX_CENTER", ICON_ROTATE, "Bounding Box Center", "Pivot around bounding box center of selected object(s)"},
+ {V3D_CURSOR, "CURSOR", ICON_CURSOR, "3D Cursor", "Pivot around the 3D cursor"},
+ {V3D_LOCAL, "INDIVIDUAL_ORIGINS", ICON_ROTATECOLLECTION, "Individual Origins", "Pivot around each object's own origin"},
+ {V3D_CENTROID, "MEDIAN_POINT", ICON_ROTATECENTER, "Median Point", "Pivot around the median point of selected objects"},
+ {V3D_ACTIVE, "ACTIVE_ELEMENT", ICON_ROTACTIVE, "Active Element", "Pivot around active object"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem rv3d_persp_items[] = {
@@ -1209,7 +1224,7 @@ static void rna_def_space_view3d(BlenderRNA *brna)
prop= RNA_def_property(srna, "clip_start", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "near");
- RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_range(prop, 0.001f, FLT_MAX);
RNA_def_property_ui_text(prop, "Clip Start", "3D View near clipping distance");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
@@ -1277,6 +1292,11 @@ static void rna_def_space_view3d(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Textured Solid", "Display face-assigned textures in solid view");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
+ prop= RNA_def_property(srna, "lock_camera", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_LOCK_CAMERA);
+ RNA_def_property_ui_text(prop, "Lock Camera to View", "Enable view navigation within the camera view");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
+
prop= RNA_def_property(srna, "show_only_render", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_RENDER_OVERRIDE);
RNA_def_property_ui_text(prop, "Only Render", "Display only objects which will be rendered");
@@ -1416,6 +1436,11 @@ static void rna_def_space_view3d(BlenderRNA *brna)
RNA_def_property_enum_items(prop, rv3d_persp_items);
RNA_def_property_ui_text(prop, "Perspective", "View Perspective");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
+
+ prop= RNA_def_property(srna, "is_perspective", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "is_persp", 1);
+ RNA_def_property_ui_text(prop, "Is Perspective", "");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
prop= RNA_def_property(srna, "view_location", PROP_FLOAT, PROP_TRANSLATION);
#if 0
@@ -1556,6 +1581,12 @@ static void rna_def_space_image(BlenderRNA *brna)
RNA_def_property_pointer_sdna(prop, NULL, "sample_line_hist");
RNA_def_property_struct_type(prop, "Histogram");
RNA_def_property_ui_text(prop, "Line sample", "Sampled colors along line");
+
+ prop= RNA_def_property(srna, "zoom", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_array(prop, 2);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_float_funcs(prop, "rna_SpaceImageEditor_zoom_get", NULL, NULL);
+ RNA_def_property_ui_text(prop, "Zoom", "Zoom factor");
/* image draw */
prop= RNA_def_property(srna, "show_repeat", PROP_BOOLEAN, PROP_NONE);
@@ -1825,6 +1856,11 @@ static void rna_def_space_text(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Find Wrap", "Search again from the start of the file when reaching the end");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TEXT, NULL);
+ prop= RNA_def_property(srna, "use_match_case", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", ST_MATCH_CASE);
+ RNA_def_property_ui_text(prop, "Match case", "Search string is sensitive to uppercase and lowercase letters");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TEXT, NULL);
+
prop= RNA_def_property(srna, "find_text", PROP_STRING, PROP_NONE);
RNA_def_property_string_sdna(prop, NULL, "findstr");
RNA_def_property_ui_text(prop, "Find Text", "Text to search for with the find tool");
@@ -1842,10 +1878,10 @@ static void rna_def_space_dopesheet(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem mode_items[] = {
- {SACTCONT_DOPESHEET, "DOPESHEET", 0, "DopeSheet", ""},
- {SACTCONT_ACTION, "ACTION", 0, "Action Editor", ""},
- {SACTCONT_SHAPEKEY, "SHAPEKEY", 0, "ShapeKey Editor", ""},
- {SACTCONT_GPENCIL, "GPENCIL", 0, "Grease Pencil", ""},
+ {SACTCONT_DOPESHEET, "DOPESHEET", 0, "DopeSheet", "DopeSheet Editor"},
+ {SACTCONT_ACTION, "ACTION", 0, "Action Editor", "Action Editor"},
+ {SACTCONT_SHAPEKEY, "SHAPEKEY", 0, "ShapeKey Editor", "ShapeKey Editor"},
+ {SACTCONT_GPENCIL, "GPENCIL", 0, "Grease Pencil", "Grease Pencil"},
{0, NULL, 0, NULL, NULL}};
@@ -1924,8 +1960,8 @@ static void rna_def_space_graph(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem mode_items[] = {
- {SIPO_MODE_ANIMATION, "FCURVES", 0, "F-Curve Editor", ""},
- {SIPO_MODE_DRIVERS, "DRIVERS", 0, "Drivers", ""},
+ {SIPO_MODE_ANIMATION, "FCURVES", 0, "F-Curve Editor", "Edit f-curves"},
+ {SIPO_MODE_DRIVERS, "DRIVERS", 0, "Drivers", "Edit drivers"},
{0, NULL, 0, NULL, NULL}};
/* this is basically the same as the one for the 3D-View, but with some entries ommitted */
diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c
index fc74fc7268d..9e3a31ddb2e 100644
--- a/source/blender/makesrna/intern/rna_texture.c
+++ b/source/blender/makesrna/intern/rna_texture.c
@@ -56,21 +56,21 @@ EnumPropertyItem texture_filter_items[] = {
EnumPropertyItem texture_type_items[] = {
{0, "NONE", 0, "None", ""},
- {TEX_BLEND, "BLEND", ICON_TEXTURE, "Blend", ""},
- {TEX_CLOUDS, "CLOUDS", ICON_TEXTURE, "Clouds", ""},
- {TEX_DISTNOISE, "DISTORTED_NOISE", ICON_TEXTURE, "Distorted Noise", ""},
- {TEX_ENVMAP, "ENVIRONMENT_MAP", ICON_IMAGE_DATA, "Environment Map", ""},
- {TEX_IMAGE, "IMAGE", ICON_IMAGE_DATA, "Image or Movie", ""},
- {TEX_MAGIC, "MAGIC", ICON_TEXTURE, "Magic", ""},
- {TEX_MARBLE, "MARBLE", ICON_TEXTURE, "Marble", ""},
- {TEX_MUSGRAVE, "MUSGRAVE", ICON_TEXTURE, "Musgrave", ""},
- {TEX_NOISE, "NOISE", ICON_TEXTURE, "Noise", ""},
+ {TEX_BLEND, "BLEND", ICON_TEXTURE, "Blend", "Procedural - Creates a ramp texture"},
+ {TEX_CLOUDS, "CLOUDS", ICON_TEXTURE, "Clouds", "Procedural - Creates a cloud-like fractal noise texture"},
+ {TEX_DISTNOISE, "DISTORTED_NOISE", ICON_TEXTURE, "Distorted Noise", "Procedural - Noise texture distorted by two noise algorithms"},
+ {TEX_ENVMAP, "ENVIRONMENT_MAP", ICON_IMAGE_DATA, "Environment Map", "Creates a render of the environment mapped to a texture"},
+ {TEX_IMAGE, "IMAGE", ICON_IMAGE_DATA, "Image or Movie", "Allows for images or movies to be used as textures"},
+ {TEX_MAGIC, "MAGIC", ICON_TEXTURE, "Magic", "Procedural - Color texture based on trigonometric functions"},
+ {TEX_MARBLE, "MARBLE", ICON_TEXTURE, "Marble", "Procedural - Marble-like noise texture with wave generated bands"},
+ {TEX_MUSGRAVE, "MUSGRAVE", ICON_TEXTURE, "Musgrave", "Procedural - Highly flexible fractal noise texture"},
+ {TEX_NOISE, "NOISE", ICON_TEXTURE, "Noise", "Procedural - Random noise, gives a different result every time, for every frame, for every pixel"},
//{TEX_PLUGIN, "PLUGIN", ICON_PLUGIN, "Plugin", ""}, /* Nothing yet */
{TEX_POINTDENSITY, "POINT_DENSITY", ICON_TEXTURE, "Point Density", ""},
- {TEX_STUCCI, "STUCCI", ICON_TEXTURE, "Stucci", ""},
- {TEX_VORONOI, "VORONOI", ICON_TEXTURE, "Voronoi", ""},
- {TEX_VOXELDATA, "VOXEL_DATA", ICON_TEXTURE, "Voxel Data", ""},
- {TEX_WOOD, "WOOD", ICON_TEXTURE, "Wood", ""},
+ {TEX_STUCCI, "STUCCI", ICON_TEXTURE, "Stucci", "Procedural - Creates a fractal noise texture"},
+ {TEX_VORONOI, "VORONOI", ICON_TEXTURE, "Voronoi", "Procedural - Creates cell-like patterns based on Worley noise"},
+ {TEX_VOXELDATA, "VOXEL_DATA", ICON_TEXTURE, "Voxel Data", "Creates a 3d texture based on volumetric data"},
+ {TEX_WOOD, "WOOD", ICON_TEXTURE, "Wood", "Procedural - Wave generated bands or rings, with optional noise"},
{0, NULL, 0, NULL, NULL}};
#ifdef RNA_RUNTIME
@@ -135,6 +135,7 @@ static void rna_Texture_update(Main *bmain, Scene *scene, PointerRNA *ptr)
DAG_id_tag_update(&tex->id, 0);
WM_main_add_notifier(NC_TEXTURE, tex);
+ WM_main_add_notifier(NC_MATERIAL|ND_SHADING_DRAW, NULL);
}
static void rna_Texture_voxeldata_update(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -285,7 +286,7 @@ static int rna_TextureSlot_output_node_get(PointerRNA *ptr)
}
-static EnumPropertyItem *rna_TextureSlot_output_node_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_TextureSlot_output_node_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
{
MTex *mtex= ptr->data;
Tex *tex= mtex->tex;
@@ -509,7 +510,7 @@ static void rna_def_mtex(BlenderRNA *brna)
prop= RNA_def_property(srna, "blend_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "blendtype");
RNA_def_property_enum_items(prop, prop_blend_type_items);
- RNA_def_property_ui_text(prop, "Blend Type", "");
+ RNA_def_property_ui_text(prop, "Blend Type", "The mode used to apply the texture");
RNA_def_property_update(prop, 0, "rna_TextureSlot_update");
prop= RNA_def_property(srna, "use_stencil", PROP_BOOLEAN, PROP_NONE);
@@ -627,7 +628,7 @@ static void rna_def_environment_map(BlenderRNA *brna)
prop= RNA_def_property(srna, "clip_start", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "clipsta");
- RNA_def_property_range(prop, 0.01, FLT_MAX);
+ RNA_def_property_range(prop, 0.001, FLT_MAX);
RNA_def_property_ui_range(prop, 0.01, 50, 100, 2);
RNA_def_property_ui_text(prop, "Clip Start", "Objects nearer than this are not visible to map");
RNA_def_property_update(prop, 0, "rna_Texture_update");
@@ -665,21 +666,21 @@ static void rna_def_environment_map(BlenderRNA *brna)
}
static EnumPropertyItem prop_noise_basis_items[] = {
- {TEX_BLENDER, "BLENDER_ORIGINAL", 0, "Blender Original", ""},
- {TEX_STDPERLIN, "ORIGINAL_PERLIN", 0, "Original Perlin", ""},
- {TEX_NEWPERLIN, "IMPROVED_PERLIN", 0, "Improved Perlin", ""},
- {TEX_VORONOI_F1, "VORONOI_F1", 0, "Voronoi F1", ""},
- {TEX_VORONOI_F2, "VORONOI_F2", 0, "Voronoi F2", ""},
- {TEX_VORONOI_F3, "VORONOI_F3", 0, "Voronoi F3", ""},
- {TEX_VORONOI_F4, "VORONOI_F4", 0, "Voronoi F4", ""},
- {TEX_VORONOI_F2F1, "VORONOI_F2_F1", 0, "Voronoi F2-F1", ""},
- {TEX_VORONOI_CRACKLE, "VORONOI_CRACKLE", 0, "Voronoi Crackle", ""},
- {TEX_CELLNOISE, "CELL_NOISE", 0, "Cell Noise", ""},
+ {TEX_BLENDER, "BLENDER_ORIGINAL", 0, "Blender Original", "Noise algorithm - Blender original: Smooth interpolated noise"},
+ {TEX_STDPERLIN, "ORIGINAL_PERLIN", 0, "Original Perlin", "Noise algorithm - Original Perlin: Smooth interpolated noise"},
+ {TEX_NEWPERLIN, "IMPROVED_PERLIN", 0, "Improved Perlin", "Noise algorithm - Improved Perlin: Smooth interpolated noise"},
+ {TEX_VORONOI_F1, "VORONOI_F1", 0, "Voronoi F1", "Noise algorithm - Voronoi F1: Returns distance to the closest feature point"},
+ {TEX_VORONOI_F2, "VORONOI_F2", 0, "Voronoi F2", "Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point"},
+ {TEX_VORONOI_F3, "VORONOI_F3", 0, "Voronoi F3", "Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point"},
+ {TEX_VORONOI_F4, "VORONOI_F4", 0, "Voronoi F4", "Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point"},
+ {TEX_VORONOI_F2F1, "VORONOI_F2_F1", 0, "Voronoi F2-F1", "Noise algorithm - Voronoi F1-F2"},
+ {TEX_VORONOI_CRACKLE, "VORONOI_CRACKLE", 0, "Voronoi Crackle", "Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges"},
+ {TEX_CELLNOISE, "CELL_NOISE", 0, "Cell Noise", "Noise algorithm - Cell Noise: Square cell tessallation"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem prop_noise_type[] = {
- {TEX_NOISESOFT, "SOFT_NOISE", 0, "Soft", ""},
- {TEX_NOISEPERL, "HARD_NOISE", 0, "Hard", ""},
+ {TEX_NOISESOFT, "SOFT_NOISE", 0, "Soft", "Generate soft noise (smooth transitions)"},
+ {TEX_NOISEPERL, "HARD_NOISE", 0, "Hard", "Generate hard noise (sharp transitions)"},
{0, NULL, 0, NULL, NULL}};
@@ -726,7 +727,7 @@ static void rna_def_texture_clouds(BlenderRNA *brna)
prop= RNA_def_property(srna, "cloud_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "stype");
RNA_def_property_enum_items(prop, prop_clouds_stype);
- RNA_def_property_ui_text(prop, "Color", "");
+ RNA_def_property_ui_text(prop, "Color", "Determines whether Noise returns grayscale or RGB values");
RNA_def_property_update(prop, 0, "rna_Texture_nodes_update");
prop= RNA_def_property(srna, "nabla", PROP_FLOAT, PROP_NONE);
@@ -1195,11 +1196,11 @@ static void rna_def_texture_musgrave(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem prop_musgrave_type[] = {
- {TEX_MFRACTAL, "MULTIFRACTAL", 0, "Multifractal", ""},
- {TEX_RIDGEDMF, "RIDGED_MULTIFRACTAL", 0, "Ridged Multifractal", ""},
- {TEX_HYBRIDMF, "HYBRID_MULTIFRACTAL", 0, "Hybrid Multifractal", ""},
- {TEX_FBM, "FBM", 0, "fBM", ""},
- {TEX_HTERRAIN, "HETERO_TERRAIN", 0, "Hetero Terrain", ""},
+ {TEX_MFRACTAL, "MULTIFRACTAL", 0, "Multifractal", "Fractal noise algorithm. Multifractal: Uses Perlin noise as a basis"},
+ {TEX_RIDGEDMF, "RIDGED_MULTIFRACTAL", 0, "Ridged Multifractal", "Fractal noise algorithm. Ridged Multifractal: Uses Perlin noise with inflection as a basis"},
+ {TEX_HYBRIDMF, "HYBRID_MULTIFRACTAL", 0, "Hybrid Multifractal", "Fractal noise algorithm.Hybrid Multifractal: Uses Perlin noise as a basis, with extended controls"},
+ {TEX_FBM, "FBM", 0, "fBM", "Fractal noise algorithm. Fractal Brownian Motion: Uses Brownian noise as a basis"},
+ {TEX_HTERRAIN, "HETERO_TERRAIN", 0, "Hetero Terrain", "Fractal noise algorithm. Hetero Terrain: similar to multifractal"},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "MusgraveTexture", "Texture");
@@ -1245,7 +1246,7 @@ static void rna_def_texture_musgrave(BlenderRNA *brna)
prop= RNA_def_property(srna, "noise_intensity", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "ns_outscale");
RNA_def_property_range(prop, 0, 10);
- RNA_def_property_ui_text(prop, "Noise Intensity", "");
+ RNA_def_property_ui_text(prop, "Noise Intensity", "Scales the intensity of the noise");
RNA_def_property_update(prop, 0, "rna_Texture_update");
prop= RNA_def_property(srna, "noise_scale", PROP_FLOAT, PROP_NONE);
@@ -1274,13 +1275,13 @@ static void rna_def_texture_voronoi(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem prop_distance_metric_items[] = {
- {TEX_DISTANCE, "DISTANCE", 0, "Actual Distance", ""},
- {TEX_DISTANCE_SQUARED, "DISTANCE_SQUARED", 0, "Distance Squared", ""},
- {TEX_MANHATTAN, "MANHATTAN", 0, "Manhattan", ""},
- {TEX_CHEBYCHEV, "CHEBYCHEV", 0, "Chebychev", ""},
- {TEX_MINKOVSKY_HALF, "MINKOVSKY_HALF", 0, "Minkovsky 1/2", ""},
- {TEX_MINKOVSKY_FOUR, "MINKOVSKY_FOUR", 0, "Minkovsky 4", ""},
- {TEX_MINKOVSKY, "MINKOVSKY", 0, "Minkovsky", ""},
+ {TEX_DISTANCE, "DISTANCE", 0, "Actual Distance", "Algorithm used to calculate distance of sample points to feature points. Actual Distance: sqrt(x*x+y*y+z*z)"},
+ {TEX_DISTANCE_SQUARED, "DISTANCE_SQUARED", 0, "Distance Squared", "Algorithm used to calculate distance of sample points to feature points. Distance squared: (x*x+y*y+z*z)"},
+ {TEX_MANHATTAN, "MANHATTAN", 0, "Manhattan", "Algorithm used to calculate distance of sample points to feature points. Manhattan: The length of the distance in axial directions"},
+ {TEX_CHEBYCHEV, "CHEBYCHEV", 0, "Chebychev", "Algorithm used to calculate distance of sample points to feature points. Chebychev: The length of the longest Axial journey"},
+ {TEX_MINKOVSKY_HALF, "MINKOVSKY_HALF", 0, "Minkovsky 1/2", "Algorithm used to calculate distance of sample points to feature points. Minovsky 1/2: Sets Minkovsky variable to 0.5"},
+ {TEX_MINKOVSKY_FOUR, "MINKOVSKY_FOUR", 0, "Minkovsky 4", "Algorithm used to calculate distance of sample points to feature points. Minkovsky 4: Sets Minkovsky variable to 4"},
+ {TEX_MINKOVSKY, "MINKOVSKY", 0, "Minkovsky", "Algorithm used to calculate distance of sample points to feature points. Minkovsky: Uses the Minkowsky function to calculate distance. Exponent value determines the shape of the boundaries"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem prop_coloring_items[] = {
@@ -1340,7 +1341,7 @@ static void rna_def_texture_voronoi(BlenderRNA *brna)
prop= RNA_def_property(srna, "noise_intensity", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "ns_outscale");
RNA_def_property_range(prop, 0.01, 10);
- RNA_def_property_ui_text(prop, "Noise Intensity", "");
+ RNA_def_property_ui_text(prop, "Noise Intensity", "Scales the intensity of the noise");
RNA_def_property_update(prop, 0, "rna_Texture_update");
prop= RNA_def_property(srna, "noise_scale", PROP_FLOAT, PROP_NONE);
@@ -1369,7 +1370,7 @@ static void rna_def_texture_distorted_noise(BlenderRNA *brna)
prop= RNA_def_property(srna, "distortion", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "dist_amount");
RNA_def_property_range(prop, 0, 10);
- RNA_def_property_ui_text(prop, "Distortion Amount", "");
+ RNA_def_property_ui_text(prop, "Distortion Amount", "Amount of distortion");
RNA_def_property_update(prop, 0, "rna_Texture_update");
prop= RNA_def_property(srna, "noise_scale", PROP_FLOAT, PROP_NONE);
@@ -1550,7 +1551,6 @@ static void rna_def_texture_pointdensity(BlenderRNA *brna)
prop= RNA_def_property(srna, "turbulence_strength", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "noise_fac");
RNA_def_property_range(prop, 0.01, FLT_MAX);
- RNA_def_property_ui_text(prop, "Strength", "");
RNA_def_property_update(prop, 0, "rna_Texture_update");
prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE);
@@ -1737,17 +1737,17 @@ static void rna_def_texture(BlenderRNA *brna)
prop= RNA_def_property(srna, "intensity", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "bright");
RNA_def_property_range(prop, 0, 2);
- RNA_def_property_ui_text(prop, "Brightness", "");
+ RNA_def_property_ui_text(prop, "Brightness", "Adjusts the brightness of the texture");
RNA_def_property_update(prop, 0, "rna_Texture_update");
prop= RNA_def_property(srna, "contrast", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, 0.01, 5);
- RNA_def_property_ui_text(prop, "Contrast", "");
+ RNA_def_property_ui_text(prop, "Contrast", "Adjusts the contrast of the texture");
RNA_def_property_update(prop, 0, "rna_Texture_update");
prop= RNA_def_property(srna, "saturation", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, 0, 2);
- RNA_def_property_ui_text(prop, "Saturation", "");
+ RNA_def_property_ui_text(prop, "Saturation", "Adjusts the saturation of colors in the texture");
RNA_def_property_update(prop, 0, "rna_Texture_update");
/* RGB Factor */
diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c
index d48c1d35c13..1e60f747b4e 100644
--- a/source/blender/makesrna/intern/rna_ui.c
+++ b/source/blender/makesrna/intern/rna_ui.c
@@ -148,7 +148,7 @@ static void panel_draw_header(const bContext *C, Panel *pnl)
RNA_parameter_list_free(&list);
}
-static void rna_Panel_unregister(const bContext *C, StructRNA *type)
+static void rna_Panel_unregister(Main *UNUSED(bmain), StructRNA *type)
{
ARegionType *art;
PanelType *pt= RNA_struct_blender_type_get(type);
@@ -164,11 +164,10 @@ static void rna_Panel_unregister(const bContext *C, StructRNA *type)
RNA_struct_free(&BLENDER_RNA, type);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
}
-static StructRNA *rna_Panel_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+static StructRNA *rna_Panel_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
{
ARegionType *art;
PanelType *pt, dummypt = {NULL};
@@ -196,7 +195,7 @@ static StructRNA *rna_Panel_register(bContext *C, ReportList *reports, void *dat
for(pt=art->paneltypes.first; pt; pt=pt->next) {
if(strcmp(pt->idname, dummypt.idname) == 0) {
if(pt->ext.srna)
- rna_Panel_unregister(C, pt->ext.srna);
+ rna_Panel_unregister(bmain, pt->ext.srna);
else
BLI_freelinkN(&art->paneltypes, pt);
break;
@@ -233,8 +232,7 @@ static StructRNA *rna_Panel_register(bContext *C, ReportList *reports, void *dat
BLI_addtail(&art->paneltypes, pt);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
return pt->ext.srna;
}
@@ -263,7 +261,7 @@ static void header_draw(const bContext *C, Header *hdr)
RNA_parameter_list_free(&list);
}
-static void rna_Header_unregister(const bContext *C, StructRNA *type)
+static void rna_Header_unregister(Main *UNUSED(bmain), StructRNA *type)
{
ARegionType *art;
HeaderType *ht= RNA_struct_blender_type_get(type);
@@ -279,11 +277,10 @@ static void rna_Header_unregister(const bContext *C, StructRNA *type)
RNA_struct_free(&BLENDER_RNA, type);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
}
-static StructRNA *rna_Header_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+static StructRNA *rna_Header_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
{
ARegionType *art;
HeaderType *ht, dummyht = {NULL};
@@ -311,7 +308,7 @@ static StructRNA *rna_Header_register(bContext *C, ReportList *reports, void *da
for(ht=art->headertypes.first; ht; ht=ht->next) {
if(strcmp(ht->idname, dummyht.idname) == 0) {
if(ht->ext.srna)
- rna_Header_unregister(C, ht->ext.srna);
+ rna_Header_unregister(bmain, ht->ext.srna);
break;
}
}
@@ -331,8 +328,7 @@ static StructRNA *rna_Header_register(bContext *C, ReportList *reports, void *da
BLI_addtail(&art->headertypes, ht);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
return ht->ext.srna;
}
@@ -384,7 +380,7 @@ static void menu_draw(const bContext *C, Menu *hdr)
RNA_parameter_list_free(&list);
}
-static void rna_Menu_unregister(const bContext *C, StructRNA *type)
+static void rna_Menu_unregister(Main *UNUSED(bmain), StructRNA *type)
{
MenuType *mt= RNA_struct_blender_type_get(type);
@@ -398,11 +394,10 @@ static void rna_Menu_unregister(const bContext *C, StructRNA *type)
RNA_struct_free(&BLENDER_RNA, type);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
}
-static StructRNA *rna_Menu_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+static StructRNA *rna_Menu_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
{
MenuType *mt, dummymt = {NULL};
Menu dummymenu= {NULL};
@@ -425,7 +420,7 @@ static StructRNA *rna_Menu_register(bContext *C, ReportList *reports, void *data
/* check if we have registered this menu type before, and remove it */
mt= WM_menutype_find(dummymt.idname, TRUE);
if(mt && mt->ext.srna)
- rna_Menu_unregister(C, mt->ext.srna);
+ rna_Menu_unregister(bmain, mt->ext.srna);
/* create a new menu type */
mt= MEM_callocN(sizeof(MenuType), "python buttons menu");
@@ -444,8 +439,7 @@ static StructRNA *rna_Menu_register(bContext *C, ReportList *reports, void *data
WM_menutype_add(mt);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
return mt->ext.srna;
}
@@ -617,12 +611,12 @@ static void rna_def_panel(BlenderRNA *brna)
RNA_def_struct_ui_text(srna, "Panel", "Panel containing UI elements");
RNA_def_struct_sdna(srna, "Panel");
RNA_def_struct_refine_func(srna, "rna_Panel_refine");
- RNA_def_struct_register_funcs(srna, "rna_Panel_register", "rna_Panel_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_Panel_register", "rna_Panel_unregister", NULL);
/* poll */
func= RNA_def_function(srna, "poll", NULL);
RNA_def_function_ui_description(func, "If this method returns a non-null output, then the panel can be drawn.");
- RNA_def_function_flag(func, FUNC_NO_SELF|FUNC_REGISTER|FUNC_REGISTER_OPTIONAL);
+ RNA_def_function_flag(func, FUNC_NO_SELF|FUNC_REGISTER_OPTIONAL);
RNA_def_function_return(func, RNA_def_boolean(func, "visible", 1, "", ""));
parm= RNA_def_pointer(func, "context", "Context", "", "");
RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
@@ -694,7 +688,7 @@ static void rna_def_header(BlenderRNA *brna)
RNA_def_struct_ui_text(srna, "Header", "Editor header containing UI elements.");
RNA_def_struct_sdna(srna, "Header");
RNA_def_struct_refine_func(srna, "rna_Header_refine");
- RNA_def_struct_register_funcs(srna, "rna_Header_register", "rna_Header_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_Header_register", "rna_Header_unregister", NULL);
/* draw */
func= RNA_def_function(srna, "draw", NULL);
@@ -736,12 +730,12 @@ static void rna_def_menu(BlenderRNA *brna)
RNA_def_struct_ui_text(srna, "Menu", "Editor menu containing buttons");
RNA_def_struct_sdna(srna, "Menu");
RNA_def_struct_refine_func(srna, "rna_Menu_refine");
- RNA_def_struct_register_funcs(srna, "rna_Menu_register", "rna_Menu_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_Menu_register", "rna_Menu_unregister", NULL);
/* poll */
func= RNA_def_function(srna, "poll", NULL);
RNA_def_function_ui_description(func, "If this method returns a non-null output, then the menu can be drawn.");
- RNA_def_function_flag(func, FUNC_NO_SELF|FUNC_REGISTER|FUNC_REGISTER_OPTIONAL);
+ RNA_def_function_flag(func, FUNC_NO_SELF|FUNC_REGISTER_OPTIONAL);
RNA_def_function_return(func, RNA_def_boolean(func, "visible", 1, "", ""));
parm= RNA_def_pointer(func, "context", "Context", "", "");
RNA_def_property_flag(parm, PROP_REQUIRED);
diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c
index ae308b9423f..d4ac9880290 100644
--- a/source/blender/makesrna/intern/rna_ui_api.c
+++ b/source/blender/makesrna/intern/rna_ui_api.c
@@ -389,7 +389,7 @@ void RNA_api_ui_layout(StructRNA *srna)
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
api_ui_item_rna_common(func);
parm= RNA_def_pointer(func, "image_user", "ImageUser", "", "");
- RNA_def_property_flag(parm, PROP_REQUIRED|PROP_RNAPTR);
+ RNA_def_property_flag(parm, PROP_REQUIRED|PROP_RNAPTR|PROP_NEVER_NULL);
RNA_def_boolean(func, "compact", 0, "", "Use more compact layout.");
func= RNA_def_function(srna, "template_list", "uiTemplateList");
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index a914d875490..4d1e1f175f2 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -64,11 +64,18 @@
#include "MEM_guardedalloc.h"
#include "MEM_CacheLimiterC-Api.h"
-static void rna_userdef_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_userdef_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
WM_main_add_notifier(NC_WINDOW, NULL);
}
+static void rna_userdef_dpi_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ U.widget_unit = (U.dpi * 20 + 36)/72;
+ WM_main_add_notifier(NC_WINDOW, NULL); /* full redraw */
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL); /* refresh region sizes */
+}
+
static void rna_userdef_show_manipulator_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
UserDef *userdef = (UserDef *)ptr->data;
@@ -97,7 +104,7 @@ static void rna_userdef_show_manipulator_update(Main *bmain, Scene *scene, Point
}
-static void rna_userdef_script_autoexec_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_userdef_script_autoexec_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
UserDef *userdef = (UserDef*)ptr->data;
if (userdef->flag & USER_SCRIPT_AUTOEXEC_DISABLE) G.f &= ~G_SCRIPT_AUTOEXEC;
@@ -110,6 +117,12 @@ static void rna_userdef_mipmap_update(Main *bmain, Scene *scene, PointerRNA *ptr
rna_userdef_update(bmain, scene, ptr);
}
+static void rna_userdef_anisotropic_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ GPU_set_anisotropic(U.anisotropic_filter);
+ rna_userdef_update(bmain, scene, ptr);
+}
+
static void rna_userdef_gl_texture_limit_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
GPU_free_images();
@@ -212,12 +225,12 @@ static PointerRNA rna_UserDef_system_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_UserPreferencesSystem, ptr->data);
}
-static void rna_UserDef_audio_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_UserDef_audio_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
sound_init(bmain);
}
-static void rna_Userdef_memcache_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Userdef_memcache_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
MEM_CacheLimiter_set_maximum(U.memcachelimit * 1024 * 1024);
}
@@ -238,6 +251,13 @@ static void rna_UserDef_weight_color_update(Main *bmain, Scene *scene, PointerRN
static void rna_UserDef_viewport_lights_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
+ /* if all lights are off gpu_draw resets them all, [#27627]
+ * so disallow them all to be disabled */
+ if(U.light[0].flag==0 && U.light[1].flag==0 && U.light[2].flag==0) {
+ SolidLight *light= ptr->data;
+ light->flag |= 1;
+ }
+
WM_main_add_notifier(NC_SPACE|ND_SPACE_VIEW3D|NS_VIEW3D_GPU, NULL);
rna_userdef_update(bmain, scene, ptr);
}
@@ -263,13 +283,13 @@ static void rna_userdef_addon_remove(bAddon *bext)
BLI_freelinkN(&U.addons, bext);
}
-static void rna_userdef_temp_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_userdef_temp_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
extern char btempdir[];
BLI_where_is_temp(btempdir, FILE_MAX, 1);
}
-static void rna_userdef_text_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_userdef_text_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
BLF_cache_clear();
WM_main_add_notifier(NC_WINDOW, NULL);
@@ -341,36 +361,37 @@ static void rna_def_userdef_theme_ui_style(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "uiStyle");
RNA_def_struct_ui_text(srna, "Style", "Theme settings for style sets");
+ /* (not used yet)
prop= RNA_def_property(srna, "panelzoom", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, 0.5, 2.0);
RNA_def_property_ui_text(prop, "Panel Zoom", "Default zoom level for panel areas");
-
+ */
prop= RNA_def_property(srna, "panel_title", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "paneltitle");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
- RNA_def_property_ui_text(prop, "Panel Font", "");
+ RNA_def_property_ui_text(prop, "Panel Style", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
-
+/* (not used yet)
prop= RNA_def_property(srna, "group_label", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "grouplabel");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
RNA_def_property_ui_text(prop, "Group Label Font", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
-
+*/
prop= RNA_def_property(srna, "widget_label", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "widgetlabel");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
- RNA_def_property_ui_text(prop, "Widget Label Font", "");
+ RNA_def_property_ui_text(prop, "Widget Label Style", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "widget", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "widget");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
- RNA_def_property_ui_text(prop, "Widget Font", "");
+ RNA_def_property_ui_text(prop, "Widget Style", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
}
@@ -2040,6 +2061,10 @@ static void rna_def_userdef_view(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_ORBIT_ZBUF);
RNA_def_property_ui_text(prop, "Auto Depth", "Use the depth under the mouse to improve view pan/rotate/zoom functionality");
+ prop= RNA_def_property(srna, "use_camera_lock_parent", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "uiflag", USER_CAM_LOCK_NO_PARENT);
+ RNA_def_property_ui_text(prop, "Camera Parent Lock", "When the camera is locked to the view and in fly mode, transform the parent rather than the camera");
+
/* view zoom */
prop= RNA_def_property(srna, "use_zoom_to_mouse", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_ZOOM_TO_MOUSEPOS);
@@ -2091,19 +2116,22 @@ static void rna_def_userdef_view(BlenderRNA *brna)
prop= RNA_def_property(srna, "manipulator_size", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "tw_size");
RNA_def_property_range(prop, 2, 40);
+ RNA_def_property_int_default(prop, 15);
RNA_def_property_ui_text(prop, "Manipulator Size", "Diameter of widget, in 10 pixel units");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "manipulator_handle_size", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "tw_handlesize");
RNA_def_property_range(prop, 2, 40);
+ RNA_def_property_int_default(prop, 25);
RNA_def_property_ui_text(prop, "Manipulator Handle Size", "Size of widget handles as percentage of widget radius");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "manipulator_hotspot", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "tw_hotspot");
RNA_def_property_range(prop, 4, 40);
- RNA_def_property_ui_text(prop, "Manipulator Hotspot", "Hotspot in pixels for clicking widget handles");
+ RNA_def_property_int_default(prop, 14);
+ RNA_def_property_ui_text(prop, "Manipulator Hotspot", "Pixel distance around the handles to accept mouse clicks");
prop= RNA_def_property(srna, "object_origin_size", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "obcenter_dia");
@@ -2328,6 +2356,14 @@ static void rna_def_userdef_system(BlenderRNA *brna)
{128, "CLAMP_128", 0, "128", ""},
{0, NULL, 0, NULL, NULL}};
+ static EnumPropertyItem anisotropic_items[] ={
+ {1, "FILTER_0", 0, "Off", ""},
+ {2, "FILTER_2", 0, "2x", ""},
+ {4, "FILTER_4", 0, "4x", ""},
+ {8, "FILTER_8", 0, "8x", ""},
+ {16, "FILTER_16", 0, "16x", ""},
+ {0, NULL, 0, NULL, NULL}};
+
static EnumPropertyItem audio_mixing_samples_items[] = {
{256, "SAMPLES_256", 0, "256", "Set audio mixing buffer size to 256 samples"},
{512, "SAMPLES_512", 0, "512", "Set audio mixing buffer size to 512 samples"},
@@ -2440,7 +2476,7 @@ static void rna_def_userdef_system(BlenderRNA *brna)
RNA_def_property_int_sdna(prop, NULL, "dpi");
RNA_def_property_range(prop, 48, 128);
RNA_def_property_ui_text(prop, "DPI", "Font size and resolution for display");
- RNA_def_property_update(prop, 0, "rna_userdef_update");
+ RNA_def_property_update(prop, 0, "rna_userdef_dpi_update");
prop= RNA_def_property(srna, "scrollback", PROP_INT, PROP_UNSIGNED);
RNA_def_property_int_sdna(prop, NULL, "scrollback");
@@ -2550,6 +2586,13 @@ static void rna_def_userdef_system(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_antialiasing", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "gameflags", USER_DISABLE_AA);
RNA_def_property_ui_text(prop, "Anti-aliasing", "Use anti-aliasing for the 3D view (may impact redraw performance)");
+
+ prop= RNA_def_property(srna, "anisotropic_filter", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "anisotropic_filter");
+ RNA_def_property_enum_items(prop, anisotropic_items);
+ RNA_def_property_enum_default(prop, 1);
+ RNA_def_property_ui_text(prop, "Anisotropic Filter", "The quality of the anisotropic filtering (values greater than 1.0 enable anisotropic filtering)");
+ RNA_def_property_update(prop, 0, "rna_userdef_anisotropic_update");
prop= RNA_def_property(srna, "gl_texture_limit", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "glreslimit");
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 4c79c27e0de..73221c47c90 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -272,10 +272,11 @@ EnumPropertyItem keymap_modifiers_items[] = {
EnumPropertyItem operator_flag_items[] = {
{OPTYPE_REGISTER, "REGISTER", 0, "Register", ""},
{OPTYPE_UNDO, "UNDO", 0, "Undo", ""},
- {OPTYPE_BLOCKING, "BLOCKING", 0, "Finished", ""},
+ {OPTYPE_BLOCKING, "BLOCKING", 0, "Blocking", ""},
{OPTYPE_MACRO, "MACRO", 0, "Macro", ""},
{OPTYPE_GRAB_POINTER, "GRAB_POINTER", 0, "Grab Pointer", ""},
{OPTYPE_PRESET, "PRESET", 0, "Preset", ""},
+ {OPTYPE_INTERNAL, "INTERNAL", 0, "Internal", ""},
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem operator_return_items[] = {
@@ -467,7 +468,7 @@ static void rna_wmKeyMapItem_map_type_set(PointerRNA *ptr, int value)
}
}
-static EnumPropertyItem *rna_KeyMapItem_type_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_KeyMapItem_type_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
int map_type= rna_wmKeyMapItem_map_type_get(ptr);
@@ -477,7 +478,7 @@ static EnumPropertyItem *rna_KeyMapItem_type_itemf(bContext *C, PointerRNA *ptr,
else return event_type_items;
}
-static EnumPropertyItem *rna_KeyMapItem_value_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_KeyMapItem_value_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
int map_type= rna_wmKeyMapItem_map_type_get(ptr);
@@ -486,7 +487,7 @@ static EnumPropertyItem *rna_KeyMapItem_value_itemf(bContext *C, PointerRNA *ptr
else return event_value_items;
}
-static EnumPropertyItem *rna_KeyMapItem_propvalue_itemf(bContext *C, PointerRNA *ptr, int *free)
+static EnumPropertyItem *rna_KeyMapItem_propvalue_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *UNUSED(free))
{
wmWindowManager *wm = CTX_wm_manager(C);
wmKeyConfig *kc;
@@ -568,7 +569,7 @@ static PointerRNA rna_WindowManager_active_keyconfig_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_KeyConfig, kc);
}
-static void rna_WindowManager_active_keyconfig_set(PointerRNA *ptr, PointerRNA value)
+static void rna_WindowManager_active_keyconfig_set(PointerRNA *UNUSED(ptr), PointerRNA value)
{
wmKeyConfig *kc= value.data;
@@ -631,7 +632,7 @@ static int rna_KeyMapItem_userdefined_get(PointerRNA *ptr)
return kmi->id < 0;
}
-static void rna_wmClipboard_get(PointerRNA *ptr, char *value)
+static void rna_wmClipboard_get(PointerRNA *UNUSED(ptr), char *value)
{
char *pbuf;
@@ -645,7 +646,7 @@ static void rna_wmClipboard_get(PointerRNA *ptr, char *value)
}
}
-static int rna_wmClipboard_length(PointerRNA *ptr)
+static int rna_wmClipboard_length(PointerRNA *UNUSED(ptr))
{
char *pbuf;
int length;
@@ -663,25 +664,26 @@ static int rna_wmClipboard_length(PointerRNA *ptr)
return length;
}
-static void rna_wmClipboard_set(PointerRNA *ptr, const char *value)
+static void rna_wmClipboard_set(PointerRNA *UNUSED(ptr), const char *value)
{
WM_clipboard_text_set((void *) value, FALSE);
}
#ifdef WITH_PYTHON
-static void rna_Operator_unregister(const bContext *C, StructRNA *type)
+static void rna_Operator_unregister(struct Main *bmain, StructRNA *type)
{
const char *idname;
wmOperatorType *ot= RNA_struct_blender_type_get(type);
+ wmWindowManager *wm;
if(!ot)
return;
/* update while blender is running */
- if(C) {
- WM_operator_stack_clear((bContext*)C);
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
- }
+ wm= bmain->wm.first;
+ if(wm)
+ WM_operator_stack_clear(wm);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
RNA_struct_free_extension(type, &ot->ext);
@@ -858,7 +860,7 @@ void macro_wrapper(wmOperatorType *ot, void *userdata);
static char _operator_idname[OP_MAX_TYPENAME];
static char _operator_name[OP_MAX_TYPENAME];
static char _operator_descr[1024];
-static StructRNA *rna_Operator_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+static StructRNA *rna_Operator_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
{
wmOperatorType dummyot = {NULL};
wmOperator dummyop= {NULL};
@@ -935,10 +937,10 @@ static StructRNA *rna_Operator_register(bContext *C, ReportList *reports, void *
{
wmOperatorType *ot= WM_operatortype_find(dummyot.idname, TRUE);
if(ot && ot->ext.srna)
- rna_Operator_unregister(C, ot->ext.srna);
+ rna_Operator_unregister(bmain, ot->ext.srna);
}
- /* create a new menu type */
+ /* create a new operator type */
dummyot.ext.srna= RNA_def_struct(&BLENDER_RNA, dummyot.idname, "Operator");
RNA_def_struct_flag(dummyot.ext.srna, STRUCT_NO_IDPROPERTIES); /* operator properties are registered separately */
dummyot.ext.data= data;
@@ -955,14 +957,18 @@ static StructRNA *rna_Operator_register(bContext *C, ReportList *reports, void *
WM_operatortype_append_ptr(operator_wrapper, (void *)&dummyot);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
return dummyot.ext.srna;
}
+void **rna_Operator_instance(PointerRNA *ptr)
+{
+ wmOperator *op = ptr->data;
+ return &op->py_instance;
+}
-static StructRNA *rna_MacroOperator_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
+static StructRNA *rna_MacroOperator_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
{
wmOperatorType dummyot = {NULL};
wmOperator dummyop= {NULL};
@@ -1006,7 +1012,7 @@ static StructRNA *rna_MacroOperator_register(bContext *C, ReportList *reports, v
{
wmOperatorType *ot= WM_operatortype_find(dummyot.idname, TRUE);
if(ot && ot->ext.srna)
- rna_Operator_unregister(C, ot->ext.srna);
+ rna_Operator_unregister(bmain, ot->ext.srna);
}
/* create a new menu type */
@@ -1021,8 +1027,7 @@ static StructRNA *rna_MacroOperator_register(bContext *C, ReportList *reports, v
WM_operatortype_append_macro_ptr(macro_wrapper, (void *)&dummyot);
/* update while blender is running */
- if(C)
- WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
return dummyot.ext.srna;
}
@@ -1043,6 +1048,7 @@ static StructRNA* rna_MacroOperator_refine(PointerRNA *opr)
static wmKeyMapItem *rna_KeyMap_item_new(wmKeyMap *km, ReportList *reports, const char *idname, int type, int value, int any, int shift, int ctrl, int alt, int oskey, int keymodifier)
{
// wmWindowManager *wm = CTX_wm_manager(C);
+ char idname_bl[OP_MAX_TYPENAME];
int modifier= 0;
/* only on non-modal maps */
@@ -1051,6 +1057,8 @@ static wmKeyMapItem *rna_KeyMap_item_new(wmKeyMap *km, ReportList *reports, cons
return NULL;
}
+ WM_operator_bl_idname(idname_bl, idname);
+
if(shift) modifier |= KM_SHIFT;
if(ctrl) modifier |= KM_CTRL;
if(alt) modifier |= KM_ALT;
@@ -1058,7 +1066,7 @@ static wmKeyMapItem *rna_KeyMap_item_new(wmKeyMap *km, ReportList *reports, cons
if(any) modifier = KM_ANY;
- return WM_keymap_add_item(km, idname, type, value, modifier, keymodifier);
+ return WM_keymap_add_item(km, idname_bl, type, value, modifier, keymodifier);
}
static wmKeyMapItem *rna_KeyMap_item_new_modal(wmKeyMap *km, bContext *C, ReportList *reports, const char *propvalue_str, int type, int value, int any, int shift, int ctrl, int alt, int oskey, int keymodifier)
@@ -1114,7 +1122,7 @@ static wmKeyMap *rna_keymap_find(wmKeyConfig *keyconf, const char *idname, int s
return WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
}
-static wmKeyMap *rna_keymap_find_modal(wmKeyConfig *keyconf, const char *idname)
+static wmKeyMap *rna_keymap_find_modal(wmKeyConfig *UNUSED(keyconf), const char *idname)
{
wmOperatorType *ot = WM_operatortype_find(idname, 0);
@@ -1161,7 +1169,7 @@ static void rna_def_operator(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "wmOperator");
RNA_def_struct_refine_func(srna, "rna_Operator_refine");
#ifdef WITH_PYTHON
- RNA_def_struct_register_funcs(srna, "rna_Operator_register", "rna_Operator_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_Operator_register", "rna_Operator_unregister", "rna_Operator_instance");
#endif
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
@@ -1230,7 +1238,7 @@ static void rna_def_macro_operator(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "wmOperator");
RNA_def_struct_refine_func(srna, "rna_MacroOperator_refine");
#ifdef WITH_PYTHON
- RNA_def_struct_register_funcs(srna, "rna_MacroOperator_register", "rna_Operator_unregister");
+ RNA_def_struct_register_funcs(srna, "rna_MacroOperator_register", "rna_Operator_unregister", "rna_Operator_instance");
#endif
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
@@ -1838,4 +1846,3 @@ void RNA_def_wm(BlenderRNA *brna)
}
#endif /* RNA_RUNTIME */
-
diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c
index 5a0708865b6..e250cc84aa3 100644
--- a/source/blender/makesrna/intern/rna_wm_api.c
+++ b/source/blender/makesrna/intern/rna_wm_api.c
@@ -135,7 +135,7 @@ void RNA_api_wm(StructRNA *srna)
RNA_def_property_flag(parm, PROP_REQUIRED);
RNA_def_property_range(parm, 0.0, FLT_MAX);
RNA_def_property_ui_text(parm, "Time Step", "Interval in seconds between timer events");
- parm= RNA_def_pointer(func, "window", "Window", "", "Window to attach the timer to or None.");
+ RNA_def_pointer(func, "window", "Window", "", "Window to attach the timer to or None.");
parm= RNA_def_pointer(func, "result", "Timer", "", "");
RNA_def_function_return(func, parm);
diff --git a/source/blender/makesrna/intern/rna_world.c b/source/blender/makesrna/intern/rna_world.c
index 7166d51da5a..72b54dce473 100644
--- a/source/blender/makesrna/intern/rna_world.c
+++ b/source/blender/makesrna/intern/rna_world.c
@@ -87,7 +87,7 @@ static void rna_World_active_texture_set(PointerRNA *ptr, PointerRNA value)
set_current_world_texture(wo, value.data);
}
-static void rna_World_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_World_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
World *wo= ptr->id.data;
@@ -95,7 +95,7 @@ static void rna_World_update(Main *bmain, Scene *scene, PointerRNA *ptr)
WM_main_add_notifier(NC_WORLD, wo);
}
-static void rna_World_draw_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_World_draw_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
World *wo= ptr->id.data;
@@ -104,7 +104,7 @@ static void rna_World_draw_update(Main *bmain, Scene *scene, PointerRNA *ptr)
}
/* so camera mist limits redraw */
-static void rna_World_draw_mist_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_World_draw_mist_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
World *wo= ptr->id.data;
@@ -113,7 +113,7 @@ static void rna_World_draw_mist_update(Main *bmain, Scene *scene, PointerRNA *pt
WM_main_add_notifier(NC_OBJECT|ND_DRAW, NULL);
}
-static void rna_World_stars_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_World_stars_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
World *wo= ptr->id.data;
@@ -223,7 +223,7 @@ static void rna_def_lighting(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem prop_sample_method_items[] = {
- {WO_AOSAMP_CONSTANT, "CONSTANT_JITTERED", 0, "Constant Jittered", ""},
+ {WO_AOSAMP_CONSTANT, "CONSTANT_JITTERED", 0, "Constant Jittered", "Fastest and gives the most noise"},
{WO_AOSAMP_HALTON, "ADAPTIVE_QMC", 0, "Adaptive QMC", "Fast in high-contrast areas"},
{WO_AOSAMP_HAMMERSLEY, "CONSTANT_QMC", 0, "Constant QMC", "Best quality"},
{0, NULL, 0, NULL, NULL}};
@@ -314,7 +314,7 @@ static void rna_def_lighting(BlenderRNA *brna)
prop= RNA_def_property(srna, "falloff_strength", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "aodistfac");
- RNA_def_property_ui_text(prop, "Strength", "Distance attenuation factor, the higher, the less influence farther away objects have influence");
+ RNA_def_property_ui_text(prop, "Strength", "Attenuation falloff strength, the higher, the less influence distant objects have");
RNA_def_property_update(prop, 0, "rna_World_update");
prop= RNA_def_property(srna, "bias", PROP_FLOAT, PROP_NONE);
@@ -350,7 +350,7 @@ static void rna_def_lighting(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_falloff", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "aomode", WO_AODIST);
- RNA_def_property_ui_text(prop, "Falloff", "");
+ RNA_def_property_ui_text(prop, "Falloff", "Distance will be used to attenuate shadows");
RNA_def_property_update(prop, 0, "rna_World_update");
prop= RNA_def_property(srna, "use_cache", PROP_BOOLEAN, PROP_NONE);
@@ -494,7 +494,7 @@ void RNA_def_world(BlenderRNA *brna)
rna_def_animdata_common(srna);
rna_def_mtex_common(brna, srna, "rna_World_mtex_begin", "rna_World_active_texture_get",
- "rna_World_active_texture_set", "WorldTextureSlot", "WorldTextureSlots", "rna_World_update");
+ "rna_World_active_texture_set", NULL, "WorldTextureSlot", "WorldTextureSlots", "rna_World_update");
/* colors */
prop= RNA_def_property(srna, "horizon_color", PROP_FLOAT, PROP_COLOR);
@@ -515,7 +515,7 @@ void RNA_def_world(BlenderRNA *brna)
prop= RNA_def_property(srna, "ambient_color", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "ambr");
RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "Ambient Color", "");
+ RNA_def_property_ui_text(prop, "Ambient Color", "Ambient color of the world");
RNA_def_property_update(prop, 0, "rna_World_update");
/* exp, range */
diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt
index 7abcb331f08..d1f153265ac 100644
--- a/source/blender/modifiers/CMakeLists.txt
+++ b/source/blender/modifiers/CMakeLists.txt
@@ -25,15 +25,19 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- . ./intern
+ .
+ intern
+ ../blenkernel
+ ../blenkernel/intern
../blenlib
../blenloader
../makesdna
- ../blenkernel
- ../blenkernel/intern
../render/extern/include
- ../../../intern/guardedalloc
../../../intern/elbeem/extern
+ ../../../intern/guardedalloc
+)
+
+set(INC_SYS
${ZLIB_INCLUDE_DIRS}
)
@@ -88,16 +92,20 @@ if(WITH_MOD_BOOLEAN)
list(APPEND SRC
intern/MOD_boolean_util.c
)
- list(APPEND INC ../../../intern/bsp/extern)
+ list(APPEND INC
+ ../../../intern/bsp/extern
+ )
endif()
if(WITH_MOD_DECIMATE)
add_definitions(-DWITH_MOD_DECIMATE)
- list(APPEND INC ../../../intern/decimation/extern)
+ list(APPEND INC
+ ../../../intern/decimation/extern
+ )
endif()
if(NOT WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM)
endif()
-blender_add_lib(bf_modifiers "${SRC}" "${INC}")
+blender_add_lib(bf_modifiers "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c
index 95579147dbb..a0ee047e319 100644
--- a/source/blender/modifiers/intern/MOD_armature.c
+++ b/source/blender/modifiers/intern/MOD_armature.c
@@ -127,8 +127,8 @@ static void deformVerts(ModifierData *md, Object *ob,
modifier_vgroup_cache(md, vertexCos); /* if next modifier needs original vertices */
armature_deform_verts(amd->object, ob, derivedData, vertexCos, NULL,
- numVerts, amd->deformflag,
- (float(*)[3])amd->prevCos, amd->defgrp_name);
+ numVerts, amd->deformflag, (float(*)[3])amd->prevCos, amd->defgrp_name);
+
/* free cache */
if(amd->prevCos) {
MEM_freeN(amd->prevCos);
@@ -145,8 +145,16 @@ static void deformVertsEM(
if(!derivedData) dm = CDDM_from_editmesh(editData, ob->data);
- armature_deform_verts(amd->object, ob, dm, vertexCos, NULL, numVerts,
- amd->deformflag, NULL, amd->defgrp_name);
+ modifier_vgroup_cache(md, vertexCos); /* if next modifier needs original vertices */
+
+ armature_deform_verts(amd->object, ob, dm, vertexCos, NULL,
+ numVerts, amd->deformflag, (float(*)[3])amd->prevCos, amd->defgrp_name);
+
+ /* free cache */
+ if(amd->prevCos) {
+ MEM_freeN(amd->prevCos);
+ amd->prevCos= NULL;
+ }
if(!derivedData) dm->release(dm);
}
diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c
index ec6387f44af..4b4d0124aae 100644
--- a/source/blender/modifiers/intern/MOD_boolean.c
+++ b/source/blender/modifiers/intern/MOD_boolean.c
@@ -92,19 +92,56 @@ static void updateDepgraph(ModifierData *md, DagForest *forest,
}
#ifdef WITH_MOD_BOOLEAN
+static DerivedMesh *get_quick_derivedMesh(DerivedMesh *derivedData, DerivedMesh *dm, int operation)
+{
+ DerivedMesh *result = NULL;
+
+ if(derivedData->getNumFaces(derivedData) == 0 || dm->getNumFaces(dm) == 0) {
+ switch(operation) {
+ case eBooleanModifierOp_Intersect:
+ result = CDDM_new(0, 0, 0);
+ break;
+
+ case eBooleanModifierOp_Union:
+ if(derivedData->getNumFaces(derivedData)) result = derivedData;
+ else result = CDDM_copy(dm);
+
+ break;
+
+ case eBooleanModifierOp_Difference:
+ result = derivedData;
+ break;
+ }
+ }
+
+ return result;
+}
+
static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
DerivedMesh *derivedData,
int UNUSED(useRenderParams),
int UNUSED(isFinalCalc))
{
BooleanModifierData *bmd = (BooleanModifierData*) md;
- DerivedMesh *dm = bmd->object->derivedFinal;
+ DerivedMesh *dm;
+
+ if(!bmd->object)
+ return derivedData;
+
+ dm = bmd->object->derivedFinal;
+
+ if(dm) {
+ DerivedMesh *result;
+
+ /* when one of objects is empty (has got no faces) we could speed up
+ calculation a bit returning one of objects' derived meshes (or empty one)
+ Returning mesh is depended on modifieier's operation (sergey) */
+ result = get_quick_derivedMesh(derivedData, dm, bmd->operation);
- /* we do a quick sanity check */
- if(dm && (derivedData->getNumFaces(derivedData) > 3)
- && bmd->object && dm->getNumFaces(dm) > 3) {
- DerivedMesh *result = NewBooleanDerivedMesh(dm, bmd->object, derivedData, ob,
- 1 + bmd->operation);
+ if(result == NULL) {
+ result = NewBooleanDerivedMesh(dm, bmd->object, derivedData, ob,
+ 1 + bmd->operation);
+ }
/* if new mesh returned, return it; otherwise there was
* an error, so delete the modifier object */
diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c
index 5cb352ef482..14b23ba4972 100644
--- a/source/blender/modifiers/intern/MOD_cast.c
+++ b/source/blender/modifiers/intern/MOD_cast.c
@@ -177,10 +177,7 @@ static void sphere_do(
/* 3) if we were given a vertex group name,
* only those vertices should be affected */
- defgrp_index = defgroup_name_index(ob, cmd->defgrp_name);
-
- if ((ob->type == OB_MESH) && dm && defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, cmd->defgrp_name, &dvert, &defgrp_index);
if(flag & MOD_CAST_SIZE_FROM_RADIUS) {
len = cmd->radius;
@@ -335,10 +332,7 @@ static void cuboid_do(
/* 3) if we were given a vertex group name,
* only those vertices should be affected */
- defgrp_index = defgroup_name_index(ob, cmd->defgrp_name);
-
- if ((ob->type == OB_MESH) && dm && defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, cmd->defgrp_name, &dvert, &defgrp_index);
if (ctrl_ob) {
if(flag & MOD_CAST_USE_OB_TRANSFORM) {
diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c
index 30ddb3f7b9c..1d2a6b2f788 100644
--- a/source/blender/modifiers/intern/MOD_cloth.c
+++ b/source/blender/modifiers/intern/MOD_cloth.c
@@ -190,6 +190,19 @@ static void freeData(ModifierData *md)
}
}
+static void foreachIDLink(ModifierData *md, Object *ob,
+ IDWalkFunc walk, void *userData)
+{
+ ClothModifierData *clmd = (ClothModifierData*) md;
+
+ if(clmd->coll_parms) {
+ walk(userData, ob, (ID **)&clmd->coll_parms->group);
+ }
+
+ if(clmd->sim_parms && clmd->sim_parms->effector_weights) {
+ walk(userData, ob, (ID **)&clmd->sim_parms->effector_weights->group);
+ }
+}
ModifierTypeInfo modifierType_Cloth = {
/* name */ "Cloth",
@@ -215,5 +228,5 @@ ModifierTypeInfo modifierType_Cloth = {
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL,
+ /* foreachIDLink */ foreachIDLink,
};
diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c
index 3288c1b5da1..e0482e6b3fc 100644
--- a/source/blender/modifiers/intern/MOD_displace.c
+++ b/source/blender/modifiers/intern/MOD_displace.c
@@ -169,18 +169,16 @@ static void displaceModifier_do(
{
int i;
MVert *mvert;
- MDeformVert *dvert = NULL;
+ MDeformVert *dvert;
int defgrp_index;
float (*tex_co)[3];
+ float weight= 1.0f; /* init value unused but some compilers may complain */
if(!dmd->texture) return;
if(dmd->strength == 0.0f) return;
- defgrp_index = defgroup_name_index(ob, dmd->defgrp_name);
-
mvert = CDDM_get_verts(dm);
- if(defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, dmd->defgrp_name, &dvert, &defgrp_index);
tex_co = MEM_callocN(sizeof(*tex_co) * numVerts,
"displaceModifier_do tex_co");
@@ -189,17 +187,10 @@ static void displaceModifier_do(
for(i = 0; i < numVerts; ++i) {
TexResult texres;
float delta = 0, strength = dmd->strength;
- MDeformWeight *def_weight = NULL;
if(dvert) {
- int j;
- for(j = 0; j < dvert[i].totweight; ++j) {
- if(dvert[i].dw[j].def_nr == defgrp_index) {
- def_weight = &dvert[i].dw[j];
- break;
- }
- }
- if(!def_weight || def_weight->weight==0.0f) continue;
+ weight= defvert_find_weight(dvert + i, defgrp_index);
+ if(weight == 0.0f) continue;
}
texres.nor = NULL;
@@ -207,9 +198,10 @@ static void displaceModifier_do(
delta = texres.tin - dmd->midlevel;
- if(def_weight) strength *= def_weight->weight;
+ if(dvert) strength *= weight;
delta *= strength;
+ CLAMP(delta, -10000, 10000);
switch(dmd->direction) {
case MOD_DISP_DIR_X:
@@ -227,9 +219,9 @@ static void displaceModifier_do(
vertexCos[i][2] += (texres.tb - dmd->midlevel) * strength;
break;
case MOD_DISP_DIR_NOR:
- vertexCos[i][0] += delta * mvert[i].no[0] / 32767.0f;
- vertexCos[i][1] += delta * mvert[i].no[1] / 32767.0f;
- vertexCos[i][2] += delta * mvert[i].no[2] / 32767.0f;
+ vertexCos[i][0] += delta * (mvert[i].no[0] / 32767.0f);
+ vertexCos[i][1] += delta * (mvert[i].no[1] / 32767.0f);
+ vertexCos[i][2] += delta * (mvert[i].no[2] / 32767.0f);
break;
}
}
diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c
index f1bc0d33fd8..5da2464ef89 100644
--- a/source/blender/modifiers/intern/MOD_explode.c
+++ b/source/blender/modifiers/intern/MOD_explode.c
@@ -776,14 +776,14 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
{
DerivedMesh *explode, *dm=to_explode;
MFace *mf= NULL, *mface;
- ParticleSettings *part=psmd->psys->part;
+ /* ParticleSettings *part=psmd->psys->part; */ /* UNUSED */
ParticleSimulationData sim= {NULL};
ParticleData *pa=NULL, *pars=psmd->psys->particles;
- ParticleKey state;
+ ParticleKey state, birth;
EdgeHash *vertpahash;
EdgeHashIterator *ehi;
float *vertco= NULL, imat[4][4];
- float loc0[3], nor[3];
+ float rot[4];
float cfra;
/* float timestep; */
int *facepa=emd->facepa;
@@ -814,7 +814,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
for (i=0; i<totface; i++) {
/* do mindex + totvert to ensure the vertex index to be the first
* with BLI_edgehashIterator_getKey */
- if(facepa[i]==totpart || cfra <= (pars+facepa[i])->time)
+ if(facepa[i]==totpart || cfra < (pars+facepa[i])->time)
mindex = totvert+totpart;
else
mindex = totvert+facepa[i];
@@ -868,26 +868,26 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
/* get particle */
pa= pars+i;
- /* get particle state */
- psys_particle_on_emitter(psmd,part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,loc0,nor,NULL,NULL,NULL,NULL);
- mul_m4_v3(ob->obmat,loc0);
+ psys_get_birth_coordinates(&sim, pa, &birth, 0, 0);
state.time=cfra;
psys_get_particle_state(&sim, i, &state, 1);
vertco=CDDM_get_vert(explode,v)->co;
-
mul_m4_v3(ob->obmat,vertco);
- VECSUB(vertco,vertco,loc0);
+ sub_v3_v3(vertco, birth.co);
/* apply rotation, size & location */
- mul_qt_v3(state.rot,vertco);
+ sub_qt_qtqt(rot, state.rot, birth.rot);
+ mul_qt_v3(rot, vertco);
+
if(emd->flag & eExplodeFlag_PaSize)
mul_v3_fl(vertco,pa->size);
- VECADD(vertco,vertco,state.co);
- mul_m4_v3(imat,vertco);
+ add_v3_v3(vertco, state.co);
+
+ mul_m4_v3(imat, vertco);
}
}
BLI_edgehashIterator_free(ehi);
@@ -911,7 +911,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
orig_v4 = source.v4;
- if(facepa[i]!=totpart && cfra <= pa->time)
+ if(facepa[i]!=totpart && cfra < pa->time)
mindex = totvert+totpart;
else
mindex = totvert+facepa[i];
diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c
index 02912e38204..277f0852f90 100644
--- a/source/blender/modifiers/intern/MOD_fluidsim_util.c
+++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c
@@ -90,10 +90,10 @@ void fluidsim_init(FluidsimModifierData *fluidmd)
fss->viscosityValue = 1.0;
fss->viscosityExponent = 6;
- // dg TODO: change this to []
- fss->gravx = 0.0;
- fss->gravy = 0.0;
- fss->gravz = -9.81;
+ fss->grav[0] = 0.0;
+ fss->grav[1] = 0.0;
+ fss->grav[2] = -9.81;
+
fss->animStart = 0.0;
fss->animEnd = 4.0;
fss->gstar = 0.005; // used as normgstar
@@ -111,7 +111,7 @@ void fluidsim_init(FluidsimModifierData *fluidmd)
// no bounding box needed
// todo - reuse default init from elbeem!
- fss->typeFlags = OB_FSBND_PARTSLIP;
+ fss->typeFlags = OB_FSBND_PARTSLIP | OB_FSSG_NOOBS;
fss->domainNovecgen = 0;
fss->volumeInitType = 1; // volume
fss->partSlipValue = 0.2;
@@ -139,8 +139,7 @@ void fluidsim_init(FluidsimModifierData *fluidmd)
fluid_get_bb(mesh->mvert, mesh->totvert, ob->obmat, fss->bbStart, fss->bbSize);
*/
- // (ab)used to store velocities
- fss->meshSurfNormals = NULL;
+ fss->meshVelocities = NULL;
fss->lastgoodframe = -1;
@@ -158,10 +157,10 @@ void fluidsim_free(FluidsimModifierData *fluidmd)
#ifndef DISABLE_ELBEEM
if(fluidmd)
{
- if(fluidmd->fss->meshSurfNormals)
+ if(fluidmd->fss->meshVelocities)
{
- MEM_freeN(fluidmd->fss->meshSurfNormals);
- fluidmd->fss->meshSurfNormals = NULL;
+ MEM_freeN(fluidmd->fss->meshVelocities);
+ fluidmd->fss->meshVelocities = NULL;
}
MEM_freeN(fluidmd->fss);
}
@@ -394,12 +393,12 @@ static void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *
FluidsimSettings *fss = fluidmd->fss;
int len = strlen(filename);
int totvert = dm->getNumVerts(dm);
- float *velarray = NULL;
+ FluidVertexVelocity *velarray = NULL;
// mesh and vverts have to be valid from loading...
- if(fss->meshSurfNormals)
- MEM_freeN(fss->meshSurfNormals);
+ if(fss->meshVelocities)
+ MEM_freeN(fss->meshVelocities);
if(len<7)
{
@@ -408,12 +407,10 @@ static void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *
if(fss->domainNovecgen>0) return;
- // abusing pointer to hold an array of 3d-velocities
- fss->meshSurfNormals = MEM_callocN(sizeof(float)*3*dm->getNumVerts(dm), "Fluidsim_velocities");
- // abusing pointer to hold an INT
- fss->meshSurface = SET_INT_IN_POINTER(totvert);
+ fss->meshVelocities = MEM_callocN(sizeof(FluidVertexVelocity)*dm->getNumVerts(dm), "Fluidsim_velocities");
+ fss->totvert = totvert;
- velarray = (float *)fss->meshSurfNormals;
+ velarray = fss->meshVelocities;
// .bobj.gz , correct filename
// 87654321
@@ -424,16 +421,16 @@ static void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *
gzf = gzopen(filename, "rb");
if (!gzf)
{
- MEM_freeN(fss->meshSurfNormals);
- fss->meshSurfNormals = NULL;
+ MEM_freeN(fss->meshVelocities);
+ fss->meshVelocities = NULL;
return;
}
gzread(gzf, &wri, sizeof( wri ));
if(wri != totvert)
{
- MEM_freeN(fss->meshSurfNormals);
- fss->meshSurfNormals = NULL;
+ MEM_freeN(fss->meshVelocities);
+ fss->meshVelocities = NULL;
return;
}
@@ -442,7 +439,7 @@ static void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *
for(j=0; j<3; j++)
{
gzread(gzf, &wrf, sizeof( wrf ));
- velarray[3*i + j] = wrf;
+ velarray[i].vel[j] = wrf;
}
}
@@ -531,10 +528,10 @@ static DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData
}
else
{
- if(fss->meshSurfNormals)
- MEM_freeN(fss->meshSurfNormals);
+ if(fss->meshVelocities)
+ MEM_freeN(fss->meshVelocities);
- fss->meshSurfNormals = NULL;
+ fss->meshVelocities = NULL;
}
return dm;
diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c
index 082c199b16f..ea8d602dd7a 100644
--- a/source/blender/modifiers/intern/MOD_hook.c
+++ b/source/blender/modifiers/intern/MOD_hook.c
@@ -157,9 +157,8 @@ static void deformVerts(ModifierData *md, Object *ob,
int i, *index_pt;
const float falloff_squared= hmd->falloff * hmd->falloff; /* for faster comparisons */
- int max_dvert= 0;
- MDeformVert *dvert= NULL;
- int defgrp_index = -1;
+ MDeformVert *dvert;
+ int defgrp_index, max_dvert;
/* get world-space matrix of target, corrected for the space the verts are in */
if (hmd->subtarget[0] && pchan) {
@@ -174,21 +173,8 @@ static void deformVerts(ModifierData *md, Object *ob,
mul_serie_m4(mat, ob->imat, dmat, hmd->parentinv,
NULL, NULL, NULL, NULL, NULL);
- if((defgrp_index= defgroup_name_index(ob, hmd->name)) != -1) {
- Mesh *me = ob->data;
- if(dm) {
- dvert= dm->getVertDataArray(dm, CD_MDEFORMVERT);
- if(dvert) {
- max_dvert = numVerts;
- }
- }
- else if(me->dvert) {
- dvert= me->dvert;
- if(dvert) {
- max_dvert = me->totvert;
- }
- }
- }
+ modifier_get_vgroup(ob, dm, hmd->name, &dvert, &defgrp_index);
+ max_dvert = (dvert)? numVerts: 0;
/* Regarding index range checking below.
*
diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c
index b36d6848533..94442d96367 100644
--- a/source/blender/modifiers/intern/MOD_mask.c
+++ b/source/blender/modifiers/intern/MOD_mask.c
@@ -45,6 +45,7 @@
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
+#include "BKE_action.h" /* get_pose_channel */
#include "BKE_cdderivedmesh.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
@@ -102,7 +103,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
DerivedMesh *dm= derivedData, *result= NULL;
GHash *vertHash=NULL, *edgeHash, *faceHash;
GHashIterator *hashIter;
- MDeformVert *dvert= NULL;
+ MDeformVert *dvert= NULL, *dv;
int numFaces=0, numEdges=0, numVerts=0;
int maxVerts, maxEdges, maxFaces;
int i;
@@ -130,50 +131,46 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* if mode is to use selected armature bones, aggregate the bone groups */
if (mmd->mode == MOD_MASK_MODE_ARM) /* --- using selected bones --- */
{
- GHash *vgroupHash, *boneHash;
+ GHash *vgroupHash;
Object *oba= mmd->ob_arm;
bPoseChannel *pchan;
bDeformGroup *def;
+ char *bone_select_array;
+ int bone_select_tot= 0;
/* check that there is armature object with bones to use, otherwise return original mesh */
- if (ELEM(NULL, mmd->ob_arm, mmd->ob_arm->pose))
- return derivedData;
-
+ if (ELEM3(NULL, mmd->ob_arm, mmd->ob_arm->pose, ob->defbase.first))
+ return derivedData;
+
+ bone_select_array= MEM_mallocN(BLI_countlist(&ob->defbase) * sizeof(char), "mask array");
+
+ for (i = 0, def = ob->defbase.first; def; def = def->next, i++)
+ {
+ if (((pchan= get_pose_channel(oba->pose, def->name)) && pchan->bone && (pchan->bone->flag & BONE_SELECTED)))
+ {
+ bone_select_array[i]= TRUE;
+ bone_select_tot++;
+ }
+ else {
+ bone_select_array[i]= FALSE;
+ }
+ }
+
/* hashes for finding mapping of:
* - vgroups to indices -> vgroupHash (string, int)
* - bones to vgroup indices -> boneHash (index of vgroup, dummy)
*/
vgroupHash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "mask vgroup gh");
- boneHash= BLI_ghash_new(BLI_ghashutil_inthash, BLI_ghashutil_intcmp, "mask bone gh");
/* build mapping of names of vertex groups to indices */
for (i = 0, def = ob->defbase.first; def; def = def->next, i++)
BLI_ghash_insert(vgroupHash, def->name, SET_INT_IN_POINTER(i));
- /* get selected-posechannel <-> vertexgroup index mapping */
- for (pchan= oba->pose->chanbase.first; pchan; pchan= pchan->next)
- {
- /* check if bone is selected */
- // TODO: include checks for visibility too?
- // FIXME: the depsgraph needs extensions to make this work in realtime...
- if ( (pchan->bone) && (pchan->bone->flag & BONE_SELECTED) )
- {
- /* check if hash has group for this bone */
- if (BLI_ghash_haskey(vgroupHash, pchan->name))
- {
- int defgrp_index= GET_INT_FROM_POINTER(BLI_ghash_lookup(vgroupHash, pchan->name));
-
- /* add index to hash (store under key only) */
- BLI_ghash_insert(boneHash, SET_INT_IN_POINTER(defgrp_index), pchan);
- }
- }
- }
-
/* if no bones selected, free hashes and return original mesh */
- if (BLI_ghash_size(boneHash) == 0)
+ if (bone_select_tot == 0)
{
BLI_ghash_free(vgroupHash, NULL, NULL);
- BLI_ghash_free(boneHash, NULL, NULL);
+ MEM_freeN(bone_select_array);
return derivedData;
}
@@ -183,7 +180,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
if (dvert == NULL)
{
BLI_ghash_free(vgroupHash, NULL, NULL);
- BLI_ghash_free(boneHash, NULL, NULL);
+ MEM_freeN(bone_select_array);
return derivedData;
}
@@ -192,28 +189,29 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
vertHash= BLI_ghash_new(BLI_ghashutil_inthash, BLI_ghashutil_intcmp, "mask vert gh");
/* add vertices which exist in vertexgroups into vertHash for filtering */
- for (i = 0; i < maxVerts; i++)
+ for (i= 0, dv= dvert; i < maxVerts; i++, dv++)
{
- MDeformWeight *def_weight = NULL;
+ MDeformWeight *dw= dv->dw;
int j;
-
- for (j= 0; j < dvert[i].totweight; j++)
+
+ for (j= dv->totweight; j > 0; j--, dw++)
{
- if (BLI_ghash_haskey(boneHash, SET_INT_IN_POINTER(dvert[i].dw[j].def_nr)))
+ if (bone_select_array[dw->def_nr])
{
- def_weight = &dvert[i].dw[j];
- break;
+ if(dw->weight != 0.0f) {
+ break;
+ }
}
}
/* check if include vert in vertHash */
if (mmd->flag & MOD_MASK_INV) {
/* if this vert is in the vgroup, don't include it in vertHash */
- if (def_weight) continue;
+ if (dw) continue;
}
else {
/* if this vert isn't in the vgroup, don't include it in vertHash */
- if (!def_weight) continue;
+ if (!dw) continue;
}
/* add to ghash for verts (numVerts acts as counter for mapping) */
@@ -223,7 +221,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* free temp hashes */
BLI_ghash_free(vgroupHash, NULL, NULL);
- BLI_ghash_free(boneHash, NULL, NULL);
+ MEM_freeN(bone_select_array);
}
else /* --- Using Nominated VertexGroup only --- */
{
@@ -241,28 +239,18 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
vertHash= BLI_ghash_new(BLI_ghashutil_inthash, BLI_ghashutil_intcmp, "mask vert2 bh");
/* add vertices which exist in vertexgroup into ghash for filtering */
- for (i = 0; i < maxVerts; i++)
+ for (i= 0, dv= dvert; i < maxVerts; i++, dv++)
{
- MDeformWeight *def_weight = NULL;
- int j;
-
- for (j= 0; j < dvert[i].totweight; j++)
- {
- if (dvert[i].dw[j].def_nr == defgrp_index)
- {
- def_weight = &dvert[i].dw[j];
- break;
- }
- }
+ const int weight_set= defvert_find_weight(dv, defgrp_index) != 0.0f;
/* check if include vert in vertHash */
if (mmd->flag & MOD_MASK_INV) {
/* if this vert is in the vgroup, don't include it in vertHash */
- if (def_weight) continue;
+ if (weight_set) continue;
}
else {
/* if this vert isn't in the vgroup, don't include it in vertHash */
- if (!def_weight) continue;
+ if (!weight_set) continue;
}
/* add to ghash for verts (numVerts acts as counter for mapping) */
diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c
index ba73f3fa0d1..3903f2602e4 100644
--- a/source/blender/modifiers/intern/MOD_meshdeform.c
+++ b/source/blender/modifiers/intern/MOD_meshdeform.c
@@ -72,6 +72,8 @@ static void freeData(ModifierData *md)
if(mmd->dyngrid) MEM_freeN(mmd->dyngrid);
if(mmd->dyninfluences) MEM_freeN(mmd->dyninfluences);
if(mmd->dynverts) MEM_freeN(mmd->dynverts);
+ if(mmd->bindweights) MEM_freeN(mmd->bindweights); /* deprecated */
+ if(mmd->bindcos) MEM_freeN(mmd->bindcos); /* deprecated */
}
static void copyData(ModifierData *md, ModifierData *target)
@@ -282,10 +284,7 @@ static void meshdeformModifier_do(
copy_v3_v3(dco[a], co);
}
- defgrp_index = defgroup_name_index(ob, mmd->defgrp_name);
-
- if(dm && defgrp_index >= 0)
- dvert= dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, mmd->defgrp_name, &dvert, &defgrp_index);
/* do deformation */
fac= 1.0f;
diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c
index 489733c8480..48c5b9a4c08 100644
--- a/source/blender/modifiers/intern/MOD_none.c
+++ b/source/blender/modifiers/intern/MOD_none.c
@@ -57,7 +57,7 @@ ModifierTypeInfo modifierType_None = {
/* name */ "None",
/* structName */ "ModifierData",
/* structSize */ sizeof(ModifierData),
- /* type */ eModifierType_None,
+ /* type */ eModifierTypeType_None,
/* flags */ eModifierTypeFlag_AcceptsMesh
| eModifierTypeFlag_AcceptsCVs,
diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c
index ea4771b679a..5efd6cd28ec 100644
--- a/source/blender/modifiers/intern/MOD_simpledeform.c
+++ b/source/blender/modifiers/intern/MOD_simpledeform.c
@@ -162,8 +162,8 @@ static void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object
float smd_limit[2], smd_factor;
SpaceTransform *transf = NULL, tmp_transf;
void (*simpleDeform_callback)(const float factor, const float dcut[3], float *co) = NULL; //Mode callback
- int vgroup = defgroup_name_index(ob, smd->vgroup_name);
- MDeformVert *dvert = NULL;
+ int vgroup;
+ MDeformVert *dvert;
//Safe-check
if(smd->origin == ob) smd->origin = NULL; //No self references
@@ -216,17 +216,7 @@ static void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object
smd_factor = smd->factor / MAX2(FLT_EPSILON, smd_limit[1]-smd_limit[0]);
}
-
- if(dm)
- {
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
- }
- else if(ob->type == OB_LATTICE)
- {
- dvert = lattice_get_deform_verts(ob);
- }
-
-
+ modifier_get_vgroup(ob, dm, smd->vgroup_name, &dvert, &vgroup);
switch(smd->mode)
{
diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c
index d8e94e92bfa..b6203bb3c1d 100644
--- a/source/blender/modifiers/intern/MOD_smoke.c
+++ b/source/blender/modifiers/intern/MOD_smoke.c
@@ -43,6 +43,7 @@
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_object_force.h"
#include "BLI_utildefines.h"
@@ -156,6 +157,10 @@ static void foreachIDLink(ModifierData *md, Object *ob,
walk(userData, ob, (ID **)&smd->domain->coll_group);
walk(userData, ob, (ID **)&smd->domain->fluid_group);
walk(userData, ob, (ID **)&smd->domain->eff_group);
+
+ if(smd->domain->effector_weights) {
+ walk(userData, ob, (ID **)&smd->domain->effector_weights->group);
+ }
}
}
diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c
index 5f76fad14b1..28a31b84ea5 100644
--- a/source/blender/modifiers/intern/MOD_smooth.c
+++ b/source/blender/modifiers/intern/MOD_smooth.c
@@ -123,10 +123,7 @@ static void smoothModifier_do(
medges = dm->getEdgeArray(dm);
numDMEdges = dm->getNumEdges(dm);
- defgrp_index = defgroup_name_index(ob, smd->defgrp_name);
-
- if (defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, smd->defgrp_name, &dvert, &defgrp_index);
/* NOTICE: this can be optimized a little bit by moving the
* if (dvert) out of the loop, if needed */
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index 1b7b724835c..390a780e9e6 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -48,6 +48,7 @@
#include "MOD_modifiertypes.h"
+#include "MOD_util.h"
#include "MEM_guardedalloc.h"
@@ -235,12 +236,11 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
float const ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
/* weights */
- MDeformVert *dvert= NULL, *dv= NULL;
+ MDeformVert *dvert, *dv= NULL;
const int defgrp_invert = ((smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0);
- const int defgrp_index= defgroup_name_index(ob, smd->defgrp_name);
+ int defgrp_index;
- if (defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, smd->defgrp_name, &dvert, &defgrp_index);
orig_mface = dm->getFaceArray(dm);
orig_medge = dm->getEdgeArray(dm);
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index fc9958b08d0..f780721ca07 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -91,7 +91,7 @@ static int isDisabled(ModifierData *md, int useRenderParams)
return get_render_subsurf_level(&md->scene->r, levels) == 0;
}
-static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob),
+static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
DerivedMesh *derivedData,
int useRenderParams,
int isFinalCalc)
@@ -100,7 +100,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob),
DerivedMesh *result;
result = subsurf_make_derived_from_derived(derivedData, smd,
- useRenderParams, NULL, isFinalCalc, 0);
+ useRenderParams, NULL, isFinalCalc, 0, (ob->flag & OB_MODE_EDIT));
if(useRenderParams || !isFinalCalc) {
DerivedMesh *cddm= CDDM_copy(result);
@@ -119,7 +119,7 @@ static DerivedMesh *applyModifierEM(ModifierData *md, Object *UNUSED(ob),
DerivedMesh *result;
result = subsurf_make_derived_from_derived(derivedData, smd, 0,
- NULL, 0, 1);
+ NULL, 0, 1, 1);
return result;
}
diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c
index 9fe37e2d174..e9b835eab81 100644
--- a/source/blender/modifiers/intern/MOD_util.c
+++ b/source/blender/modifiers/intern/MOD_util.c
@@ -37,6 +37,7 @@
#include <string.h>
+#include "DNA_lattice_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_curve_types.h"
@@ -47,6 +48,8 @@
#include "BLI_math_matrix.h"
#include "BKE_cdderivedmesh.h"
+#include "BKE_deform.h"
+#include "BKE_lattice.h"
#include "BKE_mesh.h"
#include "BKE_displist.h"
@@ -239,6 +242,19 @@ DerivedMesh *get_dm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*ve
return dm;
}
+void modifier_get_vgroup(Object *ob, DerivedMesh *dm, const char *name, MDeformVert **dvert, int *defgrp_index)
+{
+ *defgrp_index = defgroup_name_index(ob, name);
+ *dvert = NULL;
+
+ if(*defgrp_index >= 0) {
+ if(ob->type == OB_LATTICE)
+ *dvert = lattice_get_deform_verts(ob);
+ else if(dm)
+ *dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ }
+}
+
/* only called by BKE_modifier.h/modifier.c */
void modifier_type_init(ModifierTypeInfo *types[])
{
diff --git a/source/blender/modifiers/intern/MOD_util.h b/source/blender/modifiers/intern/MOD_util.h
index b7862403459..5e6f377acf1 100644
--- a/source/blender/modifiers/intern/MOD_util.h
+++ b/source/blender/modifiers/intern/MOD_util.h
@@ -36,14 +36,15 @@
/* so modifier types match their defines */
#include "MOD_modifiertypes.h"
-struct Tex;
-struct TexResult;
struct CustomData;
struct DerivedMesh;
-struct Object;
-struct Scene;
struct EditMesh;
+struct MDeformVert;
struct ModifierData;
+struct Object;
+struct Scene;
+struct Tex;
+struct TexResult;
void get_texture_value(struct Tex *texture, float *tex_co, struct TexResult *texres);
void get_texture_coords(struct MappingInfoModifierData *dmd, struct Object *ob, struct DerivedMesh *dm, float (*co)[3], float (*texco)[3], int numVerts);
@@ -51,5 +52,6 @@ void modifier_vgroup_cache(struct ModifierData *md, float (*vertexCos)[3]);
void validate_layer_name(const struct CustomData *data, int type, char *name, char *outname);
struct DerivedMesh *get_cddm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]);
struct DerivedMesh *get_dm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco);
+void modifier_get_vgroup(struct Object *ob, struct DerivedMesh *dm, const char *name, struct MDeformVert **dvert, int *defgrp_index);
#endif /* MOD_UTIL_H */
diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c
index b054a5b0a6e..a5d2e0b38c7 100644
--- a/source/blender/modifiers/intern/MOD_uvproject.c
+++ b/source/blender/modifiers/intern/MOD_uvproject.c
@@ -271,7 +271,7 @@ static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd,
/* if only one projector, project coords to UVs */
if(num_projectors == 1 && projectors[0].uci==NULL)
for(i = 0, co = coords; i < numVerts; ++i, ++co)
- mul_project_m4_v4(projectors[0].projmat, *co);
+ mul_project_m4_v3(projectors[0].projmat, *co);
mface = dm->getFaceArray(dm);
numFaces = dm->getNumFaces(dm);
@@ -345,11 +345,11 @@ static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd,
project_from_camera(tface->uv[3], coords[mf->v4], best_projector->uci);
}
else {
- mul_project_m4_v4(best_projector->projmat, co1);
- mul_project_m4_v4(best_projector->projmat, co2);
- mul_project_m4_v4(best_projector->projmat, co3);
+ mul_project_m4_v3(best_projector->projmat, co1);
+ mul_project_m4_v3(best_projector->projmat, co2);
+ mul_project_m4_v3(best_projector->projmat, co3);
if(mf->v4)
- mul_project_m4_v4(best_projector->projmat, co4);
+ mul_project_m4_v3(best_projector->projmat, co4);
/* apply transformed coords as UVs */
tface->uv[0][0] = co1[0];
diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c
index 8e629bf7365..2c77b486263 100644
--- a/source/blender/modifiers/intern/MOD_warp.c
+++ b/source/blender/modifiers/intern/MOD_warp.c
@@ -85,8 +85,8 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
CustomDataMask dataMask = 0;
/* ask for vertexgroups if we need them */
- if(wmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT);
- dataMask |= (1 << CD_MDEFORMVERT);
+ if(wmd->defgrp_name[0]) dataMask |= (CD_MASK_MDEFORMVERT);
+ dataMask |= (CD_MASK_MDEFORMVERT);
/* ask for UV coordinates if we need them */
if(wmd->texmapping == MOD_DISP_MAP_UV) dataMask |= (1 << CD_MTFACE);
@@ -174,14 +174,16 @@ static void warpModifier_do(WarpModifierData *wmd, Object *ob,
float strength = wmd->strength;
float fac = 1.0f, weight;
int i;
- int defgrp_index = defgroup_name_index(ob, wmd->defgrp_name);
- MDeformVert *dv= NULL;
+ int defgrp_index;
+ MDeformVert *dvert, *dv= NULL;
float (*tex_co)[3]= NULL;
if(!(wmd->object_from && wmd->object_to))
return;
+ modifier_get_vgroup(ob, dm, wmd->defgrp_name, &dvert, &defgrp_index);
+
if(wmd->curfalloff==NULL) /* should never happen, but bad lib linking could cause it */
wmd->curfalloff = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
@@ -221,8 +223,8 @@ static void warpModifier_do(WarpModifierData *wmd, Object *ob,
((fac=len_v3v3(co, mat_from[3])) < wmd->falloff_radius && (fac=(wmd->falloff_radius-fac)/wmd->falloff_radius)) ) {
/* skip if no vert group found */
- if(defgrp_index >= 0) {
- dv = dm->getVertData(dm, i, CD_MDEFORMVERT);
+ if(dvert && defgrp_index >= 0) {
+ dv = &dvert[i];
if(dv) {
weight = defvert_find_weight(dv, defgrp_index) * wmd->strength;
@@ -350,7 +352,7 @@ ModifierTypeInfo modifierType_Warp = {
/* deformVerts */ deformVerts,
/* deformMatrices */ NULL,
/* deformVertsEM */ deformVertsEM,
- /* deformMatricesEM */ NULL,
+ /* deformMatricesEM */ NULL,
/* applyModifier */ 0,
/* applyModifierEM */ 0,
/* initData */ initData,
@@ -359,7 +361,7 @@ ModifierTypeInfo modifierType_Warp = {
/* isDisabled */ isDisabled,
/* updateDepgraph */ updateDepgraph,
/* dependsOnTime */ dependsOnTime,
- /* dependsOnNormals */ NULL,
+ /* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
};
diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c
index 6dfe5314131..ca8161fe364 100644
--- a/source/blender/modifiers/intern/MOD_wave.c
+++ b/source/blender/modifiers/intern/MOD_wave.c
@@ -256,7 +256,7 @@ static void waveModifier_do(WaveModifierData *md,
{
WaveModifierData *wmd = (WaveModifierData*) md;
MVert *mvert = NULL;
- MDeformVert *dvert = NULL;
+ MDeformVert *dvert;
int defgrp_index;
float ctime = BKE_curframe(scene);
float minfac =
@@ -281,11 +281,7 @@ static void waveModifier_do(WaveModifierData *md,
}
/* get the index of the deform group */
- defgrp_index = defgroup_name_index(ob, wmd->defgrp_name);
-
- if(defgrp_index >= 0){
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
- }
+ modifier_get_vgroup(ob, dm, wmd->defgrp_name, &dvert, &defgrp_index);
if(wmd->damp == 0) wmd->damp = 10.0f;
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index efd5523f5b2..c3bd37c18ee 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -34,6 +34,9 @@ set(INC
../makesrna
../render/extern/include
../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -149,9 +152,13 @@ set(SRC
)
if(WITH_PYTHON)
- set(INC ${INC} ../python ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
-blender_add_lib(bf_nodes "${SRC}" "${INC}")
-
+blender_add_lib(bf_nodes "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c b/source/blender/nodes/intern/CMP_nodes/CMP_blur.c
index 2b33126b3a7..718578a921b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_blur.c
@@ -387,7 +387,7 @@ static void bokeh_single_image(bNode *node, CompBuf *new, CompBuf *img, float fa
float dist= sqrt(fj*fj + fi*fi);
//*dgauss= hexagon_filter(fi, fj);
- *dgauss= RE_filter_value(nbd->filtertype, 2.0f*dist - 1.0f);
+ *dgauss= RE_filter_value(nbd->filtertype, dist);
val+= *dgauss;
}
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c b/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
index b32c531d8f9..e395716f36d 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
@@ -97,6 +97,7 @@ static void do_channel_matte(bNode *node, float *out, float *in)
default:
break;
}
+ break;
}
default:
break;
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c b/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c
index 151850105b7..55d77a902b9 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c
@@ -49,16 +49,24 @@ static bNodeSocketType cmp_node_color_out[]={
static void do_color_key(bNode *node, float *out, float *in)
{
+ float h_wrap;
NodeChroma *c;
c=node->storage;
VECCOPY(out, in);
- if(fabs(in[0]-c->key[0]) < c->t1 &&
- fabs(in[1]-c->key[1]) < c->t2 &&
- fabs(in[2]-c->key[2]) < c->t3)
- {
+ if(
+ /* do hue last because it needs to wrap, and does some more checks */
+
+ /* sat */ (fabs(in[1]-c->key[1]) < c->t2) &&
+ /* val */ (fabs(in[2]-c->key[2]) < c->t3) &&
+
+ /* multiply by 2 because it wraps on both sides of the hue,
+ * otherwise 0.5 would key all hue's */
+
+ /* hue */ ((h_wrap= 2.0f * fabs(in[0]-c->key[0])) < c->t1 || (2.0f - h_wrap) < c->t1)
+ ) {
out[3]=0.0; /*make transparent*/
}
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_glare.c b/source/blender/nodes/intern/CMP_nodes/CMP_glare.c
index 1a339b45a05..2e0822a4511 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_glare.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_glare.c
@@ -467,6 +467,7 @@ static void node_composit_exec_glare(void *UNUSED(data), bNode *node, bNodeStack
case 2:
default:
streaks(ndg, new, src);
+ break;
}
free_compbuf(src);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_image.c b/source/blender/nodes/intern/CMP_nodes/CMP_image.c
index 3caaad26bae..a5f256054cd 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_image.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_image.c
@@ -53,6 +53,7 @@ static bNodeSocketType cmp_node_rlayers_out[]= {
{ SOCK_RGBA, 0, "Refract", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_RGBA, 0, "Indirect", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VALUE, 0, "IndexOB", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_VALUE, 0, "IndexMA", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VALUE, 0, "Mist", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_RGBA, 0, "Emit", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_RGBA, 0, "Environment",0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -211,6 +212,8 @@ static void outputs_multilayer_get(RenderData *rd, RenderLayer *rl, bNodeStack *
out[RRES_OUT_INDIRECT]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDIRECT);
if(out[RRES_OUT_INDEXOB]->hasoutput)
out[RRES_OUT_INDEXOB]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDEXOB);
+ if(out[RRES_OUT_INDEXMA]->hasoutput)
+ out[RRES_OUT_INDEXMA]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDEXMA);
if(out[RRES_OUT_MIST]->hasoutput)
out[RRES_OUT_MIST]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_MIST);
if(out[RRES_OUT_EMIT]->hasoutput)
@@ -326,7 +329,7 @@ static CompBuf *compbuf_from_pass(RenderData *rd, RenderLayer *rl, int rectx, in
CompBuf *buf;
int buftype= CB_VEC3;
- if(ELEM3(passcode, SCE_PASS_Z, SCE_PASS_INDEXOB, SCE_PASS_MIST))
+ if(ELEM4(passcode, SCE_PASS_Z, SCE_PASS_INDEXOB, SCE_PASS_MIST, SCE_PASS_INDEXMA))
buftype= CB_VAL;
else if(passcode==SCE_PASS_VECTOR)
buftype= CB_VEC4;
@@ -373,6 +376,8 @@ static void node_composit_rlayers_out(RenderData *rd, RenderLayer *rl, bNodeStac
out[RRES_OUT_INDIRECT]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDIRECT);
if(out[RRES_OUT_INDEXOB]->hasoutput)
out[RRES_OUT_INDEXOB]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDEXOB);
+ if(out[RRES_OUT_INDEXMA]->hasoutput)
+ out[RRES_OUT_INDEXMA]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDEXMA);
if(out[RRES_OUT_MIST]->hasoutput)
out[RRES_OUT_MIST]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_MIST);
if(out[RRES_OUT_EMIT]->hasoutput)
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_math.c b/source/blender/nodes/intern/CMP_nodes/CMP_math.c
index 4348fd18759..b7a67f3563b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_math.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_math.c
@@ -140,7 +140,12 @@ static void do_math(bNode *node, float *out, float *in, float *in2)
break;
case 14: /* Round */
{
- out[0]= (out[0]<0)?(int)(in[0] - 0.5f):(int)(in[0] + 0.5f);
+ /* round by the second value */
+ if( in2[0] != 0.0f )
+ out[0]= floorf(in[0] / in2[0] + 0.5f) * in2[0];
+ else
+ out[0]= floorf(in[0] + 0.5f);
+
}
break;
case 15: /* Less Than */
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c b/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c
index a6ce77b64f0..36b7988c4e0 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c
@@ -45,7 +45,7 @@ static void node_composit_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack *
{
bNodeSocket *sock= node->outputs.first;
- VECCOPY(out[0]->vec, sock->ns.vec);
+ QUATCOPY(out[0]->vec, sock->ns.vec);
}
void register_node_type_cmp_rgb(ListBase *lb)
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c b/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c
index b6b1764ff0f..eccac4f0e6d 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c
@@ -97,6 +97,7 @@ static void node_composit_exec_rotate(void *UNUSED(data), bNode *node, bNodeStac
break;
case 2:
bicubic_interpolation(ibuf, obuf, u, v, xo, yo);
+ break;
}
}
diff --git a/source/blender/nodes/intern/CMP_util.c b/source/blender/nodes/intern/CMP_util.c
index 78025f4d964..a763f34a644 100644
--- a/source/blender/nodes/intern/CMP_util.c
+++ b/source/blender/nodes/intern/CMP_util.c
@@ -132,7 +132,7 @@ void compbuf_set_node(CompBuf *cbuf, bNode *node)
if (cbuf) cbuf->node = node;
}
-/* used for disabling node (similar code in drawnode.c for disable line) */
+/* used for disabling node (similar code in node_draw.c for disable line and node_edit for untangling nodes) */
void node_compo_pass_on(bNode *node, bNodeStack **nsin, bNodeStack **nsout)
{
CompBuf *valbuf= NULL, *colbuf= NULL, *vecbuf= NULL;
@@ -1320,6 +1320,12 @@ void IIR_gauss(CompBuf* src, float sigma, int chan, int xy)
if ((xy < 1) || (xy > 3)) xy = 3;
+ // XXX The YVV macro defined below explicitely expects sources of at least 3x3 pixels,
+ // so just skiping blur along faulty direction if src's def is below that limit!
+ if (src->x < 3) xy &= ~(int) 1;
+ if (src->y < 3) xy &= ~(int) 2;
+ if (xy < 1) return;
+
// see "Recursive Gabor Filtering" by Young/VanVliet
// all factors here in double.prec. Required, because for single.prec it seems to blow up if sigma > ~200
if (sigma >= 3.556)
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_material.c b/source/blender/nodes/intern/SHD_nodes/SHD_material.c
index 40dfbc0edea..f78dd9ec727 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_material.c
+++ b/source/blender/nodes/intern/SHD_nodes/SHD_material.c
@@ -85,6 +85,17 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
ShadeInput *shi;
ShaderCallData *shcd= data;
float col[4];
+ bNodeSocket *sock;
+ char hasinput[NUM_MAT_IN]= {'\0'};
+ int i;
+
+ /* note: cannot use the in[]->hasinput flags directly, as these are not necessarily
+ * the constant input stack values (e.g. in case material node is inside a group).
+ * we just want to know if a node input uses external data or the material setting.
+ * this is an ugly hack, but so is this node as a whole.
+ */
+ for (sock=node->inputs.first, i=0; sock; sock=sock->next, ++i)
+ hasinput[i] = (sock->link != NULL);
shi= shcd->shi;
shi->mat= (Material *)node->id;
@@ -94,17 +105,17 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
shi->har= shi->mat->har;
/* write values */
- if(in[MAT_IN_COLOR]->hasinput)
+ if(hasinput[MAT_IN_COLOR])
nodestack_get_vec(&shi->r, SOCK_VECTOR, in[MAT_IN_COLOR]);
- if(in[MAT_IN_SPEC]->hasinput)
+ if(hasinput[MAT_IN_SPEC])
nodestack_get_vec(&shi->specr, SOCK_VECTOR, in[MAT_IN_SPEC]);
- if(in[MAT_IN_REFL]->hasinput)
+ if(hasinput[MAT_IN_REFL])
nodestack_get_vec(&shi->refl, SOCK_VALUE, in[MAT_IN_REFL]);
/* retrieve normal */
- if(in[MAT_IN_NORMAL]->hasinput) {
+ if(hasinput[MAT_IN_NORMAL]) {
nodestack_get_vec(shi->vn, SOCK_VECTOR, in[MAT_IN_NORMAL]);
normalize_v3(shi->vn);
}
@@ -119,19 +130,19 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
}
if (node->type == SH_NODE_MATERIAL_EXT) {
- if(in[MAT_IN_MIR]->hasinput)
+ if(hasinput[MAT_IN_MIR])
nodestack_get_vec(&shi->mirr, SOCK_VECTOR, in[MAT_IN_MIR]);
- if(in[MAT_IN_AMB]->hasinput)
+ if(hasinput[MAT_IN_AMB])
nodestack_get_vec(&shi->amb, SOCK_VALUE, in[MAT_IN_AMB]);
- if(in[MAT_IN_EMIT]->hasinput)
+ if(hasinput[MAT_IN_EMIT])
nodestack_get_vec(&shi->emit, SOCK_VALUE, in[MAT_IN_EMIT]);
- if(in[MAT_IN_SPECTRA]->hasinput)
+ if(hasinput[MAT_IN_SPECTRA])
nodestack_get_vec(&shi->spectra, SOCK_VALUE, in[MAT_IN_SPECTRA]);
- if(in[MAT_IN_RAY_MIRROR]->hasinput)
+ if(hasinput[MAT_IN_RAY_MIRROR])
nodestack_get_vec(&shi->ray_mirror, SOCK_VALUE, in[MAT_IN_RAY_MIRROR]);
- if(in[MAT_IN_ALPHA]->hasinput)
+ if(hasinput[MAT_IN_ALPHA])
nodestack_get_vec(&shi->alpha, SOCK_VALUE, in[MAT_IN_ALPHA]);
- if(in[MAT_IN_TRANSLUCENCY]->hasinput)
+ if(hasinput[MAT_IN_TRANSLUCENCY])
nodestack_get_vec(&shi->translucency, SOCK_VALUE, in[MAT_IN_TRANSLUCENCY]);
}
@@ -198,28 +209,49 @@ static void node_shader_init_material(bNode* node)
node->custom1= SH_NODE_MAT_DIFF|SH_NODE_MAT_SPEC;
}
+/* XXX this is also done as a local static function in gpu_codegen.c,
+ * but we need this to hack around the crappy material node.
+ */
+static GPUNodeLink *gpu_get_input_link(GPUNodeStack *in)
+{
+ if (in->link)
+ return in->link;
+ else
+ return GPU_uniform(in->vec);
+}
+
static int gpu_shader_material(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
if(node->id) {
GPUShadeInput shi;
GPUShadeResult shr;
+ bNodeSocket *sock;
+ char hasinput[NUM_MAT_IN]= {'\0'};
+ int i;
+
+ /* note: cannot use the in[]->hasinput flags directly, as these are not necessarily
+ * the constant input stack values (e.g. in case material node is inside a group).
+ * we just want to know if a node input uses external data or the material setting.
+ */
+ for (sock=node->inputs.first, i=0; sock; sock=sock->next, ++i)
+ hasinput[i] = (sock->link != NULL);
GPU_shadeinput_set(mat, (Material*)node->id, &shi);
/* write values */
- if(in[MAT_IN_COLOR].hasinput)
- shi.rgb = in[MAT_IN_COLOR].link;
+ if(hasinput[MAT_IN_COLOR])
+ shi.rgb = gpu_get_input_link(&in[MAT_IN_COLOR]);
- if(in[MAT_IN_SPEC].hasinput)
- shi.specrgb = in[MAT_IN_SPEC].link;
+ if(hasinput[MAT_IN_SPEC])
+ shi.specrgb = gpu_get_input_link(&in[MAT_IN_SPEC]);
- if(in[MAT_IN_REFL].hasinput)
- shi.refl = in[MAT_IN_REFL].link;
+ if(hasinput[MAT_IN_REFL])
+ shi.refl = gpu_get_input_link(&in[MAT_IN_REFL]);
/* retrieve normal */
- if(in[MAT_IN_NORMAL].hasinput) {
+ if(hasinput[MAT_IN_NORMAL]) {
GPUNodeLink *tmp;
- shi.vn = in[MAT_IN_NORMAL].link;
+ shi.vn = gpu_get_input_link(&in[MAT_IN_NORMAL]);
GPU_link(mat, "vec_math_normalize", shi.vn, &shi.vn, &tmp);
}
@@ -228,12 +260,12 @@ static int gpu_shader_material(GPUMaterial *mat, bNode *node, GPUNodeStack *in,
GPU_link(mat, "vec_math_negate", shi.vn, &shi.vn);
if (node->type == SH_NODE_MATERIAL_EXT) {
- if(in[MAT_IN_AMB].hasinput)
- shi.amb= in[MAT_IN_AMB].link;
- if(in[MAT_IN_EMIT].hasinput)
- shi.emit= in[MAT_IN_EMIT].link;
- if(in[MAT_IN_ALPHA].hasinput)
- shi.alpha= in[MAT_IN_ALPHA].link;
+ if(hasinput[MAT_IN_AMB])
+ shi.amb= gpu_get_input_link(&in[MAT_IN_AMB]);
+ if(hasinput[MAT_IN_EMIT])
+ shi.emit= gpu_get_input_link(&in[MAT_IN_EMIT]);
+ if(hasinput[MAT_IN_ALPHA])
+ shi.alpha= gpu_get_input_link(&in[MAT_IN_ALPHA]);
}
GPU_shaderesult_set(&shi, &shr); /* clears shr */
diff --git a/source/blender/nodes/intern/SHD_util.c b/source/blender/nodes/intern/SHD_util.c
index cf7c64c9d5e..190f68ce19a 100644
--- a/source/blender/nodes/intern/SHD_util.c
+++ b/source/blender/nodes/intern/SHD_util.c
@@ -83,7 +83,11 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr)
{
ShaderCallData scd;
-
+ /*
+ @note: preserve material from ShadeInput for material id, nodetree execs change it
+ fix for bug "[#28012] Mat ID messy with shader nodes"
+ */
+ Material *mat = shi->mat;
/* convert caller data to struct */
scd.shi= shi;
scd.shr= shr;
@@ -92,7 +96,8 @@ void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr)
memset(shr, 0, sizeof(ShadeResult));
ntreeExecTree(ntree, &scd, shi->thread); /* threads */
-
+ // @note: set material back to preserved material
+ shi->mat = mat;
/* better not allow negative for now */
if(shr->combined[0]<0.0f) shr->combined[0]= 0.0f;
if(shr->combined[1]<0.0f) shr->combined[1]= 0.0f;
diff --git a/source/blender/nodes/intern/SHD_util.h b/source/blender/nodes/intern/SHD_util.h
index 4c5d56776da..e6b1377067d 100644
--- a/source/blender/nodes/intern/SHD_util.h
+++ b/source/blender/nodes/intern/SHD_util.h
@@ -108,6 +108,7 @@ typedef struct ShaderCallData {
#define MAT_IN_RAY_MIRROR 8
#define MAT_IN_ALPHA 9
#define MAT_IN_TRANSLUCENCY 10
+#define NUM_MAT_IN 11 /* for array size */
/* output socket defines */
#define MAT_OUT_COLOR 0
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
index d4d77b5fd5a..c58595866af 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
@@ -49,18 +49,18 @@ static bNodeSocketType outputs[]= {
static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, short thread)
{
+ Tex *nodetex = (Tex *)node->id;
static float red[] = {1,0,0,1};
static float white[] = {1,1,1,1};
- float *co = p->co;
-
- Tex *nodetex = (Tex *)node->id;
+ float co[3], dxt[3], dyt[3];
+
+ copy_v3_v3(co, p->co);
+ copy_v3_v3(dxt, p->dxt);
+ copy_v3_v3(dyt, p->dyt);
if(node->custom2 || node->need_exec==0) {
/* this node refers to its own texture tree! */
- QUATCOPY(
- out,
- (fabs(co[0] - co[1]) < .01) ? white : red
- );
+ QUATCOPY(out, (fabs(co[0] - co[1]) < .01) ? white : red );
}
else if(nodetex) {
TexResult texres;
@@ -70,9 +70,9 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
tex_input_rgba(col1, in[0], p, thread);
tex_input_rgba(col2, in[1], p, thread);
-
+
texres.nor = nor;
- textype = multitex_nodes(nodetex, co, p->dxt, p->dyt, p->osatex,
+ textype = multitex_nodes(nodetex, co, dxt, dyt, p->osatex,
&texres, thread, 0, p->shi, p->mtex);
if(textype & TEX_RGB) {
diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h
index e8796a6f8dd..cd5c8e53ef7 100644
--- a/source/blender/python/BPY_extern.h
+++ b/source/blender/python/BPY_extern.h
@@ -67,14 +67,14 @@ int BPY_is_pyconstraint(struct Text *text);
// void BPY_free_pyconstraint_links(struct Text *text);
//
void BPY_python_start(int argc, const char **argv);
-void BPY_python_end( void );
-// void init_syspath( int first_time );
-// void syspath_append( char *dir );
-// void BPY_rebuild_syspath( void );
-// int BPY_path_update( void );
+void BPY_python_end(void);
+// void init_syspath(int first_time);
+// void syspath_append(char *dir);
+// void BPY_rebuild_syspath(void);
+// int BPY_path_update(void);
//
-// int BPY_Err_getLinenumber( void );
-// const char *BPY_Err_getFilename( void );
+// int BPY_Err_getLinenumber(void);
+// const char *BPY_Err_getFilename(void);
/* 2.5 UI Scripts */
int BPY_filepath_exec(struct bContext *C, const char *filepath, struct ReportList *reports);
@@ -83,6 +83,8 @@ void BPY_text_free_code(struct Text *text);
void BPY_modules_update(struct bContext *C); // XXX - annoying, need this for pointers that get out of date
void BPY_modules_load_user(struct bContext *C);
+void BPY_app_handlers_reset(void);
+
void BPY_driver_reset(void);
float BPY_driver_exec(struct ChannelDriver *driver);
diff --git a/source/blender/python/CMakeLists.txt b/source/blender/python/CMakeLists.txt
index fe9e0307703..8071edb378f 100644
--- a/source/blender/python/CMakeLists.txt
+++ b/source/blender/python/CMakeLists.txt
@@ -18,3 +18,4 @@
add_subdirectory(intern)
add_subdirectory(generic)
+add_subdirectory(mathutils)
diff --git a/source/blender/python/SConscript b/source/blender/python/SConscript
index de6b859d259..dec0de4a6ab 100644
--- a/source/blender/python/SConscript
+++ b/source/blender/python/SConscript
@@ -1,6 +1,6 @@
#!/usr/bin/python
-# TODO, split into 2 files.
+# TODO, split into 3 files.
Import ('env')
@@ -18,7 +18,14 @@ if is_debug:
defs.append('_DEBUG')
sources = env.Glob('generic/*.c')
-env.BlenderLib( libname = 'bf_python_ext', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165]) # ketsji is 360
+env.BlenderLib( libname = 'bf_python_ext', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [363,165]) # ketsji is 360
+
+
+# mathutils
+defs = []
+
+sources = env.Glob('mathutils/*.c')
+env.BlenderLib( libname = 'bf_python_mathutils', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165])
# bpy
diff --git a/source/blender/python/generic/CMakeLists.txt b/source/blender/python/generic/CMakeLists.txt
index 5e4eae4f809..8dfbf476995 100644
--- a/source/blender/python/generic/CMakeLists.txt
+++ b/source/blender/python/generic/CMakeLists.txt
@@ -20,11 +20,14 @@
set(INC
.
- ../../blenlib
- ../../makesdna
../../blenkernel
+ ../../blenlib
../../blenloader
+ ../../makesdna
../../../../intern/guardedalloc
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
${PYTHON_INCLUDE_DIRS}
)
@@ -34,13 +37,6 @@ set(SRC
bgl.c
blf_py_api.c
bpy_internal_import.c
- mathutils.c
- mathutils_Color.c
- mathutils_Euler.c
- mathutils_Matrix.c
- mathutils_Quaternion.c
- mathutils_Vector.c
- mathutils_geometry.c
noise_py_api.c
py_capi_utils.c
@@ -48,16 +44,9 @@ set(SRC
bgl.h
blf_py_api.h
bpy_internal_import.h
- mathutils.h
- mathutils_Color.h
- mathutils_Euler.h
- mathutils_Matrix.h
- mathutils_Quaternion.h
- mathutils_Vector.h
- mathutils_geometry.h
noise_py_api.h
py_capi_utils.h
)
-blender_add_lib(bf_python_ext "${SRC}" "${INC}")
+blender_add_lib(bf_python_ext "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/python/generic/IDProp.c b/source/blender/python/generic/IDProp.c
index ccf498f1550..2543d34f58c 100644
--- a/source/blender/python/generic/IDProp.c
+++ b/source/blender/python/generic/IDProp.c
@@ -45,32 +45,31 @@
#include "py_capi_utils.h"
#endif
-PyObject * PyC_UnicodeFromByte(const char *str);
-const char * PyC_UnicodeAsByte(PyObject *py_str, PyObject **coerce); /* coerce must be NULL */
-
-/*** Function to wrap ID properties ***/
-PyObject *BPy_Wrap_IDProperty(ID *id, IDProperty *prop, IDProperty *parent);
-
-extern PyTypeObject IDArray_Type;
-extern PyTypeObject IDGroup_Iter_Type;
+extern PyTypeObject BPy_IDArray_Type;
+extern PyTypeObject BPy_IDGroup_Iter_Type;
+extern PyTypeObject BPy_IDGroup_Type;
/*********************** ID Property Main Wrapper Stuff ***************/
-static PyObject *IDGroup_repr( BPy_IDProperty *self )
+/* use for both array and group */
+static long BPy_IDGroup_hash(BPy_IDProperty *self)
{
- return PyUnicode_FromFormat( "<bpy ID property from \"%s\">", self->id->name);
+ return _Py_HashPointer(self->prop);
}
-extern PyTypeObject IDGroup_Type;
+static PyObject *BPy_IDGroup_repr(BPy_IDProperty *self)
+{
+ return PyUnicode_FromFormat( "<bpy id property from \"%s\">", self->id->name);
+}
PyObject *BPy_IDGroup_WrapData( ID *id, IDProperty *prop )
{
switch ( prop->type ) {
case IDP_STRING:
#ifdef USE_STRING_COERCE
- return PyC_UnicodeFromByte(prop->data.pointer);
+ return PyC_UnicodeFromByte(IDP_Array(prop));
#else
- return PyUnicode_FromString(prop->data.pointer);
+ return PyUnicode_FromString(IDP_Array(prop));
#endif
case IDP_INT:
return PyLong_FromLong( (long)prop->data.val );
@@ -81,14 +80,14 @@ PyObject *BPy_IDGroup_WrapData( ID *id, IDProperty *prop )
case IDP_GROUP:
/*blegh*/
{
- BPy_IDProperty *group = PyObject_New(BPy_IDProperty, &IDGroup_Type);
+ BPy_IDProperty *group = PyObject_New(BPy_IDProperty, &BPy_IDGroup_Type);
group->id = id;
group->prop = prop;
return (PyObject*) group;
}
case IDP_ARRAY:
{
- BPy_IDProperty *array = PyObject_New(BPy_IDProperty, &IDArray_Type);
+ BPy_IDProperty *array = PyObject_New(BPy_IDProperty, &BPy_IDArray_Type);
array->id = id;
array->prop = prop;
return (PyObject*) array;
@@ -120,7 +119,7 @@ PyObject *BPy_IDGroup_WrapData( ID *id, IDProperty *prop )
Py_RETURN_NONE;
}
-#if 0 /* UNUSED, currenly assignment overwrites into new properties, rather then setting in-place */
+#if 0 /* UNUSED, currenly assignment overwrites into new properties, rather than setting in-place */
static int BPy_IDGroup_SetData(BPy_IDProperty *self, IDProperty *prop, PyObject *value)
{
switch (prop->type) {
@@ -141,13 +140,13 @@ static int BPy_IDGroup_SetData(BPy_IDProperty *self, IDProperty *prop, PyObject
st = _PyUnicode_AsString(value);
IDP_ResizeArray(prop, alloc_len);
- memcpy(prop->data.pointer, st, alloc_len);
+ memcpy(IDP_Array(prop), st, alloc_len);
Py_XDECREF(value_coerce);
}
#else
st = _PyUnicode_AsString(value);
IDP_ResizeArray(prop, strlen(st)+1);
- strcpy(prop->data.pointer, st);
+ strcpy(IDP_Array(prop), st);
#endif
return 0;
@@ -350,7 +349,7 @@ const char *BPy_IDProperty_Map_ValidateAndCreate(const char *name, IDProperty *g
prop = IDP_New(IDP_ARRAY, val, name);
for (i=0; i<val.array.len; i++) {
item = PySequence_GetItem(ob, i);
- ((double*)prop->data.pointer)[i] = (float)PyFloat_AsDouble(item);
+ ((double*)IDP_Array(prop))[i] = (float)PyFloat_AsDouble(item);
Py_DECREF(item);
}
break;
@@ -358,7 +357,7 @@ const char *BPy_IDProperty_Map_ValidateAndCreate(const char *name, IDProperty *g
prop = IDP_New(IDP_ARRAY, val, name);
for (i=0; i<val.array.len; i++) {
item = PySequence_GetItem(ob, i);
- ((int*)prop->data.pointer)[i] = (int)PyLong_AsSsize_t(item);
+ ((int*)IDP_Array(prop))[i] = (int)PyLong_AsSsize_t(item);
Py_DECREF(item);
}
break;
@@ -471,9 +470,9 @@ static int BPy_IDGroup_Map_SetItem(BPy_IDProperty *self, PyObject *key, PyObject
return BPy_Wrap_SetMapItem(self->prop, key, val);
}
-static PyObject *BPy_IDGroup_SpawnIterator(BPy_IDProperty *self)
+static PyObject *BPy_IDGroup_iter(BPy_IDProperty *self)
{
- BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &IDGroup_Iter_Type);
+ BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &BPy_IDGroup_Iter_Type);
iter->group = self;
iter->mode = IDPROP_ITER_KEYS;
iter->cur = self->prop->data.group.first;
@@ -486,9 +485,9 @@ static PyObject *BPy_IDGroup_MapDataToPy(IDProperty *prop)
switch (prop->type) {
case IDP_STRING:
#ifdef USE_STRING_COERCE
- return PyC_UnicodeFromByte(prop->data.pointer);
+ return PyC_UnicodeFromByte(IDP_Array(prop));
#else
- return PyUnicode_FromString(prop->data.pointer);
+ return PyUnicode_FromString(IDP_Array(prop));
#endif
break;
case IDP_FLOAT:
@@ -510,20 +509,37 @@ static PyObject *BPy_IDGroup_MapDataToPy(IDProperty *prop)
return NULL;
}
- for (i=0; i<prop->len; i++) {
- if (prop->subtype == IDP_FLOAT) {
- PyList_SET_ITEM(seq, i,
- PyFloat_FromDouble(((float*)prop->data.pointer)[i]));
+ switch(prop->subtype) {
+ case IDP_FLOAT:
+ {
+ float *array= (float*)IDP_Array(prop);
+ for (i=0; i<prop->len; i++) {
+ PyList_SET_ITEM(seq, i, PyFloat_FromDouble(array[i]));
+ }
+ break;
}
- else if (prop->subtype == IDP_DOUBLE) {
- PyList_SET_ITEM(seq, i,
- PyFloat_FromDouble(((double*)prop->data.pointer)[i]));
+ case IDP_DOUBLE:
+ {
+ double *array= (double*)IDP_Array(prop);
+ for (i=0; i<prop->len; i++) {
+ PyList_SET_ITEM(seq, i, PyFloat_FromDouble(array[i]));
+ }
+ break;
}
- else {
- PyList_SET_ITEM(seq, i,
- PyLong_FromLong(((int*)prop->data.pointer)[i]));
+ case IDP_INT:
+ {
+ int *array= (int*)IDP_Array(prop);
+ for (i=0; i<prop->len; i++) {
+ PyList_SET_ITEM(seq, i, PyLong_FromLong(array[i]));
+ }
+ break;
}
+ default:
+ PyErr_SetString(PyExc_RuntimeError, "invalid/corrupt array type!");
+ Py_DECREF(seq);
+ return NULL;
}
+
return seq;
}
case IDP_IDPARRAY:
@@ -559,6 +575,7 @@ static PyObject *BPy_IDGroup_MapDataToPy(IDProperty *prop)
return NULL;
PyDict_SetItemString(dict, loop->name, wrap);
+ Py_DECREF(wrap);
}
return dict;
}
@@ -601,7 +618,7 @@ static PyObject *BPy_IDGroup_Pop(BPy_IDProperty *self, PyObject *value)
static PyObject *BPy_IDGroup_IterItems(BPy_IDProperty *self)
{
- BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &IDGroup_Iter_Type);
+ BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &BPy_IDGroup_Iter_Type);
iter->group = self;
iter->mode = IDPROP_ITER_ITEMS;
iter->cur = self->prop->data.group.first;
@@ -737,7 +754,7 @@ static PyObject *BPy_IDGroup_Update(BPy_IDProperty *self, PyObject *value)
Py_RETURN_NONE;
}
-static PyObject *BPy_IDGroup_ConvertToPy(BPy_IDProperty *self)
+static PyObject *BPy_IDGroup_to_dict(BPy_IDProperty *self)
{
return BPy_IDGroup_MapDataToPy(self->prop);
}
@@ -779,7 +796,7 @@ static struct PyMethodDef BPy_IDGroup_methods[] = {
"updates the values in the group with the values of another or a dict"},
{"get", (PyCFunction)BPy_IDGroup_Get, METH_VARARGS,
"idprop.get(k[,d]) -> idprop[k] if k in idprop, else d. d defaults to None"},
- {"convert_to_pyobject", (PyCFunction)BPy_IDGroup_ConvertToPy, METH_NOARGS,
+ {"to_dict", (PyCFunction)BPy_IDGroup_to_dict, METH_NOARGS,
"return a purely python version of the group"},
{NULL, NULL, 0, NULL}
};
@@ -798,16 +815,16 @@ static PySequenceMethods BPy_IDGroup_Seq = {
};
static PyMappingMethods BPy_IDGroup_Mapping = {
- (lenfunc)BPy_IDGroup_Map_Len, /*inquiry mp_length */
- (binaryfunc)BPy_IDGroup_Map_GetItem, /*binaryfunc mp_subscript */
+ (lenfunc)BPy_IDGroup_Map_Len, /*inquiry mp_length */
+ (binaryfunc)BPy_IDGroup_Map_GetItem,/*binaryfunc mp_subscript */
(objobjargproc)BPy_IDGroup_Map_SetItem, /*objobjargproc mp_ass_subscript */
};
-PyTypeObject IDGroup_Type = {
+PyTypeObject BPy_IDGroup_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
/* For printing, in format "<module>.<name>" */
- "Blender IDProperty", /* char *tp_name; */
- sizeof( BPy_IDProperty ), /* int tp_basicsize; */
+ "Blender IDProperty", /* char *tp_name; */
+ sizeof(BPy_IDProperty), /* int tp_basicsize; */
0, /* tp_itemsize; For allocation */
/* Methods to implement standard operations */
@@ -817,7 +834,7 @@ PyTypeObject IDGroup_Type = {
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
- ( reprfunc ) IDGroup_repr, /* reprfunc tp_repr; */
+ (reprfunc)BPy_IDGroup_repr, /* reprfunc tp_repr; */
/* Method suites for standard classes */
@@ -827,7 +844,7 @@ PyTypeObject IDGroup_Type = {
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ (hashfunc)BPy_IDGroup_hash, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
NULL, /* getattrofunc tp_getattro; */
@@ -856,7 +873,7 @@ PyTypeObject IDGroup_Type = {
/*** Added in release 2.2 ***/
/* Iterators */
- (getiterfunc)BPy_IDGroup_SpawnIterator, /* getiterfunc tp_iter; */
+ (getiterfunc)BPy_IDGroup_iter, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
BPy_IDGroup_methods, /* struct PyMethodDef *tp_methods; */
@@ -867,7 +884,7 @@ PyTypeObject IDGroup_Type = {
/*********** Main external wrapping function *******/
PyObject *BPy_Wrap_IDProperty(ID *id, IDProperty *prop, IDProperty *parent)
{
- BPy_IDProperty *wrap = PyObject_New(BPy_IDProperty, &IDGroup_Type);
+ BPy_IDProperty *wrap = PyObject_New(BPy_IDProperty, &BPy_IDGroup_Type);
wrap->prop = prop;
wrap->parent = parent;
wrap->id = id;
@@ -878,36 +895,58 @@ PyObject *BPy_Wrap_IDProperty(ID *id, IDProperty *prop, IDProperty *parent)
/********Array Wrapper********/
-static PyObject *IDArray_repr(BPy_IDArray *self)
+static PyTypeObject *idp_array_py_type(BPy_IDArray *self, short *is_double)
{
- return PyUnicode_FromFormat("(ID Array [%d])", self->prop->len);
-}
+ switch (self->prop->subtype) {
+ case IDP_FLOAT:
+ *is_double= 0;
+ return &PyFloat_Type;
+ case IDP_DOUBLE:
+ *is_double= 1;
+ return &PyFloat_Type;
+ case IDP_INT:
+ *is_double= 0;
+ return &PyLong_Type;
+ }
+ *is_double= 0;
+ return NULL;
+}
-static PyObject *BPy_IDArray_GetType(BPy_IDArray *self)
+static PyObject *BPy_IDArray_repr(BPy_IDArray *self)
{
- return PyLong_FromSsize_t( self->prop->subtype );
+ return PyUnicode_FromFormat("<bpy id property array [%d]>", self->prop->len);
}
-static PyObject *BPy_IDArray_GetLen(BPy_IDArray *self)
+static PyObject *BPy_IDArray_GetType(BPy_IDArray *self)
{
- return PyLong_FromSsize_t( self->prop->len );
+ switch(self->prop->subtype) {
+ case IDP_FLOAT:
+ return PyUnicode_FromString("f");
+ case IDP_DOUBLE:
+ return PyUnicode_FromString("d");
+ case IDP_INT:
+ return PyUnicode_FromString("i");
+ }
+
+ PyErr_SetString(PyExc_RuntimeError, "invalid/corrupt array type!");
+ return NULL;
}
static PyGetSetDef BPy_IDArray_getseters[] = {
- {(char *)"len", (getter)BPy_IDArray_GetLen, (setter)NULL, (char *)"The length of the array, can also be gotten with len(array).", NULL},
- {(char *)"type", (getter)BPy_IDArray_GetType, (setter)NULL, (char *)"The type of the data in the array, is an ant.", NULL},
+ /* matches pythons array.typecode */
+ {(char *)"typecode", (getter)BPy_IDArray_GetType, (setter)NULL, (char *)"The type of the data in the array, is an int.", NULL},
{NULL, NULL, NULL, NULL, NULL},
};
-static PyObject *BPy_IDArray_ConvertToPy(BPy_IDArray *self)
+static PyObject *BPy_IDArray_to_list(BPy_IDArray *self)
{
return BPy_IDGroup_MapDataToPy(self->prop);
}
static PyMethodDef BPy_IDArray_methods[] = {
- {"convert_to_pyobject", (PyCFunction)BPy_IDArray_ConvertToPy, METH_NOARGS,
- "return a purely python version of the group"},
+ {"to_list", (PyCFunction)BPy_IDArray_to_list, METH_NOARGS,
+ "return the array as a list"},
{NULL, NULL, 0, NULL}
};
@@ -925,14 +964,11 @@ static PyObject *BPy_IDArray_GetItem(BPy_IDArray *self, int index)
switch (self->prop->subtype) {
case IDP_FLOAT:
- return PyFloat_FromDouble( (double)(((float*)self->prop->data.pointer)[index]));
- break;
+ return PyFloat_FromDouble(((float*)IDP_Array(self->prop))[index]);
case IDP_DOUBLE:
- return PyFloat_FromDouble( (((double*)self->prop->data.pointer)[index]));
- break;
+ return PyFloat_FromDouble(((double*)IDP_Array(self->prop))[index]);
case IDP_INT:
- return PyLong_FromLong( (long)((int*)self->prop->data.pointer)[index] );
- break;
+ return PyLong_FromLong((long)((int*)IDP_Array(self->prop))[index]);
}
PyErr_SetString(PyExc_RuntimeError, "invalid/corrupt array type!");
@@ -957,7 +993,7 @@ static int BPy_IDArray_SetItem(BPy_IDArray *self, int index, PyObject *value)
PyErr_SetString(PyExc_TypeError, "expected a float");
return -1;
}
- ((float*)self->prop->data.pointer)[index] = f;
+ ((float*)IDP_Array(self->prop))[index] = f;
break;
case IDP_DOUBLE:
d= PyFloat_AsDouble(value);
@@ -965,7 +1001,7 @@ static int BPy_IDArray_SetItem(BPy_IDArray *self, int index, PyObject *value)
PyErr_SetString(PyExc_TypeError, "expected a float");
return -1;
}
- ((double*)self->prop->data.pointer)[index] = d;
+ ((double*)IDP_Array(self->prop))[index] = d;
break;
case IDP_INT:
i= PyLong_AsSsize_t(value);
@@ -974,7 +1010,7 @@ static int BPy_IDArray_SetItem(BPy_IDArray *self, int index, PyObject *value)
return -1;
}
- ((int*)self->prop->data.pointer)[index] = i;
+ ((int*)IDP_Array(self->prop))[index] = i;
break;
}
return 0;
@@ -994,11 +1030,156 @@ static PySequenceMethods BPy_IDArray_Seq = {
NULL, /* intargfunc sq_inplace_repeat */
};
-PyTypeObject IDArray_Type = {
+
+
+/* sequence slice (get): idparr[a:b] */
+static PyObject *BPy_IDArray_slice(BPy_IDArray *self, int begin, int end)
+{
+ IDProperty *prop= self->prop;
+ PyObject *tuple;
+ int count;
+
+ CLAMP(begin, 0, prop->len);
+ if (end<0) end= prop->len+end+1;
+ CLAMP(end, 0, prop->len);
+ begin= MIN2(begin, end);
+
+ tuple= PyTuple_New(end - begin);
+
+ switch (prop->subtype) {
+ case IDP_FLOAT:
+ {
+ float *array= (float*)IDP_Array(prop);
+ for(count = begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(array[count]));
+ }
+ break;
+ }
+ case IDP_DOUBLE:
+ {
+ double *array= (double*)IDP_Array(prop);
+ for(count = begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(array[count]));
+ }
+ break;
+ }
+ case IDP_INT:
+ {
+ int *array= (int*)IDP_Array(prop);
+ for(count = begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin, PyLong_FromLong(array[count]));
+ }
+ break;
+ }
+ }
+
+ return tuple;
+}
+/* sequence slice (set): idparr[a:b] = value */
+static int BPy_IDArray_ass_slice(BPy_IDArray *self, int begin, int end, PyObject *seq)
+{
+ IDProperty *prop= self->prop;
+ short is_double= 0;
+ const PyTypeObject *py_type= idp_array_py_type(self, &is_double);
+ const size_t elem_size= is_double ? sizeof(double) : sizeof(float);
+ size_t alloc_len;
+ size_t size;
+ void *vec;
+
+ CLAMP(begin, 0, prop->len);
+ CLAMP(end, 0, prop->len);
+ begin = MIN2(begin, end);
+
+ size = (end - begin);
+ alloc_len= size * elem_size;
+
+ vec= MEM_mallocN(alloc_len, "array assignment"); /* NOTE: we count on int/float being the same size here */
+ if(PyC_AsArray(vec, seq, size, py_type, is_double, "slice assignment: ") == -1) {
+ MEM_freeN(vec);
+ return -1;
+ }
+
+ memcpy((void *)(((char *)IDP_Array(prop)) + (begin * elem_size)), vec, alloc_len);
+
+ MEM_freeN(vec);
+ return 0;
+}
+
+static PyObject *BPy_IDArray_subscript(BPy_IDArray* self, PyObject* item)
+{
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i;
+ i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return NULL;
+ if (i < 0)
+ i += self->prop->len;
+ return BPy_IDArray_GetItem(self, i);
+ }
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
+
+ if (PySlice_GetIndicesEx((void *)item, self->prop->len, &start, &stop, &step, &slicelength) < 0)
+ return NULL;
+
+ if (slicelength <= 0) {
+ return PyTuple_New(0);
+ }
+ else if (step == 1) {
+ return BPy_IDArray_slice(self, start, stop);
+ }
+ else {
+ PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ return NULL;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ return NULL;
+ }
+}
+
+static int BPy_IDArray_ass_subscript(BPy_IDArray* self, PyObject* item, PyObject* value)
+{
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return -1;
+ if (i < 0)
+ i += self->prop->len;
+ return BPy_IDArray_SetItem(self, i, value);
+ }
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
+
+ if (PySlice_GetIndicesEx((void *)item, self->prop->len, &start, &stop, &step, &slicelength) < 0)
+ return -1;
+
+ if (step == 1)
+ return BPy_IDArray_ass_slice(self, start, stop, value);
+ else {
+ PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ return -1;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ return -1;
+ }
+}
+
+static PyMappingMethods BPy_IDArray_AsMapping = {
+ (lenfunc)BPy_IDArray_Len,
+ (binaryfunc)BPy_IDArray_subscript,
+ (objobjargproc)BPy_IDArray_ass_subscript
+};
+
+
+PyTypeObject BPy_IDArray_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
/* For printing, in format "<module>.<name>" */
"Blender IDArray", /* char *tp_name; */
- sizeof( BPy_IDArray ), /* int tp_basicsize; */
+ sizeof(BPy_IDArray), /* int tp_basicsize; */
0, /* tp_itemsize; For allocation */
/* Methods to implement standard operations */
@@ -1008,17 +1189,17 @@ PyTypeObject IDArray_Type = {
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
- ( reprfunc ) IDArray_repr, /* reprfunc tp_repr; */
+ (reprfunc)BPy_IDArray_repr, /* reprfunc tp_repr; */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- &BPy_IDArray_Seq, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ &BPy_IDArray_Seq, /* PySequenceMethods *tp_as_sequence; */
+ &BPy_IDArray_AsMapping, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ NULL, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
NULL, /* getattrofunc tp_getattro; */
@@ -1112,7 +1293,7 @@ static PyObject *BPy_Group_Iter_Next(BPy_IDGroup_Iter *self)
}
}
-PyTypeObject IDGroup_Iter_Type = {
+PyTypeObject BPy_IDGroup_Iter_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
/* For printing, in format "<module>.<name>" */
"Blender IDGroup_Iter", /* char *tp_name; */
@@ -1171,7 +1352,7 @@ PyTypeObject IDGroup_Iter_Type = {
void IDProp_Init_Types(void)
{
- PyType_Ready( &IDGroup_Type );
- PyType_Ready( &IDGroup_Iter_Type );
- PyType_Ready( &IDArray_Type );
+ PyType_Ready(&BPy_IDGroup_Type);
+ PyType_Ready(&BPy_IDGroup_Iter_Type);
+ PyType_Ready(&BPy_IDArray_Type);
}
diff --git a/source/blender/python/generic/IDProp.h b/source/blender/python/generic/IDProp.h
index 0ca8af81f7c..aca5c0195cc 100644
--- a/source/blender/python/generic/IDProp.h
+++ b/source/blender/python/generic/IDProp.h
@@ -37,14 +37,15 @@ struct BPy_IDGroup_Iter;
typedef struct BPy_IDProperty {
PyObject_VAR_HEAD
struct ID *id;
- struct IDProperty *prop, *parent;
+ struct IDProperty *prop; /* must be second member */
+ struct IDProperty *parent;
PyObject *data_wrap;
} BPy_IDProperty;
typedef struct BPy_IDArray {
PyObject_VAR_HEAD
struct ID *id;
- struct IDProperty *prop;
+ struct IDProperty *prop; /* must be second member */
} BPy_IDArray;
typedef struct BPy_IDGroup_Iter {
diff --git a/source/blender/python/generic/bgl.c b/source/blender/python/generic/bgl.c
index 730db73e685..09432e0b316 100644
--- a/source/blender/python/generic/bgl.c
+++ b/source/blender/python/generic/bgl.c
@@ -44,68 +44,179 @@
#include "BLI_utildefines.h"
-
-static char Method_Buffer_doc[] =
- "(type, dimensions, [template]) - Create a new Buffer object\n\n\
-(type) - The format to store data in\n\
-(dimensions) - An int or sequence specifying the dimensions of the buffer\n\
-[template] - A sequence of matching dimensions to the buffer to be created\n\
- which will be used to initialize the Buffer.\n\n\
-If a template is not passed in all fields will be initialized to 0.\n\n\
-The type should be one of GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE.\n\
-If the dimensions are specified as an int a linear buffer will be\n\
-created. If a sequence is passed for the dimensions the buffer\n\
-will have len(sequence) dimensions, where the size for each dimension\n\
-is determined by the value in the sequence at that index.\n\n\
-For example, passing [100, 100] will create a 2 dimensional\n\
-square buffer. Passing [16, 16, 32] will create a 3 dimensional\n\
-buffer which is twice as deep as it is wide or high.";
-
-static PyObject *Method_Buffer( PyObject * self, PyObject *args );
+static PyObject *Buffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
/* Buffer sequence methods */
-static int Buffer_len( PyObject * self );
-static PyObject *Buffer_item( PyObject * self, int i );
-static PyObject *Buffer_slice( PyObject * self, int begin, int end );
-static int Buffer_ass_item( PyObject * self, int i, PyObject * v );
-static int Buffer_ass_slice( PyObject * self, int begin, int end,
- PyObject * seq );
+static int Buffer_len(Buffer *self);
+static PyObject *Buffer_item(Buffer *self, int i);
+static PyObject *Buffer_slice(Buffer *self, int begin, int end);
+static int Buffer_ass_item(Buffer *self, int i, PyObject *v);
+static int Buffer_ass_slice(Buffer *self, int begin, int end,
+ PyObject *seq);
+static PyObject *Buffer_subscript(Buffer *self, PyObject *item);
+static int Buffer_ass_subscript(Buffer *self, PyObject *item,
+ PyObject *value);
static PySequenceMethods Buffer_SeqMethods = {
- ( lenfunc ) Buffer_len, /*sq_length */
- ( binaryfunc ) NULL, /*sq_concat */
- ( ssizeargfunc ) NULL, /*sq_repeat */
- ( ssizeargfunc ) Buffer_item, /*sq_item */
- ( ssizessizeargfunc ) Buffer_slice, /*sq_slice, deprecated TODO, replace */
- ( ssizeobjargproc ) Buffer_ass_item, /*sq_ass_item */
- ( ssizessizeobjargproc ) Buffer_ass_slice, /*sq_ass_slice, deprecated TODO, replace */
+ (lenfunc) Buffer_len, /*sq_length */
+ (binaryfunc) NULL, /*sq_concat */
+ (ssizeargfunc) NULL, /*sq_repeat */
+ (ssizeargfunc) Buffer_item, /*sq_item */
+ (ssizessizeargfunc) Buffer_slice, /*sq_slice, deprecated TODO, replace */
+ (ssizeobjargproc) Buffer_ass_item, /*sq_ass_item */
+ (ssizessizeobjargproc) Buffer_ass_slice, /*sq_ass_slice, deprecated TODO, replace */
(objobjproc) NULL, /* sq_contains */
(binaryfunc) NULL, /* sq_inplace_concat */
(ssizeargfunc) NULL, /* sq_inplace_repeat */
};
-static void Buffer_dealloc( PyObject * self );
-static PyObject *Buffer_tolist( PyObject * self );
-static PyObject *Buffer_dimensions( PyObject * self );
-static PyObject *Buffer_getattr( PyObject * self, char *name );
-static PyObject *Buffer_repr( PyObject * self );
+
+static PyMappingMethods Buffer_AsMapping = {
+ (lenfunc)Buffer_len,
+ (binaryfunc)Buffer_subscript,
+ (objobjargproc)Buffer_ass_subscript
+};
+
+static void Buffer_dealloc(Buffer *self);
+static PyObject *Buffer_repr(Buffer *self);
+
+static PyObject *Buffer_to_list(Buffer *self)
+{
+ int i, len= self->dimensions[0];
+ PyObject *list= PyList_New(len);
+
+ for (i=0; i<len; i++) {
+ PyList_SET_ITEM(list, i, Buffer_item(self, i));
+ }
+
+ return list;
+}
+
+static PyObject *Buffer_to_list_recursive(Buffer *self)
+{
+ PyObject *list;
+
+ if(self->ndimensions > 1) {
+ int i, len= self->dimensions[0];
+ list= PyList_New(len);
+
+ for (i=0; i<len; i++) {
+ Buffer *sub= (Buffer *)Buffer_item(self, i);
+ PyList_SET_ITEM(list, i, Buffer_to_list_recursive(sub));
+ Py_DECREF(sub);
+ }
+ }
+ else {
+ list= Buffer_to_list(self);
+ }
+
+ return list;
+}
+
+/* *DEPRECATED* 2011/7/17 bgl.Buffer.list */
+static PyObject *Buffer_list(Buffer *self, void *UNUSED(arg))
+{
+ fprintf(stderr, "Warning: 'Buffer.list' deprecated, use '[:]' instead\n");
+ return Buffer_to_list(self);
+}
+
+static PyObject *Buffer_dimensions(Buffer *self, void *UNUSED(arg))
+{
+ PyObject *list= PyList_New(self->ndimensions);
+ int i;
+
+ for (i= 0; i<self->ndimensions; i++) {
+ PyList_SET_ITEM(list, i, PyLong_FromLong(self->dimensions[i]));
+ }
+
+ return list;
+}
+
+static PyMethodDef Buffer_methods[] = {
+ {"to_list", (PyCFunction)Buffer_to_list_recursive, METH_NOARGS,
+ "return the buffer as a list"},
+ {NULL, NULL, 0, NULL}
+};
+
+static PyGetSetDef Buffer_getseters[] = {
+ {(char *)"list", (getter)Buffer_list, NULL, NULL, NULL},
+ {(char *)"dimensions", (getter)Buffer_dimensions, NULL, NULL, NULL},
+ {NULL, NULL, NULL, NULL, NULL}
+};
+
PyTypeObject BGL_bufferType = {
PyVarObject_HEAD_INIT(NULL, 0)
- "buffer", /*tp_name */
- sizeof( Buffer ), /*tp_basicsize */
- 0, /*tp_itemsize */
- ( destructor ) Buffer_dealloc, /*tp_dealloc */
- ( printfunc ) 0, /*tp_print */
- ( getattrfunc ) Buffer_getattr, /*tp_getattr */
- ( setattrfunc ) 0, /*tp_setattr */
+ "bgl.Buffer", /*tp_name */
+ sizeof(Buffer), /*tp_basicsize */
+ 0, /*tp_itemsize */
+ (destructor)Buffer_dealloc, /*tp_dealloc */
+ (printfunc)NULL, /*tp_print */
+ NULL, /*tp_getattr */
+ NULL, /*tp_setattr */
NULL, /*tp_compare */
- ( reprfunc ) Buffer_repr, /*tp_repr */
+ (reprfunc) Buffer_repr, /*tp_repr */
NULL, /*tp_as_number */
&Buffer_SeqMethods, /*tp_as_sequence */
+ &Buffer_AsMapping, /* PyMappingMethods *tp_as_mapping; */
+
+ /* More standard operations (here for binary compatibility) */
+
+ NULL, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
+
+ /* Functions to access object as input/output buffer */
+ NULL, /* PyBufferProcs *tp_as_buffer; */
+
+ /*** Flags to define presence of optional/expanded features ***/
+ Py_TPFLAGS_DEFAULT, /* long tp_flags; */
+
+ NULL, /* char *tp_doc; Documentation string */
+ /*** Assigned meaning in release 2.0 ***/
+ /* call function for all accessible objects */
+ NULL, /* traverseproc tp_traverse; */
+
+ /* delete references to contained objects */
+ NULL, /* inquiry tp_clear; */
+
+ /*** Assigned meaning in release 2.1 ***/
+ /*** rich comparisons ***/
+ NULL, /* richcmpfunc tp_richcompare; */
+
+ /*** weak reference enabler ***/
+ 0, /* long tp_weaklistoffset; */
+
+ /*** Added in release 2.2 ***/
+ /* Iterators */
+ NULL, /* getiterfunc tp_iter; */
+ NULL, /* iternextfunc tp_iternext; */
+ /*** Attribute descriptor and subclassing stuff ***/
+ Buffer_methods, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMemberDef *tp_members; */
+ Buffer_getseters, /* struct PyGetSetDef *tp_getset; */
+ NULL, /*tp_base*/
+ NULL, /*tp_dict*/
+ NULL, /*tp_descr_get*/
+ NULL, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ NULL, /*tp_init*/
+ NULL, /*tp_alloc*/
+ Buffer_new, /*tp_new*/
+ NULL, /*tp_free*/
+ NULL, /*tp_is_gc*/
+ NULL, /*tp_bases*/
+ NULL, /*tp_mro*/
+ NULL, /*tp_cache*/
+ NULL, /*tp_subclasses*/
+ NULL, /*tp_weaklist*/
+ NULL /*tp_del*/
};
+
/* #ifndef __APPLE__ */
#define BGL_Wrap(nargs, funcname, ret, arg_list) \
@@ -173,26 +284,13 @@ Buffer *BGL_MakeBuffer(int type, int ndimensions, int *dimensions, void *initbuf
}
else {
memset(buffer->buf.asvoid, 0, length*size);
- /*
- for (i= 0; i<length; i++) {
- if (type==GL_BYTE)
- buffer->buf.asbyte[i]= 0;
- else if (type==GL_SHORT)
- buffer->buf.asshort[i]= 0;
- else if (type==GL_INT)
- buffer->buf.asint[i]= 0;
- else if (type==GL_FLOAT)
- buffer->buf.asfloat[i]= 0.0f;
- else if (type==GL_DOUBLE)
- buffer->buf.asdouble[i]= 0.0;
- }
- */
}
return buffer;
}
+
#define MAX_DIMENSIONS 256
-static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
+static PyObject *Buffer_new(PyTypeObject *UNUSED(type), PyObject *args, PyObject *kwds)
{
PyObject *length_ob= NULL, *init= NULL;
Buffer *buffer;
@@ -200,31 +298,41 @@ static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
int i, type;
int ndimensions = 0;
-
- if (!PyArg_ParseTuple(args, "iO|O", &type, &length_ob, &init)) {
- PyErr_SetString(PyExc_AttributeError, "expected an int and one or two PyObjects");
+
+ if(kwds && PyDict_Size(kwds)) {
+ PyErr_SetString(PyExc_TypeError,
+ "bgl.Buffer(): takes no keyword args");
+ return NULL;
+ }
+
+ if (!PyArg_ParseTuple(args, "iO|O: bgl.Buffer", &type, &length_ob, &init)) {
return NULL;
}
if (!ELEM5(type, GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE)) {
- PyErr_SetString(PyExc_AttributeError, "invalid first argument type, should be one of GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT or GL_DOUBLE");
+ PyErr_SetString(PyExc_AttributeError,
+ "invalid first argument type, should be one of "
+ "GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT or GL_DOUBLE");
return NULL;
}
if (PyLong_Check(length_ob)) {
ndimensions= 1;
if(((dimensions[0]= PyLong_AsLong(length_ob)) < 1)) {
- PyErr_SetString(PyExc_AttributeError, "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
+ PyErr_SetString(PyExc_AttributeError,
+ "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
return NULL;
}
}
else if (PySequence_Check(length_ob)) {
ndimensions= PySequence_Size(length_ob);
if (ndimensions > MAX_DIMENSIONS) {
- PyErr_SetString(PyExc_AttributeError, "too many dimensions, max is "STRINGIFY(MAX_DIMENSIONS));
+ PyErr_SetString(PyExc_AttributeError,
+ "too many dimensions, max is "STRINGIFY(MAX_DIMENSIONS));
return NULL;
}
else if (ndimensions < 1) {
- PyErr_SetString(PyExc_AttributeError, "sequence must have at least one dimension");
+ PyErr_SetString(PyExc_AttributeError,
+ "sequence must have at least one dimension");
return NULL;
}
for (i=0; i<ndimensions; i++) {
@@ -235,19 +343,22 @@ static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
Py_DECREF(ob);
if(dimensions[i] < 1) {
- PyErr_SetString(PyExc_AttributeError, "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
+ PyErr_SetString(PyExc_AttributeError,
+ "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
return NULL;
}
}
}
else {
- PyErr_Format(PyExc_TypeError, "invalid second argument argument expected a sequence or an int, not a %.200s", Py_TYPE(length_ob)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "invalid second argument argument expected a sequence "
+ "or an int, not a %.200s", Py_TYPE(length_ob)->tp_name);
return NULL;
}
buffer= BGL_MakeBuffer(type, ndimensions, dimensions, NULL);
if (init && ndimensions) {
- if (Buffer_ass_slice((PyObject *) buffer, 0, dimensions[0], init)) {
+ if (Buffer_ass_slice(buffer, 0, dimensions[0], init)) {
Py_DECREF(buffer);
return NULL;
}
@@ -258,51 +369,48 @@ static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
/*@ Buffer sequence methods */
-static int Buffer_len(PyObject *self)
+static int Buffer_len(Buffer *self)
{
- Buffer *buf= (Buffer *) self;
- return buf->dimensions[0];
+ return self->dimensions[0];
}
-static PyObject *Buffer_item(PyObject *self, int i)
+static PyObject *Buffer_item(Buffer *self, int i)
{
- Buffer *buf= (Buffer *) self;
-
- if (i >= buf->dimensions[0]) {
+ if (i >= self->dimensions[0] || i < 0) {
PyErr_SetString(PyExc_IndexError, "array index out of range");
return NULL;
}
- if (buf->ndimensions==1) {
- switch (buf->type) {
- case GL_BYTE: return Py_BuildValue("b", buf->buf.asbyte[i]);
- case GL_SHORT: return Py_BuildValue("h", buf->buf.asshort[i]);
- case GL_INT: return Py_BuildValue("i", buf->buf.asint[i]);
- case GL_FLOAT: return PyFloat_FromDouble(buf->buf.asfloat[i]);
- case GL_DOUBLE: return Py_BuildValue("d", buf->buf.asdouble[i]);
+ if (self->ndimensions==1) {
+ switch (self->type) {
+ case GL_BYTE: return Py_BuildValue("b", self->buf.asbyte[i]);
+ case GL_SHORT: return Py_BuildValue("h", self->buf.asshort[i]);
+ case GL_INT: return Py_BuildValue("i", self->buf.asint[i]);
+ case GL_FLOAT: return PyFloat_FromDouble(self->buf.asfloat[i]);
+ case GL_DOUBLE: return Py_BuildValue("d", self->buf.asdouble[i]);
}
}
else {
Buffer *newbuf;
int j, length, size;
-
+
length= 1;
- for (j=1; j<buf->ndimensions; j++) {
- length*= buf->dimensions[j];
+ for (j=1; j < self->ndimensions; j++) {
+ length *= self->dimensions[j];
}
- size= BGL_typeSize(buf->type);
+ size= BGL_typeSize(self->type);
newbuf= (Buffer *) PyObject_NEW(Buffer, &BGL_bufferType);
Py_INCREF(self);
- newbuf->parent= self;
+ newbuf->parent= (PyObject *)self;
- newbuf->ndimensions= buf->ndimensions-1;
- newbuf->type= buf->type;
- newbuf->buf.asvoid= buf->buf.asbyte + i*length*size;
+ newbuf->ndimensions= self->ndimensions - 1;
+ newbuf->type= self->type;
+ newbuf->buf.asvoid= self->buf.asbyte + i*length*size;
newbuf->dimensions= MEM_mallocN(newbuf->ndimensions*sizeof(int),
"Buffer dimensions");
- memcpy(newbuf->dimensions, buf->dimensions+1,
+ memcpy(newbuf->dimensions, self->dimensions+1,
newbuf->ndimensions*sizeof(int));
return (PyObject *) newbuf;
@@ -311,16 +419,14 @@ static PyObject *Buffer_item(PyObject *self, int i)
return NULL;
}
-static PyObject *Buffer_slice(PyObject *self, int begin, int end)
+static PyObject *Buffer_slice(Buffer *self, int begin, int end)
{
- Buffer *buf= (Buffer *) self;
PyObject *list;
int count;
- if (begin<0) begin= 0;
- if (end>buf->dimensions[0])
- end= buf->dimensions[0];
- if (begin>end) begin= end;
+ if (begin < 0) begin= 0;
+ if (end > self->dimensions[0]) end= self->dimensions[0];
+ if (begin > end) begin= end;
list= PyList_New(end-begin);
@@ -330,134 +436,180 @@ static PyObject *Buffer_slice(PyObject *self, int begin, int end)
return list;
}
-static int Buffer_ass_item(PyObject *self, int i, PyObject *v)
+static int Buffer_ass_item(Buffer *self, int i, PyObject *v)
{
- Buffer *buf= (Buffer *) self;
-
- if (i >= buf->dimensions[0]) {
- PyErr_SetString(PyExc_IndexError, "array assignment index out of range");
+ if (i >= self->dimensions[0] || i < 0) {
+ PyErr_SetString(PyExc_IndexError,
+ "array assignment index out of range");
return -1;
}
-
- if (buf->ndimensions!=1) {
- PyObject *row= Buffer_item(self, i);
- int ret;
-
- if (!row) return -1;
- ret= Buffer_ass_slice(row, 0, buf->dimensions[1], v);
- Py_DECREF(row);
- return ret;
- }
- if (buf->type==GL_BYTE) {
- if (!PyArg_Parse(v, "b:Coordinates must be ints", &buf->buf.asbyte[i]))
- return -1;
- }
- else if (buf->type==GL_SHORT) {
- if (!PyArg_Parse(v, "h:Coordinates must be ints", &buf->buf.asshort[i]))
- return -1;
-
- }
- else if (buf->type==GL_INT) {
- if (!PyArg_Parse(v, "i:Coordinates must be ints", &buf->buf.asint[i]))
- return -1;
- }
- else if (buf->type==GL_FLOAT) {
- if (!PyArg_Parse(v, "f:Coordinates must be floats", &buf->buf.asfloat[i]))
+ if (self->ndimensions!=1) {
+ Buffer *row= (Buffer *)Buffer_item(self, i);
+
+ if (row) {
+ int ret= Buffer_ass_slice(row, 0, self->dimensions[1], v);
+ Py_DECREF(row);
+ return ret;
+ }
+ else {
return -1;
+ }
}
- else if (buf->type==GL_DOUBLE) {
- if (!PyArg_Parse(v, "d:Coordinates must be floats", &buf->buf.asdouble[i]))
- return -1;
+
+ switch(self->type) {
+ case GL_BYTE:
+ return PyArg_Parse(v, "b:Expected ints", &self->buf.asbyte[i]) ? 0:-1;
+ case GL_SHORT:
+ return PyArg_Parse(v, "h:Expected ints", &self->buf.asshort[i]) ? 0:-1;
+ case GL_INT:
+ return PyArg_Parse(v, "i:Expected ints", &self->buf.asint[i]) ? 0:-1;
+ case GL_FLOAT:
+ return PyArg_Parse(v, "f:Expected floats", &self->buf.asfloat[i]) ? 0:-1;
+ case GL_DOUBLE:
+ return PyArg_Parse(v, "d:Expected floats", &self->buf.asdouble[i]) ? 0:-1;
+ default:
+ return 0; /* should never happen */
}
- return 0;
}
-static int Buffer_ass_slice(PyObject *self, int begin, int end, PyObject *seq)
+static int Buffer_ass_slice(Buffer *self, int begin, int end, PyObject *seq)
{
- Buffer *buf= (Buffer *) self;
PyObject *item;
int count, err=0;
- if (begin<0) begin= 0;
- if (end>buf->dimensions[0]) end= buf->dimensions[0];
- if (begin>end) begin= end;
+ if (begin < 0) begin= 0;
+ if (end > self->dimensions[0]) end= self->dimensions[0];
+ if (begin > end) begin= end;
if (!PySequence_Check(seq)) {
- PyErr_SetString(PyExc_TypeError,
- "illegal argument type for built-in operation");
+ PyErr_Format(PyExc_TypeError,
+ "buffer[:] = value, invalid assignment. "
+ "Expected a sequence, not an %.200s type",
+ Py_TYPE(seq)->tp_name);
return -1;
}
- if (PySequence_Size(seq)!=(end-begin)) {
- int seq_len = PySequence_Size(seq);
- char err_str[128];
- sprintf(err_str, "size mismatch in assignment. Expected size: %d (size provided: %d)", seq_len, (end-begin));
- PyErr_SetString(PyExc_TypeError, err_str);
+ /* re-use count var */
+ if ((count= PySequence_Size(seq)) != (end - begin)) {
+ PyErr_Format(PyExc_TypeError,
+ "buffer[:] = value, size mismatch in assignment. "
+ "Expected: %d (given: %d)", count, end - begin);
return -1;
}
- for (count= begin; count<end; count++) {
- item= PySequence_GetItem(seq, count-begin);
- err= Buffer_ass_item(self, count, item);
- Py_DECREF(item);
+ for (count= begin; count < end; count++) {
+ item= PySequence_GetItem(seq, count - begin);
+ if(item) {
+ err= Buffer_ass_item(self, count, item);
+ Py_DECREF(item);
+ }
+ else {
+ err= -1;
+ }
if (err) break;
}
return err;
}
-static void Buffer_dealloc(PyObject *self)
+static PyObject *Buffer_subscript(Buffer *self, PyObject *item)
{
- Buffer *buf = (Buffer *)self;
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i;
+ i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return NULL;
+ if (i < 0)
+ i += self->dimensions[0];
+ return Buffer_item(self, i);
+ }
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
- if (buf->parent) Py_DECREF (buf->parent);
- else MEM_freeN (buf->buf.asvoid);
+ if (PySlice_GetIndicesEx((void *)item, self->dimensions[0], &start, &stop, &step, &slicelength) < 0)
+ return NULL;
- MEM_freeN (buf->dimensions);
-
- PyObject_DEL (self);
+ if (slicelength <= 0) {
+ return PyTuple_New(0);
+ }
+ else if (step == 1) {
+ return Buffer_slice(self, start, stop);
+ }
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
+ return NULL;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "buffer indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
+ return NULL;
+ }
}
-static PyObject *Buffer_tolist(PyObject *self)
+static int Buffer_ass_subscript(Buffer *self, PyObject *item, PyObject *value)
{
- int i, len= ((Buffer *)self)->dimensions[0];
- PyObject *list= PyList_New(len);
-
- for (i=0; i<len; i++) {
- PyList_SET_ITEM(list, i, Buffer_item(self, i));
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return -1;
+ if (i < 0)
+ i += self->dimensions[0];
+ return Buffer_ass_item(self, i, value);
}
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
- return list;
+ if (PySlice_GetIndicesEx((void *)item, self->dimensions[0], &start, &stop, &step, &slicelength) < 0)
+ return -1;
+
+ if (step == 1)
+ return Buffer_ass_slice(self, start, stop, value);
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
+ return -1;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "buffer indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
+ return -1;
+ }
}
-static PyObject *Buffer_dimensions(PyObject *self)
+
+static void Buffer_dealloc(Buffer *self)
{
- Buffer *buffer= (Buffer *) self;
- PyObject *list= PyList_New(buffer->ndimensions);
- int i;
+ if (self->parent) Py_DECREF(self->parent);
+ else MEM_freeN (self->buf.asvoid);
- for (i= 0; i<buffer->ndimensions; i++) {
- PyList_SET_ITEM(list, i, PyLong_FromLong(buffer->dimensions[i]));
- }
+ MEM_freeN(self->dimensions);
- return list;
+ PyObject_DEL(self);
}
-static PyObject *Buffer_getattr(PyObject *self, char *name)
-{
- if (strcmp(name, "list")==0) return Buffer_tolist(self);
- else if (strcmp(name, "dimensions")==0) return Buffer_dimensions(self);
-
- PyErr_SetString(PyExc_AttributeError, name);
- return NULL;
-}
-static PyObject *Buffer_repr(PyObject *self)
+static PyObject *Buffer_repr(Buffer *self)
{
- PyObject *list= Buffer_tolist(self);
- PyObject *repr= PyObject_Repr(list);
+ PyObject *list= Buffer_to_list_recursive(self);
+ PyObject *repr;
+ const char *typestr= "UNKNOWN";
+
+ switch(self->type) {
+ case GL_BYTE: typestr= "GL_BYTE"; break;
+ case GL_SHORT: typestr= "GL_SHORT"; break;
+ case GL_INT: typestr= "GL_BYTE"; break;
+ case GL_FLOAT: typestr= "GL_FLOAT"; break;
+ case GL_DOUBLE: typestr= "GL_DOUBLE"; break;
+ }
+
+ repr= PyUnicode_FromFormat("Buffer(%s, %R)", typestr, list);
Py_DECREF(list);
-
+
return repr;
}
@@ -804,7 +956,6 @@ BGLU_Wrap(9, UnProject, GLint, (GLdouble, GLdouble, GLdouble, GLdoubleP, GLdo
* {"glAccum", Method_Accumfunc, METH_VARARGS} */
static struct PyMethodDef BGL_methods[] = {
- {"Buffer", Method_Buffer, METH_VARARGS, Method_Buffer_doc},
/* #ifndef __APPLE__ */
MethodDef(Accum),
@@ -1152,9 +1303,12 @@ PyObject *BPyInit_bgl(void)
submodule= PyModule_Create(&BGL_module_def);
dict= PyModule_GetDict(submodule);
- if( PyType_Ready( &BGL_bufferType) < 0)
+ if(PyType_Ready(&BGL_bufferType) < 0)
return NULL; /* should never happen */
+
+ PyModule_AddObject(submodule, "Buffer", (PyObject *)&BGL_bufferType);
+
#define EXPP_ADDCONST(x) PyDict_SetItemString(dict, #x, item=PyLong_FromLong((int)x)); Py_DECREF(item)
/* So, for example:
diff --git a/source/blender/python/generic/bgl.h b/source/blender/python/generic/bgl.h
index a870e82d4fd..81b570c8505 100644
--- a/source/blender/python/generic/bgl.h
+++ b/source/blender/python/generic/bgl.h
@@ -55,7 +55,7 @@ int BGL_typeSize( int type );
/*@ For Python access to OpenGL functions requiring a pointer. */
typedef struct _Buffer {
PyObject_VAR_HEAD
- PyObject * parent;
+ PyObject *parent;
int type; /* GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT */
int ndimensions;
diff --git a/source/blender/python/generic/blf_py_api.c b/source/blender/python/generic/blf_py_api.c
index 0653f967c14..3cf0b0f1f27 100644
--- a/source/blender/python/generic/blf_py_api.c
+++ b/source/blender/python/generic/blf_py_api.c
@@ -36,7 +36,7 @@
-static char py_blf_position_doc[] =
+PyDoc_STRVAR(py_blf_position_doc,
".. function:: position(fontid, x, y, z)\n"
"\n"
" Set the position for drawing text.\n"
@@ -48,7 +48,8 @@ static char py_blf_position_doc[] =
" :arg y: Y axis position to draw the text.\n"
" :type y: float\n"
" :arg z: Z axis position to draw the text.\n"
-" :type z: float\n";
+" :type z: float\n"
+);
static PyObject *py_blf_position(PyObject *UNUSED(self), PyObject *args)
{
@@ -64,7 +65,7 @@ static PyObject *py_blf_position(PyObject *UNUSED(self), PyObject *args)
}
-static char py_blf_size_doc[] =
+PyDoc_STRVAR(py_blf_size_doc,
".. function:: size(fontid, size, dpi)\n"
"\n"
" Set the size and dpi for drawing text.\n"
@@ -74,8 +75,8 @@ static char py_blf_size_doc[] =
" :arg size: Point size of the font.\n"
" :type size: int\n"
" :arg dpi: dots per inch value to use for drawing.\n"
-" :type dpi: int\n";
-
+" :type dpi: int\n"
+);
static PyObject *py_blf_size(PyObject *UNUSED(self), PyObject *args)
{
int fontid, size, dpi;
@@ -89,7 +90,7 @@ static PyObject *py_blf_size(PyObject *UNUSED(self), PyObject *args)
}
-static char py_blf_aspect_doc[] =
+PyDoc_STRVAR(py_blf_aspect_doc,
".. function:: aspect(fontid, aspect)\n"
"\n"
" Set the aspect for drawing text.\n"
@@ -97,8 +98,8 @@ static char py_blf_aspect_doc[] =
" :arg fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0.\n"
" :type fontid: int\n"
" :arg aspect: The aspect ratio for text drawing to use.\n"
-" :type aspect: float\n";
-
+" :type aspect: float\n"
+);
static PyObject *py_blf_aspect(PyObject *UNUSED(self), PyObject *args)
{
float aspect;
@@ -113,7 +114,7 @@ static PyObject *py_blf_aspect(PyObject *UNUSED(self), PyObject *args)
}
-static char py_blf_blur_doc[] =
+PyDoc_STRVAR(py_blf_blur_doc,
".. function:: blur(fontid, radius)\n"
"\n"
" Set the blur radius for drawing text.\n"
@@ -121,8 +122,8 @@ static char py_blf_blur_doc[] =
" :arg fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0.\n"
" :type fontid: int\n"
" :arg radius: The radius for blurring text (in pixels).\n"
-" :type radius: int\n";
-
+" :type radius: int\n"
+);
static PyObject *py_blf_blur(PyObject *UNUSED(self), PyObject *args)
{
int blur, fontid;
@@ -136,7 +137,7 @@ static PyObject *py_blf_blur(PyObject *UNUSED(self), PyObject *args)
}
-static char py_blf_draw_doc[] =
+PyDoc_STRVAR(py_blf_draw_doc,
".. function:: draw(fontid, text)\n"
"\n"
" Draw text in the current context.\n"
@@ -144,8 +145,8 @@ static char py_blf_draw_doc[] =
" :arg fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0.\n"
" :type fontid: int\n"
" :arg text: the text to draw.\n"
-" :type text: string\n";
-
+" :type text: string\n"
+);
static PyObject *py_blf_draw(PyObject *UNUSED(self), PyObject *args)
{
char *text;
@@ -160,7 +161,7 @@ static PyObject *py_blf_draw(PyObject *UNUSED(self), PyObject *args)
Py_RETURN_NONE;
}
-static char py_blf_dimensions_doc[] =
+PyDoc_STRVAR(py_blf_dimensions_doc,
".. function:: dimensions(fontid, text)\n"
"\n"
" Return the width and height of the text.\n"
@@ -170,8 +171,8 @@ static char py_blf_dimensions_doc[] =
" :arg text: the text to draw.\n"
" :type text: string\n"
" :return: the width and height of the text.\n"
-" :rtype: tuple of 2 floats\n";
-
+" :rtype: tuple of 2 floats\n"
+);
static PyObject *py_blf_dimensions(PyObject *UNUSED(self), PyObject *args)
{
char *text;
@@ -190,7 +191,7 @@ static PyObject *py_blf_dimensions(PyObject *UNUSED(self), PyObject *args)
return ret;
}
-static char py_blf_clipping_doc[] =
+PyDoc_STRVAR(py_blf_clipping_doc,
".. function:: clipping(fontid, xmin, ymin, xmax, ymax)\n"
"\n"
" Set the clipping, enable/disable using CLIPPING.\n"
@@ -204,8 +205,8 @@ static char py_blf_clipping_doc[] =
" :arg xmax: Clip the drawing area by these bounds.\n"
" :type xmax: float\n"
" :arg ymax: Clip the drawing area by these bounds.\n"
-" :type ymax: float\n";
-
+" :type ymax: float\n"
+);
static PyObject *py_blf_clipping(PyObject *UNUSED(self), PyObject *args)
{
float xmin, ymin, xmax, ymax;
@@ -219,7 +220,7 @@ static PyObject *py_blf_clipping(PyObject *UNUSED(self), PyObject *args)
Py_RETURN_NONE;
}
-static char py_blf_disable_doc[] =
+PyDoc_STRVAR(py_blf_disable_doc,
".. function:: disable(fontid, option)\n"
"\n"
" Disable option.\n"
@@ -227,8 +228,8 @@ static char py_blf_disable_doc[] =
" :arg fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0.\n"
" :type fontid: int\n"
" :arg option: One of ROTATION, CLIPPING, SHADOW or KERNING_DEFAULT.\n"
-" :type option: int\n";
-
+" :type option: int\n"
+);
static PyObject *py_blf_disable(PyObject *UNUSED(self), PyObject *args)
{
int option, fontid;
@@ -241,7 +242,7 @@ static PyObject *py_blf_disable(PyObject *UNUSED(self), PyObject *args)
Py_RETURN_NONE;
}
-static char py_blf_enable_doc[] =
+PyDoc_STRVAR(py_blf_enable_doc,
".. function:: enable(fontid, option)\n"
"\n"
" Enable option.\n"
@@ -249,8 +250,8 @@ static char py_blf_enable_doc[] =
" :arg fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0.\n"
" :type fontid: int\n"
" :arg option: One of ROTATION, CLIPPING, SHADOW or KERNING_DEFAULT.\n"
-" :type option: int\n";
-
+" :type option: int\n"
+);
static PyObject *py_blf_enable(PyObject *UNUSED(self), PyObject *args)
{
int option, fontid;
@@ -263,7 +264,7 @@ static PyObject *py_blf_enable(PyObject *UNUSED(self), PyObject *args)
Py_RETURN_NONE;
}
-static char py_blf_rotation_doc[] =
+PyDoc_STRVAR(py_blf_rotation_doc,
".. function:: rotation(fontid, angle)\n"
"\n"
" Set the text rotation angle, enable/disable using ROTATION.\n"
@@ -271,8 +272,8 @@ static char py_blf_rotation_doc[] =
" :arg fontid: The id of the typeface as returned by :func:`blf.load`, for default font use 0.\n"
" :type fontid: int\n"
" :arg angle: The angle for text drawing to use.\n"
-" :type angle: float\n";
-
+" :type angle: float\n"
+);
static PyObject *py_blf_rotation(PyObject *UNUSED(self), PyObject *args)
{
float angle;
@@ -286,7 +287,7 @@ static PyObject *py_blf_rotation(PyObject *UNUSED(self), PyObject *args)
Py_RETURN_NONE;
}
-static char py_blf_shadow_doc[] =
+PyDoc_STRVAR(py_blf_shadow_doc,
".. function:: shadow(fontid, level, r, g, b, a)\n"
"\n"
" Shadow options, enable/disable using SHADOW .\n"
@@ -302,8 +303,8 @@ static char py_blf_shadow_doc[] =
" :arg b: Shadow color (blue channel 0.0 - 1.0).\n"
" :type b: float\n"
" :arg a: Shadow color (alpha channel 0.0 - 1.0).\n"
-" :type a: float\n";
-
+" :type a: float\n"
+);
static PyObject *py_blf_shadow(PyObject *UNUSED(self), PyObject *args)
{
int level, fontid;
@@ -322,7 +323,7 @@ static PyObject *py_blf_shadow(PyObject *UNUSED(self), PyObject *args)
Py_RETURN_NONE;
}
-static char py_blf_shadow_offset_doc[] =
+PyDoc_STRVAR(py_blf_shadow_offset_doc,
".. function:: shadow_offset(fontid, x, y)\n"
"\n"
" Set the offset for shadow text.\n"
@@ -332,8 +333,8 @@ static char py_blf_shadow_offset_doc[] =
" :arg x: Vertical shadow offset value in pixels.\n"
" :type x: float\n"
" :arg y: Horizontal shadow offset value in pixels.\n"
-" :type y: float\n";
-
+" :type y: float\n"
+);
static PyObject *py_blf_shadow_offset(PyObject *UNUSED(self), PyObject *args)
{
int x, y, fontid;
@@ -346,7 +347,7 @@ static PyObject *py_blf_shadow_offset(PyObject *UNUSED(self), PyObject *args)
Py_RETURN_NONE;
}
-static char py_blf_load_doc[] =
+PyDoc_STRVAR(py_blf_load_doc,
".. function:: load(filename)\n"
"\n"
" Load a new font.\n"
@@ -354,8 +355,8 @@ static char py_blf_load_doc[] =
" :arg filename: the filename of the font.\n"
" :type filename: string\n"
" :return: the new font's fontid or -1 if there was an error.\n"
-" :rtype: integer\n";
-
+" :rtype: integer\n"
+);
static PyObject *py_blf_load(PyObject *UNUSED(self), PyObject *args)
{
char* filename;
@@ -384,9 +385,9 @@ static PyMethodDef BLF_methods[] = {
{NULL, NULL, 0, NULL}
};
-static char BLF_doc[] =
-"This module provides access to blenders text drawing functions.\n";
-
+PyDoc_STRVAR(BLF_doc,
+"This module provides access to blenders text drawing functions."
+);
static struct PyModuleDef BLF_module_def = {
PyModuleDef_HEAD_INIT,
"blf", /* m_name */
diff --git a/source/blender/python/generic/bpy_internal_import.c b/source/blender/python/generic/bpy_internal_import.c
index 96fe13bf6fc..f0158fe72c3 100644
--- a/source/blender/python/generic/bpy_internal_import.c
+++ b/source/blender/python/generic/bpy_internal_import.c
@@ -34,9 +34,6 @@
#include <Python.h>
#include <stddef.h>
-#include "compile.h" /* for the PyCodeObject */
-#include "eval.h" /* for PyEval_EvalCode */
-
#include "bpy_internal_import.h"
#include "MEM_guardedalloc.h"
@@ -51,7 +48,6 @@
/* UNUSED */
#include "BKE_text.h" /* txt_to_buf */
#include "BKE_main.h"
-#include "BKE_global.h" /* grr, only for G.main->name */
static Main *bpy_import_main= NULL;
@@ -97,7 +93,7 @@ void bpy_import_main_set(struct Main *maggie)
/* returns a dummy filename for a textblock so we can tell what file a text block comes from */
void bpy_text_filename_get(char *fn, size_t fn_len, Text *text)
{
- BLI_snprintf(fn, fn_len, "%s%c%s", text->id.lib ? text->id.lib->filepath : G.main->name, SEP, text->id.name+2);
+ BLI_snprintf(fn, fn_len, "%s%c%s", text->id.lib ? text->id.lib->filepath : bpy_import_main->name, SEP, text->id.name+2);
}
PyObject *bpy_text_import(Text *text)
@@ -221,7 +217,7 @@ PyObject *bpy_text_reimport(PyObject *module, int *found)
}
-static PyObject *blender_import(PyObject *UNUSED(self), PyObject *args, PyObject * kw)
+static PyObject *blender_import(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
PyObject *exception, *err, *tb;
char *name;
@@ -274,7 +270,7 @@ static PyObject *blender_import(PyObject *UNUSED(self), PyObject *args, PyObject
* our reload() module, to handle reloading in-memory scripts
*/
-static PyObject *blender_reload(PyObject *UNUSED(self), PyObject * module)
+static PyObject *blender_reload(PyObject *UNUSED(self), PyObject *module)
{
PyObject *exception, *err, *tb;
PyObject *newmodule= NULL;
diff --git a/source/blender/python/generic/bpy_internal_import.h b/source/blender/python/generic/bpy_internal_import.h
index 0ef31229f8d..dd1596efe4e 100644
--- a/source/blender/python/generic/bpy_internal_import.h
+++ b/source/blender/python/generic/bpy_internal_import.h
@@ -59,7 +59,7 @@ void bpy_text_filename_get(char *fn, size_t fn_len, struct Text *text);
extern PyMethodDef bpy_import_meth;
extern PyMethodDef bpy_reload_meth;
-/* The game engine has its own Main struct, if this is set search this rather then G.main */
+/* The game engine has its own Main struct, if this is set search this rather than G.main */
struct Main *bpy_import_main_get(void);
void bpy_import_main_set(struct Main *maggie);
diff --git a/source/blender/python/generic/noise_py_api.c b/source/blender/python/generic/noise_py_api.c
index dbae0fb13bc..f5761f713a6 100644
--- a/source/blender/python/generic/noise_py_api.c
+++ b/source/blender/python/generic/noise_py_api.c
@@ -478,111 +478,134 @@ static PyObject *Noise_cell_vector(PyObject *UNUSED(self), PyObject *args)
In the original module I actually kept the docs stings with the functions themselves,
but I grouped them here so that it can easily be moved to a header if anyone thinks that is necessary. */
-static char random__doc__[] = "() No arguments.\n\n\
-Returns a random floating point number in the range [0, 1)";
+PyDoc_STRVAR(random__doc__,
+"() No arguments.\n\n\
+Returns a random floating point number in the range [0, 1)"
+);
-static char random_unit_vector__doc__[] =
- "() No arguments.\n\nReturns a random unit vector (3-float list).";
+PyDoc_STRVAR(random_unit_vector__doc__,
+"() No arguments.\n\nReturns a random unit vector (3-float list)."
+);
-static char seed_set__doc__[] = "(seed value)\n\n\
+PyDoc_STRVAR(seed_set__doc__,
+"(seed value)\n\n\
Initializes random number generator.\n\
-if seed is zero, the current time will be used instead.";
+if seed is zero, the current time will be used instead."
+);
-static char noise__doc__[] = "((x,y,z) tuple, [noisetype])\n\n\
+PyDoc_STRVAR(noise__doc__,
+"((x,y,z) tuple, [noisetype])\n\n\
Returns general noise of the optional specified type.\n\
-Optional argument noisetype determines the type of noise, STDPERLIN by default, see NoiseTypes.";
+Optional argument noisetype determines the type of noise, STDPERLIN by default, see NoiseTypes."
+);
-static char noise_vector__doc__[] = "((x,y,z) tuple, [noisetype])\n\n\
+PyDoc_STRVAR(noise_vector__doc__,
+"((x,y,z) tuple, [noisetype])\n\n\
Returns noise vector (3-float list) of the optional specified type.\
-Optional argument noisetype determines the type of noise, STDPERLIN by default, see NoiseTypes.";
+Optional argument noisetype determines the type of noise, STDPERLIN by default, see NoiseTypes."
+);
-static char turbulence__doc__[] =
- "((x,y,z) tuple, octaves, hard, [noisebasis], [ampscale], [freqscale])\n\n\
+PyDoc_STRVAR(turbulence__doc__,
+"((x,y,z) tuple, octaves, hard, [noisebasis], [ampscale], [freqscale])\n\n\
Returns general turbulence value using the optional specified noisebasis function.\n\
octaves (integer) is the number of noise values added.\n\
hard (bool), when false (0) returns 'soft' noise, when true (1) returns 'hard' noise (returned value always positive).\n\
Optional arguments:\n\
noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes.\n\
ampscale sets the amplitude scale value of the noise frequencies added, 0.5 by default.\n\
-freqscale sets the frequency scale factor, 2.0 by default.";
+freqscale sets the frequency scale factor, 2.0 by default."
+);
-static char turbulence_vector__doc__[] =
- "((x,y,z) tuple, octaves, hard, [noisebasis], [ampscale], [freqscale])\n\n\
+PyDoc_STRVAR(turbulence_vector__doc__,
+"((x,y,z) tuple, octaves, hard, [noisebasis], [ampscale], [freqscale])\n\n\
Returns general turbulence vector (3-float list) using the optional specified noisebasis function.\n\
octaves (integer) is the number of noise values added.\n\
hard (bool), when false (0) returns 'soft' noise, when true (1) returns 'hard' noise (returned vector always positive).\n\
Optional arguments:\n\
noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes.\n\
ampscale sets the amplitude scale value of the noise frequencies added, 0.5 by default.\n\
-freqscale sets the frequency scale factor, 2.0 by default.";
+freqscale sets the frequency scale factor, 2.0 by default."
+);
-static char fractal__doc__[] =
- "((x,y,z) tuple, H, lacunarity, octaves, [noisebasis])\n\n\
+PyDoc_STRVAR(fractal__doc__,
+"((x,y,z) tuple, H, lacunarity, octaves, [noisebasis])\n\n\
Returns Fractal Brownian Motion noise value(fBm).\n\
H is the fractal increment parameter.\n\
lacunarity is the gap between successive frequencies.\n\
octaves is the number of frequencies in the fBm.\n\
-Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes.";
+Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes."
+);
-static char multi_fractal__doc__[] =
- "((x,y,z) tuple, H, lacunarity, octaves, [noisebasis])\n\n\
+PyDoc_STRVAR(multi_fractal__doc__,
+"((x,y,z) tuple, H, lacunarity, octaves, [noisebasis])\n\n\
Returns Multifractal noise value.\n\
H determines the highest fractal dimension.\n\
lacunarity is gap between successive frequencies.\n\
octaves is the number of frequencies in the fBm.\n\
-Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes.";
+Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes."
+);
-static char vl_vector__doc__[] =
- "((x,y,z) tuple, distortion, [noisetype1], [noisetype2])\n\n\
+PyDoc_STRVAR(vl_vector__doc__,
+"((x,y,z) tuple, distortion, [noisetype1], [noisetype2])\n\n\
Returns Variable Lacunarity Noise value, a distorted variety of noise.\n\
distortion sets the amount of distortion.\n\
Optional arguments noisetype1 and noisetype2 set the noisetype to distort and the noisetype used for the distortion respectively.\n\
-See NoiseTypes, both are STDPERLIN by default.";
+See NoiseTypes, both are STDPERLIN by default."
+);
-static char hetero_terrain__doc__[] =
- "((x,y,z) tuple, H, lacunarity, octaves, offset, [noisebasis])\n\n\
+PyDoc_STRVAR(hetero_terrain__doc__,
+"((x,y,z) tuple, H, lacunarity, octaves, offset, [noisebasis])\n\n\
returns Heterogeneous Terrain value\n\
H determines the fractal dimension of the roughest areas.\n\
lacunarity is the gap between successive frequencies.\n\
octaves is the number of frequencies in the fBm.\n\
offset raises the terrain from 'sea level'.\n\
-Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes.";
+Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes."
+);
-static char hybrid_multi_fractal__doc__[] =
- "((x,y,z) tuple, H, lacunarity, octaves, offset, gain, [noisebasis])\n\n\
+PyDoc_STRVAR(hybrid_multi_fractal__doc__,
+"((x,y,z) tuple, H, lacunarity, octaves, offset, gain, [noisebasis])\n\n\
returns Hybrid Multifractal value.\n\
H determines the fractal dimension of the roughest areas.\n\
lacunarity is the gap between successive frequencies.\n\
octaves is the number of frequencies in the fBm.\n\
offset raises the terrain from 'sea level'.\n\
gain scales the values.\n\
-Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes.";
+Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes."
+);
-static char ridged_multi_fractal__doc__[] =
- "((x,y,z) tuple, H, lacunarity, octaves, offset, gain [noisebasis])\n\n\
+PyDoc_STRVAR(ridged_multi_fractal__doc__,
+"((x,y,z) tuple, H, lacunarity, octaves, offset, gain [noisebasis])\n\n\
returns Ridged Multifractal value.\n\
H determines the fractal dimension of the roughest areas.\n\
lacunarity is the gap between successive frequencies.\n\
octaves is the number of frequencies in the fBm.\n\
offset raises the terrain from 'sea level'.\n\
gain scales the values.\n\
-Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes.";
+Optional argument noisebasis determines the type of noise used for the turbulence, STDPERLIN by default, see NoiseTypes."
+);
-static char voronoi__doc__[] =
- "((x,y,z) tuple, distance_metric, [exponent])\n\n\
+PyDoc_STRVAR(voronoi__doc__,
+"((x,y,z) tuple, distance_metric, [exponent])\n\n\
returns a list, containing a list of distances in order of closest feature,\n\
and a list containing the positions of the four closest features\n\
Optional arguments:\n\
distance_metric: see DistanceMetrics, default is DISTANCE\n\
-exponent is only used with MINKOVSKY, default is 2.5.";
+exponent is only used with MINKOVSKY, default is 2.5."
+);
-static char cell__doc__[] = "((x,y,z) tuple)\n\n\
-returns cellnoise float value.";
+PyDoc_STRVAR(cell__doc__,
+"((x,y,z) tuple)\n\n\
+returns cellnoise float value."
+);
-static char cell_vector__doc__[] = "((x,y,z) tuple)\n\n\
-returns cellnoise vector/point/color (3-float list).";
+PyDoc_STRVAR(cell_vector__doc__,
+"((x,y,z) tuple)\n\n\
+returns cellnoise vector/point/color (3-float list)."
+);
-static char Noise__doc__[] = "Blender Noise and Turbulence Module\n\n\
+PyDoc_STRVAR(Noise__doc__,
+"Blender Noise and Turbulence Module\n\n\
This module can be used to generate noise of various types.\n\
This can be used for terrain generation, to create textures,\n\
make animations more 'animated', object deformation, etc.\n\
@@ -610,7 +633,8 @@ look like anything from an earthquake to a very nervous or maybe even drunk came
\trv = Noise.turbulence_vector(ps, 3, 0, Noise.NoiseTypes.NEWPERLIN)\n\
\tob.dloc = (sp*rv[0], sp*rv[1], sp*rv[2])\n\
\tob.drot = (sr*rv[0], sr*rv[1], sr*rv[2])\n\
-\n";
+\n"
+);
/* Just in case, declarations for a header file */
/*
diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c
index ec774f44075..81aea8571f8 100644
--- a/source/blender/python/generic/py_capi_utils.c
+++ b/source/blender/python/generic/py_capi_utils.c
@@ -36,7 +36,75 @@
#include "BLI_path_util.h"
#endif
-#define PYC_INTERPRETER_ACTIVE (((PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current)) != NULL)
+/* array utility function */
+int PyC_AsArray(void *array, PyObject *value, const int length, const PyTypeObject *type, const short is_double, const char *error_prefix)
+{
+ PyObject *value_fast;
+ int value_len;
+ int i;
+
+ if(!(value_fast=PySequence_Fast(value, error_prefix))) {
+ return -1;
+ }
+
+ value_len= PySequence_Fast_GET_SIZE(value_fast);
+
+ if(value_len != length) {
+ Py_DECREF(value);
+ PyErr_Format(PyExc_TypeError,
+ "%.200s: invalid sequence length. expected %d, got %d",
+ error_prefix, length, value_len);
+ return -1;
+ }
+
+ /* for each type */
+ if(type == &PyFloat_Type) {
+ if(is_double) {
+ double *array_double= array;
+ for(i=0; i<length; i++) {
+ array_double[i]= PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value_fast, i));
+ }
+ }
+ else {
+ float *array_float= array;
+ for(i=0; i<length; i++) {
+ array_float[i]= PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value_fast, i));
+ }
+ }
+ }
+ else if(type == &PyLong_Type) {
+ /* could use is_double for 'long int' but no use now */
+ int *array_int= array;
+ for(i=0; i<length; i++) {
+ array_int[i]= PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i));
+ }
+ }
+ else if(type == &PyBool_Type) {
+ int *array_bool= array;
+ for(i=0; i<length; i++) {
+ array_bool[i]= (PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i)) != 0);
+ }
+ }
+ else {
+ Py_DECREF(value_fast);
+ PyErr_Format(PyExc_TypeError,
+ "%s: internal error %s is invalid",
+ error_prefix, type->tp_name);
+ return -1;
+ }
+
+ Py_DECREF(value_fast);
+
+ if(PyErr_Occurred()) {
+ PyErr_Format(PyExc_TypeError,
+ "%s: one or more items could not be used as a %s",
+ error_prefix, type->tp_name);
+ return -1;
+ }
+
+ return 0;
+}
+
/* for debugging */
void PyC_ObSpit(const char *name, PyObject *var) {
diff --git a/source/blender/python/generic/py_capi_utils.h b/source/blender/python/generic/py_capi_utils.h
index 1730ad71721..96c93ab71f8 100644
--- a/source/blender/python/generic/py_capi_utils.h
+++ b/source/blender/python/generic/py_capi_utils.h
@@ -35,7 +35,7 @@ void PyC_LineSpit(void);
PyObject * PyC_ExceptionBuffer(void);
PyObject * PyC_Object_GetAttrStringArgs(PyObject *o, Py_ssize_t n, ...);
void PyC_FileAndNum(const char **filename, int *lineno);
-int PyC_AsArray(void *array, PyObject *value, int length, PyTypeObject *type, const char *error_prefix);
+int PyC_AsArray(void *array, PyObject *value, const int length, const PyTypeObject *type, const short is_double, const char *error_prefix);
/* follow http://www.python.org/dev/peps/pep-0383/ */
PyObject * PyC_UnicodeFromByte(const char *str);
@@ -50,4 +50,6 @@ void PyC_MainModule_Restore(PyObject *main_mod);
void PyC_SetHomePath(const char *py_path_bundle);
+#define PYC_INTERPRETER_ACTIVE (((PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current)) != NULL)
+
#endif // PY_CAPI_UTILS_H
diff --git a/source/blender/python/intern/CMakeLists.txt b/source/blender/python/intern/CMakeLists.txt
index ab08dc14f07..93a4b3ec269 100644
--- a/source/blender/python/intern/CMakeLists.txt
+++ b/source/blender/python/intern/CMakeLists.txt
@@ -25,23 +25,27 @@
set(INC
..
+ ../../blenkernel
../../blenlib
+ ../../blenloader
+ ../../editors/include
../../makesdna
../../makesrna
- ../../blenkernel
- ../../blenloader
../../windowmanager
- ../../editors/include
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
+)
+
+set(INC_SYS
${PYTHON_INCLUDE_DIRS}
)
set(SRC
bpy.c
bpy_app.c
+ bpy_app_handlers.c
bpy_driver.c
bpy_interface.c
+ bpy_intern_string.c
bpy_library.c
bpy_operator.c
bpy_operator_wrap.c
@@ -56,7 +60,9 @@ set(SRC
bpy.h
bpy_app.h
+ bpy_app_handlers.h
bpy_driver.h
+ bpy_intern_string.h
bpy_operator.h
bpy_operator_wrap.h
bpy_props.h
@@ -81,4 +87,8 @@ if(WITH_PYTHON_SAFETY)
add_definitions(-DWITH_PYTHON_SAFETY)
endif()
-blender_add_lib(bf_python "${SRC}" "${INC}")
+if(WITH_AUDASPACE)
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+blender_add_lib(bf_python "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/python/intern/bpy.c b/source/blender/python/intern/bpy.c
index f7e846c8282..fb7021cbb76 100644
--- a/source/blender/python/intern/bpy.c
+++ b/source/blender/python/intern/bpy.c
@@ -55,39 +55,37 @@
#include "MEM_guardedalloc.h"
/* external util modules */
-#include "../generic/mathutils.h"
+#include "../generic/IDProp.h"
#include "../generic/bgl.h"
#include "../generic/blf_py_api.h"
-#include "../generic/IDProp.h"
-
-#include "AUD_PyInit.h"
+#include "../mathutils/mathutils.h"
#include "../../../gameengine/Ketsji/KX_PythonInitTypes.h"
PyObject *bpy_package_py= NULL;
-static char bpy_script_paths_doc[] =
+PyDoc_STRVAR(bpy_script_paths_doc,
".. function:: script_paths()\n"
"\n"
" Return 2 paths to blender scripts directories.\n"
"\n"
" :return: (system, user) strings will be empty when not found.\n"
" :rtype: tuple of strings\n"
-;
+);
static PyObject *bpy_script_paths(PyObject *UNUSED(self))
{
PyObject *ret= PyTuple_New(2);
char *path;
- path= BLI_get_folder(BLENDER_USER_SCRIPTS, NULL);
- PyTuple_SET_ITEM(ret, 0, PyUnicode_FromString(path?path:""));
path= BLI_get_folder(BLENDER_SYSTEM_SCRIPTS, NULL);
+ PyTuple_SET_ITEM(ret, 0, PyUnicode_FromString(path?path:""));
+ path= BLI_get_folder(BLENDER_USER_SCRIPTS, NULL);
PyTuple_SET_ITEM(ret, 1, PyUnicode_FromString(path?path:""));
return ret;
}
-static char bpy_blend_paths_doc[] =
+PyDoc_STRVAR(bpy_blend_paths_doc,
".. function:: blend_paths(absolute=False)\n"
"\n"
" Returns a list of paths to external files referenced by the loaded .blend file.\n"
@@ -96,7 +94,7 @@ static char bpy_blend_paths_doc[] =
" :type absolute: boolean\n"
" :return: path list.\n"
" :rtype: list of strings\n"
-;
+);
static PyObject *bpy_blend_paths(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
struct BPathIterator *bpi;
@@ -139,7 +137,7 @@ static PyObject *bpy_blend_paths(PyObject *UNUSED(self), PyObject *args, PyObjec
}
-// static char bpy_user_resource_doc[]= // now in bpy/utils.py
+// PyDoc_STRVAR(bpy_user_resource_doc[]= // now in bpy/utils.py
static PyObject *bpy_user_resource(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
char *type;
@@ -171,7 +169,7 @@ static PyObject *bpy_user_resource(PyObject *UNUSED(self), PyObject *args, PyObj
return PyUnicode_DecodeFSDefault(path ? path : "");
}
-static char bpy_resource_path_doc[] =
+PyDoc_STRVAR(bpy_resource_path_doc,
".. function:: resource_path(type, major=2, minor=57)\n"
"\n"
" Return the base path for storing system files.\n"
@@ -184,7 +182,7 @@ static char bpy_resource_path_doc[] =
" :type minor: string\n"
" :return: the resource path (not necessarily existing).\n"
" :rtype: string\n"
-;
+);
static PyObject *bpy_resource_path(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
char *type;
@@ -233,7 +231,7 @@ static PyObject *bpy_import_test(const char *modname)
/*****************************************************************************
* Description: Creates the bpy module and adds it to sys.modules for importing
*****************************************************************************/
-void BPy_init_modules( void )
+void BPy_init_modules(void)
{
extern BPy_StructRNA *bpy_context_module;
extern int bpy_lib_init(PyObject *);
@@ -241,7 +239,7 @@ void BPy_init_modules( void )
PyObject *mod;
/* Needs to be first since this dir is needed for future modules */
- char *modpath= BLI_get_folder(BLENDER_SCRIPTS, "modules");
+ char *modpath= BLI_get_folder(BLENDER_SYSTEM_SCRIPTS, "modules");
if(modpath) {
// printf("bpy: found module path '%s'.\n", modpath);
PyObject *sys_path= PySys_GetObject("path"); /* borrow */
@@ -267,17 +265,17 @@ void BPy_init_modules( void )
/* run first, initializes rna types */
BPY_rna_init();
- PyModule_AddObject( mod, "types", BPY_rna_types() ); /* needs to be first so bpy_types can run */
+ PyModule_AddObject(mod, "types", BPY_rna_types()); /* needs to be first so bpy_types can run */
PyModule_AddObject(mod, "StructMetaPropGroup", (PyObject *)&pyrna_struct_meta_idprop_Type); /* metaclass for idprop types, bpy_types.py needs access */
bpy_lib_init(mod); /* adds '_bpy._library_load', must be called before 'bpy_types' which uses it */
bpy_import_test("bpy_types");
- PyModule_AddObject( mod, "data", BPY_rna_module() ); /* imports bpy_types by running this */
+ PyModule_AddObject(mod, "data", BPY_rna_module()); /* imports bpy_types by running this */
bpy_import_test("bpy_types");
- PyModule_AddObject( mod, "props", BPY_rna_props() );
- PyModule_AddObject( mod, "ops", BPY_operator_module() ); /* ops is now a python module that does the conversion from SOME_OT_foo -> some.foo */
- PyModule_AddObject( mod, "app", BPY_app_struct() );
+ PyModule_AddObject(mod, "props", BPY_rna_props());
+ PyModule_AddObject(mod, "ops", BPY_operator_module()); /* ops is now a python module that does the conversion from SOME_OT_foo -> some.foo */
+ PyModule_AddObject(mod, "app", BPY_app_struct());
/* bpy context */
RNA_pointer_create(NULL, &RNA_Context, (void *)BPy_GetContext(), &ctx_ptr);
diff --git a/source/blender/python/intern/bpy.h b/source/blender/python/intern/bpy.h
index 0f298c1daf1..0ebc6bb2438 100644
--- a/source/blender/python/intern/bpy.h
+++ b/source/blender/python/intern/bpy.h
@@ -26,5 +26,5 @@
*/
-void BPy_init_modules( void );
+void BPy_init_modules(void);
extern PyObject *bpy_package_py;
diff --git a/source/blender/python/intern/bpy_app.c b/source/blender/python/intern/bpy_app.c
index 41de1171aaa..079d5223f58 100644
--- a/source/blender/python/intern/bpy_app.c
+++ b/source/blender/python/intern/bpy_app.c
@@ -30,6 +30,7 @@
#include <Python.h>
#include "bpy_app.h"
+#include "bpy_app_handlers.h"
#include "bpy_driver.h"
#include "BLI_path_util.h"
@@ -74,6 +75,9 @@ static PyStructSequence_Field app_info_fields[]= {
{(char *)"build_cxxflags", (char *)"C++ compiler flags"},
{(char *)"build_linkflags", (char *)"Binary linking flags"},
{(char *)"build_system", (char *)"Build system used"},
+
+ /* submodules */
+ {(char *)"handlers", (char *)"Application handler callbacks"},
{NULL}
};
@@ -140,6 +144,8 @@ static PyObject *make_app_info(void)
SetStrItem("Unknown");
#endif
+ SetObjItem(BPY_app_handlers_struct());
+
#undef SetIntItem
#undef SetStrItem
#undef SetObjItem
diff --git a/source/blender/python/intern/bpy_app.h b/source/blender/python/intern/bpy_app.h
index d57e4688f46..fbc5696875a 100644
--- a/source/blender/python/intern/bpy_app.h
+++ b/source/blender/python/intern/bpy_app.h
@@ -29,6 +29,6 @@
#ifndef BPY_APP_H
#define BPY_APP_H
-PyObject *BPY_app_struct( void );
+PyObject *BPY_app_struct(void);
#endif // BPY_APP_H
diff --git a/source/blender/python/intern/bpy_app_handlers.c b/source/blender/python/intern/bpy_app_handlers.c
new file mode 100644
index 00000000000..26d9ca76e3f
--- /dev/null
+++ b/source/blender/python/intern/bpy_app_handlers.c
@@ -0,0 +1,170 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/python/intern/bpy_app_handlers.c
+ * \ingroup pythonintern
+ */
+
+#include <Python.h>
+#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
+
+#include "RNA_types.h"
+#include "RNA_access.h"
+#include "bpy_rna.h"
+#include "bpy_app_handlers.h"
+
+void bpy_app_generic_callback(struct Main *main, struct ID *id, void *arg);
+
+static PyTypeObject BlenderAppCbType;
+
+static PyStructSequence_Field app_cb_info_fields[]= {
+ {(char *)"render_pre", NULL},
+ {(char *)"render_post", NULL},
+ {(char *)"load_pre", NULL},
+ {(char *)"load_post", NULL},
+ {(char *)"save_pre", NULL},
+ {(char *)"save_post", NULL},
+ {NULL}
+};
+
+static PyStructSequence_Desc app_cb_info_desc= {
+ (char *)"bpy.app.handlers", /* name */
+ (char *)"This module contains callbacks", /* doc */
+ app_cb_info_fields, /* fields */
+ (sizeof(app_cb_info_fields)/sizeof(PyStructSequence_Field)) - 1
+};
+
+/*
+#if (BLI_CB_EVT_TOT != ((sizeof(app_cb_info_fields)/sizeof(PyStructSequence_Field))))
+# error "Callbacks are out of sync"
+#endif
+*/
+
+static PyObject *py_cb_array[BLI_CB_EVT_TOT]= {0};
+
+static PyObject *make_app_cb_info(void)
+{
+ PyObject *app_cb_info;
+ int pos= 0;
+
+ app_cb_info= PyStructSequence_New(&BlenderAppCbType);
+ if (app_cb_info == NULL) {
+ return NULL;
+ }
+
+ for(pos= 0; pos < BLI_CB_EVT_TOT; pos++) {
+ if(app_cb_info_fields[pos].name == NULL) {
+ Py_FatalError("invalid callback slots 1");
+ }
+ PyStructSequence_SET_ITEM(app_cb_info, pos, (py_cb_array[pos]= PyList_New(0)));
+ }
+ if(app_cb_info_fields[pos].name != NULL) {
+ Py_FatalError("invalid callback slots 2");
+ }
+
+ return app_cb_info;
+}
+
+PyObject *BPY_app_handlers_struct(void)
+{
+ PyObject *ret;
+
+ PyStructSequence_InitType(&BlenderAppCbType, &app_cb_info_desc);
+
+ ret= make_app_cb_info();
+
+ /* prevent user from creating new instances */
+ BlenderAppCbType.tp_init= NULL;
+ BlenderAppCbType.tp_new= NULL;
+
+ /* assign the C callbacks */
+ if(ret) {
+ static bCallbackFuncStore funcstore_array[BLI_CB_EVT_TOT]= {{0}};
+ bCallbackFuncStore *funcstore;
+ int pos= 0;
+
+ for(pos= 0; pos < BLI_CB_EVT_TOT; pos++) {
+ funcstore= &funcstore_array[pos];
+ funcstore->func= bpy_app_generic_callback;
+ funcstore->alloc= 0;
+ funcstore->arg= SET_INT_IN_POINTER(pos);
+ BLI_add_cb(funcstore, pos);
+ }
+ }
+
+ return ret;
+}
+
+void BPY_app_handlers_reset(void)
+{
+ int pos= 0;
+
+ for(pos= 0; pos < BLI_CB_EVT_TOT; pos++) {
+ PyList_SetSlice(py_cb_array[pos], 0, PY_SSIZE_T_MAX, NULL);
+ }
+}
+
+/* the actual callback - not necessarily called from py */
+void bpy_app_generic_callback(struct Main *UNUSED(main), struct ID *id, void *arg)
+{
+ PyObject *cb_list= py_cb_array[GET_INT_FROM_POINTER(arg)];
+ Py_ssize_t cb_list_len;
+ if((cb_list_len= PyList_GET_SIZE(cb_list)) > 0) {
+ PyGILState_STATE gilstate= PyGILState_Ensure();
+
+ PyObject* args= PyTuple_New(1); // save python creating each call
+ PyObject* func;
+ PyObject* ret;
+ Py_ssize_t pos;
+
+ /* setup arguments */
+ if(id) {
+ PointerRNA id_ptr;
+ RNA_id_pointer_create(id, &id_ptr);
+ PyTuple_SET_ITEM(args, 0, pyrna_struct_CreatePyObject(&id_ptr));
+ }
+ else {
+ PyTuple_SET_ITEM(args, 0, Py_None);
+ Py_INCREF(Py_None);
+ }
+
+ // Iterate the list and run the callbacks
+ for (pos=0; pos < cb_list_len; pos++) {
+ func= PyList_GET_ITEM(cb_list, pos);
+ ret= PyObject_Call(func, args, NULL);
+ if (ret==NULL) {
+ PyErr_Print();
+ PyErr_Clear();
+ }
+ else {
+ Py_DECREF(ret);
+ }
+ }
+
+ Py_DECREF(args);
+
+ PyGILState_Release(gilstate);
+ }
+}
diff --git a/source/blender/readblenfile/test/test.c b/source/blender/python/intern/bpy_app_handlers.h
index 647df053c38..bfa413438b1 100644
--- a/source/blender/readblenfile/test/test.c
+++ b/source/blender/python/intern/bpy_app_handlers.h
@@ -17,35 +17,19 @@
* 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) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
+ * Contributor(s): Campbell Barton
*
* ***** END GPL LICENSE BLOCK *****
*/
-#include <string.h> // strlen
-#include "BLO_readblenfile.h"
-struct streamGlueControlStruct *Global_streamGlueControl;
+/** \file blender/python/intern/bpy_app_handlers.h
+ * \ingroup pythonintern
+ */
- int
-streamGlueWrite(
- struct streamGlueControlStruct *streamGlueControl,
- struct streamGlueStruct **streamGlue,
- unsigned char *data,
- unsigned int dataIn,
- int finishUp)
-{
- printf("called with %d bytes in buffer [%s]\n", dataIn, data);
- return (0);
-}
+#ifndef BPY_APP_HANDLERS_H
+#define BPY_APP_HANDLERS_H
-main()
-{
- int err;
+PyObject *BPY_app_handlers_struct(void);
+void BPY_app_handlers_clear(void);
- err = BLO_readblenfile();
-}
+#endif // BPY_APP_HANDLERS_H
diff --git a/source/blender/python/intern/bpy_driver.c b/source/blender/python/intern/bpy_driver.c
index df31fab6bde..bcd5df97c2c 100644
--- a/source/blender/python/intern/bpy_driver.c
+++ b/source/blender/python/intern/bpy_driver.c
@@ -41,6 +41,8 @@
#include "bpy_driver.h"
+#include "../generic/py_capi_utils.h"
+
/* for pydrivers (drivers using one-line Python expressions to express relationships between targets) */
PyObject *bpy_pydriver_Dict= NULL;
@@ -60,7 +62,7 @@ int bpy_pydriver_create_dict(void)
else
bpy_pydriver_Dict= d;
- /* import some modules: builtins, bpy, math, (Blender.noise )*/
+ /* import some modules: builtins, bpy, math, (Blender.noise)*/
PyDict_SetItemString(d, "__builtins__", PyEval_GetBuiltins());
mod= PyImport_ImportModule("math");
@@ -87,7 +89,7 @@ int bpy_pydriver_create_dict(void)
void BPY_driver_reset(void)
{
PyGILState_STATE gilstate;
- int use_gil= 1; // (PyThreadState_Get()==NULL);
+ int use_gil= !PYC_INTERPRETER_ACTIVE;
if(use_gil)
gilstate= PyGILState_Ensure();
@@ -120,7 +122,7 @@ static void pydriver_error(ChannelDriver *driver)
*
* note: PyGILState_Ensure() isnt always called because python can call the
* bake operator which intern starts a thread which calls scene update which
- * does a driver update. to avoid a deadlock check PyThreadState_Get() if PyGILState_Ensure() is needed.
+ * does a driver update. to avoid a deadlock check PYC_INTERPRETER_ACTIVE if PyGILState_Ensure() is needed.
*/
float BPY_driver_exec(ChannelDriver *driver)
{
@@ -147,7 +149,7 @@ float BPY_driver_exec(ChannelDriver *driver)
return 0.0f;
}
- use_gil= 1; //(PyThreadState_Get()==NULL);
+ use_gil= !PYC_INTERPRETER_ACTIVE;
if(use_gil)
gilstate= PyGILState_Ensure();
@@ -185,12 +187,11 @@ float BPY_driver_exec(ChannelDriver *driver)
expr_vars= PyTuple_GET_ITEM(((PyObject *)driver->expr_comp), 1);
Py_XDECREF(expr_vars);
- /* intern the arg names so creating the namespace for every run is faster */
expr_vars= PyTuple_New(BLI_countlist(&driver->variables));
PyTuple_SET_ITEM(((PyObject *)driver->expr_comp), 1, expr_vars);
for (dvar= driver->variables.first, i=0; dvar; dvar= dvar->next) {
- PyTuple_SET_ITEM(expr_vars, i++, PyUnicode_InternFromString(dvar->name));
+ PyTuple_SET_ITEM(expr_vars, i++, PyUnicode_FromString(dvar->name));
}
driver->flag &= ~DRIVER_FLAG_RENAMEVAR;
@@ -211,7 +212,7 @@ float BPY_driver_exec(ChannelDriver *driver)
/* try to add to dictionary */
/* if (PyDict_SetItemString(driver_vars, dvar->name, driver_arg)) { */
- if (PyDict_SetItem(driver_vars, PyTuple_GET_ITEM(expr_vars, i++), driver_arg) < 0) { /* use string interning for faster namespace creation */
+ if (PyDict_SetItem(driver_vars, PyTuple_GET_ITEM(expr_vars, i++), driver_arg) < 0) {
/* this target failed - bad name */
if (targets_ok) {
/* first one - print some extra info for easier identification */
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c
index acd23887af0..8bd6e6c611c 100644
--- a/source/blender/python/intern/bpy_interface.c
+++ b/source/blender/python/intern/bpy_interface.c
@@ -43,6 +43,7 @@
#include "bpy_rna.h"
#include "bpy_util.h"
#include "bpy_traceback.h"
+#include "bpy_intern_string.h"
#include "DNA_space_types.h"
#include "DNA_text_types.h"
@@ -65,10 +66,10 @@
#include "../generic/py_capi_utils.h"
/* inittab initialization functions */
-#include "../generic/noise_py_api.h"
-#include "../generic/mathutils.h"
#include "../generic/bgl.h"
#include "../generic/blf_py_api.h"
+#include "../generic/noise_py_api.h"
+#include "../mathutils/mathutils.h"
/* for internal use, when starting and ending python scripts */
@@ -174,11 +175,13 @@ extern PyObject *AUD_initPython(void);
static struct _inittab bpy_internal_modules[]= {
{(char *)"noise", BPyInit_noise},
- {(char *)"mathutils", BPyInit_mathutils},
-// {(char *)"mathutils.geometry", BPyInit_mathutils_geometry},
+ {(char *)"mathutils", PyInit_mathutils},
+// {(char *)"mathutils.geometry", PyInit_mathutils_geometry},
{(char *)"bgl", BPyInit_bgl},
{(char *)"blf", BPyInit_blf},
+#ifdef WITH_AUDASPACE
{(char *)"aud", AUD_initPython},
+#endif
{NULL, NULL}
};
@@ -197,15 +200,15 @@ void BPY_python_start(int argc, const char **argv)
PyImport_ExtendInittab(bpy_internal_modules);
/* allow to use our own included python */
- PyC_SetHomePath(BLI_get_folder(BLENDER_PYTHON, NULL));
+ PyC_SetHomePath(BLI_get_folder(BLENDER_SYSTEM_PYTHON, NULL));
- /* Python 3.2 now looks for '2.57/python/include/python3.2d/pyconfig.h' to parse
+ /* Python 3.2 now looks for '2.58/python/include/python3.2d/pyconfig.h' to parse
* from the 'sysconfig' module which is used by 'site', so for now disable site.
* alternatively we could copy the file. */
Py_NoSiteFlag= 1;
Py_Initialize();
-
+
// PySys_SetArgv(argc, argv); // broken in py3, not a huge deal
/* sigh, why do python guys not have a char** version anymore? :( */
{
@@ -228,6 +231,8 @@ void BPY_python_start(int argc, const char **argv)
PyImport_ExtendInittab(bpy_internal_modules);
#endif
+ bpy_intern_string_init();
+
/* bpy.* and lets us import it */
BPy_init_modules();
@@ -251,7 +256,9 @@ void BPY_python_end(void)
pyrna_free_types();
/* clear all python data from structs */
-
+
+ bpy_intern_string_exit();
+
Py_Finalize();
#ifdef TIME_PY_RUN
@@ -656,7 +663,9 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *
#include "BLI_storage.h"
/* TODO, reloading the module isnt functional at the moment. */
-extern int main_python(int argc, const char **argv);
+static void bpy_module_free(void *mod);
+extern int main_python_enter(int argc, const char **argv);
+extern void main_python_exit(void);
static struct PyModuleDef bpy_proxy_def= {
PyModuleDef_HEAD_INIT,
"bpy", /* m_name */
@@ -666,8 +675,8 @@ static struct PyModuleDef bpy_proxy_def= {
NULL, /* m_reload */
NULL, /* m_traverse */
NULL, /* m_clear */
- NULL, /* m_free */
-};
+ bpy_module_free, /* m_free */
+};
typedef struct {
PyObject_HEAD
@@ -692,7 +701,7 @@ void bpy_module_delay_init(PyObject *bpy_proxy)
// printf("module found %s\n", argv[0]);
- main_python(argc, argv);
+ main_python_enter(argc, argv);
/* initialized in BPy_init_modules() */
PyDict_Update(PyModule_GetDict(bpy_proxy), PyModule_GetDict(bpy_package_py));
@@ -749,4 +758,9 @@ PyInit_bpy(void)
return bpy_proxy;
}
+static void bpy_module_free(void *UNUSED(mod))
+{
+ main_python_exit();
+}
+
#endif
diff --git a/source/blender/python/intern/bpy_intern_string.c b/source/blender/python/intern/bpy_intern_string.c
new file mode 100644
index 00000000000..c6629007532
--- /dev/null
+++ b/source/blender/python/intern/bpy_intern_string.c
@@ -0,0 +1,57 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/python/intern/bpy_intern_string.c
+ * \ingroup pythonintern
+ */
+
+#include <Python.h>
+
+PyObject *bpy_intern_str_register;
+PyObject *bpy_intern_str_unregister;
+PyObject *bpy_intern_str_bl_rna;
+PyObject *bpy_intern_str_order;
+PyObject *bpy_intern_str_attr;
+PyObject *bpy_intern_str___slots__;
+PyObject *bpy_intern_str___bases__;
+
+void bpy_intern_string_init(void)
+{
+ bpy_intern_str_register= PyUnicode_FromString("register");
+ bpy_intern_str_unregister= PyUnicode_FromString("unregister");;
+ bpy_intern_str_bl_rna= PyUnicode_FromString("bl_rna");
+ bpy_intern_str_order= PyUnicode_FromString("order");
+ bpy_intern_str_attr= PyUnicode_FromString("attr");
+ bpy_intern_str___slots__= PyUnicode_FromString("__slots__");
+}
+
+void bpy_intern_string_exit(void)
+{
+ Py_DECREF(bpy_intern_str_register);
+ Py_DECREF(bpy_intern_str_unregister);
+ Py_DECREF(bpy_intern_str_bl_rna);
+ Py_DECREF(bpy_intern_str_order);
+ Py_DECREF(bpy_intern_str_attr);
+ Py_DECREF(bpy_intern_str___slots__);
+}
diff --git a/source/blender/python/intern/bpy_intern_string.h b/source/blender/python/intern/bpy_intern_string.h
new file mode 100644
index 00000000000..af6a9b7101a
--- /dev/null
+++ b/source/blender/python/intern/bpy_intern_string.h
@@ -0,0 +1,37 @@
+/*
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/python/intern/bpy_intern_string.h
+ * \ingroup pythonintern
+ */
+
+void bpy_intern_string_init(void);
+void bpy_intern_string_exit(void);
+
+extern PyObject *bpy_intern_str_register;
+extern PyObject *bpy_intern_str_unregister;
+extern PyObject *bpy_intern_str_bl_rna;
+extern PyObject *bpy_intern_str_order;
+extern PyObject *bpy_intern_str_attr;
+extern PyObject *bpy_intern_str___slots__;
diff --git a/source/blender/python/intern/bpy_library.c b/source/blender/python/intern/bpy_library.c
index 4291fc824e9..85bffb5a8cc 100644
--- a/source/blender/python/intern/bpy_library.c
+++ b/source/blender/python/intern/bpy_library.c
@@ -26,6 +26,9 @@
* \ingroup pythonintern
*/
+/* nifty feature. swap out strings for RNA data */
+#define USE_RNA_DATABLOCKS
+
#include <Python.h>
#include <stddef.h>
@@ -47,6 +50,11 @@
#include "bpy_util.h"
+#ifdef USE_RNA_DATABLOCKS
+# include "bpy_rna.h"
+# include "RNA_access.h"
+#endif
+
typedef struct {
PyObject_HEAD /* required python macro */
/* collection iterator spesific parts */
@@ -76,7 +84,7 @@ static void bpy_lib_dealloc(BPy_Library *self)
}
-PyTypeObject bpy_lib_Type= {
+static PyTypeObject bpy_lib_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
"bpy_lib", /* tp_name */
sizeof(BPy_Library), /* tp_basicsize */
@@ -155,7 +163,7 @@ PyTypeObject bpy_lib_Type= {
NULL
};
-static char bpy_lib_load_doc[] =
+PyDoc_STRVAR(bpy_lib_load_doc,
".. method:: load(filepath, link=False, relative=False)\n"
"\n"
" Returns a context manager which exposes 2 library objects on entering.\n"
@@ -167,7 +175,7 @@ static char bpy_lib_load_doc[] =
" :type link: bool\n"
" :arg relative: When True the path is stored relative to the open blend file.\n"
" :type relative: bool\n"
-;
+);
static PyObject *bpy_lib_load(PyObject *UNUSED(self), PyObject *args, PyObject *kwds)
{
static const char *kwlist[]= {"filepath", "link", "relative", NULL};
@@ -205,7 +213,7 @@ static PyObject *_bpy_names(BPy_Library *self, int blocktype)
int counter= 0;
list= PyList_New(totnames);
for(l= names; l; l= l->next) {
- PyList_SET_ITEM(list, counter, PyUnicode_FromString((char * )l->link));
+ PyList_SET_ITEM(list, counter, PyUnicode_FromString((char *)l->link));
counter++;
}
BLI_linklist_free(names, free); /* free linklist *and* each node's data */
@@ -271,6 +279,36 @@ static PyObject *bpy_lib_enter(BPy_Library *self, PyObject *UNUSED(args))
return ret;
}
+static void bpy_lib_exit_warn_idname(BPy_Library *self, const char *name_plural, const char *idname)
+{
+ PyObject *exc, *val, *tb;
+ PyErr_Fetch(&exc, &val, &tb);
+ if (PyErr_WarnFormat(PyExc_UserWarning, 1,
+ "load: '%s' does not contain %s[\"%s\"]",
+ self->abspath, name_plural, idname)) {
+ /* Spurious errors can appear at shutdown */
+ if (PyErr_ExceptionMatches(PyExc_Warning)) {
+ PyErr_WriteUnraisable((PyObject *)self);
+ }
+ }
+ PyErr_Restore(exc, val, tb);
+}
+
+static void bpy_lib_exit_warn_type(BPy_Library *self, PyObject *item)
+{
+ PyObject *exc, *val, *tb;
+ PyErr_Fetch(&exc, &val, &tb);
+ if (PyErr_WarnFormat(PyExc_UserWarning, 1,
+ "load: '%s' expected a string type, not a %.200s",
+ self->abspath, Py_TYPE(item)->tp_name)) {
+ /* Spurious errors can appear at shutdown */
+ if (PyErr_ExceptionMatches(PyExc_Warning)) {
+ PyErr_WriteUnraisable((PyObject *)self);
+ }
+ }
+ PyErr_Restore(exc, val, tb);
+}
+
static PyObject *bpy_lib_exit(BPy_Library *self, PyObject *UNUSED(args))
{
Main *mainl= NULL;
@@ -302,18 +340,41 @@ static PyObject *bpy_lib_exit(BPy_Library *self, PyObject *UNUSED(args))
// printf(" %s\n", item_str);
if(item_str) {
- if(!BLO_library_append_named_part(NULL, mainl, &(self->blo_handle), item_str, code, self->flag)) {
- PyErr_Format(PyExc_KeyError,
- "load: %s does not contain %s[\"%s\"]",
- self->abspath, name_plural, item_str);
- err= -1;
- break;
+ ID *id= BLO_library_append_named_part(mainl, &(self->blo_handle), item_str, code);
+ if(id) {
+#ifdef USE_RNA_DATABLOCKS
+ PointerRNA id_ptr;
+ RNA_id_pointer_create(id, &id_ptr);
+ Py_DECREF(item);
+ item= pyrna_struct_CreatePyObject(&id_ptr);
+#endif
}
+ else {
+ bpy_lib_exit_warn_idname(self, name_plural, item_str);
+ /* just warn for now */
+ /* err = -1; */
+#ifdef USE_RNA_DATABLOCKS
+ item= Py_None;
+ Py_INCREF(item);
+#endif
+ }
+
+ /* ID or None */
}
else {
/* XXX, could complain about this */
+ bpy_lib_exit_warn_type(self, item);
PyErr_Clear();
+
+#ifdef USE_RNA_DATABLOCKS
+ item= Py_None;
+ Py_INCREF(item);
+#endif
}
+
+#ifdef USE_RNA_DATABLOCKS
+ PyList_SET_ITEM(ls, i, item);
+#endif
}
}
}
diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c
index c230e952ca1..b8883e655f2 100644
--- a/source/blender/python/intern/bpy_operator.c
+++ b/source/blender/python/intern/bpy_operator.c
@@ -36,6 +36,7 @@
#include "RNA_types.h"
+#include "BPY_extern.h"
#include "bpy_operator.h"
#include "bpy_operator_wrap.h"
#include "bpy_rna.h" /* for setting arg props only - pyrna_py_to_prop() */
diff --git a/source/blender/python/intern/bpy_operator_wrap.c b/source/blender/python/intern/bpy_operator_wrap.c
index e1ef8aa49c1..de29cb2aeac 100644
--- a/source/blender/python/intern/bpy_operator_wrap.c
+++ b/source/blender/python/intern/bpy_operator_wrap.c
@@ -1,4 +1,3 @@
-
/*
* $Id$
*
diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c
index 6ea52abc5f4..0ba80bf0850 100644
--- a/source/blender/python/intern/bpy_props.c
+++ b/source/blender/python/intern/bpy_props.c
@@ -47,13 +47,22 @@
#include "../generic/py_capi_utils.h"
+/* initial definition of callback slots we'll probably have more then 1 */
+#define BPY_DATA_CB_SLOT_SIZE 1
+
+#define BPY_DATA_CB_SLOT_UPDATE 0
+
+extern BPy_StructRNA *bpy_context_module;
+
static EnumPropertyItem property_flag_items[]= {
{PROP_HIDDEN, "HIDDEN", 0, "Hidden", ""},
+ {PROP_SKIP_SAVE, "SKIP_SAVE", 0, "Skip Save", ""},
{PROP_ANIMATABLE, "ANIMATABLE", 0, "Animateable", ""},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem property_flag_enum_items[]= {
{PROP_HIDDEN, "HIDDEN", 0, "Hidden", ""},
+ {PROP_SKIP_SAVE, "SKIP_SAVE", 0, "Skip Save", ""},
{PROP_ANIMATABLE, "ANIMATABLE", 0, "Animateable", ""},
{PROP_ENUM_FLAG, "ENUM_FLAG", 0, "Enum Flag", ""},
{0, NULL, 0, NULL, NULL}};
@@ -108,6 +117,45 @@ static PyObject *pymeth_PointerProperty= NULL;
static PyObject *pymeth_CollectionProperty= NULL;
static PyObject *pymeth_RemoveProperty= NULL;
+PyObject *pyrna_struct_as_instance(PointerRNA *ptr)
+{
+ PyObject *self= NULL;
+ /* first get self */
+ /* operators can store their own instance for later use */
+ if(ptr->data) {
+ void **instance= RNA_struct_instance(ptr);
+
+ if(instance) {
+ if(*instance) {
+ self= *instance;
+ Py_INCREF(self);
+ }
+ }
+ }
+
+ /* in most cases this will run */
+ if(self == NULL) {
+ self= pyrna_struct_CreatePyObject(ptr);
+ }
+
+ return self;
+}
+
+/* could be moved into bpy_utils */
+static void printf_func_error(PyObject *py_func)
+{
+ /* since we return to C code we can't leave the error */
+ PyCodeObject *f_code= (PyCodeObject *)PyFunction_GET_CODE(py_func);
+ PyErr_Print();
+ PyErr_Clear();
+
+ /* use py style error */
+ fprintf(stderr, "File \"%s\", line %d, in %s\n",
+ _PyUnicode_AsString(f_code->co_filename),
+ f_code->co_firstlineno,
+ _PyUnicode_AsString(((PyFunctionObject *)py_func)->func_name)
+ );
+}
/* operators and classes use this so it can store the args given but defer
* running it until the operator runs where these values are used to setup
@@ -128,6 +176,96 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw)
return ret;
}
+/* callbacks */
+void bpy_prop_update_cb(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop)
+{
+ PyGILState_STATE gilstate;
+ PyObject **py_data= (PyObject **)RNA_property_py_data_get(prop);
+ PyObject *py_func;
+ PyObject *args;
+ PyObject *self;
+ PyObject *ret;
+ const int is_write_ok= pyrna_write_check();
+
+ BLI_assert(py_data != NULL);
+
+ if(!is_write_ok) {
+ pyrna_write_set(TRUE);
+ }
+
+ bpy_context_set(C, &gilstate);
+
+ py_func= py_data[BPY_DATA_CB_SLOT_UPDATE];
+
+ args= PyTuple_New(2);
+ self= pyrna_struct_as_instance(ptr);
+ PyTuple_SET_ITEM(args, 0, self);
+
+ PyTuple_SET_ITEM(args, 1, (PyObject *)bpy_context_module);
+ Py_INCREF(bpy_context_module);
+
+ ret= PyObject_CallObject(py_func, args);
+
+ Py_DECREF(args);
+
+ if(ret == NULL) {
+ printf_func_error(py_func);
+ }
+ else {
+ if(ret != Py_None) {
+ PyErr_SetString(PyExc_ValueError, "the return value must be None");
+ printf_func_error(py_func);
+ }
+
+ Py_DECREF(ret);
+ }
+
+ bpy_context_clear(C, &gilstate);
+
+ if(!is_write_ok) {
+ pyrna_write_set(FALSE);
+ }
+}
+
+static int bpy_prop_callback_check(PyObject *py_func, int argcount)
+{
+ if(py_func) {
+ if(!PyFunction_Check(py_func)) {
+ PyErr_Format(PyExc_TypeError,
+ "update keyword: expected a function type, not a %.200s",
+ Py_TYPE(py_func)->tp_name);
+ return -1;
+ }
+ else {
+ PyCodeObject *f_code= (PyCodeObject *)PyFunction_GET_CODE(py_func);
+ if (f_code->co_argcount != argcount) {
+ PyErr_Format(PyExc_TypeError,
+ "update keyword: expected a function taking %d arguments, not %d",
+ argcount, f_code->co_argcount);
+ return -1;
+ }
+ }
+ }
+
+ return 0;
+}
+
+
+static int bpy_prop_callback_assign(struct PropertyRNA *prop, PyObject *update_cb)
+{
+ /* assume this is already checked for type and arg length */
+ if(update_cb) {
+ PyObject **py_data= MEM_callocN(sizeof(PyObject *) * BPY_DATA_CB_SLOT_SIZE, "bpy_prop_callback_assign");
+ RNA_def_property_update_runtime(prop, (void *)bpy_prop_update_cb);
+ py_data[BPY_DATA_CB_SLOT_UPDATE]= update_cb;
+ RNA_def_py_data(prop, py_data);
+
+ RNA_def_property_flag(prop, PROP_CONTEXT_PROPERTY_UPDATE);
+ }
+
+ return 0;
+}
+
/* this define runs at the start of each function and deals with
* returning a deferred property (to be registered later) */
#define BPY_PROPDEF_HEAD(_func) \
@@ -154,11 +292,15 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw)
* calls because of static strins passed to pyrna_set_to_enum_bitfield */
#define BPY_PROPDEF_CHECK(_func, _property_flag_items) \
if(id_len >= MAX_IDPROP_NAME) { \
- PyErr_Format(PyExc_TypeError, #_func"(): '%.200s' too long, max length is %d", id, MAX_IDPROP_NAME-1); \
+ PyErr_Format(PyExc_TypeError, \
+ #_func"(): '%.200s' too long, max length is %d", \
+ id, MAX_IDPROP_NAME-1); \
return NULL; \
} \
if(RNA_def_property_free_identifier(srna, id) == -1) { \
- PyErr_Format(PyExc_TypeError, #_func"(): '%s' is defined as a non-dynamic type", id); \
+ PyErr_Format(PyExc_TypeError, \
+ #_func"(): '%s' is defined as a non-dynamic type", \
+ id); \
return NULL; \
} \
if(pyopts && pyrna_set_to_enum_bitfield(_property_flag_items, pyopts, &opts, #_func"(options={...}):")) \
@@ -167,7 +309,9 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw)
#define BPY_PROPDEF_SUBTYPE_CHECK(_func, _property_flag_items, _subtype) \
BPY_PROPDEF_CHECK(_func, _property_flag_items) \
if(pysubtype && RNA_enum_value_from_id(_subtype, pysubtype, &subtype)==0) { \
- PyErr_Format(PyExc_TypeError, #_func"(subtype='%s'): invalid subtype", pysubtype); \
+ PyErr_Format(PyExc_TypeError, \
+ #_func"(subtype='%s'): invalid subtype", \
+ pysubtype); \
return NULL; \
} \
@@ -182,6 +326,11 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw)
" :type description: string\n" \
+#define BPY_PROPDEF_UPDATE_DOC \
+" :arg update: function to be called when this value is modified,\n" \
+" This function must take 2 values (self, context) and return None.\n" \
+" :type update: function\n" \
+
#if 0
static int bpy_struct_id_used(StructRNA *srna, char *identifier)
{
@@ -194,18 +343,19 @@ static int bpy_struct_id_used(StructRNA *srna, char *identifier)
/* Function that sets RNA, NOTE - self is NULL when called from python, but being abused from C so we can pass the srna allong
* This isnt incorrect since its a python object - but be careful */
-static char BPy_BoolProperty_doc[] =
-".. function:: BoolProperty(name=\"\", description=\"\", default=False, options={'ANIMATABLE'}, subtype='NONE')\n"
+PyDoc_STRVAR(BPy_BoolProperty_doc,
+".. function:: BoolProperty(name=\"\", description=\"\", default=False, options={'ANIMATABLE'}, subtype='NONE', update=None)\n"
"\n"
" Returns a new boolean property definition.\n"
"\n"
BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
" :arg subtype: Enumerator in ['UNSIGNED', 'PERCENTAGE', 'FACTOR', 'ANGLE', 'TIME', 'DISTANCE', 'NONE'].\n"
" :type subtype: string\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -213,7 +363,7 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw)
BPY_PROPDEF_HEAD(BoolProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "options", "subtype", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "options", "subtype", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
int def=0;
@@ -222,18 +372,24 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw)
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssiO!s:BoolProperty",
+ "s#|ssiO!sO:BoolProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &def,
- &PySet_Type, &pyopts, &pysubtype))
+ &PySet_Type, &pyopts, &pysubtype,
+ &update_cb))
{
return NULL;
}
BPY_PROPDEF_SUBTYPE_CHECK(BoolProperty, property_flag_items, property_subtype_number_items)
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
+ return NULL;
+ }
+
prop= RNA_def_property(srna, id, PROP_BOOLEAN, subtype);
RNA_def_property_boolean_default(prop, def);
RNA_def_property_ui_text(prop, name, description);
@@ -242,14 +398,15 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw)
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
-static char BPy_BoolVectorProperty_doc[] =
-".. function:: BoolVectorProperty(name=\"\", description=\"\", default=(False, False, False), options={'ANIMATABLE'}, subtype='NONE', size=3)\n"
+PyDoc_STRVAR(BPy_BoolVectorProperty_doc,
+".. function:: BoolVectorProperty(name=\"\", description=\"\", default=(False, False, False), options={'ANIMATABLE'}, subtype='NONE', size=3, update=None)\n"
"\n"
" Returns a new vector boolean property definition.\n"
"\n"
@@ -257,13 +414,14 @@ BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
" :arg default: sequence of booleans the length of *size*.\n"
" :type default: sequence\n"
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
" :arg subtype: Enumerator in ['COLOR', 'TRANSLATION', 'DIRECTION', 'VELOCITY', 'ACCELERATION', 'MATRIX', 'EULER', 'QUATERNION', 'AXISANGLE', 'XYZ', 'COLOR_GAMMA', 'LAYER', 'NONE'].\n"
" :type subtype: string\n"
" :arg size: Vector dimensions in [1, and " STRINGIFY(PYRNA_STACK_ARRAY) "].\n"
" :type size: int\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -271,7 +429,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject
BPY_PROPDEF_HEAD(BoolVectorProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "options", "subtype", "size", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "options", "subtype", "size", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
int def[PYRNA_STACK_ARRAY]={0};
@@ -282,12 +440,14 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssOO!si:BoolVectorProperty",
+ "s#|ssOO!siO:BoolVectorProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &pydef,
- &PySet_Type, &pyopts, &pysubtype,&size))
+ &PySet_Type, &pyopts, &pysubtype, &size,
+ &update_cb))
{
return NULL;
}
@@ -299,8 +459,12 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject
return NULL;
}
- if(pydef && PyC_AsArray(def, pydef, size, &PyBool_Type, "BoolVectorProperty(default=sequence)") < 0)
+ if(pydef && PyC_AsArray(def, pydef, size, &PyBool_Type, FALSE, "BoolVectorProperty(default=sequence)") < 0)
+ return NULL;
+
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
return NULL;
+ }
// prop= RNA_def_boolean_array(srna, id, size, pydef ? def:NULL, name, description);
prop= RNA_def_property(srna, id, PROP_BOOLEAN, subtype);
@@ -312,24 +476,26 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
-static char BPy_IntProperty_doc[] =
-".. function:: IntProperty(name=\"\", description=\"\", default=0, min=-sys.maxint, max=sys.maxint, soft_min=-sys.maxint, soft_max=sys.maxint, step=1, options={'ANIMATABLE'}, subtype='NONE')\n"
+PyDoc_STRVAR(BPy_IntProperty_doc,
+".. function:: IntProperty(name=\"\", description=\"\", default=0, min=-sys.maxint, max=sys.maxint, soft_min=-sys.maxint, soft_max=sys.maxint, step=1, options={'ANIMATABLE'}, subtype='NONE', update=None)\n"
"\n"
" Returns a new int property definition.\n"
"\n"
BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
" :arg subtype: Enumerator in ['UNSIGNED', 'PERCENTAGE', 'FACTOR', 'ANGLE', 'TIME', 'DISTANCE', 'NONE'].\n"
" :type subtype: string\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -337,7 +503,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw)
BPY_PROPDEF_HEAD(IntProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "options", "subtype", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "options", "subtype", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
int min=INT_MIN, max=INT_MAX, soft_min=INT_MIN, soft_max=INT_MAX, step=1, def=0;
@@ -346,19 +512,25 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw)
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssiiiiiiO!s:IntProperty",
+ "s#|ssiiiiiiO!sO:IntProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &def,
&min, &max, &soft_min, &soft_max,
- &step, &PySet_Type, &pyopts, &pysubtype))
+ &step, &PySet_Type, &pyopts, &pysubtype,
+ &update_cb))
{
return NULL;
}
BPY_PROPDEF_SUBTYPE_CHECK(IntProperty, property_flag_items, property_subtype_number_items)
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
+ return NULL;
+ }
+
prop= RNA_def_property(srna, id, PROP_INT, subtype);
RNA_def_property_int_default(prop, def);
RNA_def_property_range(prop, min, max);
@@ -369,13 +541,14 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw)
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
-static char BPy_IntVectorProperty_doc[] =
-".. function:: IntVectorProperty(name=\"\", description=\"\", default=(0, 0, 0), min=-sys.maxint, max=sys.maxint, soft_min=-sys.maxint, soft_max=sys.maxint, options={'ANIMATABLE'}, subtype='NONE', size=3)\n"
+PyDoc_STRVAR(BPy_IntVectorProperty_doc,
+".. function:: IntVectorProperty(name=\"\", description=\"\", default=(0, 0, 0), min=-sys.maxint, max=sys.maxint, soft_min=-sys.maxint, soft_max=sys.maxint, options={'ANIMATABLE'}, subtype='NONE', size=3, update=None)\n"
"\n"
" Returns a new vector int property definition.\n"
"\n"
@@ -383,13 +556,14 @@ BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
" :arg default: sequence of ints the length of *size*.\n"
" :type default: sequence\n"
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
" :arg subtype: Enumerator in ['COLOR', 'TRANSLATION', 'DIRECTION', 'VELOCITY', 'ACCELERATION', 'MATRIX', 'EULER', 'QUATERNION', 'AXISANGLE', 'XYZ', 'COLOR_GAMMA', 'LAYER', 'NONE'].\n"
" :type subtype: string\n"
" :arg size: Vector dimensions in [1, and " STRINGIFY(PYRNA_STACK_ARRAY) "].\n"
" :type size: int\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -397,7 +571,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject
BPY_PROPDEF_HEAD(IntVectorProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "options", "subtype", "size", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "options", "subtype", "size", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
int min=INT_MIN, max=INT_MAX, soft_min=INT_MIN, soft_max=INT_MAX, step=1, def[PYRNA_STACK_ARRAY]={0};
@@ -408,14 +582,16 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssOiiiiiO!si:IntVectorProperty",
+ "s#|ssOiiiiiO!siO:IntVectorProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &pydef,
&min, &max, &soft_min, &soft_max,
&step, &PySet_Type, &pyopts,
- &pysubtype, &size))
+ &pysubtype, &size,
+ &update_cb))
{
return NULL;
}
@@ -427,9 +603,13 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject
return NULL;
}
- if(pydef && PyC_AsArray(def, pydef, size, &PyLong_Type, "IntVectorProperty(default=sequence)") < 0)
+ if(pydef && PyC_AsArray(def, pydef, size, &PyLong_Type, FALSE, "IntVectorProperty(default=sequence)") < 0)
return NULL;
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
+ return NULL;
+ }
+
prop= RNA_def_property(srna, id, PROP_INT, subtype);
RNA_def_property_array(prop, size);
if(pydef) RNA_def_property_int_array_default(prop, def);
@@ -441,26 +621,28 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
-static char BPy_FloatProperty_doc[] =
-".. function:: FloatProperty(name=\"\", description=\"\", default=0.0, min=sys.float_info.min, max=sys.float_info.max, soft_min=sys.float_info.min, soft_max=sys.float_info.max, step=3, precision=2, options={'ANIMATABLE'}, subtype='NONE', unit='NONE')\n"
+PyDoc_STRVAR(BPy_FloatProperty_doc,
+".. function:: FloatProperty(name=\"\", description=\"\", default=0.0, min=sys.float_info.min, max=sys.float_info.max, soft_min=sys.float_info.min, soft_max=sys.float_info.max, step=3, precision=2, options={'ANIMATABLE'}, subtype='NONE', unit='NONE', update=None)\n"
"\n"
" Returns a new float property definition.\n"
"\n"
BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
" :arg subtype: Enumerator in ['UNSIGNED', 'PERCENTAGE', 'FACTOR', 'ANGLE', 'TIME', 'DISTANCE', 'NONE'].\n"
" :type subtype: string\n"
" :arg unit: Enumerator in ['NONE', 'LENGTH', 'AREA', 'VOLUME', 'ROTATION', 'TIME', 'VELOCITY', 'ACCELERATION'].\n"
" :type unit: string\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -468,7 +650,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
BPY_PROPDEF_HEAD(FloatProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "unit", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "unit", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
float min=-FLT_MAX, max=FLT_MAX, soft_min=-FLT_MAX, soft_max=FLT_MAX, step=3, def=0.0f;
@@ -480,14 +662,16 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
int subtype= PROP_NONE;
char *pyunit= NULL;
int unit= PROP_UNIT_NONE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssffffffiO!ss:FloatProperty",
+ "s#|ssffffffiO!ssO:FloatProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &def,
&min, &max, &soft_min, &soft_max,
&step, &precision, &PySet_Type,
- &pyopts, &pysubtype, &pyunit))
+ &pyopts, &pysubtype, &pyunit,
+ &update_cb))
{
return NULL;
}
@@ -499,6 +683,10 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
return NULL;
}
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
+ return NULL;
+ }
+
prop= RNA_def_property(srna, id, PROP_FLOAT, subtype | unit);
RNA_def_property_float_default(prop, def);
RNA_def_property_range(prop, min, max);
@@ -509,13 +697,14 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
-static char BPy_FloatVectorProperty_doc[] =
-".. function:: FloatVectorProperty(name=\"\", description=\"\", default=(0.0, 0.0, 0.0), min=sys.float_info.min, max=sys.float_info.max, soft_min=sys.float_info.min, soft_max=sys.float_info.max, step=3, precision=2, options={'ANIMATABLE'}, subtype='NONE', size=3)\n"
+PyDoc_STRVAR(BPy_FloatVectorProperty_doc,
+".. function:: FloatVectorProperty(name=\"\", description=\"\", default=(0.0, 0.0, 0.0), min=sys.float_info.min, max=sys.float_info.max, soft_min=sys.float_info.min, soft_max=sys.float_info.max, step=3, precision=2, options={'ANIMATABLE'}, subtype='NONE', size=3, update=None)\n"
"\n"
" Returns a new vector float property definition.\n"
"\n"
@@ -523,13 +712,14 @@ BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
" :arg default: sequence of floats the length of *size*.\n"
" :type default: sequence\n"
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
" :arg subtype: Enumerator in ['COLOR', 'TRANSLATION', 'DIRECTION', 'VELOCITY', 'ACCELERATION', 'MATRIX', 'EULER', 'QUATERNION', 'AXISANGLE', 'XYZ', 'COLOR_GAMMA', 'LAYER', 'NONE'].\n"
" :type subtype: string\n"
" :arg size: Vector dimensions in [1, and " STRINGIFY(PYRNA_STACK_ARRAY) "].\n"
" :type size: int\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -537,7 +727,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
BPY_PROPDEF_HEAD(FloatVectorProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "size", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "size", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
float min=-FLT_MAX, max=FLT_MAX, soft_min=-FLT_MAX, soft_max=FLT_MAX, step=3, def[PYRNA_STACK_ARRAY]={0.0f};
@@ -548,14 +738,16 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssOfffffiO!si:FloatVectorProperty",
+ "s#|ssOfffffiO!siO:FloatVectorProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &pydef,
&min, &max, &soft_min, &soft_max,
&step, &precision, &PySet_Type,
- &pyopts, &pysubtype, &size))
+ &pyopts, &pysubtype, &size,
+ &update_cb))
{
return NULL;
}
@@ -567,9 +759,13 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
return NULL;
}
- if(pydef && PyC_AsArray(def, pydef, size, &PyFloat_Type, "FloatVectorProperty(default=sequence)") < 0)
+ if(pydef && PyC_AsArray(def, pydef, size, &PyFloat_Type, FALSE, "FloatVectorProperty(default=sequence)") < 0)
return NULL;
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
+ return NULL;
+ }
+
prop= RNA_def_property(srna, id, PROP_FLOAT, subtype);
RNA_def_property_array(prop, size);
if(pydef) RNA_def_property_float_array_default(prop, def);
@@ -581,23 +777,25 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
-static char BPy_StringProperty_doc[] =
-".. function:: StringProperty(name=\"\", description=\"\", default=\"\", maxlen=0, options={'ANIMATABLE'}, subtype='NONE')\n"
+PyDoc_STRVAR(BPy_StringProperty_doc,
+".. function:: StringProperty(name=\"\", description=\"\", default=\"\", maxlen=0, options={'ANIMATABLE'}, subtype='NONE', update=None)\n"
"\n"
" Returns a new string property definition.\n"
"\n"
BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
" :arg subtype: Enumerator in ['FILE_PATH', 'DIR_PATH', 'FILENAME', 'NONE'].\n"
" :type subtype: string\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -605,7 +803,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw
BPY_PROPDEF_HEAD(StringProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "maxlen", "options", "subtype", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "maxlen", "options", "subtype", "update", NULL};
const char *id=NULL, *name="", *description="", *def="";
int id_len;
int maxlen=0;
@@ -614,18 +812,24 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|sssiO!s:StringProperty",
+ "s#|sssiO!sO:StringProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &def,
- &maxlen, &PySet_Type, &pyopts, &pysubtype))
+ &maxlen, &PySet_Type, &pyopts, &pysubtype,
+ &update_cb))
{
return NULL;
}
BPY_PROPDEF_SUBTYPE_CHECK(StringProperty, property_flag_items, property_subtype_string_items)
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
+ return NULL;
+ }
+
prop= RNA_def_property(srna, id, PROP_STRING, subtype);
if(maxlen != 0) RNA_def_property_string_maxlength(prop, maxlen + 1); /* +1 since it includes null terminator */
if(def) RNA_def_property_string_default(prop, def);
@@ -635,21 +839,35 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
+#if 0
+/* copies orig to buf, then sets orig to buf, returns copy length */
+static size_t strswapbufcpy(char *buf, const char **orig)
+{
+ const char *src= *orig;
+ char *dst= buf;
+ size_t i= 0;
+ *orig= buf;
+ while((*dst= *src)) { dst++; src++; i++; }
+ return i + 1; /* include '\0' */
+}
+#endif
+
static EnumPropertyItem *enum_items_from_py(PyObject *seq_fast, PyObject *def, int *defvalue, const short is_enum_flag)
{
- EnumPropertyItem *items= NULL;
+ EnumPropertyItem *items;
PyObject *item;
- int seq_len, i, totitem= 0;
+ const Py_ssize_t seq_len= PySequence_Fast_GET_SIZE(seq_fast);
+ Py_ssize_t totbuf= 0;
+ int i;
short def_used= 0;
const char *def_cmp= NULL;
- seq_len= PySequence_Fast_GET_SIZE(seq_fast);
-
if(is_enum_flag) {
if(seq_len > RNA_ENUM_BITFLAG_SIZE) {
PyErr_SetString(PyExc_TypeError, "EnumProperty(...): maximum " STRINGIFY(RNA_ENUM_BITFLAG_SIZE) " members for a ENUM_FLAG type property");
@@ -679,43 +897,52 @@ static EnumPropertyItem *enum_items_from_py(PyObject *seq_fast, PyObject *def, i
/* blank value */
*defvalue= 0;
+ items= MEM_callocN(sizeof(EnumPropertyItem) * (seq_len + 1), "enum_items_from_py1");
+
for(i=0; i<seq_len; i++) {
EnumPropertyItem tmp= {0, "", 0, "", ""};
+ Py_ssize_t id_str_size;
+ Py_ssize_t name_str_size;
+ Py_ssize_t desc_str_size;
item= PySequence_Fast_GET_ITEM(seq_fast, i);
- if(PyTuple_Check(item)==0) {
- PyErr_SetString(PyExc_TypeError, "EnumProperty(...): expected a sequence of tuples for the enum items");
- if(items) MEM_freeN(items);
- return NULL;
- }
- if(!PyArg_ParseTuple(item, "sss", &tmp.identifier, &tmp.name, &tmp.description)) {
- PyErr_SetString(PyExc_TypeError, "EnumProperty(...): expected an identifier, name and description in the tuple");
- return NULL;
- }
-
- if(is_enum_flag) {
- tmp.value= 1<<i;
+ if( (PyTuple_CheckExact(item)) &&
+ (PyTuple_GET_SIZE(item) == 3) &&
+ (tmp.identifier= _PyUnicode_AsStringAndSize(PyTuple_GET_ITEM(item, 0), &id_str_size)) &&
+ (tmp.name= _PyUnicode_AsStringAndSize(PyTuple_GET_ITEM(item, 1), &name_str_size)) &&
+ (tmp.description= _PyUnicode_AsStringAndSize(PyTuple_GET_ITEM(item, 2), &desc_str_size))
+ ) {
+ if(is_enum_flag) {
+ tmp.value= 1<<i;
+
+ if(def && PySet_Contains(def, PyTuple_GET_ITEM(item, 0))) {
+ *defvalue |= tmp.value;
+ def_used++;
+ }
+ }
+ else {
+ tmp.value= i;
- if(def && PySet_Contains(def, PyTuple_GET_ITEM(item, 0))) {
- *defvalue |= tmp.value;
- def_used++;
+ if(def && def_used == 0 && strcmp(def_cmp, tmp.identifier)==0) {
+ *defvalue= tmp.value;
+ def_used++; /* only ever 1 */
+ }
}
+
+ items[i]= tmp;
+
+ /* calculate combine string length */
+ totbuf += id_str_size + name_str_size + desc_str_size + 3; /* 3 is for '\0's */
}
else {
- tmp.value= i;
-
- if(def && def_used == 0 && strcmp(def_cmp, tmp.identifier)==0) {
- *defvalue= tmp.value;
- def_used++; /* only ever 1 */
- }
+ MEM_freeN(items);
+ PyErr_SetString(PyExc_TypeError, "EnumProperty(...): expected an tuple containing (identifier, name description)");
+ return NULL;
}
- RNA_enum_item_add(&items, &totitem, &tmp);
}
- RNA_enum_item_end(&items, &totitem);
-
if(is_enum_flag) {
/* strict check that all set members were used */
if(def && def_used != PySet_GET_SIZE(def)) {
@@ -738,23 +965,117 @@ static EnumPropertyItem *enum_items_from_py(PyObject *seq_fast, PyObject *def, i
}
}
+ /* disabled duplicating strings because the array can still be freed and
+ * the strings from it referenced, for now we can't support dynamically
+ * created strings from python. */
+#if 0
+ /* this would all work perfectly _but_ the python strings may be freed
+ * immediately after use, so we need to duplicate them, ugh.
+ * annoying because it works most of the time without this. */
+ {
+ EnumPropertyItem *items_dup= MEM_mallocN((sizeof(EnumPropertyItem) * (seq_len + 1)) + (sizeof(char) * totbuf), "enum_items_from_py2");
+ EnumPropertyItem *items_ptr= items_dup;
+ char *buf= ((char *)items_dup) + (sizeof(EnumPropertyItem) * (seq_len + 1));
+ memcpy(items_dup, items, sizeof(EnumPropertyItem) * (seq_len + 1));
+ for(i=0; i<seq_len; i++, items_ptr++) {
+ buf += strswapbufcpy(buf, &items_ptr->identifier);
+ buf += strswapbufcpy(buf, &items_ptr->name);
+ buf += strswapbufcpy(buf, &items_ptr->description);
+ }
+ MEM_freeN(items);
+ items=items_dup;
+ }
+ /* end string duplication */
+#endif
+
return items;
}
-static char BPy_EnumProperty_doc[] =
-".. function:: EnumProperty(items, name=\"\", description=\"\", default=\"\", options={'ANIMATABLE'})\n"
+static EnumPropertyItem *bpy_props_enum_itemf(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, int *free)
+{
+ PyGILState_STATE gilstate;
+
+ PyObject *py_func= RNA_property_enum_py_data_get(prop);
+ PyObject *self= NULL;
+ PyObject *args;
+ PyObject *items; /* returned from the function call */
+
+ EnumPropertyItem *eitems= NULL;
+ int err= 0;
+
+ bpy_context_set(C, &gilstate);
+
+ args= PyTuple_New(2);
+ self= pyrna_struct_as_instance(ptr);
+ PyTuple_SET_ITEM(args, 0, self);
+
+ /* now get the context */
+ PyTuple_SET_ITEM(args, 1, (PyObject *)bpy_context_module);
+ Py_INCREF(bpy_context_module);
+
+ items= PyObject_CallObject(py_func, args);
+
+ Py_DECREF(args);
+
+ if(items==NULL) {
+ err= -1;
+ }
+ else {
+ PyObject *items_fast;
+ int defvalue_dummy=0;
+
+ if(!(items_fast= PySequence_Fast(items, "EnumProperty(...): return value from the callback was not a sequence"))) {
+ err= -1;
+ }
+ else {
+ eitems= enum_items_from_py(items_fast, NULL, &defvalue_dummy, (RNA_property_flag(prop) & PROP_ENUM_FLAG)!=0);
+
+ Py_DECREF(items_fast);
+
+ if(!eitems) {
+ err= -1;
+ }
+ }
+
+ Py_DECREF(items);
+ }
+
+ if(err != -1) { /* worked */
+ *free= 1;
+ }
+ else {
+ printf_func_error(py_func);
+
+ eitems= DummyRNA_NULL_items;
+ }
+
+
+ bpy_context_clear(C, &gilstate);
+ return eitems;
+}
+
+PyDoc_STRVAR(BPy_EnumProperty_doc,
+".. function:: EnumProperty(items, name=\"\", description=\"\", default=\"\", options={'ANIMATABLE'}, update=None)\n"
"\n"
" Returns a new enumerator property definition.\n"
"\n"
BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
-" :arg default: The default value for this enum, A string when *ENUM_FLAG* is disabled otherwise a set which may only contain string identifiers used in *items*.\n"
+" :arg default: The default value for this enum, A string when *ENUM_FLAG*\n"
+" is disabled otherwise a set which may only contain string identifiers\n"
+" used in *items*.\n"
" :type default: string or set\n"
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE', 'ENUM_FLAG'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'ENUM_FLAG'].\n"
" :type options: set\n"
-" :arg items: sequence of enum items formatted: [(identifier, name, description), ...] where the identifier is used for python access and other values are used for the interface.\n"
-" :type items: sequence of string triplets\n"
-;
+" :arg items: sequence of enum items formatted:\n"
+" [(identifier, name, description), ...] where the identifier is used\n"
+" for python access and other values are used for the interface.\n"
+" For dynamic values a callback can be passed which returns a list in\n"
+" the same format as the static list.\n"
+" This function must take 2 arguments (self, context)\n"
+" :type items: sequence of string triplets or a function\n"
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -762,7 +1083,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw)
BPY_PROPDEF_HEAD(EnumProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "items", "name", "description", "default", "options", NULL};
+ static const char *kwlist[]= {"attr", "items", "name", "description", "default", "options", "update", NULL};
const char *id=NULL, *name="", *description="";
PyObject *def= NULL;
int id_len;
@@ -772,38 +1093,78 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw)
PropertyRNA *prop;
PyObject *pyopts= NULL;
int opts=0;
+ short is_itemf= FALSE;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#O|ssOO!:EnumProperty",
+ "s#O|ssOO!O:EnumProperty",
(char **)kwlist, &id, &id_len,
&items, &name, &description,
- &def, &PySet_Type, &pyopts))
+ &def, &PySet_Type, &pyopts,
+ &update_cb))
{
return NULL;
}
BPY_PROPDEF_CHECK(EnumProperty, property_flag_enum_items)
- if(!(items_fast= PySequence_Fast(items, "EnumProperty(...): expected a sequence of tuples for the enum items"))) {
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
return NULL;
}
- eitems= enum_items_from_py(items_fast, def, &defvalue, (opts & PROP_ENUM_FLAG)!=0);
+ /* items can be a list or a callable */
+ if(PyFunction_Check(items)) { /* dont use PyCallable_Check because we need the function code for errors */
+ PyCodeObject *f_code= (PyCodeObject *)PyFunction_GET_CODE(items);
+ if(f_code->co_argcount != 2) {
+ PyErr_Format(PyExc_ValueError,
+ "EnumProperty(...): expected 'items' function to take 2 arguments, not %d",
+ f_code->co_argcount);
+ return NULL;
+ }
- Py_DECREF(items_fast);
+ if(def) {
+ /* note, using type error here is odd but python does this for invalid arguments */
+ PyErr_SetString(PyExc_TypeError,
+ "EnumProperty(...): 'default' can't be set when 'items' is a function");
+ return NULL;
+ }
- if(!eitems)
- return NULL;
+ is_itemf= TRUE;
+ eitems= DummyRNA_NULL_items;
+ }
+ else {
+ if(!(items_fast= PySequence_Fast(items, "EnumProperty(...): expected a sequence of tuples for the enum items or a function"))) {
+ return NULL;
+ }
+
+ eitems= enum_items_from_py(items_fast, def, &defvalue, (opts & PROP_ENUM_FLAG)!=0);
+
+ Py_DECREF(items_fast);
+
+ if(!eitems) {
+ return NULL;
+ }
+ }
if(opts & PROP_ENUM_FLAG) prop= RNA_def_enum_flag(srna, id, eitems, defvalue, name, description);
else prop= RNA_def_enum(srna, id, eitems, defvalue, name, description);
+ if(is_itemf) {
+ RNA_def_enum_funcs(prop, bpy_props_enum_itemf);
+ RNA_def_enum_py_data(prop, (void *)items);
+ /* Py_INCREF(items); */ /* watch out!, if user is tricky they can probably crash blender if they manage to free the callback, take care! */
+ }
+
if(pyopts) {
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
- MEM_freeN(eitems);
+
+ if(is_itemf == FALSE) {
+ MEM_freeN(eitems);
+ }
}
Py_RETURN_NONE;
}
@@ -840,8 +1201,8 @@ static StructRNA *pointer_type_from_py(PyObject *value, const char *error_prefix
return srna;
}
-static char BPy_PointerProperty_doc[] =
-".. function:: PointerProperty(type=\"\", description=\"\", options={'ANIMATABLE'})\n"
+PyDoc_STRVAR(BPy_PointerProperty_doc,
+".. function:: PointerProperty(type=\"\", description=\"\", options={'ANIMATABLE'}, update=None)\n"
"\n"
" Returns a new pointer property definition.\n"
"\n"
@@ -849,9 +1210,10 @@ static char BPy_PointerProperty_doc[] =
" :type type: class\n"
BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
-;
+BPY_PROPDEF_UPDATE_DOC
+);
static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -859,7 +1221,7 @@ static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *k
BPY_PROPDEF_HEAD(PointerProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "type", "name", "description", "options", NULL};
+ static const char *kwlist[]= {"attr", "type", "name", "description", "options", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
PropertyRNA *prop;
@@ -867,12 +1229,14 @@ static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *k
PyObject *type= Py_None;
PyObject *pyopts= NULL;
int opts=0;
+ PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#O|ssO!:PointerProperty",
+ "s#O|ssO!O:PointerProperty",
(char **)kwlist, &id, &id_len,
&type, &name, &description,
- &PySet_Type, &pyopts))
+ &PySet_Type, &pyopts,
+ &update_cb))
{
return NULL;
}
@@ -883,17 +1247,22 @@ static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *k
if(!ptype)
return NULL;
+ if (bpy_prop_callback_check(update_cb, 2) == -1) {
+ return NULL;
+ }
+
prop= RNA_def_pointer_runtime(srna, id, ptype, name, description);
if(pyopts) {
if(opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN);
if((opts & PROP_ANIMATABLE)==0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
}
+ bpy_prop_callback_assign(prop, update_cb);
RNA_def_property_duplicate_pointers(srna, prop);
}
Py_RETURN_NONE;
}
-static char BPy_CollectionProperty_doc[] =
+PyDoc_STRVAR(BPy_CollectionProperty_doc,
".. function:: CollectionProperty(items, type=\"\", description=\"\", default=\"\", options={'ANIMATABLE'})\n"
"\n"
" Returns a new collection property definition.\n"
@@ -902,9 +1271,9 @@ static char BPy_CollectionProperty_doc[] =
" :type type: class\n"
BPY_PROPDEF_NAME_DOC
BPY_PROPDEF_DESC_DOC
-" :arg options: Enumerator in ['HIDDEN', 'ANIMATABLE'].\n"
+" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n"
" :type options: set\n"
-;
+);
static PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -946,14 +1315,14 @@ static PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject
Py_RETURN_NONE;
}
-static char BPy_RemoveProperty_doc[] =
+PyDoc_STRVAR(BPy_RemoveProperty_doc,
".. function:: RemoveProperty(attr)\n"
"\n"
" Removes a dynamically defined property.\n"
"\n"
" :arg attr: Property name.\n"
" :type attr: string\n"
-;
+);
static PyObject *BPy_RemoveProperty(PyObject *self, PyObject *args, PyObject *kw)
{
StructRNA *srna;
@@ -1025,7 +1394,7 @@ static struct PyModuleDef props_module= {
NULL, NULL, NULL, NULL
};
-PyObject *BPY_rna_props( void )
+PyObject *BPY_rna_props(void)
{
PyObject *submodule;
PyObject *submodule_dict;
diff --git a/source/blender/python/intern/bpy_props.h b/source/blender/python/intern/bpy_props.h
index f306d6898d1..8b64d04e092 100644
--- a/source/blender/python/intern/bpy_props.h
+++ b/source/blender/python/intern/bpy_props.h
@@ -30,7 +30,7 @@
#ifndef BPY_PROPS_H
#define BPY_PROPS_H
-PyObject *BPY_rna_props( void );
+PyObject *BPY_rna_props(void);
#define PYRNA_STACK_ARRAY 32
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 8af0db6ee13..6e1b9c807f3 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -39,6 +39,7 @@
#include "bpy_props.h"
#include "bpy_util.h"
#include "bpy_rna_callback.h"
+#include "bpy_intern_string.h"
#ifdef USE_PYRNA_INVALIDATE_WEAKREF
#include "MEM_guardedalloc.h"
@@ -323,11 +324,20 @@ int pyrna_write_check(void)
{
return !rna_disallow_writes;
}
+
+void pyrna_write_set(int val)
+{
+ rna_disallow_writes= !val;
+}
#else // USE_PEDANTIC_WRITE
int pyrna_write_check(void)
{
return TRUE;
}
+void pyrna_write_set(int UNUSED(val))
+{
+ /* nothing */
+}
#endif // USE_PEDANTIC_WRITE
static Py_ssize_t pyrna_prop_collection_length(BPy_PropertyRNA *self);
@@ -336,7 +346,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
static int deferred_register_prop(StructRNA *srna, PyObject *key, PyObject *item);
#ifdef USE_MATHUTILS
-#include "../generic/mathutils.h" /* so we can have mathutils callbacks */
+#include "../mathutils/mathutils.h" /* so we can have mathutils callbacks */
static PyObject *pyrna_prop_array_subscript_slice(BPy_PropertyArrayRNA *self, PointerRNA *ptr, PropertyRNA *prop, Py_ssize_t start, Py_ssize_t stop, Py_ssize_t length);
static short pyrna_rotation_euler_order_get(PointerRNA *ptr, PropertyRNA **prop_eul_order, short order_fallback);
@@ -1200,7 +1210,7 @@ static PyObject *pyrna_enum_to_py(PointerRNA *ptr, PropertyRNA *prop, int val)
return ret;
}
-PyObject * pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
+PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
{
PyObject *ret;
int type= RNA_property_type(prop);
@@ -1334,7 +1344,7 @@ int pyrna_pydict_to_props(PointerRNA *ptr, PyObject *kw, int all_args, const cha
return error_val;
}
-static PyObject * pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw);
+static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw);
static PyObject *pyrna_func_to_py(BPy_DummyPointerRNA *pyrna, FunctionRNA *func)
{
@@ -1371,12 +1381,8 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
if (RNA_property_array_check(ptr, prop)) {
- int ok= 1;
-
/* done getting the length */
- ok= pyrna_py_to_array(ptr, prop, data, value, error_prefix);
-
- if (!ok) {
+ if(pyrna_py_to_array(ptr, prop, data, value, error_prefix) == -1) {
return -1;
}
}
@@ -1467,7 +1473,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
param= _PyUnicode_AsString(value);
}
#else // USE_STRING_COERCE
- param= _PyUnicode_AsStringSize(value);
+ param= _PyUnicode_AsString(value);
#endif // USE_STRING_COERCE
if (param==NULL) {
@@ -1758,8 +1764,8 @@ static int pyrna_py_to_prop_array_index(BPy_PropertyArrayRNA *self, int index, P
if (totdim > 1) {
/* char error_str[512]; */
- if (!pyrna_py_to_array_index(&self->ptr, self->prop, self->arraydim, self->arrayoffset, index, value, "")) {
- /* PyErr_SetString(PyExc_AttributeError, error_str); */
+ if (pyrna_py_to_array_index(&self->ptr, self->prop, self->arraydim, self->arrayoffset, index, value, "") == -1) {
+ /* error is set */
ret= -1;
}
}
@@ -2527,16 +2533,18 @@ static PyMappingMethods pyrna_struct_as_mapping= {
(objobjargproc) pyrna_struct_ass_subscript, /* mp_ass_subscript */
};
-static char pyrna_struct_keys_doc[] =
+PyDoc_STRVAR(pyrna_struct_keys_doc,
".. method:: keys()\n"
"\n"
-" Returns the keys of this objects custom properties (matches pythons dictionary function of the same name).\n"
+" Returns the keys of this objects custom properties (matches pythons\n"
+" dictionary function of the same name).\n"
"\n"
" :return: custom property keys.\n"
" :rtype: list of strings\n"
"\n"
-" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone` classes support custom properties.\n";
-
+" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone` classes\n"
+" support custom properties.\n"
+);
static PyObject *pyrna_struct_keys(BPy_PropertyRNA *self)
{
IDProperty *group;
@@ -2554,16 +2562,18 @@ static PyObject *pyrna_struct_keys(BPy_PropertyRNA *self)
return BPy_Wrap_GetKeys(group);
}
-static char pyrna_struct_items_doc[] =
+PyDoc_STRVAR(pyrna_struct_items_doc,
".. method:: items()\n"
"\n"
-" Returns the items of this objects custom properties (matches pythons dictionary function of the same name).\n"
+" Returns the items of this objects custom properties (matches pythons\n"
+" dictionary function of the same name).\n"
"\n"
" :return: custom property key, value pairs.\n"
" :rtype: list of key, value tuples\n"
"\n"
-" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone` classes support custom properties.\n";
-
+" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone`\n"
+" classes support custom properties.\n"
+);
static PyObject *pyrna_struct_items(BPy_PropertyRNA *self)
{
IDProperty *group;
@@ -2581,16 +2591,18 @@ static PyObject *pyrna_struct_items(BPy_PropertyRNA *self)
return BPy_Wrap_GetItems(self->ptr.id.data, group);
}
-static char pyrna_struct_values_doc[] =
+PyDoc_STRVAR(pyrna_struct_values_doc,
".. method:: values()\n"
"\n"
-" Returns the values of this objects custom properties (matches pythons dictionary function of the same name).\n"
+" Returns the values of this objects custom properties (matches pythons\n"
+" dictionary function of the same name).\n"
"\n"
" :return: custom property values.\n"
" :rtype: list\n"
"\n"
-" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone` classes support custom properties.\n";
-
+" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone`\n"
+" classes support custom properties.\n"
+);
static PyObject *pyrna_struct_values(BPy_PropertyRNA *self)
{
IDProperty *group;
@@ -2609,14 +2621,14 @@ static PyObject *pyrna_struct_values(BPy_PropertyRNA *self)
}
-static char pyrna_struct_is_property_set_doc[] =
+PyDoc_STRVAR(pyrna_struct_is_property_set_doc,
".. method:: is_property_set(property)\n"
"\n"
" Check if a property is set, use for testing operator properties.\n"
"\n"
" :return: True when the property has been set.\n"
" :rtype: boolean\n"
-;
+);
static PyObject *pyrna_struct_is_property_set(BPy_StructRNA *self, PyObject *args)
{
PropertyRNA *prop;
@@ -2653,14 +2665,14 @@ static PyObject *pyrna_struct_is_property_set(BPy_StructRNA *self, PyObject *arg
return PyBool_FromLong(ret);
}
-static char pyrna_struct_is_property_hidden_doc[] =
+PyDoc_STRVAR(pyrna_struct_is_property_hidden_doc,
".. method:: is_property_hidden(property)\n"
"\n"
" Check if a property is hidden.\n"
"\n"
" :return: True when the property is hidden.\n"
" :rtype: boolean\n"
-;
+);
static PyObject *pyrna_struct_is_property_hidden(BPy_StructRNA *self, PyObject *args)
{
PropertyRNA *prop;
@@ -2681,16 +2693,17 @@ static PyObject *pyrna_struct_is_property_hidden(BPy_StructRNA *self, PyObject *
return PyBool_FromLong(RNA_property_flag(prop) & PROP_HIDDEN);
}
-static char pyrna_struct_path_resolve_doc[] =
+PyDoc_STRVAR(pyrna_struct_path_resolve_doc,
".. method:: path_resolve(path, coerce=True)\n"
"\n"
" Returns the property from the path, raise an exception when not found.\n"
"\n"
" :arg path: path which this property resolves.\n"
" :type path: string\n"
-" :arg coerce: optional argument, when True, the property will be converted into its python representation.\n"
+" :arg coerce: optional argument, when True, the property will be converted\n"
+" into its python representation.\n"
" :type coerce: boolean\n"
-;
+);
static PyObject *pyrna_struct_path_resolve(BPy_StructRNA *self, PyObject *args)
{
const char *path;
@@ -2738,16 +2751,18 @@ static PyObject *pyrna_struct_path_resolve(BPy_StructRNA *self, PyObject *args)
}
}
-static char pyrna_struct_path_from_id_doc[] =
+PyDoc_STRVAR(pyrna_struct_path_from_id_doc,
".. method:: path_from_id(property=\"\")\n"
"\n"
" Returns the data path from the ID to this object (string).\n"
"\n"
-" :arg property: Optional property name which can be used if the path is to a property of this object.\n"
+" :arg property: Optional property name which can be used if the path is\n"
+" to a property of this object.\n"
" :type property: string\n"
-" :return: The path from :class:`bpy_struct.id_data` to this struct and property (when given).\n"
+" :return: The path from :class:`bpy_struct.id_data`\n"
+" to this struct and property (when given).\n"
" :rtype: str\n"
-;
+);
static PyObject *pyrna_struct_path_from_id(BPy_StructRNA *self, PyObject *args)
{
const char *name= NULL;
@@ -2795,14 +2810,14 @@ static PyObject *pyrna_struct_path_from_id(BPy_StructRNA *self, PyObject *args)
return ret;
}
-static char pyrna_prop_path_from_id_doc[] =
+PyDoc_STRVAR(pyrna_prop_path_from_id_doc,
".. method:: path_from_id()\n"
"\n"
" Returns the data path from the ID to this property (string).\n"
"\n"
" :return: The path from :class:`bpy_struct.id_data` to this property.\n"
" :rtype: str\n"
-;
+);
static PyObject *pyrna_prop_path_from_id(BPy_PropertyRNA *self)
{
const char *path;
@@ -2824,14 +2839,15 @@ static PyObject *pyrna_prop_path_from_id(BPy_PropertyRNA *self)
return ret;
}
-static char pyrna_struct_type_recast_doc[] =
+PyDoc_STRVAR(pyrna_struct_type_recast_doc,
".. method:: type_recast()\n"
"\n"
-" Return a new instance, this is needed because types such as textures can be changed at runtime.\n"
+" Return a new instance, this is needed because types\n"
+" such as textures can be changed at runtime.\n"
"\n"
" :return: a new instance of this object with the type initialized again.\n"
" :rtype: subclass of :class:`bpy_struct`\n"
-;
+);
static PyObject *pyrna_struct_type_recast(BPy_StructRNA *self)
{
PointerRNA r_ptr;
@@ -3091,7 +3107,7 @@ static PyObject *pyrna_struct_meta_idprop_getattro(PyObject *cls, PyObject *attr
* >>> bpy.types.Scene.foo= BoolProperty()
* >>> bpy.types.Scene.foo
* <bpy_struct, BooleanProperty("foo")>
- * ...rather then returning the deferred class register tuple as checked by pyrna_is_deferred_prop()
+ * ...rather than returning the deferred class register tuple as checked by pyrna_is_deferred_prop()
*
* Disable for now, this is faking internal behavior in a way thats too tricky to maintain well. */
#if 0
@@ -3434,14 +3450,15 @@ static PyGetSetDef pyrna_struct_getseters[]= {
{NULL, NULL, NULL, NULL, NULL} /* Sentinel */
};
-static char pyrna_prop_collection_keys_doc[] =
+PyDoc_STRVAR(pyrna_prop_collection_keys_doc,
".. method:: keys()\n"
"\n"
-" Return the identifiers of collection members (matching pythons dict.keys() functionality).\n"
+" Return the identifiers of collection members\n"
+" (matching pythons dict.keys() functionality).\n"
"\n"
" :return: the identifiers for each member of this collection.\n"
" :rtype: list of stings\n"
-;
+);
static PyObject *pyrna_prop_collection_keys(BPy_PropertyRNA *self)
{
PyObject *ret= PyList_New(0);
@@ -3467,14 +3484,15 @@ static PyObject *pyrna_prop_collection_keys(BPy_PropertyRNA *self)
return ret;
}
-static char pyrna_prop_collection_items_doc[] =
+PyDoc_STRVAR(pyrna_prop_collection_items_doc,
".. method:: items()\n"
"\n"
-" Return the identifiers of collection members (matching pythons dict.items() functionality).\n"
+" Return the identifiers of collection members\n"
+" (matching pythons dict.items() functionality).\n"
"\n"
" :return: (key, value) pairs for each member of this collection.\n"
" :rtype: list of tuples\n"
-;
+);
static PyObject *pyrna_prop_collection_items(BPy_PropertyRNA *self)
{
PyObject *ret= PyList_New(0);
@@ -3508,32 +3526,36 @@ static PyObject *pyrna_prop_collection_items(BPy_PropertyRNA *self)
return ret;
}
-static char pyrna_prop_collection_values_doc[] =
+PyDoc_STRVAR(pyrna_prop_collection_values_doc,
".. method:: values()\n"
"\n"
-" Return the values of collection (matching pythons dict.values() functionality).\n"
+" Return the values of collection\n"
+" (matching pythons dict.values() functionality).\n"
"\n"
" :return: the members of this collection.\n"
" :rtype: list\n"
-;
+);
static PyObject *pyrna_prop_collection_values(BPy_PropertyRNA *self)
{
/* re-use slice*/
return pyrna_prop_collection_subscript_slice(self, 0, PY_SSIZE_T_MAX);
}
-static char pyrna_struct_get_doc[] =
+PyDoc_STRVAR(pyrna_struct_get_doc,
".. method:: get(key, default=None)\n"
"\n"
-" Returns the value of the custom property assigned to key or default when not found (matches pythons dictionary function of the same name).\n"
+" Returns the value of the custom property assigned to key or default\n"
+" when not found (matches pythons dictionary function of the same name).\n"
"\n"
" :arg key: The key assosiated with the custom property.\n"
" :type key: string\n"
-" :arg default: Optional argument for the value to return if *key* is not found.\n"
+" :arg default: Optional argument for the value to return if\n"
+" *key* is not found.\n"
" :type default: Undefined\n"
"\n"
-" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone` classes support custom properties.\n"
-;
+" .. note:: Only :class:`ID`, :class:`Bone` and :class:`PoseBone`\n"
+" classes support custom properties.\n"
+);
static PyObject *pyrna_struct_get(BPy_StructRNA *self, PyObject *args)
{
IDProperty *group, *idprop;
@@ -3563,7 +3585,7 @@ static PyObject *pyrna_struct_get(BPy_StructRNA *self, PyObject *args)
return Py_INCREF(def), def;
}
-static char pyrna_struct_as_pointer_doc[] =
+PyDoc_STRVAR(pyrna_struct_as_pointer_doc,
".. method:: as_pointer()\n"
"\n"
" Returns the memory address which holds a pointer to blenders internal data\n"
@@ -3571,23 +3593,26 @@ static char pyrna_struct_as_pointer_doc[] =
" :return: int (memory address).\n"
" :rtype: int\n"
"\n"
-" .. note:: This is intended only for advanced script writers who need to pass blender data to their own C/Python modules.\n"
-;
+" .. note:: This is intended only for advanced script writers who need to\n"
+" pass blender data to their own C/Python modules.\n"
+);
static PyObject *pyrna_struct_as_pointer(BPy_StructRNA *self)
{
return PyLong_FromVoidPtr(self->ptr.data);
}
-static char pyrna_prop_collection_get_doc[] =
+PyDoc_STRVAR(pyrna_prop_collection_get_doc,
".. method:: get(key, default=None)\n"
"\n"
-" Returns the value of the item assigned to key or default when not found (matches pythons dictionary function of the same name).\n"
+" Returns the value of the item assigned to key or default when not found\n"
+" (matches pythons dictionary function of the same name).\n"
"\n"
" :arg key: The identifier for the collection member.\n"
" :type key: string\n"
-" :arg default: Optional argument for the value to return if *key* is not found.\n"
+" :arg default: Optional argument for the value to return if\n"
+" *key* is not found.\n"
" :type default: Undefined\n"
-;
+);
static PyObject *pyrna_prop_collection_get(BPy_PropertyRNA *self, PyObject *args)
{
PointerRNA newptr;
@@ -3822,9 +3847,11 @@ static PyObject *foreach_getset(BPy_PropertyRNA *self, PyObject *args, int set)
case PROP_RAW_DOUBLE:
item= PyFloat_FromDouble((double) ((double *)array)[i]);
break;
- case PROP_RAW_UNSET:
+ default: /* PROP_RAW_UNSET */
/* should never happen */
BLI_assert(!"Invalid array type - get");
+ item= Py_None;
+ Py_INCREF(item);
break;
}
@@ -3851,7 +3878,7 @@ static PyObject *foreach_getset(BPy_PropertyRNA *self, PyObject *args, int set)
Py_RETURN_NONE;
}
-static char pyrna_prop_collection_foreach_get_doc[] =
+PyDoc_STRVAR(pyrna_prop_collection_foreach_get_doc,
".. method:: foreach_get(attr, seq)\n"
"\n"
" This is a function to give fast access to attributes within a collection.\n"
@@ -3863,7 +3890,7 @@ static char pyrna_prop_collection_foreach_get_doc[] =
" # Python equivalent\n"
" for i in range(len(seq)): someseq[i]= getattr(collection, attr)\n"
"\n"
-;
+);
static PyObject *pyrna_prop_collection_foreach_get(BPy_PropertyRNA *self, PyObject *args)
{
PYRNA_PROP_CHECK_OBJ(self)
@@ -3871,7 +3898,7 @@ static PyObject *pyrna_prop_collection_foreach_get(BPy_PropertyRNA *self, PyObje
return foreach_getset(self, args, 0);
}
-static char pyrna_prop_collection_foreach_set_doc[] =
+PyDoc_STRVAR(pyrna_prop_collection_foreach_set_doc,
".. method:: foreach_set(attr, seq)\n"
"\n"
" This is a function to give fast access to attributes within a collection.\n"
@@ -3883,7 +3910,7 @@ static char pyrna_prop_collection_foreach_set_doc[] =
" # Python equivalent\n"
" for i in range(len(seq)): setattr(collection[i], attr, seq[i])\n"
"\n"
-;
+);
static PyObject *pyrna_prop_collection_foreach_set(BPy_PropertyRNA *self, PyObject *args)
{
PYRNA_PROP_CHECK_OBJ(self)
@@ -4521,7 +4548,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ NULL, /* tp_compare */ /* deprecated in python 3.0! */
NULL, /* tp_repr */
/* Method suites for standard classes */
@@ -5193,7 +5220,7 @@ static void pyrna_subtype_set_rna(PyObject *newclass, StructRNA *srna)
item= pyrna_struct_CreatePyObject(&ptr);
/* note, must set the class not the __dict__ else the internal slots are not updated correctly */
- PyObject_SetAttrString(newclass, "bl_rna", item);
+ PyObject_SetAttr(newclass, bpy_intern_str_bl_rna, item);
Py_DECREF(item);
/* done with rna instance */
@@ -5255,7 +5282,7 @@ static PyObject* pyrna_srna_ExternalType(StructRNA *srna)
//PyObject *slots= PyObject_GetAttrString(newclass, "__slots__"); // cant do this because it gets superclasses values!
//PyObject *bases= PyObject_GetAttrString(newclass, "__bases__"); // can do this but faster not to.
PyObject *bases= ((PyTypeObject *)newclass)->tp_bases;
- PyObject *slots= PyDict_GetItemString(((PyTypeObject *)newclass)->tp_dict, "__slots__");
+ PyObject *slots= PyDict_GetItem(((PyTypeObject *)newclass)->tp_dict, bpy_intern_str___slots__);
if(slots==NULL) {
fprintf(stderr, "pyrna_srna_ExternalType: expected class '%s' to have __slots__ defined\n\nSee bpy_types.py\n", idname);
@@ -5498,7 +5525,7 @@ PyObject *BPY_rna_module(void)
BPy_StructRNA *pyrna;
PointerRNA ptr;
- /* for now, return the base RNA type rather then a real module */
+ /* for now, return the base RNA type rather than a real module */
RNA_main_pointer_create(G.main, &ptr);
pyrna= (BPy_StructRNA *)pyrna_struct_CreatePyObject(&ptr);
@@ -5518,7 +5545,7 @@ PyObject *BPY_rna_doc(void)
{
PointerRNA ptr;
- /* for now, return the base RNA type rather then a real module */
+ /* for now, return the base RNA type rather than a real module */
RNA_blender_rna_pointer_create(&ptr);
return pyrna_struct_CreatePyObject(&ptr);
@@ -5625,7 +5652,7 @@ StructRNA *pyrna_struct_as_srna(PyObject *self, int parent, const char *error_pr
/* ack, PyObject_GetAttrString wont look up this types tp_dict first :/ */
if(PyType_Check(self)) {
- py_srna= (BPy_StructRNA *)PyDict_GetItemString(((PyTypeObject *)self)->tp_dict, "bl_rna");
+ py_srna= (BPy_StructRNA *)PyDict_GetItem(((PyTypeObject *)self)->tp_dict, bpy_intern_str_bl_rna);
Py_XINCREF(py_srna);
}
@@ -5633,7 +5660,7 @@ StructRNA *pyrna_struct_as_srna(PyObject *self, int parent, const char *error_pr
/* be very careful with this since it will return a parent classes srna.
* modifying this will do confusing stuff! */
if(py_srna==NULL)
- py_srna= (BPy_StructRNA*)PyObject_GetAttrString(self, "bl_rna");
+ py_srna= (BPy_StructRNA*)PyObject_GetAttr(self, bpy_intern_str_bl_rna);
}
if(py_srna==NULL) {
@@ -5723,7 +5750,7 @@ static int deferred_register_prop(StructRNA *srna, PyObject *key, PyObject *item
py_srna_cobject= PyCapsule_New(srna, NULL, NULL);
/* not 100% nice :/, modifies the dict passed, should be ok */
- PyDict_SetItemString(py_kw, "attr", key);
+ PyDict_SetItem(py_kw, bpy_intern_str_attr, key);
args_fake= PyTuple_New(1);
PyTuple_SET_ITEM(args_fake, 0, py_srna_cobject);
@@ -5770,7 +5797,7 @@ static int pyrna_deferred_register_props(StructRNA *srna, PyObject *class_dict)
/* in both cases PyDict_CheckExact(class_dict) will be true even
* though Operators have a metaclass dict namespace */
- if((order= PyDict_GetItemString(class_dict, "order")) && PyList_CheckExact(order)) {
+ if((order= PyDict_GetItem(class_dict, bpy_intern_str_order)) && PyList_CheckExact(order)) {
for(pos= 0; pos<PyList_GET_SIZE(order); pos++) {
key= PyList_GET_ITEM(order, pos);
item= PyDict_GetItem(class_dict, key);
@@ -5863,7 +5890,6 @@ static int bpy_class_validate(PointerRNA *dummyptr, void *py_data, int *have_fun
PyObject *py_class= (PyObject*)py_data;
PyObject *base_class= RNA_struct_py_type_get(srna);
PyObject *item;
- PyObject *py_arg_count;
int i, flag, arg_count, func_arg_count;
const char *py_class_name= ((PyTypeObject *)py_class)->tp_name; // __name__
@@ -5926,9 +5952,7 @@ static int bpy_class_validate(PointerRNA *dummyptr, void *py_data, int *have_fun
func_arg_count= rna_function_arg_count(func);
if (func_arg_count >= 0) { /* -1 if we dont care*/
- py_arg_count= PyObject_GetAttrString(PyFunction_GET_CODE(item), "co_argcount");
- arg_count= PyLong_AsLong(py_arg_count);
- Py_DECREF(py_arg_count);
+ arg_count= ((PyCodeObject *)PyFunction_GET_CODE(item))->co_argcount;
/* note, the number of args we check for and the number of args we give to
* @classmethods are different (quirk of python), this is why rna_function_arg_count() doesn't return the value -1*/
@@ -6019,9 +6043,10 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
PyGILState_STATE gilstate;
#ifdef USE_PEDANTIC_WRITE
+ const int is_operator= RNA_struct_is_a(ptr->type, &RNA_Operator);
const char *func_id= RNA_function_identifier(func);
/* testing, for correctness, not operator and not draw function */
- const short is_readonly= strstr("draw", func_id) || /*strstr("render", func_id) ||*/ !RNA_struct_is_a(ptr->type, &RNA_Operator);
+ const short is_readonly= strstr("draw", func_id) || /*strstr("render", func_id) ||*/ !is_operator;
#endif
py_class= RNA_struct_py_type_get(ptr->type);
@@ -6040,17 +6065,18 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
bpy_context_set(C, &gilstate);
if (!is_static) {
- /* exception, operators store their PyObjects for re-use */
+ /* some datatypes (operator, render engine) can store PyObjects for re-use */
if(ptr->data) {
- if(RNA_struct_is_a(ptr->type, &RNA_Operator)) {
- wmOperator *op= ptr->data;
- if(op->py_instance) {
- py_class_instance= op->py_instance;
+ void **instance = RNA_struct_instance(ptr);
+
+ if(instance) {
+ if(*instance) {
+ py_class_instance= *instance;
Py_INCREF(py_class_instance);
}
else {
/* store the instance here once its created */
- py_class_instance_store= &op->py_instance;
+ py_class_instance_store= instance;
}
}
}
@@ -6076,6 +6102,11 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
* Although this is annoying to have to impliment a part of pythons typeobject.c:type_call().
*/
if(py_class->tp_init) {
+#ifdef USE_PEDANTIC_WRITE
+ const int prev_write= rna_disallow_writes;
+ rna_disallow_writes= is_operator ? FALSE : TRUE; /* only operators can write on __init__ */
+#endif
+
/* true in most cases even when the class its self doesn't define an __init__ function. */
args= PyTuple_New(0);
if (py_class->tp_init(py_srna, args, NULL) < 0) {
@@ -6084,11 +6115,16 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
/* err set below */
}
Py_DECREF(args);
+#ifdef USE_PEDANTIC_WRITE
+ rna_disallow_writes= prev_write;
+#endif
}
-
py_class_instance= py_srna;
#else
+ const int prev_write= rna_disallow_writes;
+ rna_disallow_writes= TRUE;
+
/* 'almost' all the time calling the class isn't needed.
* We could just do...
py_class_instance= py_srna;
@@ -6102,7 +6138,10 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
py_class_instance= PyObject_Call(py_class, args, NULL);
Py_DECREF(args);
+ rna_disallow_writes= prev_write;
+
#endif
+
if(py_class_instance == NULL) {
err= -1; /* so the error is not overridden below */
}
@@ -6277,7 +6316,7 @@ static void bpy_class_free(void *pyob_ptr)
// PyDict_Clear(((PyTypeObject*)self)->tp_dict);
//
// remove the rna attribute instead.
- PyDict_DelItemString(((PyTypeObject *)self)->tp_dict, "bl_rna");
+ PyDict_DelItem(((PyTypeObject *)self)->tp_dict, bpy_intern_str_bl_rna);
if(PyErr_Occurred())
PyErr_Clear();
@@ -6358,16 +6397,20 @@ void pyrna_free_types(void)
* the decref. This is not so bad because the leak only happens when re-registering (hold F8)
* - Should still be fixed - Campbell
* */
-static char pyrna_register_class_doc[] =
+PyDoc_STRVAR(pyrna_register_class_doc,
".. method:: register_class(cls)\n"
"\n"
-" Register a subclass of a blender type in (:class:`Panel`, :class:`Menu`, :class:`Header`, :class:`Operator`, :class:`KeyingSetInfo`, :class:`RenderEngine`).\n"
+" Register a subclass of a blender type in (:class:`Panel`,\n"
+" :class:`Menu`, :class:`Header`, :class:`Operator`,\n"
+" :class:`KeyingSetInfo`, :class:`RenderEngine`).\n"
"\n"
-" If the class has a *register* class method it will be called before registration.\n"
+" If the class has a *register* class method it will be called\n"
+" before registration.\n"
"\n"
-" .. note:: :exc:`ValueError` exception is raised if the class is not a subclass of a registerable blender class.\n"
+" .. note:: :exc:`ValueError` exception is raised if the class is not a\n"
+" subclass of a registerable blender class.\n"
"\n"
-;
+);
PyMethodDef meth_bpy_register_class= {"register_class", pyrna_register_class, METH_O, pyrna_register_class_doc};
static PyObject *pyrna_register_class(PyObject *UNUSED(self), PyObject *py_class)
{
@@ -6379,7 +6422,7 @@ static PyObject *pyrna_register_class(PyObject *UNUSED(self), PyObject *py_class
const char *identifier;
PyObject *py_cls_meth;
- if(PyDict_GetItemString(((PyTypeObject*)py_class)->tp_dict, "bl_rna")) {
+ if(PyDict_GetItem(((PyTypeObject*)py_class)->tp_dict, bpy_intern_str_bl_rna)) {
PyErr_SetString(PyExc_AttributeError, "register_class(...): already registered as a subclass");
return NULL;
}
@@ -6418,7 +6461,7 @@ static PyObject *pyrna_register_class(PyObject *UNUSED(self), PyObject *py_class
identifier= ((PyTypeObject*)py_class)->tp_name;
- srna_new= reg(C, &reports, py_class, identifier, bpy_class_validate, bpy_class_call, bpy_class_free);
+ srna_new= reg(CTX_data_main(C), &reports, py_class, identifier, bpy_class_validate, bpy_class_call, bpy_class_free);
if(BPy_reports_to_error(&reports, PyExc_RuntimeError, TRUE) == -1)
return NULL;
@@ -6444,7 +6487,7 @@ static PyObject *pyrna_register_class(PyObject *UNUSED(self), PyObject *py_class
return NULL;
/* call classed register method () */
- py_cls_meth= PyObject_GetAttrString(py_class, "register");
+ py_cls_meth= PyObject_GetAttr(py_class, bpy_intern_str_register);
if(py_cls_meth == NULL) {
PyErr_Clear();
}
@@ -6486,13 +6529,14 @@ static int pyrna_srna_contains_pointer_prop_srna(StructRNA *srna_props, StructRN
return 0;
}
-static char pyrna_unregister_class_doc[] =
+PyDoc_STRVAR(pyrna_unregister_class_doc,
".. method:: unregister_class(cls)\n"
"\n"
" Unload the python class from blender.\n"
"\n"
-" If the class has an *unregister* class method it will be called before unregistering.\n"
-;
+" If the class has an *unregister* class method it will be called\n"
+" before unregistering.\n"
+);
PyMethodDef meth_bpy_unregister_class= {"unregister_class", pyrna_unregister_class, METH_O, pyrna_unregister_class_doc};
static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_class)
{
@@ -6501,7 +6545,7 @@ static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_cla
StructRNA *srna;
PyObject *py_cls_meth;
- /*if(PyDict_GetItemString(((PyTypeObject*)py_class)->tp_dict, "bl_rna")==NULL) {
+ /*if(PyDict_GetItem(((PyTypeObject*)py_class)->tp_dict, bpy_intern_str_bl_rna)==NULL) {
PWM_cursor_wait(0);
PyErr_SetString(PyExc_ValueError, "unregister_class(): not a registered as a subclass");
return NULL;
@@ -6520,7 +6564,7 @@ static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_cla
}
/* call classed unregister method */
- py_cls_meth= PyObject_GetAttrString(py_class, "unregister");
+ py_cls_meth= PyObject_GetAttr(py_class, bpy_intern_str_unregister);
if(py_cls_meth == NULL) {
PyErr_Clear();
}
@@ -6568,9 +6612,9 @@ static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_cla
C= BPy_GetContext();
/* call unregister */
- unreg(C, srna); /* calls bpy_class_free, this decref's py_class */
+ unreg(CTX_data_main(C), srna); /* calls bpy_class_free, this decref's py_class */
- PyDict_DelItemString(((PyTypeObject *)py_class)->tp_dict, "bl_rna");
+ PyDict_DelItem(((PyTypeObject *)py_class)->tp_dict, bpy_intern_str_bl_rna);
if(PyErr_Occurred())
PyErr_Clear(); //return NULL;
diff --git a/source/blender/python/intern/bpy_rna.h b/source/blender/python/intern/bpy_rna.h
index ba19f155842..5db352af53d 100644
--- a/source/blender/python/intern/bpy_rna.h
+++ b/source/blender/python/intern/bpy_rna.h
@@ -44,7 +44,7 @@
/* support for inter references, currently only needed for corner case */
#define USE_PYRNA_STRUCT_REFERENCE
-/* use real collection iterators rather then faking with a list */
+/* use real collection iterators rather than faking with a list */
#define USE_PYRNA_ITER
#else /* WITH_PYTHON_SAFETY */
@@ -148,18 +148,18 @@ typedef struct {
StructRNA *srna_from_self(PyObject *self, const char *error_prefix);
StructRNA *pyrna_struct_as_srna(PyObject *self, int parent, const char *error_prefix);
-void BPY_rna_init( void );
-PyObject *BPY_rna_module( void );
-void BPY_update_rna_module( void );
-/*PyObject *BPY_rna_doc( void );*/
-PyObject *BPY_rna_types( void );
+void BPY_rna_init(void);
+PyObject *BPY_rna_module(void);
+void BPY_update_rna_module(void);
+/*PyObject *BPY_rna_doc(void);*/
+PyObject *BPY_rna_types(void);
-PyObject *pyrna_struct_CreatePyObject( PointerRNA *ptr );
-PyObject *pyrna_prop_CreatePyObject( PointerRNA *ptr, PropertyRNA *prop );
+PyObject *pyrna_struct_CreatePyObject(PointerRNA *ptr);
+PyObject *pyrna_prop_CreatePyObject(PointerRNA *ptr, PropertyRNA *prop);
/* operators also need this to set args */
int pyrna_pydict_to_props(PointerRNA *ptr, PyObject *kw, int all_args, const char *error_prefix);
-PyObject * pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop);
+PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop);
PyObject *pyrna_enum_bitfield_to_py(struct EnumPropertyItem *items, int value);
int pyrna_set_to_enum_bitfield(EnumPropertyItem *items, PyObject *value, int *r_value, const char *error_prefix);
@@ -183,16 +183,13 @@ PyObject *pyrna_math_object_from_array(PointerRNA *ptr, PropertyRNA *prop);
int pyrna_array_contains_py(PointerRNA *ptr, PropertyRNA *prop, PyObject *value);
int pyrna_write_check(void);
+void pyrna_write_set(int val);
int pyrna_struct_validity_check(BPy_StructRNA *pysrna);
int pyrna_prop_validity_check(BPy_PropertyRNA *self);
-void BPY_modules_update(struct bContext *C); //XXX temp solution
-
/* bpy.utils.(un)register_class */
extern PyMethodDef meth_bpy_register_class;
extern PyMethodDef meth_bpy_unregister_class;
-void BPY_id_release(struct ID *id);
-
#endif
diff --git a/source/blender/python/intern/bpy_rna_anim.c b/source/blender/python/intern/bpy_rna_anim.c
index 5e53d4101f6..30d83e196ba 100644
--- a/source/blender/python/intern/bpy_rna_anim.c
+++ b/source/blender/python/intern/bpy_rna_anim.c
@@ -44,6 +44,9 @@
#include "RNA_access.h"
+#include "WM_api.h"
+#include "WM_types.h"
+
#include "bpy_rna.h"
#include "bpy_util.h"
#include "bpy_rna_anim.h"
@@ -320,6 +323,8 @@ PyObject *pyrna_struct_driver_add(BPy_StructRNA *self, PyObject *args)
RNA_pointer_create(id, &RNA_FCurve, fcu, &tptr);
ret= pyrna_struct_CreatePyObject(&tptr);
}
+
+ WM_event_add_notifier(BPy_GetContext(), NC_ANIMATION|ND_FCURVES_ORDER, NULL);
}
else {
/* XXX, should be handled by reports, */
@@ -371,6 +376,8 @@ PyObject *pyrna_struct_driver_remove(BPy_StructRNA *self, PyObject *args)
if(BPy_reports_to_error(&reports, PyExc_RuntimeError, TRUE) == -1)
return NULL;
+
+ WM_event_add_notifier(BPy_GetContext(), NC_ANIMATION|ND_FCURVES_ORDER, NULL);
return PyBool_FromLong(result);
}
diff --git a/source/blender/python/intern/bpy_rna_array.c b/source/blender/python/intern/bpy_rna_array.c
index df295e812be..9843a57e0f2 100644
--- a/source/blender/python/intern/bpy_rna_array.c
+++ b/source/blender/python/intern/bpy_rna_array.c
@@ -68,17 +68,24 @@ static int validate_array_type(PyObject *seq, int dim, int totdim, int dimsize[]
/* check that a sequence contains dimsize[dim] items */
const int seq_size= PySequence_Size(seq);
if(seq_size == -1) {
- PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not %s", error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not '%s'",
+ error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
+ return -1;
}
for (i= 0; i < seq_size; i++) {
PyObject *item;
int ok= 1;
item= PySequence_GetItem(seq, i);
- if (!PySequence_Check(item)) {
+ if(item == NULL) {
+ PyErr_Format(PyExc_TypeError, "%s sequence type '%s' failed to retrieve index %d",
+ error_prefix, Py_TYPE(seq)->tp_name, i);
+ ok= 0;
+ }
+ else if (!PySequence_Check(item)) {
/* BLI_snprintf(error_str, error_str_size, "expected a sequence of %s", item_type_str); */
- PyErr_Format(PyExc_TypeError, "%s expected a sequence of %s, not %s", error_prefix, item_type_str, Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError, "%s expected a sequence of %s, not %s",
+ error_prefix, item_type_str, Py_TYPE(item)->tp_name);
ok= 0;
}
/* arr[3][4][5]
@@ -88,42 +95,50 @@ static int validate_array_type(PyObject *seq, int dim, int totdim, int dimsize[]
dim=0 */
else if (PySequence_Size(item) != dimsize[dim + 1]) {
/* BLI_snprintf(error_str, error_str_size, "sequences of dimension %d should contain %d items", (int)dim + 1, (int)dimsize[dim + 1]); */
- PyErr_Format(PyExc_ValueError, "%s sequences of dimension %d should contain %d items", error_prefix, (int)dim + 1, (int)dimsize[dim + 1]);
+ PyErr_Format(PyExc_ValueError, "%s sequences of dimension %d should contain %d items",
+ error_prefix, (int)dim + 1, (int)dimsize[dim + 1]);
ok= 0;
}
- else if (!validate_array_type(item, dim + 1, totdim, dimsize, check_item_type, item_type_str, error_prefix)) {
+ else if (validate_array_type(item, dim + 1, totdim, dimsize, check_item_type, item_type_str, error_prefix) == -1) {
ok= 0;
}
- Py_DECREF(item);
+ Py_XDECREF(item);
if (!ok)
- return 0;
+ return -1;
}
}
else {
/* check that items are of correct type */
const int seq_size= PySequence_Size(seq);
if(seq_size == -1) {
- PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not %s", error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not '%s'",
+ error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
+ return -1;
}
for (i= 0; i < seq_size; i++) {
PyObject *item= PySequence_GetItem(seq, i);
- if (!check_item_type(item)) {
+ if(item == NULL) {
+ PyErr_Format(PyExc_TypeError, "%s sequence type '%s' failed to retrieve index %d",
+ error_prefix, Py_TYPE(seq)->tp_name, i);
+ return -1;
+ }
+ else if (!check_item_type(item)) {
Py_DECREF(item);
/* BLI_snprintf(error_str, error_str_size, "sequence items should be of type %s", item_type_str); */
- PyErr_Format(PyExc_TypeError, "%s expected sequence items of type %s, not %s", error_prefix, item_type_str, Py_TYPE(item)->tp_name);
- return 0;
+ PyErr_Format(PyExc_TypeError, "%s expected sequence items of type %s, not %s",
+ error_prefix, item_type_str, Py_TYPE(item)->tp_name);
+ return -1;
}
Py_DECREF(item);
}
}
- return 1;
+ return 0; /* ok */
}
/* Returns the number of items in a single- or multi-dimensional sequence. */
@@ -136,8 +151,21 @@ static int count_items(PyObject *seq, int dim)
int i;
for (i= 0; i < seq_size; i++) {
PyObject *item= PySequence_GetItem(seq, i);
- totitem += count_items(item, dim - 1);
- Py_DECREF(item);
+ if(item) {
+ const int tot= count_items(item, dim - 1);
+ Py_DECREF(item);
+ if(tot != -1) {
+ totitem += tot;
+ }
+ else {
+ totitem= -1;
+ break;
+ }
+ }
+ else {
+ totitem= -1;
+ break;
+ }
}
}
else {
@@ -156,18 +184,24 @@ static int validate_array_length(PyObject *rvalue, PointerRNA *ptr, PropertyRNA
totdim= RNA_property_array_dimension(ptr, prop, dimsize);
tot= count_items(rvalue, totdim - lvalue_dim);
- if ((RNA_property_flag(prop) & PROP_DYNAMIC) && lvalue_dim == 0) {
+ if(tot == -1) {
+ PyErr_Format(PyExc_ValueError, "%s %.200s.%.200s, error validating the sequence length",
+ error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop));
+ return -1;
+ }
+ else if ((RNA_property_flag(prop) & PROP_DYNAMIC) && lvalue_dim == 0) {
if (RNA_property_array_length(ptr, prop) != tot) {
#if 0
/* length is flexible */
if (!RNA_property_dynamic_array_set_length(ptr, prop, tot)) {
/* BLI_snprintf(error_str, error_str_size, "%s.%s: array length cannot be changed to %d", RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), tot); */
- PyErr_Format(PyExc_ValueError, "%s %s.%s: array length cannot be changed to %d", error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), tot);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s %s.%s: array length cannot be changed to %d",
+ error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), tot);
+ return -1;
}
#else
*totitem= tot;
- return 1;
+ return 0;
#endif
}
@@ -204,14 +238,15 @@ static int validate_array_length(PyObject *rvalue, PointerRNA *ptr, PropertyRNA
if (tot != len) {
/* BLI_snprintf(error_str, error_str_size, "sequence must have length of %d", len); */
- PyErr_Format(PyExc_ValueError, "%s %.200s.%.200s, sequence must have %d items total, not %d", error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), len, tot);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s %.200s.%.200s, sequence must have %d items total, not %d",
+ error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), len, tot);
+ return -1;
}
}
*totitem= len;
- return 1;
+ return 0;
}
static int validate_array(PyObject *rvalue, PointerRNA *ptr, PropertyRNA *prop, int lvalue_dim, ItemTypeCheckFunc check_item_type, const char *item_type_str, int *totitem, const char *error_prefix)
@@ -221,8 +256,8 @@ static int validate_array(PyObject *rvalue, PointerRNA *ptr, PropertyRNA *prop,
/* validate type first because length validation may modify property array length */
- if (!validate_array_type(rvalue, lvalue_dim, totdim, dimsize, check_item_type, item_type_str, error_prefix))
- return 0;
+ if (validate_array_type(rvalue, lvalue_dim, totdim, dimsize, check_item_type, item_type_str, error_prefix) == -1)
+ return -1;
return validate_array_length(rvalue, ptr, prop, lvalue_dim, totitem, error_prefix);
}
@@ -250,25 +285,39 @@ 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);
- assert(seq_size != -1);
+ /* General note for 'data' being NULL or 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. */
+
+ if(seq_size == -1) {
+ return NULL;
+ }
- for (i= 0; i < seq_size; i++) {
+ for (i= 0; (i < seq_size) && data; i++) {
PyObject *item= PySequence_GetItem(seq, i);
+ if(item) {
+ if (dim + 1 < totdim) {
+ data= copy_values(item, ptr, prop, dim + 1, data, item_size, index, convert_item, rna_set_index);
+ }
+ else {
+ data= copy_value_single(item, ptr, prop, data, item_size, index, convert_item, rna_set_index);
+ }
+
+ Py_DECREF(item);
- if (dim + 1 < totdim) {
- data= copy_values(item, ptr, prop, dim + 1, data, item_size, index, convert_item, rna_set_index);
+ /* data may be NULL, but the for loop checks */
}
else {
- data= copy_value_single(item, ptr, prop, data, item_size, index, convert_item, rna_set_index);
+ return NULL;
}
-
- Py_DECREF(item);
}
return data;
}
-static int py_to_array(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, char *param_data, ItemTypeCheckFunc check_item_type, const char *item_type_str, int item_size, ItemConvertFunc convert_item, RNA_SetArrayFunc rna_set_array, const char *error_prefix)
+static int py_to_array(PyObject *seq, PointerRNA *ptr, PropertyRNA *prop, char *param_data, ItemTypeCheckFunc check_item_type, const char *item_type_str, int item_size, ItemConvertFunc convert_item, RNA_SetArrayFunc rna_set_array, const char *error_prefix)
{
/*int totdim, dim_size[MAX_ARRAY_DIMENSION];*/
int totitem;
@@ -276,8 +325,8 @@ static int py_to_array(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, char *p
/*totdim= RNA_property_array_dimension(ptr, prop, dim_size);*/ /*UNUSED*/
- if (!validate_array(py, ptr, prop, 0, check_item_type, item_type_str, &totitem, error_prefix)) {
- return 0;
+ if (validate_array(seq, ptr, prop, 0, check_item_type, item_type_str, &totitem, error_prefix) == -1) {
+ return -1;
}
if (totitem) {
@@ -297,16 +346,27 @@ static int py_to_array(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, char *p
data= PyMem_MALLOC(item_size * totitem);
}
- copy_values(py, ptr, prop, 0, data, item_size, NULL, convert_item, NULL);
+ /* will only fail in very rare cases since we already validated the
+ * python data, the check here is mainly for completeness. */
+ if(copy_values(seq, ptr, prop, 0, data, item_size, NULL, convert_item, NULL) != NULL) {
+ if (param_data==NULL) {
+ /* NULL can only pass through in case RNA property arraylength is 0 (impossible?) */
+ rna_set_array(ptr, prop, data);
+ PyMem_FREE(data);
+ }
+ }
+ else {
+ if (param_data==NULL) {
+ PyMem_FREE(data);
+ }
- if (param_data==NULL) {
- /* NULL can only pass through in case RNA property arraylength is 0 (impossible?) */
- rna_set_array(ptr, prop, data);
- PyMem_FREE(data);
+ PyErr_Format(PyExc_TypeError, "%s internal error parsing sequence of type '%s' after successful validation",
+ error_prefix, Py_TYPE(seq)->tp_name);
+ return -1;
}
}
- return 1;
+ return 0;
}
static int py_to_array_index(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, int lvalue_dim, int arrayoffset, int index, ItemTypeCheckFunc check_item_type, const char *item_type_str, ItemConvertFunc convert_item, RNA_SetIndexFunc rna_set_index, const char *error_prefix)
@@ -335,21 +395,24 @@ static int py_to_array_index(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, i
if(lvalue_dim == totdim) { /* single item, assign directly */
if(!check_item_type(py)) {
- PyErr_Format(PyExc_TypeError, "%s %.200s.%.200s, expected a %s type, not %s", error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), item_type_str, Py_TYPE(py)->tp_name);
- return 0;
+ PyErr_Format(PyExc_TypeError, "%s %.200s.%.200s, expected a %s type, not %s",
+ error_prefix, RNA_struct_identifier(ptr->type),
+ RNA_property_identifier(prop), item_type_str,
+ Py_TYPE(py)->tp_name);
+ return -1;
}
copy_value_single(py, ptr, prop, NULL, 0, &index, convert_item, rna_set_index);
}
else {
- if (!validate_array(py, ptr, prop, lvalue_dim, check_item_type, item_type_str, &totitem, error_prefix)) {
- return 0;
+ if (validate_array(py, ptr, prop, lvalue_dim, check_item_type, item_type_str, &totitem, error_prefix) == -1) {
+ return -1;
}
if (totitem) {
copy_values(py, ptr, prop, lvalue_dim, NULL, 0, &index, convert_item, rna_set_index);
}
}
- return 1;
+ return 0;
}
static void py_to_float(PyObject *py, char *data)
@@ -414,7 +477,7 @@ int pyrna_py_to_array(PointerRNA *ptr, PropertyRNA *prop, char *param_data, PyOb
break;
default:
PyErr_SetString(PyExc_TypeError, "not an array type");
- ret= 0;
+ ret= -1;
}
return ret;
@@ -435,7 +498,7 @@ int pyrna_py_to_array_index(PointerRNA *ptr, PropertyRNA *prop, int arraydim, in
break;
default:
PyErr_SetString(PyExc_TypeError, "not an array type");
- ret= 0;
+ ret= -1;
}
return ret;
diff --git a/source/blender/python/intern/bpy_util.c b/source/blender/python/intern/bpy_util.c
index 6e321015bc6..1450621d59e 100644
--- a/source/blender/python/intern/bpy_util.c
+++ b/source/blender/python/intern/bpy_util.c
@@ -122,63 +122,3 @@ short BPy_errors_to_report(ReportList *reports)
Py_DECREF(pystring_format); // workaround
return 1;
}
-
-/* array utility function */
-int PyC_AsArray(void *array, PyObject *value, int length, PyTypeObject *type, const char *error_prefix)
-{
- PyObject *value_fast;
- int value_len;
- int i;
-
- if(!(value_fast=PySequence_Fast(value, error_prefix))) {
- return -1;
- }
-
- value_len= PySequence_Fast_GET_SIZE(value_fast);
-
- if(value_len != length) {
- Py_DECREF(value);
- PyErr_Format(PyExc_TypeError,
- "%.200s: invalid sequence length. expected %d, got %d",
- error_prefix, length, value_len);
- return -1;
- }
-
- /* for each type */
- if(type == &PyFloat_Type) {
- float *array_float= array;
- for(i=0; i<length; i++) {
- array_float[i]= PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value_fast, i));
- }
- }
- else if(type == &PyLong_Type) {
- int *array_int= array;
- for(i=0; i<length; i++) {
- array_int[i]= PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i));
- }
- }
- else if(type == &PyBool_Type) {
- int *array_bool= array;
- for(i=0; i<length; i++) {
- array_bool[i]= (PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i)) != 0);
- }
- }
- else {
- Py_DECREF(value_fast);
- PyErr_Format(PyExc_TypeError,
- "%s: internal error %s is invalid",
- error_prefix, type->tp_name);
- return -1;
- }
-
- Py_DECREF(value_fast);
-
- if(PyErr_Occurred()) {
- PyErr_Format(PyExc_TypeError,
- "%s: one or more items could not be used as a %s",
- error_prefix, type->tp_name);
- return -1;
- }
-
- return 0;
-}
diff --git a/source/blender/readblenfile/CMakeLists.txt b/source/blender/python/mathutils/CMakeLists.txt
index 9b869d39697..b28496d612e 100644
--- a/source/blender/readblenfile/CMakeLists.txt
+++ b/source/blender/python/mathutils/CMakeLists.txt
@@ -1,4 +1,3 @@
-# $Id$
# ***** BEGIN GPL LICENSE BLOCK *****
#
# This program is free software; you can redistribute it and/or
@@ -15,28 +14,39 @@
# 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) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Jacques Beaurain.
+# Contributor(s): Campbell Barton
#
# ***** END GPL LICENSE BLOCK *****
set(INC
.
- ../blenloader
- ../blenloader/intern
- ../blenkernel
- ../blenlib
- ../makesdna
+ ../../blenlib
+ ../../blenkernel
+ ../../makesdna
+ ../../../../intern/guardedalloc
+)
+
+set(INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
)
set(SRC
- intern/BLO_readblenfile.c
+ mathutils.c
+ mathutils_Color.c
+ mathutils_Euler.c
+ mathutils_Matrix.c
+ mathutils_Quaternion.c
+ mathutils_Vector.c
+ mathutils_geometry.c
- BLO_readblenfile.h
+ mathutils.h
+ mathutils_Color.h
+ mathutils_Euler.h
+ mathutils_Matrix.h
+ mathutils_Quaternion.h
+ mathutils_Vector.h
+ mathutils_geometry.h
)
-blender_add_lib(bf_readblenfile "${SRC}" "${INC}")
+
+blender_add_lib(bf_python_mathutils "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/python/generic/mathutils.c b/source/blender/python/mathutils/mathutils.c
index e94f7f798fc..50b75b09cb2 100644
--- a/source/blender/python/generic/mathutils.c
+++ b/source/blender/python/mathutils/mathutils.c
@@ -38,9 +38,9 @@
#include "BLI_math.h"
#include "BLI_utildefines.h"
-static char M_Mathutils_doc[] =
+PyDoc_STRVAR(M_Mathutils_doc,
"This module provides access to matrices, eulers, quaternions and vectors."
-;
+);
static int mathutils_array_parse_fast(float *array, int array_min, int array_max, PyObject *value, const char *error_prefix)
{
PyObject *value_fast= NULL;
@@ -57,8 +57,16 @@ static int mathutils_array_parse_fast(float *array, int array_min, int array_max
size= PySequence_Fast_GET_SIZE(value_fast);
if(size > array_max || size < array_min) {
- if (array_max == array_min) PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected %d", error_prefix, size, array_max);
- else PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected [%d - %d]", error_prefix, size, array_min, array_max);
+ if (array_max == array_min) {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected %d",
+ error_prefix, size, array_max);
+ }
+ else {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected [%d - %d]",
+ error_prefix, size, array_min, array_max);
+ }
Py_DECREF(value_fast);
return -1;
}
@@ -67,7 +75,10 @@ static int mathutils_array_parse_fast(float *array, int array_min, int array_max
do {
i--;
if(((array[i]= PyFloat_AsDouble((item= PySequence_Fast_GET_ITEM(value_fast, i)))) == -1.0f) && PyErr_Occurred()) {
- PyErr_Format(PyExc_ValueError, "%.200s: sequence index %d expected a number, found '%.200s' type, ", error_prefix, i, Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "%.200s: sequence index %d expected a number, "
+ "found '%.200s' type, ",
+ error_prefix, i, Py_TYPE(item)->tp_name);
Py_DECREF(value_fast);
return -1;
}
@@ -93,8 +104,16 @@ int mathutils_array_parse(float *array, int array_min, int array_max, PyObject *
}
if(size > array_max || size < array_min) {
- if (array_max == array_min) PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected %d", error_prefix, size, array_max);
- else PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected [%d - %d]", error_prefix, size, array_min, array_max);
+ if (array_max == array_min) {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected %d",
+ error_prefix, size, array_max);
+ }
+ else {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected [%d - %d]",
+ error_prefix, size, array_min, array_max);
+ }
return -1;
}
@@ -135,7 +154,9 @@ int mathutils_any_to_rotmat(float rmat[3][3], PyObject *value, const char *error
return -1;
}
else if(((MatrixObject *)value)->col_size < 3 || ((MatrixObject *)value)->row_size < 3) {
- PyErr_Format(PyExc_ValueError, "%.200s: matrix must have minimum 3x3 dimensions", error_prefix);
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: matrix must have minimum 3x3 dimensions",
+ error_prefix);
return -1;
}
else {
@@ -145,7 +166,9 @@ int mathutils_any_to_rotmat(float rmat[3][3], PyObject *value, const char *error
}
}
else {
- PyErr_Format(PyExc_TypeError, "%.200s: expected a Euler, Quaternion or Matrix type, found %.200s", error_prefix, Py_TYPE(value)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "%.200s: expected a Euler, Quaternion or Matrix type, "
+ "found %.200s", error_prefix, Py_TYPE(value)->tp_name);
return -1;
}
}
@@ -213,8 +236,11 @@ int _BaseMathObject_ReadCallback(BaseMathObject *self)
if(cb->get(self, self->cb_subtype) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s read, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s read, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -224,8 +250,11 @@ int _BaseMathObject_WriteCallback(BaseMathObject *self)
if(cb->set(self, self->cb_subtype) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s write, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s write, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -235,8 +264,11 @@ int _BaseMathObject_ReadIndexCallback(BaseMathObject *self, int index)
if(cb->get_index(self, self->cb_subtype, index) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s read index, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s read index, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -246,8 +278,11 @@ int _BaseMathObject_WriteIndexCallback(BaseMathObject *self, int index)
if(cb->set_index(self, self->cb_subtype, index) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s write index, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s write index, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -310,7 +345,7 @@ static struct PyModuleDef M_Mathutils_module_def = {
NULL, /* m_free */
};
-PyMODINIT_FUNC BPyInit_mathutils(void)
+PyMODINIT_FUNC PyInit_mathutils(void)
{
PyObject *submodule;
PyObject *item;
@@ -336,7 +371,7 @@ PyMODINIT_FUNC BPyInit_mathutils(void)
PyModule_AddObject(submodule, "Color", (PyObject *)&color_Type);
/* submodule */
- PyModule_AddObject(submodule, "geometry", (item=BPyInit_mathutils_geometry()));
+ PyModule_AddObject(submodule, "geometry", (item=PyInit_mathutils_geometry()));
/* XXX, python doesnt do imports with this usefully yet
* 'from mathutils.geometry import PolyFill'
* ...fails without this. */
diff --git a/source/blender/python/generic/mathutils.h b/source/blender/python/mathutils/mathutils.h
index 449708d1ac1..b798b5e7003 100644
--- a/source/blender/python/generic/mathutils.h
+++ b/source/blender/python/mathutils/mathutils.h
@@ -67,7 +67,7 @@ int BaseMathObject_traverse(BaseMathObject *self, visitproc visit, void *arg);
int BaseMathObject_clear(BaseMathObject *self);
void BaseMathObject_dealloc(BaseMathObject * self);
-PyMODINIT_FUNC BPyInit_mathutils(void);
+PyMODINIT_FUNC PyInit_mathutils(void);
int EXPP_FloatsAreEqual(float A, float B, int floatSteps);
int EXPP_VectorsAreEqual(float *vecA, float *vecB, int size, int floatSteps);
@@ -108,4 +108,6 @@ int _BaseMathObject_WriteIndexCallback(BaseMathObject *self, int index);
int mathutils_array_parse(float *array, int array_min, int array_max, PyObject *value, const char *error_prefix);
int mathutils_any_to_rotmat(float rmat[3][3], PyObject *value, const char *error_prefix);
+int column_vector_multiplication(float rvec[4], VectorObject *vec, MatrixObject *mat);
+
#endif /* MATHUTILS_H */
diff --git a/source/blender/python/generic/mathutils_Color.c b/source/blender/python/mathutils/mathutils_Color.c
index 2b68828ea0a..d0c7ec72cea 100644
--- a/source/blender/python/generic/mathutils_Color.c
+++ b/source/blender/python/mathutils/mathutils_Color.c
@@ -43,7 +43,9 @@ static PyObject *Color_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
float col[3]= {0.0f, 0.0f, 0.0f};
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Color(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Color(): "
+ "takes no keyword args");
return NULL;
}
@@ -55,7 +57,9 @@ static PyObject *Color_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
break;
default:
- PyErr_SetString(PyExc_TypeError, "mathutils.Color(): more then a single arg given");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Color(): "
+ "more then a single arg given");
return NULL;
}
return newColorObject(col, Py_NEW, type);
@@ -85,7 +89,7 @@ static PyObject *Color_ToTupleExt(ColorObject *self, int ndigits)
return ret;
}
-static char Color_copy_doc[] =
+PyDoc_STRVAR(Color_copy_doc,
".. function:: copy()\n"
"\n"
" Returns a copy of this color.\n"
@@ -93,8 +97,9 @@ static char Color_copy_doc[] =
" :return: A copy of the color.\n"
" :rtype: :class:`Color`\n"
"\n"
-" .. note:: use this to get a copy of a wrapped color with no reference to the original data.\n"
-;
+" .. note:: use this to get a copy of a wrapped color with\n"
+" no reference to the original data.\n"
+);
static PyObject *Color_copy(ColorObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -173,7 +178,9 @@ static PyObject *Color_item(ColorObject * self, int i)
if(i<0) i= COLOR_SIZE-i;
if(i < 0 || i >= COLOR_SIZE) {
- PyErr_SetString(PyExc_IndexError, "color[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "color[attribute]: "
+ "array index out of range");
return NULL;
}
@@ -185,19 +192,22 @@ static PyObject *Color_item(ColorObject * self, int i)
}
//----------------------------object[]-------------------------
//sequence accessor (set)
-static int Color_ass_item(ColorObject * self, int i, PyObject * value)
+static int Color_ass_item(ColorObject * self, int i, PyObject *value)
{
float f = PyFloat_AsDouble(value);
if(f == -1 && PyErr_Occurred()) { // parsed item not a number
- PyErr_SetString(PyExc_TypeError, "color[attribute] = x: argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "color[attribute] = x: "
+ "argument not a number");
return -1;
}
if(i<0) i= COLOR_SIZE-i;
if(i < 0 || i >= COLOR_SIZE){
- PyErr_SetString(PyExc_IndexError, "color[attribute] = x: array assignment index out of range");
+ PyErr_SetString(PyExc_IndexError, "color[attribute] = x: "
+ "array assignment index out of range");
return -1;
}
@@ -232,7 +242,7 @@ static PyObject *Color_slice(ColorObject * self, int begin, int end)
}
//----------------------------object[z:y]------------------------
//sequence slice (set)
-static int Color_ass_slice(ColorObject * self, int begin, int end, PyObject * seq)
+static int Color_ass_slice(ColorObject *self, int begin, int end, PyObject *seq)
{
int i, size;
float col[COLOR_SIZE];
@@ -249,7 +259,9 @@ static int Color_ass_slice(ColorObject * self, int begin, int end, PyObject * se
return -1;
if(size != (end - begin)){
- PyErr_SetString(PyExc_TypeError, "color[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "color[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -284,12 +296,15 @@ static PyObject *Color_subscript(ColorObject *self, PyObject *item)
return Color_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with color");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with color");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "color indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "color indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -313,12 +328,15 @@ static int Color_ass_subscript(ColorObject *self, PyObject *item, PyObject *valu
if (step == 1)
return Color_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with color");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with color");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "color indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "color indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -343,13 +361,300 @@ static PyMappingMethods Color_AsMapping = {
(objobjargproc)Color_ass_subscript
};
+/* numeric */
+
+
+/* addition: obj + obj */
+static PyObject *Color_add(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color1 = NULL, *color2 = NULL;
+ float col[COLOR_SIZE];
+
+ if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
+ PyErr_SetString(PyExc_TypeError,
+ "Color addition: "
+ "arguments not valid for this operation");
+ return NULL;
+ }
+ color1 = (ColorObject*)v1;
+ color2 = (ColorObject*)v2;
+
+ if(BaseMath_ReadCallback(color1) == -1 || BaseMath_ReadCallback(color2) == -1)
+ return NULL;
+
+ add_vn_vnvn(col, color1->col, color2->col, COLOR_SIZE);
+
+ return newColorObject(col, Py_NEW, Py_TYPE(v1));
+}
+
+/* addition in-place: obj += obj */
+static PyObject *Color_iadd(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color1 = NULL, *color2 = NULL;
+
+ if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
+ PyErr_SetString(PyExc_TypeError,
+ "Color addition: "
+ "arguments not valid for this operation");
+ return NULL;
+ }
+ color1 = (ColorObject*)v1;
+ color2 = (ColorObject*)v2;
+
+ if(BaseMath_ReadCallback(color1) == -1 || BaseMath_ReadCallback(color2) == -1)
+ return NULL;
+
+ add_vn_vn(color1->col, color2->col, COLOR_SIZE);
+
+ (void)BaseMath_WriteCallback(color1);
+ Py_INCREF(v1);
+ return v1;
+}
+
+/* subtraction: obj - obj */
+static PyObject *Color_sub(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color1 = NULL, *color2 = NULL;
+ float col[COLOR_SIZE];
+
+ if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
+ PyErr_SetString(PyExc_TypeError,
+ "Color subtraction: "
+ "arguments not valid for this operation");
+ return NULL;
+ }
+ color1 = (ColorObject*)v1;
+ color2 = (ColorObject*)v2;
+
+ if(BaseMath_ReadCallback(color1) == -1 || BaseMath_ReadCallback(color2) == -1)
+ return NULL;
+
+ sub_vn_vnvn(col, color1->col, color2->col, COLOR_SIZE);
+
+ return newColorObject(col, Py_NEW, Py_TYPE(v1));
+}
+
+/* subtraction in-place: obj -= obj */
+static PyObject *Color_isub(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color1= NULL, *color2= NULL;
+
+ if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
+ PyErr_SetString(PyExc_TypeError,
+ "Color subtraction: "
+ "arguments not valid for this operation");
+ return NULL;
+ }
+ color1 = (ColorObject*)v1;
+ color2 = (ColorObject*)v2;
+
+ if(BaseMath_ReadCallback(color1) == -1 || BaseMath_ReadCallback(color2) == -1)
+ return NULL;
+
+ sub_vn_vn(color1->col, color2->col, COLOR_SIZE);
+
+ (void)BaseMath_WriteCallback(color1);
+ Py_INCREF(v1);
+ return v1;
+}
+
+static PyObject *color_mul_float(ColorObject *color, const float scalar)
+{
+ float tcol[COLOR_SIZE];
+ mul_vn_vn_fl(tcol, color->col, COLOR_SIZE, scalar);
+ return newColorObject(tcol, Py_NEW, Py_TYPE(color));
+}
+
+
+static PyObject *Color_mul(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color1 = NULL, *color2 = NULL;
+ float scalar;
+
+ if ColorObject_Check(v1) {
+ color1= (ColorObject *)v1;
+ if(BaseMath_ReadCallback(color1) == -1)
+ return NULL;
+ }
+ if ColorObject_Check(v2) {
+ color2= (ColorObject *)v2;
+ if(BaseMath_ReadCallback(color2) == -1)
+ return NULL;
+ }
+
+
+ /* make sure v1 is always the vector */
+ if (color1 && color2) {
+ /* col * col, dont support yet! */
+ }
+ else if (color1) {
+ if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* COLOR * FLOAT */
+ return color_mul_float(color1, scalar);
+ }
+ }
+ else if (color2) {
+ if (((scalar= PyFloat_AsDouble(v1)) == -1.0f && PyErr_Occurred())==0) { /* FLOAT * COLOR */
+ return color_mul_float(color2, scalar);
+ }
+ }
+ else {
+ BLI_assert(!"internal error");
+ }
+
+ PyErr_Format(PyExc_TypeError,
+ "Color multiplication: not supported between "
+ "'%.200s' and '%.200s' types",
+ Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
+ return NULL;
+}
+
+static PyObject *Color_div(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color1 = NULL;
+ float scalar;
+
+ if ColorObject_Check(v1) {
+ color1= (ColorObject *)v1;
+ if(BaseMath_ReadCallback(color1) == -1)
+ return NULL;
+ }
+ else {
+ PyErr_SetString(PyExc_TypeError,
+ "Color division not supported in this order");
+ return NULL;
+ }
+
+ /* make sure v1 is always the vector */
+ if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* COLOR * FLOAT */
+ if(scalar==0.0f) {
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Color division: divide by zero error");
+ return NULL;
+ }
+ return color_mul_float(color1, 1.0f / scalar);
+ }
+
+ PyErr_Format(PyExc_TypeError,
+ "Color multiplication: not supported between "
+ "'%.200s' and '%.200s' types",
+ Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
+ return NULL;
+}
+
+/* mulplication in-place: obj *= obj */
+static PyObject *Color_imul(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color = (ColorObject *)v1;
+ float scalar;
+
+ if(BaseMath_ReadCallback(color) == -1)
+ return NULL;
+
+ /* only support color *= float */
+ if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* COLOR *= FLOAT */
+ mul_vn_fl(color->col, COLOR_SIZE, scalar);
+ }
+ else {
+ PyErr_SetString(PyExc_TypeError,
+ "Color multiplication: "
+ "arguments not acceptable for this operation");
+ return NULL;
+ }
+
+ (void)BaseMath_WriteCallback(color);
+ Py_INCREF(v1);
+ return v1;
+}
+
+/* mulplication in-place: obj *= obj */
+static PyObject *Color_idiv(PyObject *v1, PyObject *v2)
+{
+ ColorObject *color = (ColorObject *)v1;
+ float scalar;
+
+ if(BaseMath_ReadCallback(color) == -1)
+ return NULL;
+
+ /* only support color /= float */
+ if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* COLOR /= FLOAT */
+ if(scalar==0.0f) {
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Color division: divide by zero error");
+ return NULL;
+ }
+
+ mul_vn_fl(color->col, COLOR_SIZE, 1.0f / scalar);
+ }
+ else {
+ PyErr_SetString(PyExc_TypeError,
+ "Color multiplication: "
+ "arguments not acceptable for this operation");
+ return NULL;
+ }
+
+ (void)BaseMath_WriteCallback(color);
+ Py_INCREF(v1);
+ return v1;
+}
+
+/* -obj
+ returns the negative of this object*/
+static PyObject *Color_neg(ColorObject *self)
+{
+ float tcol[COLOR_SIZE];
+
+ if(BaseMath_ReadCallback(self) == -1)
+ return NULL;
+
+ negate_vn_vn(tcol, self->col, COLOR_SIZE);
+ return newColorObject(tcol, Py_NEW, Py_TYPE(self));
+}
+
+
+static PyNumberMethods Color_NumMethods = {
+ (binaryfunc) Color_add, /*nb_add*/
+ (binaryfunc) Color_sub, /*nb_subtract*/
+ (binaryfunc) Color_mul, /*nb_multiply*/
+ NULL, /*nb_remainder*/
+ NULL, /*nb_divmod*/
+ NULL, /*nb_power*/
+ (unaryfunc) Color_neg, /*nb_negative*/
+ (unaryfunc) NULL, /*tp_positive*/
+ (unaryfunc) NULL, /*tp_absolute*/
+ (inquiry) NULL, /*tp_bool*/
+ (unaryfunc) NULL, /*nb_invert*/
+ NULL, /*nb_lshift*/
+ (binaryfunc)NULL, /*nb_rshift*/
+ NULL, /*nb_and*/
+ NULL, /*nb_xor*/
+ NULL, /*nb_or*/
+ NULL, /*nb_int*/
+ NULL, /*nb_reserved*/
+ NULL, /*nb_float*/
+ Color_iadd, /* nb_inplace_add */
+ Color_isub, /* nb_inplace_subtract */
+ Color_imul, /* nb_inplace_multiply */
+ NULL, /* nb_inplace_remainder */
+ NULL, /* nb_inplace_power */
+ NULL, /* nb_inplace_lshift */
+ NULL, /* nb_inplace_rshift */
+ NULL, /* nb_inplace_and */
+ NULL, /* nb_inplace_xor */
+ NULL, /* nb_inplace_or */
+ NULL, /* nb_floor_divide */
+ Color_div, /* nb_true_divide */
+ NULL, /* nb_inplace_floor_divide */
+ Color_idiv, /* nb_inplace_true_divide */
+ NULL, /* nb_index */
+};
+
/* color channel, vector.r/g/b */
static PyObject *Color_getChannel(ColorObject * self, void *type)
{
return Color_item(self, GET_INT_FROM_POINTER(type));
}
-static int Color_setChannel(ColorObject * self, PyObject * value, void * type)
+static int Color_setChannel(ColorObject * self, PyObject *value, void * type)
{
return Color_ass_item(self, GET_INT_FROM_POINTER(type), value);
}
@@ -368,14 +673,16 @@ static PyObject *Color_getChannelHSV(ColorObject * self, void *type)
return PyFloat_FromDouble(hsv[i]);
}
-static int Color_setChannelHSV(ColorObject * self, PyObject * value, void * type)
+static int Color_setChannelHSV(ColorObject * self, PyObject *value, void * type)
{
float hsv[3];
int i= GET_INT_FROM_POINTER(type);
float f = PyFloat_AsDouble(value);
if(f == -1 && PyErr_Occurred()) {
- PyErr_SetString(PyExc_TypeError, "color.h/s/v = value: argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "color.h/s/v = value: "
+ "argument not a number");
return -1;
}
@@ -411,7 +718,7 @@ static PyObject *Color_getHSV(ColorObject * self, void *UNUSED(closure))
return ret;
}
-static int Color_setHSV(ColorObject * self, PyObject * value, void *UNUSED(closure))
+static int Color_setHSV(ColorObject * self, PyObject *value, void *UNUSED(closure))
{
float hsv[3];
@@ -458,9 +765,9 @@ static struct PyMethodDef Color_methods[] = {
};
//------------------PY_OBECT DEFINITION--------------------------
-static char color_doc[] =
+PyDoc_STRVAR(color_doc,
"This object gives access to Colors in Blender."
-;
+);
PyTypeObject color_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"mathutils.Color", //tp_name
@@ -472,7 +779,7 @@ PyTypeObject color_Type = {
NULL, //tp_setattr
NULL, //tp_compare
(reprfunc) Color_repr, //tp_repr
- NULL, //tp_as_number
+ &Color_NumMethods, //tp_as_number
&Color_SeqMethods, //tp_as_sequence
&Color_AsMapping, //tp_as_mapping
NULL, //tp_hash
@@ -541,8 +848,7 @@ PyObject *newColorObject(float *col, int type, PyTypeObject *base_type)
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Color(): invalid type");
- return NULL;
+ Py_FatalError("Color(): invalid type!");
}
}
diff --git a/source/blender/python/generic/mathutils_Color.h b/source/blender/python/mathutils/mathutils_Color.h
index 0fc880363f4..0fc880363f4 100644
--- a/source/blender/python/generic/mathutils_Color.h
+++ b/source/blender/python/mathutils/mathutils_Color.h
diff --git a/source/blender/python/generic/mathutils_Euler.c b/source/blender/python/mathutils/mathutils_Euler.c
index d8dd4e5fbb3..5c609d8961f 100644
--- a/source/blender/python/generic/mathutils_Euler.c
+++ b/source/blender/python/mathutils/mathutils_Euler.c
@@ -38,10 +38,6 @@
#include "BLI_math.h"
#include "BLI_utildefines.h"
-#ifndef int32_t
-#include "BLO_sys_types.h"
-#endif
-
#define EULER_SIZE 3
//----------------------------------mathutils.Euler() -------------------
@@ -55,7 +51,9 @@ static PyObject *Euler_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
short order= EULER_ORDER_XYZ;
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Euler(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Euler(): "
+ "takes no keyword args");
return NULL;
}
@@ -87,7 +85,7 @@ static const char *euler_order_str(EulerObject *self)
short euler_order_from_string(const char *str, const char *error_prefix)
{
if((str[0] && str[1] && str[2] && str[3]=='\0')) {
- switch(*((int32_t *)str)) {
+ switch(*((PY_INT32_T *)str)) {
case 'X'|'Y'<<8|'Z'<<16: return EULER_ORDER_XYZ;
case 'X'|'Z'<<8|'Y'<<16: return EULER_ORDER_XZY;
case 'Y'|'X'<<8|'Z'<<16: return EULER_ORDER_YXZ;
@@ -97,7 +95,9 @@ short euler_order_from_string(const char *str, const char *error_prefix)
}
}
- PyErr_Format(PyExc_TypeError, "%s: invalid euler order '%s'", error_prefix, str);
+ PyErr_Format(PyExc_ValueError,
+ "%s: invalid euler order '%s'",
+ error_prefix, str);
return -1;
}
@@ -126,14 +126,14 @@ static PyObject *Euler_ToTupleExt(EulerObject *self, int ndigits)
//-----------------------------METHODS----------------------------
//return a quaternion representation of the euler
-static char Euler_to_quaternion_doc[] =
+PyDoc_STRVAR(Euler_to_quaternion_doc,
".. method:: to_quaternion()\n"
"\n"
" Return a quaternion representation of the euler.\n"
"\n"
" :return: Quaternion representation of the euler.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Euler_to_quaternion(EulerObject * self)
{
float quat[4];
@@ -147,14 +147,14 @@ static PyObject *Euler_to_quaternion(EulerObject * self)
}
//return a matrix representation of the euler
-static char Euler_to_matrix_doc[] =
+PyDoc_STRVAR(Euler_to_matrix_doc,
".. method:: to_matrix()\n"
"\n"
" Return a matrix representation of the euler.\n"
"\n"
" :return: A 3x3 roation matrix representation of the euler.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Euler_to_matrix(EulerObject * self)
{
float mat[9];
@@ -167,12 +167,11 @@ static PyObject *Euler_to_matrix(EulerObject * self)
return newMatrixObject(mat, 3, 3 , Py_NEW, NULL);
}
-//sets the euler to 0,0,0
-static char Euler_zero_doc[] =
+PyDoc_STRVAR(Euler_zero_doc,
".. method:: zero()\n"
"\n"
" Set all values to zero.\n"
-;
+);
static PyObject *Euler_zero(EulerObject * self)
{
zero_v3(self->eul);
@@ -183,27 +182,31 @@ static PyObject *Euler_zero(EulerObject * self)
Py_RETURN_NONE;
}
-static char Euler_rotate_axis_doc[] =
+PyDoc_STRVAR(Euler_rotate_axis_doc,
".. method:: rotate_axis(axis, angle)\n"
"\n"
-" Rotates the euler a certain amount and returning a unique euler rotation (no 720 degree pitches).\n"
+" Rotates the euler a certain amount and returning a unique euler rotation\n"
+" (no 720 degree pitches).\n"
"\n"
" :arg axis: single character in ['X, 'Y', 'Z'].\n"
" :type axis: string\n"
" :arg angle: angle in radians.\n"
" :type angle: float\n"
-;
+);
static PyObject *Euler_rotate_axis(EulerObject * self, PyObject *args)
{
float angle = 0.0f;
const char *axis;
if(!PyArg_ParseTuple(args, "sf:rotate", &axis, &angle)){
- PyErr_SetString(PyExc_TypeError, "euler.rotate(): expected angle (float) and axis (x, y, z)");
+ PyErr_SetString(PyExc_TypeError,
+ "euler.rotate(): "
+ "expected angle (float) and axis (x, y, z)");
return NULL;
}
if(!(ELEM3(*axis, 'X', 'Y', 'Z') && axis[1]=='\0')){
- PyErr_SetString(PyExc_TypeError, "euler.rotate(): expected axis to be 'X', 'Y' or 'Z'");
+ PyErr_SetString(PyExc_ValueError, "euler.rotate(): "
+ "expected axis to be 'X', 'Y' or 'Z'");
return NULL;
}
@@ -218,14 +221,14 @@ static PyObject *Euler_rotate_axis(EulerObject * self, PyObject *args)
Py_RETURN_NONE;
}
-static char Euler_rotate_doc[] =
+PyDoc_STRVAR(Euler_rotate_doc,
".. method:: rotate(other)\n"
"\n"
" Rotates the euler a by another mathutils value.\n"
"\n"
" :arg other: rotation component of mathutils value\n"
" :type other: :class:`Euler`, :class:`Quaternion` or :class:`Matrix`\n"
-;
+);
static PyObject *Euler_rotate(EulerObject * self, PyObject *value)
{
float self_rmat[3][3], other_rmat[3][3], rmat[3][3];
@@ -245,13 +248,14 @@ static PyObject *Euler_rotate(EulerObject * self, PyObject *value)
Py_RETURN_NONE;
}
-static char Euler_make_compatible_doc[] =
+PyDoc_STRVAR(Euler_make_compatible_doc,
".. method:: make_compatible(other)\n"
"\n"
-" Make this euler compatible with another, so interpolating between them works as intended.\n"
+" Make this euler compatible with another,\n"
+" so interpolating between them works as intended.\n"
"\n"
" .. note:: the rotation order is not taken into account for this function.\n"
-;
+);
static PyObject *Euler_make_compatible(EulerObject * self, PyObject *value)
{
float teul[EULER_SIZE];
@@ -272,7 +276,7 @@ static PyObject *Euler_make_compatible(EulerObject * self, PyObject *value)
//----------------------------Euler.rotate()-----------------------
// return a copy of the euler
-static char Euler_copy_doc[] =
+PyDoc_STRVAR(Euler_copy_doc,
".. function:: copy()\n"
"\n"
" Returns a copy of this euler.\n"
@@ -280,8 +284,9 @@ static char Euler_copy_doc[] =
" :return: A copy of the euler.\n"
" :rtype: :class:`Euler`\n"
"\n"
-" .. note:: use this to get a copy of a wrapped euler with no reference to the original data.\n"
-;
+" .. note:: use this to get a copy of a wrapped euler with\n"
+" no reference to the original data.\n"
+);
static PyObject *Euler_copy(EulerObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -358,7 +363,9 @@ static PyObject *Euler_item(EulerObject * self, int i)
if(i<0) i= EULER_SIZE-i;
if(i < 0 || i >= EULER_SIZE) {
- PyErr_SetString(PyExc_IndexError, "euler[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "euler[attribute]: "
+ "array index out of range");
return NULL;
}
@@ -375,14 +382,18 @@ static int Euler_ass_item(EulerObject * self, int i, PyObject *value)
float f = PyFloat_AsDouble(value);
if(f == -1 && PyErr_Occurred()) { // parsed item not a number
- PyErr_SetString(PyExc_TypeError, "euler[attribute] = x: argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "euler[attribute] = x: "
+ "argument not a number");
return -1;
}
if(i<0) i= EULER_SIZE-i;
if(i < 0 || i >= EULER_SIZE){
- PyErr_SetString(PyExc_IndexError, "euler[attribute] = x: array assignment index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "euler[attribute] = x: "
+ "array assignment index out of range");
return -1;
}
@@ -417,7 +428,7 @@ static PyObject *Euler_slice(EulerObject * self, int begin, int end)
}
//----------------------------object[z:y]------------------------
//sequence slice (set)
-static int Euler_ass_slice(EulerObject * self, int begin, int end, PyObject * seq)
+static int Euler_ass_slice(EulerObject *self, int begin, int end, PyObject *seq)
{
int i, size;
float eul[EULER_SIZE];
@@ -434,7 +445,9 @@ static int Euler_ass_slice(EulerObject * self, int begin, int end, PyObject * se
return -1;
if(size != (end - begin)){
- PyErr_SetString(PyExc_TypeError, "euler[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "euler[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -469,12 +482,15 @@ static PyObject *Euler_subscript(EulerObject *self, PyObject *item)
return Euler_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with eulers");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with eulers");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "euler indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "euler indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -499,12 +515,15 @@ static int Euler_ass_subscript(EulerObject *self, PyObject *item, PyObject *valu
if (step == 1)
return Euler_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with euler");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with euler");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "euler indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "euler indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -593,9 +612,9 @@ static struct PyMethodDef Euler_methods[] = {
};
//------------------PY_OBECT DEFINITION--------------------------
-static char euler_doc[] =
+PyDoc_STRVAR(euler_doc,
"This object gives access to Eulers in Blender."
-;
+);
PyTypeObject euler_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"mathutils.Euler", //tp_name
@@ -678,8 +697,7 @@ PyObject *newEulerObject(float *eul, short order, int type, PyTypeObject *base_t
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Euler(): invalid type");
- return NULL;
+ Py_FatalError("Euler(): invalid type!");
}
self->order= order;
diff --git a/source/blender/python/generic/mathutils_Euler.h b/source/blender/python/mathutils/mathutils_Euler.h
index 849e16c2bb7..849e16c2bb7 100644
--- a/source/blender/python/generic/mathutils_Euler.h
+++ b/source/blender/python/mathutils/mathutils_Euler.h
diff --git a/source/blender/python/generic/mathutils_Matrix.c b/source/blender/python/mathutils/mathutils_Matrix.c
index 41d9626db16..3953171f263 100644
--- a/source/blender/python/generic/mathutils_Matrix.c
+++ b/source/blender/python/mathutils/mathutils_Matrix.c
@@ -35,7 +35,6 @@
#include "mathutils.h"
#include "BLI_math.h"
-#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
static PyObject *Matrix_copy(MatrixObject *self);
@@ -119,7 +118,9 @@ Mathutils_Callback mathutils_matrix_vector_cb = {
static PyObject *Matrix_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Matrix(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Matrix(): "
+ "takes no keyword args");
return NULL;
}
@@ -130,14 +131,15 @@ static PyObject *Matrix_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
PyObject *arg= PyTuple_GET_ITEM(args, 0);
- const unsigned short row_size= PySequence_Size(arg); /* -1 is an error, size checks will accunt for this */
+ /* -1 is an error, size checks will accunt for this */
+ const unsigned short row_size= PySequence_Size(arg);
- if(IN_RANGE_INCL(row_size, 2, 4)) {
+ if(row_size >= 2 && row_size <= 4) {
PyObject *item= PySequence_GetItem(arg, 0);
const unsigned short col_size= PySequence_Size(item);
Py_XDECREF(item);
- if(IN_RANGE_INCL(col_size, 2, 4)) {
+ if(col_size >= 2 && col_size <= 4) {
/* sane row & col size, new matrix and assign as slice */
PyObject *matrix= newMatrixObject(NULL, row_size, col_size, Py_NEW, type);
if(Matrix_ass_slice((MatrixObject *)matrix, 0, INT_MAX, arg) == 0) {
@@ -152,7 +154,9 @@ static PyObject *Matrix_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
/* will overwrite error */
- PyErr_SetString(PyExc_TypeError, "mathutils.Matrix(): expects no args or 2-4 numeric sequences");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Matrix(): "
+ "expects no args or 2-4 numeric sequences");
return NULL;
}
@@ -186,7 +190,7 @@ static void matrix_3x3_as_4x4(float mat[16])
/*-----------------------CLASS-METHODS----------------------------*/
//mat is a 1D array of floats - row[0][0], row[0][1], row[1][0], etc.
-static char C_Matrix_Rotation_doc[] =
+PyDoc_STRVAR(C_Matrix_Rotation_doc,
".. classmethod:: Rotation(angle, size, axis)\n"
"\n"
" Create a matrix representing a rotation.\n"
@@ -195,11 +199,12 @@ static char C_Matrix_Rotation_doc[] =
" :type angle: float\n"
" :arg size: The size of the rotation matrix to construct [2, 4].\n"
" :type size: int\n"
-" :arg axis: a string in ['X', 'Y', 'Z'] or a 3D Vector Object (optional when size is 2).\n"
+" :arg axis: a string in ['X', 'Y', 'Z'] or a 3D Vector Object\n"
+" (optional when size is 2).\n"
" :type axis: string or :class:`Vector`\n"
" :return: A new rotation matrix.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
{
PyObject *vec= NULL;
@@ -210,14 +215,19 @@ static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
if(!PyArg_ParseTuple(args, "di|O", &angle, &matSize, &vec)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.RotationMatrix(angle, size, axis): expected float int and a string or vector");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.RotationMatrix(angle, size, axis): "
+ "expected float int and a string or vector");
return NULL;
}
if(vec && PyUnicode_Check(vec)) {
axis= _PyUnicode_AsString((PyObject *)vec);
if(axis==NULL || axis[0]=='\0' || axis[1]!='\0' || axis[0] < 'X' || axis[0] > 'Z') {
- PyErr_SetString(PyExc_TypeError, "mathutils.RotationMatrix(): 3rd argument axis value must be a 3D vector or a string in 'X', 'Y', 'Z'");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "3rd argument axis value must be a 3D vector "
+ "or a string in 'X', 'Y', 'Z'");
return NULL;
}
else {
@@ -229,15 +239,21 @@ static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
angle= angle_wrap_rad(angle);
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
if(matSize == 2 && (vec != NULL)) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): cannot create a 2x2 rotation matrix around arbitrary axis");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "cannot create a 2x2 rotation matrix around arbitrary axis");
return NULL;
}
if((matSize == 3 || matSize == 4) && (axis == NULL) && (vec == NULL)) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): axis of rotation for 3d and 4d matrices is required");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "axis of rotation for 3d and 4d matrices is required");
return NULL;
}
@@ -283,7 +299,8 @@ static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
}
else {
/* should never get here */
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): unknown error");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): unknown error");
return NULL;
}
@@ -295,7 +312,7 @@ static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
}
-static char C_Matrix_Translation_doc[] =
+PyDoc_STRVAR(C_Matrix_Translation_doc,
".. classmethod:: Translation(vector)\n"
"\n"
" Create a matrix representing a translation.\n"
@@ -304,7 +321,7 @@ static char C_Matrix_Translation_doc[] =
" :type vector: :class:`Vector`\n"
" :return: An identity matrix with a translation.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *C_Matrix_Translation(PyObject *cls, PyObject *value)
{
float mat[16], tvec[3];
@@ -319,7 +336,7 @@ static PyObject *C_Matrix_Translation(PyObject *cls, PyObject *value)
}
//----------------------------------mathutils.Matrix.Scale() -------------
//mat is a 1D array of floats - row[0][0], row[0][1], row[1][0], etc.
-static char C_Matrix_Scale_doc[] =
+PyDoc_STRVAR(C_Matrix_Scale_doc,
".. classmethod:: Scale(factor, size, axis)\n"
"\n"
" Create a matrix representing a scaling.\n"
@@ -332,7 +349,7 @@ static char C_Matrix_Scale_doc[] =
" :type axis: :class:`Vector`\n"
" :return: A new scale matrix.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
{
PyObject *vec= NULL;
@@ -347,7 +364,9 @@ static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
return NULL;
}
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.Scale(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "Matrix.Scale(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
if(vec) {
@@ -360,7 +379,8 @@ static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
if(matSize == 2) {
mat[0] = factor;
mat[3] = factor;
- } else {
+ }
+ else {
mat[0] = factor;
mat[4] = factor;
mat[8] = factor;
@@ -382,7 +402,8 @@ static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
mat[1] = ((factor - 1) *(tvec[0] * tvec[1]));
mat[2] = ((factor - 1) *(tvec[0] * tvec[1]));
mat[3] = 1 + ((factor - 1) *(tvec[1] * tvec[1]));
- } else {
+ }
+ else {
mat[0] = 1 + ((factor - 1) *(tvec[0] * tvec[0]));
mat[1] = ((factor - 1) *(tvec[0] * tvec[1]));
mat[2] = ((factor - 1) *(tvec[0] * tvec[2]));
@@ -402,18 +423,20 @@ static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
}
//----------------------------------mathutils.Matrix.OrthoProjection() ---
//mat is a 1D array of floats - row[0][0], row[0][1], row[1][0], etc.
-static char C_Matrix_OrthoProjection_doc[] =
+PyDoc_STRVAR(C_Matrix_OrthoProjection_doc,
".. classmethod:: OrthoProjection(axis, size)\n"
"\n"
" Create a matrix to represent an orthographic projection.\n"
"\n"
-" :arg axis: Can be any of the following: ['X', 'Y', 'XY', 'XZ', 'YZ'], where a single axis is for a 2D matrix. Or a vector for an arbitrary axis\n"
+" :arg axis: Can be any of the following: ['X', 'Y', 'XY', 'XZ', 'YZ'],\n"
+" where a single axis is for a 2D matrix.\n"
+" Or a vector for an arbitrary axis\n"
" :type axis: string or :class:`Vector`\n"
" :arg size: The size of the projection matrix to construct [2, 4].\n"
" :type size: int\n"
" :return: A new projection matrix.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
{
PyObject *axis;
@@ -427,7 +450,9 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
return NULL;
}
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError,"mathutils.Matrix.OrthoProjection(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.Matrix.OrthoProjection(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
@@ -442,7 +467,10 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
mat[3]= 1.0f;
}
else {
- PyErr_Format(PyExc_ValueError, "mathutils.Matrix.OrthoProjection(): unknown plane, expected: X, Y, not '%.200s'", plane);
+ PyErr_Format(PyExc_ValueError,
+ "mathutils.Matrix.OrthoProjection(): "
+ "unknown plane, expected: X, Y, not '%.200s'",
+ plane);
return NULL;
}
}
@@ -460,7 +488,10 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
mat[8]= 1.0f;
}
else {
- PyErr_Format(PyExc_ValueError, "mathutils.Matrix.OrthoProjection(): unknown plane, expected: XY, XZ, YZ, not '%.200s'", plane);
+ PyErr_Format(PyExc_ValueError,
+ "mathutils.Matrix.OrthoProjection(): "
+ "unknown plane, expected: XY, XZ, YZ, not '%.200s'",
+ plane);
return NULL;
}
}
@@ -508,20 +539,22 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
return newMatrixObject(mat, matSize, matSize, Py_NEW, (PyTypeObject *)cls);
}
-static char C_Matrix_Shear_doc[] =
+PyDoc_STRVAR(C_Matrix_Shear_doc,
".. classmethod:: Shear(plane, size, factor)\n"
"\n"
" Create a matrix to represent an shear transformation.\n"
"\n"
-" :arg plane: Can be any of the following: ['X', 'Y', 'XY', 'XZ', 'YZ'], where a single axis is for a 2D matrix only.\n"
+" :arg plane: Can be any of the following: ['X', 'Y', 'XY', 'XZ', 'YZ'],\n"
+" where a single axis is for a 2D matrix only.\n"
" :type plane: string\n"
" :arg size: The size of the shear matrix to construct [2, 4].\n"
" :type size: int\n"
-" :arg factor: The factor of shear to apply. For a 3 or 4 *size* matrix pass a pair of floats corrasponding with the *plane* axis.\n"
+" :arg factor: The factor of shear to apply. For a 3 or 4 *size* matrix\n"
+" pass a pair of floats corrasponding with the *plane* axis.\n"
" :type factor: float or float pair\n"
" :return: A new shear matrix.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
{
int matSize;
@@ -534,7 +567,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
return NULL;
}
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError,"mathutils.Matrix.Shear(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.Matrix.Shear(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
@@ -542,7 +577,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
float const factor= PyFloat_AsDouble(fac);
if(factor==-1.0f && PyErr_Occurred()) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.Matrix.Shear(): the factor to be a float");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Matrix.Shear(): "
+ "the factor to be a float");
return NULL;
}
@@ -557,7 +594,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
mat[1] = factor;
}
else {
- PyErr_SetString(PyExc_AttributeError, "Matrix.Shear(): expected: X, Y or wrong matrix size for shearing plane");
+ PyErr_SetString(PyExc_ValueError,
+ "Matrix.Shear(): "
+ "expected: X, Y or wrong matrix size for shearing plane");
return NULL;
}
}
@@ -587,7 +626,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
mat[2] = factor[1];
}
else {
- PyErr_SetString(PyExc_AttributeError, "mathutils.Matrix.Shear(): expected: X, Y, XY, XZ, YZ");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.Matrix.Shear(): "
+ "expected: X, Y, XY, XZ, YZ");
return NULL;
}
}
@@ -619,21 +660,22 @@ static float matrix_determinant_internal(MatrixObject *self)
self->matrix[1][1], self->matrix[1][2],
self->matrix[2][0], self->matrix[2][1],
self->matrix[2][2]);
- } else {
+ }
+ else {
return determinant_m4((float (*)[4])self->contigPtr);
}
}
/*-----------------------------METHODS----------------------------*/
-static char Matrix_to_quaternion_doc[] =
+PyDoc_STRVAR(Matrix_to_quaternion_doc,
".. method:: to_quaternion()\n"
"\n"
" Return a quaternion representation of the rotation matrix.\n"
"\n"
" :return: Quaternion representation of the rotation matrix.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Matrix_to_quaternion(MatrixObject *self)
{
float quat[4];
@@ -643,7 +685,9 @@ static PyObject *Matrix_to_quaternion(MatrixObject *self)
/*must be 3-4 cols, 3-4 rows, square matrix*/
if((self->col_size < 3) || (self->row_size < 3) || (self->col_size != self->row_size)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_quat(): inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.to_quat(): "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
if(self->col_size == 3){
@@ -656,19 +700,23 @@ static PyObject *Matrix_to_quaternion(MatrixObject *self)
return newQuaternionObject(quat, Py_NEW, NULL);
}
-/*---------------------------Matrix.toEuler() --------------------*/
-static char Matrix_to_euler_doc[] =
+/*---------------------------matrix.toEuler() --------------------*/
+PyDoc_STRVAR(Matrix_to_euler_doc,
".. method:: to_euler(order, euler_compat)\n"
"\n"
-" Return an Euler representation of the rotation matrix (3x3 or 4x4 matrix only).\n"
+" Return an Euler representation of the rotation matrix\n"
+" (3x3 or 4x4 matrix only).\n"
"\n"
-" :arg order: Optional rotation order argument in ['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'].\n"
+" :arg order: Optional rotation order argument in\n"
+" ['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'].\n"
" :type order: string\n"
-" :arg euler_compat: Optional euler argument the new euler will be made compatible with (no axis flipping between them). Useful for converting a series of matrices to animation curves.\n"
+" :arg euler_compat: Optional euler argument the new euler will be made\n"
+" compatible with (no axis flipping between them).\n"
+" Useful for converting a series of matrices to animation curves.\n"
" :type euler_compat: :class:`Euler`\n"
" :return: Euler representation of the matrix.\n"
" :rtype: :class:`Euler`\n"
-;
+);
static PyObject *Matrix_to_euler(MatrixObject *self, PyObject *args)
{
const char *order_str= NULL;
@@ -701,12 +749,14 @@ static PyObject *Matrix_to_euler(MatrixObject *self, PyObject *args)
mat= tmat;
}
else {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_euler(): inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.to_euler(): "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
if(order_str) {
- order= euler_order_from_string(order_str, "Matrix.to_euler()");
+ order= euler_order_from_string(order_str, "matrix.to_euler()");
if(order == -1)
return NULL;
@@ -724,27 +774,30 @@ static PyObject *Matrix_to_euler(MatrixObject *self, PyObject *args)
return newEulerObject(eul, order, Py_NEW, NULL);
}
-static char Matrix_resize_4x4_doc[] =
+PyDoc_STRVAR(Matrix_resize_4x4_doc,
".. method:: resize_4x4()\n"
"\n"
" Resize the matrix to 4x4.\n"
-;
+);
static PyObject *Matrix_resize_4x4(MatrixObject *self)
{
int x, first_row_elem, curr_pos, new_pos, blank_columns, blank_rows, index;
if(self->wrapped==Py_WRAP){
- PyErr_SetString(PyExc_TypeError, "cannot resize wrapped data - make a copy and resize that");
+ PyErr_SetString(PyExc_TypeError,
+ "cannot resize wrapped data - make a copy and resize that");
return NULL;
}
if(self->cb_user){
- PyErr_SetString(PyExc_TypeError, "cannot resize owned data - make a copy and resize that");
+ PyErr_SetString(PyExc_TypeError,
+ "cannot resize owned data - make a copy and resize that");
return NULL;
}
self->contigPtr = PyMem_Realloc(self->contigPtr, (sizeof(float) * 16));
if(self->contigPtr == NULL) {
- PyErr_SetString(PyExc_MemoryError, "matrix.resize_4x4(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "matrix.resize_4x4(): problem allocating pointer space");
return NULL;
}
/*set row pointers*/
@@ -770,7 +823,7 @@ static PyObject *Matrix_resize_4x4(MatrixObject *self)
for(blank_columns = (4 - self->col_size); blank_columns > 0; blank_columns--){
self->contigPtr[new_pos + blank_columns] = 0.0f;
}
- for(curr_pos = curr_pos; curr_pos >= first_row_elem; curr_pos--){
+ for( ; curr_pos >= first_row_elem; curr_pos--){
self->contigPtr[new_pos] = self->contigPtr[curr_pos];
new_pos--;
}
@@ -781,14 +834,14 @@ static PyObject *Matrix_resize_4x4(MatrixObject *self)
Py_RETURN_NONE;
}
-static char Matrix_to_4x4_doc[] =
+PyDoc_STRVAR(Matrix_to_4x4_doc,
".. method:: to_4x4()\n"
"\n"
" Return a 4x4 copy of this matrix.\n"
"\n"
" :return: a new matrix.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Matrix_to_4x4(MatrixObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -804,18 +857,19 @@ static PyObject *Matrix_to_4x4(MatrixObject *self)
}
/* TODO, 2x2 matrix */
- PyErr_SetString(PyExc_TypeError, "Matrix.to_4x4(): inappropriate matrix size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_4x4(): inappropriate matrix size");
return NULL;
}
-static char Matrix_to_3x3_doc[] =
+PyDoc_STRVAR(Matrix_to_3x3_doc,
".. method:: to_3x3()\n"
"\n"
" Return a 3x3 copy of this matrix.\n"
"\n"
" :return: a new matrix.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Matrix_to_3x3(MatrixObject *self)
{
float mat[3][3];
@@ -824,7 +878,8 @@ static PyObject *Matrix_to_3x3(MatrixObject *self)
return NULL;
if((self->col_size < 3) || (self->row_size < 3)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_3x3(): inappropriate matrix size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_3x3(): inappropriate matrix size");
return NULL;
}
@@ -833,28 +888,30 @@ static PyObject *Matrix_to_3x3(MatrixObject *self)
return newMatrixObject((float *)mat, 3, 3, Py_NEW, Py_TYPE(self));
}
-static char Matrix_to_translation_doc[] =
+PyDoc_STRVAR(Matrix_to_translation_doc,
".. method:: to_translation()\n"
"\n"
" Return a the translation part of a 4 row matrix.\n"
"\n"
" :return: Return a the translation of a matrix.\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Matrix_to_translation(MatrixObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
return NULL;
if((self->col_size < 3) || self->row_size < 4){
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_translation(): inappropriate matrix size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_translation(): "
+ "inappropriate matrix size");
return NULL;
}
return newVectorObject(self->matrix[3], 3, Py_NEW, NULL);
}
-static char Matrix_to_scale_doc[] =
+PyDoc_STRVAR(Matrix_to_scale_doc,
".. method:: to_scale()\n"
"\n"
" Return a the scale part of a 3x3 or 4x4 matrix.\n"
@@ -863,7 +920,7 @@ static char Matrix_to_scale_doc[] =
" :rtype: :class:`Vector`\n"
"\n"
" .. note:: This method does not return negative a scale on any axis because it is not possible to obtain this data from the matrix alone.\n"
-;
+);
static PyObject *Matrix_to_scale(MatrixObject *self)
{
float rot[3][3];
@@ -875,7 +932,9 @@ static PyObject *Matrix_to_scale(MatrixObject *self)
/*must be 3-4 cols, 3-4 rows, square matrix*/
if((self->col_size < 3) || (self->row_size < 3)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_scale(): inappropriate matrix size, 3x3 minimum size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_scale(): "
+ "inappropriate matrix size, 3x3 minimum size");
return NULL;
}
@@ -887,8 +946,8 @@ static PyObject *Matrix_to_scale(MatrixObject *self)
return newVectorObject(size, 3, Py_NEW, NULL);
}
-/*---------------------------Matrix.invert() ---------------------*/
-static char Matrix_invert_doc[] =
+/*---------------------------matrix.invert() ---------------------*/
+PyDoc_STRVAR(Matrix_invert_doc,
".. method:: invert()\n"
"\n"
" Set the matrix to its inverse.\n"
@@ -896,7 +955,7 @@ static char Matrix_invert_doc[] =
" .. note:: :exc:`ValueError` exception is raised.\n"
"\n"
" .. seealso:: <http://en.wikipedia.org/wiki/Inverse_matrix>\n"
-;
+);
static PyObject *Matrix_invert(MatrixObject *self)
{
@@ -909,7 +968,9 @@ static PyObject *Matrix_invert(MatrixObject *self)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.invert(ed): only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.invert(ed): "
+ "only square matrices are supported");
return NULL;
}
@@ -941,8 +1002,10 @@ static PyObject *Matrix_invert(MatrixObject *self)
}
/*transpose
Matrix_transpose(self);*/
- } else {
- PyErr_SetString(PyExc_ValueError, "matrix does not have an inverse");
+ }
+ else {
+ PyErr_SetString(PyExc_ValueError,
+ "matrix does not have an inverse");
return NULL;
}
@@ -950,7 +1013,7 @@ static PyObject *Matrix_invert(MatrixObject *self)
Py_RETURN_NONE;
}
-static char Matrix_inverted_doc[] =
+PyDoc_STRVAR(Matrix_inverted_doc,
".. method:: inverted()\n"
"\n"
" Return an inverted copy of the matrix.\n"
@@ -959,13 +1022,13 @@ static char Matrix_inverted_doc[] =
" :rtype: :class:`Matrix`\n"
"\n"
" .. note:: :exc:`ValueError` exception is raised.\n"
-;
+);
static PyObject *Matrix_inverted(MatrixObject *self)
{
return matrix__apply_to_copy((PyNoArgsFunction)Matrix_invert, self);
}
-static char Matrix_rotate_doc[] =
+PyDoc_STRVAR(Matrix_rotate_doc,
".. method:: rotate(other)\n"
"\n"
" Rotates the matrix a by another mathutils value.\n"
@@ -974,7 +1037,7 @@ static char Matrix_rotate_doc[] =
" :type other: :class:`Euler`, :class:`Quaternion` or :class:`Matrix`\n"
"\n"
" .. note:: If any of the columns are not unit length this may not have desired results.\n"
-;
+);
static PyObject *Matrix_rotate(MatrixObject *self, PyObject *value)
{
float self_rmat[3][3], other_rmat[3][3], rmat[3][3];
@@ -986,7 +1049,8 @@ static PyObject *Matrix_rotate(MatrixObject *self, PyObject *value)
return NULL;
if(self->col_size != 3 || self->row_size != 3) {
- PyErr_SetString(PyExc_ValueError, "Matrix must have 3x3 dimensions");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix must have 3x3 dimensions");
return NULL;
}
@@ -999,15 +1063,15 @@ static PyObject *Matrix_rotate(MatrixObject *self, PyObject *value)
Py_RETURN_NONE;
}
-/*---------------------------Matrix.decompose() ---------------------*/
-static char Matrix_decompose_doc[] =
+/*---------------------------matrix.decompose() ---------------------*/
+PyDoc_STRVAR(Matrix_decompose_doc,
".. method:: decompose()\n"
"\n"
" Return the location, rotaion and scale components of this matrix.\n"
"\n"
" :return: loc, rot, scale triple.\n"
" :rtype: (:class:`Vector`, :class:`Quaternion`, :class:`Vector`)"
-;
+);
static PyObject *Matrix_decompose(MatrixObject *self)
{
PyObject *ret;
@@ -1017,7 +1081,9 @@ static PyObject *Matrix_decompose(MatrixObject *self)
float size[3];
if(self->col_size != 4 || self->row_size != 4) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.decompose(): inappropriate matrix size - expects 4x4 matrix");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.decompose(): "
+ "inappropriate matrix size - expects 4x4 matrix");
return NULL;
}
@@ -1037,7 +1103,7 @@ static PyObject *Matrix_decompose(MatrixObject *self)
-static char Matrix_lerp_doc[] =
+PyDoc_STRVAR(Matrix_lerp_doc,
".. function:: lerp(other, factor)\n"
"\n"
" Returns the interpolation of two matricies.\n"
@@ -1048,7 +1114,7 @@ static char Matrix_lerp_doc[] =
" :type factor: float\n"
" :return: The interpolated rotation.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Matrix_lerp(MatrixObject *self, PyObject *args)
{
MatrixObject *mat2 = NULL;
@@ -1058,7 +1124,9 @@ static PyObject *Matrix_lerp(MatrixObject *self, PyObject *args)
return NULL;
if(self->row_size != mat2->row_size || self->col_size != mat2->col_size) {
- PyErr_SetString(PyExc_AttributeError, "matrix.lerp(): expects both matrix objects of the same dimensions");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.lerp(): "
+ "expects both matrix objects of the same dimensions");
return NULL;
}
@@ -1073,15 +1141,17 @@ static PyObject *Matrix_lerp(MatrixObject *self, PyObject *args)
blend_m3_m3m3((float (*)[3])mat, (float (*)[3])self->contigPtr, (float (*)[3])mat2->contigPtr, fac);
}
else {
- PyErr_SetString(PyExc_AttributeError, "matrix.lerp(): only 3x3 and 4x4 matrices supported");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.lerp(): "
+ "only 3x3 and 4x4 matrices supported");
return NULL;
}
return (PyObject*)newMatrixObject(mat, self->row_size, self->col_size, Py_NEW, Py_TYPE(self));
}
-/*---------------------------Matrix.determinant() ----------------*/
-static char Matrix_determinant_doc[] =
+/*---------------------------matrix.determinant() ----------------*/
+PyDoc_STRVAR(Matrix_determinant_doc,
".. method:: determinant()\n"
"\n"
" Return the determinant of a matrix.\n"
@@ -1090,27 +1160,29 @@ static char Matrix_determinant_doc[] =
" :rtype: float\n"
"\n"
" .. seealso:: <http://en.wikipedia.org/wiki/Determinant>\n"
-;
+);
static PyObject *Matrix_determinant(MatrixObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.determinant: only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.determinant: "
+ "only square matrices are supported");
return NULL;
}
return PyFloat_FromDouble((double)matrix_determinant_internal(self));
}
-/*---------------------------Matrix.transpose() ------------------*/
-static char Matrix_transpose_doc[] =
+/*---------------------------matrix.transpose() ------------------*/
+PyDoc_STRVAR(Matrix_transpose_doc,
".. method:: transpose()\n"
"\n"
" Set the matrix to its transpose.\n"
"\n"
" .. seealso:: <http://en.wikipedia.org/wiki/Transpose>\n"
-;
+);
static PyObject *Matrix_transpose(MatrixObject *self)
{
float t = 0.0f;
@@ -1119,7 +1191,9 @@ static PyObject *Matrix_transpose(MatrixObject *self)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.transpose(d): only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.transpose(d): "
+ "only square matrices are supported");
return NULL;
}
@@ -1129,7 +1203,8 @@ static PyObject *Matrix_transpose(MatrixObject *self)
self->matrix[0][1] = t;
} else if(self->row_size == 3) {
transpose_m3((float (*)[3])self->contigPtr);
- } else {
+ }
+ else {
transpose_m4((float (*)[4])self->contigPtr);
}
@@ -1137,28 +1212,28 @@ static PyObject *Matrix_transpose(MatrixObject *self)
Py_RETURN_NONE;
}
-static char Matrix_transposed_doc[] =
+PyDoc_STRVAR(Matrix_transposed_doc,
".. method:: transposed()\n"
"\n"
" Return a new, transposed matrix.\n"
"\n"
" :return: a transposed matrix\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Matrix_transposed(MatrixObject *self)
{
return matrix__apply_to_copy((PyNoArgsFunction)Matrix_transpose, self);
}
-/*---------------------------Matrix.zero() -----------------------*/
-static char Matrix_zero_doc[] =
+/*---------------------------matrix.zero() -----------------------*/
+PyDoc_STRVAR(Matrix_zero_doc,
".. method:: zero()\n"
"\n"
" Set all the matrix values to zero.\n"
"\n"
" :return: an instance of itself\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Matrix_zero(MatrixObject *self)
{
fill_vn(self->contigPtr, self->row_size * self->col_size, 0.0f);
@@ -1168,23 +1243,26 @@ static PyObject *Matrix_zero(MatrixObject *self)
Py_RETURN_NONE;
}
-/*---------------------------Matrix.identity(() ------------------*/
-static char Matrix_identity_doc[] =
+/*---------------------------matrix.identity(() ------------------*/
+PyDoc_STRVAR(Matrix_identity_doc,
".. method:: identity()\n"
"\n"
" Set the matrix to the identity matrix.\n"
"\n"
-" .. note:: An object with zero location and rotation, a scale of one, will have an identity matrix.\n"
+" .. note:: An object with zero location and rotation, a scale of one,\n"
+" will have an identity matrix.\n"
"\n"
" .. seealso:: <http://en.wikipedia.org/wiki/Identity_matrix>\n"
-;
+);
static PyObject *Matrix_identity(MatrixObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.identity: only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.identity: "
+ "only square matrices are supported");
return NULL;
}
@@ -1195,7 +1273,8 @@ static PyObject *Matrix_identity(MatrixObject *self)
self->matrix[1][1] = 1.0f;
} else if(self->row_size == 3) {
unit_m3((float (*)[3])self->contigPtr);
- } else {
+ }
+ else {
unit_m4((float (*)[4])self->contigPtr);
}
@@ -1206,14 +1285,14 @@ static PyObject *Matrix_identity(MatrixObject *self)
}
/*---------------------------Matrix.copy() ------------------*/
-static char Matrix_copy_doc[] =
+PyDoc_STRVAR(Matrix_copy_doc,
".. method:: copy()\n"
"\n"
" Returns a copy of this matrix.\n"
"\n"
" :return: an instance of itself\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Matrix_copy(MatrixObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -1239,20 +1318,20 @@ static PyObject *Matrix_repr(MatrixObject *self)
}
}
switch(self->row_size) {
- case 2: return PyUnicode_FromFormat("Matrix(%R,\n"
- " %R)", rows[0], rows[1]);
+ case 2: return PyUnicode_FromFormat("Matrix((%R,\n"
+ " %R))", rows[0], rows[1]);
- case 3: return PyUnicode_FromFormat("Matrix(%R,\n"
- " %R,\n"
- " %R)", rows[0], rows[1], rows[2]);
+ case 3: return PyUnicode_FromFormat("Matrix((%R,\n"
+ " %R,\n"
+ " %R))", rows[0], rows[1], rows[2]);
- case 4: return PyUnicode_FromFormat("Matrix(%R,\n"
- " %R,\n"
- " %R,\n"
- " %R)", rows[0], rows[1], rows[2], rows[3]);
+ case 4: return PyUnicode_FromFormat("Matrix((%R,\n"
+ " %R,\n"
+ " %R,\n"
+ " %R))", rows[0], rows[1], rows[2], rows[3]);
}
- PyErr_SetString(PyExc_RuntimeError, "invalid matrix size");
+ Py_FatalError("Matrix(): invalid row size!");
return NULL;
}
@@ -1311,7 +1390,9 @@ static PyObject *Matrix_item(MatrixObject *self, int i)
return NULL;
if(i < 0 || i >= self->row_size) {
- PyErr_SetString(PyExc_IndexError, "matrix[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "matrix[attribute]: "
+ "array index out of range");
return NULL;
}
return newVectorObject_cb((PyObject *)self, self->col_size, mathutils_matrix_vector_cb_index, i);
@@ -1326,7 +1407,8 @@ static int Matrix_ass_item(MatrixObject *self, int i, PyObject *value)
return -1;
if(i >= self->row_size || i < 0){
- PyErr_SetString(PyExc_TypeError, "matrix[attribute] = x: bad column");
+ PyErr_SetString(PyExc_IndexError,
+ "matrix[attribute] = x: bad column");
return -1;
}
@@ -1389,7 +1471,9 @@ static int Matrix_ass_slice(MatrixObject *self, int begin, int end, PyObject *va
if(PySequence_Fast_GET_SIZE(value_fast) != size) {
Py_DECREF(value_fast);
- PyErr_SetString(PyExc_TypeError, "matrix[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -1423,7 +1507,9 @@ static PyObject *Matrix_add(PyObject *m1, PyObject *m2)
mat2 = (MatrixObject*)m2;
if(!MatrixObject_Check(m1) || !MatrixObject_Check(m2)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "arguments not valid for this operation");
return NULL;
}
@@ -1431,7 +1517,9 @@ static PyObject *Matrix_add(PyObject *m1, PyObject *m2)
return NULL;
if(mat1->row_size != mat2->row_size || mat1->col_size != mat2->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: matrices must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "matrices must have the same dimensions for this operation");
return NULL;
}
@@ -1450,7 +1538,9 @@ static PyObject *Matrix_sub(PyObject *m1, PyObject *m2)
mat2 = (MatrixObject*)m2;
if(!MatrixObject_Check(m1) || !MatrixObject_Check(m2)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "arguments not valid for this operation");
return NULL;
}
@@ -1458,7 +1548,9 @@ static PyObject *Matrix_sub(PyObject *m1, PyObject *m2)
return NULL;
if(mat1->row_size != mat2->row_size || mat1->col_size != mat2->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: matrices must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "matrices must have the same dimensions for this operation");
return NULL;
}
@@ -1475,7 +1567,7 @@ static PyObject *matrix_mul_float(MatrixObject *mat, const float scalar)
return newMatrixObject(tmat, mat->row_size, mat->col_size, Py_NEW, Py_TYPE(mat));
}
-static PyObject *Matrix_mul(PyObject * m1, PyObject * m2)
+static PyObject *Matrix_mul(PyObject *m1, PyObject *m2)
{
float scalar;
@@ -1492,39 +1584,48 @@ static PyObject *Matrix_mul(PyObject * m1, PyObject * m2)
return NULL;
}
- if(mat1 && mat2) { /*MATRIX * MATRIX*/
- if(mat1->row_size != mat2->col_size){
- PyErr_SetString(PyExc_AttributeError,"Matrix multiplication: matrix A rowsize must equal matrix B colsize");
- return NULL;
- }
- else {
- float mat[16]= {0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 1.0f};
- double dot = 0.0f;
- int x, y, z;
-
- for(x = 0; x < mat2->row_size; x++) {
- for(y = 0; y < mat1->col_size; y++) {
- for(z = 0; z < mat1->row_size; z++) {
- dot += (mat1->matrix[z][y] * mat2->matrix[x][z]);
- }
- mat[((x * mat1->col_size) + y)] = (float)dot;
- dot = 0.0f;
+ if(mat1 && mat2) {
+ /*MATRIX * MATRIX*/
+ float mat[16]= {0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f};
+ double dot = 0.0f;
+ int x, y, z;
+
+ for(x = 0; x < mat2->row_size; x++) {
+ for(y = 0; y < mat1->col_size; y++) {
+ for(z = 0; z < mat1->row_size; z++) {
+ dot += (mat1->matrix[z][y] * mat2->matrix[x][z]);
}
+ mat[((x * mat1->col_size) + y)] = (float)dot;
+ dot = 0.0f;
}
-
- return newMatrixObject(mat, mat2->row_size, mat1->col_size, Py_NEW, Py_TYPE(mat1));
}
+
+ return newMatrixObject(mat, mat2->row_size, mat1->col_size, Py_NEW, Py_TYPE(mat1));
}
else if(mat2) {
- if (((scalar= PyFloat_AsDouble(m1)) == -1.0f && PyErr_Occurred())==0) { /*FLOAT/INT * MATRIX */
+ /*FLOAT/INT * MATRIX */
+ if (((scalar= PyFloat_AsDouble(m1)) == -1.0f && PyErr_Occurred())==0) {
return matrix_mul_float(mat2, scalar);
}
}
else if(mat1) {
- if (((scalar= PyFloat_AsDouble(m2)) == -1.0f && PyErr_Occurred())==0) { /*FLOAT/INT * MATRIX */
+ /*VEC * MATRIX */
+ if(VectorObject_Check(m2)) {
+ VectorObject *vec2= (VectorObject *)m2;
+ float tvec[4];
+ if(BaseMath_ReadCallback(vec2) == -1)
+ return NULL;
+ if(column_vector_multiplication(tvec, vec2, mat1) == -1) {
+ return NULL;
+ }
+
+ return newVectorObject(tvec, vec2->size, Py_NEW, Py_TYPE(m2));
+ }
+ /*FLOAT/INT * MATRIX */
+ else if (((scalar= PyFloat_AsDouble(m2)) == -1.0f && PyErr_Occurred())==0) {
return matrix_mul_float(mat1, scalar);
}
}
@@ -1532,7 +1633,10 @@ static PyObject *Matrix_mul(PyObject * m1, PyObject * m2)
BLI_assert(!"internal error");
}
- PyErr_Format(PyExc_TypeError, "Matrix multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(m1)->tp_name, Py_TYPE(m2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Matrix multiplication: "
+ "not supported between '%.200s' and '%.200s' types",
+ Py_TYPE(m1)->tp_name, Py_TYPE(m2)->tp_name);
return NULL;
}
static PyObject* Matrix_inv(MatrixObject *self)
@@ -1581,12 +1685,15 @@ static PyObject *Matrix_subscript(MatrixObject* self, PyObject* item)
return Matrix_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with matricies");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with matricies");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "matrix indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -1610,12 +1717,15 @@ static int Matrix_ass_subscript(MatrixObject* self, PyObject* item, PyObject* va
if (step == 1)
return Matrix_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with matricies");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with matricies");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "matrix indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "matrix indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -1674,7 +1784,7 @@ static PyObject *Matrix_getColSize(MatrixObject *self, void *UNUSED(closure))
return PyLong_FromLong((long) self->col_size);
}
-static PyObject *Matrix_getMedianScale(MatrixObject *self, void *UNUSED(closure))
+static PyObject *Matrix_median_scale_get(MatrixObject *self, void *UNUSED(closure))
{
float mat[3][3];
@@ -1683,7 +1793,9 @@ static PyObject *Matrix_getMedianScale(MatrixObject *self, void *UNUSED(closure)
/*must be 3-4 cols, 3-4 rows, square matrix*/
if((self->col_size < 3) || (self->row_size < 3)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.median_scale: inappropriate matrix size, 3x3 minimum");
+ PyErr_SetString(PyExc_AttributeError,
+ "matrix.median_scale: "
+ "inappropriate matrix size, 3x3 minimum");
return NULL;
}
@@ -1692,7 +1804,7 @@ static PyObject *Matrix_getMedianScale(MatrixObject *self, void *UNUSED(closure)
return PyFloat_FromDouble(mat3_to_scale(mat));
}
-static PyObject *Matrix_getIsNegative(MatrixObject *self, void *UNUSED(closure))
+static PyObject *Matrix_is_negative_get(MatrixObject *self, void *UNUSED(closure))
{
if(BaseMath_ReadCallback(self) == -1)
return NULL;
@@ -1703,11 +1815,30 @@ static PyObject *Matrix_getIsNegative(MatrixObject *self, void *UNUSED(closure))
else if(self->col_size == 3 && self->row_size == 3)
return PyBool_FromLong(is_negative_m3((float (*)[3])self->contigPtr));
else {
- PyErr_SetString(PyExc_AttributeError, "Matrix.is_negative: inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_AttributeError,
+ "matrix.is_negative: "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
}
+static PyObject *Matrix_is_orthogonal_get(MatrixObject *self, void *UNUSED(closure))
+{
+ if(BaseMath_ReadCallback(self) == -1)
+ return NULL;
+
+ /*must be 3-4 cols, 3-4 rows, square matrix*/
+ if(self->col_size == 4 && self->row_size == 4)
+ return PyBool_FromLong(is_orthogonal_m4((float (*)[4])self->contigPtr));
+ else if(self->col_size == 3 && self->row_size == 3)
+ return PyBool_FromLong(is_orthogonal_m3((float (*)[3])self->contigPtr));
+ else {
+ PyErr_SetString(PyExc_AttributeError,
+ "matrix.is_orthogonal: "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ return NULL;
+ }
+}
/*****************************************************************************/
/* Python attributes get/set structure: */
@@ -1715,8 +1846,9 @@ static PyObject *Matrix_getIsNegative(MatrixObject *self, void *UNUSED(closure))
static PyGetSetDef Matrix_getseters[] = {
{(char *)"row_size", (getter)Matrix_getRowSize, (setter)NULL, (char *)"The row size of the matrix (readonly).\n\n:type: int", NULL},
{(char *)"col_size", (getter)Matrix_getColSize, (setter)NULL, (char *)"The column size of the matrix (readonly).\n\n:type: int", NULL},
- {(char *)"median_scale", (getter)Matrix_getMedianScale, (setter)NULL, (char *)"The average scale applied to each axis (readonly).\n\n:type: float", NULL},
- {(char *)"is_negative", (getter)Matrix_getIsNegative, (setter)NULL, (char *)"True if this matrix results in a negative scale, 3x3 and 4x4 only, (readonly).\n\n:type: bool", NULL},
+ {(char *)"median_scale", (getter)Matrix_median_scale_get, (setter)NULL, (char *)"The average scale applied to each axis (readonly).\n\n:type: float", NULL},
+ {(char *)"is_negative", (getter)Matrix_is_negative_get, (setter)NULL, (char *)"True if this matrix results in a negative scale, 3x3 and 4x4 only, (readonly).\n\n:type: bool", NULL},
+ {(char *)"is_orthogonal", (getter)Matrix_is_orthogonal_get, (setter)NULL, (char *)"True if this matrix is orthogonal, 3x3 and 4x4 only, (readonly).\n\n:type: bool", 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},
{NULL, NULL, NULL, NULL, NULL} /* Sentinel */
@@ -1764,9 +1896,9 @@ static struct PyMethodDef Matrix_methods[] = {
};
/*------------------PY_OBECT DEFINITION--------------------------*/
-static char matrix_doc[] =
+PyDoc_STRVAR(matrix_doc,
"This object gives access to Matrices in Blender."
-;
+);
PyTypeObject matrix_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"mathutils.Matrix", /*tp_name*/
@@ -1839,7 +1971,9 @@ PyObject *newMatrixObject(float *mat, const unsigned short rowSize, const unsign
/*matrix objects can be any 2-4row x 2-4col matrix*/
if(rowSize < 2 || rowSize > 4 || colSize < 2 || colSize > 4) {
- PyErr_SetString(PyExc_RuntimeError, "matrix(): row and column sizes must be between 2 and 4");
+ PyErr_SetString(PyExc_RuntimeError,
+ "Matrix(): "
+ "row and column sizes must be between 2 and 4");
return NULL;
}
@@ -1865,7 +1999,9 @@ PyObject *newMatrixObject(float *mat, const unsigned short rowSize, const unsign
else if (type == Py_NEW){
self->contigPtr = PyMem_Malloc(rowSize * colSize * sizeof(float));
if(self->contigPtr == NULL) { /*allocation failure*/
- PyErr_SetString(PyExc_MemoryError, "matrix(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "Matrix(): "
+ "problem allocating pointer space");
return NULL;
}
/*pointer array points to contigous memory*/
@@ -1887,7 +2023,7 @@ PyObject *newMatrixObject(float *mat, const unsigned short rowSize, const unsign
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Matrix(): invalid type");
+ Py_FatalError("Matrix(): invalid type!");
return NULL;
}
}
diff --git a/source/blender/python/generic/mathutils_Matrix.h b/source/blender/python/mathutils/mathutils_Matrix.h
index aa736d1e959..aa736d1e959 100644
--- a/source/blender/python/generic/mathutils_Matrix.h
+++ b/source/blender/python/mathutils/mathutils_Matrix.h
diff --git a/source/blender/python/generic/mathutils_Quaternion.c b/source/blender/python/mathutils/mathutils_Quaternion.c
index 9c79ccb442f..2be258a1ef0 100644
--- a/source/blender/python/generic/mathutils_Quaternion.c
+++ b/source/blender/python/mathutils/mathutils_Quaternion.c
@@ -67,18 +67,21 @@ static PyObject *Quaternion_to_tuple_ext(QuaternionObject *self, int ndigits)
return ret;
}
-static char Quaternion_to_euler_doc[] =
+PyDoc_STRVAR(Quaternion_to_euler_doc,
".. method:: to_euler(order, euler_compat)\n"
"\n"
" Return Euler representation of the quaternion.\n"
"\n"
-" :arg order: Optional rotation order argument in ['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'].\n"
+" :arg order: Optional rotation order argument in\n"
+" ['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'].\n"
" :type order: string\n"
-" :arg euler_compat: Optional euler argument the new euler will be made compatible with (no axis flipping between them). Useful for converting a series of matrices to animation curves.\n"
+" :arg euler_compat: Optional euler argument the new euler will be made\n"
+" compatible with (no axis flipping between them).\n"
+" Useful for converting a series of matrices to animation curves.\n"
" :type euler_compat: :class:`Euler`\n"
" :return: Euler representation of the quaternion.\n"
" :rtype: :class:`Euler`\n"
-;
+);
static PyObject *Quaternion_to_euler(QuaternionObject *self, PyObject *args)
{
float tquat[4];
@@ -121,14 +124,14 @@ static PyObject *Quaternion_to_euler(QuaternionObject *self, PyObject *args)
return newEulerObject(eul, order, Py_NEW, NULL);
}
//----------------------------Quaternion.toMatrix()------------------
-static char Quaternion_to_matrix_doc[] =
+PyDoc_STRVAR(Quaternion_to_matrix_doc,
".. method:: to_matrix()\n"
"\n"
" Return a matrix representation of the quaternion.\n"
"\n"
" :return: A 3x3 rotation matrix representation of the quaternion.\n"
" :rtype: :class:`Matrix`\n"
-;
+);
static PyObject *Quaternion_to_matrix(QuaternionObject *self)
{
float mat[9]; /* all values are set */
@@ -141,7 +144,7 @@ static PyObject *Quaternion_to_matrix(QuaternionObject *self)
}
//----------------------------Quaternion.cross(other)------------------
-static char Quaternion_cross_doc[] =
+PyDoc_STRVAR(Quaternion_cross_doc,
".. method:: cross(other)\n"
"\n"
" Return the cross product of this quaternion and another.\n"
@@ -150,7 +153,7 @@ static char Quaternion_cross_doc[] =
" :type other: :class:`Quaternion`\n"
" :return: The cross product.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_cross(QuaternionObject *self, PyObject *value)
{
float quat[QUAT_SIZE], tquat[QUAT_SIZE];
@@ -166,7 +169,7 @@ static PyObject *Quaternion_cross(QuaternionObject *self, PyObject *value)
}
//----------------------------Quaternion.dot(other)------------------
-static char Quaternion_dot_doc[] =
+PyDoc_STRVAR(Quaternion_dot_doc,
".. method:: dot(other)\n"
"\n"
" Return the dot product of this quaternion and another.\n"
@@ -175,7 +178,7 @@ static char Quaternion_dot_doc[] =
" :type other: :class:`Quaternion`\n"
" :return: The dot product.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_dot(QuaternionObject *self, PyObject *value)
{
float tquat[QUAT_SIZE];
@@ -189,7 +192,7 @@ static PyObject *Quaternion_dot(QuaternionObject *self, PyObject *value)
return PyFloat_FromDouble(dot_qtqt(self->quat, tquat));
}
-static char Quaternion_rotation_difference_doc[] =
+PyDoc_STRVAR(Quaternion_rotation_difference_doc,
".. function:: difference(other)\n"
"\n"
" Returns a quaternion representing the rotational difference.\n"
@@ -198,7 +201,7 @@ static char Quaternion_rotation_difference_doc[] =
" :type other: :class:`Quaternion`\n"
" :return: the rotational difference between the two quat rotations.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_rotation_difference(QuaternionObject *self, PyObject *value)
{
float tquat[QUAT_SIZE], quat[QUAT_SIZE];
@@ -214,7 +217,7 @@ static PyObject *Quaternion_rotation_difference(QuaternionObject *self, PyObject
return newQuaternionObject(quat, Py_NEW, Py_TYPE(self));
}
-static char Quaternion_slerp_doc[] =
+PyDoc_STRVAR(Quaternion_slerp_doc,
".. function:: slerp(other, factor)\n"
"\n"
" Returns the interpolation of two quaternions.\n"
@@ -225,14 +228,16 @@ static char Quaternion_slerp_doc[] =
" :type factor: float\n"
" :return: The interpolated rotation.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_slerp(QuaternionObject *self, PyObject *args)
{
PyObject *value;
float tquat[QUAT_SIZE], quat[QUAT_SIZE], fac;
if(!PyArg_ParseTuple(args, "Of:slerp", &value, &fac)) {
- PyErr_SetString(PyExc_TypeError, "quat.slerp(): expected Quaternion types and float");
+ PyErr_SetString(PyExc_TypeError,
+ "quat.slerp(): "
+ "expected Quaternion types and float");
return NULL;
}
@@ -243,7 +248,9 @@ static PyObject *Quaternion_slerp(QuaternionObject *self, PyObject *args)
return NULL;
if(fac > 1.0f || fac < 0.0f) {
- PyErr_SetString(PyExc_AttributeError, "quat.slerp(): interpolation factor must be between 0.0 and 1.0");
+ PyErr_SetString(PyExc_ValueError,
+ "quat.slerp(): "
+ "interpolation factor must be between 0.0 and 1.0");
return NULL;
}
@@ -252,14 +259,14 @@ static PyObject *Quaternion_slerp(QuaternionObject *self, PyObject *args)
return newQuaternionObject(quat, Py_NEW, Py_TYPE(self));
}
-static char Quaternion_rotate_doc[] =
+PyDoc_STRVAR(Quaternion_rotate_doc,
".. method:: rotate(other)\n"
"\n"
" Rotates the quaternion a by another mathutils value.\n"
"\n"
" :arg other: rotation component of mathutils value\n"
" :type other: :class:`Euler`, :class:`Quaternion` or :class:`Matrix`\n"
-;
+);
static PyObject *Quaternion_rotate(QuaternionObject *self, PyObject *value)
{
float self_rmat[3][3], other_rmat[3][3], rmat[3][3];
@@ -284,11 +291,11 @@ static PyObject *Quaternion_rotate(QuaternionObject *self, PyObject *value)
//----------------------------Quaternion.normalize()----------------
//normalize the axis of rotation of [theta, vector]
-static char Quaternion_normalize_doc[] =
+PyDoc_STRVAR(Quaternion_normalize_doc,
".. function:: normalize()\n"
"\n"
" Normalize the quaternion.\n"
-;
+);
static PyObject *Quaternion_normalize(QuaternionObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -299,25 +306,25 @@ static PyObject *Quaternion_normalize(QuaternionObject *self)
(void)BaseMath_WriteCallback(self);
Py_RETURN_NONE;
}
-static char Quaternion_normalized_doc[] =
+PyDoc_STRVAR(Quaternion_normalized_doc,
".. function:: normalized()\n"
"\n"
" Return a new normalized quaternion.\n"
"\n"
" :return: a normalized copy.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_normalized(QuaternionObject *self)
{
return quat__apply_to_copy((PyNoArgsFunction)Quaternion_normalize, self);
}
//----------------------------Quaternion.invert()------------------
-static char Quaternion_invert_doc[] =
+PyDoc_STRVAR(Quaternion_invert_doc,
".. function:: invert()\n"
"\n"
" Set the quaternion to its inverse.\n"
-;
+);
static PyObject *Quaternion_invert(QuaternionObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -328,28 +335,28 @@ static PyObject *Quaternion_invert(QuaternionObject *self)
(void)BaseMath_WriteCallback(self);
Py_RETURN_NONE;
}
-static char Quaternion_inverted_doc[] =
+PyDoc_STRVAR(Quaternion_inverted_doc,
".. function:: inverted()\n"
"\n"
" Return a new, inverted quaternion.\n"
"\n"
" :return: the inverted value.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_inverted(QuaternionObject *self)
{
return quat__apply_to_copy((PyNoArgsFunction)Quaternion_invert, self);
}
//----------------------------Quaternion.identity()-----------------
-static char Quaternion_identity_doc[] =
+PyDoc_STRVAR(Quaternion_identity_doc,
".. function:: identity()\n"
"\n"
" Set the quaternion to an identity quaternion.\n"
"\n"
" :return: an instance of itself.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_identity(QuaternionObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -361,14 +368,14 @@ static PyObject *Quaternion_identity(QuaternionObject *self)
Py_RETURN_NONE;
}
//----------------------------Quaternion.negate()-------------------
-static char Quaternion_negate_doc[] =
+PyDoc_STRVAR(Quaternion_negate_doc,
".. function:: negate()\n"
"\n"
" Set the quaternion to its negative.\n"
"\n"
" :return: an instance of itself.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_negate(QuaternionObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -380,11 +387,11 @@ static PyObject *Quaternion_negate(QuaternionObject *self)
Py_RETURN_NONE;
}
//----------------------------Quaternion.conjugate()----------------
-static char Quaternion_conjugate_doc[] =
+PyDoc_STRVAR(Quaternion_conjugate_doc,
".. function:: conjugate()\n"
"\n"
" Set the quaternion to its conjugate (negate x, y, z).\n"
-;
+);
static PyObject *Quaternion_conjugate(QuaternionObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -395,21 +402,21 @@ static PyObject *Quaternion_conjugate(QuaternionObject *self)
(void)BaseMath_WriteCallback(self);
Py_RETURN_NONE;
}
-static char Quaternion_conjugated_doc[] =
+PyDoc_STRVAR(Quaternion_conjugated_doc,
".. function:: conjugated()\n"
"\n"
" Return a new conjugated quaternion.\n"
"\n"
" :return: a new quaternion.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Quaternion_conjugated(QuaternionObject *self)
{
return quat__apply_to_copy((PyNoArgsFunction)Quaternion_conjugate, self);
}
//----------------------------Quaternion.copy()----------------
-static char Quaternion_copy_doc[] =
+PyDoc_STRVAR(Quaternion_copy_doc,
".. function:: copy()\n"
"\n"
" Returns a copy of this quaternion.\n"
@@ -417,8 +424,9 @@ static char Quaternion_copy_doc[] =
" :return: A copy of the quaternion.\n"
" :rtype: :class:`Quaternion`\n"
"\n"
-" .. note:: use this to get a copy of a wrapped quaternion with no reference to the original data.\n"
-;
+" .. note:: use this to get a copy of a wrapped quaternion with\n"
+" no reference to the original data.\n"
+);
static PyObject *Quaternion_copy(QuaternionObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -494,7 +502,9 @@ static PyObject *Quaternion_item(QuaternionObject *self, int i)
if(i<0) i= QUAT_SIZE-i;
if(i < 0 || i >= QUAT_SIZE) {
- PyErr_SetString(PyExc_IndexError, "quaternion[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "quaternion[attribute]: "
+ "array index out of range");
return NULL;
}
@@ -510,14 +520,18 @@ static int Quaternion_ass_item(QuaternionObject *self, int i, PyObject *ob)
{
float scalar= (float)PyFloat_AsDouble(ob);
if(scalar==-1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "quaternion[index] = x: index argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "quaternion[index] = x: "
+ "index argument not a number");
return -1;
}
if(i<0) i= QUAT_SIZE-i;
if(i < 0 || i >= QUAT_SIZE){
- PyErr_SetString(PyExc_IndexError, "quaternion[attribute] = x: array assignment index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "quaternion[attribute] = x: "
+ "array assignment index out of range");
return -1;
}
self->quat[i] = scalar;
@@ -568,7 +582,9 @@ static int Quaternion_ass_slice(QuaternionObject *self, int begin, int end, PyOb
return -1;
if(size != (end - begin)){
- PyErr_SetString(PyExc_TypeError, "quaternion[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "quaternion[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -604,12 +620,15 @@ static PyObject *Quaternion_subscript(QuaternionObject *self, PyObject *item)
return Quaternion_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with quaternions");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with quaternions");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "quaternion indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "quaternion indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -634,12 +653,15 @@ static int Quaternion_ass_subscript(QuaternionObject *self, PyObject *item, PyOb
if (step == 1)
return Quaternion_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with quaternion");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with quaternion");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "quaternion indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "quaternion indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -653,7 +675,9 @@ static PyObject *Quaternion_add(PyObject *q1, PyObject *q2)
QuaternionObject *quat1 = NULL, *quat2 = NULL;
if(!QuaternionObject_Check(q1) || !QuaternionObject_Check(q2)) {
- PyErr_SetString(PyExc_AttributeError, "Quaternion addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Quaternion addition: "
+ "arguments not valid for this operation");
return NULL;
}
quat1 = (QuaternionObject*)q1;
@@ -674,7 +698,9 @@ static PyObject *Quaternion_sub(PyObject *q1, PyObject *q2)
QuaternionObject *quat1 = NULL, *quat2 = NULL;
if(!QuaternionObject_Check(q1) || !QuaternionObject_Check(q2)) {
- PyErr_SetString(PyExc_AttributeError, "Quaternion addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Quaternion addition: "
+ "arguments not valid for this operation");
return NULL;
}
@@ -727,8 +753,30 @@ static PyObject *Quaternion_mul(PyObject *q1, PyObject *q2)
return quat_mul_float(quat2, scalar);
}
}
- else if (quat1) { /* QUAT*FLOAT */
- if((((scalar= PyFloat_AsDouble(q2)) == -1.0f && PyErr_Occurred())==0)) {
+ else if (quat1) {
+ /* QUAT * VEC */
+ if (VectorObject_Check(q2)) {
+ VectorObject *vec2 = (VectorObject *)q2;
+ float tvec[3];
+
+ if(vec2->size != 3) {
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "only 3D vector rotations (with quats) "
+ "currently supported");
+ return NULL;
+ }
+ if(BaseMath_ReadCallback(vec2) == -1) {
+ return NULL;
+ }
+
+ copy_v3_v3(tvec, vec2->vec);
+ mul_qt_v3(quat1->quat, tvec);
+
+ return newVectorObject(tvec, 3, Py_NEW, Py_TYPE(vec2));
+ }
+ /* QUAT * FLOAT */
+ else if((((scalar= PyFloat_AsDouble(q2)) == -1.0f && PyErr_Occurred())==0)) {
return quat_mul_float(quat1, scalar);
}
}
@@ -736,7 +784,10 @@ static PyObject *Quaternion_mul(PyObject *q1, PyObject *q2)
BLI_assert(!"internal error");
}
- PyErr_Format(PyExc_TypeError, "Quaternion multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(q1)->tp_name, Py_TYPE(q2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Quaternion multiplication: "
+ "not supported between '%.200s' and '%.200s' types",
+ Py_TYPE(q1)->tp_name, Py_TYPE(q2)->tp_name);
return NULL;
}
@@ -857,7 +908,8 @@ static int Quaternion_setAngle(QuaternionObject *self, PyObject *value, void *UN
angle= PyFloat_AsDouble(value);
if(angle==-1.0 && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "quaternion.angle = value: float expected");
+ PyErr_SetString(PyExc_TypeError,
+ "quaternion.angle = value: float expected");
return -1;
}
@@ -938,7 +990,9 @@ static PyObject *Quaternion_new(PyTypeObject *type, PyObject *args, PyObject *kw
float quat[QUAT_SIZE]= {0.0f, 0.0f, 0.0f, 0.0f};
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Quaternion(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Quaternion(): "
+ "takes no keyword args");
return NULL;
}
@@ -1026,9 +1080,9 @@ static PyGetSetDef Quaternion_getseters[] = {
};
//------------------PY_OBECT DEFINITION--------------------------
-static char quaternion_doc[] =
+PyDoc_STRVAR(quaternion_doc,
"This object gives access to Quaternions in Blender."
-;
+);
PyTypeObject quaternion_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"mathutils.Quaternion", //tp_name
@@ -1110,8 +1164,7 @@ PyObject *newQuaternionObject(float *quat, int type, PyTypeObject *base_type)
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Quaternion(): invalid type");
- return NULL;
+ Py_FatalError("Quaternion(): invalid type!");
}
}
return (PyObject *) self;
diff --git a/source/blender/python/generic/mathutils_Quaternion.h b/source/blender/python/mathutils/mathutils_Quaternion.h
index d606621390a..d606621390a 100644
--- a/source/blender/python/generic/mathutils_Quaternion.h
+++ b/source/blender/python/mathutils/mathutils_Quaternion.h
diff --git a/source/blender/python/generic/mathutils_Vector.c b/source/blender/python/mathutils/mathutils_Vector.c
index 8e0c53be308..a954c07c98d 100644
--- a/source/blender/python/generic/mathutils_Vector.c
+++ b/source/blender/python/mathutils/mathutils_Vector.c
@@ -34,10 +34,11 @@
#include "mathutils.h"
-#include "BLI_blenlib.h"
#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
@@ -66,7 +67,9 @@ static PyObject *Vector_new(PyTypeObject *type, PyObject *args, PyObject *UNUSED
return NULL;
break;
default:
- PyErr_SetString(PyExc_TypeError, "mathutils.Vector(): more then a single arg given");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Vector(): "
+ "more then a single arg given");
return NULL;
}
return newVectorObject(vec, size, Py_NEW, type);
@@ -87,11 +90,11 @@ static PyObject *vec__apply_to_copy(PyNoArgsFunction vec_func, VectorObject *sel
}
/*-----------------------------METHODS---------------------------- */
-static char Vector_zero_doc[] =
+PyDoc_STRVAR(Vector_zero_doc,
".. method:: zero()\n"
"\n"
" Set all values to zero.\n"
-;
+);
static PyObject *Vector_zero(VectorObject *self)
{
fill_vn(self->vec, self->size, 0.0f);
@@ -102,15 +105,17 @@ static PyObject *Vector_zero(VectorObject *self)
Py_RETURN_NONE;
}
-static char Vector_normalize_doc[] =
+PyDoc_STRVAR(Vector_normalize_doc,
".. method:: normalize()\n"
"\n"
" Normalize the vector, making the length of the vector always 1.0.\n"
"\n"
-" .. warning:: Normalizing a vector where all values are zero results in all axis having a nan value (not a number).\n"
+" .. warning:: Normalizing a vector where all values are zero results\n"
+" in all axis having a nan value (not a number).\n"
"\n"
-" .. note:: Normalize works for vectors of all sizes, however 4D Vectors w axis is left untouched.\n"
-;
+" .. note:: Normalize works for vectors of all sizes,\n"
+" however 4D Vectors w axis is left untouched.\n"
+);
static PyObject *Vector_normalize(VectorObject *self)
{
int i;
@@ -130,41 +135,47 @@ static PyObject *Vector_normalize(VectorObject *self)
(void)BaseMath_WriteCallback(self);
Py_RETURN_NONE;
}
-static char Vector_normalized_doc[] =
+PyDoc_STRVAR(Vector_normalized_doc,
".. method:: normalized()\n"
"\n"
" Return a new, normalized vector.\n"
"\n"
" :return: a normalized copy of the vector\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_normalized(VectorObject *self)
{
return vec__apply_to_copy((PyNoArgsFunction)Vector_normalize, self);
}
-static char Vector_resize_2d_doc[] =
+PyDoc_STRVAR(Vector_resize_2d_doc,
".. method:: resize_2d()\n"
"\n"
" Resize the vector to 2D (x, y).\n"
"\n"
" :return: an instance of itself\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_resize_2d(VectorObject *self)
{
if(self->wrapped==Py_WRAP) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_2d(): cannot resize wrapped data - only python vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_2d(): "
+ "cannot resize wrapped data - only python vectors");
return NULL;
}
if(self->cb_user) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_2d(): cannot resize a vector that has an owner");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_2d(): "
+ "cannot resize a vector that has an owner");
return NULL;
}
self->vec = PyMem_Realloc(self->vec, (sizeof(float) * 2));
if(self->vec == NULL) {
- PyErr_SetString(PyExc_MemoryError, "vector.resize_2d(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "vector.resize_2d(): "
+ "problem allocating pointer space");
return NULL;
}
@@ -172,28 +183,34 @@ static PyObject *Vector_resize_2d(VectorObject *self)
Py_RETURN_NONE;
}
-static char Vector_resize_3d_doc[] =
+PyDoc_STRVAR(Vector_resize_3d_doc,
".. method:: resize_3d()\n"
"\n"
" Resize the vector to 3D (x, y, z).\n"
"\n"
" :return: an instance of itself\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_resize_3d(VectorObject *self)
{
if (self->wrapped==Py_WRAP) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_3d(): cannot resize wrapped data - only python vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_3d(): "
+ "cannot resize wrapped data - only python vectors");
return NULL;
}
if(self->cb_user) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_3d(): cannot resize a vector that has an owner");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_3d(): "
+ "cannot resize a vector that has an owner");
return NULL;
}
self->vec = PyMem_Realloc(self->vec, (sizeof(float) * 3));
if(self->vec == NULL) {
- PyErr_SetString(PyExc_MemoryError, "vector.resize_3d(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "vector.resize_3d(): "
+ "problem allocating pointer space");
return NULL;
}
@@ -204,28 +221,34 @@ static PyObject *Vector_resize_3d(VectorObject *self)
Py_RETURN_NONE;
}
-static char Vector_resize_4d_doc[] =
+PyDoc_STRVAR(Vector_resize_4d_doc,
".. method:: resize_4d()\n"
"\n"
" Resize the vector to 4D (x, y, z, w).\n"
"\n"
" :return: an instance of itself\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_resize_4d(VectorObject *self)
{
if(self->wrapped==Py_WRAP) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_4d(): cannot resize wrapped data - only python vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_4d(): "
+ "cannot resize wrapped data - only python vectors");
return NULL;
}
if(self->cb_user) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_4d(): cannot resize a vector that has an owner");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_4d(): "
+ "cannot resize a vector that has an owner");
return NULL;
}
self->vec = PyMem_Realloc(self->vec, (sizeof(float) * 4));
if(self->vec == NULL) {
- PyErr_SetString(PyExc_MemoryError, "vector.resize_4d(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "vector.resize_4d(): "
+ "problem allocating pointer space");
return NULL;
}
@@ -239,14 +262,14 @@ static PyObject *Vector_resize_4d(VectorObject *self)
self->size = 4;
Py_RETURN_NONE;
}
-static char Vector_to_2d_doc[] =
+PyDoc_STRVAR(Vector_to_2d_doc,
".. method:: to_2d()\n"
"\n"
" Return a 2d copy of the vector.\n"
"\n"
" :return: a new vector\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_to_2d(VectorObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -254,14 +277,14 @@ static PyObject *Vector_to_2d(VectorObject *self)
return newVectorObject(self->vec, 2, Py_NEW, Py_TYPE(self));
}
-static char Vector_to_3d_doc[] =
+PyDoc_STRVAR(Vector_to_3d_doc,
".. method:: to_3d()\n"
"\n"
" Return a 3d copy of the vector.\n"
"\n"
" :return: a new vector\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_to_3d(VectorObject *self)
{
float tvec[3]= {0.0f};
@@ -272,14 +295,14 @@ static PyObject *Vector_to_3d(VectorObject *self)
memcpy(tvec, self->vec, sizeof(float) * MIN2(self->size, 3));
return newVectorObject(tvec, 3, Py_NEW, Py_TYPE(self));
}
-static char Vector_to_4d_doc[] =
+PyDoc_STRVAR(Vector_to_4d_doc,
".. method:: to_4d()\n"
"\n"
" Return a 4d copy of the vector.\n"
"\n"
" :return: a new vector\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_to_4d(VectorObject *self)
{
float tvec[4]= {0.0f, 0.0f, 0.0f, 1.0f};
@@ -291,7 +314,7 @@ static PyObject *Vector_to_4d(VectorObject *self)
return newVectorObject(tvec, 4, Py_NEW, Py_TYPE(self));
}
-static char Vector_to_tuple_doc[] =
+PyDoc_STRVAR(Vector_to_tuple_doc,
".. method:: to_tuple(precision=-1)\n"
"\n"
" Return this vector as a tuple with.\n"
@@ -300,7 +323,7 @@ static char Vector_to_tuple_doc[] =
" :type precision: int\n"
" :return: the values of the vector rounded by *precision*\n"
" :rtype: tuple\n"
-;
+);
/* note: BaseMath_ReadCallback must be called beforehand */
static PyObject *Vector_to_tuple_ext(VectorObject *self, int ndigits)
{
@@ -331,7 +354,9 @@ static PyObject *Vector_to_tuple(VectorObject *self, PyObject *args)
return NULL;
if(ndigits > 22 || ndigits < 0) {
- PyErr_SetString(PyExc_ValueError, "vector.to_tuple(ndigits): ndigits must be between 0 and 21");
+ PyErr_SetString(PyExc_ValueError,
+ "vector.to_tuple(ndigits): "
+ "ndigits must be between 0 and 21");
return NULL;
}
@@ -344,7 +369,7 @@ static PyObject *Vector_to_tuple(VectorObject *self, PyObject *args)
return Vector_to_tuple_ext(self, ndigits);
}
-static char Vector_to_track_quat_doc[] =
+PyDoc_STRVAR(Vector_to_track_quat_doc,
".. method:: to_track_quat(track, up)\n"
"\n"
" Return a quaternion rotation from the vector and the track and up axis.\n"
@@ -355,7 +380,7 @@ static char Vector_to_track_quat_doc[] =
" :type up: string\n"
" :return: rotation from the vector and the track and up axis.\n"
" :rtype: :class:`Quaternion`\n"
-;
+);
static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
{
float vec[3], quat[4];
@@ -366,7 +391,9 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
return NULL;
if (self->size != 3) {
- PyErr_SetString(PyExc_TypeError, "only for 3D vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.to_track_quat(): "
+ "only for 3D vectors");
return NULL;
}
@@ -374,6 +401,8 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
return NULL;
if (strack) {
+ const char *axis_err_msg= "only X, -X, Y, -Y, Z or -Z for track axis";
+
if (strlen(strack) == 2) {
if (strack[0] == '-') {
switch(strack[1]) {
@@ -387,12 +416,12 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
track = 5;
break;
default:
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
else {
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
@@ -409,17 +438,18 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
track = 2;
break;
default:
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
else {
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
if (sup) {
+ const char *axis_err_msg= "only X, Y or Z for up axis";
if (strlen(sup) == 1) {
switch(*sup) {
case 'X':
@@ -432,18 +462,19 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
up = 2;
break;
default:
- PyErr_SetString(PyExc_ValueError, "only X, Y or Z for up axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
else {
- PyErr_SetString(PyExc_ValueError, "only X, Y or Z for up axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
if (track == up) {
- PyErr_SetString(PyExc_ValueError, "Can't have the same axis for track and up");
+ PyErr_SetString(PyExc_ValueError,
+ "Can't have the same axis for track and up");
return NULL;
}
@@ -462,7 +493,7 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
* Vector.reflect(mirror): return a reflected vector on the mirror normal
* vec - ((2 * DotVecs(vec, mirror)) * mirror)
*/
-static char Vector_reflect_doc[] =
+PyDoc_STRVAR(Vector_reflect_doc,
".. method:: reflect(mirror)\n"
"\n"
" Return the reflection vector from the *mirror* argument.\n"
@@ -471,7 +502,7 @@ static char Vector_reflect_doc[] =
" :type mirror: :class:`Vector`\n"
" :return: The reflected vector matching the size of this vector.\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_reflect(VectorObject *self, PyObject *value)
{
int value_size;
@@ -501,7 +532,7 @@ static PyObject *Vector_reflect(VectorObject *self, PyObject *value)
return newVectorObject(reflect, self->size, Py_NEW, Py_TYPE(self));
}
-static char Vector_cross_doc[] =
+PyDoc_STRVAR(Vector_cross_doc,
".. method:: cross(other)\n"
"\n"
" Return the cross product of this vector and another.\n"
@@ -512,7 +543,7 @@ static char Vector_cross_doc[] =
" :rtype: :class:`Vector`\n"
"\n"
" .. note:: both vectors must be 3D\n"
-;
+);
static PyObject *Vector_cross(VectorObject *self, PyObject *value)
{
VectorObject *ret;
@@ -529,7 +560,7 @@ static PyObject *Vector_cross(VectorObject *self, PyObject *value)
return (PyObject *)ret;
}
-static char Vector_dot_doc[] =
+PyDoc_STRVAR(Vector_dot_doc,
".. method:: dot(other)\n"
"\n"
" Return the dot product of this vector and another.\n"
@@ -538,7 +569,7 @@ static char Vector_dot_doc[] =
" :type other: :class:`Vector`\n"
" :return: The dot product.\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_dot(VectorObject *self, PyObject *value)
{
float tvec[MAX_DIMENSIONS];
@@ -558,20 +589,21 @@ static PyObject *Vector_dot(VectorObject *self, PyObject *value)
return PyFloat_FromDouble(dot);
}
-static char Vector_angle_doc[] =
+PyDoc_STRVAR(Vector_angle_doc,
".. function:: angle(other, fallback)\n"
"\n"
" Return the angle between two vectors.\n"
"\n"
" :arg other: another vector to compare the angle with\n"
" :type other: :class:`Vector`\n"
-" :arg fallback: return this value when the angle cant be calculated (zero length vector)\n"
+" :arg fallback: return this value when the angle cant be calculated\n"
+" (zero length vector)\n"
" :type fallback: any\n"
" :return: angle in radians or fallback when given\n"
" :rtype: float\n"
"\n"
" .. note:: Zero length vectors raise an :exc:`AttributeError`.\n"
-;
+);
static PyObject *Vector_angle(VectorObject *self, PyObject *args)
{
const int size= self->size;
@@ -601,7 +633,9 @@ static PyObject *Vector_angle(VectorObject *self, PyObject *args)
return fallback;
}
else {
- PyErr_SetString(PyExc_ValueError, "vector.angle(other): zero length vectors have no valid angle");
+ PyErr_SetString(PyExc_ValueError,
+ "vector.angle(other): "
+ "zero length vectors have no valid angle");
return NULL;
}
}
@@ -615,10 +649,11 @@ static PyObject *Vector_angle(VectorObject *self, PyObject *args)
return PyFloat_FromDouble(saacos(dot));
}
-static char Vector_rotation_difference_doc[] =
+PyDoc_STRVAR(Vector_rotation_difference_doc,
".. function:: difference(other)\n"
"\n"
-" Returns a quaternion representing the rotational difference between this vector and another.\n"
+" Returns a quaternion representing the rotational difference between this\n"
+" vector and another.\n"
"\n"
" :arg other: second vector.\n"
" :type other: :class:`Vector`\n"
@@ -626,13 +661,15 @@ static char Vector_rotation_difference_doc[] =
" :rtype: :class:`Quaternion`\n"
"\n"
" .. note:: 2D vectors raise an :exc:`AttributeError`.\n"
-;
+);
static PyObject *Vector_rotation_difference(VectorObject *self, PyObject *value)
{
float quat[4], vec_a[3], vec_b[3];
if(self->size < 3) {
- PyErr_SetString(PyExc_AttributeError, "vec.difference(value): expects both vectors to be size 3 or 4");
+ PyErr_SetString(PyExc_ValueError,
+ "vec.difference(value): "
+ "expects both vectors to be size 3 or 4");
return NULL;
}
@@ -650,7 +687,7 @@ static PyObject *Vector_rotation_difference(VectorObject *self, PyObject *value)
return newQuaternionObject(quat, Py_NEW, NULL);
}
-static char Vector_project_doc[] =
+PyDoc_STRVAR(Vector_project_doc,
".. function:: project(other)\n"
"\n"
" Return the projection of this vector onto the *other*.\n"
@@ -659,7 +696,7 @@ static char Vector_project_doc[] =
" :type other: :class:`Vector`\n"
" :return: the parallel projection vector\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_project(VectorObject *self, PyObject *value)
{
const int size= self->size;
@@ -690,7 +727,7 @@ static PyObject *Vector_project(VectorObject *self, PyObject *value)
return newVectorObject(vec, size, Py_NEW, Py_TYPE(self));
}
-static char Vector_lerp_doc[] =
+PyDoc_STRVAR(Vector_lerp_doc,
".. function:: lerp(other, factor)\n"
"\n"
" Returns the interpolation of two vectors.\n"
@@ -701,7 +738,7 @@ static char Vector_lerp_doc[] =
" :type factor: float\n"
" :return: The interpolated rotation.\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_lerp(VectorObject *self, PyObject *args)
{
const int size= self->size;
@@ -727,14 +764,14 @@ static PyObject *Vector_lerp(VectorObject *self, PyObject *args)
return newVectorObject(vec, size, Py_NEW, Py_TYPE(self));
}
-static char Vector_rotate_doc[] =
+PyDoc_STRVAR(Vector_rotate_doc,
".. function:: rotate(other)\n"
"\n"
" Return vector by a rotation value.\n"
"\n"
" :arg other: rotation component of mathutils value\n"
" :type other: :class:`Euler`, :class:`Quaternion` or :class:`Matrix`\n"
-;
+);
static PyObject *Vector_rotate(VectorObject *self, PyObject *value)
{
float other_rmat[3][3];
@@ -746,7 +783,8 @@ static PyObject *Vector_rotate(VectorObject *self, PyObject *value)
return NULL;
if(self->size < 3) {
- PyErr_SetString(PyExc_ValueError, "Vector must be 3D or 4D");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector must be 3D or 4D");
return NULL;
}
@@ -756,7 +794,7 @@ static PyObject *Vector_rotate(VectorObject *self, PyObject *value)
Py_RETURN_NONE;
}
-static char Vector_copy_doc[] =
+PyDoc_STRVAR(Vector_copy_doc,
".. function:: copy()\n"
"\n"
" Returns a copy of this vector.\n"
@@ -764,8 +802,9 @@ static char Vector_copy_doc[] =
" :return: A copy of the vector.\n"
" :rtype: :class:`Vector`\n"
"\n"
-" .. note:: use this to get a copy of a wrapped vector with no reference to the original data.\n"
-;
+" .. note:: use this to get a copy of a wrapped vector with\n"
+" no reference to the original data.\n"
+);
static PyObject *Vector_copy(VectorObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -799,8 +838,15 @@ static PyObject *vector_item_internal(VectorObject *self, int i, const int is_at
if(i<0) i= self->size-i;
if(i < 0 || i >= self->size) {
- if(is_attr) PyErr_Format(PyExc_AttributeError,"vector.%c: unavailable on %dd vector", *(((char *)"xyzw") + i), self->size);
- else PyErr_SetString(PyExc_IndexError,"vector[index]: out of range");
+ if(is_attr) {
+ PyErr_Format(PyExc_AttributeError,
+ "vector.%c: unavailable on %dd vector",
+ *(((char *)"xyzw") + i), self->size);
+ }
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "vector[index]: out of range");
+ }
return NULL;
}
@@ -819,15 +865,25 @@ static int vector_ass_item_internal(VectorObject *self, int i, PyObject *value,
{
float scalar;
if((scalar=PyFloat_AsDouble(value))==-1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "vector[index] = x: index argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "vector[index] = x: "
+ "index argument not a number");
return -1;
}
if(i<0) i= self->size-i;
if(i < 0 || i >= self->size){
- if(is_attr) PyErr_Format(PyExc_AttributeError,"vector.%c = x: unavailable on %dd vector", *(((char *)"xyzw") + i), self->size);
- else PyErr_SetString(PyExc_IndexError, "vector[index] = x: assignment index out of range");
+ if(is_attr) {
+ PyErr_Format(PyExc_AttributeError,
+ "vector.%c = x: unavailable on %dd vector",
+ *(((char *)"xyzw") + i), self->size);
+ }
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "vector[index] = x: "
+ "assignment index out of range");
+ }
return -1;
}
self->vec[i] = scalar;
@@ -864,8 +920,7 @@ static PyObject *Vector_slice(VectorObject *self, int begin, int end)
return tuple;
}
/* sequence slice (set): vector[a:b] = value */
-static int Vector_ass_slice(VectorObject *self, int begin, int end,
- PyObject * seq)
+static int Vector_ass_slice(VectorObject *self, int begin, int end, PyObject *seq)
{
int y, size = 0;
float vec[MAX_DIMENSIONS];
@@ -894,13 +949,15 @@ static int Vector_ass_slice(VectorObject *self, int begin, int end,
/* Numeric Protocols */
/* addition: obj + obj */
-static PyObject *Vector_add(PyObject * v1, PyObject * v2)
+static PyObject *Vector_add(PyObject *v1, PyObject *v2)
{
VectorObject *vec1 = NULL, *vec2 = NULL;
float vec[MAX_DIMENSIONS];
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
@@ -911,7 +968,9 @@ static PyObject *Vector_add(PyObject * v1, PyObject * v2)
/*VECTOR + VECTOR*/
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -921,19 +980,23 @@ static PyObject *Vector_add(PyObject * v1, PyObject * v2)
}
/* addition in-place: obj += obj */
-static PyObject *Vector_iadd(PyObject * v1, PyObject * v2)
+static PyObject *Vector_iadd(PyObject *v1, PyObject *v2)
{
VectorObject *vec1 = NULL, *vec2 = NULL;
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
vec2 = (VectorObject*)v2;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -948,13 +1011,15 @@ static PyObject *Vector_iadd(PyObject * v1, PyObject * v2)
}
/* subtraction: obj - obj */
-static PyObject *Vector_sub(PyObject * v1, PyObject * v2)
+static PyObject *Vector_sub(PyObject *v1, PyObject *v2)
{
VectorObject *vec1 = NULL, *vec2 = NULL;
float vec[MAX_DIMENSIONS];
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
@@ -964,7 +1029,9 @@ static PyObject *Vector_sub(PyObject * v1, PyObject * v2)
return NULL;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -974,19 +1041,23 @@ static PyObject *Vector_sub(PyObject * v1, PyObject * v2)
}
/* subtraction in-place: obj -= obj */
-static PyObject *Vector_isub(PyObject * v1, PyObject * v2)
+static PyObject *Vector_isub(PyObject *v1, PyObject *v2)
{
VectorObject *vec1= NULL, *vec2= NULL;
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
vec2 = (VectorObject*)v2;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -1012,7 +1083,7 @@ static PyObject *Vector_isub(PyObject * v1, PyObject * v2)
* note: vector/matrix multiplication IS NOT COMMUTATIVE!!!!
* note: assume read callbacks have been done first.
*/
-static int column_vector_multiplication(float rvec[MAX_DIMENSIONS], VectorObject* vec, MatrixObject * mat)
+int column_vector_multiplication(float rvec[MAX_DIMENSIONS], VectorObject* vec, MatrixObject * mat)
{
float vec_cpy[MAX_DIMENSIONS];
double dot = 0.0f;
@@ -1023,7 +1094,10 @@ static int column_vector_multiplication(float rvec[MAX_DIMENSIONS], VectorObject
vec_cpy[3] = 1.0f;
}
else {
- PyErr_SetString(PyExc_AttributeError, "matrix * vector: matrix.row_size and len(vector) must be the same, except for 3D vector * 4x4 matrix.");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix * vector: "
+ "matrix.row_size and len(vector) must be the same, "
+ "except for 3D vector * 4x4 matrix.");
return -1;
}
}
@@ -1050,7 +1124,7 @@ static PyObject *vector_mul_float(VectorObject *vec, const float scalar)
return newVectorObject(tvec, vec->size, Py_NEW, Py_TYPE(vec));
}
-static PyObject *Vector_mul(PyObject * v1, PyObject * v2)
+static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
{
VectorObject *vec1 = NULL, *vec2 = NULL;
float scalar;
@@ -1073,7 +1147,9 @@ static PyObject *Vector_mul(PyObject * v1, PyObject * v2)
double dot = 0.0f;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector multiplication: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -1085,8 +1161,29 @@ 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
+ 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 ------*/
+
+
if(BaseMath_ReadCallback((MatrixObject *)v2) == -1)
return NULL;
if(column_vector_multiplication(tvec, vec1, (MatrixObject*)v2) == -1) {
@@ -1101,22 +1198,42 @@ static PyObject *Vector_mul(PyObject * v1, PyObject * v2)
float tvec[3];
if(vec1->size != 3) {
- PyErr_SetString(PyExc_TypeError, "Vector multiplication: only 3D vector rotations (with quats) currently supported");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "only 3D vector rotations (with quats) currently supported");
return NULL;
}
if(BaseMath_ReadCallback(quat2) == -1) {
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));
}
- else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC*FLOAT */
+ else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC * FLOAT */
return vector_mul_float(vec1, scalar);
}
}
else if (vec2) {
- if (((scalar= PyFloat_AsDouble(v1)) == -1.0f && PyErr_Occurred())==0) { /* VEC*FLOAT */
+ if (((scalar= PyFloat_AsDouble(v1)) == -1.0f && PyErr_Occurred())==0) { /* FLOAT * VEC */
return vector_mul_float(vec2, scalar);
}
}
@@ -1124,12 +1241,15 @@ static PyObject *Vector_mul(PyObject * v1, PyObject * v2)
BLI_assert(!"internal error");
}
- PyErr_Format(PyExc_TypeError, "Vector multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Vector multiplication: "
+ "not supported between '%.200s' and '%.200s' types",
+ Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
return NULL;
}
/* mulplication in-place: obj *= obj */
-static PyObject *Vector_imul(PyObject * v1, PyObject * v2)
+static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
{
VectorObject *vec = (VectorObject *)v1;
float scalar;
@@ -1147,6 +1267,24 @@ 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();
+#endif
+#endif /* ifndef MATH_STANDALONE */
+/* ------ to be removed ------*/
+
+
memcpy(vec->vec, rvec, sizeof(float) * vec->size);
}
else if (QuaternionObject_Check(v2)) {
@@ -1154,20 +1292,43 @@ static PyObject *Vector_imul(PyObject * v1, PyObject * v2)
QuaternionObject *quat2 = (QuaternionObject*)v2;
if(vec->size != 3) {
- PyErr_SetString(PyExc_TypeError, "Vector multiplication: only 3D vector rotations (with quats) currently supported");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "only 3D vector rotations (with quats) currently supported");
return NULL;
}
if(BaseMath_ReadCallback(quat2) == -1) {
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();
+#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 */
+ else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC *= FLOAT */
mul_vn_fl(vec->vec, vec->size, scalar);
}
else {
- PyErr_SetString(PyExc_TypeError, "Vector multiplication: arguments not acceptable for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector multiplication: "
+ "arguments not acceptable for this operation");
return NULL;
}
@@ -1177,14 +1338,16 @@ static PyObject *Vector_imul(PyObject * v1, PyObject * v2)
}
/* divid: obj / obj */
-static PyObject *Vector_div(PyObject * v1, PyObject * v2)
+static PyObject *Vector_div(PyObject *v1, PyObject *v2)
{
int i;
float vec[4], scalar;
VectorObject *vec1 = NULL;
if(!VectorObject_Check(v1)) { /* not a vector */
- PyErr_SetString(PyExc_TypeError, "Vector division: Vector must be divided by a float");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector division: "
+ "Vector must be divided by a float");
return NULL;
}
vec1 = (VectorObject*)v1; /* vector */
@@ -1193,12 +1356,16 @@ static PyObject *Vector_div(PyObject * v1, PyObject * v2)
return NULL;
if((scalar=PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "Vector division: Vector must be divided by a float");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector division: "
+ "Vector must be divided by a float");
return NULL;
}
if(scalar==0.0f) {
- PyErr_SetString(PyExc_ZeroDivisionError, "Vector division: divide by zero error");
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Vector division: "
+ "divide by zero error");
return NULL;
}
@@ -1209,7 +1376,7 @@ static PyObject *Vector_div(PyObject * v1, PyObject * v2)
}
/* divide in-place: obj /= obj */
-static PyObject *Vector_idiv(PyObject * v1, PyObject * v2)
+static PyObject *Vector_idiv(PyObject *v1, PyObject *v2)
{
int i;
float scalar;
@@ -1219,12 +1386,16 @@ static PyObject *Vector_idiv(PyObject * v1, PyObject * v2)
return NULL;
if((scalar=PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "Vector division: Vector must be divided by a float");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector division: "
+ "Vector must be divided by a float");
return NULL;
}
if(scalar==0.0f) {
- PyErr_SetString(PyExc_ZeroDivisionError, "Vector division: divide by zero error");
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Vector division: "
+ "divide by zero error");
return NULL;
}
for(i = 0; i < vec1->size; i++) {
@@ -1390,12 +1561,15 @@ static PyObject *Vector_subscript(VectorObject* self, PyObject* item)
return Vector_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "vector indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -1419,12 +1593,15 @@ static int Vector_ass_subscript(VectorObject* self, PyObject* item, PyObject* va
if (step == 1)
return Vector_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "vector indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -1484,7 +1661,7 @@ static PyObject *Vector_getAxis(VectorObject *self, void *type)
return vector_item_internal(self, GET_INT_FROM_POINTER(type), TRUE);
}
-static int Vector_setAxis(VectorObject *self, PyObject * value, void *type)
+static int Vector_setAxis(VectorObject *self, PyObject *value, void *type)
{
return vector_ass_item_internal(self, GET_INT_FROM_POINTER(type), value, TRUE);
}
@@ -1513,12 +1690,14 @@ static int Vector_setLength(VectorObject *self, PyObject *value)
return -1;
if((param=PyFloat_AsDouble(value)) == -1.0 && PyErr_Occurred()) {
- PyErr_SetString(PyExc_TypeError, "length must be set to a number");
+ PyErr_SetString(PyExc_TypeError,
+ "length must be set to a number");
return -1;
}
if (param < 0.0) {
- PyErr_SetString(PyExc_TypeError, "cannot set a vectors length to a negative value");
+ PyErr_SetString(PyExc_ValueError,
+ "cannot set a vectors length to a negative value");
return -1;
}
if (param == 0.0) {
@@ -1569,7 +1748,9 @@ static PyObject *Vector_getSwizzle(VectorObject *self, void *closure)
{
axis_from = swizzleClosure & SWIZZLE_AXIS;
if(axis_from >= self->size) {
- PyErr_SetString(PyExc_AttributeError, "Error: vector does not have specified axis");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector swizzle: "
+ "specified axis not present");
return NULL;
}
@@ -1591,7 +1772,7 @@ static PyObject *Vector_getSwizzle(VectorObject *self, void *closure)
Returns 0 on success and -1 on failure. On failure, the vector will be
unchanged. */
-static int Vector_setSwizzle(VectorObject *self, PyObject * value, void *closure)
+static int Vector_setSwizzle(VectorObject *self, PyObject *value, void *closure)
{
size_t size_from;
float scalarVal;
@@ -1611,12 +1792,13 @@ static int Vector_setSwizzle(VectorObject *self, PyObject * value, void *closure
swizzles defined for axes z and w, but they would be invalid. */
swizzleClosure = GET_INT_FROM_POINTER(closure);
axis_from= 0;
- while (swizzleClosure & SWIZZLE_VALID_AXIS)
- {
+ while (swizzleClosure & SWIZZLE_VALID_AXIS) {
axis_to = swizzleClosure & SWIZZLE_AXIS;
if (axis_to >= self->size)
{
- PyErr_SetString(PyExc_AttributeError, "Error: vector does not have specified axis");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector swizzle: "
+ "specified axis not present");
return -1;
}
swizzleClosure = swizzleClosure >> SWIZZLE_BITS_PER_AXIS;
@@ -1630,12 +1812,13 @@ static int Vector_setSwizzle(VectorObject *self, PyObject * value, void *closure
size_from= axis_from;
}
- else if((size_from=mathutils_array_parse(vec_assign, 2, 4, value, "mathutils.Vector.**** = swizzle assignment")) == -1) {
+ else if(PyErr_Clear(), (size_from=mathutils_array_parse(vec_assign, 2, 4, value, "mathutils.Vector.**** = swizzle assignment")) == -1) {
return -1;
}
if(axis_from != size_from) {
- PyErr_SetString(PyExc_AttributeError, "Error: vector size does not match swizzle");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector swizzle: size does not match swizzle");
return -1;
}
@@ -2067,7 +2250,9 @@ static int row_vector_multiplication(float rvec[4], VectorObject* vec, MatrixObj
if(mat->colSize != vec_size){
if(mat->colSize == 4 && vec_size != 3){
- PyErr_SetString(PyExc_AttributeError, "vector * matrix: matrix column size and the vector size must be the same");
+ PyErr_SetString(PyExc_ValueError,
+ "vector * matrix: matrix column size "
+ "and the vector size must be the same");
return -1;
}
else {
@@ -2094,14 +2279,14 @@ static int row_vector_multiplication(float rvec[4], VectorObject* vec, MatrixObj
#endif
/*----------------------------Vector.negate() -------------------- */
-static char Vector_negate_doc[] =
+PyDoc_STRVAR(Vector_negate_doc,
".. method:: negate()\n"
"\n"
" Set all values to their negative.\n"
"\n"
" :return: an instance of itself\n"
" :rtype: :class:`Vector`\n"
-;
+);
static PyObject *Vector_negate(VectorObject *self)
{
if(BaseMath_ReadCallback(self) == -1)
@@ -2153,9 +2338,9 @@ static struct PyMethodDef Vector_methods[] = {
vec*mat and mat*vec both get sent to Vector_mul and it neesd to sort out the order
*/
-static char vector_doc[] =
+PyDoc_STRVAR(vector_doc,
"This object gives access to Vectors in Blender."
-;
+);
PyTypeObject vector_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
/* For printing, in format "<module>.<name>" */
@@ -2248,7 +2433,8 @@ PyObject *newVectorObject(float *vec, const int size, const int type, PyTypeObje
VectorObject *self;
if(size > 4 || size < 2) {
- PyErr_SetString(PyExc_RuntimeError, "Vector(): invalid size");
+ PyErr_SetString(PyExc_RuntimeError,
+ "Vector(): invalid size");
return NULL;
}
@@ -2280,8 +2466,7 @@ PyObject *newVectorObject(float *vec, const int size, const int type, PyTypeObje
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Vector(): invalid type");
- return NULL;
+ Py_FatalError("Vector(): invalid type!");
}
}
return (PyObject *) self;
diff --git a/source/blender/python/generic/mathutils_Vector.h b/source/blender/python/mathutils/mathutils_Vector.h
index 0ede836ce44..0ede836ce44 100644
--- a/source/blender/python/generic/mathutils_Vector.h
+++ b/source/blender/python/mathutils/mathutils_Vector.h
diff --git a/source/blender/python/generic/mathutils_geometry.c b/source/blender/python/mathutils/mathutils_geometry.c
index 6031c716807..bcdfe020e1a 100644
--- a/source/blender/python/generic/mathutils_geometry.c
+++ b/source/blender/python/mathutils/mathutils_geometry.c
@@ -1,4 +1,4 @@
-/*
+/*
* $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
@@ -37,27 +37,29 @@
#include "mathutils_geometry.h"
/* Used for PolyFill */
-#include "MEM_guardedalloc.h"
+#ifndef MATH_STANDALONE /* define when building outside blender */
+# include "MEM_guardedalloc.h"
+# include "BLI_blenlib.h"
+# include "BLI_boxpack2d.h"
+# include "BKE_displist.h"
+# include "BKE_curve.h"
+#endif
-#include "BLI_blenlib.h"
-#include "BLI_boxpack2d.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
-
-#include "BKE_displist.h"
-
-#include "BKE_curve.h"
#define SWAP_FLOAT(a, b, tmp) tmp=a; a=b; b=tmp
#define eps 0.000001
/*-------------------------DOC STRINGS ---------------------------*/
-static char M_Geometry_doc[]= "The Blender geometry module\n\n";
+PyDoc_STRVAR(M_Geometry_doc,
+"The Blender geometry module"
+);
//---------------------------------INTERSECTION FUNCTIONS--------------------
-static char M_Geometry_intersect_ray_tri_doc[] =
+PyDoc_STRVAR(M_Geometry_intersect_ray_tri_doc,
".. function:: intersect_ray_tri(v1, v2, v3, ray, orig, clip=True)\n"
"\n"
" Returns the intersection between a ray and a triangle, if possible, returns None otherwise.\n"
@@ -76,7 +78,7 @@ static char M_Geometry_intersect_ray_tri_doc[] =
" :type clip: boolean\n"
" :return: The point of intersection or None if no intersection is found\n"
" :rtype: :class:`mathutils.Vector` or None\n"
-;
+);
static PyObject *M_Geometry_intersect_ray_tri(PyObject *UNUSED(self), PyObject* args)
{
VectorObject *ray, *ray_off, *vec1, *vec2, *vec3;
@@ -88,7 +90,8 @@ static PyObject *M_Geometry_intersect_ray_tri(PyObject *UNUSED(self), PyObject*
return NULL;
}
if(vec1->size != 3 || vec2->size != 3 || vec3->size != 3 || ray->size != 3 || ray_off->size != 3) {
- PyErr_SetString(PyExc_ValueError, "only 3D vectors for all parameters");
+ PyErr_SetString(PyExc_ValueError,
+ "only 3D vectors for all parameters");
return NULL;
}
@@ -150,7 +153,7 @@ static PyObject *M_Geometry_intersect_ray_tri(PyObject *UNUSED(self), PyObject*
/* Line-Line intersection using algorithm from mathworld.wolfram.com */
-static char M_Geometry_intersect_line_line_doc[] =
+PyDoc_STRVAR(M_Geometry_intersect_line_line_doc,
".. function:: intersect_line_line(v1, v2, v3, v4)\n"
"\n"
" Returns a tuple with the points on each line respectively closest to the other.\n"
@@ -164,10 +167,10 @@ static char M_Geometry_intersect_line_line_doc[] =
" :arg v4: Second point of the second line\n"
" :type v4: :class:`mathutils.Vector`\n"
" :rtype: tuple of :class:`mathutils.Vector`'s\n"
-;
+);
static PyObject *M_Geometry_intersect_line_line(PyObject *UNUSED(self), PyObject *args)
{
- PyObject * tuple;
+ PyObject *tuple;
VectorObject *vec1, *vec2, *vec3, *vec4;
float v1[3], v2[3], v3[3], v4[3], i1[3], i2[3];
@@ -175,7 +178,8 @@ static PyObject *M_Geometry_intersect_line_line(PyObject *UNUSED(self), PyObject
return NULL;
}
if(vec1->size != vec2->size || vec1->size != vec3->size || vec3->size != vec2->size) {
- PyErr_SetString(PyExc_ValueError,"vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
@@ -223,7 +227,8 @@ static PyObject *M_Geometry_intersect_line_line(PyObject *UNUSED(self), PyObject
}
}
else {
- PyErr_SetString(PyExc_ValueError, "2D/3D vectors only");
+ PyErr_SetString(PyExc_ValueError,
+ "2D/3D vectors only");
return NULL;
}
}
@@ -232,7 +237,7 @@ static PyObject *M_Geometry_intersect_line_line(PyObject *UNUSED(self), PyObject
//----------------------------geometry.normal() -------------------
-static char M_Geometry_normal_doc[] =
+PyDoc_STRVAR(M_Geometry_normal_doc,
".. function:: normal(v1, v2, v3, v4=None)\n"
"\n"
" Returns the normal of the 3D tri or quad.\n"
@@ -246,7 +251,7 @@ static char M_Geometry_normal_doc[] =
" :arg v4: Point4 (optional)\n"
" :type v4: :class:`mathutils.Vector`\n"
" :rtype: :class:`mathutils.Vector`\n"
-;
+);
static PyObject *M_Geometry_normal(PyObject *UNUSED(self), PyObject* args)
{
VectorObject *vec1, *vec2, *vec3, *vec4;
@@ -257,11 +262,13 @@ static PyObject *M_Geometry_normal(PyObject *UNUSED(self), PyObject* args)
return NULL;
}
if(vec1->size != vec2->size || vec1->size != vec3->size) {
- PyErr_SetString(PyExc_ValueError, "vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
if(vec1->size < 3) {
- PyErr_SetString(PyExc_ValueError, "2D vectors unsupported");
+ PyErr_SetString(PyExc_ValueError,
+ "2D vectors unsupported");
return NULL;
}
@@ -275,11 +282,13 @@ static PyObject *M_Geometry_normal(PyObject *UNUSED(self), PyObject* args)
return NULL;
}
if(vec1->size != vec2->size || vec1->size != vec3->size || vec1->size != vec4->size) {
- PyErr_SetString(PyExc_ValueError,"vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
if(vec1->size < 3) {
- PyErr_SetString(PyExc_ValueError, "2D vectors unsupported");
+ PyErr_SetString(PyExc_ValueError,
+ "2D vectors unsupported");
return NULL;
}
@@ -294,7 +303,7 @@ static PyObject *M_Geometry_normal(PyObject *UNUSED(self), PyObject* args)
//--------------------------------- AREA FUNCTIONS--------------------
-static char M_Geometry_area_tri_doc[] =
+PyDoc_STRVAR(M_Geometry_area_tri_doc,
".. function:: area_tri(v1, v2, v3)\n"
"\n"
" Returns the area size of the 2D or 3D triangle defined.\n"
@@ -306,7 +315,7 @@ static char M_Geometry_area_tri_doc[] =
" :arg v3: Point3\n"
" :type v3: :class:`mathutils.Vector`\n"
" :rtype: float\n"
-;
+);
static PyObject *M_Geometry_area_tri(PyObject *UNUSED(self), PyObject* args)
{
VectorObject *vec1, *vec2, *vec3;
@@ -316,7 +325,8 @@ static PyObject *M_Geometry_area_tri(PyObject *UNUSED(self), PyObject* args)
}
if(vec1->size != vec2->size || vec1->size != vec3->size) {
- PyErr_SetString(PyExc_ValueError, "vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
@@ -330,133 +340,14 @@ static PyObject *M_Geometry_area_tri(PyObject *UNUSED(self), PyObject* args)
return PyFloat_FromDouble(area_tri_v2(vec1->vec, vec2->vec, vec3->vec));
}
else {
- PyErr_SetString(PyExc_ValueError, "only 2D,3D vectors are supported");
+ PyErr_SetString(PyExc_ValueError,
+ "only 2D,3D vectors are supported");
return NULL;
}
}
-/*----------------------------------geometry.PolyFill() -------------------*/
-static char M_Geometry_tesselate_polygon_doc[] =
-".. function:: tesselate_polygon(veclist_list)\n"
-"\n"
-" Takes a list of polylines (each point a vector) and returns the point indices for a polyline filled with triangles.\n"
-"\n"
-" :arg veclist_list: list of polylines\n"
-" :rtype: list\n"
-;
-/* PolyFill function, uses Blenders scanfill to fill multiple poly lines */
-static PyObject *M_Geometry_tesselate_polygon(PyObject *UNUSED(self), PyObject *polyLineSeq)
-{
- PyObject *tri_list; /*return this list of tri's */
- PyObject *polyLine, *polyVec;
- int i, len_polylines, len_polypoints, ls_error= 0;
-
- /* display listbase */
- ListBase dispbase={NULL, NULL};
- DispList *dl;
- float *fp; /*pointer to the array of malloced dl->verts to set the points from the vectors */
- int index, *dl_face, totpoints=0;
-
- if(!PySequence_Check(polyLineSeq)) {
- PyErr_SetString(PyExc_TypeError, "expected a sequence of poly lines");
- return NULL;
- }
-
- len_polylines= PySequence_Size(polyLineSeq);
-
- for(i= 0; i < len_polylines; ++i) {
- polyLine= PySequence_GetItem(polyLineSeq, i);
- if (!PySequence_Check(polyLine)) {
- freedisplist(&dispbase);
- Py_XDECREF(polyLine); /* may be null so use Py_XDECREF*/
- PyErr_SetString(PyExc_TypeError, "One or more of the polylines is not a sequence of mathutils.Vector's");
- return NULL;
- }
-
- len_polypoints= PySequence_Size(polyLine);
- if (len_polypoints>0) { /* dont bother adding edges as polylines */
-#if 0
- if (EXPP_check_sequence_consistency(polyLine, &vector_Type) != 1) {
- freedisplist(&dispbase);
- Py_DECREF(polyLine);
- PyErr_SetString(PyExc_TypeError, "A point in one of the polylines is not a mathutils.Vector type");
- return NULL;
- }
-#endif
- dl= MEM_callocN(sizeof(DispList), "poly disp");
- BLI_addtail(&dispbase, dl);
- dl->type= DL_INDEX3;
- dl->nr= len_polypoints;
- dl->type= DL_POLY;
- dl->parts= 1; /* no faces, 1 edge loop */
- dl->col= 0; /* no material */
- dl->verts= fp= MEM_callocN(sizeof(float)*3*len_polypoints, "dl verts");
- dl->index= MEM_callocN(sizeof(int)*3*len_polypoints, "dl index");
-
- for(index= 0; index<len_polypoints; ++index, fp+=3) {
- polyVec= PySequence_GetItem(polyLine, index);
- if(VectorObject_Check(polyVec)) {
-
- if(BaseMath_ReadCallback((VectorObject *)polyVec) == -1)
- ls_error= 1;
-
- fp[0]= ((VectorObject *)polyVec)->vec[0];
- fp[1]= ((VectorObject *)polyVec)->vec[1];
- if(((VectorObject *)polyVec)->size > 2)
- fp[2]= ((VectorObject *)polyVec)->vec[2];
- else
- fp[2]= 0.0f; /* if its a 2d vector then set the z to be zero */
- }
- else {
- ls_error= 1;
- }
-
- totpoints++;
- Py_DECREF(polyVec);
- }
- }
- Py_DECREF(polyLine);
- }
-
- if(ls_error) {
- freedisplist(&dispbase); /* possible some dl was allocated */
- PyErr_SetString(PyExc_TypeError, "A point in one of the polylines is not a mathutils.Vector type");
- return NULL;
- }
- else if (totpoints) {
- /* now make the list to return */
- filldisplist(&dispbase, &dispbase, 0);
-
- /* The faces are stored in a new DisplayList
- thats added to the head of the listbase */
- dl= dispbase.first;
-
- tri_list= PyList_New(dl->parts);
- if(!tri_list) {
- freedisplist(&dispbase);
- PyErr_SetString(PyExc_RuntimeError, "geometry.PolyFill failed to make a new list");
- return NULL;
- }
-
- index= 0;
- dl_face= dl->index;
- while(index < dl->parts) {
- PyList_SET_ITEM(tri_list, index, Py_BuildValue("iii", dl_face[0], dl_face[1], dl_face[2]));
- dl_face+= 3;
- index++;
- }
- freedisplist(&dispbase);
- }
- else {
- /* no points, do this so scripts dont barf */
- freedisplist(&dispbase); /* possible some dl was allocated */
- tri_list= PyList_New(0);
- }
-
- return tri_list;
-}
-static char M_Geometry_intersect_line_line_2d_doc[] =
+PyDoc_STRVAR(M_Geometry_intersect_line_line_2d_doc,
".. function:: intersect_line_line_2d(lineA_p1, lineA_p2, lineB_p1, lineB_p2)\n"
"\n"
" Takes 2 lines (as 4 vectors) and returns a vector for their point of intersection or None.\n"
@@ -471,7 +362,7 @@ static char M_Geometry_intersect_line_line_2d_doc[] =
" :type lineB_p2: :class:`mathutils.Vector`\n"
" :return: The point of intersection or None when not found\n"
" :rtype: :class:`mathutils.Vector` or None\n"
-;
+);
static PyObject *M_Geometry_intersect_line_line_2d(PyObject *UNUSED(self), PyObject* args)
{
VectorObject *line_a1, *line_a2, *line_b1, *line_b2;
@@ -497,7 +388,216 @@ static PyObject *M_Geometry_intersect_line_line_2d(PyObject *UNUSED(self), PyObj
}
-static char M_Geometry_intersect_point_line_doc[] =
+PyDoc_STRVAR(M_Geometry_intersect_line_plane_doc,
+".. function:: intersect_line_plane(line_a, line_b, plane_co, plane_no, no_flip=False)\n"
+"\n"
+" Takes 2 lines (as 4 vectors) and returns a vector for their point of intersection or None.\n"
+"\n"
+" :arg line_a: First point of the first line\n"
+" :type line_a: :class:`mathutils.Vector`\n"
+" :arg line_b: Second point of the first line\n"
+" :type line_b: :class:`mathutils.Vector`\n"
+" :arg plane_co: A point on the plane\n"
+" :type plane_co: :class:`mathutils.Vector`\n"
+" :arg plane_no: The direction the plane is facing\n"
+" :type plane_no: :class:`mathutils.Vector`\n"
+" :arg no_flip: Always return an intersection on the directon defined bt line_a -> line_b\n"
+" :type no_flip: :boolean\n"
+" :return: The point of intersection or None when not found\n"
+" :rtype: :class:`mathutils.Vector` or None\n"
+);
+static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObject* args)
+{
+ VectorObject *line_a, *line_b, *plane_co, *plane_no;
+ int no_flip= 0;
+ float isect[3];
+ if(!PyArg_ParseTuple(args, "O!O!O!O!|i:intersect_line_plane",
+ &vector_Type, &line_a,
+ &vector_Type, &line_b,
+ &vector_Type, &plane_co,
+ &vector_Type, &plane_no,
+ &no_flip)
+ ) {
+ return NULL;
+ }
+
+ if( BaseMath_ReadCallback(line_a) == -1 ||
+ BaseMath_ReadCallback(line_b) == -1 ||
+ BaseMath_ReadCallback(plane_co) == -1 ||
+ BaseMath_ReadCallback(plane_no) == -1
+ ) {
+ return NULL;
+ }
+
+ if(ELEM4(2, line_a->size, line_b->size, plane_co->size, plane_no->size)) {
+ PyErr_SetString(PyExc_ValueError,
+ "geometry.intersect_line_plane(...): "
+ " can't use 2D Vectors");
+ return NULL;
+ }
+
+ if(isect_line_plane_v3(isect, line_a->vec, line_b->vec, plane_co->vec, plane_no->vec, no_flip) == 1) {
+ return newVectorObject(isect, 3, Py_NEW, NULL);
+ }
+ else {
+ Py_RETURN_NONE;
+ }
+}
+
+
+PyDoc_STRVAR(M_Geometry_intersect_line_sphere_doc,
+".. function:: intersect_line_sphere(line_a, line_b, sphere_co, sphere_radius, clip=True)\n"
+"\n"
+" Takes a lines (as 2 vectors), a sphere as a point and a radius and\n"
+" returns the intersection\n"
+"\n"
+" :arg line_a: First point of the first line\n"
+" :type line_a: :class:`mathutils.Vector`\n"
+" :arg line_b: Second point of the first line\n"
+" :type line_b: :class:`mathutils.Vector`\n"
+" :arg sphere_co: The center of the sphere\n"
+" :type sphere_co: :class:`mathutils.Vector`\n"
+" :arg sphere_radius: Radius of the sphere\n"
+" :type sphere_radius: sphere_radius\n"
+" :return: The intersection points as a pair of vectors or None when there is no intersection\n"
+" :rtype: A tuple pair containing :class:`mathutils.Vector` or None\n"
+);
+static PyObject *M_Geometry_intersect_line_sphere(PyObject *UNUSED(self), PyObject* args)
+{
+ VectorObject *line_a, *line_b, *sphere_co;
+ float sphere_radius;
+ int clip= TRUE;
+
+ float isect_a[3];
+ float isect_b[3];
+
+ if(!PyArg_ParseTuple(args, "O!O!O!f|i:intersect_line_sphere",
+ &vector_Type, &line_a,
+ &vector_Type, &line_b,
+ &vector_Type, &sphere_co,
+ &sphere_radius, &clip)
+ ) {
+ return NULL;
+ }
+
+ if( BaseMath_ReadCallback(line_a) == -1 ||
+ BaseMath_ReadCallback(line_b) == -1 ||
+ BaseMath_ReadCallback(sphere_co) == -1
+ ) {
+ return NULL;
+ }
+
+ if(ELEM3(2, line_a->size, line_b->size, sphere_co->size)) {
+ PyErr_SetString(PyExc_ValueError,
+ "geometry.intersect_line_sphere(...): "
+ " can't use 2D Vectors");
+ return NULL;
+ }
+ else {
+ short use_a= TRUE;
+ short use_b= TRUE;
+ float lambda;
+
+ PyObject *ret= PyTuple_New(2);
+
+ switch(isect_line_sphere_v3(line_a->vec, line_b->vec, sphere_co->vec, sphere_radius, isect_a, isect_b)) {
+ case 1:
+ if(!(!clip || (((lambda= line_point_factor_v3(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ use_b= FALSE;
+ break;
+ case 2:
+ if(!(!clip || (((lambda= line_point_factor_v3(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ if(!(!clip || (((lambda= line_point_factor_v3(isect_b, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_b= FALSE;
+ break;
+ default:
+ use_a= FALSE;
+ use_b= FALSE;
+ }
+
+ if(use_a) { PyTuple_SET_ITEM(ret, 0, newVectorObject(isect_a, 3, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 0, Py_None); Py_INCREF(Py_None); }
+
+ if(use_b) { PyTuple_SET_ITEM(ret, 1, newVectorObject(isect_b, 3, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 1, Py_None); Py_INCREF(Py_None); }
+
+ return ret;
+ }
+}
+
+/* keep in sync with M_Geometry_intersect_line_sphere */
+PyDoc_STRVAR(M_Geometry_intersect_line_sphere_2d_doc,
+".. function:: intersect_line_sphere_2d(line_a, line_b, sphere_co, sphere_radius, clip=True)\n"
+"\n"
+" Takes a lines (as 2 vectors), a sphere as a point and a radius and\n"
+" returns the intersection\n"
+"\n"
+" :arg line_a: First point of the first line\n"
+" :type line_a: :class:`mathutils.Vector`\n"
+" :arg line_b: Second point of the first line\n"
+" :type line_b: :class:`mathutils.Vector`\n"
+" :arg sphere_co: The center of the sphere\n"
+" :type sphere_co: :class:`mathutils.Vector`\n"
+" :arg sphere_radius: Radius of the sphere\n"
+" :type sphere_radius: sphere_radius\n"
+" :return: The intersection points as a pair of vectors or None when there is no intersection\n"
+" :rtype: A tuple pair containing :class:`mathutils.Vector` or None\n"
+);
+static PyObject *M_Geometry_intersect_line_sphere_2d(PyObject *UNUSED(self), PyObject* args)
+{
+ VectorObject *line_a, *line_b, *sphere_co;
+ float sphere_radius;
+ int clip= TRUE;
+
+ float isect_a[3];
+ float isect_b[3];
+
+ if(!PyArg_ParseTuple(args, "O!O!O!f|i:intersect_line_sphere_2d",
+ &vector_Type, &line_a,
+ &vector_Type, &line_b,
+ &vector_Type, &sphere_co,
+ &sphere_radius, &clip)
+ ) {
+ return NULL;
+ }
+
+ if( BaseMath_ReadCallback(line_a) == -1 ||
+ BaseMath_ReadCallback(line_b) == -1 ||
+ BaseMath_ReadCallback(sphere_co) == -1
+ ) {
+ return NULL;
+ }
+ else {
+ short use_a= TRUE;
+ short use_b= TRUE;
+ float lambda;
+
+ PyObject *ret= PyTuple_New(2);
+
+ switch(isect_line_sphere_v2(line_a->vec, line_b->vec, sphere_co->vec, sphere_radius, isect_a, isect_b)) {
+ case 1:
+ if(!(!clip || (((lambda= line_point_factor_v2(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ use_b= FALSE;
+ break;
+ case 2:
+ if(!(!clip || (((lambda= line_point_factor_v2(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ if(!(!clip || (((lambda= line_point_factor_v2(isect_b, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_b= FALSE;
+ break;
+ default:
+ use_a= FALSE;
+ use_b= FALSE;
+ }
+
+ if(use_a) { PyTuple_SET_ITEM(ret, 0, newVectorObject(isect_a, 2, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 0, Py_None); Py_INCREF(Py_None); }
+
+ if(use_b) { PyTuple_SET_ITEM(ret, 1, newVectorObject(isect_b, 2, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 1, Py_None); Py_INCREF(Py_None); }
+
+ return ret;
+ }
+}
+
+PyDoc_STRVAR(M_Geometry_intersect_point_line_doc,
".. function:: intersect_point_line(pt, line_p1, line_p2)\n"
"\n"
" Takes a point and a line and returns a tuple with the closest point on the line and its distance from the first point of the line as a percentage of the length of the line.\n"
@@ -509,7 +609,7 @@ static char M_Geometry_intersect_point_line_doc[] =
" :arg line_p1: Second point of the line\n"
" :type line_p1: :class:`mathutils.Vector`\n"
" :rtype: (:class:`mathutils.Vector`, float)\n"
-;
+);
static PyObject *M_Geometry_intersect_point_line(PyObject *UNUSED(self), PyObject* args)
{
VectorObject *pt, *line_1, *line_2;
@@ -547,7 +647,7 @@ static PyObject *M_Geometry_intersect_point_line(PyObject *UNUSED(self), PyObjec
return ret;
}
-static char M_Geometry_intersect_point_tri_2d_doc[] =
+PyDoc_STRVAR(M_Geometry_intersect_point_tri_2d_doc,
".. function:: intersect_point_tri_2d(pt, tri_p1, tri_p2, tri_p3)\n"
"\n"
" Takes 4 vectors (using only the x and y coordinates): one is the point and the next 3 define the triangle. Returns 1 if the point is within the triangle, otherwise 0.\n"
@@ -561,7 +661,7 @@ static char M_Geometry_intersect_point_tri_2d_doc[] =
" :arg tri_p3: Third point of the triangle\n"
" :type tri_p3: :class:`mathutils.Vector`\n"
" :rtype: int\n"
-;
+);
static PyObject *M_Geometry_intersect_point_tri_2d(PyObject *UNUSED(self), PyObject* args)
{
VectorObject *pt_vec, *tri_p1, *tri_p2, *tri_p3;
@@ -581,7 +681,7 @@ static PyObject *M_Geometry_intersect_point_tri_2d(PyObject *UNUSED(self), PyObj
return PyLong_FromLong(isect_point_tri_v2(pt_vec->vec, tri_p1->vec, tri_p2->vec, tri_p3->vec));
}
-static char M_Geometry_intersect_point_quad_2d_doc[] =
+PyDoc_STRVAR(M_Geometry_intersect_point_quad_2d_doc,
".. function:: intersect_point_quad_2d(pt, quad_p1, quad_p2, quad_p3, quad_p4)\n"
"\n"
" Takes 5 vectors (using only the x and y coordinates): one is the point and the next 4 define the quad, only the x and y are used from the vectors. Returns 1 if the point is within the quad, otherwise 0.\n"
@@ -597,7 +697,7 @@ static char M_Geometry_intersect_point_quad_2d_doc[] =
" :arg quad_p4: Forth point of the quad\n"
" :type quad_p4: :class:`mathutils.Vector`\n"
" :rtype: int\n"
-;
+);
static PyObject *M_Geometry_intersect_point_quad_2d(PyObject *UNUSED(self), PyObject* args)
{
VectorObject *pt_vec, *quad_p1, *quad_p2, *quad_p3, *quad_p4;
@@ -618,44 +718,312 @@ static PyObject *M_Geometry_intersect_point_quad_2d(PyObject *UNUSED(self), PyOb
return PyLong_FromLong(isect_point_quad_v2(pt_vec->vec, quad_p1->vec, quad_p2->vec, quad_p3->vec, quad_p4->vec));
}
+PyDoc_STRVAR(M_Geometry_barycentric_transform_doc,
+".. function:: barycentric_transform(point, tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3)\n"
+"\n"
+" Return a transformed point, the transformation is defined by 2 triangles.\n"
+"\n"
+" :arg point: The point to transform.\n"
+" :type point: :class:`mathutils.Vector`\n"
+" :arg tri_a1: source triangle vertex.\n"
+" :type tri_a1: :class:`mathutils.Vector`\n"
+" :arg tri_a2: source triangle vertex.\n"
+" :type tri_a2: :class:`mathutils.Vector`\n"
+" :arg tri_a3: source triangle vertex.\n"
+" :type tri_a3: :class:`mathutils.Vector`\n"
+" :arg tri_a1: target triangle vertex.\n"
+" :type tri_a1: :class:`mathutils.Vector`\n"
+" :arg tri_a2: target triangle vertex.\n"
+" :type tri_a2: :class:`mathutils.Vector`\n"
+" :arg tri_a3: target triangle vertex.\n"
+" :type tri_a3: :class:`mathutils.Vector`\n"
+" :return: The transformed point\n"
+" :rtype: :class:`mathutils.Vector`'s\n"
+);
+static PyObject *M_Geometry_barycentric_transform(PyObject *UNUSED(self), PyObject *args)
+{
+ VectorObject *vec_pt;
+ VectorObject *vec_t1_tar, *vec_t2_tar, *vec_t3_tar;
+ VectorObject *vec_t1_src, *vec_t2_src, *vec_t3_src;
+ float vec[3];
+
+ if(!PyArg_ParseTuple(args, "O!O!O!O!O!O!O!:barycentric_transform",
+ &vector_Type, &vec_pt,
+ &vector_Type, &vec_t1_src,
+ &vector_Type, &vec_t2_src,
+ &vector_Type, &vec_t3_src,
+ &vector_Type, &vec_t1_tar,
+ &vector_Type, &vec_t2_tar,
+ &vector_Type, &vec_t3_tar)
+ ) {
+ return NULL;
+ }
+
+ if( vec_pt->size != 3 ||
+ vec_t1_src->size != 3 ||
+ vec_t2_src->size != 3 ||
+ vec_t3_src->size != 3 ||
+ vec_t1_tar->size != 3 ||
+ vec_t2_tar->size != 3 ||
+ vec_t3_tar->size != 3)
+ {
+ PyErr_SetString(PyExc_ValueError,
+ "One of more of the vector arguments wasn't a 3D vector");
+ return NULL;
+ }
+
+ barycentric_transform(vec, vec_pt->vec,
+ vec_t1_tar->vec, vec_t2_tar->vec, vec_t3_tar->vec,
+ vec_t1_src->vec, vec_t2_src->vec, vec_t3_src->vec);
+
+ return newVectorObject(vec, 3, Py_NEW, NULL);
+}
+
+#ifndef MATH_STANDALONE
+
+PyDoc_STRVAR(M_Geometry_interpolate_bezier_doc,
+".. function:: interpolate_bezier(knot1, handle1, handle2, knot2, resolution)\n"
+"\n"
+" Interpolate a bezier spline segment.\n"
+"\n"
+" :arg knot1: First bezier spline point.\n"
+" :type knot1: :class:`mathutils.Vector`\n"
+" :arg handle1: First bezier spline handle.\n"
+" :type handle1: :class:`mathutils.Vector`\n"
+" :arg handle2: Second bezier spline handle.\n"
+" :type handle2: :class:`mathutils.Vector`\n"
+" :arg knot2: Second bezier spline point.\n"
+" :type knot2: :class:`mathutils.Vector`\n"
+" :arg resolution: Number of points to return.\n"
+" :type resolution: int\n"
+" :return: The interpolated points\n"
+" :rtype: list of :class:`mathutils.Vector`'s\n"
+);
+static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject* args)
+{
+ VectorObject *vec_k1, *vec_h1, *vec_k2, *vec_h2;
+ int resolu;
+ int dims;
+ int i;
+ float *coord_array, *fp;
+ PyObject *list;
+
+ float k1[4]= {0.0, 0.0, 0.0, 0.0};
+ float h1[4]= {0.0, 0.0, 0.0, 0.0};
+ float k2[4]= {0.0, 0.0, 0.0, 0.0};
+ float h2[4]= {0.0, 0.0, 0.0, 0.0};
+
+
+ if(!PyArg_ParseTuple(args, "O!O!O!O!i:interpolate_bezier",
+ &vector_Type, &vec_k1,
+ &vector_Type, &vec_h1,
+ &vector_Type, &vec_h2,
+ &vector_Type, &vec_k2, &resolu)
+ ) {
+ return NULL;
+ }
+
+ if(resolu <= 1) {
+ PyErr_SetString(PyExc_ValueError,
+ "resolution must be 2 or over");
+ return NULL;
+ }
+
+ if(BaseMath_ReadCallback(vec_k1) == -1 || BaseMath_ReadCallback(vec_h1) == -1 || BaseMath_ReadCallback(vec_k2) == -1 || BaseMath_ReadCallback(vec_h2) == -1)
+ return NULL;
+
+ dims= MAX4(vec_k1->size, vec_h1->size, vec_h2->size, vec_k2->size);
+
+ for(i=0; i < vec_k1->size; i++) k1[i]= vec_k1->vec[i];
+ for(i=0; i < vec_h1->size; i++) h1[i]= vec_h1->vec[i];
+ for(i=0; i < vec_k2->size; i++) k2[i]= vec_k2->vec[i];
+ for(i=0; i < vec_h2->size; i++) h2[i]= vec_h2->vec[i];
+
+ coord_array= MEM_callocN(dims * (resolu) * sizeof(float), "interpolate_bezier");
+ for(i=0; i<dims; i++) {
+ forward_diff_bezier(k1[i], h1[i], h2[i], k2[i], coord_array+i, resolu-1, sizeof(float)*dims);
+ }
+
+ list= PyList_New(resolu);
+ fp= coord_array;
+ for(i=0; i<resolu; i++, fp= fp+dims) {
+ PyList_SET_ITEM(list, i, newVectorObject(fp, dims, Py_NEW, NULL));
+ }
+ MEM_freeN(coord_array);
+ return list;
+}
+
+
+PyDoc_STRVAR(M_Geometry_tesselate_polygon_doc,
+".. function:: tesselate_polygon(veclist_list)\n"
+"\n"
+" Takes a list of polylines (each point a vector) and returns the point indices for a polyline filled with triangles.\n"
+"\n"
+" :arg veclist_list: list of polylines\n"
+" :rtype: list\n"
+);
+/* PolyFill function, uses Blenders scanfill to fill multiple poly lines */
+static PyObject *M_Geometry_tesselate_polygon(PyObject *UNUSED(self), PyObject *polyLineSeq)
+{
+ PyObject *tri_list; /*return this list of tri's */
+ PyObject *polyLine, *polyVec;
+ int i, len_polylines, len_polypoints, ls_error= 0;
+
+ /* display listbase */
+ ListBase dispbase={NULL, NULL};
+ DispList *dl;
+ float *fp; /*pointer to the array of malloced dl->verts to set the points from the vectors */
+ int index, *dl_face, totpoints=0;
+
+ if(!PySequence_Check(polyLineSeq)) {
+ PyErr_SetString(PyExc_TypeError,
+ "expected a sequence of poly lines");
+ return NULL;
+ }
+
+ len_polylines= PySequence_Size(polyLineSeq);
+
+ for(i= 0; i < len_polylines; ++i) {
+ polyLine= PySequence_GetItem(polyLineSeq, i);
+ if (!PySequence_Check(polyLine)) {
+ freedisplist(&dispbase);
+ Py_XDECREF(polyLine); /* may be null so use Py_XDECREF*/
+ PyErr_SetString(PyExc_TypeError,
+ "One or more of the polylines is not a sequence of mathutils.Vector's");
+ return NULL;
+ }
+
+ len_polypoints= PySequence_Size(polyLine);
+ if (len_polypoints>0) { /* dont bother adding edges as polylines */
+#if 0
+ if (EXPP_check_sequence_consistency(polyLine, &vector_Type) != 1) {
+ freedisplist(&dispbase);
+ Py_DECREF(polyLine);
+ PyErr_SetString(PyExc_TypeError,
+ "A point in one of the polylines is not a mathutils.Vector type");
+ return NULL;
+ }
+#endif
+ dl= MEM_callocN(sizeof(DispList), "poly disp");
+ BLI_addtail(&dispbase, dl);
+ dl->type= DL_INDEX3;
+ dl->nr= len_polypoints;
+ dl->type= DL_POLY;
+ dl->parts= 1; /* no faces, 1 edge loop */
+ dl->col= 0; /* no material */
+ dl->verts= fp= MEM_callocN(sizeof(float)*3*len_polypoints, "dl verts");
+ dl->index= MEM_callocN(sizeof(int)*3*len_polypoints, "dl index");
+
+ for(index= 0; index<len_polypoints; ++index, fp+=3) {
+ polyVec= PySequence_GetItem(polyLine, index);
+ if(VectorObject_Check(polyVec)) {
+
+ if(BaseMath_ReadCallback((VectorObject *)polyVec) == -1)
+ ls_error= 1;
+
+ fp[0]= ((VectorObject *)polyVec)->vec[0];
+ fp[1]= ((VectorObject *)polyVec)->vec[1];
+ if(((VectorObject *)polyVec)->size > 2)
+ fp[2]= ((VectorObject *)polyVec)->vec[2];
+ else
+ fp[2]= 0.0f; /* if its a 2d vector then set the z to be zero */
+ }
+ else {
+ ls_error= 1;
+ }
+
+ totpoints++;
+ Py_DECREF(polyVec);
+ }
+ }
+ Py_DECREF(polyLine);
+ }
+
+ if(ls_error) {
+ freedisplist(&dispbase); /* possible some dl was allocated */
+ PyErr_SetString(PyExc_TypeError,
+ "A point in one of the polylines "
+ "is not a mathutils.Vector type");
+ return NULL;
+ }
+ else if (totpoints) {
+ /* now make the list to return */
+ filldisplist(&dispbase, &dispbase, 0);
+
+ /* The faces are stored in a new DisplayList
+ thats added to the head of the listbase */
+ dl= dispbase.first;
+
+ tri_list= PyList_New(dl->parts);
+ if(!tri_list) {
+ freedisplist(&dispbase);
+ PyErr_SetString(PyExc_RuntimeError,
+ "failed to make a new list");
+ return NULL;
+ }
+
+ index= 0;
+ dl_face= dl->index;
+ while(index < dl->parts) {
+ PyList_SET_ITEM(tri_list, index, Py_BuildValue("iii", dl_face[0], dl_face[1], dl_face[2]));
+ dl_face+= 3;
+ index++;
+ }
+ freedisplist(&dispbase);
+ }
+ else {
+ /* no points, do this so scripts dont barf */
+ freedisplist(&dispbase); /* possible some dl was allocated */
+ tri_list= PyList_New(0);
+ }
+
+ return tri_list;
+}
+
+
static int boxPack_FromPyObject(PyObject *value, boxPack **boxarray)
{
int len, i;
PyObject *list_item, *item_1, *item_2;
boxPack *box;
-
-
+
+
/* Error checking must already be done */
if(!PyList_Check(value)) {
- PyErr_SetString(PyExc_TypeError, "can only back a list of [x, y, w, h]");
+ PyErr_SetString(PyExc_TypeError,
+ "can only back a list of [x, y, w, h]");
return -1;
}
-
+
len= PyList_Size(value);
-
+
(*boxarray)= MEM_mallocN(len*sizeof(boxPack), "boxPack box");
-
-
+
+
for(i= 0; i < len; i++) {
list_item= PyList_GET_ITEM(value, i);
if(!PyList_Check(list_item) || PyList_Size(list_item) < 4) {
MEM_freeN(*boxarray);
- PyErr_SetString(PyExc_TypeError, "can only pack a list of [x, y, w, h]");
+ PyErr_SetString(PyExc_TypeError,
+ "can only pack a list of [x, y, w, h]");
return -1;
}
-
+
box= (*boxarray)+i;
-
+
item_1= PyList_GET_ITEM(list_item, 2);
item_2= PyList_GET_ITEM(list_item, 3);
-
+
box->w= (float)PyFloat_AsDouble(item_1);
box->h= (float)PyFloat_AsDouble(item_2);
box->index= i;
+ /* accounts for error case too and overwrites with own error */
if (box->w < 0.0f || box->h < 0.0f) {
MEM_freeN(*boxarray);
- PyErr_SetString(PyExc_TypeError, "error parsing width and height values from list: [x, y, w, h], not numbers or below zero");
+ PyErr_SetString(PyExc_TypeError,
+ "error parsing width and height values from list: "
+ "[x, y, w, h], not numbers or below zero");
return -1;
}
@@ -664,14 +1032,14 @@ static int boxPack_FromPyObject(PyObject *value, boxPack **boxarray)
return 0;
}
-static void boxPack_ToPyObject(PyObject * value, boxPack **boxarray)
+static void boxPack_ToPyObject(PyObject *value, boxPack **boxarray)
{
int len, i;
PyObject *list_item;
boxPack *box;
-
+
len= PyList_Size(value);
-
+
for(i= 0; i < len; i++) {
box= (*boxarray)+i;
list_item= PyList_GET_ITEM(value, box->index);
@@ -681,7 +1049,7 @@ static void boxPack_ToPyObject(PyObject * value, boxPack **boxarray)
MEM_freeN(*boxarray);
}
-static char M_Geometry_box_pack_2d_doc[] =
+PyDoc_STRVAR(M_Geometry_box_pack_2d_doc,
".. function:: box_pack_2d(boxes)\n"
"\n"
" Returns the normal of the 3D tri or quad.\n"
@@ -690,16 +1058,17 @@ static char M_Geometry_box_pack_2d_doc[] =
" :type boxes: list\n"
" :return: the width and height of the packed bounding box\n"
" :rtype: tuple, pair of floats\n"
-;
+);
static PyObject *M_Geometry_box_pack_2d(PyObject *UNUSED(self), PyObject *boxlist)
{
float tot_width= 0.0f, tot_height= 0.0f;
int len;
PyObject *ret;
-
+
if(!PyList_Check(boxlist)) {
- PyErr_SetString(PyExc_TypeError, "expected a list of boxes [[x, y, w, h], ... ]");
+ PyErr_SetString(PyExc_TypeError,
+ "expected a list of boxes [[x, y, w, h], ... ]");
return NULL;
}
@@ -722,136 +1091,8 @@ static PyObject *M_Geometry_box_pack_2d(PyObject *UNUSED(self), PyObject *boxlis
return ret;
}
-static char M_Geometry_interpolate_bezier_doc[] =
-".. function:: interpolate_bezier(knot1, handle1, handle2, knot2, resolution)\n"
-"\n"
-" Interpolate a bezier spline segment.\n"
-"\n"
-" :arg knot1: First bezier spline point.\n"
-" :type knot1: :class:`mathutils.Vector`\n"
-" :arg handle1: First bezier spline handle.\n"
-" :type handle1: :class:`mathutils.Vector`\n"
-" :arg handle2: Second bezier spline handle.\n"
-" :type handle2: :class:`mathutils.Vector`\n"
-" :arg knot2: Second bezier spline point.\n"
-" :type knot2: :class:`mathutils.Vector`\n"
-" :arg resolution: Number of points to return.\n"
-" :type resolution: int\n"
-" :return: The interpolated points\n"
-" :rtype: list of :class:`mathutils.Vector`'s\n"
-;
-static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject* args)
-{
- VectorObject *vec_k1, *vec_h1, *vec_k2, *vec_h2;
- int resolu;
- int dims;
- int i;
- float *coord_array, *fp;
- PyObject *list;
-
- float k1[4]= {0.0, 0.0, 0.0, 0.0};
- float h1[4]= {0.0, 0.0, 0.0, 0.0};
- float k2[4]= {0.0, 0.0, 0.0, 0.0};
- float h2[4]= {0.0, 0.0, 0.0, 0.0};
-
-
- if(!PyArg_ParseTuple(args, "O!O!O!O!i:interpolate_bezier",
- &vector_Type, &vec_k1,
- &vector_Type, &vec_h1,
- &vector_Type, &vec_h2,
- &vector_Type, &vec_k2, &resolu)
- ) {
- return NULL;
- }
-
- if(resolu <= 1) {
- PyErr_SetString(PyExc_ValueError, "resolution must be 2 or over");
- return NULL;
- }
+#endif /* MATH_STANDALONE */
- if(BaseMath_ReadCallback(vec_k1) == -1 || BaseMath_ReadCallback(vec_h1) == -1 || BaseMath_ReadCallback(vec_k2) == -1 || BaseMath_ReadCallback(vec_h2) == -1)
- return NULL;
-
- dims= MAX4(vec_k1->size, vec_h1->size, vec_h2->size, vec_k2->size);
-
- for(i=0; i < vec_k1->size; i++) k1[i]= vec_k1->vec[i];
- for(i=0; i < vec_h1->size; i++) h1[i]= vec_h1->vec[i];
- for(i=0; i < vec_k2->size; i++) k2[i]= vec_k2->vec[i];
- for(i=0; i < vec_h2->size; i++) h2[i]= vec_h2->vec[i];
-
- coord_array= MEM_callocN(dims * (resolu) * sizeof(float), "interpolate_bezier");
- for(i=0; i<dims; i++) {
- forward_diff_bezier(k1[i], h1[i], h2[i], k2[i], coord_array+i, resolu-1, sizeof(float)*dims);
- }
-
- list= PyList_New(resolu);
- fp= coord_array;
- for(i=0; i<resolu; i++, fp= fp+dims) {
- PyList_SET_ITEM(list, i, newVectorObject(fp, dims, Py_NEW, NULL));
- }
- MEM_freeN(coord_array);
- return list;
-}
-
-static char M_Geometry_barycentric_transform_doc[] =
-".. function:: barycentric_transform(point, tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3)\n"
-"\n"
-" Return a transformed point, the transformation is defined by 2 triangles.\n"
-"\n"
-" :arg point: The point to transform.\n"
-" :type point: :class:`mathutils.Vector`\n"
-" :arg tri_a1: source triangle vertex.\n"
-" :type tri_a1: :class:`mathutils.Vector`\n"
-" :arg tri_a2: source triangle vertex.\n"
-" :type tri_a2: :class:`mathutils.Vector`\n"
-" :arg tri_a3: source triangle vertex.\n"
-" :type tri_a3: :class:`mathutils.Vector`\n"
-" :arg tri_a1: target triangle vertex.\n"
-" :type tri_a1: :class:`mathutils.Vector`\n"
-" :arg tri_a2: target triangle vertex.\n"
-" :type tri_a2: :class:`mathutils.Vector`\n"
-" :arg tri_a3: target triangle vertex.\n"
-" :type tri_a3: :class:`mathutils.Vector`\n"
-" :return: The transformed point\n"
-" :rtype: :class:`mathutils.Vector`'s\n"
-;
-static PyObject *M_Geometry_barycentric_transform(PyObject *UNUSED(self), PyObject *args)
-{
- VectorObject *vec_pt;
- VectorObject *vec_t1_tar, *vec_t2_tar, *vec_t3_tar;
- VectorObject *vec_t1_src, *vec_t2_src, *vec_t3_src;
- float vec[3];
-
- if(!PyArg_ParseTuple(args, "O!O!O!O!O!O!O!:barycentric_transform",
- &vector_Type, &vec_pt,
- &vector_Type, &vec_t1_src,
- &vector_Type, &vec_t2_src,
- &vector_Type, &vec_t3_src,
- &vector_Type, &vec_t1_tar,
- &vector_Type, &vec_t2_tar,
- &vector_Type, &vec_t3_tar)
- ) {
- return NULL;
- }
-
- if( vec_pt->size != 3 ||
- vec_t1_src->size != 3 ||
- vec_t2_src->size != 3 ||
- vec_t3_src->size != 3 ||
- vec_t1_tar->size != 3 ||
- vec_t2_tar->size != 3 ||
- vec_t3_tar->size != 3)
- {
- PyErr_SetString(PyExc_ValueError, "One of more of the vector arguments wasnt a 3D vector");
- return NULL;
- }
-
- barycentric_transform(vec, vec_pt->vec,
- vec_t1_tar->vec, vec_t2_tar->vec, vec_t3_tar->vec,
- vec_t1_src->vec, vec_t2_src->vec, vec_t3_src->vec);
-
- return newVectorObject(vec, 3, Py_NEW, NULL);
-}
static PyMethodDef M_Geometry_methods[]= {
{"intersect_ray_tri", (PyCFunction) M_Geometry_intersect_ray_tri, METH_VARARGS, M_Geometry_intersect_ray_tri_doc},
@@ -860,12 +1101,17 @@ static PyMethodDef M_Geometry_methods[]= {
{"intersect_point_quad_2d", (PyCFunction) M_Geometry_intersect_point_quad_2d, METH_VARARGS, M_Geometry_intersect_point_quad_2d_doc},
{"intersect_line_line", (PyCFunction) M_Geometry_intersect_line_line, METH_VARARGS, M_Geometry_intersect_line_line_doc},
{"intersect_line_line_2d", (PyCFunction) M_Geometry_intersect_line_line_2d, METH_VARARGS, M_Geometry_intersect_line_line_2d_doc},
- {"interpolate_bezier", (PyCFunction) M_Geometry_interpolate_bezier, METH_VARARGS, M_Geometry_interpolate_bezier_doc},
+ {"intersect_line_plane", (PyCFunction) M_Geometry_intersect_line_plane, METH_VARARGS, M_Geometry_intersect_line_plane_doc},
+ {"intersect_line_sphere", (PyCFunction) M_Geometry_intersect_line_sphere, METH_VARARGS, M_Geometry_intersect_line_sphere_doc},
+ {"intersect_line_sphere_2d", (PyCFunction) M_Geometry_intersect_line_sphere_2d, METH_VARARGS, M_Geometry_intersect_line_sphere_2d_doc},
{"area_tri", (PyCFunction) M_Geometry_area_tri, METH_VARARGS, M_Geometry_area_tri_doc},
{"normal", (PyCFunction) M_Geometry_normal, METH_VARARGS, M_Geometry_normal_doc},
+ {"barycentric_transform", (PyCFunction) M_Geometry_barycentric_transform, METH_VARARGS, M_Geometry_barycentric_transform_doc},
+#ifndef MATH_STANDALONE
+ {"interpolate_bezier", (PyCFunction) M_Geometry_interpolate_bezier, METH_VARARGS, M_Geometry_interpolate_bezier_doc},
{"tesselate_polygon", (PyCFunction) M_Geometry_tesselate_polygon, METH_O, M_Geometry_tesselate_polygon_doc},
{"box_pack_2d", (PyCFunction) M_Geometry_box_pack_2d, METH_O, M_Geometry_box_pack_2d_doc},
- {"barycentric_transform", (PyCFunction) M_Geometry_barycentric_transform, METH_VARARGS, M_Geometry_barycentric_transform_doc},
+#endif
{NULL, NULL, 0, NULL}
};
@@ -882,7 +1128,7 @@ static struct PyModuleDef M_Geometry_module_def= {
};
/*----------------------------MODULE INIT-------------------------*/
-PyMODINIT_FUNC BPyInit_mathutils_geometry(void)
+PyMODINIT_FUNC PyInit_mathutils_geometry(void)
{
PyObject *submodule= PyModule_Create(&M_Geometry_module_def);
return submodule;
diff --git a/source/blender/python/generic/mathutils_geometry.h b/source/blender/python/mathutils/mathutils_geometry.h
index 929b8cc8d75..c963a63ce7f 100644
--- a/source/blender/python/generic/mathutils_geometry.h
+++ b/source/blender/python/mathutils/mathutils_geometry.h
@@ -38,6 +38,6 @@
#include "mathutils.h"
-PyMODINIT_FUNC BPyInit_mathutils_geometry(void);
+PyMODINIT_FUNC PyInit_mathutils_geometry(void);
#endif /* MATHUTILS_GEOMETRY_H */
diff --git a/source/blender/quicktime/CMakeLists.txt b/source/blender/quicktime/CMakeLists.txt
index 7e7f61036c6..b647466d2a8 100644
--- a/source/blender/quicktime/CMakeLists.txt
+++ b/source/blender/quicktime/CMakeLists.txt
@@ -24,6 +24,25 @@
#
# ***** END GPL LICENSE BLOCK *****
+set(INC
+ .
+ ../avi
+ ../blenkernel
+ ../blenlib
+ ../blenloader
+ ../imbuf
+ ../imbuf/intern
+ ../makesdna
+ ../makesrna
+ ../render/extern/include
+ ../windowmanager
+ ../../../intern/guardedalloc
+)
+
+set(INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+)
+
if(USE_QTKIT)
set(SRC
apple/qtkit_import.m
@@ -42,25 +61,13 @@ else()
)
endif()
-set(INC
- .
- ../quicktime
- ../makesdna
- ../makesrna
- ../blenlib
- ../blenkernel
- ../avi
- ../imbuf
- ../imbuf/intern
- ../blenloader
- ../render/extern/include
- ../include
- ../windowmanager
- ../../../intern/audaspace/intern
- ../../../intern/guardedalloc
- ${QUICKTIME_INC}
-)
-
add_definitions(-DWITH_QUICKTIME)
-blender_add_lib(bf_quicktime "${SRC}" "${INC}")
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+blender_add_lib(bf_quicktime "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/quicktime/apple/qtkit_export.m b/source/blender/quicktime/apple/qtkit_export.m
index add280c6b64..c1b8688e1d7 100644
--- a/source/blender/quicktime/apple/qtkit_export.m
+++ b/source/blender/quicktime/apple/qtkit_export.m
@@ -38,7 +38,9 @@
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "BKE_global.h"
#include "BKE_main.h"
diff --git a/source/blender/readblenfile/BLO_readblenfile.h b/source/blender/readblenfile/BLO_readblenfile.h
deleted file mode 100644
index 9b4e15165f5..00000000000
--- a/source/blender/readblenfile/BLO_readblenfile.h
+++ /dev/null
@@ -1,87 +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) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- *
- */
-
-#ifndef BLO_READBLENFILE_H
-#define BLO_READBLENFILE_H
-
-/** \file BLO_readblenfile.h
- * \ingroup blo
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct ReportList;
-
- BlendFileData *
-BLO_readblenfilename(
- char *fileName,
- struct ReportList *reports);
-
- BlendFileData *
-BLO_readblenfilehandle(
- int fileHandle,
- struct ReportList *reports);
-
- BlendFileData *
-BLO_readblenfilememory(
- char *fromBuffer,
- int fromBufferSize,
- struct ReportList *reports);
-
-
- void
-BLO_setcurrentversionnumber(
- char array[4]);
-
- void
-BLO_setversionnumber(
- char array[4],
- int version);
-
- int
-blo_is_a_runtime(
- char *file);
-
- BlendFileData *
-blo_read_runtime(
- char *file,
- struct ReportList *reports);
-
-#define BLO_RESERVEDSIZE 12
-extern const char *headerMagic;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BLO_READBLENFILE_H */
-
diff --git a/source/blender/readblenfile/SConscript b/source/blender/readblenfile/SConscript
deleted file mode 100644
index 07f84eb52d5..00000000000
--- a/source/blender/readblenfile/SConscript
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/python
-Import ('env')
-
-sources = env.Glob('intern/*.c')
-
-incs = '. ../blenloader ../blenloader/intern ../blenkernel ../blenlib ../makesdna'
-
-env.BlenderLib ( 'bf_readblenfile', sources, Split(incs), [], libtype=['core','player'], priority = [0,5] )
diff --git a/source/blender/readblenfile/stub/BLO_readblenfileSTUB.c b/source/blender/readblenfile/stub/BLO_readblenfileSTUB.c
deleted file mode 100644
index 0f3541b510d..00000000000
--- a/source/blender/readblenfile/stub/BLO_readblenfileSTUB.c
+++ /dev/null
@@ -1,97 +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) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- *
- */
-
-/** \file blender/readblenfile/stub/BLO_readblenfileSTUB.c
- * \ingroup blo
- */
-
-
-#include <stdio.h>
-
-int BLO_readblenfilememory( char *fromBuffer, int fromBufferSize);
-int BLO_readblenfilename( char *fileName);
-int BLO_readblenfilehandle( int fileHandle);
-int BLO_is_a_runtime( char *file);
-int BLO_read_runtime( char *file);
-
- int
-BLO_readblenfilememory(
- char *fromBuffer, int fromBufferSize)
-{
-#if defined(DEBUG)
- fprintf(stderr,
- "Error BLO_readblenfilename is a stub\n");
-#endif
- return(1);
-}
-
- int
-BLO_readblenfilename(
- char *fileName)
-{
-#if defined(DEBUG)
- fprintf(stderr,
- "Error BLO_readblenfilename is a stub\n");
-#endif
- return(1);
-}
-
- int
-BLO_readblenfilehandle(
- int fileHandle)
-{
-#if defined(DEBUG)
- fprintf(stderr,
- "Error BLO_readblenfilehandle is a stub\n");
-#endif
- return(1);
-}
-
- int
-BLO_is_a_runtime(
- char *file)
-{
-#if defined(DEBUG)
- fprintf(stderr,
- "Error BLO_is_a_runtime is a stub\n");
-#endif
- return 0;
-}
-
- int
-BLO_read_runtime(
- char *file)
-{
-#if defined(DEBUG)
- fprintf(stderr,
- "Error BLO_read_runtime is a stub\n");
-#endif
- return 0;
-}
diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt
index bcb427abd6c..90aef816e2c 100644
--- a/source/blender/render/CMakeLists.txt
+++ b/source/blender/render/CMakeLists.txt
@@ -24,21 +24,23 @@
#
# ***** END GPL LICENSE BLOCK *****
-# remove warning until render branch merged.
-remove_strict_flags()
set(INC
- intern/include
extern/include
+ intern/include
+ ../blenkernel
../blenlib
../blenloader
+ ../imbuf
../makesdna
../makesrna
- ../blenkernel
- ../imbuf
- ../../../intern/smoke/extern
- ../../../intern/mikktspace
../../../intern/guardedalloc
+ ../../../intern/mikktspace
+ ../../../intern/smoke/extern
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -118,8 +120,17 @@ if(WITH_IMAGE_OPENEXR)
add_definitions(-DWITH_OPENEXR)
endif()
+if(WITH_MOD_SMOKE)
+ add_definitions(-DWITH_SMOKE)
+endif()
+
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
@@ -130,4 +141,4 @@ if(APPLE)
endif()
endif()
-blender_add_lib_nolist(bf_render "${SRC}" "${INC}")
+blender_add_lib_nolist(bf_render "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript
index a402139b927..bff7797e0c7 100644
--- a/source/blender/render/SConscript
+++ b/source/blender/render/SConscript
@@ -14,6 +14,8 @@ cxxflags_raytrace = env['CXXFLAGS']
defs = []
defs_raytrace = []
+defs.append('WITH_SMOKE') # TODO, make optional
+
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
if env['WITH_BF_RAYOPTIMIZATION']:
cflags_raytrace = env['CCFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index 145d86575d0..d9ed83a00b2 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -146,7 +146,7 @@ typedef struct RenderResult {
typedef struct RenderStats {
int cfra;
int totface, totvert, totstrand, tothalo, totlamp, totpart;
- short curfield, curblur, curpart, partsdone, convertdone;
+ short curfield, curblur, curpart, partsdone, convertdone, curfsa;
double starttime, lastframetime;
const char *infostr, *statstr;
char scenename[32];
@@ -218,7 +218,10 @@ void RE_TileProcessor(struct Render *re);
/* only RE_NewRender() needed, main Blender render calls */
void RE_BlenderFrame(struct Render *re, struct Main *bmain, struct Scene *scene, struct SceneRenderLayer *srl, struct Object *camera_override, unsigned int lay, int frame, const short write_still);
-void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, struct Object *camera_override, unsigned int lay, int sfra, int efra, int tfra, struct ReportList *reports);
+void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, struct Object *camera_override, unsigned int lay, int sfra, int efra, int tfra);
+
+/* error reporting */
+void RE_SetReports(struct Render *re, struct ReportList *reports);
/* main preview render call */
void RE_PreviewRender(struct Render *re, struct Main *bmain, struct Scene *scene);
@@ -242,7 +245,6 @@ void RE_stats_draw_cb (struct Render *re, void *handle, void (*f)(void *handle,
void RE_progress_cb (struct Render *re, void *handle, void (*f)(void *handle, float));
void RE_draw_lock_cb (struct Render *re, void *handle, void (*f)(void *handle, int));
void RE_test_break_cb (struct Render *re, void *handle, int (*f)(void *handle));
-void RE_error_cb (struct Render *re, void *handle, void (*f)(void *handle, const char *str));
/* should move to kernel once... still unsure on how/where */
float RE_filter_value(int type, float x);
@@ -250,15 +252,21 @@ float RE_filter_value(int type, float x);
void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect);
/* shaded view or baking options */
-#define RE_BAKE_LIGHT 0
-#define RE_BAKE_ALL 1
-#define RE_BAKE_AO 2
-#define RE_BAKE_NORMALS 3
-#define RE_BAKE_TEXTURE 4
-#define RE_BAKE_DISPLACEMENT 5
-#define RE_BAKE_SHADOW 6
-
-void RE_Database_Baking(struct Render *re, struct Main *bmain, struct Scene *scene, unsigned int lay, int type, struct Object *actob);
+#define RE_BAKE_LIGHT 0 /* not listed in rna_scene.c -> can't be enabled! */
+#define RE_BAKE_ALL 1
+#define RE_BAKE_AO 2
+#define RE_BAKE_NORMALS 3
+#define RE_BAKE_TEXTURE 4
+#define RE_BAKE_DISPLACEMENT 5
+#define RE_BAKE_SHADOW 6
+#define RE_BAKE_SPEC_COLOR 7
+#define RE_BAKE_SPEC_INTENSITY 8
+#define RE_BAKE_MIRROR_COLOR 9
+#define RE_BAKE_MIRROR_INTENSITY 10
+#define RE_BAKE_ALPHA 11
+#define RE_BAKE_EMIT 12
+
+void RE_Database_Baking(struct Render *re, struct Main *bmain, struct Scene *scene, unsigned int lay, const int type, struct Object *actob);
void RE_DataBase_GetView(struct Render *re, float mat[][4]);
void RE_GetCameraWindow(struct Render *re, struct Object *camera, int frame, float mat[][4]);
@@ -302,11 +310,12 @@ 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_report(RenderEngine *engine, int type, const char *msg);
void RE_engines_init(void);
void RE_engines_exit(void);
-int RE_is_rendering_allowed(struct Scene *scene, struct Object *camera_override, void *erh, void (*error)(void *handle, const char *str));
+int RE_is_rendering_allowed(struct Scene *scene, struct Object *camera_override, struct ReportList *reports);
#endif /* RE_PIPELINE_H */
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h
index 958c19ab9ca..27c87caf14a 100644
--- a/source/blender/render/extern/include/RE_shader_ext.h
+++ b/source/blender/render/extern/include/RE_shader_ext.h
@@ -193,6 +193,8 @@ typedef struct ShadeInput
/* node shaders... */
struct Tex;
struct MTex;
+struct ImBuf;
+
/* this one uses nodes */
int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres);
/* nodes disabled */
@@ -206,9 +208,8 @@ struct Render;
struct Image;
struct Object;
-void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr);
int RE_bake_shade_all_selected(struct Render *re, int type, struct Object *actob, short *do_update, float *progress);
struct Image *RE_bake_shade_get_image(void);
+void RE_bake_ibuf_filter(struct ImBuf *ibuf, char *mask, const int filter);
#endif /* RE_SHADER_EXT_H */
-
diff --git a/source/blender/render/intern/include/rayobject.h b/source/blender/render/intern/include/rayobject.h
index dea8c1bdb6f..bef7ae6196b 100644
--- a/source/blender/render/intern/include/rayobject.h
+++ b/source/blender/render/intern/include/rayobject.h
@@ -60,7 +60,7 @@ int RE_rayobject_raycast(RayObject *r, struct Isect *i);
RayObject* RE_rayobject_octree_create(int ocres, int size);
RayObject* RE_rayobject_instance_create(RayObject *target, float transform[][4], void *ob, void *target_ob);
-RayObject* RE_rayobject_empty_create();
+RayObject* RE_rayobject_empty_create(void);
RayObject* RE_rayobject_blibvh_create(int size); /* BLI_kdopbvh.c */
RayObject* RE_rayobject_vbvh_create(int size); /* raytrace/rayobject_vbvh.c */
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h
index cf16211b6d1..13ca40bfd20 100644
--- a/source/blender/render/intern/include/render_types.h
+++ b/source/blender/render/intern/include/render_types.h
@@ -60,6 +60,7 @@ struct RenderBuckets;
struct ObjectInstanceRen;
struct RayObject;
struct RayFace;
+struct ReportList;
struct Main;
#define TABLEINITSIZE 1024
@@ -214,7 +215,7 @@ struct Render
ListBase instancetable;
int totinstance;
- struct Image *backbuf, *bakebuf;
+ struct Image *bakebuf;
struct GHash *orco_hash;
@@ -252,10 +253,9 @@ struct Render
int (*test_break)(void *handle);
void *tbh;
- void (*error)(void *handle, const char *str);
- void *erh;
-
RenderStats i;
+
+ struct ReportList *reports;
};
/* ------------------------------------------------------------------------- */
diff --git a/source/blender/render/intern/include/shading.h b/source/blender/render/intern/include/shading.h
index 865cb056a61..07d24ea6d66 100644
--- a/source/blender/render/intern/include/shading.h
+++ b/source/blender/render/intern/include/shading.h
@@ -37,7 +37,7 @@ struct LampRen;
struct VlakRen;
struct StrandSegment;
struct StrandPoint;
-struct ObjectInstanceRen obi;
+struct ObjectInstanceRen;
struct Isect;
/* shadeinput.c */
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index 74ce7957dd7..b385b507707 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -341,7 +341,7 @@ u | | F1 | F2 |
/* ------------------------------------------------------------------------- */
-static void split_v_renderfaces(ObjectRen *obr, int startvlak, int startvert, int usize, int vsize, int uIndex, int UNUSED(cyclu), int cyclv)
+static void split_v_renderfaces(ObjectRen *obr, int startvlak, int UNUSED(startvert), int UNUSED(usize), int vsize, int uIndex, int UNUSED(cyclu), int cyclv)
{
int vLen = vsize-1+(!!cyclv);
int v;
@@ -393,7 +393,7 @@ static void calc_edge_stress_add(float *accum, VertRen *v1, VertRen *v2)
acc[1]+= 1.0f;
}
-static void calc_edge_stress(Render *re, ObjectRen *obr, Mesh *me)
+static void calc_edge_stress(Render *UNUSED(re), ObjectRen *obr, Mesh *me)
{
float loc[3], size[3], *accum, *acc, *accumoffs, *stress;
int a;
@@ -590,7 +590,7 @@ static void SetTSpace(const SMikkTSpaceContext * pContext, const float fvTangent
}
}
-static void calc_vertexnormals(Render *re, ObjectRen *obr, int do_tangent, int do_nmap_tangent)
+static void calc_vertexnormals(Render *UNUSED(re), ObjectRen *obr, int do_tangent, int do_nmap_tangent)
{
MemArena *arena= NULL;
VertexTangent **vtangents= NULL;
@@ -759,7 +759,7 @@ static void as_addvert(ASvert *asv, VertRen *v1, VlakRen *vlr)
}
}
-static int as_testvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh)
+static int as_testvertex(VlakRen *vlr, VertRen *UNUSED(ver), ASvert *asv, float thresh)
{
/* return 1: vertex needs a copy */
ASface *asf;
@@ -782,7 +782,7 @@ static int as_testvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh)
return 0;
}
-static VertRen *as_findvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh)
+static VertRen *as_findvertex(VlakRen *vlr, VertRen *UNUSED(ver), ASvert *asv, float thresh)
{
/* return when new vertex already was made */
ASface *asf;
@@ -810,7 +810,7 @@ static VertRen *as_findvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thr
/* note; autosmooth happens in object space still, after applying autosmooth we rotate */
/* note2; actually, when original mesh and displist are equal sized, face normals are from original mesh */
-static void autosmooth(Render *re, ObjectRen *obr, float mat[][4], int degr)
+static void autosmooth(Render *UNUSED(re), ObjectRen *obr, float mat[][4], int degr)
{
ASvert *asv, *asverts;
ASface *asf;
@@ -1680,8 +1680,6 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
bb.anim = part->bb_anim;
bb.lock = part->draw & PART_DRAW_BB_LOCK;
bb.ob = (part->bb_ob ? part->bb_ob : RE_GetCamera(re));
- bb.offset[0] = part->bb_offset[0];
- bb.offset[1] = part->bb_offset[1];
bb.split_offset = part->bb_split_offset;
bb.totnum = totpart+totchild;
bb.uv_split = part->bb_uv_split;
@@ -1800,10 +1798,8 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
pa_size = pa->size;
- BLI_srandom(psys->seed+a);
-
- r_tilt = 2.0f*(BLI_frand() - 0.5f);
- r_length = BLI_frand();
+ r_tilt = 2.0f*(PSYS_FRAND(a) - 0.5f);
+ r_length = PSYS_FRAND(a+1);
if(path_nbr) {
cache = psys->pathcache[a];
@@ -2015,7 +2011,20 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
if(part->ren_as == PART_DRAW_BB) {
bb.random = random;
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = ct;
bb.num = a;
@@ -2036,11 +2045,24 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
mul_m4_v3(psys->parent->obmat, state.co);
if(use_duplimat)
- mul_m4_v4(duplimat, state.co);
+ mul_m4_v3(duplimat, state.co);
if(part->ren_as == PART_DRAW_BB) {
bb.random = random;
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = pa_time;
bb.num = a;
@@ -2100,7 +2122,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
/* Halo's */
/* ------------------------------------------------------------------------- */
-static void make_render_halos(Render *re, ObjectRen *obr, Mesh *me, int totvert, MVert *mvert, Material *ma, float *orco)
+static void make_render_halos(Render *re, ObjectRen *obr, Mesh *UNUSED(me), int totvert, MVert *mvert, Material *ma, float *orco)
{
Object *ob= obr->ob;
HaloRen *har;
@@ -2908,8 +2930,10 @@ static void init_render_curve(Render *re, ObjectRen *obr, int timeoffset)
vlr->v3= RE_findOrAddVert(obr, startvert+index[2]);
vlr->v4= NULL;
- normal_tri_v3(tmp, vlr->v3->co, vlr->v2->co, vlr->v1->co);
- add_v3_v3(n, tmp);
+ if(area_tri_v3(vlr->v3->co, vlr->v2->co, vlr->v1->co)>FLT_EPSILON) {
+ normal_tri_v3(tmp, vlr->v3->co, vlr->v2->co, vlr->v1->co);
+ add_v3_v3(n, tmp);
+ }
vlr->mat= matar[ dl->col ];
vlr->flag= 0;
@@ -3351,7 +3375,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset)
/* test for 100% transparant */
ok= 1;
- if(ma->alpha==0.0f && ma->spectra==0.0f && ma->filter==0.0f && (ma->mode & MA_TRANSP)) {
+ if(ma->alpha==0.0f && ma->spectra==0.0f && ma->filter==0.0f && (ma->mode & MA_TRANSP) && (ma->mode & MA_RAYMIRROR)==0) {
ok= 0;
/* texture on transparency? */
for(a=0; a<MAX_MTEX; a++) {
@@ -4665,7 +4689,6 @@ void RE_Database_Free(Render *re)
re->totvlak=re->totvert=re->totstrand=re->totlamp=re->tothalo= 0;
re->i.convertdone= 0;
- re->backbuf= NULL;
re->bakebuf= NULL;
if(re->scene)
@@ -4700,7 +4723,7 @@ static int allow_render_object(Render *re, Object *ob, int nolamps, int onlysele
return 1;
}
-static int allow_render_dupli_instance(Render *re, DupliObject *dob, Object *obd)
+static int allow_render_dupli_instance(Render *UNUSED(re), DupliObject *dob, Object *obd)
{
ParticleSystem *psys;
Material *ma;
@@ -5387,7 +5410,7 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float *
float imat[4][4];
FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(fsob, eModifierType_Fluidsim);
FluidsimSettings *fss;
- float *velarray = NULL;
+ FluidVertexVelocity *velarray = NULL;
/* only one step needed */
if(step) return 1;
@@ -5401,14 +5424,14 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float *
invert_m4_m4(imat, mat);
/* set first vertex OK */
- if(!fss->meshSurfNormals) return 0;
+ if(!fss->meshVelocities) return 0;
- if( obr->totvert != GET_INT_FROM_POINTER(fss->meshSurface) ) {
+ if( obr->totvert != fss->totvert) {
//fprintf(stderr, "load_fluidsimspeedvectors - modified fluidsim mesh, not using speed vectors (%d,%d)...\n", obr->totvert, fsob->fluidsimSettings->meshSurface->totvert); // DEBUG
return 0;
}
- velarray = (float *)fss->meshSurfNormals;
+ velarray = fss->meshVelocities;
if(obi->flag & R_TRANSFORMED)
mul_m4_m4m4(winmat, obi->mat, re->winmat);
@@ -5420,7 +5443,7 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float *
so that also small drops/little water volumes return a velocity != 0.
But I had no luck in fixing that function - DG */
for(a=0; a<obr->totvert; a++) {
- for(j=0;j<3;j++) avgvel[j] += velarray[3*a + j];
+ for(j=0;j<3;j++) avgvel[j] += velarray[a].vel[j];
}
for(j=0;j<3;j++) avgvel[j] /= (float)(obr->totvert);
@@ -5435,7 +5458,7 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float *
// get fluid velocity
fsvec[3] = 0.;
//fsvec[0] = fsvec[1] = fsvec[2] = fsvec[3] = 0.; fsvec[2] = 2.; // NT fixed test
- for(j=0;j<3;j++) fsvec[j] = velarray[3*a + j];
+ for(j=0;j<3;j++) fsvec[j] = velarray[a].vel[j];
/* (bad) HACK insert average velocity if none is there (see previous comment) */
if((fsvec[0] == 0.0) && (fsvec[1] == 0.0) && (fsvec[2] == 0.0))
@@ -5657,13 +5680,14 @@ void RE_Database_FromScene_Vectors(Render *re, Main *bmain, Scene *sce, unsigned
RE_BAKE_DISPLACEMENT:for baking, no lamps, only selected objects
RE_BAKE_SHADOW: for baking, only shadows, but all objects
*/
-void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay, int type, Object *actob)
+void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay, const int type, Object *actob)
{
Object *camera;
float mat[4][4];
float amb[3];
- int onlyselected, nolamps;
-
+ const short onlyselected= !ELEM4(type, RE_BAKE_LIGHT, RE_BAKE_ALL, RE_BAKE_SHADOW, RE_BAKE_AO);
+ const short nolamps= ELEM3(type, RE_BAKE_NORMALS, RE_BAKE_TEXTURE, RE_BAKE_DISPLACEMENT);
+
re->main= bmain;
re->scene= scene;
re->lay= lay;
@@ -5713,7 +5737,15 @@ void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay,
unit_m4(mat);
RE_SetView(re, mat);
}
-
+ copy_m3_m4(re->imat, re->viewinv);
+
+ /* TODO: deep shadow maps + baking + strands */
+ /* strands use the window matrix and view size, there is to correct
+ * window matrix but at least avoids malloc and crash loop [#27807] */
+ unit_m4(re->winmat);
+ re->winx= re->winy= 256;
+ /* done setting dummy values */
+
init_render_world(re); /* do first, because of ambient. also requires re->osa set correct */
if(re->r.mode & R_RAYTRACE) {
init_render_qmcsampler(re);
@@ -5732,9 +5764,6 @@ void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay,
set_node_shader_lamp_loop(shade_material_loop);
/* MAKE RENDER DATA */
- nolamps= !ELEM3(type, RE_BAKE_LIGHT, RE_BAKE_ALL, RE_BAKE_SHADOW);
- onlyselected= ELEM3(type, RE_BAKE_NORMALS, RE_BAKE_TEXTURE, RE_BAKE_DISPLACEMENT);
-
database_init_objects(re, lay, nolamps, onlyselected, actob, 0);
set_material_lightgroups(re);
@@ -5749,6 +5778,14 @@ void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay,
if(re->r.mode & R_RAYTRACE)
makeraytree(re);
+ /* point density texture */
+ if(!re->test_break(re->tbh))
+ make_pointdensities(re);
+
+ /* voxel data texture */
+ if(!re->test_break(re->tbh))
+ make_voxeldata(re);
+
/* occlusion */
if((re->wrld.mode & (WO_AMB_OCC|WO_ENV_LIGHT|WO_INDIRECT_LIGHT)) && !re->test_break(re->tbh))
if(re->wrld.ao_gather_method == WO_AOGATHER_APPROX)
diff --git a/source/blender/render/intern/source/envmap.c b/source/blender/render/intern/source/envmap.c
index 1e40ab886ae..e2ab21ef877 100644
--- a/source/blender/render/intern/source/envmap.c
+++ b/source/blender/render/intern/source/envmap.c
@@ -149,7 +149,6 @@ static Render *envmap_render_copy(Render *re, EnvMap *env)
envre->r.layers.first= envre->r.layers.last= NULL;
envre->r.filtertype= 0;
envre->r.xparts= envre->r.yparts= 2;
- envre->r.bufflag= 0;
envre->r.size= 100;
envre->r.yasp= envre->r.xasp= 1;
diff --git a/source/blender/render/intern/source/imagetexture.c b/source/blender/render/intern/source/imagetexture.c
index 7d2c7b35247..6d264951204 100644
--- a/source/blender/render/intern/source/imagetexture.c
+++ b/source/blender/render/intern/source/imagetexture.c
@@ -76,6 +76,8 @@
extern struct Render R;
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float maxy, TexResult *texres, const short imaprepeat, const short imapextend);
+
/* *********** IMAGEWRAPPING ****************** */
@@ -113,6 +115,7 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, float *texvec, TexResult *texre
{
float fx, fy, val1, val2, val3;
int x, y, retval;
+ int xi, yi; /* original values */
texres->tin= texres->ta= texres->tr= texres->tg= texres->tb= 0.0f;
@@ -164,8 +167,8 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, float *texvec, TexResult *texre
}
}
- x = (int)floorf(fx*ibuf->x);
- y = (int)floorf(fy*ibuf->y);
+ x= xi= (int)floorf(fx*ibuf->x);
+ y= yi= (int)floorf(fy*ibuf->y);
if(tex->extend == TEX_CLIPCUBE) {
if(x<0 || y<0 || x>=ibuf->x || y>=ibuf->y || texvec[2]<-1.0f || texvec[2]>1.0f) {
@@ -201,7 +204,23 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, float *texvec, TexResult *texre
ibuf->rect+= (ibuf->x*ibuf->y);
}
- ibuf_get_color(&texres->tr, ibuf, x, y);
+ /* interpolate */
+ if (tex->imaflag & TEX_INTERPOL) {
+ float filterx, filtery;
+ filterx = (0.5f * tex->filtersize) / ibuf->x;
+ filtery = (0.5f * tex->filtersize) / ibuf->y;
+
+ /* important that this value is wrapped [#27782]
+ * this applies the modifications made by the checks above,
+ * back to the floating point values */
+ fx -= (float)(xi - x) / (float)ibuf->x;
+ fy -= (float)(yi - y) / (float)ibuf->y;
+
+ boxsample(ibuf, fx-filterx, fy-filtery, fx+filterx, fy+filtery, texres, (tex->extend==TEX_REPEAT), (tex->extend==TEX_EXTEND));
+ }
+ else { /* no filtering */
+ ibuf_get_color(&texres->tr, ibuf, x, y);
+ }
if( (R.flag & R_SEC_FIELD) && (ibuf->flags & IB_fields) ) {
ibuf->rect-= (ibuf->x*ibuf->y);
@@ -513,15 +532,17 @@ static void boxsampleclip(struct ImBuf *ibuf, rctf *rf, TexResult *texres)
}
}
-static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float maxy, TexResult *texres, int imaprepeat, int imapextend)
+static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float maxy, TexResult *texres, const short imaprepeat, const short imapextend)
{
/* Sample box, performs clip. minx etc are in range 0.0 - 1.0 .
- * Enlarge with antialiased edges of pixels.
- * If variable 'imaprepeat' has been set, the
- * clipped-away parts are sampled as well.
- */
+ * Enlarge with antialiased edges of pixels.
+ * If variable 'imaprepeat' has been set, the
+ * clipped-away parts are sampled as well.
+ */
/* note: actually minx etc isnt in the proper range... this due to filter size and offset vectors for bump */
/* note: talpha must be initialized */
+ /* note: even when 'imaprepeat' is set, this can only repeate once in any direction.
+ * the point which min/max is derived from is assumed to be wrapped */
TexResult texr;
rctf *rf, stack[8];
float opp, tot, alphaclip= 1.0;
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 436f0ecd997..b9006b390ab 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -64,6 +64,7 @@
#include "BLI_blenlib.h"
#include "BLI_rand.h"
#include "BLI_threads.h"
+#include "BLI_callbacks.h"
#include "BLI_utildefines.h"
#include "PIL_time.h"
@@ -127,7 +128,7 @@ Render R;
/* ********* alloc and free ******** */
-static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports, const char *name_override);
+static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, const char *name_override);
static volatile int g_break= 0;
static int thread_break(void *UNUSED(arg))
@@ -140,7 +141,6 @@ static void result_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr)) {}
static void result_rcti_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect)) {}
static void stats_nothing(void *UNUSED(arg), RenderStats *UNUSED(rs)) {}
static void float_nothing(void *UNUSED(arg), float UNUSED(val)) {}
-static void print_error(void *UNUSED(arg), const char *str) {printf("ERROR: %s\n", str);}
static int default_break(void *UNUSED(arg)) {return G.afbreek == 1;}
static void stats_background(void *UNUSED(arg), RenderStats *rs)
@@ -383,6 +383,10 @@ static const char *get_pass_name(int passtype, int channel)
if(channel==-1) return "IndexOB";
return "IndexOB.X";
}
+ if(passtype == SCE_PASS_INDEXMA) {
+ if(channel==-1) return "IndexMA";
+ return "IndexMA.X";
+ }
if(passtype == SCE_PASS_MIST) {
if(channel==-1) return "Mist";
return "Mist.Z";
@@ -448,6 +452,9 @@ static int passtype_from_name(char *str)
if(strcmp(str, "IndexOB")==0)
return SCE_PASS_INDEXOB;
+ if(strcmp(str, "IndexMA")==0)
+ return SCE_PASS_INDEXMA;
+
if(strcmp(str, "Mist")==0)
return SCE_PASS_MIST;
@@ -631,7 +638,9 @@ static RenderResult *new_render_result(Render *re, rcti *partrct, int crop, int
render_layer_add_pass(rr, rl, 3, SCE_PASS_REFRACT);
if(srl->passflag & SCE_PASS_INDEXOB)
render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXOB);
- if(srl->passflag & SCE_PASS_MIST)
+ if(srl->passflag & SCE_PASS_INDEXMA)
+ render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXMA);
+ if(srl->passflag & SCE_PASS_MIST)
render_layer_add_pass(rr, rl, 1, SCE_PASS_MIST);
if(rl->passflag & SCE_PASS_RAYHITS)
render_layer_add_pass(rr, rl, 4, SCE_PASS_RAYHITS);
@@ -1189,13 +1198,12 @@ void RE_InitRenderCB(Render *re)
re->display_draw= result_rcti_nothing;
re->progress= float_nothing;
re->test_break= default_break;
- re->error= print_error;
if(G.background)
re->stats_draw= stats_background;
else
re->stats_draw= stats_nothing;
/* clear callback handles */
- re->dih= re->dch= re->ddh= re->sdh= re->prh= re->tbh= re->erh= NULL;
+ re->dih= re->dch= re->ddh= re->sdh= re->prh= re->tbh= NULL;
}
/* only call this while you know it will remove the link too */
@@ -1250,7 +1258,7 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer *
if(re->rectx < 2 || re->recty < 2 || (BKE_imtype_is_movie(rd->imtype) &&
(re->rectx < 16 || re->recty < 16) )) {
- re->error(re->erh, "Image too small");
+ BKE_report(re->reports, RPT_ERROR, "Image too small");
re->ok= 0;
return;
}
@@ -1416,11 +1424,6 @@ void RE_test_break_cb(Render *re, void *handle, int (*f)(void *handle))
re->test_break= f;
re->tbh= handle;
}
-void RE_error_cb(Render *re, void *handle, void (*f)(void *handle, const char *str))
-{
- re->error= f;
- re->erh= handle;
-}
/* ********* add object data (later) ******** */
@@ -2065,36 +2068,6 @@ static void do_render_fields_3d(Render *re)
re->display_draw(re->ddh, re->result, NULL);
}
-static void load_backbuffer(Render *re)
-{
- if(re->r.alphamode == R_ADDSKY) {
- ImBuf *ibuf;
- char name[256];
-
- BLI_strncpy(name, re->r.backbuf, sizeof(name));
- BLI_path_abs(name, re->main->name);
- BLI_path_frame(name, re->r.cfra, 0);
-
- if(re->backbuf) {
- re->backbuf->id.us--;
- if(re->backbuf->id.us<1)
- BKE_image_signal(re->backbuf, NULL, IMA_SIGNAL_RELOAD);
- }
-
- re->backbuf= BKE_add_image_file(name);
- ibuf= BKE_image_get_ibuf(re->backbuf, NULL);
- if(ibuf==NULL) {
- // error() doesnt work with render window open
- //error("No backbuf there!");
- printf("Error: No backbuf %s\n", name);
- }
- else {
- if (re->r.mode & R_FIELDS)
- image_de_interlace(re->backbuf, re->r.mode & R_ODDFIELD);
- }
- }
-}
-
/* main render routine, no compositing */
static void do_render_fields_blur_3d(Render *re)
{
@@ -2105,10 +2078,6 @@ static void do_render_fields_blur_3d(Render *re)
G.afbreek= 1;
return;
}
-
- /* backbuffer initialize */
- if(re->r.bufflag & 1)
- load_backbuffer(re);
/* now use renderdata and camera to set viewplane */
RE_SetCamera(re, camera);
@@ -2203,6 +2172,24 @@ static void render_scene(Render *re, Scene *sce, int cfra)
do_render_fields_blur_3d(resc);
}
+/* helper call to detect if this scene needs a render, or if there's a any render layer to render */
+static int composite_needs_render(Scene *sce, int this_scene)
+{
+ bNodeTree *ntree= sce->nodetree;
+ bNode *node;
+
+ if(ntree==NULL) return 1;
+ if(sce->use_nodes==0) return 1;
+ if((sce->r.scemode & R_DOCOMP)==0) return 1;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==CMP_NODE_R_LAYERS)
+ if(this_scene==0 || node->id==NULL || node->id==&sce->id)
+ return 1;
+ }
+ return 0;
+}
+
static void tag_scenes_for_render(Render *re)
{
bNode *node;
@@ -2211,7 +2198,8 @@ static void tag_scenes_for_render(Render *re)
for(sce= re->main->scene.first; sce; sce= sce->id.next)
sce->id.flag &= ~LIB_DOIT;
- re->scene->id.flag |= LIB_DOIT;
+ if(RE_GetCamera(re) && composite_needs_render(re->scene, 1))
+ re->scene->id.flag |= LIB_DOIT;
if(re->scene->nodetree==NULL) return;
@@ -2248,6 +2236,8 @@ static void ntree_render_scenes(Render *re)
render_scene(re, scene, cfra);
restore_scene= (scene != re->scene);
node->id->flag &= ~LIB_DOIT;
+
+ NodeTagChanged(re->scene->nodetree, node);
}
}
}
@@ -2258,24 +2248,6 @@ static void ntree_render_scenes(Render *re)
set_scene_bg(re->main, re->scene);
}
-/* helper call to detect if theres a composite with render-result node */
-static int composite_needs_render(Scene *sce)
-{
- bNodeTree *ntree= sce->nodetree;
- bNode *node;
-
- if(ntree==NULL) return 1;
- if(sce->use_nodes==0) return 1;
- if((sce->r.scemode & R_DOCOMP)==0) return 1;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==CMP_NODE_R_LAYERS)
- if(node->id==NULL || node->id==&sce->id)
- return 1;
- }
- return 0;
-}
-
/* bad call... need to think over proper method still */
static void render_composit_stats(void *UNUSED(arg), char *str)
{
@@ -2291,6 +2263,16 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree)
float *rectf, filt[3][3];
int sample;
+ /* interaction callbacks */
+ if(ntree) {
+ ntree->stats_draw= render_composit_stats;
+ ntree->test_break= re->test_break;
+ ntree->progress= re->progress;
+ ntree->sdh= re->sdh;
+ ntree->tbh= re->tbh;
+ ntree->prh= re->prh;
+ }
+
/* filtmask needs it */
R= *re;
@@ -2298,25 +2280,27 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree)
rectf= MEM_mapallocN(re->rectx*re->recty*sizeof(float)*4, "fullsample rgba");
for(sample=0; sample<re->r.osa; sample++) {
+ Render *re1;
RenderResult rres;
int x, y, mask;
- /* set all involved renders on the samplebuffers (first was done by render itself) */
+ /* enable full sample print */
+ R.i.curfsa= sample+1;
+
+ /* set all involved renders on the samplebuffers (first was done by render itself, but needs tagged) */
/* also function below assumes this */
- if(sample) {
- Render *re1;
- tag_scenes_for_render(re);
- for(re1= RenderGlobal.renderlist.first; re1; re1= re1->next) {
- if(re1->scene->id.flag & LIB_DOIT) {
- if(re1->r.scemode & R_FULL_SAMPLE) {
+ tag_scenes_for_render(re);
+ for(re1= RenderGlobal.renderlist.first; re1; re1= re1->next) {
+ if(re1->scene->id.flag & LIB_DOIT) {
+ if(re1->r.scemode & R_FULL_SAMPLE) {
+ if(sample)
read_render_result(re1, sample);
- ntreeCompositTagRender(re1->scene); /* ensure node gets exec to put buffers on stack */
- }
+ ntreeCompositTagRender(re1->scene); /* ensure node gets exec to put buffers on stack */
}
}
}
-
+
/* composite */
if(ntree) {
ntreeCompositTagRender(re->scene);
@@ -2359,6 +2343,17 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree)
break;
}
+ /* clear interaction callbacks */
+ if(ntree) {
+ ntree->stats_draw= NULL;
+ ntree->test_break= NULL;
+ ntree->progress= NULL;
+ ntree->tbh= ntree->sdh= ntree->prh= NULL;
+ }
+
+ /* disable full sample print */
+ R.i.curfsa= 0;
+
BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
if(re->result->rectf)
MEM_freeN(re->result->rectf);
@@ -2398,8 +2393,10 @@ void RE_MergeFullSample(Render *re, Main *bmain, Scene *sce, bNodeTree *ntree)
}
/* own render result should be read/allocated */
- if(re->scene->id.flag & LIB_DOIT)
+ if(re->scene->id.flag & LIB_DOIT) {
RE_ReadRenderResult(re->scene, re->scene);
+ re->scene->id.flag &= ~LIB_DOIT;
+ }
/* and now we can draw (result is there) */
re->display_init(re->dih, re->result);
@@ -2417,12 +2414,21 @@ static void do_render_composite_fields_blur_3d(Render *re)
/* INIT seeding, compositor can use random texture */
BLI_srandom(re->r.cfra);
- if(composite_needs_render(re->scene)) {
+ if(composite_needs_render(re->scene, 1)) {
/* save memory... free all cached images */
ntreeFreeCache(ntree);
do_render_fields_blur_3d(re);
- } else {
+ }
+ else {
+ /* ensure new result gets added, like for regular renders */
+ BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
+
+ RE_FreeRenderResult(re->result);
+ re->result= new_render_result(re, &re->disprect, 0, RR_USEMEM);
+
+ BLI_rw_mutex_unlock(&re->resultmutex);
+
/* scene render process already updates animsys */
update_newframe = 1;
}
@@ -2706,14 +2712,14 @@ static int check_valid_camera(Scene *scene, Object *camera_override)
return 1;
}
-int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, void (*error)(void *handle, const char *str))
+int RE_is_rendering_allowed(Scene *scene, Object *camera_override, ReportList *reports)
{
SceneRenderLayer *srl;
if(scene->r.mode & R_BORDER) {
if(scene->r.border.xmax <= scene->r.border.xmin ||
scene->r.border.ymax <= scene->r.border.ymin) {
- error(erh, "No border area selected.");
+ BKE_report(reports, RPT_ERROR, "No border area selected.");
return 0;
}
}
@@ -2724,13 +2730,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
scene_unique_exr_name(scene, str, 0);
if (BLI_is_writable(str)==0) {
- error(erh, "Can not save render buffers, check the temp default path");
+ BKE_report(reports, RPT_ERROR, "Can not save render buffers, check the temp default path");
return 0;
}
/* no fullsample and edge */
if((scene->r.scemode & R_FULL_SAMPLE) && (scene->r.mode & R_EDGE)) {
- error(erh, "Full Sample doesn't support Edge Enhance");
+ BKE_report(reports, RPT_ERROR, "Full Sample doesn't support Edge Enhance");
return 0;
}
@@ -2744,7 +2750,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
bNode *node;
if(ntree==NULL) {
- error(erh, "No Nodetree in Scene");
+ BKE_report(reports, RPT_ERROR, "No Nodetree in Scene");
return 0;
}
@@ -2753,13 +2759,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
break;
if(node==NULL) {
- error(erh, "No Render Output Node in Scene");
+ BKE_report(reports, RPT_ERROR, "No Render Output Node in Scene");
return 0;
}
if(scene->r.scemode & R_FULL_SAMPLE) {
- if(composite_needs_render(scene)==0) {
- error(erh, "Full Sample AA not supported without 3d rendering");
+ if(composite_needs_render(scene, 0)==0) {
+ BKE_report(reports, RPT_ERROR, "Full Sample AA not supported without 3d rendering");
return 0;
}
}
@@ -2768,7 +2774,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
/* check valid camera, without camera render is OK (compo, seq) */
if(!check_valid_camera(scene, camera_override)) {
- error(erh, "No camera");
+ BKE_report(reports, RPT_ERROR, "No camera");
return 0;
}
@@ -2778,7 +2784,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
/* forbidden combinations */
if(scene->r.mode & R_PANORAMA) {
if(scene->r.mode & R_ORTHO) {
- error(erh, "No Ortho render possible for Panorama");
+ BKE_report(reports, RPT_ERROR, "No Ortho render possible for Panorama");
return 0;
}
}
@@ -2794,13 +2800,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
if(!(srl->layflag & SCE_LAY_DISABLE))
break;
if(srl==NULL) {
- error(erh, "All RenderLayers are disabled");
+ BKE_report(reports, RPT_ERROR, "All RenderLayers are disabled");
return 0;
}
/* renderer */
if(!ELEM(scene->r.renderer, R_INTERN, R_YAFRAY)) {
- error(erh, "Unknown render engine set");
+ BKE_report(reports, RPT_ERROR, "Unknown render engine set");
return 0;
}
@@ -2902,6 +2908,11 @@ static int render_initialize_from_main(Render *re, Main *bmain, Scene *scene, Sc
return 1;
}
+void RE_SetReports(Render *re, ReportList *reports)
+{
+ re->reports= reports;
+}
+
/* general Blender frame render call */
void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *srl, Object *camera_override, unsigned int lay, int frame, const short write_still)
{
@@ -2912,6 +2923,9 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr
if(render_initialize_from_main(re, bmain, scene, srl, camera_override, lay, 0, 0)) {
MEM_reset_peak_memory();
+
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE);
+
do_render_all_options(re);
if(write_still && !G.afbreek) {
@@ -2924,16 +2938,18 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr
BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE);
/* reports only used for Movie */
- do_write_image_or_movie(re, scene, NULL, NULL, name);
+ do_write_image_or_movie(re, scene, NULL, name);
}
}
+
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */
}
/* UGLY WARNING */
G.rendering= 0;
}
-static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports, const char *name_override)
+static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, const char *name_override)
{
char name[FILE_MAX];
RenderResult rres;
@@ -2951,7 +2967,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
dofree = 1;
}
RE_ResultGet32(re, (unsigned int *)rres.rect32);
- ok= mh->append_movie(&re->r, scene->r.cfra, rres.rect32, rres.rectx, rres.recty, reports);
+ ok= mh->append_movie(&re->r, scene->r.cfra, rres.rect32, rres.rectx, rres.recty, re->reports);
if(dofree) {
MEM_freeN(rres.rect32);
}
@@ -2992,6 +3008,15 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
}
}
+ /* color -> greyscale */
+ /* editing directly would alter the render view */
+ if(scene->r.planes == 8) {
+ ImBuf *ibuf_bw= IMB_dupImBuf(ibuf);
+ IMB_color_to_bw(ibuf_bw);
+ IMB_freeImBuf(ibuf);
+ ibuf= ibuf_bw;
+ }
+
ok= BKE_write_ibuf_stamp(scene, camera, ibuf, name, scene->r.imtype, scene->r.subimtype, scene->r.quality);
if(ok==0) {
@@ -3024,7 +3049,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
}
/* saves images to disk */
-void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_override, unsigned int lay, int sfra, int efra, int tfra, ReportList *reports)
+void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_override, unsigned int lay, int sfra, int efra, int tfra)
{
bMovieHandle *mh= BKE_get_movie_handle(scene->r.imtype);
int cfrao= scene->r.cfra;
@@ -3037,24 +3062,31 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri
/* ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol */
/* is also set by caller renderwin.c */
G.rendering= 1;
-
+
if(BKE_imtype_is_movie(scene->r.imtype))
- if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, reports))
+ if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, re->reports))
G.afbreek= 1;
if (mh->get_next_frame) {
while (!(G.afbreek == 1)) {
- int nf = mh->get_next_frame(&re->r, reports);
+ int nf = mh->get_next_frame(&re->r, re->reports);
if (nf >= 0 && nf >= scene->r.sfra && nf <= scene->r.efra) {
scene->r.cfra = re->r.cfra = nf;
-
+
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE);
+
do_render_all_options(re);
if(re->test_break(re->tbh) == 0) {
- if(!do_write_image_or_movie(re, scene, mh, reports, NULL))
+ if(!do_write_image_or_movie(re, scene, mh, NULL))
G.afbreek= 1;
}
- } else {
+
+ if(G.afbreek == 0) {
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */
+ }
+ }
+ else {
if(re->test_break(re->tbh))
G.afbreek= 1;
}
@@ -3101,12 +3133,16 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri
}
re->r.cfra= scene->r.cfra; /* weak.... */
+
+ /* run callbacs before rendering, before the scene is updated */
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE);
+
do_render_all_options(re);
if(re->test_break(re->tbh) == 0) {
if(!G.afbreek)
- if(!do_write_image_or_movie(re, scene, mh, reports, NULL))
+ if(!do_write_image_or_movie(re, scene, mh, NULL))
G.afbreek= 1;
}
else
@@ -3122,6 +3158,10 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri
break;
}
+
+ if(G.afbreek==0) {
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */
+ }
}
}
@@ -3310,6 +3350,11 @@ void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char
re->i.statstr= NULL;
}
+void RE_engine_report(RenderEngine *engine, int type, const char *msg)
+{
+ BKE_report(engine->re->reports, type, msg);
+}
+
/* loads in image into a result, size must match
* x/y offsets are only used on a partial copy when dimensions dont match */
void RE_layer_load_from_file(RenderLayer *layer, ReportList *reports, const char *filename, int x, int y)
diff --git a/source/blender/render/intern/source/pixelshading.c b/source/blender/render/intern/source/pixelshading.c
index 2d42938f6ac..56a1c870904 100644
--- a/source/blender/render/intern/source/pixelshading.c
+++ b/source/blender/render/intern/source/pixelshading.c
@@ -502,21 +502,6 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
/* ------------------------------------------------------------------------- */
-static void fillBackgroundImage(float *collector, float fx, float fy)
-{
- collector[0] = 0.0;
- collector[1] = 0.0;
- collector[2] = 0.0;
- collector[3] = 0.0;
-
- if(R.backbuf) {
- float dx= 1.0f/(float)R.winx;
- float dy= 1.0f/(float)R.winy;
-
- image_sample(R.backbuf, fx*dx, fy*dy, dx, dy, collector);
- }
-}
-
/* Only view vector is important here. Result goes to colf[3] */
void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short thread)
{
@@ -626,18 +611,14 @@ void shadeSkyPixel(float *collector, float fx, float fy, short thread)
float fac;
- /* 1. Do a backbuffer image: */
- if(R.r.bufflag & 1) {
- fillBackgroundImage(collector, fx, fy);
- }
- else if((R.wrld.skytype & (WO_SKYBLEND+WO_SKYTEX))==0) {
- /* 2. solid color */
+ if((R.wrld.skytype & (WO_SKYBLEND+WO_SKYTEX))==0) {
+ /* 1. solid color */
VECCOPY(collector, &R.wrld.horr);
collector[3] = 0.0f;
}
else {
- /* 3. */
+ /* 2. */
/* This one true because of the context of this routine */
if(R.wrld.skytype & WO_SKYPAPER) {
diff --git a/source/blender/render/intern/source/pointdensity.c b/source/blender/render/intern/source/pointdensity.c
index d3d3e4d261c..b45528b96d9 100644
--- a/source/blender/render/intern/source/pointdensity.c
+++ b/source/blender/render/intern/source/pointdensity.c
@@ -362,10 +362,18 @@ static void accum_density(void *userdata, int index, float squared_dist)
density = pdr->squared_radius;
else if (pdr->falloff_type == TEX_PD_FALLOFF_ROOT)
density = sqrt(dist);
- else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_AGE)
- density = dist*MIN2(pdr->point_data[pdr->offset + index], 1.0f);
- else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_VEL)
- density = dist*len_v3(pdr->point_data + index*3)*pdr->velscale;
+ else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_AGE) {
+ if (pdr->point_data_used & POINT_DATA_LIFE)
+ density = dist*MIN2(pdr->point_data[pdr->offset + index], 1.0f);
+ else
+ density = dist;
+ }
+ else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_VEL) {
+ if (pdr->point_data_used & POINT_DATA_VEL)
+ density = dist*len_v3(pdr->point_data + index*3)*pdr->velscale;
+ else
+ density = dist;
+ }
if (pdr->density_curve && dist != 0.0f) {
density = curvemapping_evaluateF(pdr->density_curve, 0, density/dist)*dist;
diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c
index b57fe5a8c3b..34d3adcf15b 100644
--- a/source/blender/render/intern/source/rayshade.c
+++ b/source/blender/render/intern/source/rayshade.c
@@ -96,7 +96,7 @@ static void RE_rayobject_config_control(RayObject *r, Render *re)
}
}
-RayObject* RE_rayobject_create(Render *re, int type, int size)
+static RayObject* RE_rayobject_create(Render *re, int type, int size)
{
RayObject * res = NULL;
@@ -1231,7 +1231,7 @@ static QMCSampler *get_thread_qmcsampler(Render *re, int thread, int type, int t
return qsa;
}
-static void release_thread_qmcsampler(Render *re, int thread, QMCSampler *qsa)
+static void release_thread_qmcsampler(Render *UNUSED(re), int UNUSED(thread), QMCSampler *qsa)
{
qsa->used= 0;
}
@@ -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 */
-int ray_trace_shadow_rad(ShadeInput *ship, ShadeResult *shr)
+static int ray_trace_shadow_rad(ShadeInput *ship, ShadeResult *shr)
{
static int counter=0, only_one= 0;
extern float hashvectf[];
@@ -1729,7 +1729,7 @@ int ray_trace_shadow_rad(ShadeInput *ship, ShadeResult *shr)
/* end warning! - Campbell */
shade_ray(&isec, &shi, &shr_t);
- fac= isec.dist*isec.dist;
+ /* fac= isec.dist*isec.dist; */
fac= 1.0f;
accum[0]+= fac*(shr_t.diff[0]+shr_t.spec[0]);
accum[1]+= fac*(shr_t.diff[1]+shr_t.spec[1]);
diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c
index 5f5dab94ba3..5aad055a8f6 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -2118,7 +2118,8 @@ void do_material_tex(ShadeInput *shi)
float fact, facm, factt, facmm, stencilTin=1.0;
float texvec[3], dxt[3], dyt[3], tempvec[3], norvec[3], warpvec[3]={0.0f, 0.0f, 0.0f}, Tnor=1.0;
int tex_nr, rgbnor= 0, warpdone=0;
- int use_compat_bump, use_ntap_bump;
+ int use_compat_bump = 0, use_ntap_bump = 0;
+ int found_nmapping = 0;
int iFirstTimeNMap=1;
compatible_bump_init(&compat_bump);
@@ -2192,6 +2193,7 @@ void do_material_tex(ShadeInput *shi)
}
}
else if(mtex->texco==TEXCO_REFL) {
+ calc_R_ref(shi);
co= shi->ref; dx= shi->dxref; dy= shi->dyref;
}
else if(mtex->texco==TEXCO_NORM) {
@@ -2428,6 +2430,9 @@ void do_material_tex(ShadeInput *shi)
/* we need to code blending modes for normals too once.. now 1 exception hardcoded */
if ((tex->type==TEX_IMAGE) && (tex->imaflag & TEX_NORMALMAP)) {
+
+ found_nmapping = 1;
+
/* qdn: for normalmaps, to invert the normalmap vector,
it is better to negate x & y instead of subtracting the vector as was done before */
if (norfac < 0.0f) {
@@ -2509,9 +2514,6 @@ void do_material_tex(ShadeInput *shi)
shi->orn[0]= -shi->vn[0];
shi->orn[1]= -shi->vn[1];
shi->orn[2]= -shi->vn[2];
-
- /* reflection vector */
- calc_R_ref(shi);
}
}
@@ -2622,6 +2624,12 @@ void do_material_tex(ShadeInput *shi)
}
}
}
+ if ((use_compat_bump || use_ntap_bump || found_nmapping) && (shi->mat->mode & MA_TANGENT_V)!=0) {
+ const float fnegdot = -dot_v3v3(shi->vn, shi->tang);
+ // apply Gram-Schmidt projection
+ madd_v3_v3fl(shi->tang, shi->vn, fnegdot);
+ normalize_v3(shi->tang);
+ }
}
diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c
index 7a34fc0af50..a7e19c8db4f 100644
--- a/source/blender/render/intern/source/rendercore.c
+++ b/source/blender/render/intern/source/rendercore.c
@@ -515,6 +515,14 @@ static void add_filt_passes(RenderLayer *rl, int curmask, int rectx, int offset,
*fp= (float)shi->obr->ob->index;
}
break;
+ case SCE_PASS_INDEXMA:
+ /* no filter */
+ if(shi->vlr) {
+ fp= rpass->rect + offset;
+ if(*fp==0.0f)
+ *fp= (float)shi->mat->index;
+ }
+ break;
case SCE_PASS_MIST:
/* */
col= &shr->mist;
@@ -619,6 +627,12 @@ static void add_passes(RenderLayer *rl, int offset, ShadeInput *shi, ShadeResult
*fp= (float)shi->obr->ob->index;
}
break;
+ case SCE_PASS_INDEXMA:
+ if(shi->vlr) {
+ fp= rpass->rect + offset;
+ *fp= (float)shi->mat->index;
+ }
+ break;
case SCE_PASS_MIST:
fp= rpass->rect + offset;
*fp= shr->mist;
@@ -1956,40 +1970,6 @@ void add_halo_flare(Render *re)
R.r.mode= mode;
}
-/* ************************* used for shaded view ************************ */
-
-/* if *re, then initialize, otherwise execute */
-void RE_shade_external(Render *re, ShadeInput *shi, ShadeResult *shr)
-{
- static VlakRen vlr;
- static ObjectRen obr;
- static ObjectInstanceRen obi;
-
- /* init */
- if(re) {
- R= *re;
-
- /* fake render face */
- memset(&vlr, 0, sizeof(VlakRen));
- memset(&obr, 0, sizeof(ObjectRen));
- memset(&obi, 0, sizeof(ObjectInstanceRen));
- obr.lay= -1;
- obi.obr= &obr;
-
- return;
- }
- shi->vlr= &vlr;
- shi->obr= &obr;
- shi->obi= &obi;
-
- if(shi->mat->nodetree && shi->mat->use_nodes)
- ntreeShaderExecTree(shi->mat->nodetree, shi, shr);
- else {
- shade_input_init_material(shi);
- shade_material_loop(shi, shr);
- }
-}
-
/* ************************* bake ************************ */
@@ -2018,75 +1998,7 @@ typedef struct BakeShade {
short *do_update;
} BakeShade;
-/* bake uses a char mask to know what has been baked */
-#define BAKE_MASK_NULL 0
-#define BAKE_MASK_MARGIN 1
-#define BAKE_MASK_BAKED 2
-static void bake_mask_filter_extend( char *mask, int width, int height )
-{
- char *row1, *row2, *row3;
- int rowlen, x, y;
- char *temprect;
-
- rowlen= width;
-
- /* make a copy, to prevent flooding */
- temprect= MEM_dupallocN(mask);
-
- for(y=1; y<=height; y++) {
- /* setup rows */
- row1= (char *)(temprect + (y-2)*rowlen);
- row2= row1 + rowlen;
- row3= row2 + rowlen;
- if(y==1)
- row1= row2;
- else if(y==height)
- row3= row2;
-
- for(x=0; x<rowlen; x++) {
- if (mask[((y-1)*rowlen)+x]==0) {
- if (*row1 || *row2 || *row3 || *(row1+1) || *(row3+1) ) {
- mask[((y-1)*rowlen)+x] = BAKE_MASK_MARGIN;
- } else if((x!=rowlen-1) && (*(row1+2) || *(row2+2) || *(row3+2)) ) {
- mask[((y-1)*rowlen)+x] = BAKE_MASK_MARGIN;
- }
- }
-
- if(x!=0) {
- row1++; row2++; row3++;
- }
- }
- }
- MEM_freeN(temprect);
-}
-
-static void bake_mask_clear( ImBuf *ibuf, char *mask, char val )
-{
- int x,y;
- if (ibuf->rect_float) {
- for(x=0; x<ibuf->x; x++) {
- for(y=0; y<ibuf->y; y++) {
- if (mask[ibuf->x*y + x] == val) {
- float *col= ibuf->rect_float + 4*(ibuf->x*y + x);
- col[0] = col[1] = col[2] = col[3] = 0.0f;
- }
- }
- }
-
- } else {
- /* char buffer */
- for(x=0; x<ibuf->x; x++) {
- for(y=0; y<ibuf->y; y++) {
- if (mask[ibuf->x*y + x] == val) {
- char *col= (char *)(ibuf->rect + ibuf->x*y + x);
- col[0] = col[1] = col[2] = col[3] = 0;
- }
- }
- }
- }
-}
-
-static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInput *shi, int quad, int isect, int x, int y, float u, float v)
+static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInput *shi, int quad, int UNUSED(isect), int x, int y, float u, float v)
{
if(quad)
shade_input_set_triangle_i(shi, obi, vlr, 0, 2, 3);
@@ -2117,7 +2029,7 @@ static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInpu
shi->view[2]= shi->vn[2];
}
-static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int x, int y, float u, float v, float *tvn, float *ttang)
+static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int UNUSED(quad), int x, int y, float UNUSED(u), float UNUSED(v), float *tvn, float *ttang)
{
BakeShade *bs= handle;
ShadeSample *ssamp= &bs->ssamp;
@@ -2143,7 +2055,9 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int
shade_input_set_shade_texco(shi);
- if(!ELEM3(bs->type, RE_BAKE_NORMALS, RE_BAKE_TEXTURE, RE_BAKE_SHADOW))
+ /* only do AO for a full bake (and obviously AO bakes)
+ AO for light bakes is a leftover and might not be needed */
+ if( ELEM3(bs->type, RE_BAKE_ALL, RE_BAKE_AO, RE_BAKE_LIGHT))
shade_samples_do_AO(ssamp);
if(shi->mat->nodetree && shi->mat->use_nodes) {
@@ -2206,6 +2120,42 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int
VECCOPY(shr.combined, shr.shad);
shr.alpha = shi->alpha;
}
+ else if(bs->type==RE_BAKE_SPEC_COLOR) {
+ shr.combined[0]= shi->specr;
+ shr.combined[1]= shi->specg;
+ shr.combined[2]= shi->specb;
+ shr.alpha = 1.0f;
+ }
+ else if(bs->type==RE_BAKE_SPEC_INTENSITY) {
+ shr.combined[0]=
+ shr.combined[1]=
+ shr.combined[2]= shi->spec;
+ shr.alpha = 1.0f;
+ }
+ else if(bs->type==RE_BAKE_MIRROR_COLOR) {
+ shr.combined[0]= shi->mirr;
+ shr.combined[1]= shi->mirg;
+ shr.combined[2]= shi->mirb;
+ shr.alpha = 1.0f;
+ }
+ else if(bs->type==RE_BAKE_MIRROR_INTENSITY) {
+ shr.combined[0]=
+ shr.combined[1]=
+ shr.combined[2]= shi->ray_mirror;
+ shr.alpha = 1.0f;
+ }
+ else if(bs->type==RE_BAKE_ALPHA) {
+ shr.combined[0]=
+ shr.combined[1]=
+ shr.combined[2]= shi->alpha;
+ shr.alpha = 1.0f;
+ }
+ else if(bs->type==RE_BAKE_EMIT) {
+ shr.combined[0]=
+ shr.combined[1]=
+ shr.combined[2]= shi->emit;
+ shr.alpha = 1.0f;
+ }
}
if(bs->rect_float) {
@@ -2243,11 +2193,11 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int
}
if (bs->rect_mask) {
- bs->rect_mask[bs->rectx*y + x] = BAKE_MASK_BAKED;
+ bs->rect_mask[bs->rectx*y + x] = FILTER_MASK_USED;
}
}
-static void bake_displacement(void *handle, ShadeInput *shi, float dist, int x, int y)
+static void bake_displacement(void *handle, ShadeInput *UNUSED(shi), float dist, int x, int y)
{
BakeShade *bs= handle;
float disp;
@@ -2270,7 +2220,7 @@ static void bake_displacement(void *handle, ShadeInput *shi, float dist, int x,
col[3]= 255;
}
if (bs->rect_mask) {
- bs->rect_mask[bs->rectx*y + x] = BAKE_MASK_BAKED;
+ bs->rect_mask[bs->rectx*y + x] = FILTER_MASK_USED;
}
}
@@ -2494,7 +2444,8 @@ static int get_next_bake_face(BakeShade *bs)
if(tface && tface->tpage) {
Image *ima= tface->tpage;
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
- float vec[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+ const float vec_alpha[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+ const float vec_solid[4]= {0.0f, 0.0f, 0.0f, 1.0f};
if(ibuf==NULL)
continue;
@@ -2514,7 +2465,7 @@ static int get_next_bake_face(BakeShade *bs)
imb_freerectImBuf(ibuf);
/* clear image */
if(R.r.bake_flag & R_BAKE_CLEAR)
- IMB_rectfill(ibuf, vec);
+ IMB_rectfill(ibuf, (ibuf->depth == 32) ? vec_alpha : vec_solid);
/* might be read by UI to set active image for display */
R.bakebuf= ima;
@@ -2619,6 +2570,28 @@ static void *do_bake_thread(void *bs_v)
return NULL;
}
+void RE_bake_ibuf_filter(ImBuf *ibuf, char *mask, const int filter)
+{
+ /* must check before filtering */
+ const short is_new_alpha= (ibuf->depth != 32) && BKE_alphatest_ibuf(ibuf);
+
+ /* Margin */
+ if(filter) {
+ IMB_filter_extend(ibuf, mask, filter);
+ }
+
+ /* if the bake results in new alpha then change the image setting */
+ if(is_new_alpha) {
+ ibuf->depth= 32;
+ }
+ else {
+ if(filter && ibuf->depth != 32) {
+ /* clear alpha added by filtering */
+ IMB_rectfill_alpha(ibuf, 1.0f);
+ }
+ }
+}
+
/* using object selection tags, the faces with UV maps get baked */
/* render should have been setup */
/* returns 0 if nothing was handled */
@@ -2705,36 +2678,7 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up
if(!ibuf)
continue;
- if(re->r.bake_filter) {
- if (usemask) {
- /* extend the mask +2 pixels from the image,
- * this is so colors dont blend in from outside */
- char *temprect;
-
- for(a=0; a<re->r.bake_filter; a++)
- bake_mask_filter_extend((char *)ibuf->userdata, ibuf->x, ibuf->y);
-
- temprect = MEM_dupallocN(ibuf->userdata);
-
- /* expand twice to clear this many pixels, so they blend back in */
- bake_mask_filter_extend(temprect, ibuf->x, ibuf->y);
- bake_mask_filter_extend(temprect, ibuf->x, ibuf->y);
-
- /* clear all pixels in the margin*/
- bake_mask_clear(ibuf, temprect, BAKE_MASK_MARGIN);
- MEM_freeN(temprect);
- }
-
- for(a=0; a<re->r.bake_filter; a++) {
- /*the mask, ibuf->userdata - can be null, in this case only zero alpha is used */
- IMB_filter_extend(ibuf, (char *)ibuf->userdata);
- }
-
- if (ibuf->userdata) {
- MEM_freeN(ibuf->userdata);
- ibuf->userdata= NULL;
- }
- }
+ RE_bake_ibuf_filter(ibuf, (char *)ibuf->userdata, re->r.bake_filter);
ibuf->userflags |= IB_BITMAPDIRTY;
if (ibuf->rect_float) IMB_rect_from_float(ibuf);
diff --git a/source/blender/render/intern/source/renderdatabase.c b/source/blender/render/intern/source/renderdatabase.c
index 74c99d1a92f..456162d2d30 100644
--- a/source/blender/render/intern/source/renderdatabase.c
+++ b/source/blender/render/intern/source/renderdatabase.c
@@ -446,7 +446,7 @@ VlakRen *RE_vlakren_copy(ObjectRen *obr, VlakRen *vlr)
return vlr1;
}
-void RE_vlakren_get_normal(Render *re, ObjectInstanceRen *obi, VlakRen *vlr, float *nor)
+void RE_vlakren_get_normal(Render *UNUSED(re), ObjectInstanceRen *obi, VlakRen *vlr, float *nor)
{
float (*nmat)[3]= obi->nmat;
@@ -782,7 +782,7 @@ void free_renderdata_vlaknodes(VlakTableNode *vlaknodes)
MEM_freeN(vlaknodes);
}
-void free_renderdata_strandnodes(StrandTableNode *strandnodes)
+static void free_renderdata_strandnodes(StrandTableNode *strandnodes)
{
int a;
@@ -1238,7 +1238,7 @@ static int panotestclip(Render *re, int do_pano, float *v)
- shadow buffering (shadbuf.c)
*/
-void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4], float *), int do_pano, float xoffs, int do_buckets)
+void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4], float *), int do_pano, float xoffs, int UNUSED(do_buckets))
{
ObjectRen *obr;
HaloRen *har = NULL;
diff --git a/source/blender/render/intern/source/shadeinput.c b/source/blender/render/intern/source/shadeinput.c
index e575776ec79..eab66aaf2ec 100644
--- a/source/blender/render/intern/source/shadeinput.c
+++ b/source/blender/render/intern/source/shadeinput.c
@@ -303,7 +303,7 @@ void shade_input_set_triangle_i(ShadeInput *shi, ObjectInstanceRen *obi, VlakRen
*/
/* copy data from face to ShadeInput, scanline case */
-void shade_input_set_triangle(ShadeInput *shi, volatile int obi, volatile int facenr, int normal_flip)
+void shade_input_set_triangle(ShadeInput *shi, volatile int obi, volatile int facenr, int UNUSED(normal_flip))
{
if(facenr>0) {
shi->obi= &R.objectinstance[obi];
@@ -543,11 +543,6 @@ void shade_input_set_strand_texco(ShadeInput *shi, StrandRen *strand, StrandVert
shi->orn[2]= -shi->vn[2];
}
- if(texco & TEXCO_REFL) {
- /* mirror reflection color textures (and envmap) */
- calc_R_ref(shi); /* wrong location for normal maps! XXXXXXXXXXXXXX */
- }
-
if(texco & TEXCO_STRESS) {
/* not supported */
}
@@ -633,14 +628,14 @@ void shade_input_calc_viewco(ShadeInput *shi, float x, float y, float z, float *
dxco[0]= fx;
dxco[1]= 0.0f;
if(shi->facenor[2]!=0.0f)
- dxco[2]= (shi->facenor[0]*fx)/shi->facenor[2];
+ dxco[2]= -(shi->facenor[0]*fx)/shi->facenor[2];
else
dxco[2]= 0.0f;
dyco[0]= 0.0f;
dyco[1]= fy;
if(shi->facenor[2]!=0.0f)
- dyco[2]= (shi->facenor[1]*fy)/shi->facenor[2];
+ dyco[2]= -(shi->facenor[1]*fy)/shi->facenor[2];
else
dyco[2]= 0.0f;
@@ -776,7 +771,8 @@ void shade_input_set_uv(ShadeInput *shi)
t00= v3[axis1]-v1[axis1]; t01= v3[axis2]-v1[axis2];
t10= v3[axis1]-v2[axis1]; t11= v3[axis2]-v2[axis2];
- detsh= 1.0f/(t00*t11-t10*t01);
+ detsh= (t00*t11-t10*t01);
+ detsh= (detsh != 0.0f)? 1.0f/detsh: 0.0f;
t00*= detsh; t01*=detsh;
t10*=detsh; t11*=detsh;
@@ -1205,11 +1201,6 @@ void shade_input_set_shade_texco(ShadeInput *shi)
shi->orn[2]= -shi->vn[2];
}
- if(texco & TEXCO_REFL) {
- /* mirror reflection color textures (and envmap) */
- calc_R_ref(shi); /* wrong location for normal maps! XXXXXXXXXXXXXX */
- }
-
if(texco & TEXCO_STRESS) {
float *s1, *s2, *s3;
@@ -1282,8 +1273,9 @@ void shade_input_set_shade_texco(ShadeInput *shi)
s11= ho3[1]/ho3[3] - ho2[1]/ho2[3];
detsh= s00*s11-s10*s01;
- s00/= detsh; s01/=detsh;
- s10/=detsh; s11/=detsh;
+ detsh= (detsh != 0.0f)? 1.0f/detsh: 0.0f;
+ s00*= detsh; s01*=detsh;
+ s10*=detsh; s11*=detsh;
/* recalc u and v again */
hox= x/Zmulx -1.0f;
@@ -1465,7 +1457,7 @@ int shade_samples(ShadeSample *ssamp, PixStr *ps, int x, int y)
shade_samples_do_AO(ssamp);
/* if shade (all shadepinputs have same passflag) */
- if(ssamp->shi[0].passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB)) {
+ if(ssamp->shi[0].passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB|SCE_PASS_INDEXMA)) {
for(samp=0; samp<ssamp->tot; samp++, shi++, shr++) {
shade_input_set_shade_texco(shi);
diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c
index 5a5de938e43..7f921d21041 100644
--- a/source/blender/render/intern/source/shadeoutput.c
+++ b/source/blender/render/intern/source/shadeoutput.c
@@ -705,7 +705,7 @@ static float WardIso_Spec( float *n, float *l, float *v, float rms, int tangent)
}
/* cartoon render diffuse */
-static float Toon_Diff( float *n, float *l, float *v, float size, float smooth )
+static float Toon_Diff( float *n, float *l, float *UNUSED(v), float size, float smooth )
{
float rslt, ang;
@@ -806,7 +806,7 @@ static float Minnaert_Diff(float nl, float *n, float *v, float darkness)
return i;
}
-static float Fresnel_Diff(float *vn, float *lv, float *view, float fac_i, float fac)
+static float Fresnel_Diff(float *vn, float *lv, float *UNUSED(view), float fac_i, float fac)
{
return fresnel_fac(lv, vn, fac_i, fac);
}
diff --git a/source/blender/render/intern/source/strand.c b/source/blender/render/intern/source/strand.c
index 12e85af7575..72cb35e7827 100644
--- a/source/blender/render/intern/source/strand.c
+++ b/source/blender/render/intern/source/strand.c
@@ -210,7 +210,7 @@ static void interpolate_vec4(float *v1, float *v2, float t, float negt, float *v
v[3]= negt*v1[3] + t*v2[3];
}
-void interpolate_shade_result(ShadeResult *shr1, ShadeResult *shr2, float t, ShadeResult *shr, int addpassflag)
+static void interpolate_shade_result(ShadeResult *shr1, ShadeResult *shr2, float t, ShadeResult *shr, int addpassflag)
{
float negt= 1.0f - t;
@@ -252,7 +252,7 @@ void interpolate_shade_result(ShadeResult *shr1, ShadeResult *shr2, float t, Sha
}
}
-void strand_apply_shaderesult_alpha(ShadeResult *shr, float alpha)
+static void strand_apply_shaderesult_alpha(ShadeResult *shr, float alpha)
{
if(alpha < 1.0f) {
shr->combined[0] *= alpha;
@@ -594,7 +594,7 @@ static void do_strand_fillac(void *handle, int x, int y, float u, float v, float
}
/* width is calculated in hoco space, to ensure strands are visible */
-static int strand_test_clip(float winmat[][4], ZSpan *zspan, float *bounds, float *co, float *zcomp, float widthx, float widthy)
+static int strand_test_clip(float winmat[][4], ZSpan *UNUSED(zspan), float *bounds, float *co, float *zcomp, float widthx, float widthy)
{
float hoco[4];
int clipflag= 0;
@@ -615,7 +615,7 @@ static int strand_test_clip(float winmat[][4], ZSpan *zspan, float *bounds, floa
return clipflag;
}
-static void do_scanconvert_strand(Render *re, StrandPart *spart, ZSpan *zspan, float t, float dt, float *co1, float *co2, float *co3, float *co4, int sample)
+static void do_scanconvert_strand(Render *UNUSED(re), StrandPart *spart, ZSpan *zspan, float t, float dt, float *co1, float *co2, float *co3, float *co4, int sample)
{
float jco1[3], jco2[3], jco3[3], jco4[3], jx, jy;
@@ -778,7 +778,7 @@ void render_strand_segment(Render *re, float winmat[][4], StrandPart *spart, ZSp
}
/* render call to fill in strands */
-int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int sample, float (*jit)[2], float clipcrop, int shadow, StrandShadeCache *cache)
+int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBase *apsmbase, unsigned int lay, int UNUSED(negzmask), float winmat[][4], int winx, int winy, int UNUSED(sample), float (*jit)[2], float clipcrop, int shadow, StrandShadeCache *cache)
{
ObjectRen *obr;
ObjectInstanceRen *obi;
diff --git a/source/blender/render/intern/source/sunsky.c b/source/blender/render/intern/source/sunsky.c
index 919c06d81f7..5877fa42292 100644
--- a/source/blender/render/intern/source/sunsky.c
+++ b/source/blender/render/intern/source/sunsky.c
@@ -113,7 +113,7 @@ static void DirectionToThetaPhi(float *toSun, float *theta, float *phi)
* PerezFunction:
* compute perez function value based on input paramters
* */
-float PerezFunction(struct SunSky *sunsky, const float *lam, float theta, float gamma, float lvz)
+static float PerezFunction(struct SunSky *sunsky, const float *lam, float theta, float gamma, float lvz)
{
float den, num;
@@ -313,7 +313,7 @@ void GetSkyXYZRadiancef(struct SunSky* sunsky, const float varg[3], float color_
* turbidity: is atmosphere turbidity
* fTau: contains computed attenuated sun light
* */
-void ComputeAttenuatedSunlight(float theta, int turbidity, float fTau[3])
+static void ComputeAttenuatedSunlight(float theta, int turbidity, float fTau[3])
{
float fBeta ;
float fTauR, fTauA;
@@ -460,7 +460,7 @@ void AtmospherePixleShader( struct SunSky* sunSky, float view[3], float s, float
vec3opv(sunSky->atm_BetaRM, sunSky->atm_BetaRay, +, sunSky->atm_BetaMie);
//e^(-(beta_1 + beta_2) * s) = E1
- vec3opf(E1, sunSky->atm_BetaRM, *, -s/log(2));
+ vec3opf(E1, sunSky->atm_BetaRM, *, -s/M_LN2);
E1[0] = exp(E1[0]);
E1[1] = exp(E1[1]);
E1[2] = exp(E1[2]);
diff --git a/source/blender/render/intern/source/volume_precache.c b/source/blender/render/intern/source/volume_precache.c
index fc3280db771..faa915b7f6c 100644
--- a/source/blender/render/intern/source/volume_precache.c
+++ b/source/blender/render/intern/source/volume_precache.c
@@ -74,7 +74,7 @@ extern struct Render R;
/* Recursive test for intersections, from a point inside the mesh, to outside
* Number of intersections (depth) determine if a point is inside or outside the mesh */
-int intersect_outside_volume(RayObject *tree, Isect *isect, float *offset, int limit, int depth)
+static int intersect_outside_volume(RayObject *tree, Isect *isect, float *offset, int limit, int depth)
{
if (limit == 0) return depth;
@@ -96,7 +96,7 @@ int intersect_outside_volume(RayObject *tree, Isect *isect, float *offset, int l
}
/* Uses ray tracing to check if a point is inside or outside an ObjectInstanceRen */
-int point_inside_obi(RayObject *tree, ObjectInstanceRen *UNUSED(obi), float *co)
+static int point_inside_obi(RayObject *tree, ObjectInstanceRen *UNUSED(obi), float *co)
{
Isect isect= {{0}};
float dir[3] = {0.0f,0.0f,1.0f};
@@ -350,7 +350,7 @@ static void ms_diffuse(float *x0, float *x, float diff, int *n) //n is the unpad
}
}
-void multiple_scattering_diffusion(Render *re, VolumePrecache *vp, Material *ma)
+static void multiple_scattering_diffusion(Render *re, VolumePrecache *vp, Material *ma)
{
const float diff = ma->vol.ms_diff * 0.001f; /* compensate for scaling for a nicer UI range */
const int simframes = (int)(ma->vol.ms_spread * (float)MAX3(vp->res[0], vp->res[1], vp->res[2]));
@@ -523,7 +523,6 @@ static void *vol_precache_part(void *data)
continue;
}
- /* this view coordinate is very wrong! */
copy_v3_v3(shi->view, cco);
normalize_v3(shi->view);
vol_get_scattering(shi, scatter_col, cco);
@@ -538,7 +537,7 @@ static void *vol_precache_part(void *data)
pa->done = 1;
- return 0;
+ return NULL;
}
@@ -676,7 +675,7 @@ static int precache_resolution(Render *re, VolumePrecache *vp, ObjectInstanceRen
* in camera space, aligned with the ObjectRen's bounding box.
* Resolution is defined by the user.
*/
-void vol_precache_objectinstance_threads(Render *re, ObjectInstanceRen *obi, Material *ma)
+static void vol_precache_objectinstance_threads(Render *re, ObjectInstanceRen *obi, Material *ma)
{
VolumePrecache *vp;
VolPrecachePart *nextpa, *pa;
@@ -709,9 +708,8 @@ void vol_precache_objectinstance_threads(Render *re, ObjectInstanceRen *obi, Mat
vp->data_r = MEM_callocN(sizeof(float)*vp->res[0]*vp->res[1]*vp->res[2], "volume light cache data red channel");
vp->data_g = MEM_callocN(sizeof(float)*vp->res[0]*vp->res[1]*vp->res[2], "volume light cache data green channel");
vp->data_b = MEM_callocN(sizeof(float)*vp->res[0]*vp->res[1]*vp->res[2], "volume light cache data blue channel");
- if (vp->data_r==0 || vp->data_g==0 || vp->data_b==0) {
+ if (vp->data_r==NULL || vp->data_g==NULL || vp->data_b==NULL) {
MEM_freeN(vp);
- vp = NULL;
return;
}
diff --git a/source/blender/render/intern/source/volumetric.c b/source/blender/render/intern/source/volumetric.c
index dde9dbb8485..359002d05ae 100644
--- a/source/blender/render/intern/source/volumetric.c
+++ b/source/blender/render/intern/source/volumetric.c
@@ -305,7 +305,7 @@ float vol_get_density(struct ShadeInput *shi, float *co)
/* Color of light that gets scattered out by the volume */
/* Uses same physically based scattering parameter as in transmission calculations,
* along with artificial reflection scale/reflection color tint */
-void vol_get_reflection_color(ShadeInput *shi, float *ref_col, float *co)
+static void vol_get_reflection_color(ShadeInput *shi, float *ref_col, float *co)
{
float scatter = shi->mat->vol.scattering;
float reflection= shi->mat->vol.reflection;
@@ -325,7 +325,7 @@ void vol_get_reflection_color(ShadeInput *shi, float *ref_col, float *co)
/* compute emission component, amount of radiance to add per segment
* can be textured with 'emit' */
-void vol_get_emission(ShadeInput *shi, float *emission_col, float *co)
+static void vol_get_emission(ShadeInput *shi, float *emission_col, float *co)
{
float emission = shi->mat->vol.emission;
VECCOPY(emission_col, shi->mat->vol.emission_col);
@@ -343,7 +343,7 @@ void vol_get_emission(ShadeInput *shi, float *emission_col, float *co)
* This can possibly use a specific scattering color,
* and absorption multiplier factor too, but these parameters are left out for simplicity.
* It's easy enough to get a good wide range of results with just these two parameters. */
-void vol_get_sigma_t(ShadeInput *shi, float *sigma_t, float *co)
+static void vol_get_sigma_t(ShadeInput *shi, float *sigma_t, float *co)
{
/* technically absorption, but named transmission color
* since it describes the effect of the coloring *after* absorption */
@@ -361,7 +361,7 @@ void vol_get_sigma_t(ShadeInput *shi, float *sigma_t, float *co)
/* phase function - determines in which directions the light
* is scattered in the volume relative to incoming direction
* and view direction */
-float vol_get_phasefunc(ShadeInput *UNUSED(shi), float g, float *w, float *wp)
+static float vol_get_phasefunc(ShadeInput *UNUSED(shi), float g, float *w, float *wp)
{
const float normalize = 0.25f; // = 1.f/4.f = M_PI/(4.f*M_PI)
@@ -408,7 +408,7 @@ float vol_get_phasefunc(ShadeInput *UNUSED(shi), float g, float *w, float *wp)
}
/* Compute transmittance = e^(-attenuation) */
-void vol_get_transmittance_seg(ShadeInput *shi, float *tr, float stepsize, float *co, float density)
+static void vol_get_transmittance_seg(ShadeInput *shi, float *tr, float stepsize, float *co, float density)
{
/* input density = density at co */
float tau[3] = {0.f, 0.f, 0.f};
@@ -464,7 +464,7 @@ static void vol_get_transmittance(ShadeInput *shi, float *tr, float *co, float *
tr[2] = expf(-tau[2]);
}
-void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar, float *lacol)
+static void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar, float *lacol)
{
float visifac, lv[3], lampdist;
float tr[3]={1.0,1.0,1.0};
@@ -534,6 +534,7 @@ void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar, float *
if (luminance(lacol) < 0.001f) return;
+ normalize_v3(lv);
p = vol_get_phasefunc(shi, shi->mat->vol.asymmetry, shi->view, lv);
/* physically based scattering with non-physically based RGB gain */
@@ -605,7 +606,7 @@ static void volumeintegrate(struct ShadeInput *shi, float *col, float *co, float
for (; t0 < t1; pt0 = t0, t0 += stepsize) {
const float density = vol_get_density(shi, p);
- if (density > 0.01f) {
+ if (density > 0.00001f) {
float scatter_col[3] = {0.f, 0.f, 0.f}, emit_col[3];
const float stepd = (t0 - pt0) * density;
diff --git a/source/blender/render/intern/source/voxeldata.c b/source/blender/render/intern/source/voxeldata.c
index b8cb5c21337..232f7fdeede 100644
--- a/source/blender/render/intern/source/voxeldata.c
+++ b/source/blender/render/intern/source/voxeldata.c
@@ -220,6 +220,7 @@ static int read_voxeldata_header(FILE *fp, struct VoxelData *vd)
static void init_frame_smoke(VoxelData *vd, float cfra)
{
+#ifdef WITH_SMOKE
Object *ob;
ModifierData *md;
@@ -300,7 +301,13 @@ static void init_frame_smoke(VoxelData *vd, float cfra)
}
vd->ok = 1;
- return;
+
+#else // WITH_SMOKE
+ (void)vd;
+ (void)cfra;
+
+ vd->dataset= NULL;
+#endif
}
static void cache_voxeldata(struct Render *re, Tex *tex)
diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c
index 174b1378f67..13d9ead79e8 100644
--- a/source/blender/render/intern/source/zbuf.c
+++ b/source/blender/render/intern/source/zbuf.c
@@ -715,7 +715,7 @@ static void zbufline(ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2)
}
}
-static void zbufline_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2)
+static void zbufline_onlyZ(ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *vec1, float *vec2)
{
int *rectz, *rectz1= NULL;
int start, end, x, y, oldx, oldy, ofs;
@@ -1287,7 +1287,7 @@ static void zbuffillGL4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2,
*/
/* now: filling two Z values, the closest and 2nd closest */
-static void zbuffillGL_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, float *v3, float *v4)
+static void zbuffillGL_onlyZ(ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *v1, float *v2, float *v3, float *v4)
{
double zxd, zyd, zy0, zverg;
float x0,y0,z0;
@@ -3236,7 +3236,7 @@ static void copyto_abufz(RenderPart *pa, int *arectz, int *rectmask, int sample)
* Do accumulation z buffering.
*/
-static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int samples, float (*jit)[2], float clipcrop, int shadow)
+static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int samples, float (*jit)[2], float UNUSED(clipcrop), int shadow)
{
ZbufProjectCache cache[ZBUF_PROJECT_CACHE_SIZE];
ZSpan zspans[16], *zspan; /* MAX_OSA */
@@ -3497,7 +3497,7 @@ static void add_transp_obindex(RenderLayer *rl, int offset, Object *ob)
RenderPass *rpass;
for(rpass= rl->passes.first; rpass; rpass= rpass->next) {
- if(rpass->passtype == SCE_PASS_INDEXOB) {
+ if(rpass->passtype == SCE_PASS_INDEXOB||rpass->passtype == SCE_PASS_INDEXMA) {
float *fp= rpass->rect + offset;
*fp= (float)ob->index;
break;
@@ -3692,7 +3692,7 @@ static int vergzvlak(const void *a1, const void *a2)
return 0;
}
-static void shade_strand_samples(StrandShadeCache *cache, ShadeSample *ssamp, int x, int y, ZTranspRow *row, int addpassflag)
+static void shade_strand_samples(StrandShadeCache *cache, ShadeSample *ssamp, int UNUSED(x), int UNUSED(y), ZTranspRow *row, int addpassflag)
{
StrandSegment sseg;
StrandVert *svert;
@@ -3820,7 +3820,7 @@ static int shade_tra_samples(ShadeSample *ssamp, StrandShadeCache *cache, int x,
shade_samples_do_AO(ssamp);
/* if shade (all shadepinputs have same passflag) */
- if(shi->passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB)) {
+ if(shi->passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB|SCE_PASS_INDEXMA)) {
for(samp=0; samp<ssamp->tot; samp++, shi++, shr++) {
shade_input_set_shade_texco(shi);
shade_input_do_shade(shi, shr);
@@ -3941,7 +3941,7 @@ static void reset_sky_speedvectors(RenderPart *pa, RenderLayer *rl, float *rectf
/* main render call to do the z-transparent layer */
/* returns a mask, only if a) transp rendered and b) solid was rendered */
-unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pass, ListBase *psmlist)
+unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pass, ListBase *UNUSED(psmlist))
{
RenderResult *rr= pa->result;
ShadeSample ssamp;
@@ -4115,7 +4115,14 @@ unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pas
add_transp_obindex(rlpp[a], od, obr->ob);
}
}
-
+ if(addpassflag & SCE_PASS_INDEXMA) {
+ ObjectRen *obr= R.objectinstance[zrow[totface-1].obi].obr;
+ if(obr->ob) {
+ for(a= 0; a<totfullsample; a++)
+ add_transp_obindex(rlpp[a], od, obr->ob);
+ }
+ }
+
/* for each mask-sample we alpha-under colors. then in end it's added using filter */
memset(samp_shr, 0, sizeof(ShadeResult)*osa);
for(a=0; a<osa; a++) {
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index 6f03928e1fc..20ac3ba7077 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -26,23 +26,26 @@
set(INC
.
- ../nodes
- ../gpu
../blenfont
- ../blenlib
- ../makesdna
- ../makesrna
../blenkernel
- ../imbuf
+ ../blenlib
../blenloader
../editors/include
+ ../gpu
+ ../imbuf
+ ../makesdna
+ ../makesrna
+ ../nodes
../render/extern/include
- ../../../intern/guardedalloc
- ../../../intern/memutil
+ ../../gameengine/BlenderRoutines
../../../intern/elbeem/extern
../../../intern/ghost
+ ../../../intern/guardedalloc
+ ../../../intern/memutil
../../../intern/opennl/extern
- ../../../source/gameengine/BlenderRoutines
+)
+
+set(INC_SYS
${ZLIB_INCLUDE_DIRS}
${OPENGL_INCLUDE_DIR}
${GLEW_INCLUDE_PATH}
@@ -50,7 +53,6 @@ set(INC
set(SRC
intern/wm.c
- intern/wm_apple.c
intern/wm_cursors.c
intern/wm_dragdrop.c
intern/wm_draw.c
@@ -87,17 +89,26 @@ if(WITH_OPENCOLLADA)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC ${FFMPEG_INC})
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_PYTHON)
- list(APPEND INC ../python ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
@@ -109,12 +120,16 @@ if(WITH_GAMEENGINE)
add_definitions(-DWITH_GAMEENGINE)
endif()
-if(WITH_COCOA)
- list(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/wm_apple.c")
+if(APPLE)
+ if(NOT WITH_COCOA)
+ list(APPEND SRC
+ intern/wm_apple.c
+ )
+ endif()
endif()
if(WITH_BUILDINFO)
add_definitions(-DNAN_BUILDINFO)
endif()
-blender_add_lib_nolist(bf_windowmanager "${SRC}" "${INC}")
+blender_add_lib_nolist(bf_windowmanager "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/windowmanager/SConscript b/source/blender/windowmanager/SConscript
index f52ac8ba3cb..5b6e8b1ab30 100644
--- a/source/blender/windowmanager/SConscript
+++ b/source/blender/windowmanager/SConscript
@@ -1,5 +1,6 @@
#!/usr/bin/python
Import ('env')
+import os
sources = env.Glob('intern/*.c')
@@ -32,8 +33,8 @@ if env['OURPLATFORM'] == 'linux2':
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
incs += ' ' + env['BF_PTHREADS_INC']
-if env['WITH_GHOST_COCOA']:
- sources.remove('intern/wm_apple.c')
+if env['OURPLATFORM'] != 'darwin' or env['WITH_GHOST_COCOA']:
+ sources.remove('intern' + os.sep + 'wm_apple.c')
if env['BF_BUILDINFO']:
defs.append('NAN_BUILDINFO')
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 1b4fff8cd13..e6325e2101a 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -95,7 +95,7 @@ void WM_window_open_temp (struct bContext *C, struct rcti *position, int type);
int WM_read_homefile_exec(struct bContext *C, struct wmOperator *op);
int WM_read_homefile (struct bContext *C, struct ReportList *reports, short from_memory);
int WM_write_homefile (struct bContext *C, struct wmOperator *op);
-void WM_read_file (struct bContext *C, const char *name, struct ReportList *reports);
+void WM_read_file (struct bContext *C, const char *filepath, struct ReportList *reports);
int WM_write_file (struct bContext *C, const char *target, int fileflags, struct ReportList *reports, int copy);
void WM_read_autosavefile(struct bContext *C);
void WM_autosave_init (struct wmWindowManager *wm);
@@ -216,7 +216,7 @@ int WM_operator_confirm_message(struct bContext *C, struct wmOperator *op, con
/* operator api */
void WM_operator_free (struct wmOperator *op);
-void WM_operator_stack_clear(struct bContext *C);
+void WM_operator_stack_clear(struct wmWindowManager *wm);
struct wmOperatorType *WM_operatortype_find(const char *idnamem, int quiet);
struct wmOperatorType *WM_operatortype_first(void);
@@ -247,6 +247,8 @@ void WM_operator_properties_gesture_border(struct wmOperatorType *ot, int exten
void WM_operator_properties_gesture_straightline(struct wmOperatorType *ot, int cursor);
void WM_operator_properties_select_all(struct wmOperatorType *ot);
+wmOperator *WM_operator_last_redo(const struct bContext *C);
+
/* MOVE THIS SOMEWHERE ELSE */
#define SEL_TOGGLE 0
#define SEL_SELECT 1
@@ -270,20 +272,26 @@ void WM_operator_py_idname(char *to, const char *from);
/* *************** menu types ******************** */
struct MenuType *WM_menutype_find(const char *idname, int quiet);
int WM_menutype_add(struct MenuType* mt);
+int WM_menutype_contains(struct MenuType* mt);
void WM_menutype_freelink(struct MenuType* mt);
void WM_menutype_free(void);
/* default operator callbacks for border/circle/lasso */
int WM_border_select_invoke (struct bContext *C, struct wmOperator *op, struct wmEvent *event);
int WM_border_select_modal (struct bContext *C, struct wmOperator *op, struct wmEvent *event);
+int WM_border_select_cancel(struct bContext *C, struct wmOperator *op);
int WM_gesture_circle_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
int WM_gesture_circle_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
+int WM_gesture_circle_cancel(struct bContext *C, struct wmOperator *op);
int WM_gesture_lines_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
int WM_gesture_lines_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
+int WM_gesture_lines_cancel(struct bContext *C, struct wmOperator *op);
int WM_gesture_lasso_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
int WM_gesture_lasso_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
+int WM_gesture_lasso_cancel(struct bContext *C, struct wmOperator *op);
int WM_gesture_straightline_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
int WM_gesture_straightline_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
+int WM_gesture_straightline_cancel(struct bContext *C, struct wmOperator *op);
/* default operator for arearegions, generates event */
void WM_OT_tweak_gesture(struct wmOperatorType *ot);
@@ -293,12 +301,6 @@ struct wmGesture *WM_gesture_new(struct bContext *C, struct wmEvent *event, int
void WM_gesture_end(struct bContext *C, struct wmGesture *gesture);
void WM_gestures_remove(struct bContext *C);
- /* radial control operator */
-int WM_radial_control_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
-int WM_radial_control_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
-void WM_OT_radial_control_partial(struct wmOperatorType *ot);
-void WM_radial_control_string(struct wmOperator *op, char str[], int maxlen);
-
/* fileselecting support */
void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op);
void WM_event_fileselect_event(struct bContext *C, void *ophandle, int eventval);
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index 8748703ad8e..49bd3ede37d 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -61,6 +61,10 @@ struct ImBuf;
#define OPTYPE_MACRO 8
#define OPTYPE_GRAB_POINTER 16 /* */
#define OPTYPE_PRESET 32 /* show preset menu */
+#define OPTYPE_INTERNAL 64 /* some operators are mainly for internal use
+ * and don't make sense to be accessed from the
+ * search menu, even if poll() returns TRUE.
+ * currently only used for the search toolbox */
/* context to call operator in for WM_operator_name_call */
/* rna_ui.c contains EnumPropertyItem's of these, keep in sync */
@@ -335,8 +339,8 @@ typedef struct wmEvent {
short type; /* event code itself (short, is also in keymap) */
short val; /* press, release, scrollvalue */
- short x, y; /* mouse pointer position, screen coord */
- short mval[2]; /* region mouse position, name convention pre 2.5 :) */
+ int x, y; /* mouse pointer position, screen coord */
+ int mval[2]; /* region mouse position, name convention pre 2.5 :) */
short unicode; /* future, ghost? */
char ascii; /* from ghost */
char pad;
@@ -344,9 +348,9 @@ typedef struct wmEvent {
/* previous state */
short prevtype;
short prevval;
- short prevx, prevy;
+ int prevx, prevy;
double prevclicktime;
- short prevclickx, prevclicky;
+ int prevclickx, prevclicky;
/* modifier states */
short shift, ctrl, alt, oskey; /* oskey is apple or windowskey, value denotes order of pressed */
@@ -494,7 +498,7 @@ typedef struct wmDrag {
struct ImBuf *imb; /* if no icon but imbuf should be drawn around cursor */
float scale;
- short sx, sy;
+ int sx, sy;
char opname[240]; /* FILE_MAX */ /* if set, draws operator name*/
} wmDrag;
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index 424c13f089f..a535c0bc1f8 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -137,9 +137,8 @@ void wm_operator_register(bContext *C, wmOperator *op)
}
-void WM_operator_stack_clear(bContext *C)
+void WM_operator_stack_clear(wmWindowManager *wm)
{
- wmWindowManager *wm= CTX_wm_manager(C);
wmOperator *op;
while((op= wm->operators.first)) {
@@ -147,7 +146,7 @@ void WM_operator_stack_clear(bContext *C)
WM_operator_free(op);
}
- WM_event_add_notifier(C, NC_WM|ND_HISTORY, NULL);
+ WM_main_add_notifier(NC_WM|ND_HISTORY, NULL);
}
/* ****************************************** */
@@ -176,6 +175,12 @@ int WM_menutype_add(MenuType* mt)
return 1;
}
+/* inefficient but only used for tooltip code */
+int WM_menutype_contains(MenuType* mt)
+{
+ return (mt != NULL && BLI_findindex(&menutypes, mt) != -1);
+}
+
void WM_menutype_freelink(MenuType* mt)
{
BLI_freelinkN(&menutypes, mt);
diff --git a/source/blender/windowmanager/intern/wm_apple.c b/source/blender/windowmanager/intern/wm_apple.c
index 083500420a4..7748efb6f64 100644
--- a/source/blender/windowmanager/intern/wm_apple.c
+++ b/source/blender/windowmanager/intern/wm_apple.c
@@ -30,8 +30,7 @@
* \ingroup wm
*/
-
-#ifdef __APPLE__
+/* note, this file builds on apple-carbon only! */
#include "BKE_context.h"
#include "BKE_global.h"
@@ -137,8 +136,3 @@ void wm_set_apple_prefsize(int scr_x, int scr_y)
G.windowstate= 0;
}
}
-
-
-#endif /* __APPLE__ */
-
-
diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c
index c94ad74be72..4fe82917705 100644
--- a/source/blender/windowmanager/intern/wm_draw.c
+++ b/source/blender/windowmanager/intern/wm_draw.c
@@ -816,11 +816,3 @@ void wm_draw_region_clear(wmWindow *win, ARegion *ar)
win->screen->do_draw= 1;
}
-static void wm_draw_region_modified(wmWindow *win, ARegion *ar)
-{
- int drawmethod= wm_automatic_draw_method(win);
-
- if(ELEM(drawmethod, USER_DRAW_OVERLAP, USER_DRAW_OVERLAP_FLIP))
- ED_region_tag_redraw(ar);
-}
-
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index feff0393b88..ce3830b059c 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -340,7 +340,7 @@ static int wm_handler_ui_call(bContext *C, wmEventHandler *handler, wmEvent *eve
int is_wheel= ELEM(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE);
int retval;
- /* UI is quite agressive with swallowing events, like scrollwheel */
+ /* UI is quite aggressive with swallowing events, like scrollwheel */
/* I realize this is not extremely nice code... when UI gets keymaps it can be maybe smarter */
if(do_wheel_ui==0) {
if(is_wheel)
@@ -661,6 +661,11 @@ static void wm_region_mouse_co(bContext *C, wmEvent *event)
event->mval[0]= event->x - ar->winrct.xmin;
event->mval[1]= event->y - ar->winrct.ymin;
}
+ else {
+ /* these values are invalid (avoid odd behavior by relying on old mval values) */
+ event->mval[0]= -1;
+ event->mval[1]= -1;
+ }
}
static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, PointerRNA *properties, ReportList *reports, short poll_only)
@@ -1284,16 +1289,23 @@ static int wm_handler_fileselect_call(bContext *C, ListBase *handlers, wmEventHa
if (handler->op_area == NULL) {
bScreen *screen = CTX_wm_screen(C);
sa = (ScrArea *)screen->areabase.first;
- } else
+ }
+ else {
sa = handler->op_area;
+ }
- if(event->val==EVT_FILESELECT_OPEN)
- ED_area_newspace(C, sa, SPACE_FILE);
- else
- ED_screen_full_newspace(C, sa, SPACE_FILE); /* sets context */
-
+ if(event->val==EVT_FILESELECT_OPEN) {
+ ED_area_newspace(C, sa, SPACE_FILE); /* 'sa' is modified in-place */
+ }
+ else {
+ sa= ED_screen_full_newspace(C, sa, SPACE_FILE); /* sets context */
+ }
+
+ /* note, getting the 'sa' back from the context causes a nasty bug where the newly created
+ * 'sa' != CTX_wm_area(C). removed the line below and set 'sa' in the 'if' above */
+ /* sa = CTX_wm_area(C); */
+
/* settings for filebrowser, sfile is not operator owner but sends events */
- sa = CTX_wm_area(C);
sfile= (SpaceFile*)sa->spacedata.first;
sfile->op= handler->op;
@@ -1565,7 +1577,7 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers)
* so check for mouse moves too.
* note2: the first click event will be handled but still used to create a
* double click event if clicking again quickly.
- * If no double click events are found itwill fallback to a single click.
+ * If no double click events are found it will fallback to a single click.
* So a double click event can result in 2 successive single click calls
* if its not handled by the keymap - campbell */
if ( (ABS(event->x - win->eventstate->prevclickx)) <= 2 &&
@@ -1776,6 +1788,8 @@ void wm_event_do_handlers(bContext *C)
/* MVC demands to not draw in event handlers... but we need to leave it for ogl selecting etc */
wm_window_make_drawable(C, win);
+ wm_region_mouse_co(C, event);
+
/* first we do priority handlers, modal + some limited keymaps */
action |= wm_handlers_do(C, event, &win->modalhandlers);
@@ -1811,10 +1825,12 @@ void wm_event_do_handlers(bContext *C)
if(wm_event_inside_i(event, &ar->winrct)) {
CTX_wm_region_set(C, ar);
+ /* call even on non mouse events, since the */
+ wm_region_mouse_co(C, event);
+
/* does polls for drop regions and checks uibuts */
/* need to be here to make sure region context is true */
if(ELEM(event->type, MOUSEMOVE, EVT_DROP)) {
- wm_region_mouse_co(C, event);
wm_drags_check_ops(C, event);
}
@@ -1834,9 +1850,10 @@ void wm_event_do_handlers(bContext *C)
CTX_wm_region_set(C, NULL);
- if((action & WM_HANDLER_BREAK) == 0)
+ if((action & WM_HANDLER_BREAK) == 0) {
+ wm_region_mouse_co(C, event); /* only invalidates event->mval in this case */
action |= wm_handlers_do(C, event, &sa->handlers);
-
+ }
CTX_wm_area_set(C, NULL);
/* NOTE: do not escape on WM_HANDLER_BREAK, mousemove needs handled for previous area */
@@ -1848,6 +1865,8 @@ void wm_event_do_handlers(bContext *C)
CTX_wm_area_set(C, area_event_inside(C, event->x, event->y));
CTX_wm_region_set(C, region_event_inside(C, event->x, event->y));
+ wm_region_mouse_co(C, event);
+
action |= wm_handlers_do(C, event, &win->handlers);
/* fileread case */
@@ -2293,7 +2312,7 @@ static void update_tablet_data(wmWindow *win, wmEvent *event)
/* imperfect but probably usable... draw/enable drags to other windows */
static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *win, wmEvent *evt)
{
- short mx= evt->x, my= evt->y;
+ int mx= evt->x, my= evt->y;
if(wm->windows.first== wm->windows.last)
return NULL;
@@ -2310,8 +2329,8 @@ static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *wi
return NULL;
/* to desktop space */
- mx+= win->posx;
- my+= win->posy;
+ mx += (int)win->posx;
+ my += (int)win->posy;
/* check other windows to see if it has mouse inside */
for(owin= wm->windows.first; owin; owin= owin->next) {
@@ -2319,8 +2338,8 @@ static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *wi
if(owin!=win) {
if(mx-owin->posx >= 0 && my-owin->posy >= 0 &&
mx-owin->posx <= owin->sizex && my-owin->posy <= owin->sizey) {
- evt->x= mx-owin->posx;
- evt->y= my-owin->posy;
+ evt->x= mx - (int)owin->posx;
+ evt->y= my - (int)owin->posy;
return owin;
}
@@ -2346,18 +2365,11 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
if(win->active) {
GHOST_TEventCursorData *cd= customdata;
wmEvent *lastevent= win->queue.last;
-
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom, and returns inwindow coordinates on mouse moved event
- evt->x= cd->x;
- evt->y= cd->y;
-#else
int cx, cy;
GHOST_ScreenToClient(win->ghostwin, cd->x, cd->y, &cx, &cy);
evt->x= cx;
evt->y= (win->sizey-1) - cy;
-#endif
event.x= evt->x;
event.y= evt->y;
@@ -2404,21 +2416,17 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
event.type= MOUSEPAN;
break;
}
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom, and returns inwindow coordinates on mouse moved event
- event.x= evt->x = pd->x;
- event.y = evt->y = pd->y;
-#else
+
{
- int cx, cy;
- GHOST_ScreenToClient(win->ghostwin, pd->x, pd->y, &cx, &cy);
- event.x= evt->x= cx;
- event.y= evt->y= (win->sizey-1) - cy;
+ int cx, cy;
+ GHOST_ScreenToClient(win->ghostwin, pd->x, pd->y, &cx, &cy);
+ event.x= evt->x= cx;
+ event.y= evt->y= (win->sizey-1) - cy;
}
-#endif
+
// Use prevx/prevy so we can calculate the delta later
event.prevx= event.x - pd->deltaX;
- event.prevy= event.y - pd->deltaY;
+ event.prevy= event.y - (-pd->deltaY);
update_tablet_data(win, &event);
wm_event_add(win, &event);
@@ -2441,6 +2449,16 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
else
event.type= MIDDLEMOUSE;
+ if(win->active==0) {
+ int cx, cy;
+
+ /* entering window, update mouse pos. (ghost sends win-activate *after* the mouseclick in window!) */
+ wm_get_cursor_position(win, &cx, &cy);
+
+ event.x= evt->x= cx;
+ event.y= evt->y= cy;
+ }
+
/* add to other window if event is there (not to both!) */
owin= wm_event_cursor_other_windows(wm, win, &event);
if(owin) {
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 2783504ae90..27fc0caeccc 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -57,6 +57,7 @@
#include "BLI_blenlib.h"
#include "BLI_linklist.h"
#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
#include "DNA_anim_types.h"
#include "DNA_ipo_types.h" // XXX old animation system
@@ -333,7 +334,7 @@ static int wm_read_exotic(Scene *UNUSED(scene), const char *name)
return retval;
}
-void WM_read_file(bContext *C, const char *name, ReportList *reports)
+void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
{
int retval;
@@ -342,10 +343,12 @@ void WM_read_file(bContext *C, const char *name, ReportList *reports)
WM_cursor_wait(1);
+ BLI_exec_cb(CTX_data_main(C), NULL, BLI_CB_EVT_LOAD_PRE);
+
/* first try to append data from exotic file formats... */
/* it throws error box when file doesnt exist and returns -1 */
/* note; it should set some error message somewhere... (ton) */
- retval= wm_read_exotic(CTX_data_scene(C), name);
+ retval= wm_read_exotic(CTX_data_scene(C), filepath);
/* we didn't succeed, now try to read Blender file */
if (retval == BKE_READ_EXOTIC_OK_BLEND) {
@@ -356,7 +359,7 @@ void WM_read_file(bContext *C, const char *name, ReportList *reports)
/* also exit screens and editors */
wm_window_match_init(C, &wmbase);
- retval= BKE_read_file(C, name, reports);
+ retval= BKE_read_file(C, filepath, reports);
G.save_over = 1;
/* this flag is initialized by the operator but overwritten on read.
@@ -392,6 +395,7 @@ void WM_read_file(bContext *C, const char *name, ReportList *reports)
#ifdef WITH_PYTHON
/* run any texts that were loaded in and flagged as modules */
BPY_driver_reset();
+ BPY_app_handlers_reset();
BPY_modules_load_user(C);
#endif
CTX_wm_window_set(C, NULL); /* exits queues */
@@ -411,21 +415,22 @@ void WM_read_file(bContext *C, const char *name, ReportList *reports)
// XXX undo_editmode_clear();
BKE_reset_undo();
BKE_write_undo(C, "original"); /* save current state */
-
+
+ BLI_exec_cb(CTX_data_main(C), NULL, BLI_CB_EVT_LOAD_POST);
}
else if(retval == BKE_READ_EXOTIC_OK_OTHER)
BKE_write_undo(C, "Import file");
else if(retval == BKE_READ_EXOTIC_FAIL_OPEN) {
- BKE_reportf(reports, RPT_ERROR, "Can't read file: \"%s\", %s.", name, errno ? strerror(errno) : "Unable to open the file");
+ BKE_reportf(reports, RPT_ERROR, "Can't read file: \"%s\", %s.", filepath, errno ? strerror(errno) : "Unable to open the file");
}
else if(retval == BKE_READ_EXOTIC_FAIL_FORMAT) {
- BKE_reportf(reports, RPT_ERROR, "File format is not supported in file: \"%s\".", name);
+ BKE_reportf(reports, RPT_ERROR, "File format is not supported in file: \"%s\".", filepath);
}
else if(retval == BKE_READ_EXOTIC_FAIL_PATH) {
- BKE_reportf(reports, RPT_ERROR, "File path invalid: \"%s\".", name);
+ BKE_reportf(reports, RPT_ERROR, "File path invalid: \"%s\".", filepath);
}
else {
- BKE_reportf(reports, RPT_ERROR, "Unknown error loading: \"%s\".", name);
+ BKE_reportf(reports, RPT_ERROR, "Unknown error loading: \"%s\".", filepath);
BLI_assert(!"invalid 'retval'");
}
@@ -485,15 +490,16 @@ int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
/* prevent buggy files that had G_FILE_RELATIVE_REMAP written out by mistake. Screws up autosaves otherwise
* can remove this eventually, only in a 2.53 and older, now its not written */
G.fileflags &= ~G_FILE_RELATIVE_REMAP;
-
+
+ /* check userdef before open window, keymaps etc */
+ wm_init_userdef(C);
+
/* match the read WM with current WM */
wm_window_match_do(C, &wmbase);
WM_check(C); /* opens window(s), checks keymaps */
G.main->name[0]= '\0';
- wm_init_userdef(C);
-
/* When loading factory settings, the reset solid OpenGL lights need to be applied. */
if (!G.background) GPU_default_lights();
@@ -517,6 +523,7 @@ int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
BPY_string_exec(C, "__import__('addon_utils').reset_all()");
BPY_driver_reset();
+ BPY_app_handlers_reset();
BPY_modules_load_user(C);
}
#endif
@@ -544,7 +551,7 @@ void WM_read_history(void)
struct RecentFile *recent;
char *line;
int num;
- char *cfgdir = BLI_get_folder(BLENDER_CONFIG, NULL);
+ char *cfgdir = BLI_get_folder(BLENDER_USER_CONFIG, NULL);
if (!cfgdir) return;
@@ -620,31 +627,6 @@ static void write_history(void)
}
}
-static void do_history(char *name, ReportList *reports)
-{
- char tempname1[FILE_MAXDIR+FILE_MAXFILE], tempname2[FILE_MAXDIR+FILE_MAXFILE];
- int hisnr= U.versions;
-
- if(U.versions==0) return;
- if(strlen(name)<2) return;
-
- while(hisnr > 1) {
- BLI_snprintf(tempname1, sizeof(tempname1), "%s%d", name, hisnr-1);
- BLI_snprintf(tempname2, sizeof(tempname2), "%s%d", name, hisnr);
-
- if(BLI_rename(tempname1, tempname2))
- BKE_report(reports, RPT_ERROR, "Unable to make version backup");
-
- hisnr--;
- }
-
- /* is needed when hisnr==1 */
- BLI_snprintf(tempname1, sizeof(tempname1), "%s%d", name, hisnr);
-
- if(BLI_rename(name, tempname1))
- BKE_report(reports, RPT_ERROR, "Unable to make version backup");
-}
-
static ImBuf *blend_file_thumb(Scene *scene, int **thumb_pt)
{
/* will be scaled down, but gives some nice oversampling */
@@ -653,8 +635,9 @@ static ImBuf *blend_file_thumb(Scene *scene, int **thumb_pt)
char err_out[256]= "unknown";
*thumb_pt= NULL;
-
- if(G.background || scene->camera==NULL)
+
+ /* scene can be NULL if running a script at startup and calling the save operator */
+ if(G.background || scene==NULL || scene->camera==NULL)
return NULL;
/* gets scaled to BLEN_THUMB_SIZE */
@@ -693,9 +676,11 @@ static ImBuf *blend_file_thumb(Scene *scene, int **thumb_pt)
int write_crash_blend(void)
{
char path[FILE_MAX];
+ int fileflags = G.fileflags & ~(G_FILE_HISTORY); /* don't do file history on crash file */
+
BLI_strncpy(path, G.main->name, sizeof(path));
BLI_replace_extension(path, sizeof(path), "_crash.blend");
- if(BLO_write_file(G.main, path, G.fileflags, NULL, NULL)) {
+ if(BLO_write_file(G.main, path, fileflags, NULL, NULL)) {
printf("written: %s\n", path);
return 1;
}
@@ -709,7 +694,7 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
{
Library *li;
int len;
- char di[FILE_MAX];
+ char filepath[FILE_MAX];
int *thumb= NULL;
ImBuf *ibuf_thumb= NULL;
@@ -726,18 +711,26 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
return -1;
}
- BLI_strncpy(di, target, FILE_MAX);
- BLI_replace_extension(di, FILE_MAX, ".blend");
+ BLI_strncpy(filepath, target, FILE_MAX);
+ BLI_replace_extension(filepath, FILE_MAX, ".blend");
/* dont use 'target' anymore */
/* send the OnSave event */
for (li= G.main->library.first; li; li= li->id.next) {
- if (BLI_path_cmp(li->filepath, di) == 0) {
- BKE_reportf(reports, RPT_ERROR, "Can't overwrite used library '%.200s'", di);
+ if (BLI_path_cmp(li->filepath, filepath) == 0) {
+ BKE_reportf(reports, RPT_ERROR, "Can't overwrite used library '%.200s'", filepath);
return -1;
}
}
+ /* blend file thumbnail */
+ /* save before exit_editmode, otherwise derivedmeshes for shared data corrupt #27765) */
+ if(U.flag & USER_SAVE_PREVIEWS) {
+ ibuf_thumb= blend_file_thumb(CTX_data_scene(C), &thumb);
+ }
+
+ BLI_exec_cb(G.main, NULL, BLI_CB_EVT_SAVE_PRE);
+
/* operator now handles overwrite checks */
if (G.fileflags & G_AUTOPACK) {
@@ -750,16 +743,12 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
/* don't forget not to return without! */
WM_cursor_wait(1);
- /* blend file thumbnail */
- ibuf_thumb= blend_file_thumb(CTX_data_scene(C), &thumb);
+ fileflags |= G_FILE_HISTORY; /* write file history */
- /* rename to .blend1, do this as last before write */
- do_history(di, reports);
-
- if (BLO_write_file(CTX_data_main(C), di, fileflags, reports, thumb)) {
+ if (BLO_write_file(CTX_data_main(C), filepath, fileflags, reports, thumb)) {
if(!copy) {
G.relbase_valid = 1;
- BLI_strncpy(G.main->name, di, sizeof(G.main->name)); /* is guaranteed current file */
+ BLI_strncpy(G.main->name, filepath, sizeof(G.main->name)); /* is guaranteed current file */
G.save_over = 1; /* disable untitled.blend convention */
}
@@ -770,11 +759,16 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
if(fileflags & G_FILE_AUTOPLAY) G.fileflags |= G_FILE_AUTOPLAY;
else G.fileflags &= ~G_FILE_AUTOPLAY;
- write_history();
+ /* prevent background mode scripts from clobbering history */
+ if(!G.background) {
+ write_history();
+ }
+
+ BLI_exec_cb(G.main, NULL, BLI_CB_EVT_SAVE_POST);
/* run this function after because the file cant be written before the blend is */
if (ibuf_thumb) {
- ibuf_thumb= IMB_thumb_create(di, THB_NORMAL, THB_SOURCE_BLEND, ibuf_thumb);
+ ibuf_thumb= IMB_thumb_create(filepath, THB_NORMAL, THB_SOURCE_BLEND, ibuf_thumb);
IMB_freeImBuf(ibuf_thumb);
}
@@ -798,20 +792,20 @@ int WM_write_homefile(bContext *C, wmOperator *op)
{
wmWindowManager *wm= CTX_wm_manager(C);
wmWindow *win= CTX_wm_window(C);
- char tstr[FILE_MAXDIR+FILE_MAXFILE];
+ char filepath[FILE_MAXDIR+FILE_MAXFILE];
int fileflags;
/* check current window and close it if temp */
if(win->screen->temp)
wm_window_close(C, wm, win);
- BLI_make_file_string("/", tstr, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_STARTUP_FILE);
- printf("trying to save homefile at %s ", tstr);
+ BLI_make_file_string("/", filepath, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_STARTUP_FILE);
+ printf("trying to save homefile at %s ", filepath);
/* force save as regular blend file */
- fileflags = G.fileflags & ~(G_FILE_COMPRESS | G_FILE_AUTOPLAY | G_FILE_LOCK | G_FILE_SIGN);
+ fileflags = G.fileflags & ~(G_FILE_COMPRESS | G_FILE_AUTOPLAY | G_FILE_LOCK | G_FILE_SIGN | G_FILE_HISTORY);
- if(BLO_write_file(CTX_data_main(C), tstr, fileflags, op->reports, NULL) == 0) {
+ if(BLO_write_file(CTX_data_main(C), filepath, fileflags, op->reports, NULL) == 0) {
printf("fail\n");
return OPERATOR_CANCELLED;
}
@@ -825,7 +819,7 @@ int WM_write_homefile(bContext *C, wmOperator *op)
/************************ autosave ****************************/
-void wm_autosave_location(char *filename)
+void wm_autosave_location(char *filepath)
{
char pidstr[32];
#ifdef WIN32
@@ -845,12 +839,12 @@ void wm_autosave_location(char *filename)
* If there is no C:\tmp autosave fails. */
if (!BLI_exists(U.tempdir)) {
savedir = BLI_get_folder_create(BLENDER_USER_AUTOSAVE, NULL);
- BLI_make_file_string("/", filename, savedir, pidstr);
+ BLI_make_file_string("/", filepath, savedir, pidstr);
return;
}
#endif
- BLI_make_file_string("/", filename, U.tempdir, pidstr);
+ BLI_make_file_string("/", filepath, U.tempdir, pidstr);
}
void WM_autosave_init(wmWindowManager *wm)
@@ -865,7 +859,7 @@ void wm_autosave_timer(const bContext *C, wmWindowManager *wm, wmTimer *UNUSED(w
{
wmWindow *win;
wmEventHandler *handler;
- char filename[FILE_MAX];
+ char filepath[FILE_MAX];
int fileflags;
WM_event_remove_timer(wm, NULL, wm->autosavetimer);
@@ -880,13 +874,13 @@ void wm_autosave_timer(const bContext *C, wmWindowManager *wm, wmTimer *UNUSED(w
}
}
- wm_autosave_location(filename);
+ wm_autosave_location(filepath);
/* force save as regular blend file */
- fileflags = G.fileflags & ~(G_FILE_COMPRESS|G_FILE_AUTOPLAY |G_FILE_LOCK|G_FILE_SIGN);
+ fileflags = G.fileflags & ~(G_FILE_COMPRESS|G_FILE_AUTOPLAY |G_FILE_LOCK|G_FILE_SIGN|G_FILE_HISTORY);
/* no error reporting to console */
- BLO_write_file(CTX_data_main(C), filename, fileflags, NULL, NULL);
+ BLO_write_file(CTX_data_main(C), filepath, fileflags, NULL, NULL);
/* do timer after file write, just in case file write takes a long time */
wm->autosavetimer= WM_event_add_timer(wm, NULL, TIMERAUTOSAVE, U.savetime*60.0);
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index b09e264bd1d..4c280fe4341 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -48,6 +48,7 @@
#include "BKE_blender.h"
#include "BKE_context.h"
+#include "BKE_screen.h"
#include "BKE_curve.h"
#include "BKE_displist.h"
#include "BKE_DerivedMesh.h"
@@ -154,6 +155,8 @@ void WM_init(bContext *C, int argc, const char **argv)
BPY_python_start(argc, argv);
BPY_driver_reset();
+ BPY_app_handlers_reset(); /* causes addon callbacks to be freed [#28068],
+ * but this is actually what we want. */
BPY_modules_load_user(C);
#else
(void)argc; /* unused */
@@ -168,6 +171,7 @@ void WM_init(bContext *C, int argc, const char **argv)
if (!G.background) {
GPU_extensions_init();
GPU_set_mipmap(!(U.gameflags & USER_DISABLE_MIPMAP));
+ GPU_set_anisotropic(U.anisotropic_filter);
UI_init();
}
@@ -247,15 +251,7 @@ int WM_init_game(bContext *C)
CTX_wm_window_set(C, win);
sa = biggest_view3d(C);
-
- if(sa)
- {
- for(ar=sa->regionbase.first; ar; ar=ar->next) {
- if(ar->regiontype == RGN_TYPE_WINDOW) {
- break;
- }
- }
- }
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
// if we have a valid 3D view
if (sa && ar) {
@@ -335,7 +331,6 @@ static void free_openrecent(void)
/* bad stuff*/
-extern ListBase editelems;
extern wchar_t *copybuf;
extern wchar_t *copybufinfo;
@@ -387,7 +382,6 @@ void WM_exit(bContext *C)
BKE_freecubetable();
- fastshade_free_render(); /* shaded view */
ED_preview_free_dbase(); /* frees a Main dbase, before free_blender! */
if(C && CTX_wm_manager(C))
@@ -401,10 +395,6 @@ void WM_exit(bContext *C)
free_anim_drivers_copybuf();
free_fmodifiers_copybuf();
free_posebuf();
-// free_vertexpaint();
-// free_imagepaint();
-
-// fsmenu_free();
BLF_exit();
@@ -427,11 +417,7 @@ void WM_exit(bContext *C)
BPY_python_end();
#endif
- if (!G.background) {
-// XXX UI_filelist_free_icons();
- }
-
- GPU_buffer_pool_free(NULL);
+ GPU_global_buffer_pool_free();
GPU_free_unused_buffers();
GPU_extensions_exit();
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c
index 336acd9f9bf..1720c738dd7 100644
--- a/source/blender/windowmanager/intern/wm_keymap.c
+++ b/source/blender/windowmanager/intern/wm_keymap.c
@@ -493,17 +493,17 @@ static wmKeyMapItem *wm_keymap_item_find_props(const bContext *C, const char *op
}
else if(ELEM(opcontext, WM_OP_EXEC_REGION_CHANNELS, WM_OP_INVOKE_REGION_CHANNELS)) {
if (!(ar && ar->regiontype == RGN_TYPE_CHANNELS))
- ar= BKE_area_find_region_type(sa, RGN_TYPE_CHANNELS);
-
- if(ar)
- found= wm_keymap_item_find_handlers(C, &ar->handlers, opname, opcontext, properties, compare_props, hotkey, keymap_r);
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_CHANNELS);
+
+ if(ar)
+ found= wm_keymap_item_find_handlers(C, &ar->handlers, opname, opcontext, properties, compare_props, hotkey, keymap_r);
}
else if(ELEM(opcontext, WM_OP_EXEC_REGION_PREVIEW, WM_OP_INVOKE_REGION_PREVIEW)) {
if (!(ar && ar->regiontype == RGN_TYPE_PREVIEW))
- ar= BKE_area_find_region_type(sa, RGN_TYPE_PREVIEW);
-
- if(ar)
- found= wm_keymap_item_find_handlers(C, &ar->handlers, opname, opcontext, properties, compare_props, hotkey, keymap_r);
+ ar= BKE_area_find_region_type(sa, RGN_TYPE_PREVIEW);
+
+ if(ar)
+ found= wm_keymap_item_find_handlers(C, &ar->handlers, opname, opcontext, properties, compare_props, hotkey, keymap_r);
}
else {
if(ar)
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 63a8ecc4043..29afdb570ea 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -56,11 +56,13 @@
#include "BLI_blenlib.h"
#include "BLI_dynstr.h" /*for WM_operator_pystring */
#include "BLI_math.h"
+#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLO_readfile.h"
#include "BKE_blender.h"
+#include "BKE_brush.h"
#include "BKE_context.h"
#include "BKE_depsgraph.h"
#include "BKE_idprop.h"
@@ -440,10 +442,12 @@ void WM_operator_py_idname(char *to, const char *from)
{
char *sep= strstr(from, "_OT_");
if(sep) {
- int i, ofs= (sep-from);
-
- for(i=0; i<ofs; i++)
- to[i]= tolower(from[i]);
+ int ofs= (sep-from);
+
+ /* note, we use ascii tolower instead of system tolower, because the
+ latter depends on the locale, and can lead to idname mistmatch */
+ memcpy(to, from, sizeof(char)*ofs);
+ BLI_ascii_strtolower(to, ofs);
to[ofs] = '.';
BLI_strncpy(to+(ofs+1), sep+4, OP_MAX_TYPENAME);
@@ -461,10 +465,10 @@ void WM_operator_bl_idname(char *to, const char *from)
char *sep= strchr(from, '.');
if(sep) {
- int i, ofs= (sep-from);
+ int ofs= (sep-from);
- for(i=0; i<ofs; i++)
- to[i]= toupper(from[i]);
+ memcpy(to, from, sizeof(char)*ofs);
+ BLI_ascii_strtoupper(to, ofs);
BLI_strncpy(to+ofs, "_OT_", OP_MAX_TYPENAME);
BLI_strncpy(to+(ofs+4), sep+1, OP_MAX_TYPENAME);
@@ -682,7 +686,7 @@ static void operator_enum_search_cb(const struct bContext *C, void *arg_ot, cons
RNA_property_enum_items((bContext *)C, &ptr, prop, &item_array, NULL, &do_free);
for(item= item_array; item->identifier; item++) {
- /* note: need to give the intex rather then the dientifier because the enum can be freed */
+ /* note: need to give the intex rather than the dientifier because the enum can be freed */
if(BLI_strcasestr(item->name, str))
if(0==uiSearchItemAdd(items, item->name, SET_INT_IN_POINTER(item->value), 0))
break;
@@ -698,11 +702,16 @@ static void operator_enum_call_cb(struct bContext *C, void *arg1, void *arg2)
wmOperatorType *ot= arg1;
if(ot) {
- PointerRNA props_ptr;
- WM_operator_properties_create_ptr(&props_ptr, ot);
- RNA_property_enum_set(&props_ptr, ot->prop, GET_INT_FROM_POINTER(arg2));
- WM_operator_name_call(C, ot->idname, WM_OP_EXEC_DEFAULT, &props_ptr);
- WM_operator_properties_free(&props_ptr);
+ if(ot->prop) {
+ PointerRNA props_ptr;
+ WM_operator_properties_create_ptr(&props_ptr, ot);
+ RNA_property_enum_set(&props_ptr, ot->prop, GET_INT_FROM_POINTER(arg2));
+ WM_operator_name_call(C, ot->idname, WM_OP_EXEC_DEFAULT, &props_ptr);
+ WM_operator_properties_free(&props_ptr);
+ }
+ else {
+ printf("operator_enum_call_cb: op->prop for '%s' is NULL\n", ot->idname);
+ }
}
}
@@ -718,14 +727,14 @@ static uiBlock *wm_enum_search_menu(bContext *C, ARegion *ar, void *arg_op)
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_RET_1|UI_BLOCK_MOVEMOUSE_QUIT);
- //uiDefBut(block, LABEL, 0, op->type->name, 10, 10, 180, 19, NULL, 0.0, 0.0, 0, 0, ""); // ok, this isnt so easy...
- but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 10, 180, 19, 0, 0, "");
+ //uiDefBut(block, LABEL, 0, op->type->name, 10, 10, 180, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, ""); // ok, this isnt so easy...
+ but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 10, 9*UI_UNIT_X, UI_UNIT_Y, 0, 0, "");
uiButSetSearchFunc(but, operator_enum_search_cb, op->type, operator_enum_call_cb, NULL);
/* fake button, it holds space for search items */
- uiDefBut(block, LABEL, 0, "", 10, 10 - uiSearchBoxhHeight(), 180, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
+ uiDefBut(block, LABEL, 0, "", 10, 10 - uiSearchBoxhHeight(), 9*UI_UNIT_X, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
- uiPopupBoundsBlock(block, 6, 0, -20); /* move it downwards, mouse over button */
+ uiPopupBoundsBlock(block, 6, 0, -UI_UNIT_Y); /* move it downwards, mouse over button */
uiEndBlock(C, block);
event= *(win->eventstate); /* XXX huh huh? make api call */
@@ -876,6 +885,19 @@ int WM_operator_winactive(bContext *C)
return 1;
}
+wmOperator *WM_operator_last_redo(const bContext *C)
+{
+ wmWindowManager *wm= CTX_wm_manager(C);
+ wmOperator *op;
+
+ /* only for operators that are registered and did an undo push */
+ for(op= wm->operators.last; op; op= op->prev)
+ if((op->type->flag & OPTYPE_REGISTER) && (op->type->flag & OPTYPE_UNDO))
+ break;
+
+ return op;
+}
+
static uiBlock *wm_block_create_redo(bContext *C, ARegion *ar, void *arg_op)
{
wmOperator *op= arg_op;
@@ -894,12 +916,21 @@ static uiBlock *wm_block_create_redo(bContext *C, ARegion *ar, void *arg_op)
assert(op->type->flag & OPTYPE_REGISTER);
uiBlockSetHandleFunc(block, ED_undo_operator_repeat_cb_evt, arg_op);
- layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, width, 20, style);
+ layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, width, UI_UNIT_Y, style);
if(ED_undo_valid(C, op->type->name)==0)
uiLayoutSetEnabled(layout, 0);
- uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+ if(op->type->flag & OPTYPE_MACRO) {
+ for(op= op->macro.first; op; op= op->next) {
+ uiItemL(layout, op->type->name, ICON_NONE);
+ uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+ }
+ }
+ else {
+ uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+ }
+
uiPopupBoundsBlock(block, 4, 0, 0);
uiEndBlock(C, block);
@@ -907,13 +938,28 @@ static uiBlock *wm_block_create_redo(bContext *C, ARegion *ar, void *arg_op)
return block;
}
-/* Only invoked by OK button in popups created with wm_block_create_dialog() */
+typedef struct wmOpPopUp
+{
+ wmOperator *op;
+ int width;
+ int height;
+ int free_op;
+} wmOpPopUp;
+
+/* Only invoked by OK button in popups created with wm_block_dialog_create() */
static void dialog_exec_cb(bContext *C, void *arg1, void *arg2)
{
- wmOperator *op= arg1;
+ wmOpPopUp *data= arg1;
uiBlock *block= arg2;
- WM_operator_call(C, op);
+ WM_operator_call(C, data->op);
+
+ /* let execute handle freeing it */
+ //data->free_op= FALSE;
+ //data->op= NULL;
+
+ /* in this case, wm_operator_ui_popup_cancel wont run */
+ MEM_freeN(data);
uiPupBlockClose(C, block);
}
@@ -929,9 +975,9 @@ static void dialog_check_cb(bContext *C, void *op_ptr, void *UNUSED(arg))
}
/* Dialogs are popups that require user verification (click OK) before exec */
-static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData)
+static uiBlock *wm_block_dialog_create(bContext *C, ARegion *ar, void *userData)
{
- struct { wmOperator *op; int width; int height; } * data = userData;
+ wmOpPopUp *data= userData;
wmOperator *op= data->op;
uiBlock *block;
uiLayout *layout;
@@ -959,8 +1005,8 @@ static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData)
col= uiLayoutColumn(layout, FALSE);
col_block= uiLayoutGetBlock(col);
/* Create OK button, the callback of which will execute op */
- btn= uiDefBut(col_block, BUT, 0, "OK", 0, -30, 0, 20, NULL, 0, 0, 0, 0, "");
- uiButSetFunc(btn, dialog_exec_cb, op, col_block);
+ btn= uiDefBut(col_block, BUT, 0, "OK", 0, -30, 0, UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
+ uiButSetFunc(btn, dialog_exec_cb, data, col_block);
}
/* center around the mouse */
@@ -970,9 +1016,9 @@ static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData)
return block;
}
-static uiBlock *wm_operator_create_ui(bContext *C, ARegion *ar, void *userData)
+static uiBlock *wm_operator_ui_create(bContext *C, ARegion *ar, void *userData)
{
- struct { wmOperator *op; int width; int height; } * data = userData;
+ wmOpPopUp *data= userData;
wmOperator *op= data->op;
uiBlock *block;
uiLayout *layout;
@@ -993,6 +1039,28 @@ static uiBlock *wm_operator_create_ui(bContext *C, ARegion *ar, void *userData)
return block;
}
+static void wm_operator_ui_popup_cancel(void *userData)
+{
+ wmOpPopUp *data= userData;
+ if(data->free_op && data->op) {
+ wmOperator *op= data->op;
+ WM_operator_free(op);
+ }
+
+ MEM_freeN(data);
+}
+
+int WM_operator_ui_popup(bContext *C, wmOperator *op, int width, int height)
+{
+ wmOpPopUp *data= MEM_callocN(sizeof(wmOpPopUp), "WM_operator_ui_popup");
+ data->op= op;
+ data->width= width;
+ data->height= height;
+ data->free_op= TRUE; /* if this runs and gets registered we may want not to free it */
+ uiPupBlockEx(C, wm_operator_ui_create, wm_operator_ui_popup_cancel, data);
+ return OPERATOR_RUNNING_MODAL;
+}
+
/* operator menu needs undo, for redo callback */
int WM_operator_props_popup(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
{
@@ -1012,28 +1080,19 @@ int WM_operator_props_popup(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
int WM_operator_props_dialog_popup(bContext *C, wmOperator *op, int width, int height)
{
- struct { wmOperator *op; int width; int height; } data;
+ wmOpPopUp *data= MEM_callocN(sizeof(wmOpPopUp), "WM_operator_props_dialog_popup");
- data.op= op;
- data.width= width;
- data.height= height;
+ data->op= op;
+ data->width= width;
+ data->height= height;
+ data->free_op= TRUE; /* if this runs and gets registered we may want not to free it */
/* op is not executed until popup OK but is clicked */
- uiPupBlock(C, wm_block_create_dialog, &data);
+ uiPupBlockEx(C, wm_block_dialog_create, wm_operator_ui_popup_cancel, data);
return OPERATOR_RUNNING_MODAL;
}
-int WM_operator_ui_popup(bContext *C, wmOperator *op, int width, int height)
-{
- struct { wmOperator *op; int width; int height; } data;
- data.op = op;
- data.width = width;
- data.height = height;
- uiPupBlock(C, wm_operator_create_ui, &data);
- return OPERATOR_RUNNING_MODAL;
-}
-
int WM_operator_redo_popup(bContext *C, wmOperator *op)
{
/* CTX_wm_reports(C) because operator is on stack, not active in event system */
@@ -1065,7 +1124,7 @@ static int wm_debug_menu_exec(bContext *C, wmOperator *op)
static int wm_debug_menu_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
{
RNA_int_set(op->ptr, "debug_value", G.rt);
- return WM_operator_props_dialog_popup(C, op, 180, 20);
+ return WM_operator_props_dialog_popup(C, op, 9*UI_UNIT_X, UI_UNIT_Y);
}
static void WM_OT_debug_menu(wmOperatorType *ot)
@@ -1163,8 +1222,8 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
uiBlockSetFunc(block, wm_block_splash_refreshmenu, block, NULL);
#ifdef NAN_BUILDINFO
- uiDefBut(block, LABEL, 0, version_str, 494-ver_width, 282-24, ver_width, 20, NULL, 0, 0, 0, 0, NULL);
- uiDefBut(block, LABEL, 0, revision_str, 494-rev_width, 282-36, rev_width, 20, NULL, 0, 0, 0, 0, NULL);
+ uiDefBut(block, LABEL, 0, version_str, 494-ver_width, 282-24, ver_width, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
+ uiDefBut(block, LABEL, 0, revision_str, 494-rev_width, 282-36, rev_width, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
#endif //NAN_BUILDINFO
layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 10, 2, 480, 110, style);
@@ -1188,7 +1247,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-257/");
+ uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-258/");
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/"); //
@@ -1255,7 +1314,10 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
wmOperatorType *ot = WM_operatortype_first();
for(; ot; ot= ot->next) {
-
+
+ if((ot->flag & OPTYPE_INTERNAL) && (G.f & G_DEBUG) == 0)
+ continue;
+
if(BLI_strcasestr(ot->name, str)) {
if(WM_operator_poll((bContext*)C, ot)) {
char name[256];
@@ -1288,13 +1350,13 @@ static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *UNUSED(arg_
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_RET_1|UI_BLOCK_MOVEMOUSE_QUIT);
- but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 10, 180, 19, 0, 0, "");
+ but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 10, 9*UI_UNIT_X, UI_UNIT_Y, 0, 0, "");
uiButSetSearchFunc(but, operator_search_cb, NULL, operator_call_cb, NULL);
/* fake button, it holds space for search items */
- uiDefBut(block, LABEL, 0, "", 10, 10 - uiSearchBoxhHeight(), 180, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
+ uiDefBut(block, LABEL, 0, "", 10, 10 - uiSearchBoxhHeight(), 9*UI_UNIT_X, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
- uiPopupBoundsBlock(block, 6, 0, -20); /* move it downwards, mouse over button */
+ uiPopupBoundsBlock(block, 6, 0, -UI_UNIT_Y); /* move it downwards, mouse over button */
uiEndBlock(C, block);
event= *(win->eventstate); /* XXX huh huh? make api call */
@@ -1322,10 +1384,20 @@ static int wm_search_menu_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(ev
/* op->poll */
static int wm_search_menu_poll(bContext *C)
{
- if(CTX_wm_window(C)==NULL) return 0;
- if(CTX_wm_area(C) && CTX_wm_area(C)->spacetype==SPACE_CONSOLE) return 0; // XXX - so we can use the shortcut in the console
- if(CTX_wm_area(C) && CTX_wm_area(C)->spacetype==SPACE_TEXT) return 0; // XXX - so we can use the spacebar in the text editor
- if(CTX_data_edit_object(C) && CTX_data_edit_object(C)->type==OB_FONT) return 0; // XXX - so we can use the spacebar for entering text
+ if(CTX_wm_window(C)==NULL) {
+ return 0;
+ }
+ else {
+ ScrArea *sa= CTX_wm_area(C);
+ if(sa) {
+ if(sa->spacetype==SPACE_CONSOLE) return 0; // XXX - so we can use the shortcut in the console
+ if(sa->spacetype==SPACE_TEXT) return 0; // XXX - so we can use the spacebar in the text editor
+ }
+ else {
+ Object *editob= CTX_data_edit_object(C);
+ if(editob && editob->type==OB_FONT) return 0; // XXX - so we can use the spacebar for entering text
+ }
+ }
return 1;
}
@@ -1357,6 +1429,8 @@ static void WM_OT_call_menu(wmOperatorType *ot)
ot->exec= wm_call_menu_exec;
ot->poll= WM_operator_winactive;
+ ot->flag= OPTYPE_INTERNAL;
+
RNA_def_string(ot->srna, "name", "", BKE_ST_MAXNAME, "Name", "Name of the menu");
}
@@ -1428,7 +1502,7 @@ static void open_set_load_ui(wmOperator *op)
static void open_set_use_scripts(wmOperator *op)
{
if(!RNA_property_is_set(op->ptr, "use_scripts")) {
- /* use G_SCRIPT_AUTOEXEC rather then the userpref because this means if
+ /* use G_SCRIPT_AUTOEXEC rather than the userpref because this means if
* the flag has been disabled from the command line, then opening
* from the menu wont enable this setting. */
RNA_boolean_set(op->ptr, "use_scripts", (G.f & G_SCRIPT_AUTOEXEC));
@@ -1439,6 +1513,14 @@ static int wm_open_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(
{
const char *openname= G.main->name;
+ if(CTX_wm_window(C) == NULL) {
+ /* in rare cases this could happen, when trying to invoke in background
+ * mode on load for example. Don't use poll for this because exec()
+ * can still run without a window */
+ BKE_report(op->reports, RPT_ERROR, "Context window not set");
+ return OPERATOR_CANCELLED;
+ }
+
/* if possible, get the name of the most recently used .blend file */
if (G.recent_files.first) {
struct RecentFile *recent = G.recent_files.first;
@@ -1489,7 +1571,7 @@ static void WM_OT_open_mainfile(wmOperatorType *ot)
ot->invoke= wm_open_mainfile_invoke;
ot->exec= wm_open_mainfile_exec;
- ot->poll= WM_operator_winactive;
+ /* ommit window poll so this can work in background mode */
WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_BLENDER, FILE_OPENFILE, WM_FILESEL_FILEPATH);
@@ -1610,12 +1692,12 @@ static int wm_link_append_exec(bContext *C, wmOperator *op)
/* here appending/linking starts */
mainl = BLO_library_append_begin(C, &bh, libname);
if(totfiles == 0) {
- BLO_library_append_named_part(C, mainl, &bh, name, idcode, flag);
+ BLO_library_append_named_part_ex(C, mainl, &bh, name, idcode, flag);
}
else {
RNA_BEGIN(op->ptr, itemptr, "files") {
RNA_string_get(&itemptr, "name", name);
- BLO_library_append_named_part(C, mainl, &bh, name, idcode, flag);
+ BLO_library_append_named_part_ex(C, mainl, &bh, name, idcode, flag);
}
RNA_END;
}
@@ -1908,7 +1990,7 @@ static void WM_OT_save_mainfile(wmOperatorType *ot)
ot->invoke= wm_save_mainfile_invoke;
ot->exec= wm_save_as_mainfile_exec;
ot->check= blend_save_check;
- ot->poll= NULL;
+ /* ommit window poll so this can work in background mode */
WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_BLENDER, FILE_SAVE, WM_FILESEL_FILEPATH);
RNA_def_boolean(ot->srna, "compress", 0, "Compress", "Write compressed .blend file");
@@ -1922,6 +2004,8 @@ 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));
@@ -1938,6 +2022,7 @@ static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED
static int wm_collada_export_exec(bContext *C, wmOperator *op)
{
char filename[FILE_MAX];
+ int selected;
if(!RNA_property_is_set(op->ptr, "filepath")) {
BKE_report(op->reports, RPT_ERROR, "No filename given");
@@ -1945,7 +2030,8 @@ static int wm_collada_export_exec(bContext *C, wmOperator *op)
}
RNA_string_get(op->ptr, "filepath", filename);
- if(collada_export(CTX_data_scene(C), filename)) {
+ selected = RNA_boolean_get(op->ptr, "selected");
+ if(collada_export(CTX_data_scene(C), filename, selected)) {
return OPERATOR_FINISHED;
}
else {
@@ -1963,6 +2049,8 @@ static void WM_OT_collada_export(wmOperatorType *ot)
ot->poll= WM_operator_winactive;
WM_operator_properties_filesel(ot, FOLDERFILE|COLLADAFILE, FILE_BLENDER, FILE_SAVE, WM_FILESEL_FILEPATH);
+ RNA_def_boolean(ot->srna, "selected", 0, "Export only selected",
+ "Export only selected elements");
}
/* function used for WM_OT_save_mainfile too */
@@ -2030,6 +2118,8 @@ static void WM_OT_quit_blender(wmOperatorType *ot)
/* *********************** */
+#if defined(WIN32)
+
static int wm_console_toggle_op(bContext *UNUSED(C), wmOperator *UNUSED(op))
{
GHOST_toggleConsole(2);
@@ -2046,6 +2136,8 @@ static void WM_OT_console_toggle(wmOperatorType *ot)
ot->poll= WM_operator_winactive;
}
+#endif
+
/* ************ default paint cursors, draw always around cursor *********** */
/*
- returns handler to free
@@ -2208,6 +2300,13 @@ int WM_border_select_modal(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+int WM_border_select_cancel(bContext *C, wmOperator *op)
+{
+ wm_gesture_end(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
/* **************** circle gesture *************** */
/* works now only for selection or modal paint stuff, calls exec while hold mouse, exit on release */
@@ -2304,6 +2403,13 @@ int WM_gesture_circle_modal(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+int WM_gesture_circle_cancel(bContext *C, wmOperator *op)
+{
+ wm_gesture_end(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
#if 0
/* template to copy from */
void WM_OT_circle_gesture(wmOperatorType *ot)
@@ -2482,7 +2588,7 @@ int WM_gesture_lasso_modal(bContext *C, wmOperator *op, wmEvent *event)
}
{
- short x, y;
+ int x, y;
short *lasso= gesture->customdata;
lasso += (2 * gesture->points - 2);
@@ -2520,6 +2626,20 @@ int WM_gesture_lines_modal(bContext *C, wmOperator *op, wmEvent *event)
return WM_gesture_lasso_modal(C, op, event);
}
+int WM_gesture_lasso_cancel(bContext *C, wmOperator *op)
+{
+ wm_gesture_end(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
+int WM_gesture_lines_cancel(bContext *C, wmOperator *op)
+{
+ wm_gesture_end(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
#if 0
/* template to copy from */
@@ -2641,6 +2761,13 @@ int WM_gesture_straightline_modal(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
+int WM_gesture_straightline_cancel(bContext *C, wmOperator *op)
+{
+ wm_gesture_end(C, op);
+
+ return OPERATOR_CANCELLED;
+}
+
#if 0
/* template to copy from */
void WM_OT_straightline_gesture(wmOperatorType *ot)
@@ -2665,272 +2792,475 @@ void WM_OT_straightline_gesture(wmOperatorType *ot)
static const int WM_RADIAL_CONTROL_DISPLAY_SIZE = 200;
-typedef struct wmRadialControl {
- int mode;
- float initial_value, value, max_value;
- float col[4], tex_col[4];
+typedef struct {
+ PropertyType type;
+ PropertySubType subtype;
+ PointerRNA ptr, col_ptr, fill_col_ptr, rot_ptr, zoom_ptr, image_id_ptr;
+ PropertyRNA *prop, *col_prop, *fill_col_prop, *rot_prop, *zoom_prop;
+ StructRNA *image_id_srna;
+ float initial_value, current_value, min_value, max_value;
int initial_mouse[2];
+ unsigned int gltex;
+ ListBase orig_paintcursors;
void *cursor;
- GLuint tex;
-} wmRadialControl;
+} RadialControl;
-static void wm_radial_control_paint(bContext *C, int x, int y, void *customdata)
+static void radial_control_set_initial_mouse(RadialControl *rc, wmEvent *event)
{
- wmRadialControl *rc = (wmRadialControl*)customdata;
- ARegion *ar = CTX_wm_region(C);
- float r1=0.0f, r2=0.0f, r3=0.0f, angle=0.0f;
+ float d[2] = {0, 0};
+ float zoom[2] = {1, 1};
- // int hit = 0;
-
- if(rc->mode == WM_RADIALCONTROL_STRENGTH)
- rc->tex_col[3]= (rc->value + 0.5f);
+ rc->initial_mouse[0]= event->x;
+ rc->initial_mouse[1]= event->y;
- if(rc->mode == WM_RADIALCONTROL_SIZE) {
- r1= rc->value;
- r2= rc->initial_value;
- r3= r1;
- } else if(rc->mode == WM_RADIALCONTROL_STRENGTH) {
- r1= (1 - rc->value) * WM_RADIAL_CONTROL_DISPLAY_SIZE;
- r2= r3= (float)WM_RADIAL_CONTROL_DISPLAY_SIZE;
- } else if(rc->mode == WM_RADIALCONTROL_ANGLE) {
- r1= r2= r3= (float)WM_RADIAL_CONTROL_DISPLAY_SIZE;
- angle = rc->value;
+ switch(rc->subtype) {
+ case PROP_DISTANCE:
+ d[0] = rc->initial_value;
+ break;
+ case PROP_FACTOR:
+ d[0] = WM_RADIAL_CONTROL_DISPLAY_SIZE * (1 - rc->initial_value);
+ break;
+ case PROP_ANGLE:
+ d[0] = WM_RADIAL_CONTROL_DISPLAY_SIZE * cos(rc->initial_value);
+ d[1] = WM_RADIAL_CONTROL_DISPLAY_SIZE * sin(rc->initial_value);
+ break;
+ default:
+ return;
}
- /* Keep cursor in the original place */
- x = rc->initial_mouse[0] - ar->winrct.xmin;
- y = rc->initial_mouse[1] - ar->winrct.ymin;
+ if(rc->zoom_prop) {
+ RNA_property_float_get_array(&rc->zoom_ptr, rc->zoom_prop, zoom);
+ d[0] *= zoom[0];
+ d[1] *= zoom[1];
+ }
- glTranslatef((float)x, (float)y, 0.0f);
+ rc->initial_mouse[0]-= d[0];
+ rc->initial_mouse[1]-= d[1];
+}
- glEnable(GL_BLEND);
+static void radial_control_set_tex(RadialControl *rc)
+{
+ ImBuf *ibuf;
- if(rc->mode == WM_RADIALCONTROL_ANGLE) {
- glRotatef(angle, 0, 0, 1);
+ switch(RNA_type_to_ID_code(rc->image_id_ptr.type)) {
+ case ID_BR:
+ if((ibuf = brush_gen_radial_control_imbuf(rc->image_id_ptr.data))) {
+ glGenTextures(1, &rc->gltex);
+ glBindTexture(GL_TEXTURE_2D, rc->gltex);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, ibuf->x, ibuf->y, 0,
+ GL_ALPHA, GL_FLOAT, ibuf->rect_float);
+ MEM_freeN(ibuf->rect_float);
+ MEM_freeN(ibuf);
+ }
+ break;
+ default:
+ break;
}
+}
+
+static void radial_control_paint_tex(RadialControl *rc, float radius, float alpha)
+{
+ float col[3] = {0, 0, 0};
+ float rot;
+
+ /* set fill color */
+ if(rc->fill_col_prop)
+ RNA_property_float_get_array(&rc->fill_col_ptr, rc->fill_col_prop, col);
+ glColor4f(col[0], col[1], col[2], alpha);
- if (rc->tex) {
- glBindTexture(GL_TEXTURE_2D, rc->tex);
+ if(rc->gltex) {
+ glBindTexture(GL_TEXTURE_2D, rc->gltex);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ /* set up rotation if available */
+ if(rc->rot_prop) {
+ rot = RNA_property_float_get(&rc->rot_ptr, rc->rot_prop);
+ glPushMatrix();
+ glRotatef(RAD2DEGF(rot), 0, 0, 1);
+ }
+
+ /* draw textured quad */
glEnable(GL_TEXTURE_2D);
glBegin(GL_QUADS);
- glColor4fv(rc->tex_col);
glTexCoord2f(0,0);
- glVertex2f(-r3, -r3);
+ glVertex2f(-radius, -radius);
glTexCoord2f(1,0);
- glVertex2f(r3, -r3);
+ glVertex2f(radius, -radius);
glTexCoord2f(1,1);
- glVertex2f(r3, r3);
+ glVertex2f(radius, radius);
glTexCoord2f(0,1);
- glVertex2f(-r3, r3);
+ glVertex2f(-radius, radius);
glEnd();
glDisable(GL_TEXTURE_2D);
+
+ /* undo rotation */
+ if(rc->rot_prop)
+ glPopMatrix();
+ }
+ else {
+ /* flat color if no texture available */
+ glutil_draw_filled_arc(0, M_PI * 2, radius, 40);
+ }
+}
+
+static void radial_control_paint_cursor(bContext *C, int x, int y, void *customdata)
+{
+ RadialControl *rc = customdata;
+ ARegion *ar = CTX_wm_region(C);
+ float r1=0.0f, r2=0.0f, tex_radius, alpha;
+ float zoom[2], col[3] = {1, 1, 1};
+
+ switch(rc->subtype) {
+ case PROP_DISTANCE:
+ r1= rc->current_value;
+ r2= rc->initial_value;
+ tex_radius= r1;
+ alpha = 0.75;
+ break;
+ case PROP_FACTOR:
+ r1= (1 - rc->current_value) * WM_RADIAL_CONTROL_DISPLAY_SIZE;
+ r2= tex_radius= WM_RADIAL_CONTROL_DISPLAY_SIZE;
+ alpha = rc->current_value / 2 + 0.5;
+ break;
+ case PROP_ANGLE:
+ r1= r2= tex_radius= WM_RADIAL_CONTROL_DISPLAY_SIZE;
+ alpha = 0.75;
+ break;
+ default:
+ tex_radius= WM_RADIAL_CONTROL_DISPLAY_SIZE; /* note, this is a dummy value */
+ alpha = 0.75;
+ break;
}
- if(rc->mode == WM_RADIALCONTROL_ANGLE) {
- glColor4fv(rc->col);
- glEnable(GL_LINE_SMOOTH);
- glRotatef(-angle, 0, 0, 1);
+ /* Keep cursor in the original place */
+ x = rc->initial_mouse[0] - ar->winrct.xmin;
+ y = rc->initial_mouse[1] - ar->winrct.ymin;
+ glTranslatef((float)x, (float)y, 0.0f);
+
+ glEnable(GL_BLEND);
+ glEnable(GL_LINE_SMOOTH);
+
+ /* apply zoom if available */
+ if(rc->zoom_prop) {
+ RNA_property_float_get_array(&rc->zoom_ptr, rc->zoom_prop, zoom);
+ glScalef(zoom[0], zoom[1], 1);
+ }
+
+ /* draw rotated texture */
+ radial_control_paint_tex(rc, tex_radius, alpha);
+
+ /* set line color */
+ if(rc->col_prop)
+ RNA_property_float_get_array(&rc->col_ptr, rc->col_prop, col);
+ glColor4f(col[0], col[1], col[2], 0.5);
+
+ if(rc->subtype == PROP_ANGLE) {
+ glPushMatrix();
+ /* draw original angle line */
+ glRotatef(RAD2DEGF(rc->initial_value), 0, 0, 1);
fdrawline(0.0f, 0.0f, (float)WM_RADIAL_CONTROL_DISPLAY_SIZE, 0.0f);
- glRotatef(angle, 0, 0, 1);
+ /* draw new angle line */
+ glRotatef(RAD2DEGF(rc->current_value - rc->initial_value), 0, 0, 1);
fdrawline(0.0f, 0.0f, (float)WM_RADIAL_CONTROL_DISPLAY_SIZE, 0.0f);
- glDisable(GL_LINE_SMOOTH);
+ glPopMatrix();
}
- glColor4fv(rc->col);
+ /* draw circles on top */
glutil_draw_lined_arc(0.0, (float)(M_PI*2.0), r1, 40);
glutil_draw_lined_arc(0.0, (float)(M_PI*2.0), r2, 40);
+
glDisable(GL_BLEND);
+ glDisable(GL_LINE_SMOOTH);
}
-int WM_radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
+/* attempt to retrieve the rna pointer/property from an rna path;
+ returns 0 for failure, 1 for success, and also 1 if property is not
+ set */
+static int radial_control_get_path(PointerRNA *ctx_ptr, wmOperator *op,
+ const char *name, PointerRNA *r_ptr,
+ PropertyRNA **r_prop, int req_float,
+ int req_length, int allow_missing)
{
- wmRadialControl *rc = (wmRadialControl*)op->customdata;
- int mode, initial_mouse[2], delta[2];
- float dist;
- double new_value = RNA_float_get(op->ptr, "new_value");
- int ret = OPERATOR_RUNNING_MODAL;
- // float initial_value = RNA_float_get(op->ptr, "initial_value");
+ PropertyRNA *unused_prop;
+ int len;
+ char *str;
- mode = RNA_enum_get(op->ptr, "mode");
- RNA_int_get_array(op->ptr, "initial_mouse", initial_mouse);
+ /* get an rna string path from the operator's properties */
+ if(!(str = RNA_string_get_alloc(op->ptr, name, NULL, 0)))
+ return 1;
- switch(event->type) {
- case MOUSEMOVE:
- delta[0]= initial_mouse[0] - event->x;
- delta[1]= initial_mouse[1] - event->y;
+ if(str[0] == '\0') {
+ MEM_freeN(str);
+ return 1;
+ }
- //if (mode == WM_RADIALCONTROL_SIZE)
- // delta[0]+= initial_value;
- //else if(mode == WM_RADIALCONTROL_STRENGTH)
- // delta[0]+= WM_RADIAL_CONTROL_DISPLAY_SIZE * (1 - initial_value);
- //else if(mode == WM_RADIALCONTROL_ANGLE) {
- // delta[0]+= WM_RADIAL_CONTROL_DISPLAY_SIZE * cos(initial_value*M_PI/180.0f);
- // delta[1]+= WM_RADIAL_CONTROL_DISPLAY_SIZE * sin(initial_value*M_PI/180.0f);
- //}
+ if(!r_prop)
+ r_prop = &unused_prop;
- dist= sqrtf(delta[0]*delta[0]+delta[1]*delta[1]);
+ /* get rna from path */
+ if(!RNA_path_resolve(ctx_ptr, str, r_ptr, r_prop)) {
+ MEM_freeN(str);
+ if(allow_missing)
+ return 1;
+ else {
+ BKE_reportf(op->reports, RPT_ERROR, "Couldn't resolve path %s", name);
+ return 0;
+ }
+ }
- if(mode == WM_RADIALCONTROL_SIZE)
- new_value = dist;
- else if(mode == WM_RADIALCONTROL_STRENGTH) {
- new_value = 1 - dist / WM_RADIAL_CONTROL_DISPLAY_SIZE;
- } else if(mode == WM_RADIALCONTROL_ANGLE)
- new_value = ((int)(atan2f(delta[1], delta[0]) * (float)(180.0 / M_PI)) + 180);
-
- if(event->ctrl) {
- if(mode == WM_RADIALCONTROL_STRENGTH)
- new_value = ((int)ceilf(new_value * 10.f) * 10.0f) / 100.f;
- else
- new_value = ((int)new_value + 5) / 10*10;
+ /* if property is expected to be a float, check its type */
+ if(req_float) {
+ if(!(*r_prop) || (RNA_property_type(*r_prop) != PROP_FLOAT)) {
+ MEM_freeN(str);
+ BKE_reportf(op->reports, RPT_ERROR,
+ "Property from path %s is not a float", name);
+ return 0;
}
-
- break;
- case ESCKEY:
- case RIGHTMOUSE:
- ret = OPERATOR_CANCELLED;
- break;
- case LEFTMOUSE:
- case PADENTER:
- op->type->exec(C, op);
- ret = OPERATOR_FINISHED;
- break;
+ }
+
+ /* check property's array length */
+ if(*r_prop && (len = RNA_property_array_length(r_ptr, *r_prop)) != req_length) {
+ MEM_freeN(str);
+ BKE_reportf(op->reports, RPT_ERROR,
+ "Property from path %s has length %d instead of %d",
+ name, len, req_length);
+ return 0;
}
- /* Clamp */
- if(new_value > rc->max_value)
- new_value = rc->max_value;
- else if(new_value < 0)
- new_value = 0;
+ /* success */
+ MEM_freeN(str);
+ return 1;
+}
- /* Update paint data */
- rc->value = (float)new_value;
+/* initialize the rna pointers and properties using rna paths */
+static int radial_control_get_properties(bContext *C, wmOperator *op)
+{
+ RadialControl *rc = op->customdata;
+ PointerRNA ctx_ptr;
- RNA_float_set(op->ptr, "new_value", rc->value);
+ RNA_pointer_create(NULL, &RNA_Context, C, &ctx_ptr);
- if(ret != OPERATOR_RUNNING_MODAL) {
- WM_paint_cursor_end(CTX_wm_manager(C), rc->cursor);
- MEM_freeN(rc);
- }
-
- ED_region_tag_redraw(CTX_wm_region(C));
+ if(!radial_control_get_path(&ctx_ptr, op, "data_path", &rc->ptr, &rc->prop, 0, 0, 0))
+ return 0;
- //if (ret != OPERATOR_RUNNING_MODAL) {
- // wmWindow *win = CTX_wm_window(C);
- // WM_cursor_restore(win);
- //}
+ /* data path is required */
+ if(!rc->prop)
+ return 0;
+
+ if(!radial_control_get_path(&ctx_ptr, op, "rotation_path", &rc->rot_ptr, &rc->rot_prop, 1, 0, 0))
+ return 0;
+ if(!radial_control_get_path(&ctx_ptr, op, "color_path", &rc->col_ptr, &rc->col_prop, 1, 3, 0))
+ return 0;
+ if(!radial_control_get_path(&ctx_ptr, op, "fill_color_path", &rc->fill_col_ptr, &rc->fill_col_prop, 1, 3, 0))
+ return 0;
+
+ /* slightly ugly; allow this property to not resolve
+ correctly. needed because 3d texture paint shares the same
+ keymap as 2d image paint */
+ if(!radial_control_get_path(&ctx_ptr, op, "zoom_path", &rc->zoom_ptr, &rc->zoom_prop, 1, 2, 1))
+ return 0;
+
+ if(!radial_control_get_path(&ctx_ptr, op, "image_id", &rc->image_id_ptr, NULL, 0, 0, 0))
+ return 0;
+ else if(rc->image_id_ptr.data) {
+ /* extra check, pointer must be to an ID */
+ if(!RNA_struct_is_ID(rc->image_id_ptr.type)) {
+ BKE_report(op->reports, RPT_ERROR,
+ "Pointer from path image_id is not an ID");
+ return 0;
+ }
+ }
- return ret;
+ return 1;
}
-/* Expects the operator customdata to be an ImBuf (or NULL) */
-int WM_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
+static int radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- wmRadialControl *rc = MEM_callocN(sizeof(wmRadialControl), "radial control");
- // wmWindow *win = CTX_wm_window(C);
- int mode = RNA_enum_get(op->ptr, "mode");
- float initial_value = RNA_float_get(op->ptr, "initial_value");
- //float initial_size = RNA_float_get(op->ptr, "initial_size");
- int mouse[2];
-
- mouse[0]= event->x;
- mouse[1]= event->y;
+ wmWindowManager *wm;
+ RadialControl *rc;
+ int min_value_int, max_value_int, step_int;
+ float step_float, precision;
- //if (initial_size == 0)
- // initial_size = WM_RADIAL_CONTROL_DISPLAY_SIZE;
+ if(!(op->customdata = rc = MEM_callocN(sizeof(RadialControl), "RadialControl")))
+ return OPERATOR_CANCELLED;
- if(mode == WM_RADIALCONTROL_SIZE) {
- rc->max_value = 200;
- mouse[0]-= (int)initial_value;
- }
- else if(mode == WM_RADIALCONTROL_STRENGTH) {
- rc->max_value = 1;
- mouse[0]-= (int)(WM_RADIAL_CONTROL_DISPLAY_SIZE * (1.0f - initial_value));
- }
- else if(mode == WM_RADIALCONTROL_ANGLE) {
- rc->max_value = 360;
- mouse[0]-= (int)(WM_RADIAL_CONTROL_DISPLAY_SIZE * cos(initial_value));
- mouse[1]-= (int)(WM_RADIAL_CONTROL_DISPLAY_SIZE * sin(initial_value));
- initial_value *= 180.0f/(float)M_PI;
+ if(!radial_control_get_properties(C, op)) {
+ MEM_freeN(rc);
+ return OPERATOR_CANCELLED;
}
- if(op->customdata) {
- ImBuf *im = (ImBuf*)op->customdata;
- /* Build GL texture */
- glGenTextures(1, &rc->tex);
- glBindTexture(GL_TEXTURE_2D, rc->tex);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, im->x, im->y, 0, GL_ALPHA, GL_FLOAT, im->rect_float);
- MEM_freeN(im->rect_float);
- MEM_freeN(im);
+ /* get type, initial, min, and max values of the property */
+ switch((rc->type = RNA_property_type(rc->prop))) {
+ case PROP_INT:
+ rc->initial_value = RNA_property_int_get(&rc->ptr, rc->prop);
+ RNA_property_int_ui_range(&rc->ptr, rc->prop, &min_value_int,
+ &max_value_int, &step_int);
+ rc->min_value = min_value_int;
+ rc->max_value = max_value_int;
+ break;
+ case PROP_FLOAT:
+ rc->initial_value = RNA_property_float_get(&rc->ptr, rc->prop);
+ RNA_property_float_ui_range(&rc->ptr, rc->prop, &rc->min_value,
+ &rc->max_value, &step_float, &precision);
+ break;
+ default:
+ BKE_report(op->reports, RPT_ERROR, "Property must be an integer or a float");
+ MEM_freeN(rc);
+ return OPERATOR_CANCELLED;
}
- RNA_float_get_array(op->ptr, "color", rc->col);
- RNA_float_get_array(op->ptr, "texture_color", rc->tex_col);
-
- RNA_int_set_array(op->ptr, "initial_mouse", mouse);
- RNA_float_set(op->ptr, "new_value", initial_value);
+ /* get subtype of property */
+ rc->subtype = RNA_property_subtype(rc->prop);
+ if(!ELEM3(rc->subtype, PROP_DISTANCE, PROP_FACTOR, PROP_ANGLE)) {
+ BKE_report(op->reports, RPT_ERROR, "Property must be a distance, a factor, or an angle");
+ MEM_freeN(rc);
+ return OPERATOR_CANCELLED;
+ }
- op->customdata = rc;
- rc->mode = mode;
- rc->initial_value = initial_value;
- rc->initial_mouse[0] = mouse[0];
- rc->initial_mouse[1] = mouse[1];
- rc->cursor = WM_paint_cursor_activate(CTX_wm_manager(C), op->type->poll,
- wm_radial_control_paint, op->customdata);
+ rc->current_value = rc->initial_value;
+ radial_control_set_initial_mouse(rc, event);
+ radial_control_set_tex(rc);
- //WM_cursor_modal(win, CURSOR_NONE);
+ /* temporarily disable other paint cursors */
+ wm = CTX_wm_manager(C);
+ rc->orig_paintcursors = wm->paintcursors;
+ wm->paintcursors.first = wm->paintcursors.last = NULL;
+
+ /* add radial control paint cursor */
+ rc->cursor = WM_paint_cursor_activate(wm, op->type->poll,
+ radial_control_paint_cursor, rc);
- /* add modal handler */
WM_event_add_modal_handler(C, op);
-
- WM_radial_control_modal(C, op, event);
-
+
return OPERATOR_RUNNING_MODAL;
}
-/* Gets a descriptive string of the operation */
-void WM_radial_control_string(wmOperator *op, char str[], int maxlen)
+static void radial_control_set_value(RadialControl *rc, float val)
+{
+ switch(rc->type) {
+ case PROP_INT:
+ RNA_property_int_set(&rc->ptr, rc->prop, val);
+ break;
+ case PROP_FLOAT:
+ RNA_property_float_set(&rc->ptr, rc->prop, val);
+ break;
+ default:
+ break;
+ }
+}
+
+static int radial_control_cancel(bContext *C, wmOperator *op)
{
- int mode = RNA_enum_get(op->ptr, "mode");
- float v = RNA_float_get(op->ptr, "new_value");
+ RadialControl *rc = op->customdata;
+ wmWindowManager *wm = CTX_wm_manager(C);
+
+ WM_paint_cursor_end(wm, rc->cursor);
+
+ /* restore original paint cursors */
+ wm->paintcursors = rc->orig_paintcursors;
+
+ /* not sure if this is a good notifier to use;
+ intended purpose is to update the UI so that the
+ new value is displayed in sliders/numfields */
+ WM_event_add_notifier(C, NC_WINDOW, NULL);
+
+ glDeleteTextures(1, &rc->gltex);
- if(mode == WM_RADIALCONTROL_SIZE)
- BLI_snprintf(str, maxlen, "Size: %d", (int)v);
- else if(mode == WM_RADIALCONTROL_STRENGTH)
- BLI_snprintf(str, maxlen, "Strength: %d", (int)v);
- else if(mode == WM_RADIALCONTROL_ANGLE)
- BLI_snprintf(str, maxlen, "Angle: %d", (int)(v * 180.0f/(float)M_PI));
+ MEM_freeN(rc);
+
+ return OPERATOR_CANCELLED;
}
-/** Important: this doesn't define an actual operator, it
- just sets up the common parts of the radial control op. **/
-void WM_OT_radial_control_partial(wmOperatorType *ot)
+static int radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
{
- static EnumPropertyItem radial_mode_items[] = {
- {WM_RADIALCONTROL_SIZE, "SIZE", 0, "Size", ""},
- {WM_RADIALCONTROL_STRENGTH, "STRENGTH", 0, "Strength", ""},
- {WM_RADIALCONTROL_ANGLE, "ANGLE", 0, "Angle", ""},
- {0, NULL, 0, NULL, NULL}};
- static float color[4] = {1.0f, 1.0f, 1.0f, 0.5f};
- static float tex_color[4] = {1.0f, 1.0f, 1.0f, 1.0f};
+ RadialControl *rc = op->customdata;
+ float new_value, dist, zoom[2];
+ float delta[2], snap, ret = OPERATOR_RUNNING_MODAL;
+
+ /* TODO: fix hardcoded events */
+
+ snap = event->ctrl;
+
+ switch(event->type) {
+ case MOUSEMOVE:
+ delta[0]= rc->initial_mouse[0] - event->x;
+ delta[1]= rc->initial_mouse[1] - event->y;
- /* Should be set in custom invoke() */
- RNA_def_float(ot->srna, "initial_value", 0, 0, FLT_MAX, "Initial Value", "", 0, FLT_MAX);
+ if(rc->zoom_prop) {
+ RNA_property_float_get_array(&rc->zoom_ptr, rc->zoom_prop, zoom);
+ delta[0] /= zoom[0];
+ delta[1] /= zoom[1];
+ }
+
+ dist= sqrt(delta[0]*delta[0]+delta[1]*delta[1]);
+
+ /* calculate new value and apply snapping */
+ switch(rc->subtype) {
+ case PROP_DISTANCE:
+ new_value = dist;
+ if(snap) new_value = ((int)new_value + 5) / 10*10;
+ break;
+ case PROP_FACTOR:
+ new_value = 1 - dist / WM_RADIAL_CONTROL_DISPLAY_SIZE;
+ if(snap) new_value = ((int)ceil(new_value * 10.f) * 10.0f) / 100.f;
+ break;
+ case PROP_ANGLE:
+ new_value = atan2(delta[1], delta[0]) + M_PI;
+ if(snap) new_value = DEG2RADF(((int)RAD2DEGF(new_value) + 5) / 10*10);
+ break;
+ default:
+ new_value = dist; /* dummy value, should this ever happen? - campbell */
+ break;
+ }
+
+ /* clamp and update */
+ CLAMP(new_value, rc->min_value, rc->max_value);
+ radial_control_set_value(rc, new_value);
+ rc->current_value = new_value;
+ break;
+
+ case ESCKEY:
+ case RIGHTMOUSE:
+ /* cancelled; restore original value */
+ radial_control_set_value(rc, rc->initial_value);
+ ret = OPERATOR_CANCELLED;
+ break;
+
+ case LEFTMOUSE:
+ case PADENTER:
+ /* done; value already set */
+ ret = OPERATOR_FINISHED;
+ break;
+ }
- /* Set internally, should be used in custom exec() to get final value */
- RNA_def_float(ot->srna, "new_value", 0, 0, FLT_MAX, "New Value", "", 0, FLT_MAX);
+ ED_region_tag_redraw(CTX_wm_region(C));
+
+ if(ret != OPERATOR_RUNNING_MODAL)
+ radial_control_cancel(C, op);
+
+ return ret;
+}
+
+static void WM_OT_radial_control(wmOperatorType *ot)
+{
+ ot->name= "Radial Control";
+ ot->idname= "WM_OT_radial_control";
- /* Should be set before calling operator */
- RNA_def_enum(ot->srna, "mode", radial_mode_items, 0, "Mode", "");
+ ot->invoke= radial_control_invoke;
+ ot->modal= radial_control_modal;
+ ot->cancel= radial_control_cancel;
- /* Internal */
- RNA_def_int_vector(ot->srna, "initial_mouse", 2, NULL, INT_MIN, INT_MAX, "Initial Mouse", "", INT_MIN, INT_MAX);
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
- RNA_def_float_color(ot->srna, "color", 4, color, 0.0f, FLT_MAX, "Color", "Radial control color", 0.0f, 1.0f);
- RNA_def_float_color(ot->srna, "texture_color", 4, tex_color, 0.0f, FLT_MAX, "Texture Color", "Radial control texture color", 0.0f, 1.0f);
+ /* all paths relative to the context */
+ RNA_def_string(ot->srna, "data_path", "", 0, "Data Path", "Path of property to be set by the radial control.");
+ RNA_def_string(ot->srna, "rotation_path", "", 0, "Rotation Path", "Path of property used to rotate the texture display.");
+ RNA_def_string(ot->srna, "color_path", "", 0, "Color Path", "Path of property used to set the color of the control.");
+ RNA_def_string(ot->srna, "fill_color_path", "", 0, "Fill Color Path", "Path of property used to set the fill color of the control.");
+ RNA_def_string(ot->srna, "zoom_path", "", 0, "Zoom Path", "Path of property used to set the zoom level for the control.");
+ RNA_def_string(ot->srna, "image_id", "", 0, "Image ID", "Path of ID that is used to generate an image for the control.");
}
/* ************************** timer for testing ***************** */
@@ -3124,6 +3454,7 @@ void wm_operatortype_init(void)
WM_operatortype_append(WM_OT_splash);
WM_operatortype_append(WM_OT_search_menu);
WM_operatortype_append(WM_OT_call_menu);
+ WM_operatortype_append(WM_OT_radial_control);
#if defined(WIN32)
WM_operatortype_append(WM_OT_console_toggle);
#endif
@@ -3236,10 +3567,12 @@ static void gesture_border_modal_keymap(wmKeyConfig *keyconf)
/* items for modal map */
WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL);
- WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_ANY, KM_ANY, 0, GESTURE_MODAL_CANCEL);
+ /* Note: cancel only on press otherwise you cannot map this to RMB-gesture */
+ WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL);
WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_BEGIN);
WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_SELECT);
+ WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_SELECT);
#if 0 // Durian guys like this
WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, KM_SHIFT, 0, GESTURE_MODAL_BEGIN);
@@ -3418,38 +3751,38 @@ static EnumPropertyItem *rna_id_itemf(bContext *UNUSED(C), PointerRNA *UNUSED(pt
}
/* can add more as needed */
-EnumPropertyItem *RNA_action_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_action_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->action.first : NULL, FALSE);
}
-EnumPropertyItem *RNA_action_local_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_action_local_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->action.first : NULL, TRUE);
}
-EnumPropertyItem *RNA_group_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_group_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->group.first : NULL, FALSE);
}
-EnumPropertyItem *RNA_group_local_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_group_local_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->group.first : NULL, TRUE);
}
-EnumPropertyItem *RNA_image_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_image_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->image.first : NULL, FALSE);
}
-EnumPropertyItem *RNA_image_local_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_image_local_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->image.first : NULL, TRUE);
}
-EnumPropertyItem *RNA_scene_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_scene_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->scene.first : NULL, FALSE);
}
-EnumPropertyItem *RNA_scene_local_itemf(bContext *C, PointerRNA *ptr, int *do_free)
+EnumPropertyItem *RNA_scene_local_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *do_free)
{
return rna_id_itemf(C, ptr, do_free, C ? (ID *)CTX_data_main(C)->scene.first : NULL, TRUE);
}
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index 5cf2f8932f5..9b1695be67a 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -271,9 +271,11 @@ void wm_window_close(bContext *C, wmWindowManager *wm, wmWindow *win)
void wm_window_title(wmWindowManager *wm, wmWindow *win)
{
- /* handle the 'temp' window */
+ /* handle the 'temp' window, only set title when not set before */
if(win->screen && win->screen->temp) {
- GHOST_SetTitle(win->ghostwin, "Blender");
+ char *title= GHOST_GetTitle(win->ghostwin);
+ if(title==NULL || title[0]==0)
+ GHOST_SetTitle(win->ghostwin, "Blender");
}
else {
@@ -671,13 +673,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr private)
GHOST_ScreenToClient(win->ghostwin, wx, wy, &cx, &cy);
win->eventstate->x= cx;
-
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom
- win->eventstate->y= cy;
-#else
win->eventstate->y= (win->sizey-1) - cy;
-#endif
win->addmousemove= 1; /* enables highlighted buttons */
@@ -794,20 +790,13 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr private)
wmEvent event;
GHOST_TEventDragnDropData *ddd= GHOST_GetEventData(evt);
int cx, cy, wx, wy;
-
/* entering window, update mouse pos */
GHOST_GetCursorPosition(g_system, &wx, &wy);
GHOST_ScreenToClient(win->ghostwin, wx, wy, &cx, &cy);
win->eventstate->x= cx;
-
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom
- win->eventstate->y= cy;
-#else
win->eventstate->y= (win->sizey-1) - cy;
-#endif
event= *(win->eventstate); /* copy last state, like mouse coords */
@@ -1009,6 +998,8 @@ void WM_event_remove_timer(wmWindowManager *wm, wmWindow *UNUSED(win), wmTimer *
if(wt==timer)
break;
if(wt) {
+ if(wm->reports.reporttimer == wt)
+ wm->reports.reporttimer= NULL;
BLI_remlink(&wm->timers, wt);
if(wt->customdata)
@@ -1145,12 +1136,7 @@ void wm_get_cursor_position(wmWindow *win, int *x, int *y)
{
GHOST_GetCursorPosition(g_system, x, y);
GHOST_ScreenToClient(win->ghostwin, *x, *y, x, y);
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa has silly exception that should be fixed at the ghost level
- //(ghost is an allegory for an invisible system specific code)
-#else
*y = (win->sizey-1) - *y;
-#endif
}
/* ******************* exported api ***************** */
@@ -1183,9 +1169,8 @@ void WM_cursor_warp(wmWindow *win, int x, int y)
if (win && win->ghostwin) {
int oldx=x, oldy=y;
-#if !defined(__APPLE__) || !defined(GHOST_COCOA)
y= win->sizey -y - 1;
-#endif
+
GHOST_ClientToScreen(win->ghostwin, x, y, &x, &y);
GHOST_SetCursorPosition(g_system, x, y);
diff --git a/source/blender/windowmanager/wm.h b/source/blender/windowmanager/wm.h
index f73652125b1..fd279c31f3c 100644
--- a/source/blender/windowmanager/wm.h
+++ b/source/blender/windowmanager/wm.h
@@ -78,7 +78,7 @@ void wm_autosave_timer(const bContext *C, wmWindowManager *wm, wmTimer *wt);
void wm_autosave_timer_ended(wmWindowManager *wm);
void wm_autosave_delete(void);
void wm_autosave_read(bContext *C, struct ReportList *reports);
-void wm_autosave_location(char *filename);
+void wm_autosave_location(char *filepath);
/* hack to store circle select size - campbell, must replace with nice operator memory */
#define GESTURE_MEMORY
diff --git a/source/blenderplayer/CMakeLists.txt b/source/blenderplayer/CMakeLists.txt
index b88c0fd04c1..ddfdfc97bdc 100644
--- a/source/blenderplayer/CMakeLists.txt
+++ b/source/blenderplayer/CMakeLists.txt
@@ -121,13 +121,13 @@ endif()
bf_intern_guardedalloc
bf_intern_memutil
bf_python_ext
+ bf_python_mathutils
bf_blenlib
bf_imbuf_cineon
bf_imbuf_openexr
extern_openjpeg
extern_redcode
bf_imbuf_dds
- bf_readblenfile
bf_dna
ge_videotex
bf_blenfont
@@ -140,6 +140,10 @@ endif()
bf_intern_mikktspace
)
+ if(WITH_MOD_CLOTH_ELTOPO)
+ list(APPEND BLENDER_SORTED_LIBS extern_eltopo)
+ endif()
+
if(WITH_BUILTIN_GLEW)
list(APPEND BLENDER_SORTED_LIBS extern_glew)
endif()
@@ -184,6 +188,12 @@ endif()
message(STATUS "Player Skipping: (${REM_MSG})")
endif()
target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS})
+
+ unset(SEARCHLIB)
+ unset(SORTLIB)
+ unset(REMLIB)
+ unset(REM_MSG)
+
# else()
# target_link_libraries(blenderplayer ${BLENDER_LINK_LIBS})
# endif()
diff --git a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
index 73fa01ebff2..f852d061cf7 100644
--- a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
+++ b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
@@ -29,12 +29,16 @@ remove_strict_flags()
set(INC
.
- ..
+ ..
+ ../../blender/blenkernel
+ ../../blender/blenloader
+ ../../blender/makesdna
+ ../../blender/makesrna
../../../intern/guardedalloc
- ../../../source/blender/makesdna
- ../../../source/blender/blenloader
- ../../../source/blender/makesrna
- ../../../source/blender/blenkernel
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -42,18 +46,14 @@ set(SRC
)
if(WITH_BUILDINFO)
- add_definitions(-DBUILD_DATE)
list(APPEND SRC
../../creator/buildinfo.c
)
+ add_definitions(-DBUILD_DATE)
endif()
if(WITH_GAMEENGINE)
add_definitions(-DWITH_GAMEENGINE)
endif()
-if(WITH_INTERNATIONAL)
- add_definitions(-DWITH_FREETYPE2)
-endif()
-
-blender_add_lib_nolist(blenkernel_blc "${SRC}" "${INC}")
+blender_add_lib_nolist(blenkernel_blc "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c
index 2f5d6702e3e..548d272ffd2 100644
--- a/source/blenderplayer/bad_level_call_stubs/stubs.c
+++ b/source/blenderplayer/bad_level_call_stubs/stubs.c
@@ -68,6 +68,7 @@ struct Mesh;
struct ModifierData;
struct MultiresModifierData;
struct NodeBlurData;
+struct Nurb;
struct Object;
struct PBVHNode;
struct Render;
@@ -135,7 +136,6 @@ int RE_RenderInProgress(struct Render *re){return 0;}
struct Scene *RE_GetScene(struct Render *re){return (struct Scene *) NULL;}
void RE_Database_Free(struct Render *re){}
void RE_FreeRender(struct Render *re){}
-void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr){}
void RE_DataBase_GetView(struct Render *re, float mat[][4]){}
int externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta){return 0;}
float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip){return 0.0f;}
@@ -230,6 +230,7 @@ short ANIM_add_driver(struct ID *id, const char rna_path[], int array_index, sho
short ANIM_remove_driver (struct ID *id, const char rna_path[], int array_index, short flag){return 0;}
void ED_space_image_release_buffer(struct SpaceImage *sima, void *lock){}
struct ImBuf *ED_space_image_acquire_buffer(struct SpaceImage *sima, void **lock_r){return (struct ImBuf *) NULL;}
+void ED_space_image_zoom(struct SpaceImage *sima, struct ARegion *ar, float *zoomx, float *zoomy) {}
char *ED_info_stats_string(struct Scene *scene){return (char *) NULL;}
void ED_area_tag_redraw(struct ScrArea *sa){}
void ED_area_tag_refresh(struct ScrArea *sa){}
@@ -243,6 +244,7 @@ void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct
void ED_view3d_scene_layers_update(struct Main *bmain, struct Scene *scene){}
int ED_view3d_scene_layer_set(int lay, const int *values){return 0;}
void ED_view3d_quadview_update(struct ScrArea *sa, struct ARegion *ar){}
+void ED_view3d_from_m4(float mat[][4], float ofs[3], float quat[4], float *dist){}
void view3d_apply_mat4(float mat[][4], float *ofs, float *quat, float *dist){}
int text_file_modified(struct Text *text){return 0;}
void ED_node_shader_default(struct Material *ma){}
@@ -290,7 +292,8 @@ float ED_rollBoneToVector(struct EditBone *bone, float new_up_axis[3]){return 0.
void ED_space_image_size(struct SpaceImage *sima, int *width, int *height){}
struct ListBase *ED_curve_editnurbs(struct Curve *cu){return NULL;}
-void free_curve_editNurb (struct Curve *cu){};
+void free_curve_editNurb (struct Curve *cu){}
+void ED_nurb_set_spline_type(struct Nurb *nu, int type){}
void EM_selectmode_set(struct EditMesh *em){}
int EM_texFaceCheck(struct EditMesh *em){return 0;}
@@ -375,6 +378,7 @@ void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr){}
void RE_ReleaseResult(struct Render *re){}
void RE_ReleaseResultImage(struct Render *re){}
int RE_engine_test_break(struct RenderEngine *engine){return 0;}
+void RE_engine_report(struct RenderEngine *engine, int type, const char *msg) {}
/* python */
struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;}
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index b39393bc8b7..43fec85b5bf 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -81,6 +81,10 @@ if(WITH_PYTHON)
endif()
endif()
+if(WITH_HEADLESS)
+ add_definitions(-DWITH_HEADLESS)
+endif()
+
if(WITH_GAMEENGINE)
blender_include_dirs(../gameengine/BlenderRoutines)
@@ -93,7 +97,7 @@ endif()
if(WITH_BINRELOC)
add_definitions(-DWITH_BINRELOC)
- blender_include_dirs(${BINRELOC_INC})
+ blender_include_dirs(${BINRELOC_INCLUDE_DIRS})
endif()
# Setup the exe sources and buildinfo
@@ -191,10 +195,10 @@ if(WITH_PYTHON_MODULE)
set_target_properties(
blender
PROPERTIES
- PREFIX ""
- OUTPUT_NAME bpy
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/ # only needed on windows
+ PREFIX ""
+ OUTPUT_NAME bpy
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin # only needed on windows
)
if(WIN32)
@@ -202,7 +206,7 @@ if(WITH_PYTHON_MODULE)
set_target_properties(
blender
PROPERTIES
- SUFFIX ".pyd"
+ SUFFIX ".pyd"
)
endif()
@@ -227,13 +231,27 @@ else()
set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH})
endif()
-# install target
+
+# -----------------------------------------------------------------------------
+# Install Targets
+
+set(BLENDER_TEXT_FILES
+ ${CMAKE_SOURCE_DIR}/release/text/GPL-license.txt
+ ${CMAKE_SOURCE_DIR}/release/text/Python-license.txt
+ ${CMAKE_SOURCE_DIR}/release/text/copyright.txt
+ ${CMAKE_SOURCE_DIR}/release/text/readme.html
+)
+
if(UNIX AND NOT APPLE)
if(WITH_INSTALL_PORTABLE)
set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION})
else()
- set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION})
+ if(WITH_PYTHON_MODULE)
+ set(TARGETDIR_VER ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages/${BLENDER_VERSION})
+ else()
+ set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION})
+ endif()
endif()
# important to make a clean install each time
@@ -253,9 +271,9 @@ if(UNIX AND NOT APPLE)
if(WITH_INSTALL_PORTABLE)
install(
FILES
- ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
- ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
- ${CMAKE_SOURCE_DIR}/doc/manpage/blender.1
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
+ ${CMAKE_SOURCE_DIR}/doc/manpage/blender.1
DESTINATION ${TARGETDIR}
)
@@ -266,17 +284,25 @@ if(UNIX AND NOT APPLE)
)
install(
- DIRECTORY ${CMAKE_SOURCE_DIR}/release/text/
+ FILES ${BLENDER_TEXT_FILES}
DESTINATION ${TARGETDIR}
- PATTERN ".svn" EXCLUDE
)
else()
# main blender binary
- install(
- PROGRAMS ${TARGETDIR}/blender
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
- )
+ if(WITH_PYTHON_MODULE)
+ install(
+ TARGETS blender
+ LIBRARY
+ DESTINATION ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages
+ )
+ else()
+ install(
+ PROGRAMS ${TARGETDIR}/blender
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
+ )
+ endif()
+
if(WITH_GAMEENGINE AND WITH_PLAYER)
install(
@@ -292,13 +318,13 @@ if(UNIX AND NOT APPLE)
)
install(
DIRECTORY
- ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/16x16
- ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/22x22
- ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/24x24
- ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/32x32
- ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/48x48
- ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/256x256
- DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/16x16
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/22x22
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/24x24
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/32x32
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/48x48
+ ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/256x256
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor
PATTERN ".svn" EXCLUDE
PATTERN "*.svg" EXCLUDE
)
@@ -315,26 +341,25 @@ if(UNIX AND NOT APPLE)
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1
)
install(
- DIRECTORY ${CMAKE_SOURCE_DIR}/release/text/
+ FILES ${BLENDER_TEXT_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/blender
- PATTERN ".svn" EXCLUDE
)
endif()
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
if(WITH_INTERNATIONAL)
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
install(
DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
- DESTINATION ${TARGETDIR_VER}/datafiles/
+ DESTINATION ${TARGETDIR_VER}/datafiles
PATTERN ".svn" EXCLUDE
)
endif()
@@ -343,7 +368,7 @@ if(UNIX AND NOT APPLE)
#
# install(
# DIRECTORY ${CMAKE_SOURCE_DIR}/release/plugins
- # DESTINATION ${TARGETDIR_VER}/
+ # DESTINATION ${TARGETDIR_VER}
# PATTERN ".svn" EXCLUDE
# )
@@ -351,7 +376,7 @@ if(UNIX AND NOT APPLE)
# install(CODE "message(\"copying blender scripts...\")")
install(
DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
- DESTINATION ${TARGETDIR_VER}/
+ DESTINATION ${TARGETDIR_VER}
PATTERN ".svn" EXCLUDE
PATTERN "__pycache__" EXCLUDE
)
@@ -362,9 +387,9 @@ if(UNIX AND NOT APPLE)
# install(CODE "message(\"copying a subset of the systems python...\")")
install(
DIRECTORY ${PYTHON_LIBPATH}/python${PYTHON_VERSION}
- DESTINATION ${TARGETDIR_VER}/python/lib/
+ DESTINATION ${TARGETDIR_VER}/python/lib
PATTERN ".svn" EXCLUDE
- PATTERN "__pycache__" EXCLUDE # ./distutils
+ PATTERN "__pycache__" EXCLUDE # * any cache *
PATTERN "distutils" EXCLUDE # ./distutils
PATTERN "lib2to3" EXCLUDE # ./lib2to3
PATTERN "config" EXCLUDE # ./config
@@ -372,8 +397,10 @@ if(UNIX AND NOT APPLE)
PATTERN "site-packages/*" EXCLUDE # ./site-packages/*
PATTERN "tkinter" EXCLUDE # ./tkinter
PATTERN "lib-dynload/_tkinter.*" EXCLUDE # ./lib-dynload/_tkinter.co
+ PATTERN "idlelib" EXCLUDE # ./idlelib
PATTERN "test" EXCLUDE # ./test
PATTERN "turtledemo" EXCLUDE # ./turtledemo
+ PATTERN "turtle.py" EXCLUDE # ./turtle.py
)
# # doesnt work, todo
@@ -390,42 +417,41 @@ elseif(WIN32)
)
install( # same as linux!, deduplicate
- DIRECTORY ${CMAKE_SOURCE_DIR}/release/text/
- DESTINATION ${TARGETDIR}/
- PATTERN ".svn" EXCLUDE
+ FILES ${BLENDER_TEXT_FILES}
+ DESTINATION ${TARGETDIR}
)
install( # same as linux!, deduplicate
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
if(WITH_INTERNATIONAL) # same as linux!, deduplicate
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
install(
DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
- DESTINATION ${TARGETDIR_VER}/datafiles/
+ DESTINATION ${TARGETDIR_VER}/datafiles
PATTERN ".svn" EXCLUDE
)
if(NOT CMAKE_CL_64)
install(
FILES ${LIBDIR}/gettext/lib/gnu_gettext.dll
- DESTINATION ${TARGETDIR}/
+ DESTINATION ${TARGETDIR}
)
install(
FILES ${LIBDIR}/iconv/lib/iconv.dll
- DESTINATION ${TARGETDIR}/
+ DESTINATION ${TARGETDIR}
)
endif()
endif()
install( # same as linux!, deduplicate
- DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale/
+ DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
DESTINATION ${TARGETDIR_VER}/datafiles/locale
PATTERN ".svn" EXCLUDE
)
@@ -434,7 +460,7 @@ elseif(WIN32)
#
# install(
# DIRECTORY ${CMAKE_SOURCE_DIR}/release/plugins
- # DESTINATION ${TARGETDIR_VER}/
+ # DESTINATION ${TARGETDIR_VER}
# PATTERN ".svn" EXCLUDE
# )
@@ -442,64 +468,48 @@ elseif(WIN32)
# install(CODE "message(\"copying blender scripts...\")")
install( # same as linux!, deduplicate
DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
- DESTINATION ${TARGETDIR_VER}/
+ DESTINATION ${TARGETDIR_VER}
PATTERN ".svn" EXCLUDE
PATTERN "__pycache__" EXCLUDE
)
- # TODO, multiple targets?
- install(FILES ${LIBDIR}/python/lib/python32.dll DESTINATION ${TARGETDIR}/ CONFIGURATIONS Release)
- install(FILES ${LIBDIR}/python/lib/python32.dll DESTINATION ${TARGETDIR}/ CONFIGURATIONS RelWithDebInfo)
- install(FILES ${LIBDIR}/python/lib/python32.dll DESTINATION ${TARGETDIR}/ CONFIGURATIONS MinSizeRel)
+ install(
+ FILES ${LIBDIR}/python/lib/python32.dll
+ DESTINATION ${TARGETDIR}
+ CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
+ )
install(
FILES ${LIBDIR}/python/lib/python32_d.dll
- DESTINATION ${TARGETDIR}/
+ DESTINATION ${TARGETDIR}
CONFIGURATIONS Debug
)
if(WITH_PYTHON_INSTALL)
- #~ # note, as far as python is concerned 'RelWithDebInfo' is not debug since its without debug flags.
+ # note, as far as python is concerned 'RelWithDebInfo' is not debug since its without debug flags.
# create the directory in multiple steps, so it actually gets created when it doesn't exist yet
- install(CODE "
- message(\"creating ${TARGETDIR_VER}/python/lib\")
- file(MAKE_DIRECTORY ${TARGETDIR_VER}/python/)
- file(MAKE_DIRECTORY ${TARGETDIR_VER}/python/lib/)
- message(\"done creating dir\")
- ")
-
- install(
- CODE
- "
- execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib/\"
- \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32.tar.gz\")
- "
- CONFIGURATIONS Release
- )
install(
CODE
"
- execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib/\"
- \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32.tar.gz\")
+ message(\"creating ${TARGETDIR_VER}/python/lib\")
+ file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python\")
+ file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python/lib\")
+ message(\"done creating dir\")
"
- CONFIGURATIONS RelWithDebInfo
- )
- install(
- CODE
- "
- execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib/\"
- \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32.tar.gz\")
- "
- CONFIGURATIONS MinSizeRel
)
+
install(
CODE
"
- execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib/\"
- \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32_d.tar.gz\")
+ if(\"\${CMAKE_INSTALL_CONFIG_NAME}\" STREQUAL \"Debug\")
+ execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
+ \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32_d.tar.gz\")
+ else()
+ execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
+ \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32.tar.gz\")
+ endif()
"
- CONFIGURATIONS Debug
)
# doesnt work, todo
@@ -511,82 +521,78 @@ elseif(WIN32)
# gettext and png are statically linked on win64
install(
FILES ${LIBDIR}/zlib/lib/zlib.dll
- DESTINATION ${TARGETDIR}/
+ DESTINATION ${TARGETDIR}
)
else()
install(
FILES
- ${LIBDIR}/png/lib/libpng.dll
- ${LIBDIR}/zlib/lib/zlib.dll
- DESTINATION ${TARGETDIR}/
+ ${LIBDIR}/png/lib/libpng.dll
+ ${LIBDIR}/zlib/lib/zlib.dll
+ DESTINATION ${TARGETDIR}
)
endif()
if(MSVC)
install(
FILES ${LIBDIR}/pthreads/lib/pthreadVC2.dll
- DESTINATION ${TARGETDIR}/
+ DESTINATION ${TARGETDIR}
)
else()
install(
FILES ${LIBDIR}/pthreads/lib/pthreadGC2.dll
- DESTINATION ${TARGETDIR}/
+ DESTINATION ${TARGETDIR}
)
endif()
if(WITH_CODEC_FFMPEG)
install(
FILES
- ${LIBDIR}/ffmpeg/lib/avcodec-52.dll
- ${LIBDIR}/ffmpeg/lib/avformat-52.dll
- ${LIBDIR}/ffmpeg/lib/avdevice-52.dll
- ${LIBDIR}/ffmpeg/lib/avutil-50.dll
- ${LIBDIR}/ffmpeg/lib/swscale-0.dll
- DESTINATION ${TARGETDIR}/
+ ${LIBDIR}/ffmpeg/lib/avcodec-52.dll
+ ${LIBDIR}/ffmpeg/lib/avformat-52.dll
+ ${LIBDIR}/ffmpeg/lib/avdevice-52.dll
+ ${LIBDIR}/ffmpeg/lib/avutil-50.dll
+ ${LIBDIR}/ffmpeg/lib/swscale-0.dll
+ DESTINATION ${TARGETDIR}
)
endif()
if(WITH_CODEC_SNDFILE)
install(
- FILES
- ${LIBDIR}/sndfile/lib/libsndfile-1.dll
- DESTINATION ${TARGETDIR}/
+ FILES ${LIBDIR}/sndfile/lib/libsndfile-1.dll
+ DESTINATION ${TARGETDIR}
)
endif()
if(WITH_OPENAL)
install(
FILES
- ${LIBDIR}/openal/lib/OpenAL32.dll
- ${LIBDIR}/openal/lib/wrap_oal.dll
- DESTINATION ${TARGETDIR}/
+ ${LIBDIR}/openal/lib/OpenAL32.dll
+ ${LIBDIR}/openal/lib/wrap_oal.dll
+ DESTINATION ${TARGETDIR}
)
endif()
if(WITH_SDL)
if(NOT CMAKE_CL_64)
install(
- FILES
- ${LIBDIR}/sdl/lib/SDL.dll
- DESTINATION ${TARGETDIR}/
+ FILES ${LIBDIR}/sdl/lib/SDL.dll
+ DESTINATION ${TARGETDIR}
)
endif()
endif()
- if(NOT CMAKE_CL_64)
+ if(NOT CMAKE_CL_64)
install(
- FILES
- ${LIBDIR}/thumbhandler/lib/BlendThumb.dll
- DESTINATION ${TARGETDIR}/
- )
- else()
+ FILES ${LIBDIR}/thumbhandler/lib/BlendThumb.dll
+ DESTINATION ${TARGETDIR}
+ )
+ else()
install(
- FILES
- ${LIBDIR}/thumbhandler/lib/BlendThumb64.dll
- DESTINATION ${TARGETDIR}/
- )
- endif()
+ FILES ${LIBDIR}/thumbhandler/lib/BlendThumb64.dll
+ DESTINATION ${TARGETDIR}
+ )
+ endif()
elseif(APPLE)
set(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app)
@@ -631,14 +637,14 @@ elseif(APPLE)
endmacro()
# install release and app files
- install_dir(
- ${CMAKE_SOURCE_DIR}/release/text/
- \${TARGETDIR}
+ install(
+ FILES ${BLENDER_TEXT_FILES}
+ DESTINATION ${TARGETDIR}
)
install(
FILES ${SOURCEDIR}/Contents/PkgInfo
- DESTINATION ${TARGETDIR}/blender.app/Contents/
+ DESTINATION ${TARGETDIR}/blender.app/Contents
)
install_dir(
@@ -648,7 +654,7 @@ elseif(APPLE)
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
- DESTINATION ${TARGETDIR_VER}/datafiles
+ DESTINATION ${TARGETDIR_VER}
)
# localization
@@ -698,6 +704,12 @@ elseif(APPLE)
endif()
endif()
+unset(BLENDER_TEXT_FILES)
+
+
+# -----------------------------------------------------------------------------
+# Setup link libs
+
add_dependencies(blender makesdna)
get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
@@ -756,6 +768,7 @@ endif()
bf_intern_opennl
bf_python
bf_python_ext
+ bf_python_mathutils
bf_ikplugin
bf_modifiers
bf_blenkernel
@@ -771,7 +784,6 @@ endif()
bf_imbuf_cineon
bf_imbuf_openexr
bf_imbuf_dds
- bf_readblenfile
bf_collada
bf_intern_bsp
bf_intern_bop
@@ -811,13 +823,13 @@ endif()
bf_intern_mikktspace
)
- if(WITH_MOD_CLOTH_ELTOPO)
+ if(WITH_MOD_CLOTH_ELTOPO)
list(APPEND BLENDER_SORTED_LIBS extern_eltopo)
- endif()
+ endif()
- if(WITH_BUILTIN_GLEW)
+ if(WITH_BUILTIN_GLEW)
list(APPEND BLENDER_SORTED_LIBS extern_glew)
- endif()
+ endif()
if(WITH_BINRELOC)
list(APPEND BLENDER_SORTED_LIBS extern_binreloc)
@@ -853,6 +865,12 @@ endif()
message(STATUS "Blender Skipping: (${REM_MSG})")
endif()
target_link_libraries(blender ${BLENDER_SORTED_LIBS})
+
+ unset(SEARCHLIB)
+ unset(SORTLIB)
+ unset(REMLIB)
+ unset(REM_MSG)
+
#else()
# target_link_libraries(blender ${BLENDER_LINK_LIBS})
#endif()
diff --git a/source/creator/SConscript b/source/creator/SConscript
index 79e03c8dddc..80428ba7bb6 100644
--- a/source/creator/SConscript
+++ b/source/creator/SConscript
@@ -1,48 +1,3 @@
#!/usr/bin/python
-Import ('env')
-import os
-sources = 'creator.c'
-
-incs = '#/intern/guardedalloc ../blender/blenlib ../blender/blenkernel'
-incs += ' ../blender/editors/include ../blender/blenloader ../blender/imbuf'
-incs += ' ../blender/renderconverter ../blender/render/extern/include ../blender/windowmanager'
-incs += ' ../blender/makesdna ../blender/makesrna'
-incs += ' ../gameengine/BlenderRoutines #/extern/glew/include ../blender/gpu'
-incs += ' ' + env['BF_OPENGL_INC']
-
-defs = []
-if env['WITH_BF_QUICKTIME']:
- incs += ' ' + env['BF_QUICKTIME_INC']
- defs.append('WITH_QUICKTIME')
-
-if env['WITH_BF_BINRELOC']:
- incs += ' ../../extern/binreloc/include'
- defs.append('WITH_BINRELOC')
-
-if env['WITH_BF_OPENEXR']:
- defs.append('WITH_OPENEXR')
-
-if env['WITH_BF_TIFF']:
- defs.append('WITH_TIFF')
-
-if not env['WITH_BF_SDL']:
- defs.append('DISABLE_SDL')
-
-if env['WITH_BF_PYTHON']:
- incs += ' ../blender/python'
- defs.append('WITH_PYTHON')
- if env['BF_DEBUG']:
- defs.append('_DEBUG')
-
-if env['BF_BUILDINFO']:
- defs.append('BUILD_DATE')
- defs.append('NAN_BUILDINFO')
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
- incs += ' ' + env['BF_PTHREADS_INC']
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
- incs += ' ' + env['BF_PTHREADS_INC']
-
-env.BlenderLib ( libname = 'bf_creator', sources = Split(sources), includes = Split(incs), defines = defs, libtype='core', priority = 0 )
+# dummy, code has been moved to Blender.creator()
diff --git a/source/creator/creator.c b/source/creator/creator.c
index 2b146822194..36209dbda78 100644
--- a/source/creator/creator.c
+++ b/source/creator/creator.c
@@ -64,6 +64,7 @@
#include "BLI_threads.h"
#include "BLI_scanfill.h" // for BLI_setErrorCallBack, TODO, move elsewhere
#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
#include "DNA_ID.h"
#include "DNA_scene_types.h"
@@ -151,7 +152,7 @@ char btempdir[FILE_MAX];
#define BLEND_VERSION_STRING_FMT "Blender %d.%02d (sub %d)\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION
-/* Initialise callbacks for the modules that need them */
+/* Initialize callbacks for the modules that need them */
static void setCallbacks(void);
/* set breakpoints here when running in debug mode, useful to catch floating point errors */
@@ -314,7 +315,6 @@ static int print_help(int UNUSED(argc), const char **UNUSED(argv), void *data)
printf ("\nEnvironment Variables:\n");
printf (" $BLENDER_USER_CONFIG Directory for user configuration files.\n");
- printf (" $BLENDER_SYSTEM_CONFIG Directory for system wide configuration files.\n");
printf (" $BLENDER_USER_SCRIPTS Directory for user scripts.\n");
printf (" $BLENDER_SYSTEM_SCRIPTS Directory for system wide scripts.\n");
printf (" $BLENDER_USER_DATAFILES Directory for user data files (icons, translations, ..).\n");
@@ -338,18 +338,6 @@ static int print_help(int UNUSED(argc), const char **UNUSED(argv), void *data)
double PIL_check_seconds_timer(void);
-/* XXX This was here to fix a crash when running python scripts
- * with -P that used the screen.
- *
- * static void main_init_screen( void )
-{
- setscreen(G.curscreen);
-
- if(G.main->scene.first==0) {
- set_scene( add_scene("1") );
- }
-}*/
-
static int end_arguments(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data))
{
return -1;
@@ -446,9 +434,12 @@ static int playback_mode(int UNUSED(argc), const char **UNUSED(argv), void *UNUS
{
/* not if -b was given first */
if (G.background == 0) {
-
-// XXX playanim(argc, argv); /* not the same argc and argv as before */
+#if 0 /* TODO, bring player back? */
+ playanim(argc, argv); /* not the same argc and argv as before */
+#else
+ fprintf(stderr, "Playback mode not supported in blender 2.5x\n");
exit(0);
+#endif
}
return -2;
@@ -551,7 +542,7 @@ static int set_output(int argc, const char **argv, void *data)
if (argc >= 1){
if (CTX_data_scene(C)) {
Scene *scene= CTX_data_scene(C);
- BLI_strncpy(scene->r.pic, argv[1], FILE_MAXDIR);
+ BLI_strncpy(scene->r.pic, argv[1], sizeof(scene->r.pic));
} else {
printf("\nError: no blend loaded. cannot use '-o / --render-output'.\n");
}
@@ -641,7 +632,7 @@ static int set_image_type(int argc, const char **argv, void *data)
else if (!strcmp(imtype,"CINEON")) scene->r.imtype = R_CINEON;
else if (!strcmp(imtype,"DPX")) scene->r.imtype = R_DPX;
#endif
-#if WITH_OPENJPEG
+#ifdef WITH_OPENJPEG
else if (!strcmp(imtype,"JP2")) scene->r.imtype = R_JP2;
#endif
else printf("\nError: Format from '-F / --render-format' not known or not compiled in this release.\n");
@@ -780,7 +771,9 @@ static int render_frame(int argc, const char **argv, void *data)
frame = MIN2(MAXFRAME, MAX2(MINAFRAME, frame));
- RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, frame, frame, scene->r.frame_step, &reports);
+ RE_SetReports(re, &reports);
+ RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, frame, frame, scene->r.frame_step);
+ RE_SetReports(re, NULL);
return 1;
} else {
printf("\nError: frame number must follow '-f / --render-frame'.\n");
@@ -801,7 +794,9 @@ static int render_animation(int UNUSED(argc), const char **UNUSED(argv), void *d
Render *re= RE_NewRender(scene->id.name);
ReportList reports;
BKE_reports_init(&reports, RPT_PRINT);
- RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, scene->r.sfra, scene->r.efra, scene->r.frame_step, &reports);
+ RE_SetReports(re, &reports);
+ RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, scene->r.sfra, scene->r.efra, scene->r.frame_step);
+ RE_SetReports(re, NULL);
} else {
printf("\nError: no blend loaded. cannot use '-a'.\n");
}
@@ -1003,6 +998,7 @@ static int load_file(int UNUSED(argc), const char **argv, void *data)
#ifdef WITH_PYTHON
/* run any texts that were loaded in and flagged as modules */
BPY_driver_reset();
+ BPY_app_handlers_reset();
BPY_modules_load_user(C);
#endif
@@ -1060,7 +1056,7 @@ static void setupArguments(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle)
static char debug_doc[] = "\n\tTurn debugging on\n"
"\n\t* Prints every operator call and their arguments"
"\n\t* Disables mouse grab (to interact with a debugger in some cases)"
- "\n\t* Keeps python sys.stdin rather then setting it to None";
+ "\n\t* Keeps python sys.stdin rather than setting it to None";
//BLI_argsAdd(ba, pass, short_arg, long_arg, doc, cb, C);
@@ -1099,7 +1095,6 @@ static void setupArguments(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle)
BLI_argsAdd(ba, 1, NULL, "--factory-startup", "\n\tSkip reading the "STRINGIFY(BLENDER_STARTUP_FILE)" in the users home directory", set_factory_startup, NULL);
/* TODO, add user env vars? */
- BLI_argsAdd(ba, 1, NULL, "--env-system-config", "\n\tSet the "STRINGIFY_ARG(BLENDER_SYSTEM_CONFIG)" environment variable", set_env, NULL);
BLI_argsAdd(ba, 1, NULL, "--env-system-datafiles", "\n\tSet the "STRINGIFY_ARG(BLENDER_SYSTEM_DATAFILES)" environment variable", set_env, NULL);
BLI_argsAdd(ba, 1, NULL, "--env-system-scripts", "\n\tSet the "STRINGIFY_ARG(BLENDER_SYSTEM_SCRIPTS)" environment variable", set_env, NULL);
BLI_argsAdd(ba, 1, NULL, "--env-system-plugins", "\n\tSet the "STRINGIFY_ARG(BLENDER_SYSTEM_PLUGINS)" environment variable", set_env, NULL);
@@ -1142,7 +1137,8 @@ static void setupArguments(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle)
#ifdef WITH_PYTHON_MODULE
/* allow python module to call main */
-#define main main_python
+#define main main_python_enter
+static void *evil_C= NULL;
#endif
int main(int argc, const char **argv)
@@ -1153,6 +1149,7 @@ int main(int argc, const char **argv)
#ifdef WITH_PYTHON_MODULE
#undef main
+ evil_C= C;
#endif
#ifdef WITH_BINRELOC
@@ -1213,6 +1210,8 @@ int main(int argc, const char **argv)
IMB_init();
+ BLI_cb_init();
+
#ifdef WITH_GAMEENGINE
syshandle = SYS_GetSystem();
#else
@@ -1229,7 +1228,7 @@ int main(int argc, const char **argv)
setuid(getuid()); /* end superuser */
#endif
-#ifdef WITH_PYTHON_MODULE
+#if defined(WITH_PYTHON_MODULE) || defined(WITH_HEADLESS)
G.background= 1; /* python module mode ALWAYS runs in background mode (for now) */
#else
/* for all platforms, even windos has it! */
@@ -1319,6 +1318,14 @@ int main(int argc, const char **argv)
return 0;
} /* end of int main(argc,argv) */
+#ifdef WITH_PYTHON_MODULE
+void main_python_exit(void)
+{
+ WM_exit((bContext *)evil_C);
+ evil_C= NULL;
+}
+#endif
+
static void error_cb(const char *err)
{
diff --git a/source/darwin/blender.app/Contents/Info.plist b/source/darwin/blender.app/Contents/Info.plist
index 2f5d235a619..23941d91075 100644
--- a/source/darwin/blender.app/Contents/Info.plist
+++ b/source/darwin/blender.app/Contents/Info.plist
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
-
- <key>CFBundleExecutable</key>
- <string>blender</string>
-
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
-
- <key>CFBundleIconFile</key>
- <string>blender icon.icns</string>
-
- <key>CFBundleName</key>
- <string>Blender</string>
- <key>CFBundleIdentifier</key>
- <string>org.blenderfoundation.blender</string>
-
- <key>CFBundleVersion</key>
- <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
- <key>CFBundleShortVersionString</key>
- <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
- <key>CFBundleGetInfoString</key>
- <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
-
- <key>CFBundleDocumentTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeIconFile</key>
- <string>blender file icon.icns</string>
- <key>CFBundleTypeName</key>
- <string>Blender File</string>
- <key>CFBundleTypeOSTypes</key>
- <array>
- <string>BLND</string>
- </array>
- <key>CFBundleTypeExtensions</key>
- <array>
- <string>blend</string>
- </array>
- <key>CFBundleTypeRole</key>
- <string>Editor</string>
- <key>LSIsAppleDefaultForType</key>
- <true/>
- </dict>
- </array>
-</dict>
-</plist>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+
+ <key>CFBundleExecutable</key>
+ <string>blender</string>
+
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+
+ <key>CFBundleIconFile</key>
+ <string>blender icon.icns</string>
+
+ <key>CFBundleName</key>
+ <string>Blender</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.blenderfoundation.blender</string>
+
+ <key>CFBundleVersion</key>
+ <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
+ <key>CFBundleShortVersionString</key>
+ <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
+ <key>CFBundleGetInfoString</key>
+ <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
+
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeIconFile</key>
+ <string>blender file icon.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Blender File</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>BLND</string>
+ </array>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>blend</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ </dict>
+ </array>
+</dict>
+</plist>
diff --git a/source/darwin/blenderplayer.app/Contents/Info.plist b/source/darwin/blenderplayer.app/Contents/Info.plist
index f99338d6c47..54364d18866 100644
--- a/source/darwin/blenderplayer.app/Contents/Info.plist
+++ b/source/darwin/blenderplayer.app/Contents/Info.plist
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
-
- <key>CFBundleExecutable</key>
- <string>blenderplayer</string>
-
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
-
- <key>CFBundleIconFile</key>
- <string>blender player icon.icns</string>
-
- <key>CFBundleName</key>
- <string>BlenderPlayer</string>
- <key>CFBundleIdentifier</key>
- <string>org.blenderfoundation.blenderplayer</string>
-
- <key>CFBundleVersion</key>
- <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
- <key>CFBundleShortVersionString</key>
- <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
- <key>CFBundleGetInfoString</key>
- <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
-
- <key>CFBundleDocumentTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeIconFile</key>
- <string>blender file icon.icns</string>
- <key>CFBundleTypeName</key>
- <string>Blender File</string>
- <key>CFBundleTypeOSTypes</key>
- <array>
- <string>BLND</string>
- </array>
- <key>CFBundleTypeExtensions</key>
- <array>
- <string>blend</string>
- </array>
- <key>CFBundleTypeRole</key>
- <string>Viewer</string>
- <key>LSIsAppleDefaultForType</key>
- <false/>
- </dict>
- </array>
-</dict>
-</plist>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+
+ <key>CFBundleExecutable</key>
+ <string>blenderplayer</string>
+
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+
+ <key>CFBundleIconFile</key>
+ <string>blender player icon.icns</string>
+
+ <key>CFBundleName</key>
+ <string>BlenderPlayer</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.blenderfoundation.blenderplayer</string>
+
+ <key>CFBundleVersion</key>
+ <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
+ <key>CFBundleShortVersionString</key>
+ <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
+ <key>CFBundleGetInfoString</key>
+ <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}, Blender Foundation</string>
+
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeIconFile</key>
+ <string>blender file icon.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Blender File</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>BLND</string>
+ </array>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>blend</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSIsAppleDefaultForType</key>
+ <false/>
+ </dict>
+ </array>
+</dict>
+</plist>
diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
index 571cc9087b3..a3ea85b605c 100644
--- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
+++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
@@ -81,6 +81,8 @@ extern "C" {
#include "DNA_windowmanager_types.h"
#include "BKE_global.h"
#include "BKE_report.h"
+/* #include "BKE_screen.h" */ /* cant include this because of 'new' function name */
+extern float BKE_screen_view3d_zoom_to_fac(float camzoom);
//XXX #include "BIF_screen.h"
@@ -93,7 +95,9 @@ extern "C" {
#include "BKE_ipo.h"
/***/
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
//XXX #include "BSE_headerbuttons.h"
#include "BKE_context.h"
@@ -248,15 +252,15 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
// some blender stuff
float camzoom;
+ int draw_letterbox = 0;
if(rv3d->persp==RV3D_CAMOB) {
if(startscene->gm.framing.type == SCE_GAMEFRAMING_BARS) { /* Letterbox */
camzoom = 1.0f;
+ draw_letterbox = 1;
}
else {
- camzoom = (1.41421 + (rv3d->camzoom / 50.0));
- camzoom *= camzoom;
- camzoom = 4.0 / camzoom;
+ camzoom = 1.0 / BKE_screen_view3d_zoom_to_fac(rv3d->camzoom);
}
}
else {
@@ -433,6 +437,16 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
if (render)
{
+ if(draw_letterbox) {
+ // Clear screen to border color
+ // We do this here since we set the canvas to be within the frames. This means the engine
+ // itself is unaware of the extra space, so we clear the whole region for it.
+ glClearColor(scene->gm.framing.col[0], scene->gm.framing.col[1], scene->gm.framing.col[2], 1.0f);
+ glViewport(ar->winrct.xmin, ar->winrct.ymin,
+ ar->winrct.xmax - ar->winrct.xmin, ar->winrct.ymax - ar->winrct.ymin);
+ glClear(GL_COLOR_BUFFER_BIT);
+ }
+
// render the frame
ketsjiengine->Render();
}
diff --git a/source/gameengine/BlenderRoutines/CMakeLists.txt b/source/gameengine/BlenderRoutines/CMakeLists.txt
index 6a17017f261..5a7304765e4 100644
--- a/source/gameengine/BlenderRoutines/CMakeLists.txt
+++ b/source/gameengine/BlenderRoutines/CMakeLists.txt
@@ -1,37 +1,40 @@
set(INC
.
- ../../../intern/string
+ ../Converter
+ ../Expressions
+ ../GameLogic
+ ../Ketsji
+ ../Network
+ ../Network/LoopBackNetwork
+ ../Physics/Bullet
+ ../Physics/common
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender
+ ../../blender/blenfont
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/blenloader
+ ../../blender/editors/include
+ ../../blender/gpu
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/makesrna
+ ../../blender/windowmanager
+ ../../../extern/bullet2/src
../../../intern/container
../../../intern/guardedalloc
- ../../../intern/audaspace/intern
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../source/gameengine/Converter
- ../../../source/blender/imbuf
../../../intern/moto/include
- ../../../source/gameengine/Ketsji
- ../../../source/blender/blenlib
- ../../../source/blender/blenkernel
- ../../../source/blender/blenfont
- ../../../source/blender/editors/include
- ../../../source/blender/windowmanager
- ../../../source/blender
- ../../../source/blender/makesdna
- ../../../source/blender/makesrna
- ../../../source/gameengine/Rasterizer
- ../../../source/gameengine/GameLogic
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/Network
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Physics/common
- ../../../source/gameengine/Physics/Bullet
- ../../../source/gameengine/Network/LoopBackNetwork
- ../../../source/blender/blenloader
- ../../../source/blender/gpu
- ../../../extern/bullet2/src
+ ../../../intern/string
${GLEW_INCLUDE_PATH}
)
+set(INC_SYS
+
+)
+
set(SRC
BL_KetsjiEmbedStart.cpp
BL_System.cpp
@@ -55,8 +58,15 @@ set(SRC
add_definitions(-DGLEW_STATIC)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
endif()
-blender_add_lib(ge_blen_routines "${SRC}" "${INC}")
+blender_add_lib(ge_blen_routines "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Converter/BL_ActionActuator.cpp b/source/gameengine/Converter/BL_ActionActuator.cpp
index c00e7ec7e29..7e353d590bb 100644
--- a/source/gameengine/Converter/BL_ActionActuator.cpp
+++ b/source/gameengine/Converter/BL_ActionActuator.cpp
@@ -405,7 +405,7 @@ bool BL_ActionActuator::Update(double curtime, bool frame)
// 2.5x - could also do this but looks too high level, constraints use this, it works ok.
// Object workob; /* evaluate using workob */
-// what_does_obaction((Scene *)obj->GetScene(), obj->GetArmatureObject(), &workob, m_pose, m_action, NULL, m_localtime);
+// what_does_obaction(obj->GetArmatureObject(), &workob, m_pose, m_action, NULL, m_localtime);
}
// done getting the pose from the action
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 1d90d97f824..c331b878178 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -145,9 +145,11 @@ extern "C" {
#include "BKE_customdata.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_DerivedMesh.h"
+#include "BKE_material.h" /* give_current_material */
+
+extern Material defmaterial; /* material.c */
}
-#include "BKE_material.h" /* give_current_material */
/* end of blender include block */
#include "KX_BlenderInputDevice.h"
@@ -462,7 +464,9 @@ bool ConvertMaterial(
}
}
}
- material->flag[i] |= (mat->ipo!=0)?HASIPO:0;
+#if 0 /* this flag isnt used anymore */
+ material->flag[i] |= (BKE_animdata_from_id(mat->id) != NULL) ? HASIPO : 0;
+#endif
/// --------------------------------
// mapping methods
material->mapping[i].mapping |= ( mttmp->texco & TEXCO_REFL )?USEREFL:0;
@@ -837,6 +841,11 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene,
else
ma = mesh->mat ? mesh->mat[mface->mat_nr]:NULL;
+ /* ckeck for texface since texface _only_ is used as a fallback */
+ if(ma == NULL && tface == NULL) {
+ ma= &defmaterial;
+ }
+
{
bool visible = true;
bool twoside = false;
@@ -1969,8 +1978,8 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
frame_type = RAS_FrameSettings::e_frame_scale;
}
- aspect_width = blenderscene->gm.xsch;
- aspect_height = blenderscene->gm.ysch;
+ aspect_width = blenderscene->r.xsch*blenderscene->r.xasp;
+ aspect_height = blenderscene->r.ysch*blenderscene->r.yasp;
}
RAS_FrameSettings frame_settings(
@@ -2600,6 +2609,9 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
bConstraint *curcon;
conlist = get_active_constraints2(blenderobject);
+ if((gameobj->GetLayer()&activeLayerBitInfo)==0)
+ continue;
+
if (conlist) {
for (curcon = (bConstraint *)conlist->first; curcon; curcon=(bConstraint *)curcon->next) {
if (curcon->type==CONSTRAINT_TYPE_RIGIDBODYJOINT){
@@ -2613,7 +2625,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
if (dat->tar)
{
KX_GameObject *gotar=getGameOb(dat->tar->id.name+2,sumolist);
- if (gotar && gotar->GetPhysicsController())
+ if (gotar && ((gotar->GetLayer()&activeLayerBitInfo)!=0) && gotar->GetPhysicsController())
physctr2 = (PHY_IPhysicsController*) gotar->GetPhysicsController()->GetUserData();
}
diff --git a/source/gameengine/Converter/CMakeLists.txt b/source/gameengine/Converter/CMakeLists.txt
index bdd0769e0a3..45a7701d404 100644
--- a/source/gameengine/Converter/CMakeLists.txt
+++ b/source/gameengine/Converter/CMakeLists.txt
@@ -26,37 +26,39 @@
set(INC
.
- ../../../intern/string
- ../../../intern/guardedalloc
+ ../BlenderRoutines
+ ../Expressions
+ ../GameLogic
+ ../Ketsji
+ ../Ketsji/KXNetwork
+ ../Network
+ ../Network/LoopBackNetwork
+ ../Physics/Bullet
+ ../Physics/Dummy
+ ../Physics/common
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/blenloader
+ ../../blender/gpu
+ ../../blender/ikplugin
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/makesrna
+ ../../blender/windowmanager
+ ../../../extern/bullet2/src
../../../intern/container
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../intern/audaspace/intern
- ../../../source/gameengine/Converter
- ../../../source/gameengine/BlenderRoutines
- ../../../source/blender/imbuf
+ ../../../intern/guardedalloc
../../../intern/moto/include
- ../../../source/gameengine/Ketsji
- ../../../source/gameengine/Ketsji/KXNetwork
- ../../../source/blender/blenlib
- ../../../source/blender/blenkernel
- ../../../source/blender/windowmanager
- ../../../source/blender
- ../../../source/blender/makesdna
- ../../../source/blender/makesrna
- ../../../source/gameengine/Rasterizer
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../source/gameengine/GameLogic
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/Network
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Physics/common
- ../../../source/gameengine/Physics/Bullet
- ../../../source/gameengine/Physics/Dummy
- ../../../source/gameengine/Network/LoopBackNetwork
- ../../../source/blender/blenloader
- ../../../source/blender/gpu
- ../../../source/blender/ikplugin
- ../../../extern/bullet2/src
+ ../../../intern/string
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -109,4 +111,11 @@ if(WITH_BULLET)
add_definitions(-DUSE_BULLET)
endif()
-blender_add_lib(ge_converter "${SRC}" "${INC}")
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+blender_add_lib(ge_converter "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
index 684ed0b06f9..58089cc4b2d 100644
--- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
+++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
@@ -994,7 +994,7 @@ bool KX_BlenderSceneConverter::LinkBlendFile(BlendHandle *bpy_openlib, const cha
int i=0;
LinkNode *n= names;
while(n) {
- BLO_library_append_named_part(C, main_tmp, &bpy_openlib, (char *)n->link, idcode, 0);
+ BLO_library_append_named_part(main_tmp, &bpy_openlib, (char *)n->link, idcode);
n= (LinkNode *)n->next;
i++;
}
@@ -1012,7 +1012,7 @@ bool KX_BlenderSceneConverter::LinkBlendFile(BlendHandle *bpy_openlib, const cha
int i=0;
LinkNode *n= names;
while(n) {
- BLO_library_append_named_part(C, main_tmp, &bpy_openlib, (char *)n->link, ID_AC, 0);
+ BLO_library_append_named_part(main_tmp, &bpy_openlib, (char *)n->link, ID_AC);
n= (LinkNode *)n->next;
i++;
}
diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp
index 01516a24182..51e0449a32e 100644
--- a/source/gameengine/Converter/KX_ConvertActuators.cpp
+++ b/source/gameengine/Converter/KX_ConvertActuators.cpp
@@ -43,7 +43,11 @@
#include "KX_BlenderSceneConverter.h"
#include "KX_ConvertActuators.h"
-#include "AUD_C-API.h"
+
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
+
// Actuators
//SCA logiclibrary native logicbricks
#include "SCA_PropertyActuator.h"
@@ -77,6 +81,7 @@
/* This little block needed for linking to Blender... */
#include "BKE_text.h"
#include "BLI_blenlib.h"
+#include "BLI_math_base.h"
#define FILE_MAX 240 // repeated here to avoid dependency from BKE_utildefines.h
@@ -286,7 +291,8 @@ void BL_ConvertActuators(char* maggiename,
camact->height,
camact->min,
camact->max,
- camact->axis=='x');
+ camact->axis=='x',
+ camact->damping);
baseact = tmpcamact;
}
break;
@@ -397,7 +403,7 @@ void BL_ConvertActuators(char* maggiename,
new KX_SoundActuator(gameobj,
snd_sound,
soundact->volume,
- (float)(exp((soundact->pitch / 12.0) * log(2.0))),
+ (float)(exp((soundact->pitch / 12.0) * M_LN2)),
is3d,
settings,
soundActuatorType);
diff --git a/source/gameengine/Expressions/CMakeLists.txt b/source/gameengine/Expressions/CMakeLists.txt
index 8cda0e2dc77..ad987091790 100644
--- a/source/gameengine/Expressions/CMakeLists.txt
+++ b/source/gameengine/Expressions/CMakeLists.txt
@@ -26,11 +26,15 @@
set(INC
.
- ../../../intern/string
+ ../SceneGraph
+ ../../blender/blenloader
../../../intern/guardedalloc
../../../intern/moto/include
- ../../../source/gameengine/SceneGraph
- ../../../source/blender/blenloader
+ ../../../intern/string
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -77,4 +81,4 @@ set(SRC
VoidValue.h
)
-blender_add_lib(ge_logic_expressions "${SRC}" "${INC}")
+blender_add_lib(ge_logic_expressions "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Expressions/PyObjectPlus.cpp b/source/gameengine/Expressions/PyObjectPlus.cpp
index c340d13b3d4..92be769ed71 100644
--- a/source/gameengine/Expressions/PyObjectPlus.cpp
+++ b/source/gameengine/Expressions/PyObjectPlus.cpp
@@ -179,7 +179,7 @@ PyObject * PyObjectPlus::py_base_new(PyTypeObject *type, PyObject *args, PyObjec
return NULL;
}
- /* use base_type rather then Py_TYPE(base) because we could already be subtyped */
+ /* use base_type rather than Py_TYPE(base) because we could already be subtyped */
if(!PyType_IsSubtype(type, base_type)) {
PyErr_Format(PyExc_TypeError, "can't subclass blender game type <%s> from <%s> because it is not a subclass", base_type->tp_name, type->tp_name);
return NULL;
@@ -1147,7 +1147,7 @@ PyObject *PyObjectPlus::NewProxyPlus_Ext(PyObjectPlus *self, PyTypeObject *tp, v
BGE_PROXY_REF(proxy) = NULL;
BGE_PROXY_PTR(proxy) = ptr;
#ifdef USE_WEAKREFS
- BGE_PROXY_WKREF(self->m_proxy) = NULL;
+ BGE_PROXY_WKREF(proxy) = NULL;
#endif
return proxy;
}
@@ -1184,47 +1184,10 @@ void PyObjectPlus::SetDeprecationWarnings(bool ignoreDeprecationWarnings)
m_ignore_deprecation_warnings = ignoreDeprecationWarnings;
}
-void PyDebugLine()
-{
- // import sys; print '\t%s:%d' % (sys._getframe(0).f_code.co_filename, sys._getframe(0).f_lineno)
-
- PyObject *getframe, *frame;
- PyObject *f_lineno, *f_code, *co_filename;
-
- getframe = PySys_GetObject((char *)"_getframe"); // borrowed
- if (getframe) {
- frame = PyObject_CallObject(getframe, NULL);
- if (frame) {
- f_lineno= PyObject_GetAttrString(frame, "f_lineno");
- f_code= PyObject_GetAttrString(frame, "f_code");
- if (f_lineno && f_code) {
- co_filename= PyObject_GetAttrString(f_code, "co_filename");
- if (co_filename) {
-
- printf("\t%s:%d\n", _PyUnicode_AsString(co_filename), (int)PyLong_AsSsize_t(f_lineno));
-
- Py_DECREF(f_lineno);
- Py_DECREF(f_code);
- Py_DECREF(co_filename);
- Py_DECREF(frame);
- return;
- }
- }
-
- Py_XDECREF(f_lineno);
- Py_XDECREF(f_code);
- Py_DECREF(frame);
- }
-
- }
- PyErr_Clear();
- printf("\tERROR - Could not access sys._getframe(0).f_lineno or sys._getframe().f_code.co_filename\n");
-}
-
void PyObjectPlus::ShowDeprecationWarning_func(const char* old_way,const char* new_way)
{
printf("Method %s is deprecated, please use %s instead.\n", old_way, new_way);
- PyDebugLine();
+ PyC_LineSpit();
}
void PyObjectPlus::ClearDeprecationWarning()
diff --git a/source/gameengine/Expressions/PyObjectPlus.h b/source/gameengine/Expressions/PyObjectPlus.h
index 157124ebc81..51cfb5471c0 100644
--- a/source/gameengine/Expressions/PyObjectPlus.h
+++ b/source/gameengine/Expressions/PyObjectPlus.h
@@ -54,7 +54,8 @@
#ifdef WITH_PYTHON
#ifdef USE_MATHUTILS
extern "C" {
-#include "../../blender/python/generic/mathutils.h" /* so we can have mathutils callbacks */
+#include "../../blender/python/mathutils/mathutils.h" /* so we can have mathutils callbacks */
+#include "../../blender/python/generic/py_capi_utils.h" /* for PyC_LineSpit only */
}
#endif
diff --git a/source/gameengine/GameLogic/CMakeLists.txt b/source/gameengine/GameLogic/CMakeLists.txt
index 2acf07584b1..bd417165337 100644
--- a/source/gameengine/GameLogic/CMakeLists.txt
+++ b/source/gameengine/GameLogic/CMakeLists.txt
@@ -25,18 +25,20 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- .
- ../../../intern/string
+ .
+ ../Expressions
+ ../Rasterizer
+ ../SceneGraph
../../../intern/container
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/SceneGraph
../../../intern/moto/include
- ../../../source/gameengine/Rasterizer
+ ../../../intern/string
+)
+
+set(INC_SYS
+
)
set(SRC
- Joystick/SCA_Joystick.cpp
- Joystick/SCA_JoystickEvents.cpp
SCA_2DFilterActuator.cpp
SCA_ANDController.cpp
SCA_ActuatorEventManager.cpp
@@ -77,10 +79,9 @@ set(SRC
SCA_TimeEventManager.cpp
SCA_XNORController.cpp
SCA_XORController.cpp
+ Joystick/SCA_Joystick.cpp
+ Joystick/SCA_JoystickEvents.cpp
- Joystick/SCA_Joystick.h
- Joystick/SCA_JoystickDefines.h
- Joystick/SCA_JoystickPrivate.h
SCA_2DFilterActuator.h
SCA_ANDController.h
SCA_ActuatorEventManager.h
@@ -121,12 +122,17 @@ set(SRC
SCA_TimeEventManager.h
SCA_XNORController.h
SCA_XORController.h
+ Joystick/SCA_Joystick.h
+ Joystick/SCA_JoystickDefines.h
+ Joystick/SCA_JoystickPrivate.h
)
if(WITH_SDL)
- set(INC ${INC} ${SDL_INCLUDE_DIR})
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
else()
add_definitions(-DDISABLE_SDL)
endif()
-blender_add_lib(ge_logic "${SRC}" "${INC}")
+blender_add_lib(ge_logic "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp b/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
index a73a6d4631b..48ba09e67d2 100644
--- a/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
+++ b/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
@@ -89,7 +89,7 @@ SCA_Joystick *SCA_Joystick::GetInstance( short int joyindex )
{
int i;
// do this once only
- if(SDL_InitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO ) == -1 ){
+ if(SDL_InitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO) == -1 ){
echo("Error-Initializing-SDL: " << SDL_GetError());
return NULL;
}
@@ -124,7 +124,7 @@ void SCA_Joystick::ReleaseInstance()
m_instance[i]= NULL;
}
- SDL_QuitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO );
+ SDL_QuitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO);
#endif
}
}
diff --git a/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp b/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
index 0a65fc1584a..c270d9a312b 100644
--- a/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
+++ b/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
@@ -55,10 +55,10 @@ SCA_2DFilterActuator::SCA_2DFilterActuator(
m_rasterizer(rasterizer),
m_scene(scene)
{
- m_gameObj = NULL;
+ m_gameobj = NULL;
if(gameobj){
m_propNames = gameobj->GetPropertyNames();
- m_gameObj = gameobj;
+ m_gameobj = gameobj;
}
}
@@ -91,7 +91,7 @@ bool SCA_2DFilterActuator::Update()
}
else if(m_type < RAS_2DFilterManager::RAS_2DFILTER_NUMBER_OF_FILTERS)
{
- m_scene->Update2DFilter(m_propNames, m_gameObj, m_type, m_int_arg, m_shaderText);
+ m_scene->Update2DFilter(m_propNames, m_gameobj, m_type, m_int_arg, m_shaderText);
}
// once the filter is in place, no need to update it again => disable the actuator
return false;
diff --git a/source/gameengine/GameLogic/SCA_2DFilterActuator.h b/source/gameengine/GameLogic/SCA_2DFilterActuator.h
index 87d2e8ddbcf..7f31c1713f4 100644
--- a/source/gameengine/GameLogic/SCA_2DFilterActuator.h
+++ b/source/gameengine/GameLogic/SCA_2DFilterActuator.h
@@ -42,7 +42,6 @@ class SCA_2DFilterActuator : public SCA_IActuator
private:
vector<STR_String> m_propNames;
- void * m_gameObj;
RAS_2DFilterManager::RAS_2DFILTER_MODE m_type;
short m_disableMotionBlur;
float m_float_arg;
diff --git a/source/gameengine/GameLogic/SCA_PythonController.cpp b/source/gameengine/GameLogic/SCA_PythonController.cpp
index d0c1155de96..19ddce13757 100644
--- a/source/gameengine/GameLogic/SCA_PythonController.cpp
+++ b/source/gameengine/GameLogic/SCA_PythonController.cpp
@@ -357,14 +357,7 @@ bool SCA_PythonController::Import()
m_function_argc = 0; /* rare cases this could be a function that isnt defined in python, assume zero args */
if (PyFunction_Check(m_function)) {
- PyObject *py_arg_count = PyObject_GetAttrString(PyFunction_GET_CODE(m_function), "co_argcount");
- if(py_arg_count) {
- m_function_argc = PyLong_AsLong(py_arg_count);
- Py_DECREF(py_arg_count);
- }
- else {
- PyErr_Clear(); /* unlikely to fail but just incase */
- }
+ m_function_argc= ((PyCodeObject *)PyFunction_GET_CODE(m_function))->co_argcount;
}
if(m_function_argc > 1) {
diff --git a/source/gameengine/GamePlayer/common/CMakeLists.txt b/source/gameengine/GamePlayer/common/CMakeLists.txt
index afbc49ea38d..8c5897fa48e 100644
--- a/source/gameengine/GamePlayer/common/CMakeLists.txt
+++ b/source/gameengine/GamePlayer/common/CMakeLists.txt
@@ -26,31 +26,34 @@
set(INC
.
- ../../../../intern/string
+ ../ghost
+ ../../BlenderRoutines
+ ../../Converter
+ ../../Expressions
+ ../../GameLogic
+ ../../Ketsji
+ ../../Network
+ ../../Network/LoopBackNetwork
+ ../../Physics/common
+ ../../Rasterizer
+ ../../Rasterizer/RAS_OpenGLRasterizer
+ ../../SceneGraph
+ ../../../blender
+ ../../../blender/blenfont
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/blenloader
+ ../../../blender/gpu
+ ../../../blender/imbuf
+ ../../../blender/makesdna
+ ../../../../intern/container
../../../../intern/ghost
../../../../intern/guardedalloc
- ../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../../source/gameengine/Converter
- ../../../../source/gameengine/BlenderRoutines
- ../../../../source/blender/imbuf
- ../../../../source/gameengine/Ketsji
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenfont
- ../../../../source/blender/blenkernel
- ../../../../source/blender
- ../../../../source/blender/makesdna
- ../../../../source/gameengine/Rasterizer
- ../../../../source/gameengine/GameLogic
- ../../../../source/gameengine/Expressions
- ../../../../source/gameengine/Network
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/Physics/common
- ../../../../source/gameengine/Network/LoopBackNetwork
- ../../../../source/gameengine/GamePlayer/ghost
- ../../../../source/blender/blenloader
- ../../../../source/blender/gpu
+ ../../../../intern/string
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
${PYTHON_INCLUDE_DIRS}
${PNG_INCLUDE_DIR}
@@ -58,7 +61,6 @@ set(INC
)
set(SRC
- bmfont.cpp
GPC_Canvas.cpp
GPC_Engine.cpp
GPC_KeyboardDevice.cpp
@@ -68,6 +70,7 @@ set(SRC
GPC_RawLogoArrays.cpp
GPC_RenderTools.cpp
GPC_System.cpp
+ bmfont.cpp
GPC_Canvas.h
GPC_Engine.h
@@ -82,4 +85,4 @@ set(SRC
add_definitions(-DGLEW_STATIC)
-blender_add_lib_nolist(ge_player_common "${SRC}" "${INC}")
+blender_add_lib_nolist(ge_player_common "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/GamePlayer/ghost/CMakeLists.txt b/source/gameengine/GamePlayer/ghost/CMakeLists.txt
index edf0839f747..944ec9abd67 100644
--- a/source/gameengine/GamePlayer/ghost/CMakeLists.txt
+++ b/source/gameengine/GamePlayer/ghost/CMakeLists.txt
@@ -26,33 +26,35 @@
set(INC
.
- ../../../../intern/string
+ ../common
+ ../../BlenderRoutines
+ ../../Converter
+ ../../Expressions
+ ../../GameLogic
+ ../../Ketsji
+ ../../Network
+ ../../Network/LoopBackNetwork
+ ../../Physics/common
+ ../../Rasterizer
+ ../../Rasterizer/RAS_OpenGLRasterizer
+ ../../SceneGraph
+ ../../../blender
+ ../../../blender/blenfont
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/blenloader
+ ../../../blender/gpu
+ ../../../blender/imbuf
+ ../../../blender/makesdna
+ ../../../blender/makesrna
+ ../../../../intern/container
../../../../intern/ghost
../../../../intern/guardedalloc
- ../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../../source/gameengine/BlenderRoutines
- ../../../../source/gameengine/Converter
- ../../../../source/blender/imbuf
- ../../../../source/gameengine/Ketsji
- ../../../../source/blender/blenfont
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenkernel
- ../../../../source/blender/readblenfile
- ../../../../source/blender
- ../../../../source/blender/makesdna
- ../../../../source/blender/makesrna
- ../../../../source/gameengine/Rasterizer
- ../../../../source/gameengine/GameLogic
- ../../../../source/gameengine/Expressions
- ../../../../source/gameengine/Network
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/Physics/common
- ../../../../source/gameengine/Network/LoopBackNetwork
- ../../../../source/gameengine/GamePlayer/common
- ../../../../source/blender/blenloader
- ../../../../source/blender/gpu
+ ../../../../intern/string
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
${PYTHON_INCLUDE_DIRS}
)
@@ -60,9 +62,9 @@ set(INC
set(SRC
GPG_Application.cpp
GPG_Canvas.cpp
- GPG_ghost.cpp
GPG_KeyboardDevice.cpp
GPG_System.cpp
+ GPG_ghost.cpp
GPG_Application.h
GPG_Canvas.h
@@ -76,4 +78,4 @@ if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
endif()
-blender_add_lib_nolist(ge_player_ghost "${SRC}" "${INC}")
+blender_add_lib_nolist(ge_player_ghost "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
index 6487d0298c7..f2b322084ed 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
@@ -448,6 +448,7 @@ bool GPG_Application::processEvent(GHOST_IEvent* event)
case GHOST_kEventWindowClose:
+ case GHOST_kEventQuit:
m_exitRequested = KX_EXIT_REQUEST_OUTSIDE;
break;
diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
index a4f1391b1b0..cbbeb9419d1 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
@@ -62,14 +62,17 @@ extern "C"
#include "BKE_global.h"
#include "BKE_icons.h"
#include "BKE_node.h"
-#include "BKE_report.h"
+#include "BKE_report.h"
+#include "BKE_library.h"
+#include "BLI_threads.h"
#include "BLI_blenlib.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "BLO_readfile.h"
-#include "BLO_readblenfile.h"
+#include "BLO_runtime.h"
#include "IMB_imbuf.h"
#include "BKE_text.h"
+#include "BKE_sound.h"
int GHOST_HACK_getFirstFile(char buf[]);
@@ -313,8 +316,8 @@ static BlendFileData *load_game_data(char *progname, char *filename = NULL, char
BKE_reports_init(&reports, RPT_STORE);
/* try to load ourself, will only work if we are a runtime */
- if (blo_is_a_runtime(progname)) {
- bfd= blo_read_runtime(progname, &reports);
+ if (BLO_is_a_runtime(progname)) {
+ bfd= BLO_read_runtime(progname, &reports);
if (bfd) {
bfd->type= BLENFILETYPE_RUNTIME;
strcpy(bfd->main->name, progname);
@@ -345,7 +348,9 @@ int main(int argc, char** argv)
bool fullScreen = false;
bool fullScreenParFound = false;
bool windowParFound = false;
+#ifdef WIN32
bool closeConsole = true;
+#endif
RAS_IRasterizer::StereoMode stereomode = RAS_IRasterizer::RAS_STEREO_NOSTEREO;
bool stereoWindow = false;
bool stereoParFound = false;
@@ -395,13 +400,21 @@ int main(int argc, char** argv)
::DisposeNibReference(nibRef);
*/
#endif // __APPLE__
-
+
+ // We don't use threads directly in the BGE, but we need to call this so things like
+ // freeing up GPU_Textures works correctly.
+ BLI_threadapi_init();
+
RNA_init();
init_nodesystem();
initglobals();
+ // We load our own G.main, so free the one that initglobals() gives us
+ free_main(G.main);
+ G.main = NULL;
+
IMB_init();
// Setup builtin font for BLF (mostly copied from creator.c, wm_init_exit.c and interface_style.c)
@@ -443,8 +456,13 @@ int main(int argc, char** argv)
U.audioformat = 0x24;
U.audiochannels = 2;
+ // XXX this one too
+ U.anisotropic_filter = 2;
+
+ sound_init_once();
+
/* if running blenderplayer the last argument can't be parsed since it has to be the filename. */
- isBlenderPlayer = !blo_is_a_runtime(argv[0]);
+ isBlenderPlayer = !BLO_is_a_runtime(argv[0]);
if (isBlenderPlayer)
validArguments = argc - 1;
else
@@ -570,7 +588,9 @@ int main(int argc, char** argv)
break;
case 'c':
i++;
+#ifdef WIN32
closeConsole = false;
+#endif
break;
case 's': // stereo
i++;
@@ -694,6 +714,8 @@ int main(int argc, char** argv)
{
GPU_set_mipmap(0);
}
+
+ GPU_set_anisotropic(U.anisotropic_filter);
// Create the system
if (GHOST_ISystem::createSystem() == GHOST_kSuccess)
diff --git a/source/gameengine/GamePlayer/ghost/SConscript b/source/gameengine/GamePlayer/ghost/SConscript
index 65bd55f95d7..de063f5e297 100644
--- a/source/gameengine/GamePlayer/ghost/SConscript
+++ b/source/gameengine/GamePlayer/ghost/SConscript
@@ -22,7 +22,6 @@ incs = ['.',
'#source/blender/blenfont',
'#source/blender/blenlib',
'#source/blender/blenkernel',
- '#source/blender/readblenfile',
'#source/blender',
'#source/blender/include',
'#source/blender/makesdna',
@@ -41,6 +40,8 @@ incs = ['.',
'#source/blender/gpu',
'#extern/glew/include']
+incs.append(env['BF_PTHREADS_INC'])
+
defs = [ 'GLEW_STATIC' ]
if env['WITH_BF_PYTHON']:
diff --git a/source/gameengine/Ketsji/BL_Material.h b/source/gameengine/Ketsji/BL_Material.h
index 126135f3d46..ef25c9218a3 100644
--- a/source/gameengine/Ketsji/BL_Material.h
+++ b/source/gameengine/Ketsji/BL_Material.h
@@ -144,7 +144,7 @@ enum BL_flag
USEALPHA=4, // use actual alpha channel
TEXALPHA=8, // use alpha combiner functions
TEXNEG=16, // negate blending
- HASIPO=32,
+ /*HASIPO=32,*/ // unused, commeted for now.
USENEGALPHA=64
};
diff --git a/source/gameengine/Ketsji/BL_Texture.cpp b/source/gameengine/Ketsji/BL_Texture.cpp
index d2438a66367..a306e059442 100644
--- a/source/gameengine/Ketsji/BL_Texture.cpp
+++ b/source/gameengine/Ketsji/BL_Texture.cpp
@@ -28,6 +28,7 @@
#define spit(x) std::cout << x << std::endl;
#include "MEM_guardedalloc.h"
+#include "GPU_draw.h"
extern "C" {
// envmaps
@@ -175,6 +176,8 @@ void BL_Texture::InitGLTex(unsigned int *pix,int x,int y,bool mipmap)
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, x, y, 0, GL_RGBA, GL_UNSIGNED_BYTE, pix );
}
+ if (GLEW_EXT_texture_filter_anisotropic)
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, GPU_get_anisotropic());
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
}
@@ -199,6 +202,9 @@ void BL_Texture::InitNonPow2Tex(unsigned int *pix,int x,int y,bool mipmap)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, nx, ny, 0, GL_RGBA, GL_UNSIGNED_BYTE, newPixels );
}
+
+ if (GLEW_EXT_texture_filter_anisotropic)
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, GPU_get_anisotropic());
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
free(newPixels);
}
diff --git a/source/gameengine/Ketsji/CMakeLists.txt b/source/gameengine/Ketsji/CMakeLists.txt
index 5726977b96a..e964b07b156 100644
--- a/source/gameengine/Ketsji/CMakeLists.txt
+++ b/source/gameengine/Ketsji/CMakeLists.txt
@@ -26,33 +26,35 @@
set(INC
.
- ../../../intern/string
- ../../../intern/guardedalloc
+ KXNetwork
+ ../BlenderRoutines
+ ../Converter
+ ../Expressions
+ ../GameLogic
+ ../Network
+ ../Network/LoopBackNetwork
+ ../Physics/common
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender
+ ../../blender/blenfont
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/blenloader
+ ../../blender/gpu
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/python
+ ../../blender/python/generic
+ ../../blender/python/mathutils
../../../intern/container
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../source/gameengine/Converter
- ../../../source/gameengine/BlenderRoutines
- ../../../source/blender/imbuf
+ ../../../intern/guardedalloc
../../../intern/moto/include
- ../../../source/gameengine/Ketsji
- ../../../source/blender/blenlib
- ../../../source/blender/blenfont
- ../../../source/blender/blenkernel
- ../../../source/blender/python
- ../../../source/blender/python/generic
- ../../../source/blender
- ../../../source/blender/makesdna
- ../../../source/gameengine/Rasterizer
- ../../../source/gameengine/GameLogic
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/Ketsji/KXNetwork
- ../../../source/gameengine/Network
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Physics/common
- ../../../source/gameengine/Network/LoopBackNetwork
- ../../../intern/audaspace/intern
- ../../../source/blender/blenloader
- ../../../source/blender/gpu
+ ../../../intern/string
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -127,6 +129,10 @@ set(SRC
KX_WorldInfo.cpp
KX_WorldIpoController.cpp
+ BL_BlenderShader.h
+ BL_Material.h
+ BL_Shader.h
+ BL_Texture.h
KX_ArmatureSensor.h
KX_BlenderMaterial.h
KX_BulletPhysicsController.h
@@ -200,16 +206,14 @@ set(SRC
KX_VisibilityActuator.h
KX_WorldInfo.h
KX_WorldIpoController.h
- BL_BlenderShader.h
- BL_Material.h
- BL_Shader.h
- BL_Texture.h
)
add_definitions(-DGLEW_STATIC)
if(WITH_SDL)
- set(INC ${INC} ${SDL_INCLUDE_DIR})
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
else()
add_definitions(-DDISABLE_SDL)
endif()
@@ -218,10 +222,19 @@ if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
endif()
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_BULLET)
+ list(APPEND INC
+ ../../../extern/bullet2/src
+ ../Physics/Bullet
+ )
add_definitions(-DUSE_BULLET)
- list(APPEND INC ../../../extern/bullet2/src)
- list(APPEND INC ../../../source/gameengine/Physics/Bullet )
endif()
-blender_add_lib(ge_logic_ketsji "${SRC}" "${INC}")
+blender_add_lib(ge_logic_ketsji "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
index 17a5929420d..1ebf1153150 100644
--- a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
+++ b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
@@ -26,14 +26,18 @@
set(INC
.
- ../../../../intern/string
+ ..
+ ../../Expressions
+ ../../GameLogic
+ ../../Network
+ ../../SceneGraph
../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Ketsji
- ../../../../source/gameengine/GameLogic
- ../../../../source/gameengine/Expressions
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/Network
+ ../../../../intern/string
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -50,4 +54,4 @@ set(SRC
KX_NetworkObjectSensor.h
)
-blender_add_lib(ge_logic_network "${SRC}" "${INC}")
+blender_add_lib(ge_logic_network "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Ketsji/KX_Camera.cpp b/source/gameengine/Ketsji/KX_Camera.cpp
index 98ea25c135a..c60c931c33b 100644
--- a/source/gameengine/Ketsji/KX_Camera.cpp
+++ b/source/gameengine/Ketsji/KX_Camera.cpp
@@ -923,6 +923,8 @@ KX_PYMETHODDEF_DOC_O(KX_Camera, getScreenPosition,
if (!PyVecTo(value, vect))
{
+ PyErr_Clear();
+
if(ConvertPythonToGameObject(value, &obj, true, ""))
{
PyErr_Clear();
@@ -1020,10 +1022,8 @@ KX_PYMETHODDEF_DOC_VARARGS(KX_Camera, getScreenRay,
return NULL;
PyObject* argValue = PyTuple_New(2);
- if (argValue) {
- PyTuple_SET_ITEM(argValue, 0, PyFloat_FromDouble(x));
- PyTuple_SET_ITEM(argValue, 1, PyFloat_FromDouble(y));
- }
+ PyTuple_SET_ITEM(argValue, 0, PyFloat_FromDouble(x));
+ PyTuple_SET_ITEM(argValue, 1, PyFloat_FromDouble(y));
if(!PyVecTo(PygetScreenVect(argValue), vect))
{
diff --git a/source/gameengine/Ketsji/KX_CameraActuator.cpp b/source/gameengine/Ketsji/KX_CameraActuator.cpp
index d68cb453fe8..ebb291b2284 100644
--- a/source/gameengine/Ketsji/KX_CameraActuator.cpp
+++ b/source/gameengine/Ketsji/KX_CameraActuator.cpp
@@ -54,14 +54,16 @@ KX_CameraActuator::KX_CameraActuator(
float hght,
float minhght,
float maxhght,
- bool xytog
+ bool xytog,
+ float damping
):
SCA_IActuator(gameobj, KX_ACT_CAMERA),
m_ob (obj),
m_height (hght),
m_minHeight (minhght),
m_maxHeight (maxhght),
- m_x (xytog)
+ m_x (xytog),
+ m_damping (damping)
{
if (m_ob)
m_ob->RegisterActuator(this);
@@ -283,7 +285,7 @@ bool KX_CameraActuator::Update(double curtime, bool frame)
}
inp= fp1[0]*fp2[0] + fp1[1]*fp2[1] + fp1[2]*fp2[2];
- fac= (-1.0 + inp)/32.0;
+ fac= (-1.0 + inp) * m_damping;
from[0]+= fac*fp1[0];
from[1]+= fac*fp1[1];
@@ -390,6 +392,7 @@ PyAttributeDef KX_CameraActuator::Attributes[] = {
KX_PYATTRIBUTE_FLOAT_RW("height",-FLT_MAX,FLT_MAX,KX_CameraActuator,m_height),
KX_PYATTRIBUTE_BOOL_RW("useXY",KX_CameraActuator,m_x),
KX_PYATTRIBUTE_RW_FUNCTION("object", KX_CameraActuator, pyattr_get_object, pyattr_set_object),
+ KX_PYATTRIBUTE_FLOAT_RW("damping",0.f,10.f,KX_CameraActuator,m_damping),
{NULL}
};
diff --git a/source/gameengine/Ketsji/KX_CameraActuator.h b/source/gameengine/Ketsji/KX_CameraActuator.h
index d59fcff9370..f844f6418b8 100644
--- a/source/gameengine/Ketsji/KX_CameraActuator.h
+++ b/source/gameengine/Ketsji/KX_CameraActuator.h
@@ -73,6 +73,9 @@ private :
/** xy toggle (pick one): true == x, false == y */
bool m_x;
+
+ /** damping (float), */
+ float m_damping;
/* get the KX_IGameObject with this name */
CValue *findObject(char *obName);
@@ -95,7 +98,8 @@ private :
float hght,
float minhght,
float maxhght,
- bool xytog
+ bool xytog,
+ float damping
);
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp
index 41efbe27095..2d548ae6d54 100644
--- a/source/gameengine/Ketsji/KX_GameObject.cpp
+++ b/source/gameengine/Ketsji/KX_GameObject.cpp
@@ -339,7 +339,7 @@ void KX_GameObject::RemoveParent(KX_Scene *scene)
rootobj->m_pPhysicsController1->RemoveCompoundChild(m_pPhysicsController1);
}
m_pPhysicsController1->RestoreDynamics();
- if (m_pPhysicsController1->IsDyna() && rootobj->m_pPhysicsController1)
+ if (m_pPhysicsController1->IsDyna() && (rootobj != NULL && rootobj->m_pPhysicsController1))
{
// dynamic object should remember the velocity they had while being parented
MT_Point3 childPoint = GetSGNode()->GetWorldPosition();
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
index 1b35219a36d..0aa36b4cd5f 100644
--- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
+++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
@@ -68,7 +68,9 @@
#include "KX_PyConstraintBinding.h"
#include "PHY_IPhysicsEnvironment.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "NG_NetworkScene.h"
#include "NG_NetworkDeviceInterface.h"
@@ -1218,7 +1220,7 @@ void KX_KetsjiEngine::RenderFrame(KX_Scene* scene, KX_Camera* cam)
projmat.setValue(m_overrideCamProjMat.getPointer());
cam->SetProjectionMatrix(projmat);
}
- } else if (cam->hasValidProjectionMatrix() && !cam->GetViewport() )
+ } else if (cam->hasValidProjectionMatrix())
{
m_rasterizer->SetProjectionMatrix(cam->GetProjectionMatrix());
} else
diff --git a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
index bf288e1f1ad..12024657149 100644
--- a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
+++ b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
@@ -405,8 +405,13 @@ static PyObject* gPyCreateConstraint(PyObject* self,
PyObject* args,
PyObject* kwds)
{
- /* FIXME - physicsid is an int being cast to a pointer, should at least use PyCapsule */
- int physicsid=0,physicsid2 = 0,constrainttype=0,extrainfo=0;
+ /* FIXME - physicsid is a long being cast to a pointer, should at least use PyCapsule */
+#if defined(_WIN64)
+ __int64 physicsid=0,physicsid2 = 0;
+#else
+ long physicsid=0,physicsid2 = 0;
+#endif
+ int constrainttype=0, extrainfo=0;
int len = PyTuple_Size(args);
int success = 1;
int flag = 0;
@@ -414,27 +419,51 @@ static PyObject* gPyCreateConstraint(PyObject* self,
float pivotX=1,pivotY=1,pivotZ=1,axisX=0,axisY=0,axisZ=1;
if (len == 3)
{
- success = PyArg_ParseTuple(args,"iii",&physicsid,&physicsid2,&constrainttype);
+#if defined(_WIN64)
+ success = PyArg_ParseTuple(args,"LLi",&physicsid,&physicsid2,&constrainttype);
+#else
+ success = PyArg_ParseTuple(args,"lli",&physicsid,&physicsid2,&constrainttype);
+#endif
}
else
if (len ==6)
{
- success = PyArg_ParseTuple(args,"iiifff",&physicsid,&physicsid2,&constrainttype,
+#if defined(_WIN64)
+ success = PyArg_ParseTuple(args,"LLifff",&physicsid,&physicsid2,&constrainttype,
&pivotX,&pivotY,&pivotZ);
+#else
+ success = PyArg_ParseTuple(args,"llifff",&physicsid,&physicsid2,&constrainttype,
+ &pivotX,&pivotY,&pivotZ);
+#endif
}
else if (len == 9)
{
- success = PyArg_ParseTuple(args,"iiiffffff",&physicsid,&physicsid2,&constrainttype,
+#if defined(_WIN64)
+ success = PyArg_ParseTuple(args,"LLiffffff",&physicsid,&physicsid2,&constrainttype,
&pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ);
+#else
+ success = PyArg_ParseTuple(args,"lliffffff",&physicsid,&physicsid2,&constrainttype,
+ &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ);
+#endif
+
}
else if (len == 10)
{
- success = PyArg_ParseTuple(args,"iiiffffffi",&physicsid,&physicsid2,&constrainttype,
+#if defined(_WIN64)
+ success = PyArg_ParseTuple(args,"LLiffffffi",&physicsid,&physicsid2,&constrainttype,
&pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ,&flag);
+#else
+ success = PyArg_ParseTuple(args,"lliffffffi",&physicsid,&physicsid2,&constrainttype,
+ &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ,&flag);
+#endif
}
else if (len==4)
{
- success = PyArg_ParseTuple(args,"iiii",&physicsid,&physicsid2,&constrainttype,&extrainfo);
+#if defined(_WIN64)
+ success = PyArg_ParseTuple(args,"LLii",&physicsid,&physicsid2,&constrainttype,&extrainfo);
+#else
+ success = PyArg_ParseTuple(args,"llii",&physicsid,&physicsid2,&constrainttype,&extrainfo);
+#endif
pivotX=extrainfo;
}
diff --git a/source/gameengine/Ketsji/KX_PyMath.h b/source/gameengine/Ketsji/KX_PyMath.h
index 9b198f85664..4864482c33b 100644
--- a/source/gameengine/Ketsji/KX_PyMath.h
+++ b/source/gameengine/Ketsji/KX_PyMath.h
@@ -49,7 +49,7 @@
#ifdef WITH_PYTHON
#ifdef USE_MATHUTILS
extern "C" {
-#include "../../blender/python/generic/mathutils.h" /* so we can have mathutils callbacks */
+#include "../../blender/python/mathutils/mathutils.h" /* so we can have mathutils callbacks */
}
#endif
diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp
index a3738995db3..f643030e3a2 100644
--- a/source/gameengine/Ketsji/KX_PythonInit.cpp
+++ b/source/gameengine/Ketsji/KX_PythonInit.cpp
@@ -54,7 +54,7 @@
extern "C" {
#include "bpy_internal_import.h" /* from the blender python api, but we want to import text too! */
#include "py_capi_utils.h"
- #include "mathutils.h" // Blender.Mathutils module copied here so the blenderlayer can use.
+ #include "mathutils.h" // 'mathutils' module copied here so the blenderlayer can use.
#include "bgl.h"
#include "blf_py_api.h"
@@ -327,7 +327,7 @@ static PyObject* gPyLoadGlobalDict(PyObject*)
{
char marshal_path[512];
char *marshal_buffer = NULL;
- unsigned int marshal_length;
+ size_t marshal_length;
FILE *fp = NULL;
int result;
@@ -338,7 +338,7 @@ static PyObject* gPyLoadGlobalDict(PyObject*)
if (fp) {
// obtain file size:
fseek (fp, 0, SEEK_END);
- marshal_length = ftell(fp);
+ marshal_length = (size_t)ftell(fp);
rewind(fp);
marshal_buffer = (char*)malloc (sizeof(char)*marshal_length);
@@ -1749,7 +1749,7 @@ static void restorePySysObjects(void)
// Copied from bpy_interface.c
static struct _inittab bge_internal_modules[]= {
- {(char *)"mathutils", BPyInit_mathutils},
+ {(char *)"mathutils", PyInit_mathutils},
{(char *)"bgl", BPyInit_bgl},
{(char *)"blf", BPyInit_blf},
{(char *)"aud", AUD_initPython},
@@ -1781,7 +1781,7 @@ PyObject* initGamePlayerPythonScripting(const STR_String& progname, TPythonSecur
PyImport_ExtendInittab(bge_internal_modules);
/* find local python installation */
- PyC_SetHomePath(BLI_get_folder(BLENDER_PYTHON, NULL));
+ PyC_SetHomePath(BLI_get_folder(BLENDER_SYSTEM_PYTHON, NULL));
Py_Initialize();
diff --git a/source/gameengine/Ketsji/KX_SoundActuator.cpp b/source/gameengine/Ketsji/KX_SoundActuator.cpp
index 45ba827a1b8..75012181ac2 100644
--- a/source/gameengine/Ketsji/KX_SoundActuator.cpp
+++ b/source/gameengine/Ketsji/KX_SoundActuator.cpp
@@ -36,7 +36,11 @@
#include "KX_SoundActuator.h"
-#include "AUD_C-API.h"
+
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
+
#include "KX_GameObject.h"
#include "KX_PyMath.h" // needed for PyObjectFrom()
#include <iostream>
diff --git a/source/gameengine/Ketsji/KX_SoundActuator.h b/source/gameengine/Ketsji/KX_SoundActuator.h
index e7257245a80..eb6717f78f0 100644
--- a/source/gameengine/Ketsji/KX_SoundActuator.h
+++ b/source/gameengine/Ketsji/KX_SoundActuator.h
@@ -36,7 +36,10 @@
#include "SCA_IActuator.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
+
#include "BKE_sound.h"
typedef struct KX_3DSoundSettings
diff --git a/source/gameengine/Ketsji/SConscript b/source/gameengine/Ketsji/SConscript
index 08642262724..62caa602c23 100644
--- a/source/gameengine/Ketsji/SConscript
+++ b/source/gameengine/Ketsji/SConscript
@@ -6,7 +6,8 @@ Import ('env')
sources = env.Glob('*.cpp')
defs = [ 'GLEW_STATIC' ]
-incs = '. #source/blender/python/generic' # Only for Mathutils! and bpy_internal_import.h, be very careful
+incs = '. #source/blender/python/generic' # Only for bpy_internal_import.h, be very careful
+incs += ' #source/blender/python/mathutils' # Only for mathutils, be very careful
incs += ' #intern/string #intern/guardedalloc #intern/container'
incs += ' #source/gameengine/Rasterizer/RAS_OpenGLRasterizer'
diff --git a/source/gameengine/Network/CMakeLists.txt b/source/gameengine/Network/CMakeLists.txt
index 7f4c7c357da..4d6d035c63d 100644
--- a/source/gameengine/Network/CMakeLists.txt
+++ b/source/gameengine/Network/CMakeLists.txt
@@ -26,9 +26,13 @@
set(INC
.
- ../../../intern/string
../../../intern/container
../../../intern/moto/include
+ ../../../intern/string
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -42,4 +46,4 @@ set(SRC
NG_NetworkScene.h
)
-blender_add_lib(ge_logic_ngnetwork "${SRC}" "${INC}")
+blender_add_lib(ge_logic_ngnetwork "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt
index d7b88304474..c816a30f1a8 100644
--- a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt
+++ b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt
@@ -26,9 +26,13 @@
set(INC
.
- ../../../../intern/string
+ ..
../../../../intern/container
- ../../../../source/gameengine/Network
+ ../../../../intern/string
+)
+
+set(INC_SYS
+
)
set(SRC
@@ -37,4 +41,4 @@ set(SRC
NG_LoopBackNetworkDeviceInterface.h
)
-blender_add_lib(ge_logic_loopbacknetwork "${SRC}" "${INC}")
+blender_add_lib(ge_logic_loopbacknetwork "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Physics/Bullet/CMakeLists.txt b/source/gameengine/Physics/Bullet/CMakeLists.txt
index a984d0436f0..971c8f979f3 100644
--- a/source/gameengine/Physics/Bullet/CMakeLists.txt
+++ b/source/gameengine/Physics/Bullet/CMakeLists.txt
@@ -30,19 +30,22 @@ remove_strict_flags()
set(INC
.
../common
- ../../../../extern/bullet2/src
- ../../../../intern/moto/include
- ../../../../intern/guardedalloc
- ../../../../intern/container
- ../../../../intern/string
- ../../Rasterizer
- ../../Ketsji
../../Expressions
../../GameLogic
+ ../../Ketsji
+ ../../Rasterizer
../../SceneGraph
- ../../../../source/blender/makesdna
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenkernel
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/makesdna
+ ../../../../extern/bullet2/src
+ ../../../../intern/container
+ ../../../../intern/guardedalloc
+ ../../../../intern/moto/include
+ ../../../../intern/string
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
${PYTHON_INCLUDE_DIRS}
)
@@ -61,4 +64,4 @@ if(WITH_BULLET)
add_definitions(-DUSE_BULLET)
endif()
-blender_add_lib(ge_phys_bullet "${SRC}" "${INC}")
+blender_add_lib(ge_phys_bullet "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
index 0c5cbb22fbc..2bc11ef5f5b 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
@@ -2142,6 +2142,7 @@ btCollisionShape* CcdShapeConstructionInfo::CreateBulletShape(btScalar margin, b
}
collisionShape = compoundShape;
}
+ break;
}
return collisionShape;
}
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsController.h b/source/gameengine/Physics/Bullet/CcdPhysicsController.h
index 97dc65c5850..08445654916 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsController.h
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsController.h
@@ -226,18 +226,43 @@ struct CcdConstructionInfo
CcdConstructionInfo()
- : m_localInertiaTensor(1.f, 1.f, 1.f),
+ :m_localInertiaTensor(1.f, 1.f, 1.f),
m_gravity(0,0,0),
m_scaling(1.f,1.f,1.f),
m_mass(0.f),
- m_clamp_vel_min(-1.f),
- m_clamp_vel_max(-1.f),
+ m_clamp_vel_min(-1.f),
+ m_clamp_vel_max(-1.f),
m_restitution(0.1f),
m_friction(0.5f),
m_linearDamping(0.1f),
m_angularDamping(0.1f),
m_margin(0.06f),
m_gamesoftFlag(0),
+ m_soft_linStiff(1.f),
+ m_soft_angStiff(1.f),
+ m_soft_volume(1.f),
+ m_soft_viterations(0),
+ m_soft_piterations(1),
+ m_soft_diterations(0),
+ m_soft_citerations(4),
+ m_soft_kSRHR_CL(0.1f),
+ m_soft_kSKHR_CL(1.f),
+ m_soft_kSSHR_CL(0.5f),
+ m_soft_kSR_SPLT_CL(0.5f),
+ m_soft_kSK_SPLT_CL(0.5f),
+ m_soft_kSS_SPLT_CL(0.5f),
+ m_soft_kVCF(1.f),
+ m_soft_kDP(0.f),
+ m_soft_kDG(0.f),
+ m_soft_kLF(0.f),
+ m_soft_kPR(0.f),
+ m_soft_kVC(0.f),
+ m_soft_kDF(0.2f),
+ m_soft_kMT(0),
+ m_soft_kCHR(1.0f),
+ m_soft_kKHR(0.1f),
+ m_soft_kSHR(1.0f),
+ m_soft_kAHR(0.7f),
m_collisionFlags(0),
m_bRigid(false),
m_bSoft(false),
@@ -252,38 +277,13 @@ struct CcdConstructionInfo
m_inertiaFactor(1.f),
m_do_anisotropic(false),
m_anisotropicFriction(1.f,1.f,1.f),
- m_contactProcessingThreshold(1e10f),
- m_soft_linStiff(1.f),
- m_soft_angStiff(1.f),
- m_soft_volume(1.f),
- m_soft_viterations(0),
- m_soft_piterations(1),
- m_soft_diterations(0),
- m_soft_citerations(4),
m_do_fh(false),
m_do_rot_fh(false),
m_fh_spring(0.f),
m_fh_damping(0.f),
m_fh_distance(1.f),
m_fh_normal(false),
- m_soft_kVCF(1.f),
- m_soft_kDG(0.f),
- m_soft_kLF(0.f),
- m_soft_kDP(0.f),
- m_soft_kPR(0.f),
- m_soft_kVC(0.f),
- m_soft_kDF(0.2f),
- m_soft_kMT(0),
- m_soft_kCHR(1.0f),
- m_soft_kKHR(0.1f),
- m_soft_kSHR(1.0f),
- m_soft_kAHR(0.7f),
- m_soft_kSRHR_CL(0.1f),
- m_soft_kSKHR_CL(1.f),
- m_soft_kSSHR_CL(0.5f),
- m_soft_kSR_SPLT_CL(0.5f),
- m_soft_kSK_SPLT_CL(0.5f),
- m_soft_kSS_SPLT_CL(0.5f)
+ m_contactProcessingThreshold(1e10f)
{
}
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
index 416cef71067..3f0c4cb95a1 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
@@ -939,7 +939,7 @@ int CcdPhysicsEnvironment::createUniversalD6Constraint(
} else
{
// TODO: Implement single body case...
- //No, we can use a fixed rigidbody in above code, rather then unnecessary duplation of code
+ //No, we can use a fixed rigidbody in above code, rather than unnecessary duplation of code
}
@@ -2271,7 +2271,7 @@ PHY_IPhysicsController* CcdPhysicsEnvironment::CreateSphereController(float radi
cinfo.m_collisionShape = new btSphereShape(radius); // memory leak! The shape is not deleted by Bullet and we cannot add it to the KX_Scene.m_shapes list
cinfo.m_MotionState = 0;
cinfo.m_physicsEnv = this;
- // declare this object as Dyamic rather then static!!
+ // declare this object as Dyamic rather than static!!
// The reason as it is designed to detect all type of object, including static object
// It would cause static-static message to be printed on the console otherwise
cinfo.m_collisionFlags |= btCollisionObject::CF_NO_CONTACT_RESPONSE | btCollisionObject::CF_STATIC_OBJECT;
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
index 51e00b9111f..18e1282b111 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
@@ -128,7 +128,7 @@ protected:
virtual void setFixedTimeStep(bool useFixedTimeStep,float fixedTimeStep)
{
//based on DEFAULT_PHYSICS_TIC_RATE of 60 hertz
- setNumTimeSubSteps(fixedTimeStep/60.f);
+ setNumTimeSubSteps((int)(fixedTimeStep / 60.f));
}
//returns 0.f if no fixed timestep is used
diff --git a/source/gameengine/Physics/Dummy/CMakeLists.txt b/source/gameengine/Physics/Dummy/CMakeLists.txt
index fd7f37897eb..11230bbe571 100644
--- a/source/gameengine/Physics/Dummy/CMakeLists.txt
+++ b/source/gameengine/Physics/Dummy/CMakeLists.txt
@@ -29,10 +29,14 @@ set(INC
../common
)
+set(INC_SYS
+
+)
+
set(SRC
DummyPhysicsEnvironment.cpp
DummyPhysicsEnvironment.h
)
-blender_add_lib(ge_phys_dummy "${SRC}" "${INC}")
+blender_add_lib(ge_phys_dummy "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Physics/common/CMakeLists.txt b/source/gameengine/Physics/common/CMakeLists.txt
index 50aa9083089..9da7aaa6ba7 100644
--- a/source/gameengine/Physics/common/CMakeLists.txt
+++ b/source/gameengine/Physics/common/CMakeLists.txt
@@ -29,6 +29,10 @@ set(INC
../Dummy
)
+set(INC_SYS
+
+)
+
set(SRC
PHY_IMotionState.cpp
PHY_IController.cpp
@@ -47,4 +51,4 @@ set(SRC
PHY_Pro.h
)
-blender_add_lib(ge_phys_common "${SRC}" "${INC}")
+blender_add_lib(ge_phys_common "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Rasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/CMakeLists.txt
index 2bfb3f8f328..23d746f88bc 100644
--- a/source/gameengine/Rasterizer/CMakeLists.txt
+++ b/source/gameengine/Rasterizer/CMakeLists.txt
@@ -26,14 +26,17 @@
set(INC
.
- ../../../source/blender/makesdna
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Ketsji
- ../../../intern/string
+ ../Expressions
+ ../Ketsji
+ ../SceneGraph
+ ../../blender/makesdna
../../../intern/container
- ../../../intern/moto/include
../../../intern/guardedalloc
- ../Expressions
+ ../../../intern/moto/include
+ ../../../intern/string
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
${PYTHON_INCLUDE_DIRS}
)
@@ -81,4 +84,4 @@ set(SRC
add_definitions(-DGLEW_STATIC)
-blender_add_lib(ge_rasterizer "${SRC}" "${INC}")
+blender_add_lib(ge_rasterizer "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
index 99068aa1bb8..b0ef6fab251 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
@@ -25,18 +25,21 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- ../../../../intern/string
+ ..
+ ../../BlenderRoutines
+ ../../Ketsji
+ ../../SceneGraph
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/blenloader
+ ../../../blender/gpu
+ ../../../blender/makesdna
../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Rasterizer
- ../../../../source/gameengine/Ketsji
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/BlenderRoutines
- ../../../../source/blender/gpu
- ../../../../source/blender/makesdna
- ../../../../source/blender/blenkernel
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenloader
+ ../../../../intern/string
+)
+
+set(INC_SYS
${GLEW_INCLUDE_PATH}
)
@@ -54,4 +57,4 @@ set(SRC
add_definitions(-DGLEW_STATIC)
-blender_add_lib(ge_oglrasterizer "${SRC}" "${INC}")
+blender_add_lib(ge_oglrasterizer "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/SceneGraph/CMakeLists.txt b/source/gameengine/SceneGraph/CMakeLists.txt
index a054252ea0b..2f6b90a21a7 100644
--- a/source/gameengine/SceneGraph/CMakeLists.txt
+++ b/source/gameengine/SceneGraph/CMakeLists.txt
@@ -29,6 +29,10 @@ set(INC
../../../intern/moto/include
)
+set(INC_SYS
+
+)
+
set(SRC
SG_BBox.cpp
SG_Controller.cpp
@@ -48,4 +52,4 @@ set(SRC
SG_Tree.h
)
-blender_add_lib(ge_scenegraph "${SRC}" "${INC}")
+blender_add_lib(ge_scenegraph "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/VideoTexture/CMakeLists.txt b/source/gameengine/VideoTexture/CMakeLists.txt
index fb10b619f17..56600a30b0f 100644
--- a/source/gameengine/VideoTexture/CMakeLists.txt
+++ b/source/gameengine/VideoTexture/CMakeLists.txt
@@ -1,3 +1,4 @@
+<<<<<<< .working
# $Id$
# ***** BEGIN GPL LICENSE BLOCK *****
#
@@ -92,3 +93,106 @@ if(WITH_CODEC_FFMPEG)
endif()
blender_add_lib(ge_videotex "${SRC}" "${INC}")
+=======
+# $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) 2006, Blender Foundation
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): Jacques Beaurain.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+set(INC
+ .
+ ../BlenderRoutines
+ ../Expressions
+ ../GameLogic
+ ../Ketsji
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/editors/include
+ ../../blender/gpu
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/python
+ ../../blender/python/generic
+ ../../../intern/container
+ ../../../intern/ffmpeg
+ ../../../intern/guardedalloc
+ ../../../intern/moto/include
+ ../../../intern/string
+)
+
+set(INC_SYS
+ ${GLEW_INCLUDE_PATH}
+)
+
+set(SRC
+ Exception.cpp
+ FilterBase.cpp
+ FilterBlueScreen.cpp
+ FilterColor.cpp
+ FilterNormal.cpp
+ FilterSource.cpp
+ ImageBase.cpp
+ ImageBuff.cpp
+ ImageMix.cpp
+ ImageRender.cpp
+ ImageViewport.cpp
+ PyTypeList.cpp
+ Texture.cpp
+ VideoBase.cpp
+ VideoFFmpeg.cpp
+ blendVideoTex.cpp
+
+ BlendType.h
+ Common.h
+ Exception.h
+ FilterBase.h
+ FilterBlueScreen.h
+ FilterColor.h
+ FilterNormal.h
+ FilterSource.h
+ ImageBase.h
+ ImageBuff.h
+ ImageMix.h
+ ImageRender.h
+ ImageViewport.h
+ PyTypeList.h
+ Texture.h
+ VideoBase.h
+ VideoFFmpeg.h
+)
+
+if(WITH_CODEC_FFMPEG)
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ ${PTHREADS_INCLUDE_DIRS}
+ )
+ add_definitions(-DWITH_FFMPEG)
+ add_definitions(-D__STDC_CONSTANT_MACROS)
+endif()
+
+blender_add_lib(ge_videotex "${SRC}" "${INC}" "${INC_SYS}")
+>>>>>>> .merge-right.r38806
diff --git a/source/gameengine/VideoTexture/SConscript b/source/gameengine/VideoTexture/SConscript
index 5091082e87a..b39a59e4504 100644
--- a/source/gameengine/VideoTexture/SConscript
+++ b/source/gameengine/VideoTexture/SConscript
@@ -13,6 +13,7 @@ incs += ' #source/blender/editors/include #source/blender/blenlib #source/blende
incs += ' #source/blender/makesdna #source/blender/imbuf #source/blender/python #source/blender/python/generic'
incs += ' #source/blender/gpu #intern/string #intern/moto/include'
incs += ' #intern/guardedalloc #intern/container #extern/glew/include'
+incs += ' #intern/ffmpeg'
defs = []
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc','win32-mingw'):
diff --git a/source/gameengine/VideoTexture/VideoFFmpeg.cpp b/source/gameengine/VideoTexture/VideoFFmpeg.cpp
index 63dbc5bb7ba..f8274756c8b 100644
--- a/source/gameengine/VideoTexture/VideoFFmpeg.cpp
+++ b/source/gameengine/VideoTexture/VideoFFmpeg.cpp
@@ -182,7 +182,7 @@ int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AV
{
if(formatCtx->streams[i] &&
get_codec_from_stream(formatCtx->streams[i]) &&
- (get_codec_from_stream(formatCtx->streams[i])->codec_type==CODEC_TYPE_VIDEO))
+ (get_codec_from_stream(formatCtx->streams[i])->codec_type==AVMEDIA_TYPE_VIDEO))
{
videoStream=i;
break;
@@ -368,9 +368,9 @@ void *VideoFFmpeg::cacheThread(void *data)
BLI_remlink(&video->m_packetCacheBase, cachePacket);
// use m_frame because when caching, it is not used in main thread
// we can't use currentFrame directly because we need to convert to RGB first
- avcodec_decode_video(video->m_codecCtx,
+ avcodec_decode_video2(video->m_codecCtx,
video->m_frame, &frameFinished,
- cachePacket->packet.data, cachePacket->packet.size);
+ &cachePacket->packet);
if(frameFinished)
{
AVFrame * input = video->m_frame;
@@ -641,7 +641,7 @@ void VideoFFmpeg::openCam (char * file, short camIdx)
if (m_captRate <= 0.f)
m_captRate = defFrameRate;
sprintf(rateStr, "%f", m_captRate);
- av_parse_video_frame_rate(&frameRate, rateStr);
+ av_parse_video_rate(&frameRate, rateStr);
// populate format parameters
// need to specify the time base = inverse of rate
formatParams.time_base.num = frameRate.den;
@@ -924,10 +924,10 @@ AVFrame *VideoFFmpeg::grabFrame(long position)
{
if (packet.stream_index == m_videoStream)
{
- avcodec_decode_video(
+ avcodec_decode_video2(
m_codecCtx,
m_frame, &frameFinished,
- packet.data, packet.size);
+ &packet);
if (frameFinished)
{
m_curPosition = (long)((packet.dts-startTs) * (m_baseFrameRate*timeBase) + 0.5);
@@ -999,9 +999,9 @@ AVFrame *VideoFFmpeg::grabFrame(long position)
{
if(packet.stream_index == m_videoStream)
{
- avcodec_decode_video(m_codecCtx,
+ avcodec_decode_video2(m_codecCtx,
m_frame, &frameFinished,
- packet.data, packet.size);
+ &packet);
// remember dts to compute exact frame number
dts = packet.dts;
if (frameFinished && !posFound)
diff --git a/source/gameengine/VideoTexture/VideoFFmpeg.h b/source/gameengine/VideoTexture/VideoFFmpeg.h
index 9b09c485329..139b90dc463 100644
--- a/source/gameengine/VideoTexture/VideoFFmpeg.h
+++ b/source/gameengine/VideoTexture/VideoFFmpeg.h
@@ -31,17 +31,15 @@ http://www.gnu.org/copyleft/lesser.txt.
extern "C" {
#undef __cplusplus
#include <pthread.h>
-#include <libavformat/avformat.h>
-#include <libavcodec/avcodec.h>
-#include <libavutil/rational.h>
-#include <libswscale/swscale.h>
+
+#include "ffmpeg_compat.h"
+
#include "DNA_listBase.h"
#include "BLI_threads.h"
#include "BLI_blenlib.h"
#define __cplusplus
}
-
#if LIBAVFORMAT_VERSION_INT < (49 << 16)
#define FFMPEG_OLD_FRAME_RATE 1
#else
diff --git a/source/icons/blender.exe.manifest b/source/icons/blender.exe.manifest
index bc13bf4c586..a43d11b21a0 100644
--- a/source/icons/blender.exe.manifest
+++ b/source/icons/blender.exe.manifest
@@ -1,10 +1,10 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
- <security>
- <requestedPrivileges>
- <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
- </requestedPrivileges>
- </security>
- </trustInfo>
-</assembly>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+</assembly>
diff --git a/source/tests/CMakeLists.txt b/source/tests/CMakeLists.txt
index 97e46bd44f2..8fd0d6e7099 100644
--- a/source/tests/CMakeLists.txt
+++ b/source/tests/CMakeLists.txt
@@ -68,21 +68,21 @@ add_test(script_run_operators ${TEST_BLENDER_EXE}
add_test(import_obj_cube ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/cube.obj'\)
- --md5=4d090508b812b5e08168aa2614746bda --md5_method=SCENE
+ --md5=39cce4bacac2d1b18fc470380279bc15 --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_obj_cube.blend
)
add_test(import_obj_nurbs_cyclic ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/nurbs_cyclic.obj'\)
- --md5=9e0da7b65b4c4f818a203d56af2d3a4b --md5_method=SCENE
+ --md5=ad3c307e5883224a0492378cd32691ab --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_obj_nurbs_cyclic.blend
)
add_test(import_obj_makehuman ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/makehuman.obj'\)
- --md5=e0829dc078b0789e1d81f1071235bc4f --md5_method=SCENE
+ --md5=c9f78b185e58358daa4ecaecfa75464e --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_obj_makehuman.blend
)
@@ -93,7 +93,7 @@ add_test(export_obj_cube ${TEST_BLENDER_EXE}
--run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_cube.obj',use_selection=False\)
--md5_source=${TEST_OUT_DIR}/export_obj_cube.obj
--md5_source=${TEST_OUT_DIR}/export_obj_cube.mtl
- --md5=f0580f0e5d7b379e0460f11d8fde244d --md5_method=FILE
+ --md5=70bdc394c2726203ad26c085176e3484 --md5_method=FILE
)
add_test(export_obj_nurbs ${TEST_BLENDER_EXE}
@@ -102,7 +102,7 @@ add_test(export_obj_nurbs ${TEST_BLENDER_EXE}
--run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_nurbs.obj',use_selection=False,use_nurbs=True\)
--md5_source=${TEST_OUT_DIR}/export_obj_nurbs.obj
--md5_source=${TEST_OUT_DIR}/export_obj_nurbs.mtl
- --md5=aa00875343e0feea449739146d26d7d0 --md5_method=FILE
+ --md5=a733ae4fa4a591ea9b0912da3af042de --md5_method=FILE
)
add_test(export_obj_all_objects ${TEST_BLENDER_EXE}
@@ -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=4c93980ecfb7d02ca68d3da8e2fced69 --md5_method=FILE
+ --md5=01c123948efadc6a71ab2c09a5925756 --md5_method=FILE
)
@@ -172,21 +172,21 @@ add_test(import_stl_knot_max_simplified ${TEST_BLENDER_EXE}
add_test(import_x3d_cube ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/color_cube.x3d'\)
- --md5=330c0cf6e8c44d5fe5b662d30b75be89 --md5_method=SCENE
+ --md5=3fae9be004199c145941cd3f9f80ad7b --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_x3d_cube.blend
)
add_test(import_x3d_teapot ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/teapot.x3d'\)
- --md5=b2f02157bc918b54b835d1e6ece70423 --md5_method=SCENE
+ --md5=8ee196c71947dce4199d55698501691e --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_x3d_teapot.blend
)
add_test(import_x3d_suzanne_material ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/suzanne_material.x3d'\)
- --md5=11837901cbbfabef52b6ab4f26fe97b3 --md5_method=SCENE
+ --md5=3edea1353257d8b5a5f071942f417be6 --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_x3d_suzanne_material.blend
)
@@ -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=9198ca86f19b68a4f1eb75bb48cb3dea --md5_method=FILE
+ --md5=5e804c689896116331fa190a9fabbad4 --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=078c0ca5a08f123cd2cdac48afb54853 --md5_method=FILE
+ --md5=2d5bcf43cf7b6fbbef1c8cc566968fe5 --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=090f4f36c450826a043f9cd074d9cbb4 --md5_method=FILE
+ --md5=2809ec13a4cab55d265ce7525c5db1b7 --md5_method=FILE
)
@@ -228,14 +228,14 @@ add_test(import_3ds_cube ${TEST_BLENDER_EXE}
add_test(import_3ds_hierarchy_lara ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/hierarchy_lara.3ds'\)
- --md5=2e9812099b26ad607fdcf4c7be918c71 --md5_method=SCENE
+ --md5=766c873d9fdb5f190e43796cfbae63b6 --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_3ds_hierarchy_lara.blend
)
add_test(import_3ds_hierarchy_greek_trireme ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/hierarchy_greek_trireme.3ds'\)
- --md5=d05b922d7be20356d8409d1f768a3a9a --md5_method=SCENE
+ --md5=b62ee30101e8999cb91ef4f8a8760056 --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_3ds_hierarchy_greek_trireme.blend
)
@@ -261,7 +261,7 @@ add_test(export_3ds_all_objects ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_all_objects.3ds',use_selection=False\)
--md5_source=${TEST_OUT_DIR}/export_3ds_all_objects.3ds
- --md5=87349a4699f1006e8194fb0ac05ac9c8 --md5_method=FILE
+ --md5=0940ea889498cd437d503670738639ae --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=b2428e11b9ae650819f8d8b38cd869f7 --md5_method=FILE
+ --md5=83dca99a0cb338852b8c85951a44c68a --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=741b536e98d6b105952766d0f290f270 --md5_method=FILE
+ --md5=c7d9491ffa6264e820ed1e12df63f871 --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=d6b8b027cd2a0e99d88e5c3d77932748 --md5_method=FILE
+ --md5=22867f82e1615fd1eae18cfaac8ba035 --md5_method=FILE
)
diff --git a/source/tests/bl_load_py_modules.py b/source/tests/bl_load_py_modules.py
index 5a65578d8d3..a88edd5f1fe 100644
--- a/source/tests/bl_load_py_modules.py
+++ b/source/tests/bl_load_py_modules.py
@@ -65,6 +65,10 @@ def load_modules():
# paths blender stores scripts in.
paths = bpy.utils.script_paths()
+ print("Paths:")
+ for script_path in paths:
+ print("\t'%s'" % script_path)
+
#
# find all sys.path we added
for script_path in paths:
@@ -74,11 +78,18 @@ def load_modules():
#
# collect modules from our paths.
+ module_names = set()
for mod_dir in module_paths:
# print("mod_dir", mod_dir)
for mod, mod_full in bpy.path.module_names(mod_dir):
+ if mod in module_names:
+ raise Exception("Module found twice %r" % mod)
+
modules.append(__import__(mod))
+ module_names.add(mod)
+ del module_names
+
#
# now submodules
for m in modules:
diff --git a/source/tests/check_deprecated.py b/source/tests/check_deprecated.py
new file mode 100644
index 00000000000..856e1f6d272
--- /dev/null
+++ b/source/tests/check_deprecated.py
@@ -0,0 +1,149 @@
+# ##### 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.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+import os
+from os.path import splitext
+
+DEPRECATE_DAYS = 120
+
+SKIP_DIRS = ("extern",
+ "scons",
+ os.path.join("source", "tests"), # not this dir
+ )
+
+
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_c(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
+
+
+def is_c_any(filename):
+ return is_c(filename) or is_c_header(filename)
+
+
+def is_py(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".py")
+
+
+def is_source_any(filename):
+ return is_c_any(filename) or is_py(filename)
+
+
+def source_list(path, filename_check=None):
+ for dirpath, dirnames, filenames in os.walk(path):
+
+ # skip '.svn'
+ if dirpath.startswith("."):
+ continue
+
+ for filename in filenames:
+ if filename_check is None or filename_check(filename):
+ yield os.path.join(dirpath, filename)
+
+
+def deprecations():
+ """
+ Searches out source code for lines like
+
+ /* *DEPRECATED* 2011/7/17 bgl.Buffer.list info text */
+
+ Or...
+
+ # *DEPRECATED* 2010/12/22 some.py.func more info */
+
+ """
+ import datetime
+ SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.normpath(os.path.join(os.path.dirname(__file__), "..", ".."))))
+
+ SKIP_DIRS_ABS = [os.path.join(SOURCE_DIR, p) for p in SKIP_DIRS]
+
+ deprecations_ls = []
+
+ scan_tot = 0
+
+ print("scanning in %r for '*DEPRECATED* YYYY/MM/DD info'" % SOURCE_DIR)
+
+ for fn in source_list(SOURCE_DIR, is_source_any):
+ # print(fn)
+ skip = False
+ for p in SKIP_DIRS_ABS:
+ if fn.startswith(p):
+ skip = True
+ break
+ if skip:
+ continue
+
+ file = open(fn, 'r', encoding="utf8")
+ for i, l in enumerate(file):
+ # logic for deprecation warnings
+ if '*DEPRECATED*' in l:
+ try:
+ l = l.strip()
+ data = l.split('*DEPRECATED*', 1)[-1].strip().strip()
+ data = [w.strip() for w in data.split('/', 2)]
+ data[-1], info = data[-1].split(' ', 1)
+ info = info.split("*/", 1)[0]
+ if len(data) != 3:
+ print(" poorly formatting line:\n"
+ " %r:%d\n"
+ " %s" %
+ (fn, i + 1, l)
+ )
+ else:
+ data = datetime.datetime(*tuple([int(w) for w in data]))
+
+ deprecations_ls.append((data, (fn, i + 1), info))
+ except:
+ print("Error file - %r:%d" % (fn, i + 1))
+ import traceback
+ traceback.print_exc()
+
+ scan_tot += 1
+
+ print(" scanned %d files" % scan_tot)
+
+ return deprecations_ls
+
+
+def main():
+ import datetime
+ now = datetime.datetime.now()\
+
+ deps = deprecations()
+
+ print("\nAll deprecations...")
+ for data, fileinfo, info in deps:
+ days_old = (now - data).days
+ if days_old > DEPRECATE_DAYS:
+ info = "*** REMOVE! *** " + info
+ print(" %r, days-old(%.2d), %s:%d - %s" % (data, days_old, fileinfo[0], fileinfo[1], info))
+ if deps:
+ print("\ndone!")
+ else:
+ print("\nnone found!")
+
+if __name__ == '__main__':
+ main()